@charset "utf-8";
/* clearfix
------------------------------------------------*/
.clearfix { *zoom:1; }
.clearfix:before,
.clearfix:after {
 display: table;
 content:"";
 line-height: 0;
}
.clearfix:after { clear: both; }
@charset "utf-8";
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block ; }
.sp { display: none ; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 700px) {
    .pc { display: none ; }
    .sp { display: block ; }
}
/* body 全体
------------------------------------------------*/
body{
    margin: 0;
    font-family:"メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
 position: relative;
}
body {
  box-sizing : border-box;
}
.scroll_up {
	transition: 0.8s ease-in-out;
	transform: translateY(30px);
	opacity: 0;
  
  }
  .scroll_up.on {
	transform: translateY(0);
	opacity: 1.0;
  }
  
    /* ローディング
==============================　*/
  #loading-wrapper { 
    position: fixed;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background:url(../img/check.png) repeat-x bottom / 2%, url(../img/plaid.png) repeat center / 3%,#00d2e5;
    display: flex; 
    flex-direction: column; 
    justify-content: center; 
    align-items: center; 
    transition: all 0.3s; 
    z-index: 9999;
  } 
  .completed {
    opacity: 0;
    visibility: hidden;
  }
  #loading-wrapper .loader{
    margin:0 auto;
  }
 
  #loading-wrapper img{
    width: 20%;
  }
  @media only screen and (max-width: 700px){
    #loading-wrapper img{
      width: 80%;
    }
  }
  /* ページトップ
==============================　*/
.btn_sp {
  position: fixed;
  bottom:0;
  width: 100%;
  transition: 0.5s;
  z-index: 3;
}
.btn_sp img{
  width: 100%;
}

/*フッターまでスクロールしたら消す*/
.is-hidden {
  visibility: hidden;
  opacity: 0;
}
  a:hover {
    opacity: 0.7 ;
  }
  /*---------フッター---------*/
.footer_pc{
	width: 100%;
	background-color: #000000;
	position: relative;
	z-index: 1;
  }
  .l-inner {
	color: #ffffff;
  }
  @media only screen and (max-width: 1000px){
    footer h3 {
      font-size: 14px;
      }
  }
  @media only screen and (max-width: 720px){
    footer h3 {
      font-size: 12px;
      }
  }
  .l-inner {
	margin: 0 auto;
  padding:4%;
  }
  #page-top {
	position: absolute;
	right: 4%;
	bottom: 4%;
	z-index: 1;
  }
  @media only screen and (max-width: 700px){
    #page-top {
      position: absolute;
      right: 0;
      bottom: 12%;
      z-index: 1;
      }
      #page-top img{
     height: 60%;
      width: 60%;
      }
  }
  .ft_sitemap {
	display: flex;
	margin:0 4%;
  }
  @media only screen and (max-width: 700px){
    .ft_sitemap {
      display:block;
      text-align: center;
      }
  }
  .block_l {
	width: 20%;
	color: #ffffff;
  }
  @media only screen and (max-width: 700px){
    .block_l {
      width: 100%;
      color: #ffffff;
      }
  }
  
  .ft_sns{
	width: 100%;
	margin: 20px 0 0 0;
	display: flex;
  }
  @media only screen and (max-width: 700px){
    .ft_sns{
      width: 30%;
      margin: 20px auto;
    }
  }
  .ft_sns li{
	width: calc(100% / 2);
  }
  @media only screen and (max-width: 700px){
    .ft_sns li{
      margin:0 10%;
      }
  }
  .block_content, .block_connect, .block_regulation {
	width: calc(100% / 3);
	margin: 0 0 0 10%;
  }
  @media only screen and (max-width: 700px){
    .block_content, .block_connect, .block_regulation {
      width: 100%;
      margin: 0;
      }
  }
  .headline {
	padding: 0 0 37px 0;
	border-bottom: #ffffff solid 1px;
	font-family: "Arvo", "YakuHanJPs", "NotoSans-regular", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-weight: 400;
	letter-spacing: 0.25em;
	font-size: 11px;
	line-height: 1em;
	margin: 0 0 30px 0;
  }
  .block_content li, .block_connect li, .block_regulation li {
	font-family: "Arvo", "YakuHanJPs", "NotoSans-regular", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	font-weight: 400;
	letter-spacing: 0.25em;
	font-size: 11px;
	margin: 0 0 13px 0;
  }
  
  
  .ft_copyright {
	background: #000000;
	color: #ffffff;
	font-size: 11px;
	text-align: center;
	font-family: "Arvo", sans-serif;
	font-weight: 400;
	letter-spacing: 0.2em;
	clear: both;
	padding: 1% 0;
  }
  @media only screen and (max-width: 700px){
    .ft_copyright {
      background: #000000;
      color: #ffffff;
      font-size: 10px;
      text-align: center;
      font-family: "Arvo", sans-serif;
      font-weight: 400;
      letter-spacing: 0.2em;
      clear: both;
      padding: 1% 4% 16% 4%;
      }
  }
  /*----------------------------------------------------------------------
フッターSP・。・゜★・。・。☆・゜・。・゜。・。・゜★・。・。☆
------------------------------------------------------------------------*/
  .footer_sp{
    width: 100%;
    background-color: #000000;
    position: relative;
    z-index: 1;
    }
    .footer_logo{
      width: 40%;
      margin:0 auto 4% auto!important;
    }
    .footer_logo img {
      width: 100%;
    }
/*---------ハンバーガーメニュー---------*/
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 6;
  right : 13px;
  top   : 12px;
  width : 60px;
  height: 60px;
  cursor: pointer;
  text-align: center;
  background: #ff6292;
  border-radius: 9999px;
  box-shadow: 0px 2px 0px 2px rgba(0,0,0,1);
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 3px ;
  left    : 15px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
  border-radius: 9999px;
}
.hamburger span:nth-child(1) {
  top: 18px;
}
.hamburger span:nth-child(2) {
  top: 28px;
}
.hamburger span:nth-child(3) {
  top: 38px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 28px;
  left: 15px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 28px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 4;
  top  : 0;
  right: 0;
  color: #000;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 36%;
  height: 100vh;
  background: url("../img/check_y.png") left repeat-y ,url(../img/dot_tran.png) repeat center / 2%,#ff6292;
  background-size: 10%;
  overflow-y: scroll;
  -ms-overflow-style: none;    /* IE, Edge 対応 */
  scrollbar-width: none;       /* Firefox 対応 */
}
nav.globalMenuSp::-webkit-scrollbar {  /* Chrome, Safari 対応 */
  display:none;
}
@media only screen and (max-width: 700px){
	nav.globalMenuSp {
    width: 80%;
    height: 100vh;
  }
}
nav.globalMenuSp ul {
  margin-top: 16%;
  float: right;
    width: 60%;
}
@media only screen and (max-width: 700px){
	nav.globalMenuSp ul {
    margin-top: 24%;
  }
}
nav.globalMenuSp ul li {
  list-style-type: none;
  width: 100%;
  float: right;
}
nav.globalMenuSp ul img {
	width: 100%;
    float: right;
}
nav.globalMenuSp ul h2 img{

  float: right;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li img:hover{
  background: royalblue;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}


/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/

#splash {
  /*fixedで全面に固定*/
position: fixed;
z-index: 999;
width: 100%;
height: 100%;
background:#333;
text-align:center;
color:#fff;
}

/* Loadingバー中央配置　*/
#splash_text {
position: absolute;
top: 50%;
left: 50%;
  z-index: 999;
width: 100%;
transform: translate(-50%, -50%);
color: #fff;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg{
  height: 2px;
}