.circle_wrapper{
	width:1.6em;
	height:1.6em;
	display:inline-flex;
}
.before-after{
	bottom:8px;
	right:8px;
	line-height:1;
	padding:.1em .4em
}

form.wpcf7-form .contactForm {
	dt,dd{margin:.2em 0!important}
	dt{border-radius:.25em}
	input,textarea{padding:.8em!important;border-radius:.25em}
	input:focus,textarea:focus{border-color: rgb(165,142,134);}

input[type="date"] {
  padding: 12px 14px;
  font-size: 16px; /* iOS拡大防止 */
  border-radius: 8px;
  border: 1px solid #ddd;
  background-color: #fff;
  color: #333;
  cursor: pointer;
}

/* フォーカス時 */
input[type="date"]:focus {
  outline: none;
  border-color: rgb(165,142,134);
}

.wpcf7-radio {
  display: flex;
  gap: 12px;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-list-item label {
  display: flex;
  align-items: center;
  padding: .4em;
  cursor: pointer;
  font-size: 16px;
  position: relative;
}

.wpcf7-list-item input[type="radio"] {
  position: absolute;
  opacity: 0;
}

.wpcf7-list-item-label {
  position: relative;
  padding-left: 2em;
  display: inline-block;
}

.wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1.6em;
  height: 1.6em;
  border: 1px solid #999;
  border-radius: 50%;
  transform: translateY(-50%);
  box-sizing: border-box;
}

/* 中の●（最初は非表示） */
.wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: .3em;
  top: 50%;
  width: 1em;
  height: 1em;
  background: #8b6b4a;
  border-radius: 50%;
  transform: translateY(-50%) scale(0);
  transition: transform 0.2s ease;
}

/* ✅ checkedで●表示 */
.wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::after {
  transform: translateY(-50%) scale(1);
}

/* ✅ checkedで枠色変更 */
.wpcf7-list-item input[type="radio"]:checked + .wpcf7-list-item-label::before {
  border-color: #8b6b4a;
}

}
/* select 基本 */
.wpcf7-select {
  padding: 12px 40px 12px 14px;
  font-size: 16px; /* iOSズーム防止 */
  border-radius: 8px;
  border: 1px solid #ddd;
  background-color: #fff;
  color: #777;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  line-height: 1.5;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
/* フォーカス時 */
.wpcf7-select:focus {
  outline: none;
  border: 1px solid rgb(165,142,134);
}
.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-form-control-wrap:has(select)::after {
  content: "\f0d7" !important;
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
  pointer-events: none;
  font-family: "Font Awesome 6 Free" !important;
  font-weight: 900 !important;
  font-size: 16px;
  color: #666;
}
.guidance_hours th,
.guidance_hours td{
	font-weight: 400;
	padding:1em 0;
	line-height:1
}
.guidance_hours .hour_col{
	width:8em;
}
.profile_list dt,
.profile_list dd{
	padding:.4em .8em;
	margin:0;
	font-weight: 400;
	border-bottom:2px dotted #a58e86
}
.profile_list dt:nth-last-of-type(1),
.profile_list dd:nth-last-of-type(1) {
	border-bottom: none;
}
.profile_list dt {
  width: 7em;
  text-align: right;
}

.profile_list dd {
  width: calc(100% - 7em);
}
  .faq-section {
    max-width: 1024px;
    margin: 40px auto;
    padding: 0 .8em;
  }

  .faq-title {
    margin:.4em 0 0 0;
  }

  .faq-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .faq-item {
    background: #ffffff;
    border-radius: .4em;
    padding: 20px 22px;
    border: 1px solid #a58e86;
  }

  .faq-question {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    font-weight: 600;
    color: #333;
    font-size: 1rem;
  }

  .faq-q-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ff6b6b;
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
  }

  .faq-answer {
    background: rgb(247,242,237);
    border-radius: .4em;
    padding: .8em;
    display: flex;
    gap: 12px;
    line-height: 1.8;
    color: #555;
    font-size: 0.95rem;
  }

  .faq-a-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgb(61,130,191);
    color: #fff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.95rem;
  }

