@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Frank+Ruhl+Libre:400&display=swap');

body{
    font-family: 'Frank Ruhl Libre', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	color: #f5f5f5;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
   background: -moz-linear-gradient(top, #000, #9c080c);
  background: -webkit-linear-gradient(top, #000, #9c080c);
  background: linear-gradient(to bottom, #000, #9c080c);
}

@media screen and (max-width:768px) {
body{
	font-size:0.8rem;
	}
}

ul{
	margin:0;
	padding: 0;
	list-style: none;
}

a{
	color: #ccc;
    outline: none;
}

a:hover,
a:active{
	text-decoration: none;
}


/*数字カウント*/

.progressbar-text{
    font-size:1.2rem;
   font-family:'Frank Ruhl Libre',sans-serif;
}

.progressbar-text span{
    font-size:1rem;
}


@media only screen and (max-width:768px) {
.progressbar-text{
    font-size:1.8rem;
}
.progressbar-text span{
    font-size:1rem;
}

}



#contents-title{width: 100%;max-width: 692px;margin:2rem auto;}
/* heading */

.heading-block{
    position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.heading-block h1{
    font-size:6vw;
	letter-spacing: 0.2em;
	color: #fff;
    line-height: 1;
    font-family: 'Italianno', cursive;
}

.heading-block p{
    font-size:2vw;
	letter-spacing: 0.2em;
	color: #fff;
}
/*横幅が768px以下になった際の指定*/
@media only screen and (max-width:768px) {
    
    
#contents-title{width: 100%;max-width: 80%;margin: 0 auto;padding-top: 2rem;}
    
  .heading-block h1{
    font-size:4em;
    }
.heading-block p{
    font-size:1.5em;
    }
}

/* sns icon */
#sns-icon img{
    width: 20px;
}

#sns-icon{
    position: absolute;
    right:20px;
    top:45%;
}

#sns-icon li{
     margin:0 0 15px 0;   
}

/* copyright */

small{
    position: absolute;
    left:20px;
    top:40%;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}


/* =============================================== */
/* header - ヘッダー */
/* ----------------------------------------------- */
/* ヘッダー大枠 */
header{
  width: 100%;
  margin: 0;
  padding: 0;
	background: url('../img/navbg.jpg') repeat-x;
	height:60px;
}

/* ヘッダー内部 */
#header-inner{
  width: 1040px;
  margin: 0 auto;
  padding: 0;
}





/* =============================================== */
/* nav - メインナビゲーション */
/* ----------------------------------------------- */
/* ナビ全体枠 */
nav{
  clear: both;
  width: 1150px;
  margin: 0 auto;
  padding: 0;
  line-height: 1;
}

/* 第一階層 */
#main-menu{
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
#main-menu::after{
  display: block;
  clear: both;
  content: '';
}
#main-menu li{
  position: relative;
  float: left;
  font-size: 1em;
  text-align: center;
  white-space: nowrap;
}
#main-menu li a{
  display: inline-block;
  color: #fff;
  padding: 0;
}
#main-menu li a:link{text-decoration: none;}
#main-menu li a:visited{text-decoration: none;}
#main-menu li a:active{text-decoration: none;}
#main-menu li a:hover{text-decoration: none;}


/* 中央部分 */
#footer-copyright{font-family: 'Frank Ruhl Libre', "Noto Serif CJK JP", 'ヒラギノ明朝 ProN W3', 'HiraMinProN-W3', YuMincho, '游明朝', 'ＭＳ Ｐ明朝', 'MS PMincho', 'MS 明朝', serif;
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 0;
	text-align: center;font-size: 0.7rem;color: #d8a752;
}



/* 
==================================================
  ハンバーガーメニュー
==================================================
*/
/*メニュー部分*/
@media only screen and (max-width:768px) {
    
    header{
  width: 100%;
  margin: 0;
  padding: 0;
	background: none;
	height:auto;
}

    
    
    #ham-menu{
  background-color:#000; /*メニュー背景色*/
  box-sizing:border-box;
  height:100%;
  padding:10px 20px; /*メニュー内左右上下余白*/
  position:fixed;
  right:-320px; /*メニュー横幅 width と合わせる*/
  top:0;
  transition:transform 0.2s linear 0s; /*0.3s はアニメーションにかかる時間*/
  width:320px; /*メニュー横幅*/
  z-index:1000;
  text-align: center;
}
#ham-menu li{
  font-size: 1.3em;
  list-style: none;
  margin:0;
  padding:5px 0;
  border-bottom:1px #aaa solid;
}
#ham-menu li a{  font-family: 'Frank Ruhl Libre', "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  text-decoration:none;
  color:#fff;
  padding:5px 0;
  display:block;
}
#ham-menu li a:hover{
  text-decoration:none;
}

/*メニューの後ろ側（黒い半透明）*/
#menu-background{
  background-color:#000;
  display:block;
  height:100%;
  opacity:0;
  position:fixed;
  left:0;
  top:0;
  transition:all 0.2s linear 0s; /*0.3s はアニメーションにかかる時間*/
  width:100%;
  z-index:-1;
}

/*アイコン部分*/
#menu-icon{
  background-color:#000; /*アイコン部分背景色*/
  border-radius:0 0 0 25%; /*角丸*/
  color:#fff; /*アイコン（フォント）色*/
  cursor:pointer;
  display:block;
  font-size:60px; /*アイコン（フォント）サイズ*/
  width:70px; /*アイコン横幅*/
  height:65px; /*アイコン縦高さ*/
  line-height:60px; /*縦位置中央化*/
  letter-spacing: -0.1em;/*横位置中央化*/
  position:fixed;
  right:0;
  text-align:center;
  top:0;
  transition:all 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/
  z-index:1000;
}
.menuTxt{font-size:15px; font-weight:bold; line-height:35px;}

#menu-cb{
  display:none; /*チェックボックス本体は消しておく*/
}

#menu-cb:checked ~ #ham-menu,#menu-cb:checked ~ #menu-icon{
  transform:translate(-320px); /*メニュー本体横幅 width と合わせる*/
}

#menu-cb:checked ~ #menu-background{
  opacity:0.5;
  z-index:999;
}
    
    }/*end*/


.mt-1, .pt-1 {
  padding-top: 0.5rem;
}
.mt-2, .pt-2 {
  padding-top: 1rem;
}
.mt-3, .pt-3 {
  padding-top: 1.5rem;
}
.mt-4, .pt-4 {
  padding-top: 2rem;
}
.mt-5, .pt-5 {
  padding-top: 2.5rem;
}
.mb-1, .pb-1 {
  padding-bottom: 0.5rem;
}
.mb-2, .pb-2 {
  padding-bottom: 1rem;
}
.mb-3, .pb-3 {
  padding-bottom: 1.5rem;
}
.mb-4, .pb-4 {
  padding-bottom: 2rem;
}
.mb-5, .pb-5 {
  padding-bottom: 2.5rem;
}
/* ------------------------------------------------------------------- 
 * e.t.c
/*-------------------------------------------------------------------*/
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}
/* ------------------------------------------------------------------- 
 * responsive:
 *  e.t.c
 * ------------------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
} /*end*/