/*------------------------------------------------------------------------------
  PC or ALL 
------------------------------------------------------------------------------*/

.pc .header-logo,
.pc .footer .logo{
  width: 309px;
}
.header-nav > ul > li .en{
  font-family: "Zen Antique Soft", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
}
.header-nav > ul > li > a span.title{
  color: #d98e9e;
  font-family: "Libre Baskerville", serif;
  font-weight: 400;
  font-style: italic;
}
.mainvisual{
  max-height: 840px;
  height: 100vh;
}
.mainvisual .swiper-wrapper{
  max-width: 1540px;
  margin-left: auto;
}
.pc .mainvisual-catch{
  bottom: 50%;
  left: 5vw;
  transform: translate(0,50%);
}
.mainvisual .swiper-wrapper img{
  border-radius: 40px 0 0 40px;
}
.pc .mainvisual-catch div.copy{
  font-size: 6.2rem;
}
.mainvisual-catch div.copy{
  color: #6b4f4b;
  font-weight: 400;
}
.pc .mainvisual-catch div.sub-text{
  font-size: 2.6rem;
}
.mainvisual-catch div.sub-text{
  color: #d98e9e;
  font-family: "Zen Antique Soft", serif;
  font-weight: 400;
  font-style: normal;
}
.mv-copy-image-wrap{
  display: flex;
  gap: 10px;
  margin-top: 45px;
}

.box-wrap.sm{
  max-width: 1124px;
  padding: 0;
}
.title-type02, .title-type04{
  padding-bottom: 0;
}
.box h2.box-h2{
  color: #6b4f4b;
}
.title-type01:before, .title-type03:before,
.title-type02:before, .title-type04:before{
  display: none;
}
.title-type01 span:nth-child(2), .title-type02 span:nth-child(2), .title-type03 span:nth-child(2), .title-type04 span:nth-child(2){
  font-size: 2rem;
  opacity: 1;
  color: #d98e9e;
  font-weight: 400;
}
.box .btn a{
  background: #d7a6b3;
}


.box-wrap.sm.main-problem{
  .text li{
    font-family: "Zen Antique Soft", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.8rem;
  }
  .text p{
    margin: 0;
  }
  .image-text-type03.right .text:before{
    background: #faf7f5;
    border-radius: 30px;
  }
  .image-text-type03 .image{
    border-radius: 30px;
  }
}

.box-wrap.bg.main-trouble{
  padding-left: 4vmin;
  padding-right: 4vmin;
  .box h2.box-h2{
    font-size: 5rem;
  }
  .image-text-type03 .text:before{
    background: #fff;
    border-radius: 30px;
  }
  .image-text-type03 .image{
    border-radius: 30px;
  }
  .box-h3{
    color: #6b4f4b;
    margin-bottom: 30px;
  }
  .copy{
    color: #d98e9e;
    font-weight: 400;
    margin-bottom: 55px;
  }
  .box.image-text-type03 .box-h3, .box.image-text-type03 .copy, .box.image-text-type03 p, .box.image-text-type03 .btn{
    max-width: 570px;
  }
  .image-text-type03 .text:after{
    content: '';
    position: absolute;
    bottom: 120px;
    right: 0;
    transform: translate(0,0);
    width: 167px;
    height: 182px;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/text-bg.png) no-repeat center center / contain;
  }
}
.box-wrap.bg.main-trouble::before{
  background: #f9f2f6;
}
.box-wrap.bg.main-trouble::after{
  content: '';
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translate(-50%,0);
  width: 206px;
  height: 108px;
  background: url(/mwp/wp-content/themes/mwp-theme/assets/images/arrow.png) no-repeat center center / contain;
}

.box-wrap.sm.main-media{
  .box .btn{
    text-align: center;
  }
}

.box-wrap.sm.main-voice{
  .box h3.box-h3{
    color: #d98e9e;
  }
  .image{
    border-radius: 15px;
  }
  .box .copy{
    color: #6b4f4b;
  }
  .box .copy.ja{
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }
}

.box-wrap.bg.main-reason{
  .list-number-type02 ol{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 60px 30px;
  }
  .list-number-type02:after{
    display: none;
  }
  .list-number-type02 ol li:before{
    border: none;
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: italic;
    font-size: 5.2rem;
    color: #fff;
    width: 105px;
    height: 115px;
    text-align: center;
    line-height: 115px;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/number-bg.png) no-repeat center center / contain;
  }
  .box h3.box-h3{
    color: #d98e9e;
  }
  .list-number-type02{
    padding-bottom: 0;
  }
}
.box-wrap.bg.main-reason::before{
  background: #f9f2f6;
}

