@charset "UTF-8";/*
Theme Name: Xeory Extension Child
Template: xeory_extension
Version: 1.0
*/

@import url("../xeory_extension/style.css");

/* ------------------------------
   全体共通（リセット・ベーススタイル）
------------------------------ */

body {
  background-color: #fff !important;
  background-image: none !important;
  color: #231815 !important;
  font-family: "Noto Sans JP", sans-serif !important;
}

#main, #content {
	font-family: "Noto Sans JP", sans-serif !important;
}

h1, h2, h3, h5, h6 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

#header,
.header,
.site-header {
  background-color: #fff !important;
}

#header {
  position: relative !important;
  z-index: 1000 !important;
  overflow: visible !important; 
}

/* パンくず */
.breadcrumb-area{
	border-bottom: none !important;
}

.breadcrumb {
	font-size: 0.7rem !important;
}

.breadcrumb-area .breadcrumb a {
  color: #F07B39;
  text-decoration: none;
}

.breadcrumb-area .breadcrumb a:hover {
  text-decoration: underline; 
}



body {
  background-color: #fff !important;
}

#main_visual .wrap,
#main_visual .swiper,
#main_visual .swiper-wrapper,
#main_visual .swiper-slide {
  background-color: #fff !important;
}

/* ヘッダー上部のカラーライン */
#header::before {
  content: "";
  display: block;
  height: 4px;
  width: 100%;
  background-color: #8A8A8A;
}

/* 共通 ヘッダー */
#gnav-container {
  background-color: #fff !important;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

#header-right {
  display: flex;
  align-items: center;
}

#gnav-container ul li {
  background-color: #fff !important;
  margin: 0;
  padding: 0;
  line-height: 1; /* 鬮倥＆隱ｿ謨ｴ縺ｮ縺溘ａ縺ｫ霑ｽ蜉  */
}

#gnav-container ul li a {
  display: block;
  /* padding: 12px 16px; */
  color: #231815 !important;
  background-color: #fff !important;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.4;
  transition: color 0.3s;
}

#gnav-container ul li a:hover {
  color: #F07B39 !important;
}

#header-nav-btn a {
  display: inline-block;;
  text-align: right;
  background-color: #fff;
  color: #231815 !important;
  padding: 8px 12px;
  font-size: 1.8rem;
  border-radius: 4px;
  text-decoration: none;
  width: 100%;
}

#header-nav-btn a::before {
  color: #231815 !important;
}

#footer-brand-area{
	padding-bottom: 2% !important;
}

/* CTA LINEボタン */
.cta-single-wrap {

}
.cta-desc {
  font-size: 1.05rem;
  line-height: 1.6;
  font-family: "Zen Maru Gothic", sans-serif;
	text-align: center;

  margin: 0 auto 1.2em;
  padding: 0 2%;
}

.cta-single {
  display: flex;
  justify-content: center;
  margin: 0 auto; 
  padding: 0;
}

.cta-single-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  background-color: #06C755;
  color: #fff !important;

  padding: 0.9em 2.4em;
  border-radius: 999px;

  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none !important;
  transition: background-color 0.3s ease;
  font-family: "Zen Maru Gothic", sans-serif;
}

.cta-single-btn:hover {
  background-color: #04A445;
}

.line-icon img {
  width: 35px;
  height: 35px;
  display: block;
  object-fit: contain;
}



/* 下部マージン */
.mb0{
  display: block;
  margin-bottom: 0% !important;
}

.mb1{
  display: block;
  margin-bottom: 1%;
}

.mb2{
  display: block;
  margin-bottom: 2%;
}

.mb3{
  display: block;
  margin-bottom: 3%;
}

.mb4{
  display: block;
  margin-bottom: 4%;
}

.mb5{
  display: block;
  margin-bottom: 5%;
}

.mb6{
  display: block;
  margin-bottom: 6%;
}

.mb7{
  display: block;
  margin-bottom: 7%;
}

.mb8{
  display: block;
  margin-bottom: 8%;
}

