@charset "UTF-8";
/* CSS Document */
/**********************************************************/
/* PC */
/**********************************************************/
body {
  color: #fff;
  min-width: 1200px;
}

body {
  position: relative;
  cursor: none; /*もともとあるカーソルは非表示*/
}

body.is-preOpening {
  overflow: hidden;
}

#cursor {
  position: fixed;
  /*丸の大きさと色の指定*/
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  border: solid 1px #fff;
  margin: -10px 0 0 -10px; /*真ん中にくるようにマイナスマージンで調整*/
  z-index: 1005; /*一番手前に来るように*/
  pointer-events: none; /*クリックできなくなるのを防ぐため。noneで対応*/
  opacity: 0;
}

@media (max-width: 768px) {
  #cursor {
    display: none;
  }
}
/**********************************
ローディング
**********************************/
#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 9999;
  text-align: center;
  color: #fff;
  background: #D1D8D8;
  transition: 1.5s;
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
body.is-preOpening #splash {
  visibility: visible;
  pointer-events: initial;
  opacity: 1;
}

/*#splash_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}*/

#splash_logo img {
  width: 169px;
	text-align: center;
margin:30px auto 27px;
}

.splash-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.splash-wrap .box {
  opacity: 0;
}

.splash-wrap p {
  color: #000;
}

.splash-wrap p.ttl {
  font-size: 2.6rem;
}

.splash-wrap p.ttl2 {
  font-size: 3.2rem;
}
.splash-wrap p.ttl3 {
	margin-top:15px;
  font-size: 2.6rem;
	line-height: 1.5;
}

/**********************************
header
**********************************/
/*
#header {
  position: fixed;
  top: 0;
  width: 100%;
  height: 104px;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
  transition: 1s;
  z-index: 99;
  opacity: 1;
}

#header div {
  justify-content: space-between;
}

#header.is-show {
  opacity: 1;
}

#header h1 {
  width: 104px;
  height: 104px;
  margin-left: 50px;
}

.h-btn-box{
	margin: auto 186px auto 0;
}
.h-reserve {
  font-size: 1.7rem;
  color: #fff;
  border: solid 1px #fff;
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
  border-radius: 34px;
  padding: 15px 0;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  background: rgba(85, 109, 136, 0.82);
	width: 250px;
}
.h-experience{
 margin: auto 18px auto 0;
  font-size: 1.7rem;
  color: #fff;
  border: solid 1px #fff;
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
  border-radius: 34px;
  padding: 15px 0;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  background: rgba(255, 255, 255, 0.3);
	width: 250px;
}
*/

#header {
  position: relative;
  top: 0;
  text-align: center;
  color: #fff;
  box-sizing: border-box;
  transition: 1s;
  z-index: 99;
  opacity: 1;
}

#header div {
  justify-content: space-between;
}

#header.is-show {
  opacity: 1;
}

#header h1 {
	position:fixed;
	left:50px;
  width: 104px;
  height: 104px;
}
#header h1 img{
	width: 104px;
  height: auto;
}

.h-btn-box{
	margin: auto 186px auto 0;
}
.h-reserve {
	position:fixed;
	top:28px;
	right: 182px;
  font-size: 1.7rem;
  color: #fff;
  border: solid 1px #fff;
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
  border-radius: 34px;
  padding: 15px 0;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  background: rgba(85, 109, 136, 0.82);
	width: 250px;
}
.h-experience{
	position:absolute;
	top:28px;
	right:450px;
  font-size: 1.7rem;
  color: #fff;
  border: solid 1px #fff;
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
  border-radius: 34px;
  padding: 15px 0;
  display: inline-block;
  font-family: "Noto Sans JP", sans-serif;
  background: rgba(255, 255, 255, 0.3);
	width: 250px;
	text-align:center;
}

/**********************************
ハンバーガー
**********************************/
/*#openbtn {
  position: fixed;
  top: 27px;
  right: 100px;
  transition: 1s;
  z-index: 1000;
  cursor: pointer;
  width: 51px;
  height: 51px;
  opacity: 1;
}
*/
#openbtn {
  position: fixed;
  top: 27px;
  right: 100px;
  transition: 1s;
  z-index: 1000;
  cursor: pointer;
  width: 51px;
  height: 51px;
  opacity: 1;
}
#openbtn.is-show2 {
  opacity: 1;
}

.openbtn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  right: 0px;
  height: 1px;
  border-radius: 2px;
  background-color: #fff;
  width: 51px;
  box-shadow: 0 5px 5px 1px rgba(0, 0, 0, 0.24);
}

/*.openbtn span:nth-of-type(1) {
  top: 15px;
}
.openbtn span:nth-of-type(2) {
  top: 31px;
  right: auto;
  left: 0;
  width: 28px;
}
*/
.openbtn span:nth-of-type(1) {
    top: 15px;
    width: 51px;
    right: 0px;
}
.openbtn span:nth-of-type(2) {
    top: 30px;
    right: 23px;
    width: 28px;
}
.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-20deg);
  width: 100%;
}

.openbtn.active span:nth-of-type(2) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(20deg);
  width: 100%;
}

/**********************************
固定のSNSアイコン
**********************************/
/*
 #snsicon {
  position: fixed;
  bottom: 25px;
  left: 50px;
  transition: 1s;
  z-index: 99;
  cursor: pointer;
  width: 170px;
  height: 40px;
  opacity: 0;
}
 */
.footer-under{
	margin-top: 87px;
}
.snsicon {
  transition: 1s;
  cursor: pointer;
  width: 170px;
  height: 40px;
}

/**********************************
下のsnsアイコン
**********************************/
/*
#snsicon.is-show3 {
  opacity: 1;
}

#snsicon a {
  display: block;
  width: 40px;
}

#snsicon.is-none {
  opacity: 0;
}
*/
.snsicon a {
  display: block;
  width: 40px;
}


/**********************************
section共通
**********************************/
.box001 {
  position: relative;
  transition: all 0.8s;
  width: 100%;
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  /* overflow: hidden; */
}
@media not all and (max-width: 768px) {
  .box001 {
    height: 100vh;
  }
}

section img {
  -o-object-fit: contain;
     object-fit: contain;
}

.top-btn {
  width: 190px;
}

.top-btn a:hover {
  opacity: 1;
}
.globalwrap{
  width: 100%;
  overflow: hidden;
}