.bg_color_tx-01{
	background:url('/wp-content/uploads/bg_tx_01.webp');
	clip-path: ellipse(160% 50% at 50% 50%);
}
.bg_color_tx-99{
	position: relative;
	min-height:480px;
	clip-path: ellipse(140% 100% at 50% 100%);
	overflow: hidden;
}

.bg_color_tx-99::before{
	content:'';
	position:absolute;
	inset:0;
	background:url('/wp-content/uploads/0273004_6575.jpg') 50% 100% / cover no-repeat;
	filter: grayscale(100%) brightness(80%);
	z-index:0;
}

.bg_color_tx-99 > *{
	position: relative;
	z-index:1;
}
.bg_color_tx-01 .gallery_img_area{
	background:#fff;
}
.bg_color_tx-01 .img_bg_none .gallery_img_area{
	background:transparent;
}

.design_box-01{
    padding: 0.5em 1em;
    background: white;
    border: solid 1px rgb(165,142,134);
    border-top: solid 4px rgb(165,142,134);
}
.design_box-03{
    padding: 0.5em 1em;
    background: white;
    border: solid 1px rgb(226,179,179);
    border-top: solid 4px rgb(226,179,179);
}
.design_box-02 {
    border: solid 1px rgb(165,142,134);
    border-top: none;
}
.design_box-02 .box-title {
    font-size: 1.1em;
    background: rgb(165,142,134);
}
.design_box-02 .box-contents {
}
.table{
	th,td{
		font-weight:400;
		padding:.4em;
		border:1px solid #ddd;
	}
}
.min_width-08{
	min-width:8em;
}
.flow_contents,
.flow_arrow{
	width:100%;
}
.flow_title{
	border-bottom:3px dotted rgb(165,142,134);
}
.flow_no_circle{
	width:2em;
}
.flow_no_circle_mini{
	width:1.6em;
}

.title_h2{
	font-size:1.6em;
	font-weight:700;
	padding:0 .6em .4em;
	margin:1.2em auto;
}

#main-content #cat_topics-1 h2,
#main-content #cat_topics-2 h2,
#main-content #cat_topics-3 h2,
#main-content #cat_topics-4 h2{
	border:none;
}
.title_h3{
	font-size:1.3em;
	font-weight:600;
	padding:.4em .2em;
	margin:1.2em auto;
}
.title_h4{
	font-size:1.2em;
	font-weight:600;
	padding:0 .4em .4em;
	margin:1em auto;
}

.title_h2.engTitle{
    padding-top: .8em;
    position: relative;
}
.title_h2.engTitle::before {
	content: attr(data-en);
    position: absolute;
	display:block;
    top: -.6em;
	left: .8em;
    transform:translateX(0);
    font-size: .7em;
	opacity:.4;
	white-space: nowrap;
}
.bg_color_tx-99 .title_h2.engTitle::before {
	opacity:.7
}
.title_h2.fh-center.engTitle::before {
	left: 50%;
	transform: translateX(-50%);
}
.title_h2.fh-end.engTitle::before {
	left: 100%;
	transform: translateX(-100%);
}