.mb9{
  display: block;
  margin-bottom: 9%;
}

.mb10{
  display: block;
  margin-bottom: 10%;
}


.centerTxt{
	text-align: center;
}

.OrTxt{
	color: #F07B39;
}


/* ------------------------------
   PC・SP 共通
   （例：max-width指定や汎用パーツ）
------------------------------ */
.common-class {
  max-width: 1300px;
  margin: 0 auto;
}



/* 共通 TOPカルーセル */
#main_visual {
  width: 100%;
  overflow: hidden;
  background-color: #fff !important;
  background-image: none !important;
  padding: 0 !important;
  min-height: auto !important;
  line-height: normal !important;
  position: relative;
}

.swiper-slide {
  position: relative;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  display: block;
}

.swiper,
.swiper-wrapper,
.swiper-slide {
  height: auto !important;
}

#main_visual .swiper {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

#main_visual .swiper-slide img {
  max-width: 1300px;
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}


.swiper-pagination {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
}

.swiper-pagination-bullet {
  background-color: #F07B39;
  opacity: 0.4;
}

.swiper-pagination-bullet-active {
  background-color: #C2C2C2;
  opacity: 1;
}


/* 共通 section.parts */
section.parts div.partsIn div.partsTit p {
   font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  font-style: normal;
}

section#recommended{
	background: #FDEBE1;
}

section#ourdoctor{
	background: #F0F0F0;
}

section#benefits{
	background: #FDEBE1;
}

section#faq{
	background: #F0F0F0;
}

section#lightOrArea{
	background: #FDEBE1;
}

section#lightOrArea ul{
	margin-bottom: 0 !important;
}

section#lightOrArea .inner{
	background: #fff;
	padding: 4% 12%;
}

section#lightOrArea h3{
	text-align: center;
	font-size: 1.3rem;
	margin-bottom: 2%;
}

/* 蜈ｱ騾� section-label */
.section-label {
  position: absolute;
  top: 20px;
  left: 15px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.8s ease-out;
  padding-left: 20px; 
}

.section-label.show {
  opacity: 1;
  transform: translateY(0);
}

.section-label::before {
  content: "";
  position: absolute;
  left: -120px;
  top: 0;
  width: 130px;
  height: 2px;
  background-color: #8A8A8A;
}

/* 共通 section-label */
.section-label .letter {
  display: block;
  transform: rotate(90deg);
  transform-origin: center center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-size: 1.1rem;
  color: #8A8A8A;
  line-height: 1;
  margin-bottom: -4px; 
  letter-spacing: -0.05em; 
  padding: 0;
  height: 1em;
}

/* 共通 .doctorBox */
.doctorBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center; 
  width: 60%;
  margin: 0  auto;
}

.doctorBox picture {
  flex: 0 0 30%;
  max-width: 30%;
  margin-right: 30px;
}

.doctorBox picture img {
  width: 100%;
  height: auto;
  display: block;
}

.doctorBox dl {
  flex: 1;
  padding: 0;
  margin-bottom: 0 !important;
}

.doctorBox dt {
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 8px;
}

.doctorBox dd {
  margin: 0;
}

/* 共通 footer */
footer#footer{
	border-top: 0  !important;
}

#footer-brand-area {
    border-bottom: 1px solid #8A8A8A !important;
	margin-bottom: 3%;
}

.footer-01{
	background: #F0F0F0 !important;
	color: #231815 !important;
	padding: 3% 0 !important;
}

.footer-logo img {
}

.footer-info p {
  margin: 2px 0;
  font-size: 0.9rem;
  color: #333;
}

.footer-note p {
  margin: 0;
  font-size: 0.7rem;
  background: #F0F0F0 !important;
  color: #231815!important;
	text-align: center;
	padding: 2%;
}

#footer-content-area #footer-cont-content li a{
	color: #231815 !important;
}

#footer-content-area #footer-cont-about li:before, #footer-content-area #footer-cont-content li:before{
	background: #231815 !important;
}

