
/*　home 共通
------------------------------------------------------------------------------------------------*/

.fv{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 59rem;
  background: url(../images/home/fv-bg.jpg) center center no-repeat;
  background-size: cover;
  color: #fff;
  position: relative;
}
.fv .bg-txt{
  font-size: 12.7vw;
  line-height: 0.7;
  letter-spacing: 0.08em;
  opacity: 0.2;
  white-space: nowrap;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
}
.fv .h1-top{
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  margin-bottom: 0.8em;
}
.fv h1{
  font-size: 3.6rem;
}
.fv h1 + p{
  letter-spacing: 0.12em;
  margin-top: 0.7em;
}


.home-about{
  position: relative;
}
.home-about p{
  width: 58rem;
}
.home-about .arrow-btn{
  margin-top: 4rem;
}
.home-about img.img{
  width: 54rem;
  position: absolute;
  left: 50%;
  top: 8rem;
  margin-left: 18rem;
}


.menu-sec .box .ttl-wrap{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 15.8rem;
  position: relative;
}
.menu-sec .box .ttl-wrap .ttl-1,
.menu-sec .box .ttl-wrap .ttl-1-en{
  position: relative;
  z-index: 1;
  margin-bottom: 0;
}
.menu-sec .box .ttl-wrap::before{
  content: "";
  display: block;
  width: 52.5%;
  height: 100%;
  background-color: #A26667;
  clip-path: polygon(23.8% 0,100% 0,100% 100%,0 100%);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
.menu-sec .box .inner{
  padding: 3rem 4rem;
  text-align: center;
}
.menu-sec .box h3{
  font-size: 2rem;
  margin: 4rem 0 0.4em;
}
.menu-sec .box h3:first-child{
  margin-top: 0;
}
.menu-sec .box ul{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  margin-top: 2rem;
}
.menu-sec .box ul li{
  display: block;
}
.menu-sec .box ul li a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 23.4rem;
  height: 7.4rem;
  background: #fff;
  color: #A96F70;
  border: 1px solid #A96F70;
  font-size: 1.8rem;
  font-weight: 500;
  position: relative;
}
.menu-sec .box ul li a::before{
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #A26667;
  clip-path: polygon(100% 0,100% 100%,0 100%);
  position: absolute;
  right: 0.4rem;
  bottom: 0.4rem;
}


.reason ul{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 8rem;
  row-gap: 4.8rem;
}
.reason ul li{
  display: block;
}
.reason ul li h3{
  font-size: 2.4rem;
  text-align: center;
  margin: 2rem 0 1.4rem;
}