#wrapper p{margin:.8em .4em}
#breadcrumbList{font-size:0;margin-bottom:12px!important}
#breadcrumbList li a::after{content:">"}
#breadcrumbList a{
	font-size:0.9rem;
	padding:.6em .4em;
	margin:0
}
#breadcrumbList li:last-child a{
	border:none;
	cursor:default
}
#breadcrumbList li:last-child a:hover{background:none}
#breadcrumbList li:last-child a::after{content:"";padding:0}
.wpcf7Btn,
.mLink a{
	padding:.6em 1.8em;
	line-height:1;
	border-radius:1.4em;
}
.mLink a::after{
	content:"\f0da";
	padding-left:.3em
}
.topic-title{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}
.topic-exc{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin:.4em .4em 0
}
#home-topics-4 .topic-exc.img_aspect-16_9,
#home-topics-4 .topic-exc.img_aspect-2_1{
	-webkit-line-clamp: 1;
}
#home-topics-4 .topic-exc.img_aspect-4_3,
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 2;
}
#home-topics-4 .topic-exc.img_aspect-1_1{
	-webkit-line-clamp: 3;
}
.content_slider .slick-prev,
.content_slider .slick-next{
	color:#fff;
	background:rgba(0,0,0,.8)!important;
	text-shadow:1px 1px 0 #111,-1px 1px 0 #111,1px -1px 0 #111,-1px -1px 0 #111;
}
.content_slider .slick-prev{
	border-radius:0 2px 2px 0;
}
.content_slider .slick-next{
	border-radius:2px 0 0 2px;
}
.gallery_alt_text.pos-abs{
	position:absolute;
	z-index:1;
	bottom:0;
	left:0;
	color:#fff;
	background:rgba(0,0,0,.8)!important;
}
.rounded-circle .gallery_alt_text.pos-abs{
	bottom:calc(50% - 1.1em);
}
@media all and (min-width:576px),print{
	#breadcrumb{
		margin:0.1em 0;
	}
	#breadcrumbList li{min-width:0;flex:0 0 auto;position:relative}
	#breadcrumbList li:last-child{flex:0 1 auto}
	#breadcrumbList a{
		border:none;
		padding:.2em 0;
		position:relative;
	}
	#breadcrumbList span{
		position:relative;
		padding:0 .3em
	}
	#breadcrumbList li,
	#breadcrumbList a,
	#breadcrumbList span {
	}
	#breadcrumbList li a::after{content:">"}
	#breadcrumbList li:last-child a::after{content:"";padding:0}
	#breadcrumbList li span::before,
	#breadcrumbList li span::after{
		padding:0;
		position:absolute;
		bottom:.1em;
		content:"";
		display:inline-block;
		width:0;
		height:1px;
		background:#888;
		-webkit-transition:.6s;
		transition:.6s;
		opacity:0
	}
	#breadcrumbList li:last-child span::before,
	#breadcrumbList li:last-child span::after{
		display:none;
	}
	#breadcrumbList li span::before{left:50%}
	#breadcrumbList li span::after{right:50%}
	#breadcrumbList li span:hover::before,
	#breadcrumbList li span:hover::after{width:50%;opacity:1}
	#home-topics-4 .topic-exc.img_aspect-16_9,
	#home-topics-4 .topic-exc.img_aspect-2_1{
		-webkit-line-clamp: 1;
	}
	.wpcf7Btn,
	.mLink a{
		padding:.4em .8em;
		line-height:1
	}
	#home-topics-4 .topic-exc.img_aspect-4_3{
		-webkit-line-clamp: 3;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 4;
	}
}
@media all and (min-width:768px),print{
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 5;
	}
}
@media all and (min-width:992px),print{

	.flow_contents{
		width:auto;
		min-width:10em;
	}

	.flow_arrow{
		width:auto;
	}

	.treatment_banner img{
		transform: scale(1);transition:.4s
	}
	.treatment_banner:hover img{
		transform: scale(1.2);transition:.4s
	}
	.pointer-none{color:inherit;text-decoration:none}
	.topic-exc{
		-webkit-line-clamp: 2;
	}
	#home-topics-4 .topic-exc.img_aspect-1_1{
		-webkit-line-clamp: 6;
	}
	.gallery_alt_text.pos-abs{
		z-index:1;
		bottom:-3em;
		left:0;
		opacity:0;
	}
	.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:0;
		opacity:1;
	}
	.rounded-circle .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:0;
	}
	.rounded-circle.gallery_img_area:hover .gallery_alt_text.pos-abs{
		bottom:50%;
		transform: translate(0, 50%);
		opacity:1;
	}
	.over_large img{
		-webkit-transform:translate(0, 0) scale(1);
		transform:translate(0, 0) scale(1);
		-webkit-transition:all .4s;
		transition:all .4s;
	}
	.over_large:hover img{
		-webkit-transform:translate(0, 0) scale(1.1);
		transform:translate(0, 0) scale(1.1);
	}
}