#footer .wrap{
	padding: 2%;
}

#footer-cont-content{
	width: 100% !important;
}

#footer-gnav-ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: flex-start;
}

#footer-gnav-ul li {
  margin: 0;
	font-size: 0.76rem;
}

#footer-gnav-ul li a {
  text-decoration: none;
  display: inline-block;
}

/*　共通 contact-section 　*/
#contact-section .partsIn .wrapIn {
  border: solid 8px #F0F0F0 !important;
  border-radius: 20px;
  width: 80%;
  margin: 0 auto;
  padding: 6%;
}

#contact-section .partsTit {
  text-align: center;
}

#contact-section .center-text {
  text-align: center;
}

#contact-section .center-btn {
  text-align: center;
}

#contact-section .links-btn {
	display: inline-block;
	padding: 2% 6%;
	border: 2px solid #F07B39;
	border-radius: 999px;
	background-color: #fff;
	color: #F07B39;
	text-decoration: none;
	transition: all 0.3s ease;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 1.2rem;
}

#contact-section .links-btn:hover {
  background: #F07B39;
  color: #fff;
}

#contact-section .links-btn-reserve {
	display: inline-block;
	padding: 2% 6%;
	border-radius: 999px;
	background-color: #F07B39;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s ease;
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

#contact-section .links-btn-reserve:hover {
  background: #F0A32C;
}

/* contact-section LINEボタン */
#contact-section .line-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;

  background-color: #06C755;
  color: #fff !important;

  border-radius: 999px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;

  text-decoration: none !important;
  transition: background-color 0.3s ease;
}

#contact-section .line-btn:hover {
  background-color: #04A445;
}


.kv-section {
  width: 100%;
  background-color: #fff; 
}

.kv-wrap {
  max-width: 1300px;
  margin: 0 auto;
}

.kv-wrap img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0; 
}	

.kv-text{
	text-align: center;
	padding: 6% 0;
}

.kv-text h1{
	font-size: 2.0rem;
	line-height:2.3rem;
	margin: 0 !important;
}

.kv-text p{
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	font-style: normal;
	position: relative;
	display: inline-block;
	margin-bottom: 0 !important;
	color: #8A8A8A;
}

	
.kv-text p:before {
  content: '';
  position: absolute;
  bottom: -12px;
  display: inline-block;
  width: 94px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F07B39;
  border-radius: 2px;
}


/* 共通 section#faq */
.faq-section {
  margin-top: 3em;
}
.faq-item {
  background: #fff;
  border-radius: 20px;
  padding: 2%;
	margin-bottom: 2%;
}
.faq-question {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.toggle-icon {
  font-size: 1.5em;
  transition: transform 0.3s ease;
}
.faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 1% 2% 0 2%;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}

.faq-answer p {
  margin-bottom: 0 !important;
}

.faq-item.open .faq-answer {
  max-height: 1000px;
  opacity: 1;
}

.faq-item .toggle-icon {
  transition: transform 0.3s ease;
  display: inline-block;
}
.faq-item.open .toggle-icon {
  transform: rotate(45deg); /* �九ｒﾃ励↓ */
}


/* 共通　#terms-content */
#terms-content dl{
	
}

#terms-content dl dt{
	font-weight: bold;
}

/* 共通 form  */
.form-confirm {
  display: none;
}

/* 共通：Contact Form 7 のフォーム全体 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
}

.required-label,
.optional-label {
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.4em 0.4em;
  margin-right: 0.5em;
  border-radius: 3px;
  line-height: 1;
  vertical-align: middle;
}

.required-label {
  background-color: #F07B39;
  color: #fff;
}

.optional-label {
  background-color: #8A8A8A;
  color: #fff;
}

.button-orange {
  background-color: #F07B39 !important;
  color: #fff;
  border-radius: 999px;
  border: none;
  padding: 0.8em 2em;
  font-size: 1rem;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

.button-orange:hover {
  background-color: #F0A32C !important;
}

.button-gray {
  background-color: #8A8A8A !important;
  color: #fff;
  border: none;
  padding: 0.8em 1.5em;
  font-size: 1rem;
  border-radius: 30px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.button-gray:hover {
  background-color: #6a6a6a;
}

/* 繝懊ち繝ｳ縺ｮ驟咲ｽｮ��C讓ｪ荳ｦ縺ｳ�� */
.confirm-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  margin-top: 2em;
  flex-wrap: wrap;
}