.message .wrap{
  display: grid;
  grid-template-columns: 1fr 34rem;
  align-items: flex-start;
  gap: 12rem;
  position: relative;
}
.message .wrap::before{
  content: "";
  display: block;
  width: 57.8rem;
  aspect-ratio: 578 / 413;
  background: url(../images/home/message-bg.png) center center no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.message .wrap .img{
  order: 2;
}
.message .wrap .txt h3{
  font-size: 3.2rem;
  display: flex;
  align-items: center;
  margin-bottom: 3rem;
}
.message .wrap .txt h3 small{
  font-size: 1.6rem;
  font-weight: 400;
  margin-right: 1em;
}
.message .wrap .txt .arrow-btn{
  margin-top: 4rem;
}


@media (min-width: 769px){
.column-swiper .swiper-wrapper{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 3rem;
  row-gap: 4rem;
  transform: unset !important;
}
}
.column-swiper .swiper-slide a{
  display: block;
}
.column-swiper .swiper-slide .zoom{
  aspect-ratio: 260 / 138;
  border: 1px solid #C3BCBC;
}
.column-swiper .swiper-slide .date-tag{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 1.2rem;
  row-gap: 0.4rem;
  margin: 1.4rem 0 1.2rem;
}
.column-swiper .swiper-slide .ttl{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
}
.column-swiper + a.arrow-btn{
  margin: 6rem auto 0;
}




/*　new-visitor 共通
------------------------------------------------------------------------------------------------*/

.new-visitor .sec-1 .wrap-1{
  display: grid;
  grid-template-columns: 1fr 44rem;
  gap: 12rem;
}
.new-visitor .sec-1 ul.worries{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 8rem;
}
.new-visitor .sec-1 ul.worries > li{
  display: block;
}
.new-visitor .sec-1 ul.worries > li h4{
  font-size: 2.4rem;
  margin: 2rem 0 1.8rem;
}
ul.check-li li{
  display: block;
  line-height: 1.7;
  padding-left: 3.2rem;
  position: relative;
}
ul.check-li li + li{
  margin-top: 0.8em;
}
ul.check-li li::before{
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/common/ico-check.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.new-visitor .sec-1 ul.ages{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 8rem;
  row-gap: 6rem;
}
.new-visitor .sec-1 ul.ages > li{
  display: block;
}
.new-visitor .sec-1 ul.ages > li h4{
  font-size: 2.4rem;
  padding-bottom: 0.4em;
  margin-bottom: 2rem;
  border-bottom: 1px solid #C3BCBC;
}
.new-visitor .sec-1 ul.ages > li p + p{
  margin-top: 1em;
}


ul.flow-li li{
  display: block;
  background: #fff;
  padding: 4rem;
  border-left: 0.2rem solid #A96F70;
}
ul.flow-li li + li{
  margin-top: 2.4rem;
}
ul.flow-li li .ttl{
  font-size: 2.4rem;
  margin-bottom: 0.6em;
}
ul.flow-li li .ttl span{
  margin-right: 0.2em;
}


.attention{
  padding: 4rem;
  font-size: 1.4rem;
}
.attention h2{
  font-size: 2rem;
  margin-bottom: 0.8em;
}


ul.faq-li{
  border-top: 1px solid #C3BCBC;
}
ul.faq-li li{
  display: block;
  padding: 2.4rem 0;
  border-bottom: 1px solid #C3BCBC;
}
ul.faq-li li .ttl{
  font-size: 2rem;
  line-height: 1.7;
  margin-bottom: 0.3em;
}
ul.faq-li li .ttl span{
  margin-right: 0.2em;
}
ul.faq-li li a{
  font-weight: 700;
}
.new-visitor .sec-4 a.arrow-btn{
  margin: 4rem auto 0;
}




/*　new-visitor 共通
------------------------------------------------------------------------------------------------*/

ul.menu-li{
  display: grid;
  grid-template-columns: 100%;
  gap: 3.2rem;
}
ul.menu-li.col2{
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
ul.menu-li li{
  display: block;
  background: #fff;
  padding: 3.6rem 4rem;
}
ul.menu-li.col2 li{
  padding: 3rem;
}
ul.menu-li li .ttl-wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding-bottom: 1rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid #C3BCBC;
}
ul.menu-li li .ttl-wrap .ttl{
  font-size: 2.4rem;
}
ul.menu-li li .ttl-wrap a.arrow-link{
  margin-left: auto;
}
ul.menu-li li big{
  display: block;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}
ul.menu-li.col2 li big{
  font-size: 1.8rem;
}
ul.menu-li li big + p{
  margin-top: 1.2rem;
}




/*　price 共通
------------------------------------------------------------------------------------------------*/

.price-wrap{
  background: #fff;
  padding: 4rem;
}
.table-ttl{
  font-size: 2rem;
  color: #A96F70;
  margin-bottom: 1em;
}
.table-ttl::before{
  content: "− ";
}
.price-wrap + .price-wrap,
.price-wrap + .table-ttl{
  margin-top: 3rem;
}
@media screen and (min-width: 769px){
table.price-table{
  width: 100%;
  font-size: 1.8rem;
  line-height: 1.8;
}
table.price-table tr + tr td{
  padding-top: 2.4rem;
}
table.price-table th{
  font-weight: 400;
  text-align: left;
}
table.price-table td:not(:last-child){
  padding-right: 1em;
}
table.price-table td:nth-child(2){
  width: 25rem;
}
table.price-table td:last-child{
  width: 22rem;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-align: right;
}
table.price-table td:last-child big{
  font-size: 2.4rem;
  color: #A96F70;
  margin: 0 0.2em;
}
table.price-table small{
  display: block;
  font-size: 1.4rem;
  margin-top: 0.3em;
}
table.price-table .f15{
  font-size: 1.5rem;
}
}




/*　faqs 共通
------------------------------------------------------------------------------------------------*/

@media screen and (min-width: 769px){
.anchor-swiper .swiper-wrapper{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  transform: none !important;
}
}
.anchor-swiper .swiper-slide a{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5.6rem;
  border-radius: 2.8rem;
  background: #fff;
  color: #A96F70;
  border: 1px solid #A96F70;
  text-align: center;
  font-weight: 500;
}


.faq-wrap{
  background: #fff;
  padding: 1.6rem 4rem;
}
.faq-wrap.bg-gr{
  background: #F5F3F3;
}
.faq-wrap ul.faq-li{
  border-top: none;
}
.faq-wrap ul.faq-li li:last-child{
  border-bottom: none;
}




/*　about 共通
------------------------------------------------------------------------------------------------*/

.about .sec-1{
  text-align: center;
}
.about .sec-1 .content{
  max-width: 138rem;
  position: relative;
}
.about .sec-1 img.img1,
.about .sec-1 img.img2{
  width: min(27.08vw,39rem);
  position: absolute;
  top: 0;
  z-index: -1;
}
.about .sec-1 img.img1{
  left: -3rem;
}
.about .sec-1 img.img2{
  right: -3rem;
}
.about .sec-1 img.logo{
  width: 38.4rem;
  margin: 5rem auto 0;
}


.about .sec-2{
  position: relative;
}
.about .sec-2 .bg-txt{
  font-size: 12.7vw;
  line-height: 0.7;
  letter-spacing: 0.08em;
  opacity: 0.08;
  white-space: nowrap;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: -1;
}
.about .sec-2 dl{
  display: grid;
  grid-template-columns: 12.7rem 1fr;
  border-top: 1px solid #E5E5E5;
}
.about .sec-2 dl dt,
.about .sec-2 dl dd{
  padding: 2rem 0;
  border-bottom: 1px solid #E5E5E5;
}
.about .sec-2 dl dt{
  font-weight: 700;
}
.about .sec-2 dl a{
  font-weight: 700;
  text-decoration: underline;
}
.about .sec-2 .map{
  display: block;
  width: 100%;
  height: 32rem;
  margin-top: 5rem;
}


.profile .box{
  background: #fff;
  padding: 8rem;
}
.profile .box .wrap{
  display: grid;
  grid-template-columns: 1fr 29rem;
  align-items: flex-start;
  gap: 5rem;
  position: relative;
}
.profile .box .wrap .img{
  order: 2;
}
.profile .box .wrap .txt h3{
  font-size: 3.2rem;
  display: flex;
  align-items: center;
  margin-bottom: 3rem;
}
.profile .box .wrap .txt h3 small{
  font-size: 1.6rem;
  font-weight: 400;
  margin-right: 1em;
}
.profile .box hr{
  border-top: 1px solid #E5E5E5;
  margin: 5rem 0 4rem;
}
.profile .box dl.dl-1{
  display: grid;
  grid-template-columns: 20rem 1fr;
  row-gap: 2.4rem;
}
.profile .box dl.dl-1 > dt{
  font-weight: 500;
}
.profile .box dl.dl-1 dl{
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 4rem;
  row-gap: 0.6em;
}




/*　menu下層 共通
------------------------------------------------------------------------------------------------*/

.menu-intro .wrap{
  display: grid;
  grid-template-columns: 44rem 1fr;
  gap: 12rem;
}
.menu-intro .wrap .txt{
  order: 2;
}
.menu-intro .wrap .txt .ttl-2{
  margin-bottom: 0.8em;
}


.menu-worries{
  padding: 0;
}
.menu-worries .wrap-1{
  padding: 8rem 0;
  position: relative;
}
.menu-worries .wrap-1::before{
  content: "";
  display: block;
  width: 12rem;
  height: 4.8rem;
  background-color: #F5F3F3;
  position: absolute;
  clip-path: polygon(0 0,100% 0,50% 100%);
  bottom: -4.7rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
ul.worries-li li{
  display: block;
  padding: 2rem 0 2rem 3.2rem;
  border-bottom: 1px solid #C3BCBC;
  position: relative;
}
ul.worries-li li::before{
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/common/ico-check.svg) center center no-repeat;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 768px){
ul.worries-li{
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 4rem;
}
ul.worries-li.row-4{
  grid-template-rows: repeat(4, auto);
}
ul.worries-li.row-4 li:nth-child(4n-3){
  border-top: 1px solid #C3BCBC;
}
}
.menu-worries .wrap-2{
  padding: 9rem 0 8rem;
}
.menu-worries .wrap-2 h3{
  font-size: 2.4rem;
  line-height: 1.7;
  text-align: center;
  margin-bottom: 3rem;
}
.menu-worries .wrap-2 .img-wrap{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin-top: 5rem;
}


dl.flow-dl{
  display: grid;
  grid-template-columns: 25.6rem 1fr;
  column-gap: 4rem;
  row-gap: 5rem;
}
dl.flow-dl dt{
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-right: 1px solid #C3BCBC;
}


.menu-obi img{
  width: 100%;
}


.menu-price .note{
  margin-top: 4rem;
}
.menu-price .note h3{
  font-size: 2.4rem;
  margin-bottom: 0.5em;
}




/*　404 共通
------------------------------------------------------------------------------------------------*/

.error404 .sec{
  text-align: center;
}
.error404 .sec .h1-en{
  font-size: 6.4rem;
  line-height: 1.5;
}
.error404 .sec h1{
  font-size: 2.4rem;
}
.error404 .sec p{
  margin-top: 4rem;
}
.error404 .sec a.arrow-btn{
  margin: 6rem auto 0;
}




/*　 共通
------------------------------------------------------------------------------------------------*/




/*　 共通
------------------------------------------------------------------------------------------------*/




/*　スマホ
------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){

/*　home SP
------------------------------------------------------------------------------------------------*/

.fv{
  height: 51.8rem;
  background: url(../images/home/fv-bg_sp.jpg) center center no-repeat;
  background-size: cover;
  text-align: center;
  padding-bottom: 4rem;
}
.fv .h1-top{
  font-size: 1.6rem;
  margin-bottom: 0.6em;
}
.fv h1{
  font-size: 2.4rem;
}
.fv h1 + p{
  margin-top: 0.9em;
}


.home-about p{
  width: 100%;
}
.home-about .arrow-btn{
  margin-top: 3rem;
}
.home-about img.img{
  width: 100%;
  position: unset;
  margin: 5rem 0 0;
}


.menu-sec .box .ttl-wrap{
  height: 9.5rem;
}
.menu-sec .box .ttl-wrap::before{
  width: 58%;
  clip-path: polygon(28% 0,100% 0,100% 100%,0 100%);
}
.menu-sec .box .inner{
  padding: 2.4rem 1.6rem 4rem;
}
.menu-sec .box h3{
  font-size: 1.6rem;
  margin: 2.4rem 0 0.4em;
}
.menu-sec .box ul{
  gap: 0.8rem;
  margin-top: 1.6rem;
}
.menu-sec .box ul li{
  width: 100%;
}
.menu-sec .box ul li a{
  width: 100%;
  height: 5.8rem;
  font-size: 1.6rem;
}


.reason ul{
  grid-template-columns: 100%;
  row-gap: 3rem;
}
.reason ul li h3{
  font-size: 1.6rem;
  text-align: center;
  margin: 1.6rem 0 1rem;
}


.message .wrap{
  grid-template-columns: 100%;
  gap: 2rem;
}
.message .wrap::before{
  content: none;
}
.message .wrap .img{
  order: unset;
  width: 24rem;
  margin: 0 auto;
}
.message .wrap .txt h3{
  justify-content: center;
  font-size: 2.1rem;
  margin-bottom: 2rem;
}
.message .wrap .txt h3 small{
  font-size: 1.4rem;
}
.message .wrap .txt .arrow-btn{
  margin-top: 2.4rem;
}


.column-swiper{
  overflow: unset;
}
.column-swiper .swiper-slide{
  width: 82%;
  margin-right: 2rem;
}
.column-swiper .swiper-slide:last-child{
  margin-right: 0;
}
.column-swiper .swiper-pagination{
  position: unset;
  margin-top: 3rem;
}
.column-swiper .swiper-pagination-bullet{
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0.4rem !important;
}
.column-swiper .swiper-pagination-bullet-active {
  background: #b46e6e;
}
.column-swiper + a.arrow-btn{
  margin: 3rem auto 0;
}




/*　new-visitor SP
------------------------------------------------------------------------------------------------*/

.new-visitor .sec-1 .wrap-1{
  grid-template-columns: 100%;
  gap: 4rem;
}
.new-visitor .sec-1 ul.worries{
  grid-template-columns: 100%;
  row-gap: 2.4rem;
}
.new-visitor .sec-1 ul.worries > li h4{
  font-size: 1.8rem;
  text-align: center;
  margin: 1.6rem 0 1.4rem;
}
ul.check-li{
  border-top: 1px solid rgba(195,188,188,0.5);
}
ul.check-li li{
  padding: 1rem 0 1rem 3.2rem;
  border-bottom: 1px solid rgba(195,188,188,0.5);
}
ul.check-li li + li{
  margin-top: 0;
}
.new-visitor .sec-1 ul.ages{
  grid-template-columns: 100%;
  row-gap: 2.4rem;
}
.new-visitor .sec-1 ul.ages > li h4{
  font-size: 1.6rem;
  padding-bottom: 0.6em;
  margin-bottom: 1rem;
}
.new-visitor .sec-1 ul.ages > li p + p{
  margin-top: 0.5em;
}


ul.flow-li li{
  padding: 1.6rem;
}
ul.flow-li li + li{
  margin-top: 1.6rem;
}
ul.flow-li li .ttl{
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}


.attention{
  padding: 1.6rem;
  font-size: 1.2rem;
}
.attention h2{
  font-size: 1.4rem;
  margin-bottom: 0.5em;
}


ul.faq-li li{
  padding: 1.6rem 0;
}
ul.faq-li li .ttl{
  font-size: 1.6rem;
  margin-bottom: 0.5em;
}
.new-visitor .sec-4 a.arrow-btn{
  margin: 2.4rem auto 0;
}




/*　new-visitor SP
------------------------------------------------------------------------------------------------*/

ul.menu-li,
ul.menu-li.col2{
  grid-template-columns: 100%;
  gap: 1.6rem;
}
ul.menu-li li,
ul.menu-li.col2 li{
  padding: 1.6rem 1.6rem 4.8rem 1.6rem;
  position: relative;
}
ul.menu-li li .ttl-wrap{
  padding-bottom: 0.6rem;
  margin-bottom: 1.2rem;
}
ul.menu-li li .ttl-wrap .ttl{
  font-size: 1.8rem;
}
ul.menu-li li .ttl-wrap a.arrow-link{
  position: absolute;
  right: 1.6rem;
  bottom: 1.6rem;
}
ul.menu-li li big,
ul.menu-li.col2 li big{
  font-size: 1.5rem;
}
ul.menu-li li big + p{
  margin-top: 0.7rem;
}




/*　price SP
------------------------------------------------------------------------------------------------*/

.price-wrap{
  padding: 2rem 1.2rem;
}
.table-ttl{
  font-size: 1.6rem;
}
.price-wrap + .price-wrap,
.price-wrap + .table-ttl{
  margin-top: 2.4rem;
}
table.price-table,
table.price-table tr,
table.price-table th,
table.price-table td{
  display: block;
}
table.price-table tr + tr{
  margin-top: 0.6rem;
}
table.price-table tr + tr th{
  margin-top: 1.6rem;
}
table.price-table th{
  font-weight: 400;
  text-align: left;
}
table.price-table th:not(:has(+ td:last-child)){
  margin-bottom: 0.6rem;
}
table.price-table td:last-child{
  font-weight: 500;
  letter-spacing: 0.08em;
}
table.price-table td:last-child big{
  font-size: 2rem;
  line-height: 1.5;
  color: #A96F70;
  margin: 0 0.2em;
}
table.price-table small{
  display: block;
  font-size: 1.2rem;
  margin-top: 0.4em;
}
table.price-table .f15{
  font-size: 1.3rem;
}




/*　faqs SP
------------------------------------------------------------------------------------------------*/

.anchor-swiper{
  overflow: unset;
}
.anchor-swiper .swiper-slide{
  width: fit-content;
  margin-right: 0.8rem;
}
.anchor-swiper .swiper-slide:last-child{
  margin-right: 0;
}
.anchor-swiper .swiper-slide a{
  width: fit-content;
  height: 3.6rem;
  border-radius: 1.8rem;
  padding: 0 2.4rem;
}


.faq-wrap{
  padding: 0.4rem 1.2rem;
}
.faq-wrap ul.faq-li{
  border-top: none;
}
.faq-wrap ul.faq-li li:last-child{
  border-bottom: none;
}




/*　about SP
------------------------------------------------------------------------------------------------*/

.about .sec-1 img.img1,
.about .sec-1 img.img2{
  width: 100%;
  position: unset;
}
.about .sec-1 img.img1{
  margin-bottom: 3rem;
}
.about .sec-1 img.img2{
  margin-top: 4rem;
}
.about .sec-1 .ttl-1-en{
  margin-bottom: 2.4rem;
}
.about .sec-1 img.logo{
  width: 26.4rem;
  margin: 4rem auto 0;
}


.about .sec-2 dl{
  grid-template-columns: auto 1fr;
}
.about .sec-2 dl dt,
.about .sec-2 dl dd{
  padding: 1.6rem 0;
}
.about .sec-2 dl dt{
  padding-right: 2em;
}
.about .sec-2 .map{
  height: 24rem;
  margin-top: 3rem;
}


.profile .box{
  padding: 2.4rem 2rem;
}
.profile .box .wrap{
  grid-template-columns: 100%;
  gap: 2rem;
}
.profile .box .wrap::before{
  content: none;
}
.profile .box .wrap .img{
  order: unset;
  width: 24rem;
  margin: 0 auto;
}
.profile .box .wrap .txt h3{
  justify-content: center;
  font-size: 2.1rem;
  margin-bottom: 2rem;
}
.profile .box .wrap .txt h3 small{
  font-size: 1.4rem;
}
.profile .box hr{
  margin: 3rem 0;
}
.profile .box dl.dl-1{
  grid-template-columns: 100%;
  row-gap: 0;
}
.profile .box dl.dl-1 > dt{
  margin-bottom: 0.5em;
  font-weight: 700;
}
.profile .box dl.dl-1 > dd + dt{
  margin-top: 2.4rem;
}
.profile .box dl.dl-1 dl{
  grid-template-columns: 100%;
  column-gap: 0;
  row-gap: 0;
}
.profile .box dl.dl-1 dl > dd + dt{
  margin-top: 0.5em;
}




/*　menu下層 SP
------------------------------------------------------------------------------------------------*/

.menu-intro .wrap{
  grid-template-columns: 100%;
  gap: 4rem;
}
.menu-intro .wrap .txt{
  order: unset;
}


.menu-worries{
  padding: 0;
}
.menu-worries .wrap-1{
  padding: 3.2rem 0;
}
.menu-worries .wrap-1::before{
  width: 8rem;
  height: 2.8rem;
  bottom: -2.7rem;
}
ul.worries-li{
  border-top: 1px solid #C3BCBC;
}
ul.worries-li li{
  padding: 1.2rem 0 1.2rem 3.2rem;
}
.menu-worries .wrap-2{
  padding: 5rem 0 4rem;
}
.menu-worries .wrap-2 h3{
  font-size: 1.8rem;
  margin-bottom: 1em;
}
.menu-worries .wrap-2 .img-wrap{
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}


dl.flow-dl{
  grid-template-columns: 100%;
  row-gap: 0;
}
dl.flow-dl dt{
  font-size: 1.6rem;
  padding-bottom: 0.8rem;
  margin-bottom: 1.2rem;
  border-right: none;
  border-bottom: 1px solid #C3BCBC;
}
dl.flow-dl dd + dt{
  margin-top: 3rem;
}


.menu-price .note{
  margin-top: 3rem;
}
.menu-price .note h3{
  font-size: 1.4rem;
  margin-bottom: 0.8em;
}
.menu-price .note p{
  font-size: 1.2rem;
}




/*　404 共通
------------------------------------------------------------------------------------------------*/

.error404 .sec .h1-en{
  font-size: 4.6rem;
}
.error404 .sec h1{
  font-size: 1.6rem;
}
.error404 .sec p{
  margin-top: 3rem;
  text-align: left;
}
.error404 .sec a.arrow-btn{
  margin: 4rem auto 0;
}




}/*　スマホここまで */



