﻿@charset "UTF-8";
@font-face {
  font-family: "Number";
  src: local("Roboto Condensed", sans-serif);
  unicode-range: U+0030-0039; /* 0-9 */
}
@font-face {
  font-family: "Alphabet";
  src: local("Roboto Condensed", sans-serif);
  unicode-range: U+0041-005A, U+0061-007A; /* A-Z, a-z */
}
body,div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,li,brockquote,pre,table,caption,address,form,object,img,span,a,strong,em,q,ins,del,site,code,dfn,abbr,acronym,section,header,footer,nav,aside,article,address,figure,hgroup,menu{margin:0;padding:0}
body{color:#EFECE6;text-align:center;word-break:break-all;font-size:1.1em;margin:0;padding:0;background:#415b43;line-height:2em;font-family: "Noto Sans JP", sans-serif;font-optical-sizing: auto;font-weight:400;font-style: normal; font-family: "Noto Sans JP", sans-serif;font-optical-sizing: auto;font-weight: 300;font-style: normal;}
@media screen and (max-width:767px) {
body{font-size:1em;line-height:1.8em}
}
body{overflow-x: hidden}
#en{word-wrap:break-word;word-break:keep-all;}

ul{list-style-position:outside;list-style-type:none}
li a{border:none}
ol li{margin-bottom:5px}
table{border-collapse:collapse;font-size:100%}
img,a{border:none}
address,em,cite{font-style:normal}
a{overflow:hidden;outline:none;text-decoration:underline;color:#000}
a:visited{text-decoration:underline}
a:hover{text-decoration:none}
.nobr{white-space:nowrap}
.clearboth{clear:both;width:0;height:0;margin:0;padding:0}
.txt-s{font-size:80%}
.txt-red{color:#c00}
.txt-brown,.txt-brown a{color:#963}
.img-10{width:10%}
.img-20{width:20%}
.img-30{width:30%}
.img-40{width:40%}
.img-50{width:50%}
.img-60{width:60%}
.img-70{width:70%}
.img-80{width:80%}
.img-90{width:90%}
.img-100{width:100%}
.img-10 img,.img-20 img,.img-30 img,.img-40 img,.img-50 img,.img-60 img,.img-70 img,.img-80 img,.img-90 img,.img-100 img{width:100%}
.mt5{margin-top:5px}
.mt10{margin-top:10px}
.mt15{margin-top:15px}
.mt20{margin-top:20px}
.mt30{margin-top:30px}
.mt40{margin-top:40px}
.mb5{margin-bottom:5px}
.mb10{margin-bottom:10px}
.mb15{margin-bottom:15px}
.mb20{margin-bottom:20px}
.mb30{margin-bottom:30px}
.mb40{margin-bottom:40px}
.mr5{margin-right:5px}
.mr10{margin-right:10px}
.mr15{margin-right:15px}
.mr20{margin-right:20px}
.mr30{margin-right:30px}
.mr40{margin-right:40px}
.ml5{margin-left:5px}
.ml10{margin-left:10px}
.ml15{margin-left:15px}
.ml20{margin-left:20px}
.ml30{margin-left:30px}
.ml40{margin-left:40px}
.m5{margin:5px}
.m10{margin:10px}
.m15{margin:15px}
.m20{margin:20px}
.m30{marginp:30px}
.pt5{padding-top:5px}
.pt10{padding-top:10px}
.pt15{padding-top:15px}
.pt20{padding-top:20px}
.pt30{padding-top:30px}
.pt40{padding-top:40px}
.pb5{padding-bottom:5px}
.pb10{padding-bottom:10px}
.pb15{padding-bottom:15px}
.pb20{padding-bottom:20px}
.pb30{padding-bottom:30px}
.pb40{padding-bottom:40px}
.p5{padding:5px}
.p10{padding:10px}
.p15{padding:15px}
.p20{padding:20px}
.p30{padding:30px}
.p40{padding:40px}
figure img{width:100%;height:auto;vertical-align:bottom}
.txt-mincho {font-family: 'Sawarabi Mincho', sans-serif;}
.txt-center{text-align:center}
.txt-right{text-align:right}
.txt-s{font-size:.8em;line-height:1.4em;}
.txt-l{font-size:1.6em;line-height:1.9em;}
.txt-non{display:none}
.float-right{float:right}
.float-left{float:left}
.absmiddle{vertical-align:middle}
.pagetop-txt{display:none}
/* for modern brouser */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/**/
.txt-attention{text-indent:-1em;margin-left:1em}
.txt-long {display: inline-block;-moz-transform:scale( 3, 1 ); -webkit-transform:scale( 3, 1 ); -o-transform:scale( 3, 1 );-ms-transform:scale( 3, 1 );transform:scale( 3, 1 );-moz-transform-origin:left top;-webkit-transform-origin:left top;-o-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;}
.txt-long2 {display: inline-block;-moz-transform:    scale( 2, 1 );-webkit-transform: scale( 2, 1 );-o-transform:scale( 2, 1 );-ms-transform:scale( 2, 1 );transform:scale( 2, 1 );-moz-transform-origin:left top; -webkit-transform-origin: left top;-o-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top;
}

/*========= ローディング画面のためのCSS ===============*/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: 9999999;
  text-align:center;
  color:#000;
}

#splash-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#splash-logo figure {width:300px;margin:auto;}
@media screen and (max-width:400px) {
#splash-logo figure {width:75%;}
}

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.splashbg{
    display: none;
}

/*bodyにappearクラスがついたら出現*/
body.appear .splashbg{
 display:block;
  animation-name:PageAnime;
  animation-duration:1.2s;
  animation-timing-function:ease-in-out;
  animation-fill-mode:forwards;
    content: "";
    position:fixed;
  z-index: 999;
    width: 50%;
    height: 100vh;
    top: 0;
  left: 0;
    transform: translateX(-300%) skewX(-45deg);
    background-color:#415b43;/*伸びる背景色の設定*/
}

@keyframes PageAnime{
  0% {
    transform-origin:left;
    transform:translateX(-300%) skewX(-45deg);
  }
  100% {
    transform-origin:left;
    transform:translateX(500%) skewX(-45deg);
  }
}

/*画面遷移の後現れるコンテンツ設定*/
#container{
  opacity: 0;/*はじめは透過0に*/
}

/*bodyにappearクラスがついたら出現*/
body.appear #container{
  animation-name:PageAnimeAppear;
  animation-duration:1s;
  animation-delay: 0.6s;
  animation-fill-mode:forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear{
  0% {
  opacity: 0;
  }
  100% {
  opacity: 1;
}
}

/*HEAD*/
#head-scroll{background:#415b43;width:100vw;text-align:left;position:absolute;left:0;top:0;height:auto;z-index:10}
.marqueer {margin:0;overflow: hidden;}
.marqueer ul {display: flex;margin: 0;padding: 0;width: max-content;}
.marqueer ul li {list-style: none;padding:0;width: calc(100vw / 1.7);}
.marqueer img {display: block;width: 100%;}
@media screen and (max-width:1600px) {
.marqueer ul li {width: calc(100vw / 1.4);}
}
@media screen and (max-width:1400px) {
.marqueer ul li {width: calc(100vw / 1.3);}
}
@media screen and (max-width:1000px) {
.marqueer ul li {width: calc(100vw / 1);}
}
@media screen and (max-width:860px) {
.marqueer ul li {width: calc(100vw / .7);}
}
@media screen and (max-width:600px) {
.marqueer ul li {width: calc(100vw / .5);}
}
@media screen and (max-width:400px) {
.marqueer ul li {width: calc(100vw / .45);}
}


#pagetotop {top:0;margin-top:0;padding-top:0}
#container {width:100vw;overflow:hidden;height:auto;height:100%}



/*MAIN*/
#main {left:0;top:30px;position:relative;width:100vw;height:100vh;overflow: hidden;}
#main #logo-block {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);color:#fff;z-index:2000;width:100%}
#main #logo-block #txt-logo {margin-bottom:80px;font-size:1.3em;letter-spacing:.1em;font-family: "IBM Plex Sans JP", sans-serif;font-weight: 700;}
#main #logo-block h1{width:500px;margin:auto;}
.swiper {width:100vw;height:100vh;overflow: hidden}
.swiper-slide-visible {width:900px;margin:auto;}
.swiper-slide img {height: auto;width: 100%;}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 7px 10px!important;}
.swiper-pagination-bullet {background-color: #fff!important;  height: 13px!important;width:13px!important;}
@media screen and (max-width:1700px) {
#main {height:auto;}
.swiper {height:auto;}
}
@media screen and (max-width:1100px) {
#main #logo-block h1{wwidth:400px;}
}
@media screen and (max-width:990px) {
#main #logo-block #txt-logo {font-size:1.2em;margin-bottom:60px;}
#main #logo-block h1{width:350px;}
}
@media screen and (max-width:900px) {
#main #logo-block #txt-logo {font-size:1.1em;margin-bottom:50px;}
}
@media screen and (max-width:800px) {
#main #logo-block #txt-logo {margin-bottom:40px;}
#main #logo-block h1{width:300px;}
}
@media screen and (max-width:680px) {
#main #logo-block #txt-logo {margin-bottom:40px;font-size:1em;}
#main #logo-block h1{width:250px;}
.swiper-slide img {object-fit: cover;height: calc(300px);}
}
@media screen and (max-width:580px) {
#main #logo-block {top: 45%;}
#main {top:20px;}
#main #logo-block h1{width:300px;}
.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {margin:0 5px 3px 0!important;}
.swiper-pagination-bullet {height: 10px!important;width:10px!important;}
.swiper-slide img {object-fit: cover;height: calc(350px);}
}
@media screen and (max-width:480px) {
#main {top:20px;}
#main #logo-block #txt-logo {margin-bottom:40px;font-size:.9em;}
#main #logo-block h1{width:250px;}
.swiper-slide img {object-fit: cover;height: calc(300px);}
}

/*INTRO*/
#intro {padding:60px 25px;font-size:1.2em;line-height:2em;}
@media screen and (max-width:900px) {
#intro {font-size:1em;line-height:1.9em;padding:50px 0px 10px;}
}


/*BNR*/
#bnr-area {padding:50px 0;}

/*MAKUAKE*/
#bnr-area .bnr-makuake{margin:auto;}
#bnr-area .bnr-makuake .txt-makuake{font-size:.9em;letter-spacing:.1em;line-height:1em;display:inline-block;width:auto;}
#bnr-area .bnr-makuake .txt-makuake .txt-l{font-weight:bold;padding:0 3px 0 3px;font-family: "M PLUS 1p", sans-serif;  font-weight: 800;}
#bnr-area .bnr-makuake #img-makuake {overflow:hidden;margin:auto;}
#bnr-area .bnr-makuake #img-makuake #imgmakuake{margin:auto;}
@media screen and (max-width:300px) {
#bnr-area .bnr-makuake #img-makuake {width:95%;}
}

/*BOOK*/
#bnr-area .bnr-book{margin:40px auto 0;}
#bnr-area a{text-decoration:none;color:#EFECE6}
#bnr-area .bnr-book .txt-book{font-size:.9em;letter-spacing:.1em;line-height:1.4em;margin-bottom:15px}
#bnr-area .bnr-book .txt-book2{font-size:.9em;letter-spacing:.1em;line-height:1.4em}
#bnr-area .bnr-book #img-book {overflow:hidden;margin:0 auto 13px;}
#bnr-area #imgbook {margin:auto;}
#bnr-area #imgbook  a:hover  img{  filter:brightness(0);}
#bnr-area a:hover .txt-book{filter:brightness(0);}
@media screen and (max-width:767px) {
#bnr-area .bnr-book #img-book:hover {width:200px;overflow:hidden;margin:0 auto 13px;}
}
@media screen and (max-width:200px) {
#bnr-area .bnr-book #img-book {transform: translateY(3px);}
}

/*SNS*/
#sns-block{width:auto;margin:30px auto 230px;text-align:center;}

/*BTNSNS*/
#sns-block .btn-sns {letter-spacing:-.4em;width:auto;margin-bottom:10px;}
#sns-block .btn-sns li {height:auto;margin-right:5px;display:inline-block;/display:inline;/zoom:1;vertical-align:top;width:auto;letter-spacing:normal;}
#sns-block .btn-sns li img {padding-top:10px;}
#sns-block .btn-sns li a {font-size:1.2em;display:block;text-align:center;text-decoration:none;width:50px;height:50px;border-radius:50%;line-height:48px;transform:.5s;background:#000}
#sns-block .btn-sns li a i {color:#fff;}
@media screen and (max-width:767px) {
#sns-block{margin:30px auto 130px;}
}

/*SHARESNS*/
#sns-block .list-sns {letter-spacing:-.4em;width:auto;display:block;margin:5px 0 0px;}
#sns-block .list-sns li {height:auto;margin-right:7px;display:inline-block;/display:inline;/zoom:1;vertical-align:top;width:auto;letter-spacing:normal;}
#sns-block .list-sns li.twitter-share,#sns-block .list-sns li.line-share{margin-top:9px}


/*FOOOTER*/
#footer {position:relative;height:auto;width:100%;}
#footer .txt-tokutei {width:100%;text-align:center;color:#000;position:absolute;bottom:5px;left:0;z-index:10;display: block;height:auto}
#footer .txt-copy {font-size:.9em;text-align:right;letter-spacing:.1em;color:#000;width:auto;bottom:5px;right:5px;z-index:10;height:auto;padding-right:20px;}

@media screen and (max-width:800px) {
#footer .txt-tokutei {position:relative;margin-bottom:10px}
#footer .txt-copy {position:relative;margin-bottom:8px;padding-right:0;text-align:center;font-size:.9em;}
}

#footer2 {height:auto;width:100%;padding:5px 0 0;bottom:0;left:0;position:fixed;height:auto;background:#415b43;z-index:1}
#footer2 a:hover {opacity: 50%;transition-duration: .5s;}
#footer2 .footer-logo{width:80%;margin:auto;padding:0px 0 60px}
@media screen and (max-width:980px) {
#footer2 .footer-logo{width:95%;padding:5px 0 40px}
}

/*TOKUSHOUHOU*/
#tokushouhou {background:#efece5;padding:60px 0 200px;color:#000;width:100%}
#tokushouhou #tokushouhou-in {width:800px;margin:auto;text-align:left}
#tokushouhou #tokushouhou-in h1 {font-size:1.4em;margin-bottom:35px;}
#tokushouhou #tokushouhou-in .toku-box {margin-bottom:40px;}
#tokushouhou #tokushouhou-in .toku-box h2 {font-size:1.2em;margin-bottom:15px;}
@media screen and (max-width:800px) {
#tokushouhou {padding:60px 0 130px;}
#tokushouhou #tokushouhou-in {width:auto;margin:0 25px;}
}

/*FADE*/
.fadeIn {opacity: 0;-webkit-transition: 1s;transition: 1s;-webkit-transform: translateY(20px);transform: translateY(20px);}
.fadeIn.is-inview {opacity: 1;-webkit-transform: translateY(0px);transform: translateY(0px);}
.img_in_right {overflow: hidden;-webkit-transition: 1s;transition: 1s;opacity: 0;}
.img_in_right img {-webkit-transform: translateX(40px);transform: translateX(40px);-webkit-transition: 1s;transition: 1s;-webkit-clip-path: inset(0 0 0 100%);clip-path: inset(0 0 0 100%);}
.img_in_right.is-inview {opacity: 1;}
.img_in_right.is-inview img {-webkit-clip-path: inset(0);clip-path: inset(0);-webkit-transform: translateX(0px);transform: translateX(0px);}


#backtotop{bottom:70px;position:fixed!important;z-index:10000;width:100%;background:#415b43;padding:15px 0}
#backtotop figure{width:70%;margin:auto;}
@media screen and (max-width:980px) {
#backtotop figure{width:95%;}
}
@media screen and (max-width:800px) {
#backtotop{bottom:120px;}
}

#backtotop2 {width:40px;margin:auto;position:fixed;bottom:-13px;left:45%;right:55%;transition-duration: .5s;z-index:100}
#backtotop2 img {vertical-align: baseline}
#backtotop2:hover {transform: translateY(-3px);}


@media screen and (min-width:768px) {
.pc-only{display:block}
.sp-only{display:none}
}

@media screen and (min-width: 0px) and (max-width:767px) {
.pc-only{display:none}
.sp-only{display:block}
}

@media screen and (min-width:480px) {
.pc-only2{display:block}
.sp-only2{display:none}
}

@media screen and (min-width: 0px) and (max-width:479px) {
.pc-only2{display:none}
.sp-only2{display:block}
}