.confirm-buttons .button-wrapper {
  display: inline-flex;
}

.confirm-buttons .button-gray,
.confirm-buttons .button-orange {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
}

.button-orange {
  background-color: #F07B39 !important;
  color: #fff !important;
}

.button-gray {
  background-color: #8A8A8A !important;
  color: #fff !important;
}

.form-buttons {
  text-align: center;
  margin-top: 2em;
}

.form-buttons #to-confirm {
  display: inline-block;
  padding: 0.8em 2em;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 999px;
  background-color: #F07B39;
  color: #fff;
  border: none;
  cursor: pointer;
}

label.consent-check {
  display: block;
  margin: 1em 0;
  font-size: 0.9rem;
  text-align: center;
}

label.consent-check a {
 color: #F07B39;
 text-decoration: underline;
}

label.consent-check input[type="checkbox"] {
  margin-right: 0.5em;
}

  /* 遒ｺ隱咲判髱｢縺ｮ隕句�縺励↑縺ｩ */
  .form-confirm dl {
    font-size: 1.0rem;
  }

  .form-confirm dt {
    font-weight: bold;
    margin-top: 1em;
  }

  .form-confirm dt p {
	  margin-bottom: 1% !important;

  }

  .form-confirm dd {
    margin-left: 0;
    padding-left: 1em;
    border-left: 3px solid #eee;
    margin-bottom: 4%;
  }
	
/* モーダルのスタイル */
#medical-form .modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

#medical-form .modal-overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  top: 0;
  left: 0;
}

#medical-form .modal-content {
  position: relative;
  background: #fff;
  width: 90%;
  max-width: 600px;
  margin: 10% auto;
  padding: 2em;
  border-radius: 8px;
  z-index: 10000;
  overflow-y: auto;
  max-height: 80vh;
}

#medical-form .form-agree {
  text-align: center;
  margin: 2em 0;
}

#medical-form .form-agree-note {
  font-size: 1rem;
  font-weight: 500;
  color: #333;
  margin-bottom: 1em;
  line-height: 1.6;
}

#medical-form a.terms-link {
  font-size: 1.2rem;
  font-weight: 700;
  color: #F07B39;
  text-decoration: underline;
}

#medical-form a.terms-link:hover {
  opacity: 0.8;
  text-decoration: none;
}

#medical-form #agree-checkbox {
  transform: scale(1.3); 
  margin-right: 0.5em;
}

#medical-form #agree-checkbox:focus {
  outline: none;
}

#medical-form #agree-checkbox + label,
label[for="agree-checkbox"] {
  font-size: 1.1rem;
  font-weight: 600;
}

#medical-form label {
  display: block;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  margin-top: 1em;
}

#terms-modal .button-orange {
  display: block;
  margin: 2em auto 0;
  text-align: center;
}

.calendar-note {
  font-size: 0.9rem;
  color: #555;
  margin-top: 2em;
  text-align: center;
  line-height: 1.6;
}

/* ------------------------------
   PC のみ（1025px以上）
------------------------------ */
@media screen and (min-width: 1025px) {
  .pc-only {
  }
	
/* PC header */	
header#header #logo img {
	width: 80% !important; 
}
	
/* PC section.parts */
section.parts div.partsIn{
	padding: 7% 0;
	
}	
	
section.parts div.partsIn div.partsTit h2{
	font-size: 1.8rem;
	line-height:2.3rem;
	margin: 0 !important;
}		
	
