/*@charset "UTF-8";*//* CSS Document */html {    font-family: "Zen Maru Gothic", serif;    font-weight: 700;    font-style: normal;    font-size: 10px;    color: #4c4d4c;    scroll-behavior: smooth;    scroll-padding-top: 100px;}body {    line-height: 1.5;    font-size: 1.6rem;    background-image: url("../../img/bg-blue.png");    background-repeat: repeat;    background-size: 100% auto;    width: 100%;    height: auto;    aspect-ratio: 1600 / 200;    position: relative;    z-index: -1;}body.active {  overflow: hidden!important;}main {    position: relative;    z-index: -1;}a {    text-decoration: none;    color: #4c4d4c;    box-sizing: border-box;}img {    width: 100%;  height: auto;}h1 {  font-size: calc(20px + 12*((100vw - 375px) / 1545));}h2 {    font-size: calc(19px + 3*((100vw - 375px) / 1545));}h3 {    font-size: calc(18px + 8*((100vw - 375px) / 1545));}h4 {  font-size: calc(16px + 4*((100vw - 375px) / 1545));}h5 {  font-size: calc(14px + 4*((100vw - 375px) / 1545));}p {  font-size: calc(16px + 2*((100vw - 375px) / 1545));  box-sizing: border-box;  line-height: 2;  color: #4C4D4C;  font-weight: 500;}div {    box-sizing: border-box;}address {    font-style: normal;}a:hover {    opacity: 0.8;}button:hover {    opacity: 0.8;    transform: rotate(-1deg);}header a:hover {    transform: rotate(0);}ul li, ol li {  list-style-type: none;}.liner {  background: linear-gradient(transparent 70%, #F7E997 50%);}.linerBlue {  background: linear-gradient(transparent 70%, rgba(147, 207, 213, 0.6) 50%);}.linerOrange {  background: linear-gradient(transparent 70%, rgba(257, 195, 103, 0.6) 50%);}.linerPink {  background: linear-gradient(transparent 70%, rgba(251, 133, 133, 0.6) 50%);}.tb-br,.sp-br {  display: none;}@media(max-width:780px) {  .pc-br {    display: none;  }  .tb-br {    display: block;  }  p {    line-height: 1.8;  }  .sp-linerPink {    background: linear-gradient(transparent 70%, rgba(251, 133, 133, 0.6) 50%);  }}@media(max-width:540px) {  .sp-hide {    display: none;  }  .sp-br {    display: block;  }}.logo {  height: 100%;  padding-left: 10px;  display: flex;  align-items: center;  gap: 10px;}.logoImg {  width: min(250px, 40vw);  height: 100%;  object-fit: contain;}.logoImg.sp-hide {  width: min(240px,35vw);}.logoImg.tb-br {  width: min(300px, 45vw);}.logo p {  font-weight: 600;  color: #604319;}.TI-wrap {  line-height: 1;}.TopImg img {  width: 100%;}.sp-TopImg {  display: none;}.Top-link {  display: flex;  justify-content: space-between;  flex-direction: row;  align-items: center;  height: min(80px, 16vw);  background-color: #fff;}.reservationBtn {  width: min(170px,20%);  height: 100%;  background-color: #3F61B7;  display: flex;  align-items: center;}.Toplink-box {  color: #fff;  text-align: center;}.Toplink-box img {  width: min(42px,20%);}.Toplink-box p {  display: block;  color: #fff;  line-height: 1;  font-size: calc(12px + 2*((100vw - 375px) / 1545));}.GlobalNav {  background-color: #fff;}.GlobalNav.fixed {  left: 0;  position: fixed;  top: 0;  width: 100%;  z-index: 999;  background-color: rgb(255,255,255,0.8);}.Gnav {  display: flex;  width: min(1500px, 95%);  margin: 0 auto;}.Gnav-menu {  align-items: center;  width: calc(100% / 6);  height: 80px;  border-left: 1px solid #4c4d4c;  text-align: center;  line-height: 1.25;  box-sizing: border-box;  place-content: center;}.Gnav-menu img {    display: block;    margin: 0 auto;    padding-bottom: 7px;    max-width: 30px;}.Gnav a{  font-weight: 600;  display: block;  cursor: pointer;}.Gnav-menu:first-child{    border-left: none;}.Gnav-menu a p {  font-size: calc(10px + 2*((100vw - 780px) / 1140));  line-height: 1.2;}.Gnav-menu {  position: relative;}.nav {  display: none;}@media(max-width:780px) {  .logoImg {    height: auto;  }  .logoMain {    width: min(220px, 33vw);  }  .logoImg.sp-br {    width: min(250px, 55vw);  }  .nav {    display: block;    z-index: 1000;  }  .hamburger-btn p {    padding-bottom: 0;    transform: translateY(65%) translateX(3%);  }  .nav_content {    width: 100%;    height: 100%;    position: fixed;    top: 0;    left: 100%;    z-index: 150;    background: #fff;    transition: .5s;  }  .nav_content.active {    left: 0;    overflow: scroll;  }  .nav_list {    margin: 20% auto 0;  }  .nav_list img {    max-width: 30px;    object-fit: contain;  }  .nav_list p {    margin: 0;    padding-top: 20px;    padding-bottom: 20px;  }}.subMenuWrap {  display: none;  position: absolute;  width: 100%;  top: 80px;}.sub-menu{  position: relative;  width: 100%;  font-size: calc(10px + 2*((100vw - 780px) / 1140));  padding: 20px 0;  z-index: 100;  border-bottom: 1px solid #fff;  background-color: rgba(125, 199, 240, 1.0);}.sub-menu a {  color: #fff;}.sub-menu:last-child {  border-bottom: none;}@media(max-width:780px) {  .Bg-header {    position: fixed;    z-index: 999;    height: 14%;    width: 100%;  }  .Bg-header img {    width: 100%;    height: 100%;  }  .subMenuWrap {    position: static;  }  .Top-link {    position: fixed;    width: 100%;    z-index: 1000;    padding-top: 5px;  }  .TopImg {    margin-top: 80px;  }  .reservationBtn {    display: none;  }  .OpenBtn {    position: fixed;    cursor: pointer;    width: min(60px, 13%);    height: min(60px, 11vw);    margin-right: 2%;    z-index: 9999;    top: 10px;    right: 0;    }  .OpenBtn::before {    content: "MENU";    position: absolute;    top: 8%;    left: 50%;    transform: translateX(-50%);    color: #3F61B7;    font-size: clamp(1.1rem, 2.5vw, 1.3rem);    text-transform: uppercase;  }    .OpenBtn span {        display: inline-block;        position: absolute;        left: 50%;        transform: translateX(-50%);        width: min(35px, 55%);        height: 2px;        border-radius: 5px;        background-color: #3F61B7;        transition: all .4s;    }    .OpenBtn span:nth-of-type(1) {        top: 50%;    }    .OpenBtn span:nth-of-type(2) {        top: 63%;    }    .OpenBtn span:nth-of-type(3) {        top: 76%;    }    .OpenBtn.active::before {        content: "CLOSE";    }    .OpenBtn.active span:nth-of-type(1) {        left: 24%;        top: 70%;        transform: translateY(50%) rotate(-45deg);    }    .OpenBtn.active span:nth-of-type(2) {        display: none;    }    .OpenBtn.active span:nth-of-type(3) {        left: 24%;        top: 70%;        transform: translateY(50%) rotate(45deg);    }  .Gnav {    position: fixed;    z-index: 1500;    top: 0;    right: -120%;    width: 100%;    height: 100vh;    transition: all .6s;    overflow: scroll;    box-sizing: border-box;    background-color:rgba(255, 255, 255, 0.8);    padding: 20% 5%;    display: block;    }  .Gnav.active {    right: 0;  }  .Gnav li {    display: flex;    width: 100%;    padding: 20px;    border: none;    flex-direction: column;    align-items: flex-start;    box-sizing: border-box;    }  .Gnav li img {    padding-bottom: 0;    padding-right: 20px;  }  .Gnav li a {    display: flex;    align-items: center;  }  .Gnav li a p {    font-size: calc(14px + 2*((100vw - 375px) / 405));  }  .acd-btn {  display: flex;  align-items: center;  padding-left: 5%;  gap: 10px;}.acd-btn::after {    /* fontawesomeアイコンを表示 */    content: '\2b';    font-weight: 900;    font-family: "Font Awesome 6 Free";    display: inline-block;    position: absolute;    right: 5%;    width: 10px;    aspect-ratio: 1/1;    color: #333;}    .acd-btn.is-open::after {    /* fontawesomeアイコンを表示 */    content: '\f068';}.hamburger-window__link img {  max-width: 30px;  object-fit: contain;}.hamburger-window__link > a {  display: flex;  text-align: left;  padding-left: 5%;  position: relative;  gap: 10px;}.acd>.acd__item {    position: relative;    text-align: left;    width: 100%;    /* 閉じている状態 */    border-top: 0 #ccc solid;    line-height: 0;    /* 閉じるアニメーション */    transition:        border-top .1s ease-out,}.acd.is-open>.acd__item {    /* 開くアニメーション */    transition:        border-top .1s ease-out,}.acd.is-open>.acd__item:first-child {    border-top: none;}.acd>.acd__item>.acd__link {    display: block;    padding-left: 10%;    /* 閉じている状態 */    padding-top: 0;    padding-bottom: 0;    line-height: 0;    opacity: 0;    visibility: hidden;    /* 閉じるアニメーション */    transition:        padding-top .3s ease-out,        padding-bottom .3s ease-out,        line-height .3s ease-out,        opacity .1s linear,        visibility .1s linear;  font-size: calc(14px + 4*((100vw - 375px) / 1545));  font-weight: 500;}.acd.is-open>.acd__item>.acd__link {    display: block;    padding-left: 10%;    padding-top: 10px;    padding-bottom: 10px;    line-height: 1.5;    opacity: 1;    visibility: visible;    /* 開くアニメーション */  font-size: calc(14px + 4*((100vw - 375px) / 1545));  font-weight: 500;}  .TopImg {    display: none;  }  .sp-TopImg {    display: block;    padding-top: min(80px, 15vw);  }}@media(max-width:540px) {  .logo {    display: block;  }}/*symptoms*/.symptoms {  text-align: center;  background-image: url("../../img/Common-bg01.jpg");  padding-bottom: 200px;  overflow: hidden;  position: relative;}.dc-bird01 {  position: absolute;  top: 0;  right: 0;  width: 50px;  height: 50px;  animation: bird01 10s infinite;}@keyframes bird01 {  0% {    transform: translateX(10vw) translateY(1200px);    opacity: 1;}10% {    transform: translateX(-13vw) translateY(1000px);}40% {    transform: translateX(-40vw) translateY(800px);}70% {    transform: translateX(-75vw) translateY(800px);}100% {    transform: translateX(-100vw) translateY(1000px);    opacity: 1;}}.dc-bird02 {  position: absolute;  top: 0;  left: 0;  width: 50px;  height: 50px;  animation: bird02 10s infinite;}@keyframes bird02 {  0%{  transform: translateX(0) translateY(500px);    opacity: 1;}25% {    transform: translateX(20vw) translateY(400px) rotate(20deg);}50% {    transform: translateX(50vw) translateY(600px) ;}75% {    transform: translateX(70vw) translateY(700px) rotate(10deg);}100% {    transform: translateX(100vw) translateY(1000px);    opacity: 1;}}.dc-bird03 {  position: absolute;  top: 0;  right: 0;  width: 50px;  height: 50px;  animation: bird03 10s infinite;}@keyframes bird03 {  0% {    transform: translateX(10vw) translateY(300px);    opacity: 1;}20% {    transform: translateX(-13vw) translateY(250px);}60% {    transform: translateX(-40vw) translateY(250px);}80% {    transform: translateX(-75vw) translateY(100px);}100% {    transform: translateX(-100vw) translateY(200px);    opacity: 1;}}.S-title {  display: inline-block;  border-image-source: url("../../img/line01.png");  border-image-slice: 0 0 100 0;  border-image-width: auto;  padding-bottom: 20px;  margin: 60px 0 60px;}.symptoms ul {  width: min(90%,790px);  margin: 0 auto;  display: grid;  grid-template-columns: 15% 2% 15% 2% 15% 2% 15% 2% 15% 2% 15%;  grid-template-rows: repeat(3, 1fr);  grid-row-gap: 15px;  position: relative;  z-index: 10;}.symptoms ul li {  max-width: 230px;  height: auto;  border: 8px solid;  border-radius: 50px;  padding: 20px 0px;  background-color: #fff;  display: grid;  place-content: center;  place-items: center;}.symptoms ul li:first-child {  grid-area: 1 / 1 / 2 / 4;  border-color: #E7D4AE;}.symptoms ul li:nth-child(2) { grid-area: 1 / 5 / 2 / 8;  border-color: #ADBDE1;}.symptoms ul li:nth-child(3) { grid-area: 1 / 9 / 2 / 12;  border-color: #D4EFC7;}.symptoms ul li:nth-child(4) { grid-area: 2 / 3 / 3 / 6;  border-color: #F7E997;}.symptoms ul li:nth-child(5) {  grid-area: 2 / 7 / 3 / 10;   border-color: #93CFD5;}.symptoms ul li:nth-child(6) {  grid-area: 3 / 1 / 4 / 4;  border-color: #D8B4D8;}.symptoms ul li:nth-child(7) {  grid-area: 3 / 5 / 4 / 8;   border-color: #EFA1A1;}.symptoms ul li:nth-child(8) {  grid-area: 3 / 9 / 4 / 12;  border-color: #5782B7    ;}.si-title {  font-size: calc(16px + 8 * ((100vw - 375px) / 1545));}.SI-img {  width: min(165px,100%);  max-height: 160px;  height: 20vw;  margin: 0 auto;}.symptoms ul li img {  width: 100%;  height: 100%;  object-fit: contain;}.SI-btn {  margin-top: 3%;}.S-btn {  display: inline-block;  padding: 2px 5%;  background-color: #3F61B7;  color: #fff;  border-radius: 20px;  min-width: 75px;}.S-btn:hover {  cursor: pointer;}.S-btn p {  color: #fff;  font-size: calc(10px + 4*((100vw - 375px) / 1545));}.symptoms-Cloud {  background-image: url("../../img/cloud01.png");  background-repeat: no-repeat;  background-size: 100% 100%;  background-position: center;  margin: 60px auto;  width: min(630px, 90%);  height: min(200px, 45vw);  padding-top: 20px;  position: relative;}.symptoms-Cloud::before {  content: "";  position: absolute;  background-image: url("../../img/dc-cloud.png");  background-size: 100% 100%;  background-repeat: no-repeat;  width: min(220px, 35%);  height: min(150px, 80%);  top: -42%;  left: -18vw;  animation: fuwafuwa 3s ease-in-out infinite alternate;}.symptoms-Cloud::after {  content: "";  position: absolute;  background-image: url("../../img/dc-cloud02.png");  background-size: 100% 100%;  background-repeat: no-repeat;  width: min(220px, 35%);  height: min(150px, 80%);  bottom: -60%;  right: -18vw;  animation: fuwafuwa02 3s ease-in-out infinite alternate;  overflow: hidden;}@keyframes fuwafuwa {  0% {    transform: translateY(-10px);  }  100% {    transform: translateY(10px);  }}@keyframes fuwafuwa02 {  0% {    transform: translateY(10px);  }  100% {    transform: translateY(-10px);  }}.symptoms-Cloud h2 {  font-size: calc(15px + 6*((100vw - 375px) / 1545));  margin-top: 10px;}.SC-btn {  margin-top: 5px;  padding: 1% 3%;  font-size: calc(14px + 4*((100vw - 375px) / 1545));}.SB-wrap {  width: min(99%,1080px);  margin: 0 auto;  display: grid;  grid-template-columns: 1fr 4fr;  grid-template-rows: 1.5fr 1fr;  grid-column-gap: 10px;  align-items: center;}.SB-wrap img {  grid-area: 1 / 1 / 3 / 2;; }.zebra {  animation: jump 0.1s infinite ease-in-out;  animation-duration: 0.8s;  animation-direction: alternate;  z-index: 10;}@keyframes jump{  0% {     transform:translate(0%, 15px) rotateX(20deg);  }  100% {     transform:translate(0%, 0%);   }}.symptoms-Bubble {  grid-area: 1 / 2 / 2 / 5;  background-image: url("../../img/bubble01.png");  background-repeat: no-repeat;  background-size: 100% 100%;  background-position: left;  aspect-ratio: 583/122;  position: relative;  width: min(800px, 100%);}.symptoms-BubbleText {  position: absolute;  top: 50%;  left: 53%;  transform: translateX(-50%) translateY(-50%);  width: 100%;}.symptoms-BubbleText h2 {  font-size:  clamp(1.125rem, 0.75rem + 1.88vw, 3rem);}.symptoms-BubbleText p {  font-size: calc(14px + 7 * ((100vw - 375px) / 1545));  line-height: 1.2;  margin-top: 3px;}/*モーダル*/.modal-container{  position: fixed;  top: 0;  left: 0;  width: 100%;  height: 100%;  text-align: center;  background: rgba(0,0,0,50%);  padding: 40px 20px;  overflow: auto;  opacity: 0;  visibility: hidden;  transition: .3s;  box-sizing: border-box;  z-index: 9999;}/*モーダル本体の擬似要素の指定*/.modal-container:before{  content: "";  display: inline-block;  vertical-align: middle;  height: 100%;}/*モーダル本体に「active」クラス付与した時のスタイル*/.modal-container.active{  opacity: 1;  visibility: visible;}/*モーダル枠の指定*/.modal-body{  position: relative;  display: inline-block;  vertical-align: middle;}/*モーダル内のコンテンツの指定*/.modal-content{  background: #fff;  text-align: left;  padding: 5%;  gap: 20px;  width: min(770px, 80vw);  align-items: center;  box-shadow: 0px 0px 0px 20px #fff;  border: dashed 2px #3F61B7;}.modal-content h4 {  margin-bottom: 20px;  font-size: 2.0rem;}.modal-content p {  margin-bottom: 20px;}/*モーダルを閉じるボタンの指定*/.modal-close{  cursor: pointer;  background-color: #3F61B7;  color: #fff;  border-radius: 20px;  width: 140px;  margin: 0 auto;  text-align: center;  padding-top: 5px;  padding-bottom: 5px;}@media(max-width:780px) {  .symptoms {    padding-bottom: 15vw;  }  .SB-wrap {    display: block;  }  .SB-wrap img {    width: min(150px,25%);    display: block;    z-index: 1;    position: relative;  }  .symptoms-Bubble {    background-image: url("../../img/sp-bubble01.png");    aspect-ratio: 770 / 250;    max-width: 600px;    margin: 0 auto;  }  .symptoms-BubbleText {    top: 38%;    left: 50%;  }  .symptoms-BubbleText h2 {    font-size: calc(15px + 10 * (100vw - 375px) / 405);  }  .modal-container {    padding: 30% 20px;  }}@media(max-width:540px) {  .symptoms ul li {    border: 5px solid;    border-radius: 30px;  }}/*view*/.view {  text-align: center;  background-color: #FCFCCE;  padding-bottom: 180px;}.Bg-Top {  position: relative;}.Bg-Top img {  position: absolute;  left: 0;  bottom: -1px;  width: 100%;}.dc-town {  position: absolute;  transform: translateY(-100%);  left: 0;  width: min(500px, 40%);}.dc-townRight {  left: auto;  right: 0;  transform: translateY(-120%);}.view h1 {  background-image: url("../../img/title-pink.png");  background-repeat: no-repeat;  background-size: contain;  color: #fff;  display: inline-block;  padding: 7px 30px 20px;  margin-bottom: 20px;}.view h2 {  position: relative;  max-width: 96%;  margin: 0 auto;}.view h2::before {  display: inline-block;  vertical-align: middle;  content: '';  width: 10px;  height: 10px;  background: #4c4d4c;  border-radius: 50%;  margin-right: 5px;  transform: translateY(-3px);}.view h3 {  padding-top: 20px;}.view h3 {  display: inline-block;  border-image-source: url("../../img/line02.png");  border-image-slice: 0 0 100 0;  border-image-width: auto;  padding-bottom: 10px;  margin: 20px auto 40px}.viewitem {  width: min(890px, 97%);  margin: 0 auto;  text-align: left;  counter-reset:number; /*数字をリセット*/  list-style-type: none!important; /*数字を一旦消す*/  padding:0;}.viewitem li {  background-color: #fff;  padding: 6px 0 6px 7.5%;  margin-top: 5px;  border-radius: 50px;  border: 3px solid #FE9C86;  position: relative;  line-height: 1.5;  margin-bottom: 10px;  font-size: 2.0rem;}.viewitem li:before{  /* 以下数字をつける */  position: absolute;  counter-increment: number;  content: counter(number);  /*数字のデザイン変える*/  display:inline-block;  color: #fff;  font-weight:bold;  font-size: 3.2rem;  top: 50%;  -webkit-transform: translateY(-50%);  transform: translateY(-50%) translateX(-7%);  left: 0;  width: 7%;  height: 110%;  border-radius: 50%;  line-height: 1.5;  text-align: center;  background-color: #FE9C86;}.viewitem li p {  font-size: calc(15px + 6*((100vw - 375px) / 1545));}.view-Bubble {  display: grid;  width: min(95%, 960px);  margin: 30px auto;  grid-template-columns: 80% 20%;  grid-template-rows: auto;  align-items: center;}.view-Bubble p {  background-image: url(../../img/bubble02.png);  background-repeat: no-repeat;  background-size: 100% 100%;  background-position: center;  padding: 9% 9% 10% 5%;  text-align: left;  font-size: calc(12px + 8 * ((100vw - 375px) / 1545));}.view-Link {  padding: 1em 0.5em;  margin: 20px auto 10%;  background: #fff;  box-shadow: 0px 0px 0px 10px #fff;  border: dashed 2px #F17481;  border-radius: 8px;  width: min(750px, 90%);  position: relative;}.view-Link::after {  position: absolute;  content: "";  background-image: url("../../img/jellyfish.png");  background-repeat: no-repeat;  background-size: contain;  bottom: -20%;  left: -25px;  width: min(90px, 16%);  height: min(150px, 100%);  animation: fuwafuwa03 2s ease-in-out infinite alternate;  z-index: 100;}@keyframes fuwafuwa03 {  0% {    transform: translateY(5px);  }  100% {    transform: translateY(-5px);  }}.view-Link h4 {  font-size: calc(16px + 4*((100vw - 375px) / 1545));  padding-top: 10px;  margin-bottom: 10px;}.view-LinkBtn {  background-color: #FE9C86;  display: inline-block;  padding: 2px 40px 2px 15px;  color: #fff;  border-radius: 20px;  font-size: calc(12px + 2*((100vw - 375px) / 1545));  position: relative;}.cause {  width: min(900px, 90%);  margin: 0 auto;  background-color: #fff;  border-radius: 10px 50px / 50px 10px;  padding-top: 20px;  padding-bottom: 20px;  position: relative;  z-index: 100;}.cause p {  width: 95%;  margin: 0 auto 20px;}.rootgearmodel {  width: min(90%, 600px);  position: relative;  z-index: 100;  margin: 0 auto;}@media(max-width:780px) {  .view {    padding-bottom: 20vw;  }  .view h3 {    border-image: none;  }  .view-Bubble {    display: block;  }  .view-Bubble p {    background-image: url("../../img/sp-bubble02.png");    max-width: 98%;    margin: 0 auto;    background-size: 100% 100%;    background-position: center;    padding: 4% 5%;    text-align: left;    aspect-ratio: 1000 / 324;    font-size: calc(14px + 2*(100vw - 375px) / 405);    height: min(270px, 80vw);  }  .view-Bubble img {    width: min(200px, 30%);    display: block;    margin-left: auto;  }  .viewitem {    display: grid;    grid-template-columns: 1fr;    grid-template-rows: repeat(3, 1fr);    width: min(570px, 97%);  }  .viewitem li {    padding: inherit;    text-align: center;    place-content: center;    width: min(650px, 98%);    margin: 0 auto 6.5vw;  }  .viewitem li p {    padding: 5px;  }  .viewitem li::before {    top: -7px;    transform: translateY(-50%) translateX(-1%);    line-height: 1;    width: min(50px, 10.5vw);    height: min(45px, 9vw);    padding-top: 6px;    font-size: calc(26px + 6 * ((100vw - 375px) / 405));  }  .view-Link::after {    width: min(90px, 20%);    bottom: -100px;  }}@media(max-width:540px) {  .rootgearmodel {    width: 95%;  }}.start {  background-image: url("../../img/Bg-start.png");  background-size: 100%;  background-repeat: repeat;  text-align: center;  padding-bottom: 18vw;  position: relative;}.dc-tree01 {  position: absolute;  top: 0;  transform: translateY(-100%);  right: 0;  width: min(250px, 40%);}.dc-treeS1 {  position: absolute;  top: 500px;  left: 0;  transform: translateX(20%);  width: min(120px, 20%);}.dc-treeS2-1 {  position: absolute;  top: 1500px;  right: 0%;  transform: translateX(-20%);  width: min(140px, 20%);}.dc-treeS2-2 {  position: absolute;  bottom: 1000px;  left: 0%;  transform: translateX(20%);  width: min(140px, 20%);}.start img {}.start h1 {  color: #fff;  background-image: url("../../img/title-beige01.png");  background-repeat: no-repeat;  background-size: 100% 100%;  display: inline-block;  width: min(675px, 90%);  padding: 7px 0;  margin-bottom: 20px;  z-index: 100;  position: relative;}.Bg-startTop {  position: relative;}.Bg-startTop img {  position: absolute;  left: 0;  bottom: -1px;  width: 100%;}.stageBox {  width: min(98%,960px);  margin: 0 auto;  display: grid;  grid-template-columns: 30% 34% 34%;  grid-template-rows: auto;  justify-content: center;  margin-bottom: 130px;  margin-top: 20px;}.box-title {  display: inline-block;  line-height: 1;  font-size: 3.5rem;  color: #93cfd5;  font-weight: bold;}.box-title02 {  color: #fbb03b;    }.box-title03 {  color: #fb8585;}.SB-01 {  grid-area: 1 / 1 / 2 / 2;   position: relative;}.SB-01::before {  position: absolute;  content: "";  background-image: url(../../img/stage01.png);  width: 105%;  height: 100%;  top: 0;  left: 0;  background-repeat: no-repeat;  background-size: 100% 100%;}.SB-title01 {  position: relative;  left: 4%;  transform: translateX(-18%);  top: 0%;}.SB-02 {  grid-area: 1 / 2 / 2 / 3;  position: relative;}.SB-02::before {  position: absolute;  content: "";  background-image: url("../../img/stage02.png");  width: 112%;  height: 100%;  top: 0;  left: -23px;  background-repeat: no-repeat;  background-size: 100% 100%;}.SB-title02 {  position: relative;  left: 7%;  transform: translateX(-38%);  top: 1%;}.SB-03 {  grid-area: 1 / 3 / 2 / 4;  position: relative;}.SB-03::before {  position: absolute;  content: "";  background-image: url("../../img/stage03.png");  width: 112%;  height: 100%;  top: 0;  left: -30px;  background-repeat: no-repeat;  background-size: 100% 100%;}.SB-title03 {  position: relative;  left: 7%;  transform: translateX(-34%);  top: 1%;}.stageBoxText {  position: relative;  z-index: 1;  padding-top: 20px;  font-size: calc(15px + 5 * ((100vw - 375px) / 1545));}.stageContent {  display: grid;  grid-template-areas:     "itemImg itemTitle"    "itemImg itemText";  grid-template-columns: 30% 70%;  grid-template-rows: 90px 120px;  grid-column-gap: 1%;  grid-row-gap: 5px;  align-items: center;  padding: 10px 20px 30px 30px;  justify-content: center;  position: relative;  z-index: 1;}.SC-01 {  padding-left: 15px;}.stageContentText p {  color: #93CFD5;  font-size: calc(15px + 3 * ((100vw - 375px) / 1545));  line-height: 1.5;}.stageContentText02 p {  color: #fbb03b;}.stageContentText03 p {  color: #fb8585;}.l-letter {  font-size: 2.8rem;}.stageContent img {  grid-area: itemImg;  width: 100%;  height: 100%;  object-fit: contain;  margin: 0 auto;  align-self: flex-end;}.stageContent h5 {  grid-area: itemTitle; }.stageContentText {  grid-area: itemText;}.stageContentText01 p:last-child,.stageContentText02 p:last-child {  text-align: right;  padding-right: 25px;}.stageLabel {  background-color: #93CFD5;  border-radius: 5px;  color: #fff;  width: min(75%, 120px);  margin: 0 auto;  place-self: baseline;  line-height: 1.6;  padding: 7% 10% 4%;}.stageLabel02{  background-color: #FBB03B;}.stageLabel03{  background-color: #FB8585;}.TD {  width: min(85%,900px);  background-color: #fff;  margin: 0 auto;  padding: 3%;  box-shadow: 0px 0px 0px 10px #fff;  border: dashed 2px #93CFD5;  border-radius: 8px;  text-align: left;  margin-bottom: 120px;  position: relative;  z-index: 100;}.TD::before {  position: absolute;  content: "";  background-image: url("../../img/flag01.png");  background-repeat: no-repeat;  background-size: contain;  top: 0;  transform: translateY(-75%);  left: 0;  width: min(220px, 55%);  height: 115px;}.TD-01 {  border: dashed 2px #FEC367;}.TD-01::before {  background-image: url("../../img/flag02.png");}.TD-02 {  border: dashed 2px #FB8585;}.TD-02::before {  background-image: url("../../img/flag03.png");}.TD-02text {  display: flex;  gap: 10px;  align-items: flex-start;}.TD-02text p {  width: 60%;}.TD-02text img {  width: min(350px, 80%);  object-fit: contain;  display: block;  margin: 0 auto;}.SB-headline {  font-size: calc(17px + 4*((100vw - 375px) / 1545));  margin-bottom: 20px;  margin-top: 10px;}.DB-subtitle{  position: relative;  display: inline-block;  padding-left: 40px;  margin-bottom: 15px;  font-size: calc(17px + 2 * ((100vw - 375px) / 1545));}.DB-subtitle::after {  position: absolute;  content: "";  left: 16px;  bottom: -3px;  width: 98%;  height: 3px;  background-color: #93CFD5;  border-radius: 5px;}.DB-subtitle::before {  position: absolute;  content: "1";  display:inline-block;  background: #93CFD5;  color: #fff;  font-size: 2.0rem;  border-radius: 50%;  left: 0;  width: 35px;  height: 35px;  line-height: 35px;  text-align: center;  /*以下 上下中央寄せのため*/  top: 50%;  -webkit-transform: translateY(-50%);  transform: translateY(-50%);}.DB-subtitle.DB-02::before{  content: "2";}.detailsBox li {  margin-bottom: 20px;}.details-item {  display: flex;  gap: 5%;  text-align: center;  padding-left: 3%;  margin-bottom: 15px;}.details-item p {  font-size: 1.4rem;}.details-item img {  width: auto;}@media(max-width:780px) {  .start {    padding-bottom: 10vw;  }  .stageBox {    display: block;    max-width: 540px;    z-index: 100;    position: relative;  }  .stageLabel {    width: min(70%,150px);    padding: 5% 10% 2% 10%;  }  .box-title {    font-size: 2.6rem;    padding-top: 20px;  }  .SB-title01, .SB-title02, .SB-title03 {    left: 0;    transform: none;    top: auto;    display: block;    margin: 0 auto;    text-align: center;    z-index: 100;  }  .SB-title02, .SB-title03 {    padding-top: 10vw;  }  .stageBoxText {    padding-top: 10px;  }  .stageContent {    grid-template-columns: 35% 65%;    grid-template-rows: 40px 70px;    padding: 10px 15px 5px 15px;    max-width: 340px;    margin: 0 auto;  }  .SB-01 {    background-color: #fff;    clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 7vw), 50% 100%, 0 calc(100% - 7vw));    border-radius: 5px;    padding-bottom: 10px;  }  .SB-01::before {    background-image: none;    content: "";    display: block;    width: 97%;    height: calc(100% - 12px);    top: 7px;    left: 0;    right: 0;    margin: auto;    background-color: rgb(147, 207, 213);    clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 7vw), 50% 100%, 0 calc(100% - 7vw));    border-radius: 5px;    position: absolute;  }  .SB-01::after {    content: "";    display: block;    width: 95%;    height: calc(100% - 20px);    top: 11px;    left: 0;    right: 0;    margin: auto;    background-color: #fff;    clip-path: polygon(0% 0%, 100% 0, 100% calc(100% - 7vw), 50% 100%, 0 calc(100% - 7vw));    border-radius: 5px;    position: absolute;  }  .SB-btnText {    position: relative;    z-index: 100;  }  .SB-btn,.SB-btnBottom {    display: block;    background-color: rgb(147, 207, 213);    width: 40px;    height: 40px;    border-radius: 50%;    margin: 0 auto 10px;    position: relative;    z-index: 100;  }  .SB-btnBottom {    margin: 10px auto;  }  .SB-btn::before, .SB-btn::after {    position: absolute;    content: '';    top: 50%;    right: 0;    left: 0;    margin: auto;    width: 20px;    height: 2px;    background-color: #fff;    transition: all .3s ease-in-out;    border-radius: 20px;  }  .SB-btn::before {    transform: rotate(90deg);  }  .SB-btnBottom::before {    position: absolute;    content: '';    top: 50%;    right: 0;    left: 0;    margin: auto;    width: 20px;    height: 2px;    background-color: #fff;    transition: all .3s ease-in-out;    border-radius: 20px;  }  .SB-btn.open::before {    transform: rotate(180deg);  }  .SB-btn.open::after {    opacity: 0;  }  .sp-SB-01 {    display: none;    position: relative;    z-index: 100;    width: min(95%, 900px);    margin: 0 auto;    padding: 0 4%;    text-align: left;}  .SB-02 {    clip-path: polygon(0% 0%,50% calc(0% + 7vw),100% 0%,100% calc(100% - 7vw),50% 100%,0% calc(100% - 7vw));    background-color: #fff;    border-radius: 5px;    padding-bottom: 10px;    margin-top: -5vw;  }  .SB-02::before,.SB-03::before {    background-image: none;    content: "";    display: block;    width: 97%;    height: calc(100% - 12px);    top: 7px;    left: 0;    right: 0;    margin: auto;    background-color: #fbb03b;    clip-path: polygon(0% 0%,50% calc(0% + 7vw),100% 0%,100% calc(100% - 7vw),50% 100%,0% calc(100% - 7vw));    border-radius: 5px;    position: absolute;  }  .SB-02::after,.SB-03::after {    content: "";    display: block;    width: 95%;    height: calc(100% - 20px);    top: 11px;    left: 0;    right: 0;    margin: auto;    background-color: #fff;    clip-path: polygon(0% 0%,50% calc(0% + 7vw),100% 0%,100% calc(100% - 7vw),50% 100%,0% calc(100% - 7vw));    border-radius: 5px;    position: absolute;  }  .SB-03::before, .SB-btn03{    background-color: #FB8585;  }  .sp-SB-02 {    display: none;    position: relative;    z-index: 100;    width: min(95%, 900px);    margin: 0 auto;    padding: 0 4%;    text-align: left;  }  .SB-btn02 {    background-color: #fbb03b;  }  .SB-03 {    clip-path: polygon(0% 0%, 50% calc(0% + 7vw), 100% 0%, 100% calc(100% - 7vw), 50% 100%, 0% calc(100% - 7vw));    background-color: #fff;    border-radius: 5px;    padding-bottom: 10px;    margin-top: -5vw;  }  .stageContentText p {    line-height: 1;  }  .TD-02text {    display: block;  }  .TD-02text p {    width: 100%;  }  .details-item {    display: block;    padding-left: 0;  }  .details-item div:first-of-type {    margin-bottom: 20px;  }  .details-item img {    width: min(250px,70%);  }}.feature {  background-image: url("../../img/Bg-feature.png");  background-repeat: no-repeat;  background-size: 100% 100%;  text-align: center;  padding-bottom: 180px;  position: relative;}.dc-tree02 {  position: absolute;  top: 0;  transform: translateY(-100%);  right: 0;  width: min(380px, 40%);}.featureTitle {  background-image: url("../../img/title-blue.png");  background-repeat: no-repeat;  background-size: contain;  color: #fff;  display: inline-block;  padding: 7px 30px 20px;  margin-bottom: 20px;  position: relative;  z-index: 100;}.featureContents {  display: flex;  justify-content: center;  width: min(95%, 960px);  margin: 0 auto 60px;  gap: 10px;}.FI-01 {  position: relative;}.feature h2 {  font-size: calc(12px + 4 * ((100vw - 375px) / 1545));  position: absolute;  left: 3px;  top: 20px;  color: #fff;  text-align: left;}.feature-item{  width: 50%;  aspect-ratio: 250 / 141;  margin: 0 auto;}.feature-Bubble {  display: flex;  flex-direction: row-reverse;  justify-content: center;  align-items: flex-start;  margin: 20px auto;  gap: 10px;  width: min(98%,1150px);}.FB-img {  position: relative;}.FB-img::before {  content: "";  position: absolute;  background-image: url("../../img/lion-hand.png");  background-repeat: no-repeat;  background-size: 100% auto;  top: 120px;  left: 47%;  width: min(50px, 20%);  height: min(80px, 100%);  animation: monkey 2s linear infinite;  transform-origin: left top;}.FB-img img {  width: min(80%, 250px);}.fb-item {  background-image: url(../../img/bubble03.png);  background-repeat: no-repeat;  background-size: 100% 100%;  background-position: left;  width: 100%;  aspect-ratio: 936 / 136;}.feature-Bubble p {  font-size:calc(17px + 2 * ((100vw - 780px) / 1140));  padding: 2% 1% 2% 6%;}@media(max-width:780px) {  .feature {    padding-bottom: 130px;  }  .featureContents {    display: block;  }  .feature-item {    width: min(450px, 90%);  }  .feature-Bubble {    display: grid;    grid-template-areas:        ". item1"        "item2 item1"        "item2 .";    grid-template-columns: 25% 75%;    grid-template-rows: 20% 70% 10%;    gap: 5px;    }  .fb-item {    background-image: none;    grid-area: item1;    align-self: flex-start;    position: relative;    width: 98%;  }  .fb-item::before {    content: "";    position: absolute;    background-image: url("../../img/sp-bubble03.png");    background-size: 100% 100%;    top: 50%;    left: 50%;    width: 98%;    height: 120%;    transform: translate(-51%, -50%);  }  .feature-Bubble p {    width: min(470px, 80%);    margin: 0 auto;    font-size:calc(14px + 4 * ((100vw - 375px) / 405));    padding: 2% 0% 2% 0%;    position: relative;}  .feature-Bubble img {    width: 100%;    margin-top: 10px;    margin-right: auto;    text-align: left;    display: block;  }   .FB-img {    grid-area: item2;    align-self: flex-end;  }  .FB-img::before {    top: 52%;  }  .dc-tree02 {    width: min(260px,43%);  }}@media(max-width:450px){  .feature {    padding-bottom: 80px;  }  .FB-img::before {    left: 50%;    width: min(30px, 20%);  }  }.reason {  background-image: url("../../img/Bg-reason.png");  background-repeat: repeat;  background-size: auto;  margin: 0 auto;  text-align: center;  padding-bottom: 15vw;}.reason h1 {  font-size: calc(20px + 10 * ((100vw - 375px) / 1545));  padding-top: 50px;}.titleLast {  font-size: clamp(40px, calc(2.5rem + ((1vw - 3.75px) * 2.589)), 80px);}.titleNumber {  background-color: #365298;  border-radius: 50%;  padding: 1px 12px 5px;  font-size: clamp(45px, calc(2.8125rem + ((1vw - 3.75px) * 2.589)), 85px);  color: #fff;}.titleSmall {   font-size: clamp(30px, calc(1.875rem + ((1vw - 3.75px) * 2.2006)), 64px);}.reasonWrap {  display: grid;  grid-template-columns: repeat(2, 47%);  grid-template-rows: 1fr 1fr max-content 1fr;  padding-bottom: 100px;  grid-column-gap: 6%;  grid-row-gap: 1%;  width: min(95%, 960px);  margin: 40px auto 0;}.reasonItem span {   font-size: calc(42px + 8 * ((100vw - 375px) / 1545));}.reasonItem h2 {  max-width: 80%;  margin: 0 auto 20px;  line-height: 4rem;}.reasonItem p {  text-align: left;}.ri-01:not(p) { color: #FB4488; }.reasonItem h2:after {  background-color: #FB4488;  border-radius: 5px;  content: "";  display: block;  height: 3px;}.reasonItem h2:before {  background-color: #FB4488;  border-radius: 5px;  content: "";  display: block;  height: 3px;}.ri-02:not(p) { color: #70C0FF; }.ri-02 h2::before, .ri-02 h2::after{  background-color: #70c0ff;}.ri-03:not(p) { color: #39D954; }.ri-03 h2::before, .ri-03 h2::after{  background-color: #39D954;}.ri-04:not(p) { color: #FF732C; }.ri-04 h2::before, .ri-04 h2::after{  background-color: #FF732C;}.ri-05:not(p) { color: #5182FE; }.ri-05 h2::before, .ri-05 h2::after{  background-color: #5182FE;}.ri-06:not(p) { color: #FFA0C8; }.ri-06 h2::before, .ri-06 h2::after{  background-color: #FFA0C8;}.ri-07:not(p) { color: #60D5AD; }.ri-07 h2::before, .ri-07 h2::after{  background-color: #60D5AD;}.ri-08:not(p) { color: #BAA27D; }.ri-08 h2::before, .ri-08 h2::after{  background-color: #BAA27D;}.reasonImg {  max-width: 375px;  width: 70%;  aspect-ratio: 375 / 343;  justify-self: center;  margin: 0 auto;}@media(max-width:780px) {  .reason {    padding-bottom: 25vw;  }  .reasonWrap {    display: block;    margin-top: 20px;    padding-bottom: 0;  }  .reasonItem {    margin-bottom: 20px;  }  .reasonImg {    width: min(300px,60%);  }  .reasonItem h4 {    font-size: calc(18px + 6*((100vw - 375px) / 405));    width: min(350px, 75%);    max-width: none;  }  .reasonItem p {    width: min(600px, 95%);    margin: 0 auto;  }}.qa {  background-image: url("../../img/Bg-qa.png");  background-repeat: repeat;  background-size: auto;  text-align: center;  padding-bottom: 330px;  position: relative;}.dc-forest01 {  position: absolute;  top: 0;  transform: translateY(-85%);  right: 0;  width: min(380px, 33%);}.qa h1 {  color: #fff;  background-image: url(../../img/title-blue02.png);  background-repeat: no-repeat;  background-size: 100% 100%;  display: inline-block;  margin-bottom: 20px;  margin-top: 50px;  width: min(600px, 96%);  padding: 1%;  position: relative;  z-index: 100;}.details {  width: min(90%, 850px);  margin: 0 auto;  border-radius: 50px;  z-index: 1;  position: relative;  padding-bottom: 10px;}.details-summary {  position: relative;  display: block;  padding: 2% 11% 2% 9%;  color: #fff;  font-size: clamp(20px, calc(1.25rem + ((1vw - 3.75px) * 0.3883)), 26px);  text-align: left;  background-color: #3F61B7;  border-radius: 20px;  margin-top: 30px;}.details-summary.is-active {  border-radius: 20px 20px 0 0;}.details-summary:hover {    cursor: pointer;}.qaTitle {  position: relative;}.qaTitle::before {  position: absolute;  content: "";  background-image: url("../../img/qa.png");  background-size: contain;  background-repeat: no-repeat;  left: 0;  top: 0;  transform: translateX(27%) translateY(-35%);  text-align: center;  width: min(70px,7%);  height: 70px;  z-index: 100;}.qaTitleLast::before {  top: 15%;}.details-summary .btn {  position: absolute;  top: 50%;  right: 3%;  transform: translateY(-50%);  width: min(18px, 2vw);  height: min(18px, 2vw);  transform-origin: center center;  transition-duration: 0.2s;  background-color: #fff;  padding: 7px;  border-radius: 50%;}.details-summary .btn:before, .details-summary .btn:after {    content: "";    background-color: #3F61B7;    border-radius: 10px;    width: min(18px, 70%);    height: min(4px, 14%);    position: absolute;    top: 50%;    left: 50%;    transform: translateX(-50%) translateY(-50%);    transform-origin: center center;}.details-summary .btn:before {    width: min(4px, 14%);    height: min(18px, 70%);    top: 50%;    left: 50%;    transform: translateY(-50%) translateX(-50%);}.details-summary.is-active .btn {    -webkit-transform: rotate(-180deg);    transform: rotate(-180deg) translateY(50%);}.details-summary.is-active .btn:before {    content: none;}.details-summary::-webkit-details-marker {    display: none;}.details-content p {  margin: 0 0 20px;  text-align: left;  background-color: #fff;  border-radius: 0 0 20px 20px;  padding: 2%;  position: relative;}.giraffe {  position: absolute;  bottom: 0;  right: 7vw;  width: min(200px, 22%);  z-index: 100;  animation: giraffe 4s ease-in-out infinite;}@keyframes giraffe { 0% {    transform: translateY(0);  }  10% {    transform: translateY(-10px);  }  20% {    transform: translateY(0);  }  30% {    transform: translateY(-10px);  }  40% {    transform: translateY(0);  }}@media(max-width:780px){  .qa {    padding-bottom: 40%;  }  .details-summary {    font-size: calc(16px + 4*((100vw - 375px) / 405));  }}@media(max-width:540px) {  .qaTitle::before {    transform: translateX(0%) translateY(-35%);    width: min(60px, 10%);  }}.others {  background-image: url("../../img/Bg-others.png");  background-repeat: no-repeat;  background-size: 100% 100%;  text-align: center;  padding-bottom: 22vw;  position: relative;}.dc-forest02 {  position: absolute;  top: 0;  transform: translateY(-100%);  left: -2%;  width: min(450px, 40%);}.others-title {  background-image: url(../../img/title-pink02.png);  background-repeat: no-repeat;  background-size: 100% 100%;  width: min(300px,50%);  padding: 10px;  color: #fff;  display: inline-block;  margin-bottom: 20px;  margin-top: 50px;  position: relative;  z-index: 100;}.OC-01 {  display: grid;  grid-template-columns: repeat(2, 1fr);  grid-column-gap: 3%;  grid-row-gap: 1%;  width: min(90%, 960px);  margin: 0 auto;  margin-bottom: 50px;}.OC-01 li, .OC-02 li {  background-color: #fff;  padding: 20px 5%;}.othersImg {  max-width: 375px;  justify-self: center;  margin: 10px auto;}.OC-01 li h2, .OC-02 li h2 {  display: inline-block;  margin-bottom: 20px;  font-size: calc(21px + 8 * ((100vw - 375px) / 1545));}.OC-01 li p, .OC-02 li p {  text-align: left;}.ot-sub {  display: inline-block;  border-image-source: url(../../img/line03.png);  border-image-slice: 0 0 100 0;  border-image-width: auto;  border-image-repeat: round;  padding: 0 5px 15px;  margin: 30px 0 40px;}.OC-02 {  width: min(90%, 960px);  margin: 0 auto;}.OC-02 li {  margin-bottom: 20px;}.OL-box {  display: flex;  gap: 10px;  justify-content: center;  width: min(98%,1100px);  margin: 0 auto;}.OL-boxImg {  position: relative;  width: 22%;}.OL-boxImg::before {  content: "";  position: absolute;  background-image: url("../../img/raccoon-hand.png");  background-repeat: no-repeat;  background-size: 100% auto;  top: 50px;  right: 68%;  width: min(100px, 40%);  height: 100px;  animation: raccoon 2s linear infinite;  transform-origin: right bottom;  z-index: 1;}@keyframes raccoon {  0% , 100%{      transform: rotate(0deg);  }  50%{      transform: rotate(-10deg);  }}.OL-boxImg img {  width: min(80%, 250px);  height: 100%;  aspect-ratio: 320/295;  object-fit: contain;  z-index: 1;}.othersLink {  background-image: url("../../img/board.png");  background-repeat: no-repeat;  background-size: 100% 100%;  padding: 3% 3%;  align-content: center;}.OL-wrap {  display: grid;  grid-template-areas:    ".  OL-wrapTitle ."    "OL-wrapImg01 OL-wrapText OL-wrapImg02"    "OL-wrapImg01 OL-wrapButton OL-wrapImg02";  grid-template-columns: 15% 70% 15%;  grid-column-gap: 0px;  grid-row-gap: 0px;  place-content: center;  place-items: center;}.othersLink h3 {  grid-area: OL-wrapTitle;  font-size: calc(20px + 8 * ((100vw - 375px) / 1545));  color: #FB8585;  text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff,              -2px 2px 0 #fff, 2px -2px 0 #fff,              0px 2px 0 #fff,  0-2px 0 #fff,              -2px 0 0 #fff, 2px 0 0 #fff;}.OL-01 {  grid-area: OL-wrapImg01;  width: 100%;  width: 100px;  height: 110px;}.OL-02 {  grid-area: OL-wrapText;   color: #fff;  font-size: calc(16px + 4*((100vw - 375px) / 1545));  line-height: 1.5;}.OL-03 {  grid-area: OL-wrapButton;  background-color: #FB8585;  color: #fff;  padding: 7px 15%;  border-radius: 20px;  max-width: 260px;  font-size: calc(16px + 2*((100vw - 375px) / 1545));}.OL-04 {  grid-area: OL-wrapImg02;  width: 100px;  height: 110px;}.OL-01 img, .OL-04 img {  object-fit: contain;  width: 100%;  height: 100%;}@media(max-width:780px) {  .others {    padding-bottom: 48vw;  }  .OC-01 {    display: block;    width: min(450px,90%);  }  .OC-01 li {    margin-bottom: 20px;  }  .others h2 {    font-size: calc(18px + 10*((100vw - 375px) / 405));  }  .othersImg {    width: 80%;  }  .OL-box {    display: block;    position: relative;  }  .othersLink {    background-image: url(../../img/sp-board.png);    width: min(520px, 95%);    margin: 0 auto;    padding: 0 5%;  }  .othersLink h3 {    margin-top: 10px;  }  .OL-wrap {    grid-template-areas:    ".  OL-wrapTitle ."    "OL-wrapText OL-wrapText OL-wrapText"    "OL-wrapImg01 OL-wrapButton OL-wrapImg02";    grid-template-rows: 20% 25% 40%;    grid-template-columns: 10% 70% 10%;    max-height: 250px;  }  .OL-01 {    height: min(100px, 85%);  }  .OL-04 {    height: min(100px, 85%);  }  .OL-boxImg {    width: 100%;  }  .OL-boxImg::before {    right: 40px;    width: min(85px, 13%);    height: 80px;    top: 7vw;    margin-right: 17%;  }  .OL-boxImg img {    width: min(33%, 230px);    position: absolute;    height: auto;    top: 90%;    right: 0%;  }}@media(max-width:540px) {  .OL-boxImg img {    top: -20px;  }  .OL-boxImg::before {    height: 60px;    top: 3vw;    right: 24%;    margin-right: 0;  }}.case {  background-image: url("../../img/Bg-case.png");  background-repeat: repeat;  background-size: 100%;  text-align: center;  padding-bottom: 20vw;  position: relative;}.dc-cloud04 {  position: absolute;  transform: translateY(-100%);  top: -30px;  left: -4%;  width: min(450px, 35%);}.dc-cloud03 {  position: absolute;  top: -10vw;  transform: translateY(-85%);  right: 0;  width: min(500px, 35%);}.dc-cloud05 {  position: absolute;  top: -4vw;  transform: translateY(-85%);  right: 22%;  width: min(300px, 15%);}.C-dc-cloud01 {  position: absolute;  top: 250px;  left: 83%;  width: min(300px, 15%);  animation: fuwafuwa 2s ease-in-out infinite alternate;}.C-dc-cloud02 {  position: absolute;  top: 800px;  right: 83%;  width: min(300px, 15%);  animation: fuwafuwa 3s ease-in-out infinite alternate;}.C-dc-cloud03 {  position: absolute;  top: 1200px;  left: 83%;  width: min(300px, 15%);  animation: fuwafuwa 2.5s ease-in-out infinite alternate;}.case h1 {  color: #fff;  background-image: url(../../img/title-blue03.png);  background-repeat: no-repeat;  background-size: 100% 100%;  padding: 8px 0;  display: inline-block;  margin-bottom: 20px;  margin-top: 20px;  width: min(650px, 98%);}.CC-wrap {  position: relative;  z-index: 1;}.case-contents {  background-color: #fff;  width: min(85%, 850px);  margin: 0 auto 30px;  padding: 30px 20px 10px;}.case-contents h2 {  margin-bottom: 20px;  display: inline-block;  font-size: calc(20px + 10 * ((100vw - 375px) / 1545));}.caseImg {  display: flex;  justify-content: center;  gap: 10px;}.accordion{  font-size: 20px;  margin: 20px auto;}/* アコーディオンのタイトル・内容共通 */.accordion_btn,.accordion_content{  display: flex;  align-items: center;  justify-content: center;  padding: 20px;  width: 100%;  font-weight: 400;}/* アコーディオンのタイトル */.accordion_btn {  cursor: pointer;  background-color: #3F61B7;  color: #fff;  position: relative;  margin: 0 auto;  border-radius: 30px;  padding: 10px 30px 10px 10px;  max-width: 150px;  text-align: left;}/* タイトル横のプラスマーク縦線 */.accordion_btn::before{  position: absolute;  content: '';  top: 50%;  right: 25px;  width: 20px;  height: 2px;  background-color:#fff;  transform: rotate(90deg);  transition: all .3s ease-in-out;  border-radius: 20px;}.accordion_btn::after{  position: absolute;  content: '';  top: 50%;  right: 25px;  width: 20px;  height: 2px;  background-color:#fff;  transition: all .3s ease-in-out;  border-radius: 20px;}/* アコーディオンが開いたとき縦線の変化 */.accordion_btn.open::before {  transform: rotate(180deg);}.accordion_btn.open::after {  opacity:0;}.caseTable {  border-collapse: separate;  width: min(95%, 800px);  margin: 20px auto;}.caseTable tr th,.caseTable tr td{  font-size: clamp(16px, calc(1rem + ((1vw - 3.75px) * 0.1294)), 18px);  font-weight: 600;  text-align: left;  border-bottom: 1px solid #333;  padding: 15px 0 15px 20px;}.caseTable tr:last-child th, .caseTable tr:last-child td {  border-bottom: none;}.caseTable tr th {  width: 20%;}.CI2-wrap {  display: flex;  align-items: center;  gap: 2%;}.CI2-wrap h3 {  width: 15%;}.CI2-wrap img {  width: 80%;}@media(max-width:780px) {  .dc-townLeft {    top: 0;    width: min(400px, 50%);  }  .dc-forest03 {    display: none;  }  .case-contents {    padding: 15px 10px 15px;  }  .accordion_btn {    padding: 3px 30px 3px 10px;    max-width: 100px;  }  .accordion_content {    padding: inherit;    padding-top: 20px;  }  .accordion_btn::before,.accordion_btn::after {    width: 15px;    right: 20px;  }  .caseTable tr th, .caseTable tr td {    display: block;    width: 95%;    border: none;    padding: 10px 0 10px 10px;    font-weight: 500;    margin: 0 auto;  }  .caseTable tr th {    background-color: #d3eafb;    border-top: 1px solid #3F61B7;  }  .dc-town02 {    top: -10px;    width: min(300px, 42%);  }  .dc-town03 {    top: -30px;    width: min(300px, 42%);  }}@media(max-width:540px) {  .case-contents h2 {    margin-bottom: 5px;  }  .case-accordion {    display: flex;    justify-content: center;    align-items: center;    flex-direction: column;    margin-top: 10px;  }    .case-accordion p {    font-size: 15px;  }    .case-accordion-icon{    width: 25px;    height: 25px;    border-radius: 50%;    background-color: rgba(147, 207, 213);    display: inline-block;    position: relative;  }  .case-accordion-icon::after {    content: '\f078';    font-weight: 900;    color: #fff;    font-family: "Font Awesome 6 Free";    position: absolute;    top: 50%;    left: 50%;    transform: translateX(-50%) translatey(-50%);  }  .case-accordion.open .case-accordion-icon::after {    content: '\f077';  }  .case-accordion-content {    margin-top: 10px;  }}.puzzle {  background-image: url("../../img/Bg-puzzle.png");  background-size: 100%;  background-repeat: repeat-y;  aspect-ratio: 2400 / 1000 ;  text-align: center;  padding-bottom: 400px;  width: 100%;  position: relative;}.dc-town04 {  position: absolute;  transform: translateY(-100%);  top: -15px;  left: 0;  width: min(450px, 50%);}.puzzle h1 {  color: #fff;  background-image: url("../../img/title-beige02.png");  background-repeat: no-repeat;  background-size: 100% 100%;  padding: 10px 8%;  display: inline-block;  margin-bottom: 20px;  margin-top: 30px;  width: min(530px,80%);  }.puzzleWrap {  display: grid;  grid-template-columns: repeat(6, 1fr);  grid-template-rows: 243px 121px 183px 278px;  max-width: 770px;  margin: 0 auto;  position: relative;}.puzzleWrap::after {  position: absolute;  content: "";  background-image: url("../../img/crocodile.png");  background-size: contain;  background-repeat: no-repeat;  width: min(200px,15%);  height: 160px;  bottom: -10%;  right: 0%;  z-index: 100;}.PI-01 {  grid-area: 1 / 1 / 2 / 4;  position: relative;  z-index: 100;  padding-top: 25px;}.PI-01::before {  position: absolute;  content: "";  background-image: url("../../img/PI-01.png");  background-repeat: no-repeat;  width: 422px;  height: 230px;  top: 5px;  left: 0;  z-index: -1;}.PI-02 {  grid-area: 1 / 4 / 2 / 7;  position: relative;  z-index: 100;  padding-top: 25px;}.PI-02::before {  position: absolute;  content: "";  background-image: url("../../img/PI-02.png");  background-repeat: no-repeat;  width: 385px;  height: 270px;  top: 5px;  left: 0;  z-index: -1;}.PI-03 {  grid-area: 2 / 1 / 3 / 7;  position: relative;  z-index: 100;  padding-top: 10px;}.PI-03::before {  position: absolute;  content: "";  background-image: url("../../img/PI-03.png");  background-repeat: no-repeat;  width: 769px;  height: 187px;  top: -46px;  left: 0;  z-index: -1;}.PI-03Text {  display: flex;  justify-content: center;  gap: 30px;  align-items: center;}.arrow-right {  display: inline-block;  width: 40px;  height: 21.2px;  background: #4c4d4c;  clip-path: polygon(0 42.9%, 73.5% 42.9%, 73.5% 0, 100% 50%, 73.5% 100%, 73.5% 57.1%, 0 57.1%);}.PI-04, .PI-05, .PI-06, .PI-07, .PI-08 {  grid-area: 3 / 1 / 4 / 3;  position: relative;  z-index: 100;  padding-top: 50px;}.PI-04::before {  position: absolute;  content: "";  background-image: url("../../img/PI-04.png");  background-repeat: no-repeat;  width: 257px;  height: 262px;  top: -19px;  left: 0;  z-index: -1;}.PI-05 {  grid-area: 3 / 3 / 4 / 5;}.PI-05::before {  position: absolute;  content: "";  background-image: url("../../img/PI-05.png");  background-repeat: no-repeat;  width: 294px;  height: 185px;  top: 19px;  left: -38px;  z-index: -1;}.PI-06 {  grid-area: 3 / 5 / 4 / 7;}.PI-06::before {  position: absolute;  content: "";  background-image: url("../../img/PI-06.png");  background-repeat: no-repeat;  width: 294px;  height: 262px;  top: -19px;  left: -38px;  z-index: -1;}.PI-07 {  grid-area: 4 / 1 / 5 / 4;}.PI-07::before {  position: absolute;  content: "";  background-image: url("../../img/PI-07.png");  background-repeat: no-repeat;  width: 422px;  height: 258px;  top: 21px;  left: 0;  z-index: -1;}.PI-08 {  grid-area: 4 / 4 / 5 / 7; }.PI-08::before {  position: absolute;  content: "";  background-image: url("../../img/PI-08.png");  background-repeat: no-repeat;  width: 385px;  height: 258px;  top: 21px;  left: -1px;  z-index: -1;}.PI-07, .PI-08 {  padding-top: 60px;}.puzzleWrap img {  width: 50px;}@media(max-width:780px) {  .puzzle {    padding-bottom: 35vw;  }  .puzzleWrap {    grid-template-columns: repeat(2, 160px);    grid-template-rows: 180px 220px repeat(2, 180px) 160px 207px 142px;    align-items: center;    justify-content: center;  }  .puzzleWrap::after {    width: min(300px,18%);    height: 180px;    transform: translateX(-60%);    bottom: -7%;  }  .puzzleWrap img {    width: 45px;  }  .arrow-right {    width: 14px;    height: 20px;    clip-path: polygon(0 64.5%, 28.7% 64.5%, 28.7% 0, 71.3% 0, 71.3% 64.5%, 100% 64.5%, 50% 100%);  }  .PI-01 {    grid-area: 1 / 1 / 2 / 3;    margin: 0 auto;    padding: 0;  }  .PI-01::before {    background-image: url("../../img/sp_PI-01.png");    background-position: center;    width: 320px;    height: 222px;    top: 95px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-02 {    grid-area: 2 / 1 / 3 / 3;    margin: 0 auto;    padding: 0;  }  .PI-02::before {    background-image: url("../../img/sp_PI-02.png");    background-position: center;    width: 320px;    height: 227px;    top: 79px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-03 {    grid-area: 3 / 1 / 4 / 3;    margin: 0 auto;  }  .PI-03Text {    display: block;  }  .PI-03::before {    background-image: url("../../img/sp_PI-03.png");    background-position: center;    width: 320px;    height: 222px;    top: 65px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-04, .PI-05, .PI-06, .PI-07, .PI-08 {    padding: 0;  }  .PI-04 {    grid-area: 4 / 1 / 5 / 2;  }  .PI-04::before {    background-image: url("../../img/sp_PI-04.png");    background-position: center;    width: 160px;    height: 221px;    top: 88px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-05 {    grid-area: 4 / 2 / 5 / 3;  }  .PI-05::before {    background-image: url("../../img/sp_PI-05.png");    width: 199px;    height: 221px;    top: 48px;    left: 59px;    transform: translateY(-50%) translateX(-50%);  }  .PI-06 {    grid-area: 5 / 1 / 6 / 3;  }  .PI-06::before {    background-image: url("../../img/sp_PI-06.png");    width: 320px;    height: 161px;    top: 68px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-07 {    grid-area: 6 / 1 / 7 / 3;  }  .PI-07 small {    display: block;    font-size: 1.4rem;    line-height: 1.5;  }  .PI-07::before {    background-image: url("../../img/sp_PI-07.png");    width: 320px;    height: 273px;    top: 82px;    left: 50%;    transform: translateY(-50%) translateX(-50%);  }  .PI-08 {    grid-area: 7 / 1 / 8 / 3;  }  .PI-08::before {    background-image: url("../../img/sp_PI-08.png");    width: 320px;    height: 137px;    top: 50%;    left: 50%;    transform: translateY(-52%) translateX(-50%);  }}.flow {  padding-bottom: 20vw;  text-align: center;  position: relative;  background-color: #fff;}.monkey {  position: absolute;  top: -17vw;  left: 5%;  width: min(200px, 20%);  transform-origin: center top;  transform: rotate(-10deg);  animation: monkey 2s linear infinite;}@keyframes monkey {  0% , 100%{      transform: rotate(-5deg);  }  50%{      transform: rotate(-18deg);  }}.F-dc-forest {  position: absolute;  top: 20px;  transform: translateY(-100%);  right: 0;  width: min(350px, 40%);}.dc-branch01 {  position: absolute;  top: 500px;  right: 0;  width: min(250px, 18%);}.dc-branch02 {  position: absolute;  top: 1500px;  left: -1%;  width: min(250px, 18%);}.dc-branch03 {  position: absolute;  bottom: 1000px;  right: 0;  width: min(250px, 18%);}.flow-title {  color: #fff;  background-image: url("../../img/title-blue04.png");  background-repeat: no-repeat;  background-size: 100% 100%;  padding: 10px 0;  display: inline-block;  width: min(380px, 70%);  position: relative;  z-index: 100;  margin-top: 30px;  margin-bottom: 20px;}.flow-contents {  width: min(95%, 960px);  margin: 0 auto;  text-align: left;  overflow: hidden;  position: relative;}.FC-item {  margin-bottom: 30px;}.FC-item h2 {  padding: 1% 12%;  margin-bottom: 20px;  font-size: calc(22px + 10*((100vw - 375px) / 1545));  background-repeat: no-repeat;  background-size: 100% 100%;  aspect-ratio: 2111 / 147;  width: min(840px, 90%);}.FC-01 h2 {  background-image: url("../../img/FT-01.png");}.FC-02 h2 {  background-image: url("../../img/FT-02.png");}.FC-03 h2 {  background-image: url("../../img/FT-03.png");}.FC-04 h2 {  background-image: url("../../img/FT-04.png");}.FC-05 h2 {  background-image: url("../../img/FT-05.png");}.FC-item p {  width: 85%;  margin: 0 auto;}.FC-wrap {  display: flex;  flex-direction: row-reverse;  width: 85%;  margin:  0 auto;  justify-content: center;  gap: 10px;}.FC-wrap p {  width: 60%;}.FC-wrap img {  width: min(300px,45%);  height: 100%;  margin-left: 2%;}.FC-bubble {  margin: 50px auto 0;  align-items: flex-start;  flex-direction: row;}.FC-bubble img {  width: min(150px,35%);}.FC-bubble h3 {  color: #fff;  text-align: center;  background-image: url(../../img/bubble04.png);  background-repeat: no-repeat;  background-size: 100% 100%;  background-position: left;  aspect-ratio: 745 / 167;  width: min(385px, 100%);  padding-top: 3%;  font-size: calc(16px + 2*((100vw - 375px) / 1545));}.FT02 {  width: min(450px, 70%);  background-image: url("../../img/title-blue05.png");  padding: 17px 50px;}.flow-contents02 {  width: min(97%, 770px);  text-align: left;  margin: 0 auto;  position: relative;  z-index: 1;}.flow-contents02 li {  margin-bottom: 60px;}.flow-contents02 li:nth-child(2) {  margin-bottom: 20px;}.flow-contents02 li:last-child {  margin-bottom: 0;}.flow-contents02 li h2 {  color: #3F61B7;  border-image-source: url(../../img/line04.png);  border-image-slice: 0 0 100 0;  border-image-width: auto;  border-image-repeat: round;  padding: 0 20px 15px;  margin-bottom: 20px;}.flow-contents02 li p {  width: 95%;  margin: 0 auto 20px;}.flow-contents02 table, .flow-contents02 th, .flow-contents02 td {  border: 1px solid #B3B3B3;  vertical-align: middle;  font-weight: 500;}.flow-contents02 td {  background-color: #fff;}.flow-contents02 table{  width: min(100%,600px);  margin: 10px auto 0;  text-align: center;}.flow-contents02 table th {  padding: 2% 5%;  background-color: #768ECC;  color: #fff;  border: 1px solid #B3B3B3;  width: 28%;}.flow-contents02 li h3 {  text-align: center;  color: #768ECC;  border: solid 1px #768ECC;  border-radius: 30px;  padding-top: 5px;  padding-bottom: 5px;  background-color: #fff;  font-size: calc(17px + 3 * ((100vw - 375px) / 1545));}.flow-contents02 li small {  display: block;  width: min(95%, 600px);  margin: 0 auto;  font-weight: 500;}@media(max-width:780px) {  .FC-item p {    width: 100%;  }  .FC-wrap {    display: block;    width: 100%;  }  .FC-img {    float: right;  }  .FC-bubble {    max-width: 95%;  }  .FC-04 {    padding-bottom: 18%;  }  .FC-bubble h3 {    background-image: url("../../img/sp-bubble04.png");    margin: 0 auto;  }  .FC-bubble img {    display: block;    margin-left: auto;  }  .flow-contents02 table th,.flow-contents02 td,.flow-contents02 li small {    font-size: calc(15px + 2*((100vw - 375px) / 405));  }}@media(max-width:540px) {  .FC-item h2 {    width: min(840px, 120%);    height: 100%;  }   .FC-04 {    padding-bottom: 0;  }}.info {  background-image: url("../../img/Bg-footer.png");  background-repeat: repeat;  text-align: center;  padding-bottom: 200px;  position: relative;}.ostrich {  position: absolute;  top: 395px;  right: 2vw;  width: min(200px, 12%);  transform-origin: center bottom;  animation: yurayura 2s linear infinite;}@keyframes yurayura {  0% , 100%{      transform: rotate(2deg);  }  50%{      transform: rotate(-2deg);  }}.camel {  position: absolute;  top: 1100px;  left: 2vw;  width: min(200px, 12%);  animation: yurayura 2s linear infinite;}.info-dc-forest {  position: absolute;  top: 50px;  transform: translateY(-100%);  left: 0;  width: min(300px, 30%);}.info h1 {  color: #fff;  background-image: url(../../img/title-footer.png);  background-repeat: no-repeat;  background-size: 100% 100%;  padding: 8px;  display: inline-block;  margin-bottom: 20px;  width: min(300px, 40%);  position: relative;}.info-text {  max-width: 95%;  margin: 0 auto 30px;}.info-contents {  width: min(80%, 900px);  margin: 0 auto;}.info-contents p {  text-align: left;}.info-contents li {  background-color: #fff;  border-radius: 10px 50px/50px 10px;  padding: 20px 25px;  margin-bottom: 50px;}.info-contents h2 {  display: inline-block;  border-image-source: url(../../img/line05.png);  border-image-slice: 0 0 100 0;  border-image-width: auto;  border-image-repeat: round;  padding-bottom: 15px;  margin-bottom: 20px;}.info-contents li:nth-of-type(2) h2 {  border-image-source: url(../../img/line05-2.png);}.info-contents li:nth-of-type(3) h2 {  border-image-source: url(../../img/line05-3.png);}.f-btn {  display: grid;  grid-template-columns: auto 15%;  align-items: center;  padding: 25px;  background-image: url("../../img/f-btn.png");  background-size: 100% 100%;  background-repeat: no-repeat;  background-position: center;  width: min(400px, 60%);  font-size: clamp(1.625rem, 1.425rem + 1vw, 2.625rem);  color: #fff;  margin: 0 auto 40px;  position: relative;  cursor: pointer;}.Btn-Arrow {    position: relative;    display: inline-block;    width: 3rem;    height: 3rem;    -webkit-border-radius: 1.5rem;    border-radius: 1.5rem;    background: #3F61B7;}.Btn-Arrow::after {    content: "";    position: absolute;    top: 0;    bottom: 0;    left: 0.5rem;    margin: auto;    width: 1rem;    height: 1rem;    border-top: 3px solid #3F61B7;    border-right: 3px solid #3F61B7;    -webkit-transform: rotate(45deg);    transform: rotate(45deg);    vertical-align: middle;}.Btn-Allow4 {    background: #fff;}.about-detail {  width: min(90%, 900px);  margin: 0 auto 80px;  display: grid;  grid-template-columns: 1fr 1.5fr;  grid-template-rows: repeat(2, 2fr) 1fr;  grid-column-gap: 20px;  grid-row-gap: 5px;  align-items: center;  font-weight: 400;}.AD-01 {  grid-area: 1 / 1 / 2 / 2;}.AD-02 {  grid-area: 2 / 1 / 3 / 2;  border-top: solid 1px #4C4D4C;  border-bottom: solid 1px #4C4D4C;  padding: 10px 0;}.AD-tel {  font-weight: 700;  font-size: clamp(30px, calc(1.875rem + ((1vw - 3.2px) * 0.625)), 40px);  }.AD-tel::before {  content: "";  display: inline-block;  width: 25px;  height: 25px;  background-image: url("../../img/tel.png");  background-size: contain;  background-repeat: no-repeat;  margin-right: 5px;  }.AD-03 {  grid-area: 1 / 2 / 2 / 3;  font-weight: 500;  text-align: left;}.AD-04 {  grid-area: 2 / 2 / 3 / 3;  border: solid 1px #4C4D4C;}.AD-04 th {  color: #fff;  background-color: #3F61B7;  padding: 5px 0;  font-weight: 400;}.AD-04 td {  background-color: #fff;  padding: 5px 0;}.AD-04 th:first-of-type {  width: 30%;}.AD-05 {  grid-area: 3 / 2 / 4 / 3;  text-align: right;  place-self: normal;}@media(max-width:780px) {  .info {    padding-bottom: 90px;  }  .info-contents {    width: min(90%,900px);  }  .about-detail {    display: block;    width: min(500px, 90%);  }  .AD-01 {    width: min(300px,80%);  }  .AD-02 {    border: none;    padding: 20px 0;  }  .AD-03 {    text-align: center;  }  .AD-04 {    margin: 0 auto;    width: min(500px, 95%);    margin-top: 20px;  }  .AD-05 {    display: block;    width: min(500px, 95%);    text-align: right;    font-size: 1.4rem;  }}/**footer**/footer {  background-color: #fff;}.footerWrap {  padding-bottom: 80px;  width: min(900px, 95%);  margin: 0 auto;  padding-left: 15px;}.footerWrap ul {  max-width: 990px;    margin: 0 auto;    display: grid;    grid-template-columns: repeat(3, auto);    grid-template-rows: repeat(3, auto);    grid-column-gap: 2%;    list-style: none;}.footerItem:first-child {  grid-area: 1 / 1 / 2 / 2; }.footerItem:nth-child(2){  grid-area: 2 / 1 / 4 / 2;  }.footerItem:nth-child(3){ grid-area: 1 / 2 / 4 / 3;}.footerItem:nth-child(4){  grid-area: 1 / 3 / 2 / 4;}.footerItem:nth-child(5){  grid-area: 2 / 3 / 3 / 4;}.footerItem:nth-child(6){  grid-area: 3 / 3 / 4 / 4;}.footerWrap ul ul {  display: block;}.footerItem a {  font-size: calc(14px + 2*((100vw - 780px) / 1140));}.footerIcon {  position: relative;}.footerIcon::before {  position: absolute;  content: '';  background-image: url("../../img/footerIcon.png");  background-repeat: no-repeat;  background-size: 100% 100%;  width: 18px;  height: 18px;  top: 0;  left: 0;  transform: translateX(-22px) translateY(2px);}.Item-child a {  font-size: calc(12px + 2*((100vw - 780px) / 1140));  font-weight: 400;}@media(max-width:780px) {  .footer {    display: none;  }}/**PageTopボタン・footerのリンク**/.PT {  position: fixed;  right: 2.5%;  z-index: 1000;}.PageTop {    width: 95px;    height: 95px;    border: 3px double rgba(255, 255, 255, .7);    background-color: #768ECC;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    text-align: center;}.line_icon, .instagram_icon {  display: none;}@media(hover:hover) {  .lr-btn:hover,.line_icon:hover, .instagram_icon:hover, .PageTop:hover {  opacity: 0.5;  }}.PageTop p {  color: #fff;  font-weight: 700;  font-size: calc(12px + 4*((100vw - 375px) / 1545));  line-height: 1.2;}.SP-bottom-bar {  display: none;}@media(max-width:780px) {  .PageTop {    max-width: 60px;    height: 60px;  }  .line_icon, .instagram_icon {    width: 60px;    height: 60px;    border: 3px double rgba(118, 142, 204, .7);    background-color: #fff;    border-radius: 50%;    display: flex;    align-items: center;    justify-content: center;    text-align: center;    margin-bottom: 2px;  }  .line_icon img, .instagram_icon img {    width: min(30px, 57%);  }  .dli-chevron-up {  display: inline-block;  vertical-align: middle;  color: #fff;  line-height: 1;  width: 1em;  height: 1em;  border: 0.1em solid currentColor;  border-left: 0;  border-bottom: 0;  box-sizing: border-box;  transform: translateY(25%) rotate(-45deg);}  .SP-bottom-bar {    display: flex;    position: sticky;    bottom: 0;    left: 0;    width: 100%;    height: 60px;    z-index: 100;    line-height: 1;    }  .Reserve {    display: flex;    justify-content: center;    gap: 10px;    align-items: center;  }  .Reserve p {    color: #fff;  }  .Reserve img {    width: 35px;  }  .Reserve {    width: 50%;    background-color: #3F61B7;    padding: 10px;    line-height: 1.2;  }  .Official {    width: 50%;    background-color: #fff;    text-align: center;  }  .Official span {    margin-bottom: 5px;    font-size: calc(11px + 2 * ((100vw - 375px) / 1545));    display: block;    text-align: center;    font-weight: 500;    color: #604319;  }  .Official img{    object-fit: contain;    width: min(150px, 70%);    padding-top: 5px;  }}@media(max-width:540px) {  .PageTop, .line_icon, .instagram_icon {    max-width: 45px;    height: 45px;  }}.Scroll-menu a {  display: flex;}.Scroll-menu img {    max-width: 30px;  object-fit: contain;}.hamburger {  display: none;}.hamburger.active {    position: fixed;    width: 100%;    height: 100%;    top: 0;    background-color: #fff;    z-index: 1000;    opacity: 0.8;}.ScrollNav_ul {  margin-top: 80px;  padding-left: 10%;}.Scroll-menu {  padding-bottom: 30px;}.Scroll-menu p {  font-size: calc(14px + 6*((100vw - 375px) / 405));}.ScrollMenuWrap {  display: none;}.ScrollMenuWrap.active {  display: block;}.ScrollMenu-item {  padding: 5px;}@media(max-width:780px) {  .GlobalNav {    display: none;  }}.Copyright {  background-color: #3F61B7;  padding: 5px 10px;  border-top: 3px solid #fff;}.Copyright p {  color: #fff;  font-size: calc(10px + 2*((100vw - 375px) / 1545));  max-width: 900px;  margin: 0 auto;}.Instagram {    width: min(90%, 960px);    margin: 0 auto 7%;    background-color: rgba(255,255,255,.7);    border-radius: 10px;    padding: 20px;    display: flex;    justify-content: space-between;    align-items: center;    flex-wrap: wrap;}.Instagram h2 {    text-align: left;    color: #3F61B7;    padding-left: min(5.5vw, 60px);    font-size: clamp(2.1rem, 3vw, 3rem);    position: relative;}.Instagram h2::before {    content: "";    position: absolute;    background-image: url("../../img/Instagram.png");    background-size: contain;  background-repeat: no-repeat;    width: min(35px, 5vw);    height: min(35px, 5vw);  top: 60%;  transform: translateY(-50%) translateX(-10%);  left: 0%;}.insta_btn {    display: inline-block;    background-color: #3F61B7;    padding: 1% 2%;    width: fit-content;    cursor: pointer;    border-radius: 10px;    color: #fff;    text-decoration: none;    font-size: calc(14px + 4*((100vw - 375px) / 1545));}.insta_list {    display: flex;    flex-wrap: wrap;    width: 100%;    gap: 10px;    margin: 30px 0 0;    list-style: none;}.insta_list li {    position: relative;    width: calc((100% - 40px) / 5);}.insta_list li::before {    content: "";    display: block;    padding-top: 100%;}.insta_list a {  position: absolute;  top: 0;  left: 0;  width: 100%;  height: 100%;}.insta_list img {    width: 100%;    height: 100%;    object-fit: cover;    border-radius: 5px;}.accordion_content {  display: none;}.vL_btn {  background-color: #F17481;  font-size: calc(16px + 2 * ((100vw - 375px) / 1545));  font-weight: 500;  max-width: 200px;  padding: 5px 30px 5px 10px;}.vL_btn::before,.vL_btn::after {  width: 15px;  right: 20px;}.link-reserve {  position: fixed;  right: 2.5%;  z-index: 1000;  bottom: 170px;}.lr-btn{  width: 95px;  height: 95px;  border: 3px double rgba(255, 255, 255, .7);  background-color: #3F61B7;  border-radius: 50%;  display: flex;  align-items: center;  justify-content: center;  text-align: center;  position: sticky;  z-index: 1000;}.lr-btn img {  width: 30px;  display: block;  margin: 0 auto;}.lr-btn a {  color: #fff;  font-weight: 500;  font-size: 1.4rem;}