.pc .box-wrap.sm.main-symptoms{
  .banner-type03{
    margin-bottom: 30px;
  }
  .banner-type03 ul:has(> :nth-child(4)){
    grid-template-columns: repeat(4,1fr);
  }
}
.box-wrap.sm.main-symptoms{
  .banner-type03 ul li{
    background: none;
  }
  .banner-type03 ul li .text{
    background: #a1c795;
    color: #fff;
    position: relative;
  }
  .banner-type03 ul li .text::before{
    content: "\e5cc";
    position: absolute;
    top: 50%;
    right: 25px;
    font-family: "Material Symbols Outlined";
    font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
    line-height: 1;
    transform: translateY(-50%);
  }
  .text a{
    color: #fff;
  }
  .banner-type03 ul li .text .ja{
    font-weight: 400;
    font-size: 2.8rem;
  }
  .banner-type03 ul li .text{
    flex-direction: row;
    justify-content: flex-start;
  }
}

.box-wrap.sm.main-course{
  position: relative;
  .image{
    border-radius: 30px;
  }
  .text{
    position: relative;
    z-index: 2;
    color: #6b4f4b;
  }
  .image-bg-type02 .text h3{
    color: #6b4f4b;
    line-height: 1;
  }
  .image-bg-type02 .text h3 span{
    font-size: 2rem;
    color: #d98e9e;
  }
  .box .btn a{
    background: #a1c795;
  }
}
.box-wrap.sm.main-course::before{
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 95%;
  height: 90%;
  background: rgba(255,255,255,0.8);
  border-radius: 30px;
  z-index: 1;
}

.pc .contact-type01 .title{
  max-width: 800px;
  font-size: 4.5rem;
  line-height: 50px;
}
.pc .contact-type01 .title .en{
  font-size: 2.6rem;
}
.contact-type01 .text{
  max-width: 800px;
}
.pc .contact-type01 .text .datetime{
  margin: 2vh 0 2vh 0;
}
.pc .contact-type01 .text .btn div a, .contact-type02 .text .btn div a{
  padding: 25px 120px 25px 130px;
  border-radius: 50px;
  font-size: 2.3rem;
}
.contact-type01 .text .btn div a:after{
  content: '\ebcc';
  left: 85px;
}
.contact-type01 .text .btn div:nth-child(2) a:after{
  content: '';
  mask: url(../images/sns/line-fill.svg) no-repeat center center / contain;
  -webkit-mask: url(../images/sns/line-fill.svg) no-repeat center center /
    contain;
  background: #fff;
  width: 30px;
  height: 30px;
}

.box-wrap.sm.main-message{
  .image-text-type03 .image{
    border-radius: 30px;
  }
  .image-text-type03 .text:before{
    border-radius: 30px;
    background: #faf7f5;
  }
  .box.image-text-type03 .box-h3, .box.image-text-type03 .copy, .box.image-text-type03 p, .box.image-text-type03 .btn{
    max-width: 550px;
  }
  .copy.ja{
    color: #d98e9e;
    font-weight: 400;
  }
  .box .btn a{
    background: #a1c795;
  }
  .image-text-type03 .text:after{
    content: '';
    position: absolute;
    bottom: 160px;
    right: 0;
    transform: translate(0,0);
    width: 167px;
    height: 182px;
    background: url(/mwp/wp-content/themes/mwp-theme/assets/images/text-bg.png) no-repeat center center / contain;
  }
}

.box-wrap.sm.main-column{
  .banner-type02 ul li{
    background: #f9f2f6;
  }
  .banner-type02 ul li .text{
    color: #6b4f4b;
  }
  .box .copy{
    color: #d98e9e;
    font-weight: 400;
    font-size: 3.2rem;
  }
  .banner-type02 ul li .text .btn a{
    background: #a1c795;
  }
  .banner-type02 ul li{
    border-radius: 15px 15px 0 0;
  }
}
.box-wrap.sm.main-column > .copy{
  font-size: 2.2rem;
  position: relative;
}
.box-wrap.sm.main-column > .copy::before{
  content: "\e313";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translate(-50%,0);
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
  line-height: 1;
}