/* PC section#feature */
section#feature ul#featureList{
	gap: 20px 2%; 
}	
	
	
/* PC section#benefits */
section#benefits ul#benefitsList{
	gap: 20px 2%; 
}	
	
	
/* PC .footer */	
.footer-logo img {
	width: 50% !important; 
	margin-bottom: 2%;
}	

/* PC kv-wrap */
	.kv-wrap{
	padding: 0 20px; 
	}	
	
  .kv-wrap img {
    border-radius: 20px;
	}
	
}

/* PC section#faq */
.faq-question {
	font-size: 1.0rem;

}

/* ------------------------------
   PC・タブレット 共通（768px以上）
------------------------------ */
@media screen and (min-width: 768px) {
  .pctb {
  }

/* 通常（PC・タブレット）：改行非表示 */
.sp-only-br {
  display: none;
}
	
.Btxt{
	font-weight: bold;
	font-size: 1.0rem;
}	
	
.smallTxt{
	font-size: 0.8rem;
	}
	
/* PC・TB TOPカルーセル */	
  #main_visual {
    max-width: 1300px;
    width: 100%;
    margin: 0 auto 60px;
    position: relative;
    overflow: hidden;
  }
	
  #main_visual .swiper-slide picture img {
    max-width: 1300px;
    height: auto;
    display: block;
    margin: 0 auto;
	border-radius: 20px;
  }

.swiper-pagination {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  z-index: 10;
  text-align: center;
}

#main_visual .swiper,
#main_visual .swiper-wrapper,
#main_visual .swiper-slide {
  height: auto !important;
}

#main_visual .swiper-slide picture,
#main_visual .swiper-slide img {
  width: 100%;
  max-width: 1300px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* PC・TB KV下CTAボタン */
.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 2%;
  margin: 4% auto 1%;
  flex-wrap: nowrap; 
  padding: 0 2%;
}

.cta-btn {
  display: inline-block;
  background-color: #F07B39; 
  color: #fff !important; 
  padding: 1.2% 3%;
  border-radius: 999px;
  font-size: 1rem;
  text-decoration: none !important; 
  white-space: nowrap; 
  transition: background-color 0.3s ease;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.cta-btn:hover {
  background-color: #F0A32C;
}
	
/* PC・TB section.parts */	
section.parts{
	font-size: 0.9rem;	
	line-height: 2.0rem;
	position: relative;
	}		
	
section.parts div.partsIn{
	max-width: 1000px;
	margin: 0 auto;
}

section.parts div.partsIn div.partsTit{
	text-align: center;
	margin: 0 0 5%;
}	

section.parts div.partsIn div.partsTit h2{

}

	
section.parts div.partsIn div.partsTit p{
  position: relative;
  display: inline-block;
  margin-bottom: 0 !important;
  color: #8A8A8A;
}
	
section.parts div.partsIn div.partsTit p:before {
  content: '';
  position: absolute;
  bottom: -12px;
  display: inline-block;
  width: 94px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F07B39;
  border-radius: 2px;
}
	
	
/* PC・TB section#feature */
section#feature div.partsIn{
	padding-top: 7%;
		
	}	
	
section#feature ul#featureList{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	padding: 0;
	margin-bottom: 0 !important;
}
		
	
section#feature ul#featureList li{
	width: 32%;
}	

/* PC・TB section#benefits */	
section#benefits ul#benefitsList{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	padding: 0;
	margin-bottom: 0 !important;
}
		
	
section#benefits ul#benefitsList li{
	width: 32%;
}	
		
	
/* PC・TB section#recommended*/
section#recommended{

}	
	
div.consultation{
	display: flex;
	text-align: center;  
	flex-wrap:wrap;
	justify-content: space-between;
	padding: 0;
	gap: 14px 2%;
}	
	
div.consultation dl {
  background-color: #fff;
  border: 1px solid #8A8A8A;
  padding: 2%;
  box-sizing: border-box;
  text-align: center; 
  width: 32%;
  border-radius: 20px;
  margin-bottom: 0 !important;
}

