 @charset "UTF-8";

 /* CSS Document */
 html {
   font-size: 62.5%;
   /* 16px * 62.5% = 10px */
   width: 100%;
   scroll-behavior: smooth;
 }

 :root {
   --yellow: #F9D43D;
   --blue: #024E9C;
   --text-color: #342C26;
   --text-pink: #D09B94;
   --pink: #E9BAC3;
   --def: "Noto Sans JP", serif;
   --en: "Sawarabi Gothic", sans-serif;
   --ja: "Shippori Mincho", serif;
 }

 body {
   color: var(--text-color);
   background-color: #ffffff;
   font-family: var(--def);
   font-weight: 400;
   font-style: normal;
   font-size: clamp(1.4rem, 3.7vw, 1.8rem);
   letter-spacing: 0.08rem;
   line-height: 2;
   text-align: center;
 }

 .en {
   font-family: var(--en);
   font-weight: 600;
   font-style: normal;
   letter-spacing: 0.1em;
 }

 .ja {
   font-family: var(--ja);
   font-weight: 400;
   font-style: normal;
 }

 h2,
 h3,
 h4 {
   font-weight: 400;
   letter-spacing: 0;
 }

 .vertical {
   position: static;
   display: inline-block;
   -webkit-writing-mode: vertical-rl;
   -ms-writing-mode: tb-rl;
   writing-mode: vertical-rl;
   text-align: left;
 }

 .vertical span {
   writing-mode: vertical-rl;
   text-orientation: upright;
   display: inline-block;
 }

 .vertical span.horizontal {
   writing-mode: horizontal-tb;
   line-height: 1;
 }

 a {
   color: var(--text-color);
 }

 a:hover {
   opacity: 0.8;
 }

 a.clarity:hover {
   opacity: 1;
 }

 *,
 *:before,
 *:after {
   box-sizing: border-box;
 }

 img {
   width: 100%;
   display: block;
 }

 .pc_none {
   display: block;
 }

 .sp_none {
   display: none;
 }

 .is-hide {
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.3s ease, visibility 0.3s ease;
 }

 .left {
   text-align: justify;
 }

 .bold {
   font-weight: 700;
 }

 .fadeInUpTrigger,
 .fadeInLeftTrigger,
 .fadeInRightTrigger {
   opacity: 0;
 }

 .flex {
   display: flex;
   flex-direction: column;
   gap: 40px;
 }

 .flex.row {
   display: flex;
   flex-direction: row;
   gap: 20px;
 }

 /* header */
 header {
   width: 100%;
   position: absolute;
   z-index: 100;
   display: flex;
   align-items: center;
   top: 0;
 }

 header .logo {
   width: 100px;
   margin-top: 10px;
   margin-left: 10px;
 }

 /* ham_menu */
 .ham_btn {
   position: fixed;
   cursor: pointer;
   width: 50px;
   height: 50px;
   z-index: 999;
   margin: 0;
   top: 0;
   right: 0;
   background: rgba(233, 186, 195, 0.8)
 }

 .ham_btn span {
   display: inline-block;
   transition: all .4s;
   position: absolute;
   right: 10px;
   height: 3px;
   border-radius: 2px;
   background-color: #ffffff;
   width: 30px;
 }

 .ham_btn span:nth-of-type(1) {
   top: 15px;
 }

 .ham_btn span:nth-of-type(2) {
   top: 25px;
 }

 .ham_btn span:nth-of-type(3) {
   top: 35px;
 }

 .ham_btn.active span:nth-of-type(1) {
   top: 18px;
   left: 8px;
   transform: translateY(6px) rotate(-45deg);
   width: 40px;
 }

 .ham_btn.active span:nth-of-type(2) {
   opacity: 0;
 }

 .ham_btn.active span:nth-of-type(3) {
   top: 30px;
   left: 8px;
   transform: translateY(-6px) rotate(45deg);
   width: 40px;
 }

 .nav_wrap {
   padding: 60px 0;
   overflow-y: auto;
   overflow-x: hidden;
   background: #E6E7E9;
   position: fixed;
   top: 0;
   right: 0;
   z-index: 900;
   height: 100%;
   visibility: hidden;
   opacity: 0;
   width: 100%;
   transition: opacity .6s ease, visibility .6s ease;
   line-height: 1.45;
 }

 .nav_wrap ul {
   width: 90%;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   margin-bottom: 40px;
 }

 .nav_wrap li {
   list-style: none;
   text-align: left;
   font-size: 1.6rem;
   line-height: 1;
   font-family: var(--ja);
 }

 nav li a {
   text-decoration: none;
   padding: 20px 10px;
   display: flex;
   flex-direction: column;
   align-items: center;
 }

 nav .icon {
   width: 75px;
   margin: 0 auto;
 }

 .nav_wrap.show {
   visibility: visible;
   opacity: 1;
 }

 .nav_wrap nav .sp_nav {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
 }

 .nav_wrap nav summary {
   text-decoration: none;
   padding: 20px 10px;
   display: flex;
   flex-direction: column;
   align-items: center;
   position: relative;

 }
 summary::-webkit-details-marker { display: none } 
 .nav_wrap nav summary::after {
   content: "";
   width: 0;
   height: 0;
   border-right: 7.5px solid transparent;
   border-left: 7.5px solid transparent;
   border-top: 7.5px solid var(--text-color);
   position: absolute;
   top: 50%;
   right: 5%;
   transform: translateY(-50%);
   z-index: 1;
   transition: all 0.3s
 }

 .accordion-001[open] summary {
   border: none;
 }

 .accordion-001[open] summary::after {
   border-top: none;
   border-right: 7.5px solid transparent;
   border-left: 7.5px solid transparent;
   border-bottom: 7.5px solid var(--text-color);
   transition: all 0.5s
 }

 .nav_wrap nav .inner-ul {
   width: 100%;
   padding: 0 4px;
   margin-bottom: 0;
   gap: 2px;
 }

 .nav_wrap nav .inner-ul li {
   padding: 0 10px;
   margin-bottom: 0;
   transition: height 0.5s ease;
   font-size: 1.4rem;
   border-bottom: none;
   background-color: #ffffff;
   position: relative;
 }

 .nav_wrap nav .inner-ul li a {
   color: var(--text-color);
   padding: 20px 10px;
 }

 .nav_wrap nav .inner-ul li:last-child a {
   border-bottom: none;
 }

 .accordion-open {
   transition: all 0.5s;
 }

 .nav_wrap::-webkit-scrollbar {
   display: none;
 }

 /* MV */
 .MV {
   position: relative;
   overflow: hidden;
   aspect-ratio: 430/296;
 }

 .mv_bg01 {
   position: absolute;
   width: 58%;
   height: 100%;
   background-image: url(../img/mv_01.webp);
   background-size: cover;
   top: 0;
   right: 0;
   z-index: 1;
 }

 .mv_bg02 {
   position: absolute;
   width: 27%;
   height: 50%;
   background-image: url(../img/mv_02.webp);
   background-size: cover;
   background-position: center;
   bottom: 0;
   left: 0;
   z-index: 1;
 }

 .MV-text {
   position: absolute;
   width: 60%;
   max-width: 700px;
   left: 3vw;
   top: 45%;
   transform: translateY(-50%);
   z-index: 2;
 }

 .MV-text h2 {
   color: #707070;
   font-size: clamp(1.2rem, 2.7vw, 3.0rem);
   text-align: left;
   font-family: var(--ja);
   line-height: 1.8;
   font-weight: 400
 }

 /* sp_float*/
 #sp_float {
   width: 100%;
   height: min(14vw, 80px);
   background-color: rgba(252, 123, 148, 0.9);
   position: fixed;
   bottom: -100%;
   transition: all 0.5s;
   display: flex;
   z-index: 100;
 }

 #sp_float.fixed {
   bottom: -2px;
 }

 #sp_float div {
   width: calc(100% / 3);
 }

 #sp_float div a {
   width: 90%;
   height: 100%;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: center;
 }

 #sp_float div a img {
   width: 30px;
 }

 /* 共通 */
 section {
   position: relative;
   padding: min(12vw, 100px) 0 min(14vw, 200px);
 }

 .section_ttl {
   display: flex;
   flex-direction: column;
   align-items: center;
   line-height: 1.5;
   font-size: clamp(2.0rem, 7vw, 4.5rem);
   font-weight: 500;
   font-family: var(--ja);
   color: #514134;
   letter-spacing: 0.1em;
 }

 .section_ttl span {
   color: var(--text-pink);
   font-size: clamp(1.8rem, 4vw, 2.4rem);
 }

 .inner {
   width: 90%;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 80px);
   margin: 0 auto;
   position: relative;
   z-index: 2;
 }

 #top_news {
   position: relative;
   padding: min(12vw, 100px) 0 min(10vw, 120px);
 }

 #top_news .inner {
   width: 90%;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 40px);
   margin: 0 auto;
 }

 .news_wrap {
   background-color: #ffffff;
   box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.16);
   padding: min(5vw, 50px);
   height: 200px;
   overflow-y: scroll;
   position: relative;
 }

 .news_wrap>.ps-scrollbar-y-rail>.ps-scrollbar-y {
   background: var(--text-pink);
   border-radius: 8px;
   right: 5px;
   height: 4px;
 }

 .news_wrap>.ps-scrollbar-y-rail {
   background: transparent;
   right: 0;
   height: 4px;
   opacity: 1;
 }

 .news_wrap>.ps-scrollbar-y-rail>.ps-scrollbar-y {
   background: var(--text-pink);
   border-radius: 8px;
   height: 4px;
 }

 .news_wrap li {
   padding: 10px 0;
   margin-bottom: 2%;
   text-align: left;
   line-height: 1.5;
   justify-content: flex-start;
 }

 .news_wrap li a {
   align-items: flex-start;
   flex-direction: column;
   gap: 10px;
   color: #514134;
 }

 .news_wrap li a .ttl {
   width: 100%;
 }

 #top_news::before {
   content: "";
   width: 100%;
   height: 30%;
   background-color: #E9BAC3;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: 1;
 }

 #top_first .inner {
   width: 100%;
 }

 #top_first .bg {
   aspect-ratio: 430/154;
   background-image: url(../img/top_firstbg.webp);
   background-size: cover;
   background-repeat: no-repeat;
 }

 #top_first .content_inner {
   width: 90%;
   margin: min(3vw, 40px) auto;
   text-align: justify;
   display: flex;
   flex-direction: column;
   gap: min(5vw, 50px);
   font-size: clamp(1.8rem, 4vw, 2rem);
 }

 .more {
   width: 300px;
   margin: 0 auto;
 }

 .top_bg {
   background-image: url(../img/top_bg.webp);
   background-size: cover;
 }

 #top_menu .content_wrap {
   display: flex;
   flex-direction: column;
   gap: min(10vw, 100px);
   width: 80%;
   margin: min(10vw, 100px) auto;
   text-align: justify;
 }

 #top_menu .content {
   display: flex;
   flex-direction: column-reverse;
   gap: 3vw;
 }

 #top_menu .content_imgWrap {
   position: relative;
 }

 #top_menu .content_imgWrap a {
   display: block;
   width: 50%;
   background-color: #E9BAC3;
   aspect-ratio: 150/75;
   display: flex;
   align-items: center;
   justify-content: center;
   position: absolute;
   bottom: 0;
   right: 0;
   transform: translate(30%, 50%);
 }

 #top_menu .content_imgWrap a img {
   width: 60%;
   max-width: 130px;
 }

 #top_menu .content h3 {
   font-size: clamp(1.6rem, 5vw, 3rem);
   font-family: var(--ja);
 }

 .info {
   padding-bottom: 5vw;
 }

 .info .text_wrap {
   background-color: #E9BAC3;
   color: #ffffff;
   padding: min(10vw, 80px);
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: min(3vw, 20px);
   text-align: left;
   margin: 0 auto;
   width: auto;
   position: relative;
   font-size: clamp(1.8rem, 4vw, 2rem);
 }

 .info .text_wrap::before {
   content: "";
   width: 30%;
   aspect-ratio: 1;
   background-image: url(../img/info_deco02.webp);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center bottom;
   position: absolute;
   top: 0;
   right: 0;
   z-index: 1;
 }

 .info .text_wrap::after {
   content: "";
   width: 30%;
   aspect-ratio: 1;
   background-image: url(../img/info_deco01.webp);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: center bottom;
   position: absolute;
   bottom: 0;
   left: 0;
   z-index: 1;
 }

 .info_inner {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: min(3vw, 20px);
   text-align: left;
   margin: 0 auto;
   width: auto;
   z-index: 3;
 }

 .info .section_ttl {
   color: #ffffff;
   padding-bottom: min(3vw, 20px);
   margin: 0 auto 0 0;
 }

 .info .text_wrap a {
   font-size: clamp(2rem, 7vw, 3.6rem);
   font-family: "Sawarabi Gothic", serif;
   font-weight: 400;
   color: #ffffff;
   display: block;
 }

 #map {
   width: 90%;
   max-width: 1200px;
   margin: 0 auto;
   aspect-ratio: 1;
   max-height: 600px;
 }

 .cr {
   padding: 10px;
   font-size: 1.2rem;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .sp_none {
     display: block;
   }

   .pc_none {
     display: none;
   }

   header {
     height: 110px;
     line-height: 1.2;
   }

   .header_inner {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: space-between;
     padding-left: 0;
   }

   header .logo {
     width: calc(100% - 400px);
     max-width: 300px;
     margin-left: 2vw;
     margin-top: 20px;
   }

   .float_wrap {
     position: fixed;
     top: 0;
     right: 0;
     z-index: 50;
     display: flex;
     align-items: flex-start;
     flex-direction: column;
     justify-content: flex-end;
     width: calc(100% - 400px);
     max-width: 680px;
   }

   .float_nav {
     width: 100%;
     display: flex;
     align-items: flex-start;
     gap: min(2vw, 40px);
   }

   .float_wrap .pc_nav {
     width: 100%;
     display: flex;
     flex-direction: column;
     align-items: flex-start;
     margin: 20px auto;
   }

   .nav_parent {
     display: flex;
     justify-content: space-between;
     align-items: center;
     width: 100%;
     padding-bottom: 0px;
   }

   .float_wrap .U_line {
     display: flex;
     justify-content: space-between;
     position: relative;
     font-size: 1.8rem;
   }

   .float_wrap .U_line>a {
     width: 100%;
     display: flex;
     flex-direction: column;
     gap: 4px;
     line-height: 1;
     position: relative;
     padding: 0;
     color: #ffffff;
   }

   .float_wrap .U_line>a:hover:after {
     opacity: 1;
   }

   .float_wrap .U_line.active>a::after {
     opacity: 1;
   }

   .float_nav .nav_child {
     position: absolute;
     left: 50%;
     top: calc(100% + 10px);
     transform: translateX(-50%);
     z-index: 4;
     width: 120px;
     visibility: hidden;
     opacity: 0;
     transition: all .3s;
     display: flex;
     flex-direction: column;
     gap: 4px;
     width: 150px;
   }

   .float_nav .nav_child li {
     background: #ffffff;
     width: 100%;
   }

   .float_nav .has-child a {
     position: relative;
   }

   .float_nav .has-child>a::before {
     content: "";
     width: 10px;
     height: 16px;
     background-image: url(../img/arrow.png);
     background-size: contain;
     background-repeat: no-repeat;
     background-position: center bottom;
     position: absolute;
     bottom: 0;
     right: 0;
     transform: rotate(90deg) translateY(-100%);
     transition: all 0.5s;
   }

   .float_nav .has-child li a {
     display: block;
     padding: 8px 0;
     width: 100%;
     height: 101%;
     font-size: 1.5rem;
   }

   nav li.has-child:hover>ul,
   nav li.has-child ul li:hover>ul,
   nav li.has-child:active>ul,
   nav li.has-child ul li:active>ul {
     visibility: visible;
     opacity: 1;
   }

   /*ナビゲーションaタグの形状*/
   .float_nav .nav_child li a {
     display: flex;
     justify-content: center;
     align-items: center;
   }

   .float_nav nav li.has-child ul li a:hover,
   .float_nav nav li.has-child ul li a:active {
     background: var(--pink);
     color: #ffffff;
   }

   .float_nav .has-child:hover>a::before {
     transform: rotate(270deg) translateY(100%);
   }

   .contact_btn {
     width: 130px;
   }

   .float_wrap.fixed .U_line>a {
     color: #514134;
   }

   .float_wrap.u_nav .U_line>a {
     color: #514134;
   }

   /* MV */
   .MV {
     aspect-ratio: 1920/900;
   }

   .mv_bg01 {
     position: absolute;
     width: 57%;
   }

   .mv_bg02 {
     position: absolute;
     width: 33%;
     height: 40%;
     background-image: url(../img/mv_02.webp);
     background-size: cover;
     background-position: center;
     bottom: 0;
     left: 0;
     z-index: 1;
   }

   .MV-text {
     position: absolute;
     width: 60%;
     max-width: 700px;
     left: 3vw;
     top: 45%;
     transform: translateY(-50%);
     z-index: 2;
   }

   .MV-text h2 {
     color: #707070;
     font-size: clamp(1.2rem, 1.6vw, 3.0rem);
     text-align: left;
     font-family: var(--ja);
     line-height: 1.8;
     font-weight: 400
   }

   /* sp_float*/
   #sp_float {
     display: none;
   }

   .inner {
     max-width: 1200px;
   }

   #top_news .inner {
     flex-direction: row;
     align-items: center;
     gap: 5%;
   }

   #top_news .section_ttl {
     width: 20%;
     min-width: 200px;
   }

   .news_wrap {
     width: 80%;
     height: 300px;
   }

   .news_wrap li {
     padding: 10px 0;
   }

   .news_wrap li a {
     display: flex;
     align-items: flex-start;
     flex-direction: row;
     gap: 40px;
     font-weight: 600;
   }

   .news_wrap li a .ttl {
     text-align: left;
   }

   #top_news::before {
     height: 40%;
   }

   #top_first .inner {
     max-width: none
   }

   #top_first .content {
     display: flex;
   }

   #top_first .bg {
     width: 50%;
     background-position: center right;
     margin-right: -5%;
   }

   #top_first .content_textWrap {
     width: 55%;
     padding: 2% 2% 2% 0;
   }

   #top_first .content_inner {
     align-items: flex-start;
   }

   #top_first .more {
     margin: 0 auto 0 0;
   }

   #top_menu {
     padding-bottom: 0;
   }

   #top_menu .content_wrap {
     width: 100%;
     margin: 0;
   }

   #top_menu .content {
     display: flex;
     flex-direction: row;
     align-items: center;
     gap: 20px;
   }

   #top_menu .content_textWrap {
     width: 280px;
   }

   #top_menu .content_imgWrap {
     width: calc(100% - 280px);
     display: flex;
     align-items: flex-end;
     gap: 0;
   }

   #top_menu .content_imgWrap a {
     position: relative;
     width: 400px;
     height: 200px;
     transform: none;
     margin-left: -100px;
   }

   .info {
     display: flex;
     align-items: flex-end;
     padding-bottom: 7vw;
   }

   .info .text_wrap {
     width: 65%;
     margin-bottom: auto;
   }

   .info .info_img {
     width: 50%;
     margin-left: -15vw;
     position: relative;
     z-index: 2;
     margin-bottom: -3vw;
     vertical-align: bottom;
   }

   .cr {
     position: relative;
   }

   #go_top {
     position: fixed;
     bottom: 40px;
     right: 40px;
     width: 60px;
     z-index: 50;
   }
 }

 .h2_ttl {
   margin-top: 60px;
   padding: max(2vw, 1rem) 0 max(10vw, 8rem);
   letter-spacing: 0.08em;
   color: #ffffff;
   font-size: min(5vw, 6rem);
   background-image: url(../img/h2_bg.webp);
   background-position: center bottom;
   background-size: cover;
   background-repeat: no-repeat;
 }

 .h2_ttl h2 {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   line-height: 1.5;
   font-size: clamp(2.0rem, 7vw, 4.5rem);
   font-weight: 500;
   font-family: var(--ja);
   color: #514134;
   letter-spacing: 0.1em;
   width: 90%;
   max-width: 1500px;
   margin: 0 auto;
 }

 .h2_ttl h2 span {
   color: var(--text-pink);
   font-size: clamp(1.8rem, 4vw, 2.4rem);
 }

 #first-flow {
   background-image: url(../img/flow_bg.webp);
   background-size: cover;
   background-position: center;
 }

 .flow_itemWrap {
   display: flex;
   flex-direction: column;
   gap: min(5vw, 50px);
   list-style: none;
 }

 .flow_item {
   background-color: #ffffff;
   border: 1px solid #514134;
   text-align: justify;
   padding: min(3vw, 4rem);
 }

 .content_ttl-wrap {
   display: flex;
   gap: 10px;
   font-size: clamp(2rem, 5vw, 3rem);
   font-family: var(--ja);
   letter-spacing: 0.1em;
 }

 .content_ttl-wrap .pink {
   color: #E9BAC3;
 }

 #first-faq {
   background-image: url(../img/faq_bg.webp);
   background-size: cover;
   background-position: center;
 }

 .accordion_wrap {
   display: flex;
   flex-direction: column;
   gap: min(3vw, 30px);
 }

 .accordion {
   background-color: #ffffff;
   border: 2px solid #514134;
 }

 .toggle {
   display: none;
 }

 .Label {
   /*タイトル*/
   padding: min(1vw, 12px) min(2vw, 40px);
   display: block;
   text-align: left;
   background-color: #514134;
   color: #ffffff;
 }

 .Label::before {
   content: "";
   width: min(5vw, 30px);
   height: 2px;
   background-color: #ffffff;
   position: absolute;
   top: 50%;
   right: 10px;
   transform: translateY(-50%);
   z-index: 1;
   transition: all 0.3s;
 }

 .Label::after {
   content: "";
   width: 2px;
   height: min(5vw, 30px);
   background-color: #ffffff;
   position: absolute;
   top: 50%;
   right: calc(min(2.5vw, 15px) + 9px);
   transform: translateY(-50%);
   z-index: 1;
   transition: all 0.3s;
 }

 .Label,
 .a_content {
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   transform: translateZ(0);
   transition: all 0.3s;
 }

 .a_content {
   /*本文*/
   height: 0;
   padding: 0 min(2vw, 40px);
   overflow: hidden;
   text-align: left;
 }

 .toggle:checked+.Label+.a_content {
   /*開閉時*/
   height: auto;
   padding: 10px min(2vw, 40px) 20px;
   transition: all .3s;
 }

 .toggle:checked+.Label::after {
   opacity: 0;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .h2_ttl {
     margin-top: 130px;
     padding: 2vw 0 13vw;
   }

   #first-flow {
     padding-bottom: 100px;
   }

   .flow_itemWrap {
     margin-bottom: 0;
   }
 }

 #menu01_wrapper main {
   padding-top: min(8vw, 120px);
 }

 #menu02_wrapper main {
   padding-top: min(8vw, 120px);
 }

 #face {
   background-image: url(../img/menu_bg.webp);
   background-size: cover;
   background-position: center;
   padding: min(12vw, 100px) 0 min(14vw, 200px);
 }

 #face .inner {
   gap: min(10vw, 100px);
 }

 .menu_itemWrap {
   display: flex;
   flex-direction: column;
   gap: min(10vw, 100px);
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
 }

 .menu_item {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: min(5vw, 50px);
   width: 100%;
   max-width: 1000px;
   margin: 0 auto;
 }

 .menu_ttl {
   background-color: #F1999F;
   color: #ffffff;
   font-family: var(--ja);
   font-size: clamp(2rem, 4vw, 3.3rem);
   line-height: 2;
   width: 100%;
 }

 .menu_item .content {
   display: flex;
   flex-direction: column;
   gap: min(5vw, 50px);
   width: 100%;
   max-width: 1000px;
 }

 .menu_item p {
   text-align: justify;
   width: 100%;
   max-width: 900px;
 }

 .menu_table {
   border: 1px solid #514134;
   border-bottom: none;
   width: 100%;
   max-width: 900px;
 }

 .menu_table th {
   background-color: #514134;
   border-bottom: 1px solid #514134;
   color: #ffffff;
   font-weight: 400;
   padding: min(0.5vw, 14px);
   font-size: clamp(1.4rem, 4vw, 2rem);
 }

 .menu_table td {
   padding: min(0.5vw, 20px);
   border-bottom: 1px solid #514134;
   background-color: #ffffff;
   font-weight: 400;
   font-size: clamp(1.2rem, 3vw, 1.8rem);
   word-break: keep-all;
   vertical-align: middle;
 }

 .menu_table td:first-of-type {
   width: 65%;
   border-right: 1px solid #514134;
 }

 #remove {
   background-image: url(../img/remove_bg.webp);
   background-size: cover;
   background-position: center;
 }

 #remove .inner {
   gap: min(10vw, 100px);
 }

 #nail {
   background-image: url(../img/nail_bg01.webp);
   background-size: cover;
   background-position: center;
 }

 #nail .inner {
   gap: min(10vw, 100px);
 }

 #slimming {
   background-image: url(../img/slimming_bg.webp);
   background-size: cover;
   background-position: center;
 }

 #slimming .inner {
   gap: min(10vw, 100px);
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .menu_item .content {
     flex-direction: row;
     align-items: center;
   }

   .menu_table td:first-of-type {
     width: 60%;
   }
 }

 #about_wrapper main {
   padding-top: min(8vw, 120px);
 }

 #about-01 {
   background-image: url(../img/aboout_bg.webp);
   background-size: cover;
   background-position: center;
   padding: min(12vw, 100px) 0 min(14vw, 200px);
 }

 #about-01 .inner {
   gap: min(10vw, 100px);
 }

 #about-01 .content_wrap {
   display: flex;
   flex-direction: column;
   gap: min(5vw, 50px);
   width: 100%;
 }

 #about-01 .content {
   display: flex;
   flex-direction: column;
   gap: min(5vw, 50px);
   width: 100%;
 }

 .about_table {
   border: 1px solid #D09B94;
   border-bottom: none;
   width: 100%;
   max-width: 600px;
   margin: 0 auto;
   font-size: clamp(1.2rem, 3vw, 1.8rem);
   text-align: left;
 }

 .about_table th {
   background-color: #D09B94;
   border-bottom: 1px solid #D09B94;
   color: #ffffff;
   font-weight: 400;
   padding: min(0.5vw, 20px) min(1vw, 20px);
   width: 30%;
   max-width: 200px;
 }

 .about_table td {
   padding: min(0.5vw, 20px) min(1vw, 20px);
   border-bottom: 1px solid #D09B94;
   background-color: #ffffff;
   font-weight: 400;
   word-break: keep-all;
 }

 #about-01 #map {
   width: 100%;
   max-width: 900px;
   max-height: 400px;
 }

 /* pcスタイル */
 @media screen and (min-width: 1200px) {
   #about-01 .content {
     flex-direction: row;
     align-items: center;
     gap: min(5vw, 50px);
     max-width: 1200px;
   }

   #about-01 .content_img {
     max-width: 550px;
   }

   .about_table {
     text-align: center;
   }

   .about_table th {
     padding: 0;
     line-height: 2.8;
   }

   .about_table td {
     padding: 0;
   }
 }

 #contact_wrapper main {
   padding-top: min(8vw, 120px);
 }

 #contact-01 {
   background-image: url(../img/contact_bg.webp);
   background-size: cover;
   background-position: center;
   padding: min(12vw, 100px) 0 min(14vw, 200px);
 }

 #contact-01 .inner {
   gap: min(10vw, 100px);
 }

 #contact-01 .content {
   padding: min(5vw, 100px) 0 min(5vw, 200px);
   background-color: #ffffff;
 }

 .form_outer {
   width: 100%;
   max-width: 1280px;
   margin: 0 auto;
 }

 form {
   margin: 0 auto;
   width: 90%;
   max-width: 750px;
   text-align: left;
   line-height: 3;
   container-type: inline-size;
   container-name: form;
   font-size: clamp(1.2rem, 3vw, 1.6rem);
 }

 .form_item--ttl {
   background-color: #D09B94;
   color: #ffffff;
   line-height: 2;
   font-weight: 400;
   padding: 2%;
   border: 1px solid #D09B94;
   border-bottom: none;
   gap: 8px;
 }

 .must {
   color: #FF0000;
   margin-left: 10px;
 }

 .form_item--input {
   padding: 2%;
   background-color: #F6F6F6;
   border: 1px solid #D09B94;
   border-bottom: none;
 }

 label {
   display: inline-block;
 }

 input[type="text"],
 input[type="tel"],
 input[type="email"],
 select,
 textarea {
   display: block;
   height: 48px;
   width: 100%;
   font-size: 2.0rem;
   padding: 6px;
   background-color: #ffffff;
   border: none;
 }

 textarea {
   height: 252px;
   resize: vertical;
 }

 .form_item:nth-of-type(4) .form_item--input {
   border-bottom: 1px solid #D09B94;
 }

 .form_submit button {
   width: 80%;
   max-width: 345px;
   margin: 40px auto 0;
   position: relative;
   display: flex;
   justify-content: center;
   align-items: center;
   border: none;
   transition: all 0.5s;
   padding: 0;
   background-color: #ffffff;
 }

 .form_submit button:hover {
   opacity: 0.7;
 }

 .form_submit button p {
   font-size: 2.2rem;
   color: #ffffff;
   text-align: left;
   font-weight: 400;
   letter-spacing: 0.1rem;
 }

 #contact_wrapper #top_recruit {
   display: none;
 }

 /* pcスタイル */
 @media screen and (min-width: 960px) {
   .form_item {
     display: flex;
     justify-content: center;
     align-items: flex-start;
     max-width: 1100px;
     margin: 0 auto;
   }

   .form_item--ttl {
     padding: 15px 40px;
     width: 40%;
     margin: 0;
     height: 80px;
     line-height: 1;
     text-align: center;
     border-right: none;
     display: flex;
     flex-direction: column;
     justify-content: center;
     border-bottom: 1px solid #F6F6F6;
   }

   .must {
     margin-left: 0;
   }

   .form_item--input {
     width: calc(100% - 300px);
     margin: 0;
     padding: 15px 30px;
     line-height: 1;
     height: 80px;
   }

   .form_item--input label {
     line-height: 1;
   }

   .form_item:nth-of-type(4) .form_item--ttl {
     height: 300px;
     border-bottom: 1px solid #D09B94;
   }

   .form_item:nth-of-type(4) .form_item--input {
     height: 300px;
     border-bottom: 1px solid #D09B94;
   }

   .form_submit button {
     margin: 40px auto 0;
   }
 }