.box-wrap.sm.main-blog,
.box-wrap.sm.main-insta{
  .box .btn a{
    background: #a1c795;
  }
}

.box-wrap.sm.main-news{
  .box-h2{
    display: flex;
    align-items: baseline;
    gap: 15px;
  }
  .blog-type03 ul li .date{
    font-family: "Libre Baskerville", serif;
    font-weight: 400;
    font-style: italic;
    font-size: 1.4rem;
    color: #6b4f4b;
  }
  .blog-type03 ul li h3.box-h3{
    font-size: 1.4rem;
    color: #6b4f4b;
  }
}

.box-wrap.xl.footer-con{
  margin-bottom: 0;
  .box{
    margin-bottom: 0;
  }
}
.box-wrap.xl.footer-map{
  margin-bottom: 0;
}
.box-wrap.bg.footer-about{
  margin-top: -8px;
  margin-left: calc(50% - var(--vw) * 50);
  margin-right: calc(50% - var(--vw) * 50);
  padding-left: 4vmin;
  padding-right: 4vmin;
  .box.row.row-2{
    margin-bottom: 0;
    align-items: center;
  }
  .image{
    border-radius: 30px;
  }
  .table-type01 table th{
    border-bottom: 1px solid #fff;
    color: #d98e9e;
  }
  .table-type01 table th:first-child{
    border-top: 1px solid #fff;
  }
  .table-type01 table td{
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }
}
.box-wrap.bg.footer-about::before{
  background: #f9f2f6;
}

.footer-sub .copyright{
  font-size: 1.2rem;
}

.pc .form-table th{
  width: 20%;
  max-width: 200px;
}
.w100 strong{
  color: #489854;
}

.sns-icon-list li a{
  background: #a1c795;
}

.fixed-footer{
  padding: 15px 4vmin;
  background: #e1a5b1;
}
.fixed-footer p{
  color: #fff;
  font-size: 2.3rem;
  font-weight: 400;
  margin-right: 25px;
}
.fixed-footer .contact a{
  background: #fff;
  color: #d98e9e;
  font-weight: 400;
  font-size: 1.6rem;
  padding: 6px 35px 4px 35px;
}
.fixed-footer .contact.footer-line{
  margin-left: 7px;
}
.fixed-footer .contact a:before{
  content: '\ebcc';
}
.fixed-footer .contact.footer-line a::before{
  content: '';
  mask: url(../images/sns/line-fill.svg) no-repeat center center / contain;
  -webkit-mask: url(../images/sns/line-fill.svg) no-repeat center center /
    contain;
  background: #d98e9e;
  width: 20px;
  height: 20px;
}

.form-table td .agew100{
  display: flex;
  align-items: center;
  gap: 10px;
}
.pc .form-table td .w100,
.pc .form-table input[type="text"],
.pc .form-table input[type="email"]{
  width: auto;
  max-width: 100%;
}


/* ======================================
2025/3/7 added by tsuji
======================================== */

/* --------------- イカロス見出しテキストのmargin --------------- */

/*見出しテキストのmargin*/
.page-content h2:not([class]),
.page-content h3:not([class]),
.page-content h4:not([class]) {
	margin: var(--text-margin) 0 20px 0;
}

/* --------------- BOX化 --------------- */

.box001 {
    padding: 5px 30px;
    margin: 25px 0;
    background: #FFF9F2;
}

/* --------------- スタッフ紹介 --------------- */

.box002 {
    padding: 5px 30px;
    margin: 25px 0;
    background: #FDE9EE;
}

/* --------------- 施術の流れ ---------------  */

.page-id-963 .list-flow-type01 > ul > li .text:before {
    content: "";
    position: absolute;
    top: 11px;
    left: -48px;
    width: 8px;
    height: 8px;
    background: none;
    border-radius: 4px;
}


/* --------------- Q&Aテーブル2 下線 --------------- */