div.consultation dt {
	font-weight: bold;
  /* margin-bottom: 2%; */
	font-size: 1rem !important;
}

div.consultation dd {
  font-size: 0.9rem; 
  margin: 0;
}

/* PC・TB div.imageBox */
div.imageBox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 4%;
  flex-wrap: nowrap; 
}

div.imageBox.right {
  flex-direction: row;
}

div.imageBox.left {
  flex-direction: row-reverse;
}

div.imageBox picture {
  flex: 1;
  max-width: 50%;
}

div.imageBox img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

div.imageBoxIn {
  flex: 1;
  max-width: 50%;
  padding: 20px;
}

div.imageBoxIn h3{
	font-size: 1.3rem;
	line-height: 2.1rem;
	margin-bottom: 2%;

}

div.imageBoxIn a.links-btn {
  display: inline-block;
  padding: 2% 6%;
  border: 2px solid #F07B39; 
  border-radius: 999px; 
  background-color: #fff;
  color: #F07B39;         
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}	
	
div.imageBoxIn a.links-btn:hover {
  background-color: #F0A32C;
  color: #fff;
}
	
/* PC・TB パンくず*/
	.breadcrumb-area .wrap{
	padding-bottom: 1% !important;
}

	
/* PC・TB：Contact Form 7 のフォーム全体 */
div#contactArea{
	max-width: 700px;
	margin: 0 auto;
}

/* contact-section LINEボタン */	
  #contact-section .line-btn {
    padding: 0.9em 2.4em;
    font-size: 1.2rem;
  }

  #contact-section .line-icon img {
    width: 35px;
    height: 35px;
  }	
	
}


/* ------------------------------
   タブレット のみ（768〜1024px）
------------------------------ */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .tb-only {
  }

/* TB header */		
header#header #logo img {
    width: 70% !important;
  }	

	
#gnav-container ul li a {
 font-size: 0.75rem;
}	
	
	
/* TB TOPカルーセル */		
  #main_visual .swiper-slide picture img {
    width: 100%;
    height: auto;
    max-width: none; 
    border-radius: 0px;
  }	
	
/* TB KV下CTAボタン */	
.cta-btn {
  padding: 2% 3%;
}	
	
/* TB section-label */	
  .section-label {
    display: none; 
  }	
	
/* TB section.parts */
section.parts div.partsIn{
	padding: 6% 4%;
	

}		
	
/* TB section#feature */
section#feature ul#featureList{
	gap: 14px 2%; 
}	
	
/* TB section#benefits */
section#benefits ul#benefitsList{
	gap: 14px 2%; 
}		
	
section.parts div.partsIn div.partsTit h2{
	font-size: 1.4rem;
	line-height: 1.9rem;
	margin: 0 !important;
}	
	

/* TB footer */	
.footer-logo img {
	width: 55% !important; 
	margin-bottom: 2%;
}			
	
}


/* ------------------------------
   タブレット・スマホ（〜1024px）
------------------------------ */
@media screen and (max-width: 1024px) {

  #header-nav-btn {
	  float: right;
  }
	
#gnav-sp {
  display: none;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 80px;
  left: 0;
  right: 0;
  background-color: #8A8A8A;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

#gnav-sp.active {
  display: block;
  opacity: 1;
  pointer-events: auto;
}


	
}


/* ------------------------------
   スマートフォン のみ（〜767px）
------------------------------ */
@media screen and (max-width: 767px) {
  .sp-only {
  }
	
/* SPのみ：改行表示 */
  .sp-only-br {
    display: inline;
  }
	
.Btxt{
	font-weight: bold;
}		

.smallTxt{
	font-size: 0.8rem;
	}
	
	
/* SP header */		
header#header #logo img {
  /* width: clamp(180px, 30vw, 200px) !important; */
  width: clamp(230px, 30vw, 250px) !important;
  height: auto !important;
  max-width: none !important;
  display: inline-block !important;
}
	
		

/* ヘッダー */
#header .wrap {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  padding: 0 16px; 
}