/**********************************
　画面全体にvideo
**********************************/
.video-area {
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.video-area video {
  position: relative;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}

.video-sp {
  display: none;
}

.video-cover {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.video-cover > * {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 1s;
}
.video-cover .video-cover-3 {
  background-image: linear-gradient(to bottom, #E1EAE8 0%, #E5E2D8 100%);
}
body.is-section-3 .video-cover .video-cover-3 {
  opacity: 0.74;
}

.video-cover .video-cover-4 {
  background-image: linear-gradient(to bottom, #E5E2D8 0%, #FFF2C4 100%);
}
body.is-section-4 .video-cover .video-cover-4 {
  opacity: 0.74;
}

.video-cover .video-cover-5 {
  background-image: linear-gradient(to bottom, #EAE6D8 0%, #C1D1AD 100%);
}
body.is-section-5 .video-cover .video-cover-5 {
  opacity: 0.74;
}

.video-cover .video-cover-6 {
  background-image: linear-gradient(to bottom, #EAE6D8 0%, #C1D1AD 100%);
}
body.is-section-6 .video-cover .video-cover-6 {
  opacity: 0.74;
}

.video-cover .video-cover-7 {
  background-image: linear-gradient(to bottom, #FFDFBC 0%, #9892A5 50%, #7F7C92 100%);
}
body.is-section-7 .video-cover .video-cover-7 {
  opacity: 0.74;
}

.video-cover .video-cover-8 {
  background-image: linear-gradient(to bottom, #3A345A 0%, #706F86 100%);
}
body.is-section-8 .video-cover .video-cover-8 {
  opacity: 0.74;
}

.video-cover .video-cover-9 {
  background-image: linear-gradient(to bottom, #706F86 0%, #9A93A1 50%, #E2D0D0 100%);
}
body.is-section-9 .video-cover .video-cover-9 {
  opacity: 0.74;
}

.sp-video-white {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: none;
  transition: 1s;
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  opacity: 0;
}
@media (max-width: 768px) {
  .sp-video-white {
    display: block;
  }
}
.is-section-3 .sp-video-white, .is-section-4 .sp-video-white, .is-section-5 .sp-video-white, .is-section-6 .sp-video-white, .is-section-7 .sp-video-white, .is-section-8 .sp-video-white, .is-section-9 .sp-video-white, .is-section-12 .sp-video-white, .is-section-13 .sp-video-white {
  opacity: 1;
}

.sec-box {
  width: 100%;
  margin: auto;
}

/**********************************
　fv
**********************************/
.fv {
  position: relative;
  height: 100%;
  min-height: 810px;
  transition: all 0.8s;
}

.fv-fixed {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.fv-fixed .fv-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  margin: auto;
}

.fv-fixed .logo img {
  width: 169px;
  text-align: center;
  margin: 30px auto 27px;
}

.fv-fixed .fv-wrap p {
  color: #fff;
}

.fv-fixed .fv-wrap p.ttl {
  font-size: 2.6rem;
}

.fv-fixed .fv-wrap p.ttl2 {
  font-size: 3.2rem;
}
.fv-fixed .fv-wrap p.ttl3 {
	margin-top:15px;
  font-size: 2.6rem;
	line-height: 1.5;
}

.fv-fixed .box {
  opacity: 0;
  /* transform: translateY(-200%); */
  transition: 1s;
  transition-timing-function: ease-out;
}
.is-top .fv-fixed .box {
  opacity: 1;
  /* transform: translateY(0); */
}
.fv-fixed .box.topics,
.fv-fixed .box.topics-2 {
    opacity: 1;
}
.topics{
	z-index: 10;
	width:218px;
	height:50px;
    position: fixed;
    bottom: 30px;
    left: 10px;
	padding:5px 10px;
	line-height: 1.3;
	font-size:1rem;
	color:#fff;
	font-family: "Shippori Mincho", serif;
	border: solid 1px #fff;
    box-shadow: 0 5px 5px 1px rgb(0 0 0 / 24%);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.12);
	text-shadow: 1px 2px 3px rgb(0 0 0 / 80%);
}
.topics p.sans{
	border-bottom:1px solid #fff;
	width: 90px;
}
.topics a,
.topics-2 a{
	color:#fff;
	font-size:2rem;
}
.topics a{
	font-size:1.8rem;
}
.topics-2{
	z-index: 10;
	text-align:center;
	width:218px;
	height:50px;
    position: fixed;
    bottom: 90px;
    left: 10px;
	line-height: 2.4;
	font-size:1rem;
	color:#fff;
	font-family: "Shippori Mincho", serif;
	border: solid 1px #fff;
    box-shadow: 0 5px 5px 1px rgb(0 0 0 / 24%);
    border-radius: 50px;
    background: rgba(255, 255, 255, 0.12);
	text-shadow: 1px 2px 3px rgb(0 0 0 / 80%);
}



/**********************************
　sec1
**********************************/
.sec1 .sec-box {
  line-height: 3;
  font-size: 2.1rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
}

/**********************************
　sec2
**********************************/
.sec2 .sec-box {
  justify-content: space-between;
  width: 100%;
  line-height: 3;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
  position: relative;
}

.sec2 .sec-box::after {
  position: absolute;
  top: 88px;
  left: 65px;
  width: 694px;
  height: 451px;
  background-image: url("../images/top/rectangle1.webp?xp68auj7");
  background-size: contain;
  content: "";
  z-index: -1;
}

.sec2 .contents1 .video-contents {
  width: 635px;
  -o-object-fit: cover;
     object-fit: cover;
  height: 428px;
  border-radius: 80px;
  margin-bottom: 60px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec2 .contents1 .video-contents {
    transform: translate3d(-300px, 500px, 0);
    opacity: 0;
  }
  .is-current.sec2 .contents1 .video-contents {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec2 .contents1 .video-contents {
    transform: translate3d(-300px, -500px, 0);
  }
}

/*.sec2 .contents1 .video-contents video {
  width: 100%;
  height: 100%;
  border-radius: 80px;
  -o-object-fit: cover;
     object-fit: cover;
}
*/
.map-link{
	position:relative;
	width: 100%;
  height: 100%;
}
.sec2 .contents1 .video-contents img {
  width: 100%;
  height: 100%;
  border-radius: 40px;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec2 .contents1 .video-contents .map-link .kaya-link {
	position: absolute;
	top: 10.5%;
	left: 35.8%;
	width: 14%;
	height: 21%;
	background: red;
	border-radius: 50%;
	opacity: 0.1;
}
.sec2 .contents1 .video-contents .map-link .kura-link {
	position:absolute;
	top: 10.5%;
    left: 65%;
	width: 14%;
	height: 21%;
	background: red;
	border-radius: 50%;
	opacity: 0.1;
}
.sec2 .contents1 .video-contents .map-link .sora-link {
	position:absolute;
	top: 62.5%;
    left: 26.7%;
	width: 14%;
	height: 21%;
	background: red;
	border-radius: 50%;
	opacity: 0.1;
}
.sec2 .contents1 .video-contents .map-link a:hover{
	opacity: 0.3;
}


.dokidoki{   
    animation-name:dokidoki;	/* アニメーション名の指定 */
    animation-delay:0s;		/* アニメーションの開始時間指定 */
    animation-duration: 1.5s;	/* アニメーション動作時間の指定 */
    animation-timing-function: ease-in-out;
    /* アニメーションの動き（徐々に早く徐々に遅く）*/
    animation-iteration-count: infinite; /* アニメーションをループさせる */
}
 
@keyframes dokidoki {
    0% {
        transform: scale(1);
    }
 
    40% {
        transform: scale(1);
    }
 
    50% {
        transform: scale(1.1);
    }
    
    60% {
        transform: scale(1);
    }
     
    100% {
        transform: scale(1);
    }
}

.sec2 .contents1 p {
  margin-left: 15px;
  font-size: 1.9rem;
}

.sec2 .contents2 p {
  margin: 46px 0 auto 50px;
  font-size: 2.1rem;
  letter-spacing: 0.3em;
}

.sec2 .contents2 .pic {
  margin: 0 315px -60px auto;
  width: 164px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec2 .contents2 .pic {
    transform: translate3d(300px, 600px, 0);
    opacity: 0;
  }
  .is-current.sec2 .contents2 .pic {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec2 .contents2 .pic {
    transform: translate3d(300px, -600px, 0);
  }
}

.sec2 .contents2 .top-btn {
  margin: auto 50px 0 auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec2 .contents2 .top-btn {
    transform: translate3d(-200px, 200px, 0);
    opacity: 0;
  }
  .is-current.sec2 .contents2 .top-btn {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec2 .contents2 .top-btn {
    transform: translate3d(-200px, -200px, 0);
  }
}

/**********************************
　sec3
**********************************/
.sec3 .flex {
  justify-content: space-between;
}

.sec3 .sec-box {
  line-height: 3;
  font-size: 1.9rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
  position: relative;
}

.sec3 .sec-box::after {
  position: absolute;
  top: 115px;
  left: 220px;
  width: 488px;
  height: 349px;
  background-image: url("../images/top/rectangle2.webp?b55z5fcp");
  background-size: contain;
  content: "";
  z-index: -1;
}

.sec3 .contents1 img:first-of-type {
  width: 576px;
  border-radius: 80px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec3 .contents1 img:first-of-type {
    transform: translate3d(-300px, 400px, 0);
    opacity: 0;
  }
  .is-current.sec3 .contents1 img:first-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec3 .contents1 img:first-of-type {
    transform: translate3d(-300px, -400px, 0);
  }
}

.sec3 .contents1 img:last-of-type {
  width: 334px;
  margin: 145px 154px auto auto;
  border-radius: 60px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec3 .contents1 img:last-of-type {
    transform: translate3d(300px, 400px, 0);
    opacity: 0;
  }
  .is-current.sec3 .contents1 img:last-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec3 .contents1 img:last-of-type {
    transform: translate3d(300px, -400px, 0);
  }
}

.sec3 .contents2 p {
  margin: 35px auto 0 110px;
}

.sec3 .top-btn {
  margin: 0 95px 0 auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec3 .top-btn {
    transform: translate3d(-200px, 200px, 0);
    opacity: 0;
  }
  .is-current.sec3 .top-btn {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec3 .top-btn {
    transform: translate3d(200px, -200px, 0);
  }
}

/**********************************
　sec4
**********************************/
.sec4 .iphase1 {
  position: relative;
}
@media not all and (max-width: 768px) {
  .sec4 .iphase1 {
    width: 100%;
    height: 100%;
    display: flex;
  }
}

.sec4 .iphase1 .sec-box {
  line-height: 3;
  font-size: 1.9rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
  position: relative;
}

.sec4 .iphase1 .sec-box::after {
  position: absolute;
  top: 57px;
  right: 83px;
  width: 754px;
  height: 476px;
  background-image: url("../images/top/rectangle3.webp?p1gup125");
  background-size: contain;
  content: "";
  z-index: -1;
	display:none;
}

.sec4 .iphase1 .contents1 {
  margin-bottom: 39px;
}

.sec4 .iphase1 .contents1 img:first-of-type {
  width: 334px;
  margin: 20px 0 40px auto;
  transition: 1s;
  transition-timing-function: ease-out;
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-complete.sec4 .iphase1 .contents1 img:first-of-type {
    opacity: 0;
  }
}

.sec4 .iphase1 .contents2 .top-btn {
    margin: 0px auto auto 160px;
	z-index:997;
}

.sec4 .iphase1 .contents2 img:last-of-type {
  width: 589px;
  margin: auto 168px 0 auto;
  border-radius: 70px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase1 .contents2 img:last-of-type {
    transform: translate3d(-200px, 400px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents2 img:last-of-type {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  .is-complete.sec4 .iphase1 .contents2 img:last-of-type {
    transform: translate3d(0, 0, 0);
    opacity: 0;
  }
}

.sec4 .iphase2 {
  position: relative;
}
@media not all and (max-width: 768px) {
  .sec4 .iphase2 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    display: flex;
    transition: 1s;
    transition-timing-function: ease-in-out;
  }
}
@media not all and (max-width: 768px) {
  .sec4 .iphase2 {
    opacity: 0;
    visibility: hidden;
  }
  .is-prepare.sec4 .iphase2 {
    opacity: 0;
    visibility: hidden;
  }
  .is-current.sec4 .iphase2 {
    opacity: 1;
    visibility: visible;
  }
  .is-complete.sec4 .iphase2 {
    opacity: 1;
    visibility: visible;
  }
}

.sec4 .iphase2 .sec-box {
  line-height: 3;
  font-size: 1.9rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
  position: relative;
}

.sec4 .iphase2 .contents1 {
  margin-bottom: 39px;
}

.sec4 .iphase2 .contents1 img:first-of-type {
  width: 334px;
  margin: 20px 0 40px auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase2 .contents1 img:first-of-type {
    transform: translate3d(-600px, 1200px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase2 .contents1 img:first-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase2 .contents1 img:first-of-type {
    transform: translate3d(600px, -1200px, 0);
  }
}

.sec4 .iphase2 .contents2 img:last-of-type {
  width: 400px;
  margin: 0 auto 0 0;
  border-radius: 50px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase2 .contents2 img:last-of-type {
    transform: translate3d(-200px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase2 .contents2 img:last-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase2 .contents2 img:last-of-type {
    transform: translate3d(200px, -800px, 0);
  }
}

.sec4 .iphase1 .contents-pcphoto {
  position: absolute;
  /* pointer-events: none; */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.sec4 .iphase1 .contents-pcphoto .__photo-map{
  position: absolute;
  top: calc(50% - 0px);
  left: calc(50% - 350px);
  border-radius: 40px;
  width: 500px;
  height: auto;

  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
.sec4 .iphase1 .contents-pcphoto .__photo-1{
  position: absolute;
  top: calc(50% - 320px);
  left: calc(50% + 130px);
  /* border-radius: 40px; */
  width: 320px;
  height: auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
	left: calc(50% + 100px);
	width: 500px;
	top: calc(50% - 290px);
	height: 160px;
}
.sec4 .iphase1 .contents-pcphoto .__photo-2{
  position: absolute;
  top: calc(50% - 80px);
  left: calc(50% + 200px);
  width: 360px;
  height: auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
	top: calc(50% - 120px);
	left: calc(50% + 100px);
	width: 500px;
	height: 160px;
}
.sec4 .iphase1 .contents-pcphoto .__photo-3{
  position: absolute;
  top: calc(50% + 170px);
  left: calc(50% + 230px);
  /* border-radius: 40px; */
  width: 320px;
  height: auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
	top: calc(50% + 50px);
	left: calc(50% + 100px);
	width: 500px;
	height: 160px;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase1 .contents-pcphoto .__photo-map {
    transform: translate3d(-200px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents-pcphoto .__photo-map {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase1 .contents-pcphoto .__photo-map {
    transform: translate3d(200px, -800px, 0);
  }
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase1 .contents-pcphoto .__photo-1 {
    transform: translate3d(-200px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents-pcphoto .__photo-1 {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase1 .contents-pcphoto .__photo-1 {
    transform: translate3d(200px, -800px, 0);
  }
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase1 .contents-pcphoto .__photo-2 {
    transform: translate3d(400px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents-pcphoto .__photo-2 {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase1 .contents-pcphoto .__photo-2 {
    transform: translate3d(-400px, -800px, 0);
  }
}
@media not all and (max-width: 768px) {
  .is-prepare.sec4 .iphase1 .contents-pcphoto .__photo-3 {
    transform: translate3d(200px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents-pcphoto .__photo-3 {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec4 .iphase1 .contents-pcphoto .__photo-3 {
    transform: translate3d(-200px, -800px, 0);
  }
}
@media (max-width: 768px) {
  .sec4 .iphase1 .contents-pcphoto {
    display: none;
  }
}
.sec4 .main-txt{
    font-size: 1.8rem;
}
.sec4 .bg-txt {
    font-size: 4rem;
    line-height: 1.5;
	font-family: "Shippori Mincho", serif;
	margin-bottom:30px;
	letter-spacing:0.2em;
	color:#4E4242;
}
.sec4 .contents-pcphoto li{
	align-items:center;
	position:relative;
	background-size: contain;
	background-repeat:no-repeat;
	transition:0.7s;
	border-radius:40px;
	padding: 40px 60px 0;
}
.sec4 .contents-pcphoto li.__photo-1{
	background-image:url("../images/top/top-kaya.webp");
}
.sec4 .contents-pcphoto li.__photo-2{
	background-image:url("../images/top/top-kura.webp");
}
.sec4 .contents-pcphoto li.__photo-3{
	background-image:url("../images/top/top-sora.webp");
}
.sec4 .contents-pcphoto li::after{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.4);
	background-size:cover;
	content:"";
	z-index:-1;
	border-radius:40px;
}
.sec4 .contents-pcphoto li:hover::after{
	background:rgba(0,0,0,.0);
	transition:0.7s;
}
.sec4 .contents-pcphoto a{
	color:#fff;
	font-size:1.2rem;
}
.sec4 .contents-pcphoto a:hover{
	opacity:1;
	transition:0.7s;
}
.sec4 .contents-pcphoto li div.flex{
	align-items:center;
}
.sec4 .contents-pcphoto li h2{
	font-size:5rem;
	font-family: "Shippori Mincho", serif;
	line-height: 1;
}
.sec4 .contents-pcphoto li h3{
	font-size:2rem;
	font-family: "Shippori Mincho", serif;
	line-height: 1;
}
.sec4 .contents-pcphoto li p{
	font-size:1.4rem;
	line-height:1.8;
	letter-spacing: 1px;
}
.detail-more{
	font-size:1.2rem;
	position:relative;
}
.detail-more::before {
    position: absolute;
    content: "";
    background: #fff;
    width: 1px;
    height: 10px;
    bottom: -1px;
    right: -22px;
    transform: rotate(-45deg);
}
.detail-more::after {
    position: absolute;
    content: "";
    background: #fff;
    width: 86px;
    height: 1px;
    bottom: 0px;
    right: -25px;
}
.detail-more p{
	text-align:right;
}
/**********************************
　sec5
**********************************/
.sec5 .sec-box {
  line-height: 3;
  font-size: 1.9rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
  position: relative;
}

.sec5 .sec-box::after {
  position: absolute;
  top: 57px;
  right: 83px;
  width: 754px;
  height: 476px;
  background-image: url("../images/top/rectangle3.webp?d5bdszf7");
  background-size: contain;
  content: "";
  z-index: -1;
}

.sec5 .contents1 {
  margin-bottom: 34px;
}

.sec5 .contents1 img:first-of-type {
  width: 334px;
  margin: 20px 0 40px auto;
}

.sec5 .contents2 .top-btn {
  margin: 133px auto auto 50px;
}

.sec5 .contents2 img:last-of-type {
  width: 448px;
  margin: auto 262px 0 auto;
  border-radius: 70px;
}

/**********************************
　sec6
**********************************/
.sec6 .sec-box {
  line-height: 3;
  font-size: 2.1rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #292929;
}

.sec6 .contents1 img.pic {
  width: 502px;
  border-radius: 70px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec6 .contents1 img.pic {
    transform: translate3d(-200px, 900px, 0);
    opacity: 0;
  }
  .is-current.sec6 .contents1 img.pic {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec6 .contents1 img.pic {
    transform: translate3d(-200px, -900px, 0);
  }
}

.sec6 .contents1 p {
  margin: 60px 0 auto auto;
}

.sec6 .contents2 {
  margin-top: 37px;
  align-items: flex-end;
}

.sec6 .contents2 img.pic2_1 {
  width: 327px;
  margin: auto auto 75px 10px;
  border-radius: 60px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec6 .contents2 img.pic2_1 {
    transform: translate3d(-200px, 600px, 0);
    opacity: 0;
  }
  .is-current.sec6 .contents2 img.pic2_1 {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec6 .contents2 img.pic2_1 {
    transform: translate3d(200px, -600px, 0);
  }
}

.sec6 .contents2 img.pic2_2 {
  width: 389px;
  margin: auto auto 0 92px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec6 .contents2 img.pic2_2 {
    transform: translate3d(-200px, 900px, 0);
    opacity: 0;
  }
  .is-current.sec6 .contents2 img.pic2_2 {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec6 .contents2 img.pic2_2 {
    transform: translate3d(200px, -900px, 0);
  }
}

.sec6 .contents2 .top-btn {
  margin: 0 0 42px auto;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec6 .contents2 .top-btn {
    transform: translate3d(200px, 400px, 0);
    opacity: 0;
  }
  .is-current.sec6 .contents2 .top-btn {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec6 .contents2 .top-btn {
    transform: translate3d(200px, -400px, 0);
  }
}

.sec6 .contents2 .top-btn img:first-of-type {
  margin: auto;
}

/**********************************
　sec7
**********************************/
.sec7 .sec-box {
  line-height: 3;
  font-size: 1.9rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
}

.sec7 p {
  margin: 0 -32px 0 0;
  width: 502px;
  letter-spacing: 0.34em;
}

.sec7 .contents1 {
  margin-bottom: 40px;
}

.sec7 .contents1 img {
  width: 585px;
  margin: 45px 86px 0 auto;
  z-index: -1;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec7 .contents1 img {
    transform: translate3d(600px, 600px, 0);
    opacity: 0;
  }
  .is-current.sec7 .contents1 img {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec7 .contents1 img {
    transform: translate3d(-600px, -600px, 0);
  }
}

.sec7 .top-btn {
  margin: 0 auto 0 140px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec7 .top-btn {
    transform: translate3d(-200px, 600px, 0);
    opacity: 0;
  }
  .is-current.sec7 .top-btn {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec7 .top-btn {
    transform: translate3d(-200px, -600px, 0);
  }
}

.sec7 .contents2 .pic:first-of-type {
  width: 230px;
  margin: 0 auto auto auto;
  border-radius: 60px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec7 .contents2 .pic:first-of-type {
    transform: translate3d(600px, 600px, 0);
    opacity: 0;
  }
  .is-current.sec7 .contents2 .pic:first-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec7 .contents2 .pic:first-of-type {
    transform: translate3d(-600px, -600px, 0);
  }
}

.sec7 .contents2 .pic:last-of-type {
  width: 264px;
  margin: 0 59px auto 76px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec7 .contents2 .pic:last-of-type {
    transform: translate3d(400px, 800px, 0);
    opacity: 0;
  }
  .is-current.sec7 .contents2 .pic:last-of-type {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec7 .contents2 .pic:last-of-type {
    transform: translate3d(-400px, -800px, 0);
  }
}

/**********************************
　sec8
**********************************/
.sec8 .sec-box {
  line-height: 2;
  font-size: 2.1rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
  position: relative;
}

.sec8 .sec-box::after {
  position: absolute;
  top: 168px;
  left: 100px;
  width: 475px;
  height: 308px;
  background-image: url("../images/top/rectangle4.webp?xzage2i0");
  background-size: contain;
  content: "";
  z-index: -1;
}

.sec8 .contents1 .flex {
  align-items: baseline;
}

.sec8 .contents1 img:first-of-type {
  width: 251px;
  margin: 274px auto 0 0;
  z-index: 2;
  border-radius: 60px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec8 .contents1 img:first-of-type {
    transform: translate3d(-200px, 400px, 0);
    opacity: 0;
  }
  .is-current.sec8 .contents1 img:first-of-type {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  .is-complete.sec8 .contents1 img:first-of-type {
    transform: translate3d(-200px, -400px, 0);
    opacity: 0;
  }
}

.sec8 .contents1 img:nth-of-type(2) {
  width: 526px;
  margin: 0 auto auto -90px;
  border-radius: 80px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec8 .contents1 img:nth-of-type(2) {
    transform: translate3d(-600px, 900px, 0);
    opacity: 0;
  }
  .is-current.sec8 .contents1 img:nth-of-type(2) {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  .is-complete.sec8 .contents1 img:nth-of-type(2) {
    transform: translate3d(600px, -900px, 0);
    opacity: 0;
  }
}

.sec8 .contents2 p {
  margin: 180px 0 auto auto;
}

/**********************************
　sec9
**********************************/
.sec9 .sec-box {
  line-height: 3;
  font-size: 2.1rem;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
  color: #fff;
  position: relative;
}

.sec9 .sec-box::after {
  position: absolute;
  top: 127px;
  right: 187px;
  width: 495px;
  height: 321px;
  background-image: url("../images/top/rectangle5.webp?vmo3sr65");
  background-size: contain;
  content: "";
  z-index: -1;
}

.sec9 p:first-of-type {
  margin-bottom: 40px;
}

.sec9 .contents2 img {
  width: 562px;
  margin-top: 20px;
  border-radius: 80px;
  transition: 1s;
  transition-timing-function: ease-out;
  transform: translate3d(0, 0, 0);
}
@media not all and (max-width: 768px) {
  .is-prepare.sec9 .contents2 img {
    transform: translate3d(100px, 200px, 0);
    opacity: 0;
  }
  .is-current.sec9 .contents2 img {
    transform: translate3d(0, 0, 0);
  }
  .is-complete.sec9 .contents2 img {
    transform: translate3d(100px, -200px, 0);
  }
}

/**********************************
　sec10
**********************************/
/**********************************
　sec11
**********************************/
.sec11 {
  transition: 1s;
  transition-timing-function: ease-out;
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec11 {
    opacity: 0;
  }
  .is-current.sec11 {
    opacity: 1;
  }
  .is-complete.sec11 {
    opacity: 1;
  }
}

.sec11 .sec-box {
  width: auto;
  text-align: center;
}

.sec11 .logo img {
  width: 169px;
  text-align: center;
  margin: 30px auto 27px;
}

.sec11 .sec-box p {
  color: #fff;
}

.sec11 .sec-box p.ttl {
  font-size: 2.6rem;
}

.sec11 .sec-box p.ttl2 {
  font-size: 3.2rem;
}

.sec11 .link-area {
  margin: 50px auto 0;
}

.sec11 .link-area a {
  font-size: 2.1rem;
  padding: 20px;
  border-radius: 134px;
  text-align: center;
  width: 436px;
  box-shadow: 5px 20px 10px rgba(0, 0, 0, 0.3);
  display: block;
  background: rgba(255, 255, 255, 0.8);
  font-family: "Noto Serif JP", serif;
}

.sec11 .link-area span {
  font-size: 1.4rem;
  display: block;
  margin-top: 9px;
}
.sec11 .ttl3{
    margin-top: 30px;
    font-size: 2.6rem;
    font-family: "Noto Serif JP", serif;
}

/**********************************
　sec12
**********************************/
.sec12 {
  transition: 1s;
  transition-timing-function: ease-out;
  opacity: 1;
}
@media not all and (max-width: 768px) {
  .is-prepare.sec12 {
    opacity: 0;
  }
  .is-current.sec12 {
    opacity: 1;
  }
  .is-complete.sec12 {
    opacity: 1;
  }
}

.sec12 .flex {
  align-items: flex-end;
}

.sec12 dt {
  font-size: 1.6rem;
  line-height: 2.2;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
}

.sec12 img {
  width: 308px;
  margin-bottom: 20px;
}

.sec12 dl {
  margin-left: 10px;
}

.sec12 dt:last-of-type {
  margin-bottom: 20px;
}

.sec12 dd {
  font-size: 1rem;
  line-height: 1.4;
  margin-bottom: 15px;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
}

.sec12 .map iframe {
  border-radius: 30px;
}

/**********************************
　CONTACT
**********************************/
#footer.box001 {
  display: block;
  min-height: 810px;
  font-family: "Noto Serif JP", serif;
	z-index: 11;
}

#contact {
  background: #D1D8D8;
  height: 60vh;
  color: #292929;
  display: flex;
}

#contact .inner940 {
  max-width: 886px;
  justify-content: space-between;
  margin: auto;
}

.contact-txt h3 {
  font-size: 3.9rem;
  margin-bottom: 40px;
}

.contact-txt p {
  line-height: 2.2;
}

#contact .top-btn {
  margin-top: 97px;
  width: 210px;
}

.top-btn a:hover {
  opacity: 1;
  transition: 0.3s;
  width: 210px;
}

/**********************************
footer
**********************************/
#footer .footer {
  background: #556D88;
  height: 40vh;
  color: #fff;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.3);
}

.footer {
  display: flex;
}

.footer .inner1240 {
  margin: auto;
  justify-content: space-between;
  width: 100%;
}

.footer-logo img {
  width: 342px;
  margin-top: 20px;
}

.f-nav {
  width: 708px;
  margin-right: 50px;
}

.f-nav li {
  position: relative;
}

.f-nav li:nth-of-type(2)::before,
.f-nav li:nth-of-type(3)::before {
  position: absolute;
  top: 10px;
  left: -30px;
  height: 120px;
  width: 1px;
  content: "";
  background: #fff;
}

.f-nav li:nth-of-type(2)::after,
.f-nav li:nth-of-type(3)::after {
  position: absolute;
  top: 10px;
  left: -25px;
  height: 120px;
  width: 1px;
  content: "";
  background: #fff;
}

.footer a {
  color: #fff;
  font-size: 1.9rem;
  display: block;
  line-height: 2.4;
}

.footer small {
  text-align: right;
  display: block;
  font-size: 0.9rem;
}
.footer a.pc {
  font-size: 1.2rem;
	display: inline-block;
}
.footer a.sp {
	display: none;
}

/**********************************************************/
/* タブレット用 */
/**********************************************************/
@media (max-width: 1000px) {
	.h-btn-box {
    margin:0;
	position: fixed;
    bottom: 44px;
    right: 20px;
		display: flex;
		align-items: end;
}
  .h-reserve {
	  position: fixed;
    top: auto;
    bottom: 28px;
    right: 100px;
    margin: 0;
    font-size: 1.4rem;
    padding: 34px 0;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: #556D88;
    border: solid 1px #fff;
    box-shadow: 0 1px 20px 3px rgba(0, 0, 0, 0.24);
    color: #fff;
  }
	
	.h-experience {
    top: auto;
    bottom: 27px;
    right: 200px;
    font-size: 1.7re;
    font-size: 1.2rem;
    padding: 22px 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: solid 1px #fff;
    background: rgba(255,255,255,.64);
    box-shadow: 0 1px 20px 3px rgb(0 0 0 / 24%);
    color: #4E4242;
}
	
	
}
/**********************************************************/
/* SP用 */
/**********************************************************/
@media (max-width: 768px) {
  body {
    min-width: auto;
    background: #000;
  }
  /**********************************
  ローディング
  **********************************/
  #splash_logo img {
    width: 113px;
  }
  .splash-wrap p.ttl {
    font-size: 1.5rem;
  }
  .splash-wrap p.ttl2 {
    font-size: 2.2rem;
  }
	.splash-wrap p.ttl3 {
    font-size: 1.5rem;
  }
	.splash-wrap {
    width: 100%;
}
  /**********************************
  header
  **********************************/
  #header {
    position: fixed;
    top: 30px;
    width: 100%;
    height: auto;
    text-align: center;
    color: #292929;
    box-sizing: border-box;
    z-index: 99;
  }
  #header,
  #header div {
    height: auto;
  }
  #header h1 {
    width: 50px;
    height: auto;
    left: 10px;
}
	.h-btn-box {
    margin:0;
	position: fixed;
    bottom: 44px;
    right: 20px;
		display: flex;
		align-items: end;
}
  .h-reserve {
	  position: fixed;
	  top:auto;
    bottom: 28px;
    right: 20px;
    margin: 0;
    font-size: 1.4rem;
    padding: 34px 0;
    width: 86px;
    height: 86px;
    border-radius: 50%;
    background: #556D88;
    border: solid 1px #fff;
    box-shadow: 0 1px 20px 3px rgba(0, 0, 0, 0.24);
    color: #fff;
  }
	.h-experience{
		top: auto;
    bottom: 28px;
    right: 105px;
	margin: 0 10px 0 auto;
    font-size: 1.2rem;
    padding: 22px 0;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    border: solid 1px #fff;
		background: rgba(255,255,255,.64);
    box-shadow: 0 1px 20px 3px rgba(0, 0, 0, 0.24);
    color: #4E4242;
	}
  /**********************************
  ハンバーガー
  **********************************/
  #openbtn {
    width: 35px;
    height: 35px;
    top: 50px;
    right: 20px;
  }
  #openbtn.active span:nth-of-type(1) {
    top: 0px;
    left: 0px;
  }
  #openbtn.active span:nth-of-type(2) {
    top: 12px;
    left: 0px;
    width: 100%;
  }
  #openbtn span:nth-of-type(1) {
    top: 0;
	  width: 35px;
  }
  #openbtn span:nth-of-type(2) {
    top: 8px;
    width: 15px;
    right: 20px;
}
  /**********************************
  下のsnsアイコン
  **********************************/
  #snsicon {
    bottom: 33px;
    left: 15px;
    width: 130px;
  }
  #snsicon a {
    width: 34px;
  }
  /**********************************
  　fv
  **********************************/
  .fv-fixed {
    min-height: 600px;
  }
  .fv-wrap {
    width: 100%;
  }
  .fv-fixed .logo img {
    width: 113px;
    margin: 17px auto 19px;
  }
  .fv-fixed .fv-wrap p.ttl {
    font-size: 1.5rem;
  }
  .fv-fixed .fv-wrap p.ttl2 {
    font-size: 2.2rem;
  }
	.fv-fixed .fv-wrap p.ttl3 {
    font-size: 1.5rem;
}
	.topics {
    bottom: 80px;
    left: 10px;
    padding: 2px 10px;
	}
	.topics a,
	.topics-2 a{
    color: #fff;
    font-size: 1.2rem;
}
	.topics{
	width: 150px;
	height: 34px;
	bottom: 28px;
		left: 20px;
	}
	.topics-2 {
    width: 150px;
    height: 34px;
    bottom: 68px;
		left: 20px;
}
  /**********************************
  section共通
  **********************************/
  .box001 {
    display: flex;
    font-size: 1.6rem;
  }
  .sp-ttl {
    width: 130px;
    text-align: center;
    margin: 0 auto;
  }
  section img {
    -o-object-fit: cover;
       object-fit: cover;
  }
  .top-btn {
    width: 234px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  /**********************************
  　sec1
  **********************************/
  .sec1 .sec-box {
    font-size: 1.6rem;
    padding: 100px 20px;
  }
  .sec1 .sec-box p:nth-of-type(2) {
    margin: 60px auto 20px;
  }
  /**********************************
  　sec2
  **********************************/
  .sec2 .sec-box {
    flex-direction: column;
    padding: 100px 0 148px 0;
  }
  .sec2 .contents2 p {
    margin: 0 auto;
    font-size: 1.6rem;
    padding-left: 20px;
  }
  .sec2 .contents1 .video-contents {
    width: 355px;
    height: auto;
    border-radius: 80px 0 0 80px;
    margin: 290px 0 28px auto;
    padding-left: 20px;
}
  .sec2 .contents1 .video-contents video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 40px 0 0 40px;
  }
  .sec2 .sec-box::after {
    top: 287px;
    left: 113px;
    width: 301px;
    background-size: cover;
    background-repeat: no-repeat;
    height: 936px;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 40px 0 0 40px;
    background-image: none;
  }
  .sec2 .contents1 p {
    margin-left: 0;
    padding: 0 20px;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec2 .contents1 p {
    transform: translateY(200px);
  }
  .is-iphase-2.sec2 .contents1 p {
    transform: translateY(0);
  }
  .sec2 .contents1 .sp-ttl {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec2 .contents1 .sp-ttl {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec2 .contents1 .sp-ttl {
    transform: translateY(0);
  }
  .is-complete.sec2 .contents1 .sp-ttl {
    transform: translateY(0);
  }
  .sec2 .contents2 p {
    margin: -700px auto 625px;
    letter-spacing: 0.09em;
    padding: 0 20px;
  }
  .sec2 .contents2 .pic {
    margin: 0 auto -60px -70px;
    width: 327px;
    height: 237px;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec2 .contents2 .pic {
    transform: translateY(200px);
  }
  .is-iphase-2.sec2 .contents2 .pic {
    transform: translateY(0);
  }
  .sec2 .contents2 .pic img {
    height: 100%;
    width: 100%;
    border-radius: 0 40px 40px 0;
  }
  .sec2 .contents2 .top-btn {
    margin: 110px auto 0;
  }
	.sec2 .contents1 .video-contents .map-link .kaya-link {
    position: absolute;
    top: 15.5%;
    left: 35.7%;
    width: 14%;
    height: 18.3%;
    background: red;
    border-radius: 50%;
    opacity: 0.1;
}
	.sec2 .contents1 .video-contents .map-link .kura-link {
    position: absolute;
    top: 15.6%;
    left: 64.9%;
    width: 14%;
    height: 18.2%;
    background: red;
    border-radius: 50%;
    opacity: 0.1;
}
	.sec2 .contents1 .video-contents .map-link .sora-link {
    position: absolute;
    top: 61.2%;
    left: 26.7%;
    width: 14.1%;
    height: 18.1%;
    background: red;
    border-radius: 50%;
    opacity: 0.1;
}
  /**********************************
  　sec3
  **********************************/
  .sec3 .sec-box {
    font-size: 1.6rem;
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .sec3 .sec-box::after {
    top: 218px;
    left: 0;
    right: 95px;
    width: 281px;
    height: 773px;
    background-image: none;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 0 40px 40px 0;
  }
  .sec3 .sp-ttl {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec3 .sp-ttl {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec3 .sp-ttl {
    transform: translateY(0);
  }
  .is-complete.sec3 .sp-ttl {
    transform: translateY(0);
  }
  .sec3 .flex {
    flex-direction: column;
  }
  .sec3 .contents1 img:first-of-type {
    width: 323px;
    border-radius: 0 40px 40px 0;
    margin-right: 20px;
    margin-top: 43px;
  }
  .sec3 .contents1 img:last-of-type {
    width: 323px;
    margin: 215px 0 auto auto;
    border-radius: 40px 0 0 40px;
  }
  .sec3 .contents2 p {
    line-height: 2.3;
    margin: -396px auto 0 20px;
    letter-spacing: 0.12em;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec3 .contents2 p {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec3 .contents2 p {
    transform: translateY(0);
  }
  .is-complete.sec3 .contents2 p {
    transform: translateY(0);
  }
  .sec3 .top-btn {
    margin: 291px auto 0;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec3 .top-btn {
    transform: translateY(200px);
  }
  .is-iphase-2.sec3 .top-btn {
    transform: translateY(0);
  }
  /**********************************
  　sec4
  **********************************/
  .sec4 {
    display: block;
  }
  .sec4 .iphase1 .sec-box {
    line-height: 2.3;
    font-size: 1.6rem;
    margin: 82px auto 150px;
  }
  .sec4 .sp-ttl {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec4 .sp-ttl {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec4 .sp-ttl {
    transform: translateY(0);
  }
  .is-complete.sec4 .sp-ttl {
    transform: translateY(0);
  }
  .sec4 .iphase1 .flex {
    flex-direction: column;
  }
  .sec4 .iphase1 .contents1 p {
    padding: 45px 0 0 20px;
    line-height: 1.9;
  }
	.sec4 .main-txt {
    font-size: 1.6rem;
}
	.sec4 .bg-txt {
		display:none;
}
  .sec4 .iphase1 .contents1 img.sp {
    width: 352px;
    height: 302px;
    margin: 0 0 0 auto;
    border-radius: 40px 0 0 40px;
  }
  .sec4 .iphase1 .sec-box::after {
    position: absolute;
    top: 264px;
    right: 0;
    width: 271px;
    height: 908px;
    background-image: none;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 40px 0 0 40px;
  }
  /*.sec4 .iphase1 .contents2 p {
    padding: 0 20px 54px 20px;
    line-height: 1.9;
  }
	*/
  .sec4 .iphase1 .contents2 img.pic2_1 {
    width: 355px;
    margin: auto 0 40px auto;
    border-radius: 40px 0 0 40px;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec4 .iphase1 .contents2 img.pic2_1 {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec4 .iphase1 .contents2 img.pic2_1 {
    transform: translateY(0);
  }
  .is-complete.sec4 .iphase1 .contents2 img.pic2_1 {
    transform: translateY(0);
  }
  .sec4 .iphase1 .contents2 img.pic2_2 {
    width: 355px;
    margin: auto 0 0 auto;
    border-radius: 40px 0 0 40px;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec4 .iphase1 .contents2 img.pic2_2 {
    transform: translateY(200px);
  }
  .is-iphase-2.sec4 .iphase1 .contents2 img.pic2_2 {
    transform: translateY(0);
  }
  .sec4 .iphase1 .contents2 .top-btn {
    margin: 50px auto 0;
    font-size: 1.6rem;
    line-height: 1.9;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec4 .iphase1 .contents2 .top-btn {
    transform: translateY(200px);
  }
  .is-iphase-2.sec4 .iphase1 .contents2 .top-btn {
    transform: translateY(0);
  }
  .sec4 .iphase2 {
    display: none;
  }
	.sec4 .contents2.sp{
		padding:0 20px;
	}
	.sec4 .contents2.sp li {
    align-items: center;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    transition: 0.7s;
    border-radius: 40px;
		height:247px;
		margin-bottom:30px;
}
	.sec4 .contents2.sp li::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.4);
    background-size: cover;
    content: "";
    border-radius: 40px;
}
	.sec4 .contents2.sp li.__photo-1{
	background-image:url("../images/top/top-kaya_sp.webp");
}
	.sec4 .contents2.sp li.__photo-2{
	background-image:url("../images/top/top-kura_sp.webp");
}
	.sec4 .contents2.sp li.__photo-3{
	background-image:url("../images/top/top-sora_sp.webp");
}
	.sec4 .contents2.sp li a {
    color: #fff;
    font-size: 1.2rem;
		text-align:center;
		padding: 40px 0 34px;
		display:block;
		z-index: 15;
		border-radius: 40px;
}
	.sec4 .contents2.sp li a:hover {
		opacity:1;
		border-radius: 40px;
	}
	.sec4 .contents2.sp li h2,
	.sec4 .contents2.sp li h3,
	.sec4 .contents2.sp li .detail-txt,
	.sec4 .contents2.sp li .detail-more{
    z-index: 1;
}
	.sec4 .contents2.sp li h2{
    font-size: 3.5rem;
		font-family: "Shippori Mincho", serif;
		line-height: 1;
		margin-bottom:9px;
}
	.sec4 .contents2.sp li h3{
    font-size: 1.2rem;
		font-family: "Shippori Mincho", serif;
		line-height: 1;
		margin-bottom:26px;
}
	.sec4 .contents2.sp li .detail-txt{
		font-size: 1.4rem;
		margin-bottom:10px;
		line-height: 1.6;
}
	.sec4 .contents2.sp li .detail-more{
		font-size: 1.2rem;
		padding-right: 70px;
}
	.detail-more::after {
    right: 38px;
}
	.detail-more::before {
    right: 41px;
}
	.sec4 .iphase1 .sec-box::after {
	display:block;
}
	
	
  /**********************************
  　sec6
  **********************************/
  .sec6 {
    padding: 80px 0 155px;
  }
  .sec6 .sec-box {
    color: #292929;
    position: relative;
  }
  .sec6 .sec-box::after {
    position: absolute;
    top: 170px;
    left: 0;
    width: 333px;
    height: 791px;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 0 40px 40px 0;
    z-index: -1;
    content: "";
  }
  .sec6 p {
    font-size: 1.6rem;
    margin: 0 auto 0 20px;
  }
  .sec6 .sp-ttl {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec6 .sp-ttl {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec6 .sp-ttl {
    transform: translateY(0);
  }
  .is-complete.sec6 .sp-ttl {
    transform: translateY(0);
  }
  .sec6 .contents1.flex {
    flex-direction: column-reverse;
  }
  .sec6 .contents1 p {
    margin: 50px auto 20px 20px;
    font-size: 1.6rem;
    line-height: 1.9;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec6 .contents1 p {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec6 .contents1 p {
    transform: translateY(0);
  }
  .is-complete.sec6 .contents1 p {
    transform: translateY(0);
  }
  .sec6 .contents1 img.pic {
    width: 356px;
    border-radius: 0 40px 40px 0;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec6 .contents1 img.pic {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec6 .contents1 img.pic {
    transform: translateY(0);
  }
  .is-complete.sec6 .contents1 img.pic {
    transform: translateY(0);
  }
  .sec6 .contents2 {
    margin-top: 20px;
    flex-direction: column;
  }
  .sec6 .contents2 img:first-of-type {
    width: 355px;
    margin: 20px 0 30px auto;
    border-radius: 40px 0 0 40px;
  }
  .sec6 .contents2 .top-btn,
  .sec6 .contents2 .top-btn img:nth-of-type(2) {
    width: 234px;
    margin: 0 auto;
  }
  .sec6 .contents2 img.pic2_1 {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec6 .contents2 img.pic2_1 {
    transform: translateY(200px);
  }
  .is-iphase-2.sec6 .contents2 img.pic2_1 {
    transform: translateY(0);
  }
  /**********************************
  　sec7
  **********************************/
  .sec7 p {
    padding: 0 20px;
    margin: 0 auto;
    width: 100%;
  }
  .sec7 .sec-box {
    line-height: 1.9;
    font-size: 1.6rem;
    margin: 90px auto 164px;
    color: #292929;
    position: relative;
  }
  .sec7 .sec-box::after {
    position: absolute;
    top: 204px;
    right: 0;
    width: 316px;
    height: 836px;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 40px 0 0 40px;
    z-index: -1;
    content: "";
  }
  .sec7 .sp-ttl {
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec7 .sp-ttl {
    transform: translateY(400px);
    opacity: 0;
  }
  .is-current.sec7 .sp-ttl {
    transform: translateY(0);
  }
  .is-complete.sec7 .sp-ttl {
    transform: translateY(0);
  }
  .sec7 .contents1 {
    margin: 50px auto 44px;
    flex-direction: column;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec7 .contents1 {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec7 .contents1 {
    transform: translateY(0);
  }
  .is-complete.sec7 .contents1 {
    transform: translateY(0);
  }
  .sec7 .contents1 p:last-of-type {
    margin: 374px auto 0;
    letter-spacing: 0.16em;
  }
  .sec7 .contents1 img {
    width: 354px;
    height: 271px;
    border-radius: 40px 0 0 40px;
    margin: -478px 0 0 auto;
    z-index: 1;
  }
  .sec7 .contents2.flex {
    flex-direction: column-reverse;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-iphase-1.sec7 .contents2.flex {
    transform: translateY(200px);
  }
  .is-iphase-2.sec7 .contents2.flex {
    transform: translateY(0);
  }
  .sec7 .contents2 .pic:first-of-type {
    width: 300px;
    height: 209px;
    border-radius: 0 40px 40px 0;
    margin: 290px auto 0 0;
  }
  .sec7 .contents2 .pic:last-of-type {
    display: none;
  }
  .sec7 .top-btn {
    margin: 50px auto 0;
  }
  /**********************************
  　sec8
  **********************************/
  .sec8 .sec-box {
    color: #292929;
  }
  .sec8 .sec-box::after {
    position: absolute;
    top: 161px;
    left: 0;
    width: 285px;
    height: 1166px;
    background-image: none;
    background-color: rgba(255, 255, 255, 0.41);
    border-radius: 0 40px 40px 0;
    content: "";
  }
  .sec8 .flex,
  .sec8 .contents1.flex {
    flex-direction: column-reverse;
  }
  .sec8 .contents2 p {
    margin: 130px 0 40px 20px;
    font-size: 1.6rem;
    text-shadow: none;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec8 .contents2 p {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec8 .contents2 p {
    transform: translateY(0);
  }
  .is-complete.sec8 .contents2 p {
    transform: translateY(0);
  }
  .sec8 .contents1 img:nth-of-type(2) {
    width: 355px;
    margin: 0 auto auto 0px;
    border-radius: 0 40px 40px 0;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec8 .contents1 img:nth-of-type(2) {
    transform: translateY(400px);
    opacity: 0;
  }
  .is-current.sec8 .contents1 img:nth-of-type(2) {
    transform: translateY(0);
  }
  .is-complete.sec8 .contents1 img:nth-of-type(2) {
    transform: translateY(0);
  }
  .sec8 .contents1 img:first-of-type {
    width: 355px;
    margin: 25px 0 0 auto;
    border-radius: 40px 0 0 40px;
  }
  /**********************************
  　sec9
  **********************************/
  .sec9 .sec-box {
    line-height: 2.2;
    font-size: 1.6rem;
    color: #292929;
    margin-top: 60px;
    padding-bottom: 174px;
  }
  .sec9 .sec-box::after {
    background-image: none;
  }
  .sec9 .sec-box .flex {
    flex-direction: column;
  }
  .sec9 .sec-box p {
    padding-left: 20px;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec9 .sec-box p {
    transform: translateY(400px);
    opacity: 0;
  }
  .is-current.sec9 .sec-box p {
    transform: translateY(0);
  }
  .is-complete.sec9 .sec-box p {
    transform: translateY(0);
  }
  .sec9 p:first-of-type {
    margin-bottom: 0px;
  }
  .sec9 .sec-box p:last-of-type {
    margin: 20px auto 0;
  }
  .sec9 .contents2 img {
    width: 335px;
    border-radius: 0 40px 40px 0;
    transition: 1s;
    transition-timing-function: ease-in-out;
    transform: translateY(0);
  }
  .is-prepare.sec9 .contents2 img {
    transform: translateY(200px);
    opacity: 0;
  }
  .is-current.sec9 .contents2 img {
    transform: translateY(0);
  }
  .is-complete.sec9 .contents2 img {
    transform: translateY(0);
  }
  /**********************************
  　sec10
  **********************************/
  .sec10 {
    display: none;
  }
  /**********************************
  　sec11
  **********************************/
  .sec11.box001 {
    height: 100vh;
  }
  .sec11 .sec-box p.ttl {
    font-size: 1.8rem;
  }
  .sec11 .sec-box p.ttl2 {
    font-size: 2.2rem;
  }
  .sec11 .logo img {
    width: 110px;
    margin: 23px auto 16px;
  }
  .sec11 .link-area {
    display: none;
  }
  .sec11 .ttl3 {
    font-size: 1.5rem;
}
  /**********************************
  　sec12
  **********************************/
  .sec12 {
    background: #556D88;
    z-index: 11;
}
  .sec12 .flex {
    flex-direction: column;
    text-align: center;
    align-items: unset;
  }
  .sec12 img {
    width: 230px;
    margin: 50px auto;
  }
  .sec12 .map iframe {
    border-radius: 0;
    width: 100%;
    height: 360px;
  }
  .sec12 dl {
    margin: 0 auto 93px;
    text-align: left;
    padding: 0 20px;
  }
  .sec12 dt {
    font-size: 1.2rem;
  }
  .sec12 dd {
    font-size: 1.2rem;
    word-break: break-all;
  }
  /**********************************
  　contact
  **********************************/
  #contact {
    height: 100vh;
  }
  #contact .inner940.flex {
    flex-direction: column;
  }
  #contact .contact-txt {
    text-align: center;
  }
  #contact .top-btn {
    margin: 80px auto 0;
    width: 150px;
  }
  .contact-txt h3 {
    font-size: 3.6rem;
    margin-bottom: 50px;
  }
  .contact-txt p {
    font-size: 1.2rem;
  }
  /**********************************
  footer
  **********************************/
  #footer .footer {
    height: auto;
    text-shadow: none;
  }
  #footer .footer ul.flex {
    flex-direction: column;
  }
  .f-nav li {
    text-align: center;
  }
  .f-nav li:last-of-type {
    position: relative;
  }
  .f-nav li:last-of-type::before,
  .f-nav li:last-of-type::after {
    position: absolute;
    content: "";
    width: 64px;
    height: 1px;
    top: -47px;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
  }
  .f-nav li:last-of-type::after {
    top: -43px;
  }
  .footer a {
    font-size: 1.6rem;
  }
	.footer a.pc {
display: none;
}
.footer a.sp {
	display: block;
}
  .footer-logo {
    text-align: center;
    margin: 70px auto 67px;
  }
.footer-logo img {
    margin: 0 auto 25px;
    width: 87px;
  }
  .footer-logo p {
    font-size: 2.2rem;
  }
  .f-nav {
    width: 100%;
    margin-right: auto;
  }
  #footer .f-nav li:first-of-type,
  #footer .f-nav li:nth-of-type(2) {
    display: none;
  }
	.snsicon {
    width: 150px;
    height: 40px;
    padding-left: 12px;
}
  .footer small {
    text-align: left;
    padding-left: 20px;
    margin: 5px auto 20px 0;
    width: 100%;
    font-size: 0.7rem;
  }
}
.sec-iphase-marker-sp {
  position: absolute;
  width: 100%;
  height: 100vh;
  pointer-events: none;
}