.table_qa{
    margin: 0 0 0.8em 0;
    padding: 0;
    margin-bottom:40px;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
/* --- スマホサイトはwidthを15%に設定 --- */
.table_qa th{
    padding: 10px;
    width: 6%;
}
.table_qa td{
    padding: 10px;
}
.table_qa tr:nth-child(2n-1) td{
	font-size:18px;
}
.table_qa tr:nth-child(2n){
    background:#FFF9F2;
}
.table_qa tr:nth-child(2n) th{
	vertical-align:top;
}

.table_qa p{
    margin: 5px !important;

}

/* --------------- 料金表テーブル --------------- */

.table-fee {
	margin-bottom:-15px;
}

.table-fee th {
	background-color: #D7A6B3;
	border: 2px solid #fff;
	text-align:center;
	vertical-align:middle;
	color:#fff;
	padding:15px;
}
.table-fee td {
	background-color: #FFF9F2;
	border: 2px solid #fff;
	vertical-align:middle;
	padding:15px;
}

/* --------------- 眼精疲労 --------------- */

.table-eyestrain-fatigue {
	margin-bottom:-15px;
}

.table-eyestrain-fatigue th {
	background-color: #D7A6B3;
	border: 3px solid #fff;
	text-align:center;
	vertical-align:middle;
	color:#fff;
	padding:15px;
}
.table-eyestrain-fatigue td {
	background-color: #FFF9F2;
	border: 3px solid #fff;
	padding:15px;
}

.table-eyestrain-fatigue p{
    margin: 5px !important;

}

.box003 {
    padding: 20px 30px;
    margin: 25px 0;
    background: #FFF9F2;
}


/* チェックしてもらう部分の頭をそろえ */
.mwform-radio-field,.horizontal-item{
  display: block;
}
.mw_wp_form .horizontal-item + .horizontal-item{
  margin-left: 0 !important;
}

/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {
  .mainvisual-catch div.copy,
  .mainvisual-catch div.sub-text{
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.8); 
  }
  .box-wrap.sm.main-column {
    .box .copy{
      font-size: 2.2rem;
    }
  }
  .box-wrap.sm.main-message{
    .text{
      background: #faf7f5;
    }
  }
  .box-wrap.sm.main-symptoms{
    .box.banner-type03{
      margin-bottom: 15px;
    }
    .banner-type03 ul li .text::before{
      right: 5px;
      font-size: 3rem;
    }
  }
  .box-wrap.bg.main-reason {
    .list-number-type02 ol{
      grid-template-columns: repeat(2,1fr);
    }
    .list-number-type02 ol li:before{
      font-size: 3rem;
      width: 60px;
      height: 60px;
      line-height: 60px;
    }
  }
  .box-wrap.bg.main-trouble{
    .text{
      background: #faf7f5;
    }
    .box h2.box-h2{
      font-size: 2.8rem;
    }
    .image-text-type03 .text:after{
      bottom: 50px;
      right: 20px;
    }
  }
  .box-wrap.sm.main-symptoms {
    .banner-type03 ul li .text .ja{
      font-size: 2.2rem;
    }
  }
  .contact-type01 .title .ja{
    font-size: 2.8rem;
  }
  .contact-type01 .title .en{
    font-size: 2rem;
  }
  .sphone-fixed-footer ul li.contact a:before{
    content: '\ebcc';
  }
  .sphone-fixed-footer ul li.sp-footer-line a:before{
    content: '';
    mask: url(../images/sns/line-fill.svg) no-repeat center center / contain;
    -webkit-mask: url(../images/sns/line-fill.svg) no-repeat center center /
      contain;
    background: #fff;
    width: 20px;
    height: 20px;
  }
  
/* --------------- Q&Aテーブル2 下線 --------------- */

.table_qa{
    margin: 0 0 0.8em 0;
    padding: 0;
    margin-bottom:40px;
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
/* --- スマホサイトはwidthを15%に設定 --- */
.table_qa th{
    padding: 10px;
    width: 15%;
}
.table_qa td{
    padding: 10px;
}
.table_qa tr:nth-child(2n-1) td{
	font-size:18px;
}
.table_qa tr:nth-child(2n){
    background:#FFF9F2;
}
.table_qa tr:nth-child(2n) th{
	vertical-align:top;
}

.table_qa p{
    margin: 5px !important;

}

/* --------------- 固定スクロールテーブル --------------- */

.scroll{
    overflow-x:auto;
    overflow-y:hidden;
}

.scroll table{
    min-width: 800px;
}

/* --------------- 料金表テーブル --------------- */

.scroll-2{
    overflow-x:auto;
    overflow-y:hidden;
}

.scroll-2 table{
    min-width: 700px;
}


}