#header #logo {
  flex-shrink: 0;
}

#header-right {
  display: none;
}

#header-nav-btn {
  margin-left: auto;   
  flex-shrink: 0;
}

#header-nav-btn a {
  display: block;
  text-align: right;
  width: 100%;
}
	
/* SP TOPカルーセル */		
#main_visual .swiper-slide img {
	max-width: 767px;
	
}
	
  #main_visual {
    max-width: 767px;
    margin: 0 auto 40px;
    position: relative;
  }

  #main_visual .swiper-slide picture img {
    width: 100%;
    height: auto;
    max-width: 767px;
    margin: 0 auto;
    display: block;
  }

  .swiper-pagination {
    bottom: 20px;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 10;
  }

/* SP KV下CTAボタン */			
.cta-buttons {
  display: flex;
  justify-content: center;
  gap: 4%;
  margin: 4% auto 1%;
  flex-wrap: nowrap; 
  padding: 4% 2% 0;
}

.cta-btn {
  display: inline-block;
  background-color: #F07B39;
  color: #fff !important;
  padding: 2.5% 6%;
  border-radius: 999px;
  font-size: 1rem;
  text-decoration: none !important; 
  white-space: normal;
  transition: background-color 0.3s ease;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  line-height: 1.4rem;
}

.cta-btn:hover {
  background-color: #d98200;
}
	
/* SP section-label */	
   .cta-single-wrap {

  }

  .cta-desc {
    font-size: 0.95rem;
    padding: 0 6%;
    margin-bottom: 1.0em; 
    text-align: center;
  }

  .cta-single {
    margin: 0 auto;
    padding: 0;
  }

  .cta-single-btn {
    padding: 4% 10%;
    font-size: 1.1rem;     
    line-height: 1.4;
    gap: 0.5em;
  }

  .line-icon img {
    width: 26px;
    height: 26px;
  }
	
/* SP section.parts */	
section.parts{
	font-size: 0.9rem;	
	line-height: 2.0rem;
	position: relative;
	}	
	
section.parts div.partsIn{
	padding: 11% 6%;	
	
}	
	
section.parts div.partsIn div.partsTit{
	text-align: center;
	margin: 0 0 12%;
}	

section.parts div.partsIn div.partsTit h2{
	font-size: 1.3rem;
	line-height: 1.8rem;
	margin: 0 !important;

}

	
section.parts div.partsIn div.partsTit p{
  position: relative;
  display: inline-block;
  margin-bottom: 0 !important;
	color: #8A8A8A;
	font-size: 0.9rem;	
}
	
section.parts div.partsIn div.partsTit p:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 94px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F07B39;
  border-radius: 2px;
}	
	
/* SP .kv-text */
.kv-text{
	padding: 10% 0;
}	
	
.kv-text h1{
	font-size: 1.6rem;
	line-height:2.0rem;
	margin: 0 !important;
}
	
.kv-text p:before {
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 94px;
  height: 5px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F07B39;
  border-radius: 2px;
}
	
	
	
section#lightOrArea .inner{
	padding: 4%;
}

section#lightOrArea h3{
	font-size: 1.1rem;
	margin:2% 0 2%;
}	
	
/* SP section#feature */
section#feature div.partsIn {
	padding-top: 3%;
}	
	
	
section#feature ul#featureList{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	gap: 12px 2%;
	padding: 0;
	margin-bottom: 0 !important;
}

section#feature ul#featureList li{
	width: 48%;
}	
	
/* SP section#benefits */
section#benefits ul#benefitsList{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
	gap: 12px 2%;
	padding: 0;
	margin-bottom: 0 !important;
}

section#benefits ul#benefitsList li{
	width: 48%;
}	
	
	
/* SP section#recommended */
section#recommended{

}	
	
div.consultation{
	display: flex;
	text-align: center;  
	flex-wrap:wrap;
	justify-content: space-between;
	gap: 12px 2%;
	padding: 0;
}	
	
div.consultation dl {
  background-color: #fff;
  border: 1px solid #8A8A8A;
  padding: 3%;
  box-sizing: border-box;
  text-align: center; 
  width: 48%;
  border-radius: 20px;
  font-size: 0.9rem; 
  margin-bottom: 0 !important;
}

div.consultation dt {
  font-weight: bold;
  margin-bottom: 1%;
}

div.consultation dd {
  font-size: 0.8rem; 
  line-height: 1.2rem;
  margin: 0;
}
	
	
/* SP div.imageBox  */
div.imageBox {
    flex-direction: column !important;
	margin: 0 0 16%;
  }

div.imageBox picture,
div.imageBox img {
    max-width: 100%;
  }

div.imageBoxIn {
    padding: 0 2%;
	text-align: center;
  }

div.imageBoxIn p{
	text-align: left;
}

div.imageBoxIn h3{
	font-size: 1.1rem;
	line-height: 1.7rem;
	margin: 4% 0 3%;

}

div.imageBoxIn a.links-btn {
  display: inline-block;
  padding: 2% 6%;
  border: 2px solid #F07B39; 
  border-radius: 999px;       
  background-color: #fff;   
  color: #F07B39;           
  text-decoration: none;
  transition: all 0.3s ease;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}	
	
div.imageBoxIn a.links-btn:hover {
  background-color: #F0A32C;
  color: #fff;
}
	
/* SP .doctorBox  スマホのみ（縦並び） --- */
  .doctorBox {
    flex-direction: column;
    width: 100%;
  }

  .doctorBox dl {
    max-width: 100%;
    flex: 0 0 auto;
  }

  .doctorBox dl {
  }

.doctorBox picture {
    flex: 0 0 auto;
    max-width: 40%;
	margin: 0 0 auto;
}
	
/* SP footer */	
.footer-logo img {
  width: clamp(200px, 30vw, 220px) !important;
  height: auto !important;
  max-width: none !important;
  display: inline-block !important;
  margin-bottom: 2%;
}	
	
  #footer-gnav-ul {
    display: block;
  }

  #footer-gnav-ul li {
    margin-bottom: 0.5em;
  }	

/* SP contact-section */
#contact-section .partsIn .wrapIn {
  width: 100%;
}	
	
h1#kvH1{
	margin: 4% 0 0 !important;
}

.breadcrumb-area .wrap{
	padding: 0 !important;
}

/* contact-section LINEボタン */
  #contact-section .line-btn {
    padding: 4% 10%;
    font-size: 1.1rem;
    line-height: 1.4;
    gap: 0.5em;
  }

  #contact-section .line-icon img {
    width: 26px;
    height: 26px;
  }

	
	
	
/* SP section#faq */
.faq-item {
  padding: 4%;
  margin-bottom: 4%;
}

.faq-answer {
  margin: 1% 2% 0 2%;
  font-size: 0.8rem;
  line-height: 1.5rem;
}

.faq-question{
	font-size: 0.9rem;
}

/* SP Contact Form 7 */
  .wpcf7 form label {
    display: block;
    margin-bottom: 1em;
    font-size: 0.95rem;
  }

  .required-label,
  .optional-label {
    display: inline-block;
    margin-bottom: 0.3em;
    font-size: 0.75rem;
  }

  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"],
  .wpcf7 select,
  .wpcf7 textarea {
    max-width: 100%;
  }

  .confirm-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1em;
    flex-wrap: nowrap;
  }

  .confirm-buttons .button-orange,
  .confirm-buttons .button-gray {
    flex: 0 0 auto; 
    margin: 0;
    white-space: nowrap; 
  }

  .form-confirm dl {
    font-size: 1.0rem;
  }

  .form-confirm dt {
    font-weight: bold;
    margin-top: 1em;
  }

  .form-confirm dt p {
	  margin-bottom: 1% !important;
  }
	
  .form-confirm dd {
    margin-left: 0;
    padding-left: 1em;
    border-left: 3px solid #eee;
    margin-bottom: 4%;
  }	
	
	
}

