@charset "UTF-8";

/*------------------------------------------------

 style.css

 Copyright (C) KAWARAMACHI DENTAL CLINIC

 individual layout
------------------------------------------------*/

/*================================================================================

home

================================================================================*/
/* main
================================================================================*/
.home #main {
	margin-bottom: 0;
}

/* h
================================================================================*/
.home h2 {
	margin: 0 0 60px;
	color: var(--color-txt-dark);
	font-size: 4.2rem;
	text-align: center;
}


/* mainVisual
================================================================================*/
.bl_MV {
	position: relative;
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	position: relative;
	width: 100%;
	margin-top: 172px;
	padding-left: 5%;
	padding-bottom: 60px;
	background-color: #f2fcff;
}
.bl_MV_img {
	flex: 1;
	margin-top: -4%;
	margin-bottom: 0;
}
.bl_MV_img img  {
	width: 100%;
	height: min(calc(100vh - 60px), 800px);
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: 50% 0;
	   object-position: 50% 0;
	border-radius: 0 0 0 80px;
}
.bl_MV_unit {
	z-index: 10;
	position: relative;
	bottom: auto;
	left: auto;
	transform: translate(0);
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 60px 3% 0 0;
	text-align: left;
}
.bl_MV_ttl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 40px;
	color: var(--color-invisalign);
	font-size: clamp(3.6rem, 4vw, 6.0rem);
	line-height: 1.5;
}
.bl_MV_conts {
	display: inline-block;
	margin: 0 auto 0 0;
	padding: 0;
	border: 1px solid var(--color-txt-dark);
	text-align: center;
}
/* .bl_MV_cap {
	padding: 0;
	border: none;
	color: var(--color-primary);
	font-size: clamp(1.8rem, 2.5vw, 2.4rem);
	line-height: 1;
} */
.bl_MV_txt {
	font-size: clamp(1.8rem, 1.5vw, 2.0rem);
}
.bl_MV_desc {
	margin-left: 5%;
	padding-left: 6%;
	border-left: 4px solid currentColor;
	color: var(--color-gray-dark);
}
.bl_MV_cont {
	display: block;
	margin-left: 0;
	padding: 0;
	border: none;
	text-align: left;
}
.bl_MV_cont_img {
	width: clamp(200px, 15vw, 240px);
	padding: 0;
	margin: 60px auto 20px 0;
}
.bl_MV_cap {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 10px 0;
	padding-bottom: 2px;
	border-bottom: 1px solid var(--color-gray-dark);
	font-weight: bold;
	font-size: clamp(1.8rem, 1.5vw, 2.4rem);
}
.bl_MV_year {
	width: auto;
	margin-bottom: 4px;
	font-size: clamp(1.6rem, 1.3vw, 1.8rem);
}
.bl_MV_num {
	width: auto;
	margin-bottom: 16px;
	font-weight: bold;
	font-size: clamp(2.4rem, 2.5vw, 3.8rem);
	line-height: 1;
}
.bl_MV_diamond {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 0 0;
	padding: 2px 6px 0;
	background-color: var(--color-gray-dark);
	color: #fff;
	font-size: clamp(1.4rem, 1vw, 1.6rem);
	line-height: 1.4;
}
.bl_MV_unit_img {
	position: absolute;
	top: 50%;
	right: -24%;
	width: clamp(180px, 20vw, 300px);
}



/* mainImg
================================================================================*/
.mainImg {
	margin: 172px 0 0;
	padding: 60px 0 80px;
  border-bottom: 20px solid var(--color-accent);
	background: url(/img/main_img.jpg) no-repeat;
	background-size: cover;
}
/* .mainImg .container {
	position: relative;
	width: 1000px;
	padding: 0 70px;
	font-feature-settings: "palt";
} */
/* 太田先生背景画像
.mainImg .container {
	position: relative;
	width: 1000px;
	padding: 0 0 0 380px;
	font-feature-settings: "palt";
} */
.mainImg .container {
	position: relative;
	width: 1000px;
	padding: 0 380px 0 0;
	font-feature-settings: "palt";
}
.mainImg .mainCopy {
	margin: 0 0 20px;
	color: var(--color-invisalign-light);
	font-size: 3.6rem;
}
.mainImg .mainCopy span {
	font-size: 4.8rem;
}
.mainImg .mainSubTitle {
	display: inline-block;
	margin: 0 0 10px;
	color: #000;
	font-size: 20px;
	line-height: 1;
	letter-spacing: 1rem;
}
.mainImg .mainTitle {
	margin: 0 0 20px;
	color: var(--color-invisalign);
	font-size: 60px;
	line-height: 1;
}
.mainImg .mainTitle span {
	font-size: 2.4rem;
}
/* .mainImg .mainLead {
	width: 620px;
	margin: 0 auto 0 0;
	padding: 10px;
	background: rgba(255, 255, 255, 0.4);
	font-size: 1.4rem;
	text-align: center;
	border-radius: 5px;
} */
.mainImg .mainLead {
	width: 620px;
	margin: 0 auto 0 0;
	padding: 10px;
	background: rgba(255, 255, 255, 1.0);
	font-size: 1.4rem;
	text-align: center;
	border-radius: 5px;
}
.mainImg .mainPoint {
	margin: 0 0 40px;
}
.mainImg .mainPhoto {
	margin: 40px 0 20px 40px;
}
.mainImg .btn {
	position: absolute;
	top: 300px;
	left: 360px;
}
/* 太田先生背景時
.mainImg .btn {
	position: absolute;
	top: 300px;
	right: 10px;
} */
.mainImg .btn a {
	display: inline-block;
	height: 60px;
	padding: 0 40px;
	border: none;
	color: #fff;
	font-size: 2.4rem;
	line-height: 60px;
	letter-spacing: 0;
}
.mainImg .btn a:hover,
.mainImg .btn a:focus {
	opacity: 1;
}

/* homeMoving
================================================================================*/
.moving {
	padding-bottom: 0;
}
.moving .container {
	position: relative;
	padding: 40px 100px;
	border-radius: 10px;
	background: url(/img/moving_bg.jpg) no-repeat center;
	background-size: cover;
	/* background: #f7f7f7; */
	/* border: 1px solid #C00; */
	text-align: center;
}
.moving .bl_media {
	align-items: center;
}
.moving h2 {
	width: fit-content;
	padding: 10px 40px;
	margin: 0 auto 30px;
	border-radius: 60px;
	background: #267a43;
	color: #fff;
	font-size: 20px;
}
/* .moving h2 {
	display: flex;
	align-items: center;
	margin: 0 0 30px;
	color: #267a43;
	font-size: 20px;
}
.moving h2:after {
	flex-grow: 1;
	border-top: 1px solid currentColor;
	content: "";
	margin-left: 0.5em;
	margin-right: 30%;
}
.moving h2::before {
	flex-grow: 1;
	border-top: 1px solid currentColor;
	content: "";
	margin-right: 0.5em;
	margin-left: 30%;
} */
.moving dl {
	margin: 0;
}
.moving dt {
	margin: 0;
	color: #c00;
	font-family: var(--font-accent);
	font-size: 52px;
	text-align: center;
}
.moving dt span {
	display: block;
	width: fit-content;
	margin: 0 auto 4px;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	font-size: 24px;
}
.movingDate {
	margin-bottom: 10px;
	color: #267a43;
	font-size: 48px;
}
.movingDate span {
	font-size: 24px;
}
.movingIllust {
	position: absolute;
	top: -16px;
	left: 20px;
	width: 200px;
}
/* .movingIllust {
	position: absolute;
	top: -16px;
	right: 20px;
	width: 200px;
}
 */

/* homeBIjin
================================================================================*/
.bijin {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 40px calc( 50% - 500px );
	background: #f7f7f7 url(/common_img_new/bg_random.png);
}
.bijinImg {
	width: 280px;
	height: auto;
	margin: 0 60px 0 0;
}
.bijinTxt {
	flex: 1;
}
.bijinTxt h2 {
	position: relative;
	margin-bottom: 30px;
	font-size: 3.0rem;
	text-align: left;
	line-height: 1.6;
}
/* .bijinTxt h2:after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin-top: 20px;
	background: var(--color-accent);
}
 */
.bijinTtl {
	margin-bottom: 30px;
	padding: 20px;
	border-top: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
	/* background: #fff; */
	color: var(--color-primary);
	font-size: 2.4rem;
	line-height: 1.6;
}
.bijinTtl span {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 1.8rem;
}


 /* homeFirstAnniv
================================================================================*/
.firstAnniv {
	position: relative;
	padding: 50px 0 30px;
}
.campaign .firstAnniv {
	border-bottom: 5px solid #fff;
}
.firstAnniv .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}
.firstAnnivIcon {
	position: relative;
	width: 180px;
	height: auto;
}
.firstAnnivBody {
	margin: 0 auto;
	text-align: center;
}
.firstAnniv h2,
.under .firstAnniv h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 20px;
	color: #638c0b;
	font-size: 20px;
}
.firstAnniv h2:after,
.under .firstAnniv h2:after {
	content: "";
	width: 40px;
	height: 1px;
	margin: 0 0 0 0.5em;
	border-top: 1px solid #638c0b;
}
.firstAnniv h2::before {
	content: "";
	width: 40px;
	margin-right: 0.5em;
	border-top: 1px solid #638c0b;
}
.firstAnnivTxt {
	color: var(--color-primary);
	font-size: 32px;
	text-align: center;
	line-height: 1.6;
}
.firstAnnivTxt span {
	font-size: 46px;
}
.firstAnnivIllust {
	position: absolute;
	top: -16px;
	right: 20px;
	width: 200px;
}
.firstBtn {
	align-self: flex-end;
	padding-bottom: 10px;
}

/* homeAbout
================================================================================*/
.homeAbout h1 {
	margin: 0 0 40px;
	color: var(--color-primary);
	font-size: 1.8rem;
	text-align: center;
}
.homeAbout .staffImg {
	max-width: 1000px;
	margin: 0 auto 80px;
  text-align: center;
}
.homeConcept {
	margin-bottom: 100px;
	padding: 60px;
	border: 5px solid;
	-o-border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	   border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	border-image-slice: 1;
	background: #fff;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	box-shadow: 0 0 5px 1px rgba(247, 222, 5, .3);
}
.home .homeConcept h2 {
	margin: 0 0 40px;
	color: var(--color-primary);
	font-size: 2.4rem;
	text-align: center;
}
.homeConcept .copy {
	margin: 0 0 30px;
	color: #d3ad23;
	font-weight: 400;
  font-size: 3.6rem;
	font-feature-settings: "palt";
	line-height: 1.6;
  text-align: center;
}
.homeConcept .txt {
	color: var(--color-primary);
	font-size: 1.8rem;
	line-height: 2;
}


/* feature
------------------------------------------------*/
.feature {
	width: 1000px;
	margin: 0 auto 60px;
	padding: 0;
}
.feature > div {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.feature section {
	/* display: flex;
	justify-content: space-between; */
	width: 490px;
	margin: 0 0 20px;
	padding: 30px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	border-radius: 10px;
}
.feature .featureImg {
	align-self: flex-end;
	width: 186px;
	margin: 0 0 -30px -90px;
}
.feature section:nth-of-type(even) .featureImg {
	margin: 0 -90px -30px 0;
}
.feature .featureText {
	flex: 1;
}
/* seo .feature h3 {
	margin: 0 0 20px;
	padding: 0;
	color: var(--color-primary);
	font-weight: 400;
	font-size: 2.8rem;
	line-height: 1.5;
	text-align: left;
} */
.feature > section p {
	margin-top: 20px;
	margin-bottom: 0;
}

/* staffPhoto
------------------------------------------------*/
.staffPhoto {
	display: grid;
  grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	padding: 0;
}

/* treatment
================================================================================*/
/* seo .homeTreatment h2 span {
	border-bottom: 2px solid var(--color-accent);
	font-size: 4.2rem;
} */

/* motto
------------------------------------------------*/
.homeTreatment .motto {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
	margin: 0 50px;
	/* padding: 40px 80px 0 80px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(62,58,57,0.1); */
}
.homeTreatment .motto h3 {
	margin: 0 0 30px;
	color: var(--color-primary);
	font-weight: 400;
	font-size: 2.8rem;
	line-height: 1.8;
}
.homeTreatment .motto .mottoText {
	flex: 1;
	padding: 0 0 40px;
}
.home .homeTreatment .h2 {
	margin: 0 0 60px;
	font-size: 3.6rem;
	line-height: 1.6;
	text-align: left;
}
.homeTreatment .motto .mottoImg {
	width: 380px;
	margin: 0 40px 0 0;
}

/* treatmentList
------------------------------------------------*/
.treatmentList {
  --space-grid: 20px;
  padding: 40px;
  background-color: #fff;
  border-radius: 10px;
}
.treatmentListCon {
  border-radius: 10px;
}
.treatmentListCon a {
  display: block;
  height: 100%;
  padding: 30px;
  border: 1px solid #fff;
  border-radius: 10px;
  background: var(--color-treatment-light-more) url(/common_img_new/bg_random.png);
}
.treatmentListCon a:link,
.treatmentListCon a:visited {
  text-decoration: none;
}
.treatmentListCon a:hover {
  border-color: var(--color-treatment);
  background: #fff;
  opacity: 1;
}
.treatmentListCon figure {
  width: 60px;
  margin: 0 auto 20px;
}
.treatmentListCon h3 {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin:  0 auto 20px;
  font-size: 2.4rem;
  text-align: center;
}
.treatmentListCon h3::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -4px;
  width: 5px;
  height: 6px;
  margin-right: 6px;
  background: url(/common_img_new/arrow.png) no-repeat;
  background-size: 5px auto;
}
.homeChewing h3 {
  margin: 0 -10px 20px -10px;
}


/* 歯列矯正＆インプラント
================================================================================*/
.homeTreatmentBox .bl_mainArea {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
  width: 1120px;
  margin: 0 -60px 100px;
}
@media only screen and (max-width: 1119px) {
	.homeTreatmentBox .bl_mainArea {
	  width: 1000px;
		margin: 0 0 100px;
	}
}
.homeTreatmentBox .bl_mainArea_img {
	flex: 1;
	/* max-height: 480px; */
}
.homeTreatmentBox .bl_mainArea_img img {
	width: auto;
  height: 100%;
	/* aspect-ratio: 1000 / 666; */
	-o-object-fit: cover;
	   object-fit: cover;
}
.homeTreatmentBox .bl_mainArea_body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	width: 440px;
	padding: 20px 40px 20px 0;
}
.homeTreatmentBox .bl_treatment_ttl {
	/* display: table; */
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 50px 0;
	padding: 12px 40px;
	border: 2px solid var(--color-treatment);
  box-shadow: 0 0 0 1px #fff inset;
  background-color: var(--color-treatment);
	color: #fff;
	font-size: 3.0rem;
	line-height: 1;
}
.homeTreatmentBox .bl_mainArea_ttl {
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-size: 3.6rem;
}
.homeTreatmentBox .bl_mainArea_subTtl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 14px 0;
	border-bottom: 1px solid #666;
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-size: 1.8rem;
}

.orthodonticFeature {
  --space-grid: 30px;
}


/* orthodonticType
------------------------------------------------*/
.orthodonticType {
	margin: 0 0 80px;
  padding: 40px 30px 30px;
  border-radius: 10px;
  background: var(--color-treatment-light-more);
	/* padding: 40px;
	background: #fff;
	box-shadow: 0 0 2px 1px rgba(170, 170, 170, .1); */
}
.orthodonticTypeLead {
	margin: 0 0 40px;
	color: var(--color-txt-dark);
	font-size: 2.8rem;
	line-height: 1;
	text-align: center;
}
.orthodonticTypeInner {
	display: flex;
	justify-content: space-between;
}
.orthodonticTypeInner section {
	width: 32%;
	margin: 0;
	padding: 30px;
  border-radius: 10px;
	background: #fff;
}
.orthodonticTypeInner section a {
	display: block;
}
.orthodonticTypeInner section a:hover {
  opacity: 1;
}
.orthodonticTypeInner .orthodonticTypeImg {
	overflow: hidden;
  width: 80%;
	margin: 0 auto 20px;
  /* padding: 10px;
  border-radius: 10px;
  background-color: #fff; */
}
.orthodonticTypeInner section a:link,
.orthodonticTypeInner section a:visited {
	text-decoration: none;
}
/* seo .orthodonticTypeInner h3 {
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	background: url(/common_img_new/arrow.png) no-repeat 0 10px;
	background-size: 5px auto;
	color: #000);
	font-size: 2.4rem;
}
.orthodonticTypeInner h3 span {
	display: block;
	margin: 5px 0 0;
	color: var(--color-accent-dark);
	font-size: 1.8rem;
}
.orthodonticTypeInner h3 span span {
	display: inline-block;
	margin: 0;
	font-size: 1.2rem;
} */



/* invisalign
================================================================================*/
.homeInvisalign {
  padding: 40px;
  border-radius: 10px;
}
/* .homeInvisalign .bl_media {
  margin-bottom: 40px;
} */
.homeInvisalign .bl_media_img {
	width: 320px;
  margin: -10px 20px 0 -80px;
}
.homeInvisalign .bl_media_body {
  margin-top: 20px;
}
.homeInvisalign .bl_media_body_img {
  width: 300px;
  padding: 0;
  margin: 0 auto 30px 0;
}
.homeInvisalign .bl_media_ttl {
  margin-bottom: 30px;
  color: var(--color-invisalign);
	font-size: 3.6rem;
  text-align: left;
}
.homeInvisalign .bl_media_ttl .caption {
  display: block;
  margin-bottom: 10px;
  color: var(--color-invisalign-light);
  font-weight: bold;
  font-size: 1.8rem;
}
.homeInvisalignBtn {
  text-align: right;
}

/* homeAwarded
------------------------------------------------*/
.awarded {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 40px;
  border: 1px solid var(--color-invisalign-light);
  border-radius: 10px;
 /*  background-color: #fff; */
	/* background: #f7f7f7 url(/common_img_new/bg_random.png); */
}
.awardedImg {
	width: 380px;
	height: auto;
	margin: 0 0 0 40px;
}
.awardedTxt {
	flex: 1;
}
.awardedTxt h3 {
	position: relative;
	margin-bottom: 30px;
  color: var(--color-invisalign);
  font-weight: normal;
	font-size: 2.4rem;
	text-align: left;
	line-height: 1.6;
}
.awardedTxt h3 .awardedNum {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 16px 0;
  padding: 4px 10px;
  background-color: var(--color-invisalign-light);
  color: #fff;
  font-family: var(--font-primary);
  font-size: 1.8rem;
  line-height: 1;
}
/* .awardedTxt h2:after {
	content: "";
	display: block;
	width: 100px;
	height: 2px;
	margin-top: 20px;
	background: var(--color-accent);
}
 */


/* orthodonticAge
------------------------------------------------*/
.orthodonticAge {
	margin:0 0 40px;
	padding: 0;
}
.orthodonticAge section {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin: 30px 0 0;
	padding: 40px;
  border: 1px solid #eee;
	background: #fff;
	/* box-shadow: 0 0 5px 1px rgba(170, 170, 170, .2); */
}
.orthodonticAgeImg {
	width: 320px;
	margin: 0 40px 0 0;
}
.orthodonticAgeText {
	flex: 1;
}
.orthodonticAge h3 {
	display: inline-block;
	background: var(--color-accent-light);
	margin: 0 0 30px;
	padding: 10px 20px;
	color: #000;
  font-weight: normal;
	font-size: 2.8rem;
	line-height: 1;
}
.orthodonticAgeLink {
	display: flex;
	justify-content: flex-end;
}
.orthodonticAgeLink span {
	margin: 0 0 0 10px;
}

/* bnrList
================================================================================*/
.bnrListWrap {
	padding: 60px 0;
	background: #fff;
}
.bnrList {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 0;
}
.bnrList section {
	width: 48%;
	margin: 0;
	border: 1px solid var(--color-primary-light);
}
.bnrList section a {
	display: block;
}
.bnrList section a:link,
.bnrList section a:visited {
	text-decoration: none;
}
.bnrList section .infoImg {
	display: block;
	overflow: hidden;
}
.bnrList h3 {
	margin: 0;
	padding: 20px 20px 20px 35px;
	background: url(/common_img_new/arrow.png) no-repeat 20px 28px;
	background-size: 5px auto;
	color: #000;
	font-size: 1.8rem;
	line-height: 1;
}

/* homeCase
================================================================================*/
.homeCase .inPageLink {
    justify-content: space-between;
    flex-wrap: wrap;
    margin: -5px auto 0;
}
.homeCase .inPageLink li {
    width: 24%;
    margin: 5px 0;
}
.homeCase .inPageLink li:nth-of-type(4n+3):last-of-type {
    margin-right: calc( 24% + 4% / 3 );
}
.homeCase .inPageLink  li .bl_media_img img {
	width: 140px;
	border-radius: 6px;
}
.homeCase .inPageLink  li a:hover .bl_media_img img {
	transform: none;
}
.homeCase .inPageLink  li p {
	margin-bottom: 14px;
	line-height: 1;
}
.homeCase .inPageLink  li span {
	font-size: 1.4rem;
}
.homeCase .inPageLink li.btn a {
    display: block;
	height: 100%;
    padding: 18px 15px 20px;
	line-height: 1;
}

/* consult
================================================================================*/
.consultWrap {
	padding: 60px 0;
	background: var(--color-accent) url(/common_img_new/consult_bg.jpg) no-repeat;
	background-position: calc( 50% - 540px ) bottom;
	background-size: 320px auto;
}
/* seo .cousultWrap h2 {
	margin: 0 0 40px;
} */
.consultTtl {
	margin: 0 0 40px;
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 4.2rem;
	text-align: center;
  line-height: 1.4;
}
.consultTtl span {
	font-size: 3.0rem;
}
.consultInner {
	width: 800px;
	margin: 0 auto;
}
.consultInner dt {
	margin: 0 0 20px;
	text-align: center;
}
.consultInner dt span {
	display: inline;
	color: #fff;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 2.4rem;
}
.consultInner dd .please {
	margin: 0 0 10px;
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
}
.consultInner .btn a {
	width: 600px;
	height: 60px;
	padding: 0 10px 0 20px;
	font-size: 2.4rem;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
}
.consultInner .globalHeaderLine {
    text-align: center;
}



/* instagram
================================================================================*/
.home .instagram h2 {
	position: relative;
  font-family: var(--font-primary);
	font-size: 3.0rem;
}
.home .instagram .moreCatch {
	display: block;
  margin: 0 0 10px;
  color: var(--color-primary);
  font-size: 1.8rem;
  text-align: center;
}
.instagram .btn img {
  display: inline-block;
  position: relative;
  top: -8px;
  margin-right: 10px;
}
.instagram .btn a {
  border: none;
  background: none;
  background-color: #cf2e92;
}
.instagram .btn a:hover,
.instagram .btn a:active {
  border: none;
  background-image: none;
  background-color: #f74a8c;
  opacity: 1;
}

.instagram iframe {
  max-width: 100% !important;
  min-width: auto !important;
}

/* moreBlog
================================================================================*/
.home .moreBlog h2 {
	position: relative;
	font-size: 3.0rem;
}
.home .moreBlog h2 .moreCatch {
	display: block;
	margin: 0 0 10px;
	color: var(--color-primary);
	font-size: 2.4rem;
}

.moreBlog .moreList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}
.moreBlog .moreList li {
	width: 23%;
	margin: 0;
	padding: 0;
}
.moreBlog .moreList li a:link,
.moreBlog .moreList li a:visited {
	text-decoration: none;
}

.moreBlog .moreList li .moreListImg {
	overflow: hidden;
	margin: 0 0 20px;
}
.moreBlog .moreList li .moreListDate {
	margin: 0 0 10px;
	color: var(--color-primary);
}
.home .moreBlog h3 {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	font-weight: normal;
	line-height: 1.6;
}

/* time table
================================================================================*/
.accessWrap,
.timeWrap {
	padding: 80px 0 0;
}
.time h2,
.access h2 {
	position: relative;
	font-size: 3.0rem;
	/* padding: 0 0 20px; */
}
.time h2 span,
.access h2 span {
	display: block;
	margin: 0 0 20px;
	color: var(--color-primary);
	font-size: 1.8rem;
}
.time h2:after,
.access h2:after {
	content: '';
    display: block;
    width: 40px;
    height: 2px;
    margin: 20px auto 0;
    background: var(--color-accent);
}
.time .lead,
.access .lead {
	font-size: 1.8rem;
	text-align: center;
}
.timeTable {
	margin: 0 0 10px;
}

/* calendar
------------------------------------------------*/
.calendar {
	padding: 30px 140px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	border-radius: 10px;
}
.calendar .calendarInfo {
	margin: 0 0 30px;
	font-size: 1.4rem;
	text-align: center;
}
.calendar .calendarInfo .allDay1 {
	color: #fff100;
}
.calendar .calendarInfo .allDay2 {
	color: #92e7ed;
}
.calendar .calendarInfo .allDay3 {
	color: #abed92;
}
.calendarInner {
	display: flex;
	justify-content: space-between;
	margin: 0 0 10px;
}
.calendarInner > div {
	width: 320px;
}
.calendar table {
	margin: 0 auto 10px;
	border-collapse: separate;
	border-spacing: 4px;
	border: none;
	font-size: 1.2rem;
	line-height: 1;
}
.calendar table caption {
	margin: 0 0 10px;
	font-weight: 700;
	font-size: 1.6rem;
}
.calendar th {
	padding: 5px;
	border: 1px solid #fff;
	background: #fff;
	text-align: center;
}
.calendar td {
	padding: 5px;
	border: 1px solid #fff;
	text-align: center;
}
.calendar td sup {
	font-size: 7px;
	vertical-align: top;
}
.calendar tr td:first-child {
	color: #f00;
}
/*.calendar tr td:last-child {
	color: #00A0E9;
}*/
.calendar .allDay1 {
	background: #fff100;
}
.calendar .allDay2 {
	background: #92e7ed;
}
.calendar .allDay3 {
	background: #abed92;
}
.calendar .specialDay {
	border: 1px solid #f00;
}
.calendar tr td.holiday {
  color: #f00;
}
.calendar .asteriskList {
	font-size: 1.4rem;
}
.calendar .asteriskList li {
	margin: 3px 0 0;
	color: #f00;
}

/* access
================================================================================*/
.access {
	margin-bottom: 60px;
}
.map {
	width: 100%;
	height: 400px;
	margin: 0 auto;
}
.addressOutline {
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--color-primary);
	border-radius: 10px;
}
.addressOutline span {
	display: inline-block;
	margin: 0 20px 0 0;
	padding: 0 20px 0 0;
	border-right: 1px solid var(--color-primary-light);
	color: var(--color-primary);
}
.addressOutline span:last-child {
	margin: 0;
	padding: 0;
	border: none;
}

/* snsLink
------------------------------------------------*/
.snsLink {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	height: auto;
}

/* lineLink
------------------------------------------------*/
.lineLink {
	width: 50%;
	margin: 0;
}
.lineLink a {
	display: block;
	position: relative;
	padding: 10px;
	background: #00b900;
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
}
.lineLink a:link,
.lineLink a:visited {
	text-decoration: none;
}
.lineLink span:before {
	content: "";
	display: inline-block;
	position: relative;
	width: 5px;
	height: 10px;
	margin: 0 10px 0 0;
	background: url(/common_img_new/arrow_white.png) no-repeat left top;
	background-size: 5px auto;
}

/* instagramLink
------------------------------------------------*/
.instagramLink {
	width: 50%;
	margin: 0;
}
.instagramLink a {
	display: block;
	position: relative;
	padding: 10px;
	background: #cf2e92;
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
}
.instagramLink a:link,
.instagramLink a:visited {
	text-decoration: none;
}
.instagramLink span:before {
	content: "";
	display: inline-block;
	position: relative;
	width: 5px;
	height: 10px;
	margin: 0 10px 0 0;
	background: url(/common_img_new/arrow_white.png) no-repeat left top;
	background-size: 5px auto;
}


/*================================================================================

under_page common

================================================================================*/
/* main
================================================================================*/
.under #main {
	margin-top: 173px;
}

/* title
================================================================================*/
.wrap.title {
	position: relative;
	height: 201px;
	padding: 0;
	border-bottom: 1px solid #eee;
}
.title .titleText {
	position: absolute;
	top: 70px;
	left: 0;
	right: 0;
	margin: 0 auto;
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
    line-height: 1.2;
	font-size: 4.2rem;
	text-align: center;
	text-shadow: 1px 1px 2px #fff, 1px -1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff;
}
.title .titleText span {
	display: block;
	margin: 20px 0 0;
	color: var(--color-primary);
	font-size: 1.0rem;
	letter-spacing: 1em;
}

/* topicPath
================================================================================*/
.topicPathWrap {
	border-bottom: 1px solid #eee;
	padding: 8px 0;
}
.topicPath {
	width: 1000px;
	margin: 0 auto;
    padding: 0;
}
.topicPath ul {
    display: flex;
    flex-flow: wrap;
    align-items: center;
	list-style: none;
    margin: 0 auto;
	padding: 0;
    font-size: 1.4rem;
    line-height: 1;
}
.topicPath li {
	position: relative;
	margin: 0;
	padding: 0;
}
.topicPath li:first-of-type {
	padding: 0 0 0 28px;
}
.topicPath a:link,
.topicPath a:visited {
    text-decoration: none;
}
.topicPath a:hover,
.topicPath a:active {
    text-decoration: underline;
}
.topicPath li:not(:first-child):before {
    content: '›';
    margin: 0 8px;
	padding: 0;
}
.topicPath li:first-of-type:before {
	position: absolute;
    top: 50%;
    bottom: 50%;
    left: 5px;
    margin: -0.5em 0 0 0;
	content: "home";
    font-family: 'Material Icons';
    font-size: 1.6rem;
    line-height: 1;
    white-space: nowrap;
}

/* h
================================================================================*/
.under h2 {
	margin: 0 0 60px;
	padding: 0;
	color: #000;
	font-size: 3.6rem;
	text-align: center;
}
.under h2:after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	margin: 20px auto 0;
	background: var(--color-accent);
}

/*================================================================================

form

================================================================================*/
/* fieldset {
	width: 800px;
	margin: 0 0 25px;
	padding: 0;
	background: #fff
} */
.inputArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    padding: 0 10px;
    border-bottom: 1px solid #eee;
}
.inputArea dt {
    position: relative;
    width: 30%;
    margin: 0;
    padding: 20px 30px;
    border-top: 1px solid #eee;
    color: #000;
}
.inputArea dt span {
    position: absolute;
    top: 23px;
    right: 30px;
	padding: 2px 5px;
	background: var(--color-primary);
    color: #fff;
    font-size: 1.2rem;
	line-height: 1;
}
.inputArea dd {
    width: 70%;
    margin: 0;
    padding: 20px 30px 20px 60px;
    border-top: 1px solid #eee;
}
.inputArea [type="text"],
.inputArea [type="tel"],
.inputArea [type="email"],
.inputArea textarea {
	width: 100%;
}
.inputArea [type="checkbox"] {
	margin-top: -3px;
	margin-right: 10px;
}
.contactSubject label {
	display: block;
	margin: 0 0 10px;
}
.inputArea .note {
	color: #888;
	font-size: 1.4rem;
}
.btnArea {
	display: flex;
	justify-content: center;
    padding: 0;
}

/*  error
================================================================================*/
.errorList {
    margin: 0 auto 60px;
	padding: 40px 100px;
	border: 1px solid #f00;
    color: #f00;
}
.errorList dt {
	margin: 0 0 20px;
	font-size: 1.8rem;
}
.inputArea em {
    color: #f00;
	font-weight: 500;
    font-size: 1.4rem;
}

/*================================================================================

form / consult

================================================================================*/
/* title
================================================================================*/
.consult .title {
	/* background: url(/common_img_new/consult_bg.png) no-repeat;
	background-position: left calc( 50% + 20% ) bottom -90px;
	background-size: 360px auto; */
}
.consult .title .titleText span {
	display: block;
	margin:  0 0 10px;
	font-size: 2.0rem;
	letter-spacing: 0;
}

/* lead
================================================================================*/
.consult .consultLeadWrap {
	padding: 60px 0;
	background: #f7f7f7 url(/consult/img/consult_dr.png) no-repeat;
	background-position: left calc( 50% - 460px ) top 30px;
	background-size: 200px auto;
}
.consult .consultLeadWrap .container {
	padding: 0 0 0 160px;
}
.consult .lead dt {
	margin: 0 0 20px;
	color: #000;
	font-weight: 700;
	font-size: 2.0rem;
}

/* h
================================================================================*/
.consult.under h2 span {
	display: block;
	margin-bottom: 10px;
	font-size: 1.8rem;
}

/* input
================================================================================*/
/* 無料初診相談の流れ
------------------------------------------------*/
.consult .step {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.consult .step li {
	width: 46%;
	margin: 0 0 8%;
	padding: 0;
}
.consult .stepHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 20px;
}
.consult .stepNum {
	position: relative;
	width: 18%;
	margin: 0;
	padding: 14px 10px 12px;
	background: #eee;
	color: #000;
	font-weight: 700;
	font-size: 1.0rem;
	line-height: 1;
	text-align: center;
	border-radius: 4px;
}
.consult .stepNum span {
	display: block;
	margin: 5px 0 0;
	font-size: 3.0rem;
}
.consult .stepHeader h3 {
	width: 76%;
	margin: 0;
	color: #000;
	font-size: 2.4rem;
}
.consult .stepMain {
	padding: 0px;
	border-radius: 10px;
}
.consult .step figure {
	display: block;
	width: 100%;
	margin: 0 auto 30px;
}
.consult .step figure img {
	border-radius: 8px;
}
.consult .option {
	margin: 0;
	padding: 30px 60px;
	background: var(--color-primary-light-more);
	color: var(--color-primary);
	border-radius: 10px;
}

/* 無料初診相談のお申し込み NEW
------------------------------------------------*/
.form .methodNew {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.form .methodNew section {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 30px;
	width: 49%;
	padding: 30px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
}
.form .methodNew h3 {
	margin: 0 0 20px;
	color: #000;
	font-size: 2.0rem;
}
.form .methodNew .methodForm {
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-bottom: 3%;
	border: 4px solid var(--color-accent);
}
.form .methodNew .methodForm h3 {
	margin-bottom: 40px;
	font-size: 2.4rem;
	text-align: center;
}
.form .methodNew .methodFormLink {
	margin: 0 0 40px;
	text-align: center;
}
.form .methodNew .methodFormLink .btn a {
	width: 600px;
	max-width: 80%;
	height: 60px;
	padding: 0 10px 0 20px;
	font-size: 2.4rem;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
}
.form .methodNew .note {
	margin: 0;
	font-size: 1.4rem;
	letter-spacing: 0;
}
.form .methodNew .methodLine p {
	font-size: 2.4rem;
	line-height: 1.4;
}
.form .methodNew .methodLine p span {
	display: inline-block;
	margin-left: 20px;
	font-size: 1.4rem;
}
.form .methodNew .methodTelNum {
	margin: 0 0 10px;
	font-size: 3.6rem;
	line-height: 1;
}
.form .methodNew .methodTelNum span {
	display: block;
	margin: 0 0 10px;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0;
}

/* 無料初診相談のお申し込み
------------------------------------------------*/
.form .method {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 30px;
}
.form .method section {
	width: 49%;
	padding: 30px 30px 30px 170px;
	border: 1px solid #eee;
	border-radius: 10px;
}
.form .method .methodTel {
	background: #fff url("/consult/img/consult_tel_bg.jpg") no-repeat 20px center;
}
.form .method .methodForm {
	background: #fff url("/consult/img/consult_form_bg.jpg") no-repeat 40px center;
}
.form .method section.methodLine {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 70%;
	margin: 2% auto 0;
	padding: 30px;
	background: #fff;
}
.form .method .methodLine .lineLogo {
	margin: 0 30px 0 0;
}
.form .method .methodLine p {
	font-size: 2.4rem;
	line-height: 1.4;
}
.form .method s.methodLine p span {
	display: inline-block;
	margin-left: 20px;
	font-size: 1.4rem;
}
.form .method h3 {
	margin: 0 0 20px;
	color: #000;
	font-size: 2.0rem;
}
.form .method .methodTelNum {
	margin: 0 0 10px;
	font-size: 3.6rem;
	line-height: 1;
}
.form .method .methodTelNum span {
	display: block;
	margin: 0 0 10px;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0;
}
.form .method .note {
	margin: 0;
	font-size: 1.4rem;
	letter-spacing: 0;
}
.form .method .methodForm {
	margin: 0;
	font-size: 2.4rem;
	line-height: 1.4;
}
.form .method .methodForm span {
	display: block;
	margin: 10px 0 0;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0;
}

/* 「無料初診相談」お申し込みフォーム
------------------------------------------------*/
.formNote {
	padding: 20px;
	background: var(--color-primary-light-more);
	color: var(--color-primary);
	border-radius: 10px;}
.form input#post {
	width: 200px;
}
.form input.ageArea {
	width: 80px;
}
.consult .consultDate .consultDateBox {
	margin: 0 0 14px;
	padding: 0 10px 14px;
	border-bottom: 1px dashed #ddd;
}
.consult .consultDate .consultDateBox:first-of-type {
	padding: 14px 10px;
	border-top: 1px dashed #ddd;
}
.consult .calendarTitle {
	margin: 30px 0 10px;
}

/* inlineframe calendar
------------------------------------------------*/
.calendarIframe {
	background: transparent;
}
.calendarIframe .calendar {
	padding: 30px;
}
.calendarIframe .calendar .calendarInfo .closedDay {
	display: block;
}
.calendarIframe .calendarInner > div {
	width: 48%;
}
.calendar .consultBR {
	display: none;
}
.calendarIframe .calendar .consultBR {
	display: block;
}

/* onlineOutline
------------------------------------------------*/
.onlineOutline {
	max-width: 1000px;
	margin: 0 auto 60px;
	padding: 30px;
	border: 1px dashed #f00;
	border-radius: 10px;
	color: #f00;
}
.onlineOutline dt {
	margin: 0 0 30px;
	font-size: 2.0rem;
	text-align: center;
}

/*================================================================================

concept

================================================================================*/
/* title
================================================================================*/
.concept .title {
	position: relative;
	height: auto;
	padding: 70px 0;
	border-bottom: 1px solid #eee;
	background: #fef9f3 url(/common_img_new/bg_random.png);
}
.concept .title .titleText {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0 auto 60px;
	color: var(--color-primary);
	font-weight: 400;
	font-size: 4.6rem;
	text-align: center;
	text-shadow: none;
}
.concept .title .titleText span {
	font-size: 1.4rem;
	letter-spacing: 0.2em;
}
.concept .title .container {
	padding: 0 60px;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.concept .titleImg {
	width: calc(100% + 100px * 2);
	margin: 0 -100px 60px;
}
.concept .title .container p {
	/* color: var(--color-primary); */
	font-size: 1.8rem;
	text-align: center;
	line-height: 2;
}

/* h
================================================================================*/
.concept .home_h {
	color: var(--color-primary);
}
.concept .home_h span {
	width: fit-content;
	padding: 4px 8px 4px 10px;
	margin-inline: auto;
	background: var(--color-primary);
	color: #fff;
	font-size: 1.4rem;
	line-height: 1;
	letter-spacing: 0.2em;
}
.concept h2:after {
	display: none;
}

/* img
================================================================================*/
.concept #main img {
	border-radius: 10px;
}

/* conceptMessage
================================================================================*/
.conceptMessage {
	border-bottom: 1px solid var(--color-primary-light);
}
.conceptMessage .bl_media {
	align-items: center;
}
.conceptMessage .bl_media_img {
	width: 600px;
}

/* conceptHistory
================================================================================*/
/* .conceptHistory {
	background-color: var(--color-primary-light-more);
} */
.conceptHistory h3 {
	margin-bottom: 20px;
	color: var(--color-primary);
	font-family: var(--font-accent);
	font-weight: normal;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.6;
}
.historyList {
	border-top: 1px solid #fff;
  /* max-width: 800px;
  margin: 0 auto;
  border-top: 2px solid #2c3e50; */
}
.historyItem {
  display: flex;
	margin-bottom: 3px;
  /* border-bottom: 1px solid #fff; */
}
.historyList dt {
  flex-basis: 140px;
	margin-right: 3px;
  padding: 14px 16px;
	/* border: 1px solid var(--color-primary); */
	background-color: var(--color-primary-light);
  flex-shrink: 0;
  color: var(--font-primary);
}
.historyList dd {
	flex: 1;
  margin: 0;
  padding: 14px 16px;
	/* border: 1px solid var(--color-primary); */
	background-color: var(--color-primary-light-more);
  line-height: 1.6;
}

/* concept
================================================================================*/
.concept .conceptTtl {
	padding-bottom: 0;
}
.concept .conceptTtl .container {
	padding: 60px;
	border: 5px solid;
	-o-border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	   border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	border-image-slice: 1;
	background: #fff;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	box-shadow: 0 0 5px 1px rgba(247, 222, 5, .3);
}
.concept .conceptTtl .container dt {
	margin: 0 0 30px;
	color: #d3ad23;
	font-weight: 400;
    font-size: 4.2rem;
	font-feature-settings: "palt";
	line-height: 1.4;
    text-align: center;
}
.concept .conceptTtl .container dd {
	color: var(--color-primary);
	font-size: 1.8rem;
	line-height: 2;
    text-align: center;
}

.conceptList .container {
	margin: 0 auto 60px;
	padding: 80px 0;
	background: #fff;
	/* border-bottom: 1px solid;
	-o-border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	   border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	border-image-slice: 1; */
}
.conceptList .container:last-of-type {
	margin-bottom: 0;
}
.conceptInner {
	position: relative;
	width: 800px;
	margin: 0 auto;
	padding: 0;
}
.conceptList h3 {
	position: relative;
	margin: 0 0 80px;
	padding: 0;
	color: var(--color-primary);
	font-weight: normal;
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.6;
}
.conceptList h3:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -30px;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0 auto;
	border-bottom: 1px solid;
	-o-border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	   border-image: linear-gradient(to top left, #F7DE05, #DA8E00, #EDAC06, #F7DE05, #ECB802, #DAAF08, #B67B03);
	border-image-slice: 1;
	text-align: center;
}
.conceptList h3:after {
	content: "";
	display: block;
	position: absolute;
	bottom: -50px;
	left: 0;
	right: 0;
	width: 20px;
	height: 30px;
	margin: 0 auto;
	padding: 0 20px;
	background: #fff url(/concept/img/fleur-de-lis.png) center top / 20px auto no-repeat;
	text-align: center;
}
.conceptInner div {
	margin: 60px 0 0;
}
.conceptList .strong {
	font-weight: normal;
}

/* 初診で大切にしていること
================================================================================*/
.conceptFirst .bl_beginner {
	flex-direction: column;
	border-radius: 10px;
	background: var(--color-accent);
}
.conceptFirst .bl_beginner_ttl {
	flex: auto;
	width: 100%;
	margin: 0 auto 30px;
	color: #fff;
	font-size: 3.0rem;
	text-align: center;
}
.conceptFirst .bl_beginner_body {
	align-items: stretch;
	width: 100%;
	padding-left: 0;
	border-left: none;
}
.conceptFirst .bl_beginnerType {
	display: flex;
  flex-direction: column;
	width: 58%;
	padding: 30px;
	border: 1px solid var(--color-primary-light);
	border-radius: 10px;
	background: #fff;
}
.conceptFirst .bl_beginnerType:last-of-type {
  width: 40%;
}
.conceptFirst .bl_beginnerType_ttl {
	/* padding: 1px 3px;
	background: var(--color-primary-light-more); */
	text-align: center;
}
.conceptFirst .bl_beginnerType_ttl::before {
	display: none;
}
.conceptFirst .bl_beginnerType_note {
	margin-bottom: 10px;
	font-size: 1.4rem;
	text-align: center;
}
.conceptFirst .bl_beginnerType_txt {
	display: flex;
  flex-direction: column;
  justify-content: center;
	flex: 1;
	border: 1px solid var(--color-accent);
	/* background: var(--color-primary-light); */
}
.bl_beginnerType_tel {
	font-size: 2.4rem;
	text-align: center;
}
.bl_beginnerType_tel {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: var(--color-primary);
}
.bl_beginnerType_tel .material-icons {
	font-size: 3.0rem;
}

/* linkArea
================================================================================*/
.linkArea {
	padding: 40px 0;
}
.linkArea p {
	width: 1000px;
	margin: 0 auto;
	text-align: center;
}
.linkArea span {
	margin: 0 10px;
}


/*================================================================================

info

================================================================================*/
/* title
================================================================================*/
/* .info .title {
	background: url(/common_img_new/link_info.png) no-repeat;
	background-position: left calc( 50% + 300px ) bottom -90px;
	background-size: 186px auto;
} */

/* 診療科目
================================================================================*/
.departmentList {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	width: 800px;
	margin: -2% auto 60px;
	padding: 0;
}
.departmentList::after {
	content: "";
	display: block;
	width: 32%;
	height: 0;
}
.departmentList li {
	width: 32%;
	margin: 2% 0 0;
	padding: 0;
	border: 1px solid #eee;
	background: #fff;
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 2.0rem;
	line-height: 60px;
	text-align: center;
	border-radius: 30px;
}
.clinicPhoto {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 30px auto 30px;
	padding: 0;
}
.clinicPhoto li {
	width: 32%;
	margin: 0;
	padding: 0;
}
.clinicPhoto img {
	border-radius: 10px;
}
.clinicPhotoMain {
	width: 800px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.clinicPhotoMain img {
	border-radius: 10px;
}
.jpOnly {
	padding: 20px;
	border: 1px dashed var(--color-gray);
	text-align: center;
}

/* access
================================================================================*/
#infoAccess .mapBox {
	width: 1000px;
	margin: 0 0 80px;
}
#infoAccess .map {
	width: 100%;
	height: 400px;
	margin: 0 auto 30px;
}
.accessDetail {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0 0 80px;
	padding: 30px 0;
	background: #fff;
}
.accessDetail li {
	width: 100%;
	margin: 0;
	padding: 0 30px;
	border-right: 1px solid #eee;
}
.accessDetail li:last-of-type {
	border-right: none;
}
.accessDetail img {
	display: block;
	margin: 0 0 20px;
}
.accessKinki {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 960px;
	margin: 0 auto;
	padding: 40px 0 80px 170px;
	background: url(/common_img_new/eguchi_welcome.png) no-repeat left bottom;
	background-size: 220px auto;
}
.accessKinki h3 {
	position: relative;
	width: 32%;
	padding: 20px;
	border: 2px solid var(--color-accent);
	background: var(--color-accent);
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.6;
	border-radius: 10px;
}
.accessKinki h3:after {
    border: solid transparent;
    content:'';
    height: 0;
    width: 0;
    pointer-events: none;
    position: absolute;
    /* border-color: #f7f7f7; */
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 13px;
    border-right-width: 13px;
    margin-top: -7px;
    border-right-color: var(--color-accent);
    right: 100%;
    top: 50%;
}
.accessKinki dl {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 64%;
	margin: 0;
	padding: 0;
}
.accessKinki dt {
	width: 26%;
	margin: 0 0 10px;
}
.accessKinki dd {
	width: 74%;
	margin: 0 0 10px;
}

/* ドクターのご紹介
================================================================================*/
.doctorOutlineWrap {
	background: url(/info/img/doctor_outline_bg.jpg) no-repeat;
	background-size: cover;
}
.doctorListOutline {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.doctorListOutline li {
	width: 48%;
	margin: 0;
	padding: 8px;
	border: 1px solid #eee;
	background: #fff;
}
.doctorListOutline .doctorBox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px;
	border: 1px solid #333;
}
.doctorListOutline .doctorPhoto {
	display: block;
	width: 36%;
}
.doctorListOutline .doctorPhoto a:hover {
	opacity: 1;
}
.doctorListOutline dl {
	width: 58%;
	margin: 0;
	padding: 0;
}
.doctorListOutline dt {
	margin: 0;
	color: var(--color-primary);
	font-weight: 500;
	font-size: 1.6rem;
}
.doctorListOutline .doctorName {
	margin: 0 0 10px;
	color: #000;
	font-size: 2.4rem;
}
.doctorListOutline .kana {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 1.6rem;
}
.doctorListOutline .btnBlock a {
	padding: 10px;
	font-size: 1.6rem;
}



/*================================================================================

infoUnder

================================================================================*/
/* title
================================================================================*/
.infoUnder .wrap.title {
	/* height: 240px; */
}
.infoUnder .title .titleText {
	top: 60px;
  font-size: 2.0rem;
}
.infoUnder .title .titleText span {
	margin: 10px 0 0;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
}

.infoUnder h2 {
	font-size: 3.0rem;
}

/* outline
================================================================================*/
.infoUnder .outline {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
	width: 1120px
}
.infoUnder .outlineImg {
	width: 580px;
}
.infoUnder .outlineImg img {
	border-radius: 10px;
}
@media only screen and (max-width: 1120px) {
	.infoUnder .outline {
		width: 1000px
	}
	.infoUnder .outlineImg {
		width: 520px;
	}
}
.infoUnder .outlineBody {
	flex: 1;
	margin-right: 40px;
}
.under .outlineTtl {
	position: relative;
	font-family: var(--font-accent);
	margin: 0 0 60px;
	padding: 0;
	color: #000;
	font-size: 3.0rem;
	line-height: 2.0;
}
/* .under .outlineTtl::after {
	content: "";
	display: block;
	width: calc( 100% + 60px );
	height: 1px;
	margin: 30px -60px 0 0;
	background-color: var(--color-accent);
} */
/* .under h2.outlineTtl:after {
	margin: 20px auto 0 0;
} */

/* col2
================================================================================*/
.infoUnder .bl_col2 .bl_card_img {
	margin-bottom: 30px;
}
.infoUnder .bl_col2 .bl_card_img img {
	border-radius: 10px;
}
.infoUnder .bl_col2 .bl_card_ttl {
	margin-bottom: 30px;
}
/* .infoUnder .bl_card_ttl:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 3px;
	height: 100%;
	background: var(--color-accent);
	border-radius: 2px;
} */

/* infoLink
================================================================================*/
.infoLink .bl_col_item a {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	height: 100%;
	border: 1px solid var(--color-gray);
	background: #fff;
	color: var(--color-txt-dark);
	text-decoration: none;
}
.infoLink .bl_col_item figure {
	width: 100px;
	overflow: hidden;
}
.infoLink .bl_col_item p {
	flex: 1;
	padding: 10px 10px 10px 20px;
	line-height: 1.6;
}


/*================================================================================

treatment-coordinator

================================================================================*/
/* main
================================================================================*/
.tcRoleImg {
	width: 600px;
	margin: 0 auto 60px;
}
.tcRoleImg img {
	border-radius: 10px;
}
.tcRoleList {
	list-style: none;
	margin: 0;
	padding: 0;
}
.tcRoleList li {
	position: relative;
	padding: 10px 10px 10px 40px;
	background: #f7f7f7 url(/common_img_new/bg_random.png);
	/* color: var(--color-primary); */
}
.tcRoleList li::before {
	display: block;
	position: absolute;
	top: 12px;
	left: 10px;
	margin: 0;
	color: var(--color-accent);
	font-family: 'Material Icons';
	font-size: 2.0rem;
	line-height: 1;
	white-space: nowrap;
	content: "\E834";
}


/*================================================================================

hygiene-management

================================================================================*/
/* main
================================================================================*/
.hm .bl_media:not(:last-of-type) {
	margin-bottom: 80px;
}
.hm h2 {
	margin-bottom: 40px;
	text-align: left;
}
.hm h2::after {
	content: "";
	display: block;
	width: calc( 100% + 60px );
	height: 1px;
	margin: 30px 0 0 -60px;
	background-color: var(--color-accent);
}
.hm .bl_media__rev h2::after {
	margin: 30px -60px 0 0;
}
.hm .bl_media h2 {
	margin-top: 30px;
}


/*================================================================================

doctor

================================================================================*/
/* title
================================================================================*/
.doctor .title {
	/* background: url(/common_img_new/dr_eguchi.png) no-repeat, url(/common_img_new/dr_oota.png) no-repeat;
	background-position: left calc( 50% + 350px ) bottom -40px, left calc( 50% - 350px ) bottom -40px;
	background-size: 110px auto, 97px auto; */
}

/* drOutline
================================================================================*/
.drOutline {
	padding: 0;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
}
.drOutline .container {
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
	padding: 100px 0;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
}
.drOutline .drOutlineImg {
	width: 400px;
}
.drOutline .drOutlineText {
	width: 540px;
	padding: 30px 20px;
	border-top: 1px solid var(--color-primary);
	border-bottom: 1px solid var(--color-primary);
}
.doctor .drOutline h2 {
	font-size: 3.6rem;
	text-align: left;
}
.doctor .drOutline h2:after {
	display: none;
}
.drOutline .position {
    margin: 0 0 20px;
	color: var(--color-primary);
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 1.8rem;
}
.drOutline .kana {
    display: inline-block;
    margin: 0 0 0 10px;
    font-weight: 500;
    font-size: 1.6rem;
}

/* inner
================================================================================*/
.doctor h3 {
	margin: 0 0 60px;
	font-weight: 400;
	font-size: 3.0rem;
	line-height: 1.6;
}
.doctor .profileImg {
	float: right;
	width: 300px;
	margin: 0 0 30px 40px;
	padding: 10px;
	background: #fff;
	box-shadow: 0 0 2px 1px rgba(170, 170, 170, .3);
}
.fromAnother {
	margin: 50px 0 0;
	/* border: 1px dashed var(--color-primary); */
	color: var(--color-primary);
	border-radius: 10px;
}
.fromAnother dt {
	margin: 0 0 10px;
}
.drOota .fromAnother {
	padding: 40px 150px 40px 40px;
	background: var(--color-primary-light-more) url(/common_img_new/dr_eguchi.png) no-repeat right 20px bottom;
	background-size: 100px auto;
}
.drEguchi .fromAnother {
	padding: 40px 40px 40px 150px;
	background: var(--color-primary-light-more) url(/common_img_new/dr_oota.png) no-repeat 30px bottom;
	background-size: 80px auto;
}
.drPhotoLage {
	margin-top: 60px;
	padding: 10px;
	background: #fff;
	text-align: center;
	box-shadow: 0 0 2px 1px rgba(170, 170, 170, .3);
}

/*================================================================================

type

================================================================================*/
/* title
================================================================================*/
.type .title {
	background: url(/common_img_new/link_type.png) no-repeat;
	background-position: left calc( 50% - 300px ) bottom -100px;
	background-size: 186px auto;
}

/* h
================================================================================*/
.type h2 {
	margin: 0 0 80px;
	vertical-align: middle;
}
.type h2 span {
	font-size: 2.4rem;
}
.type h2 .inconspicuous {
    display: inline-block;
    margin: 0 20px 0 0;
    padding: 5px 10px;
    background: var(--color-accent);
	color: #fff;
    font-size: 1.4rem;
}

/* inPageLink
================================================================================*/
.inPageLink {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0 auto;
	padding: 0;
}
.inPageLink  li {
    margin: 0 5px;
    padding: 0;
}

/* typeInner
================================================================================*/
.typeInner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.typeImg {
	width: 340px;
	padding: 20px;
	background: #fff;
	box-shadow: 0 0 2px 1px rgba(170, 170, 170, .3);
}
.typeImg img {
	display: block;
	margin: 0 0 20px;
}
.typeImg p {
	color: var(--color-primary);
	text-align: center;
}
.typeText {
	width: 580px;
}
.typeText .costBase {
	margin: 0 0 10px;
}
/* .typeText table {
	border-collapse: separate;
	border-spacing: 4px;
} */
.typeText table caption {
	margin: 0 0 20px;
	color: #000;
	text-align: left;
}
.typeText .costBase table th,
.typeText .costBase table td {
	font-size: 1.6rem;
}
.typeText section {
	margin: 40px 0 0;
}
.typeText h3 {
	margin: 0 0 20px;
	font-size: 2.0rem;
}
.typeText ul {
	margin: 0 0 0 20px;
}

/* typeOption
================================================================================*/
.typeOption {
	display: flex;
	justify-content: space-between;
	list-style: none;
	width: 800px;
	margin: 0 auto;
	padding: 0;
}
.typeOption li {
	width: 48%;
	margin: 0;
	padding: 40px;
	background: #fff;
}
.typeOption dt {
	margin: 0 0 20px;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 2.0rem;
}
.typeOption dd img {
	display: block;
	margin: 0 0 20px;
}


/*================================================================================

flow

================================================================================*/
/* title
================================================================================*/
.flow .title {
	background: url(/common_img_new/link_flow.png) no-repeat;
	background-position: left calc( 50% - 300px ) bottom -110px;
	background-size: 186px auto;
}

/* step
================================================================================*/
.flow .step {
    counter-reset: flowstep;
}
.flow .step > section {
    position: relative;
	margin: 0 0 60px;
	padding: 40px 110px 40px 110px;
	border: 1px solid #999;
	background: #fff;
	border-radius: 10px;
}
.flow .step > section:not(:last-of-type):before {
    border-top: 20px solid #eee;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -20px;
}
.stepInner {
	display: flex;
	justify-content: space-between;
}
.stepText {
	flex: 1;
}
.stepImg {
	width: 360px;
	margin: 0 0 0 40px;
}
.stepImg img {
	border-radius: 10px;
}
.flow .step h3 {
    counter-increment: flowstep;
    position: relative;
    margin: 0 0 30px -70px;
    padding: 5px 0 0 70px;
	color: #000;
    font-size: 2.4rem;
}
.flow .step h3:before {
	content: counter(flowstep);
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    margin: 0;
    padding: 0;
    background: #444;
    color: #fff;
    font-size: 2.0rem;
    line-height: 40px;
    text-align: center;
    border-radius: 5px;
}
.flow .stepPeriod {
	display: inline-block;
	position: absolute;
	top: 10px;
	right: 0;
	padding: 0 0 0 30px;
	color: var(--color-primary);
	font-size: 1.6rem;
	line-height: 1;
}
.flow .stepPeriod:before {
	display: block;
	position: absolute;
	top: -5px;
	left: 0;
	margin: 0;
	font-family: 'Material Icons';
	font-size: 2.4rem;
	line-height: 1;
	white-space: nowrap;
	content: "access_time";
}

/*================================================================================

cost

================================================================================*/
/* title
================================================================================*/
.cost .title {
	background: url(/common_img_new/link_cost.png) no-repeat;
	background-position: left calc( 50% + 300px ) bottom -90px;
	background-size: 186px auto;
}

/* 成人矯正
================================================================================*/
.costBase {
	margin: 0 0 40px;
	padding: 20px;
	background: url(/common_img_new/bg_beige.jpg);
}
.costBase table {
	margin: 0 0 20px;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--color-primary-light);
}
.costBase table:last-child {
	margin: 0;
}
.cost .costBase table caption {
	padding: 0 0 10px;
	color: var(--color-primary);
	font-size: 1.6rem;
	text-align: right;
	caption-side: top;
}
.costBase table th {
	padding: 20px 30px;
	border-bottom: 1px solid var(--color-primary-light);
	border-right: 1px solid var(--color-primary-light);
	color: var(--color-primary);
	font-weight: 500;
	font-size: 2.0rem;
}
.costBase table td {
	padding: 20px 30px;
	border-bottom: 1px solid var(--color-primary-light);
	background: #fff;
	color: #000;
	font-size: 2.0rem;
	text-align: right;
	vertical-align: middle;
}
.costBase table th ul {
	margin-left: 0;
	font-weight: 400;
	font-size: 1.8rem;
}
.costBase table th span {
	font-weight: 400;
	font-size: 1.4rem;
}
.costBase table td .typeCost {
	display: inline-block;
	float: left;
	margin: 0 10px 0 0;
	padding: 0 10px;
	background: #f7f7f7;
	color: #000;
}
.costBase table td .typeCost span {
	color: inherit;
	font-size: 1.6rem;
}
/* .costBase table tr:last-of-type th {
	border-bottom: none;
} */
.costDetail {
	margin: 0 0 60px;
	padding: 40px;
	background: url(/common_img_new/bg_beige.jpg);
}
.costDetail h4 {
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px dotted var(--color-primary);
	font-weight: 500;
	font-size: 1.8rem;
	color: var(--color-primary);
}
.costOption {
	margin: 0;
}
.costOption dt {
	position: relative;
	margin: 0 0 10px;
	font-weight: 700;
}
.costBase table .specialPrice {
	color: var(--color-warning);
}
.costBase table .invisalignTd {
	padding-bottom: 10px;
	border-bottom: none;
}
.costBase s {
	display: inline-block;
	margin-right: 10px;
	color: #000;
	font-size: 1.6rem;
}

/* 小児矯正
================================================================================*/
.cost #kidsCost .inner img {
	display: block;
	width: 120px;
	margin: 0 auto 30px;
	text-align: center;
}
.kidsFlowImg {
	margin-bottom: 20px;
	text-align: center;
}
.kidsFlowImg img {
	width: 140px;
	height: auto;
}
.kidsFlowImg02 {
	text-align: center;
}
.kidsFlowImg02 img {
	width: 234px;
	height: auto;
}

/* お支払いについて
================================================================================*/
.payment {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 60px;
	padding: 0;
}
.payment li {
	width: 32%;
	margin: 0;
	padding: 30px;
	border: 1px solid #444;
	background: #fff;
}
.payment h3 {
	margin: 0 0 30px;
	color: #000;
	font-weight: 500;
	font-size: 2.0rem;
	text-align: center;
}
.payment h3 span {
	display: block;
	margin: 10px 0 0;
	font-size: 1.6rem;
}
/* .deduction {
	padding: 30px;
	background: url(/common_img_new/bg_beige.jpg);
}
.deduction dt {
	margin: 0 0 10px;
} */

/* 医療費控除について
================================================================================*/
.deduction > section {
	margin: 60px 0 0;
	padding: 80px 100px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	border-radius: 10px;
}
.deduction > section h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 40px;
	padding: 0;
	color: var(--color-primary);
	font-size: 2.4rem;
	text-align: center;
}
.deduction > section h3:before,
.deduction > section h3:after {
	display: inline-block;
	flex-grow: 1;
	content: '';
	min-width: 20px;
	height: 1px;
	background: var(--color-primary);
	vertical-align: middle;
}
.deduction > section h3:before {
	margin-right: 20px;
}
.deduction > section h3:after {
	margin-left: 20px;
}
.deduction > section h4 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 40px;
	padding: 10px;
	background-color: var(--color-primary);
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1;
}
.deductionCaseInfo {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
.deductionCaseInfo table {
	width: 560px;
	border: 1px solid var(--color-primary);
}
.deductionCaseInfo th,
.deductionCaseInfo td {
	border: 1px solid var(--color-primary);
	background-color: transparent;
}
.deductionCaseInfo td {
	text-align: right;
}
.deductionCaseInfo figure {
	height: 200px;
	margin: -60px 30px 0 0;
}
.deductionCaseInfo figure img {
	position: relative;
	width: auto;
}

.deductionFormula {
	margin: 0 0 30px;
	padding: 40px;
	border-radius: 10px;
	background: #fff;
	color: #000;
	font-size: 1.8rem;
}
.deductionFormulaNote {
	font-size: 1.2rem;
}
.deductionFormulaTtl {
	position: relative;
	margin-bottom: 10px;
	padding: 0 0 10px 20px;
	border-bottom: 1px dashed var(--color-primary);
	color: var(--color-primary);
	font-size: 1.8rem;
}
.deductionFormulaTtl:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 5px;
	height: 30px;
	background: var(--color-primary);
}

.deductionFormula .subtotal {
	font-weight: 700;
	font-size: 2.4rem;
}
.deductionFormula .total {
	display: inline-block;
	margin-left: 20px;
	padding: 10px 20px;
	background-color: var(--color-accent-dark);
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
}

/*================================================================================

retention

================================================================================*/
/* retainerInner
================================================================================*/
.retainerImg {
	width: 400px;
	margin: 0 auto 60px;
}
.retainerImg img {
	border-radius: 10px;
}

/* afterCare
================================================================================*/
.afterCare {
	display: flex;
	padding: 100px 0;
	background: var(--color-primary-light-more);
}
.afterCare .afterCareInner {
	margin: 0 auto 0 calc(auto + 400px);
    padding: 60px 260px 60px 80px;
	border: 1px solid #fff;
	background: #fff url(/common_img_new/eguchi_welcome.png) no-repeat right 20px bottom;
	background-size: 260px auto;
}
/*.retention .afterCare h2 {
	display: inline-block;
	margin: 0 0 40px;
	padding: 10px 30px;
	background: var(--color-accent);
	color: #fff;
	font-size: 2.4rem;
	text-align: left;
}
.retention .afterCare h2:after {
	display: none;
}*/
.afterCarePoint {
	padding: 30px;
	border: 2px solid var(--color-accent);
	border-radius: 10px;
	color: var(--color-primary);
	font-weight: 700;
}


/*================================================================================

privacy

================================================================================*/
/* h
================================================================================*/
.privacy h2 {
	margin: 0 0 40px;
	font-weight: 500;
	font-size: 1.8rem;
	text-align: left;
}
.privacy h2:after {
	display: none;
}

/* section
================================================================================*/
.privacy .container section {
	margin: 0 0 80px;
}
.privacy .inner dt {
	margin: 0 0 20px;
	font-weight: 700;
}


/*================================================================================

invisalign

================================================================================*/
/* title
================================================================================*/
.invisalign .title {
	position: relative;
	height: auto;
	padding: 70px 0;
	border-bottom: 1px solid #eee;
	background: #f2fcff;
}
.invisalign .title .copy {
	margin: 0 0 20px;
	color: var(--color-invisalign-light);
    font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 0;
}
.invisalign .title .titleText {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0 auto;
	color: var(--color-invisalign);
	font-size: 4.6rem;
	text-align: center;
	text-shadow: none;
}
.invisalign .title .note {
	margin: 10px 0 0;
	color: var(--color-invisalign);
    font-size: 1.6rem;
	letter-spacing: 0;
}

/* outline
================================================================================*/
.invisalign .outline {
}
.invisalign .outline .container {
	/* padding: 80px; */
	/* border: 1px solid #e2f4fe; */
	/* background: #fff; */
}
.invisalign .outline .container dt {
	margin: 0 0 30px;
  text-align: center;
}
.invisalign .outline .container dd {
	margin-bottom: 60px;
	font-size: 1.8rem;
	line-height: 2;
}

/* invisaMovie
------------------------------------------------*/
.invisaMovieListTtlSub {
	margin-bottom: 30px;
	color: var(--color-invisalign);
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 1.8rem;
	text-align: center;
}
.invisaMovieListTtl {
	color: var(--color-invisalign-light);
	font-size: 1.8rem;
	text-align: center;
}
.invisaMovieListTtl span {
	display: inline-block;
	margin-bottom: 10px;
	padding: 8px 12px;
	background: var(--color-invisalign-light);
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1;
}
.invisaMovieList ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
	height: auto;
	margin: 0 0 30px;
	padding: 0;
}
.invisaMovieList ul li {
	width: 49%;
	margin: 0;
	padding: 30px 30px 18px 30px;
	border: 1px solid #eee;
	background: #f2fcff;
}
.invisaMovieList ul li iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}
.invisaMovieTtl {
	margin-top: 10px;
	color: var(--color-invisalign-light);
	font-size: 1.8rem;
	text-align: center;
	line-height: 1;
}

/* h
================================================================================*/
.invisalign h2 {
	margin: 0 0 80px;
	color: #000;
	font-size: 3.0rem;
	line-height: 1.5;
}
.invisalign h2:after {
	display: none;
}

/* invisalignTarget
================================================================================*/
.invisalignTarget ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: -4% 0 80px;
	padding: 0;
}
.invisalignTarget li {
	width: 48%;
	margin: 4% 0 0;
	padding: 50px;
	border: 1px solid #eee;
	background: #fff;
}
.invisalignTarget li img {
	width: 100%;
	margin: 0 auto 20px;
	text-align: center;
}

/* invisalignFeature
================================================================================*/
.invisalignFeature ul {
	counter-reset: featureNum;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 80px;
	padding: 60px 40px 40px;
	background: #f7f7f7 url(/common_img_new/invisalign_logo.png) no-repeat center 30px;
	background-size: 180px auto;
}
.invisalignFeature li {
	width: 48%;
	margin: 4% 0 0;
	padding: 50px;
	border: 1px solid #eee;
	background: #fff;
}
.invisalignFeature li img {
	width: 100%;
	margin: 0 auto 40px;
	text-align: center;
}
.invisalignFeature li h3 {
	counter-increment: featureNum;
	position: relative;
	margin: -55px 0 30px;
	padding: 60px 0 0;
	color: var(--color-invisalign);
	font-size: 2.4rem;
	text-align: center;
}
.invisalignFeature li h3:before {
    content: counter(featureNum);
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
	right: 0;
    width: 60px;
    height: 60px;
	margin: 0 auto 20px;
	padding: 15px 0 0;
    border: 2px dotted var(--color-accent-dark);
	background: #fff;
    color: var(--color-accent-dark);
    font-weight: 700;
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0;
    border-radius: 50%;
}
.invisalignNote {
	padding: 60px 80px;
	border: 1px dashed #aaa;
	background: #fff;
}
.invisalignFeature .invisalignNote h3 {
	margin: -75px 0 60px;
	font-size: 2.4rem;
	text-align: center;
}
.invisalignFeature .invisalignNote h3 span {
	display: inline-block;
	padding: 0 20px;
	background: #fff;
}
.invisalignNote dt {
	margin: 0 0 20px;
	color: var(--color-invisalign-light);
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 500;
    font-size: 1.8rem;
}

/* invisalignPlan
================================================================================*/
.invisalignPlan {
	margin: 0 auto 80px;
}
.invisalignPlan ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
}
.invisalignPlan li {
	width: 49%;
	margin: 0;
	padding: 40px;
	border: 1px solid #e2f4fe;
	background: #fff;
}
.invisalignPlan li:nth-last-of-type(-n+2) {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	margin: 2% 0 0;
	border: 1px dashed var(--color-invisalign-light);
	background: transparent;
}
/* .invisalignPlan li img {
	display: block;
	height: 80px;
	margin: 0 auto 40px;
} */
.invisalignPlan li:nth-last-of-type(-n+2) figure {
	display: block;
	width: 200px;
	margin: 0 30px 0 0;
}
.invisalignPlan li:nth-last-of-type(-n+2) dl {
	flex: 1;
}
.invisalignPlan h3 {
	margin: 0 auto 20px;
	padding: 10px;
	background: var(--color-accent-light);
	color: var(--color-invisalign);
	font-size: 2.4rem;
	text-align: center;
}
.invisalignPlan li:nth-last-of-type(-n+2) dt img {
	width: auto;
	height: 34px;
}

/* invisalignAssist
------------------------------------------------*/
.invisalignAssist  {
	padding: 40px 60px 60px;
	border: 1px solid #e2f4fe;
	background: #fff;
}
.invisalignAssist h3 {
    margin: 0 auto 40px;
    color: #000;
    font-size: 2.4rem;
	text-align: center;
}
.invisalignAssist h3:after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	margin: 20px auto 0;
	background: var(--color-invisalign-light);
}
.invisalignAssist ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: -2% 0 0;
	padding: 0;
}
.invisalignAssist li {
	width: 49%;
	margin: 0;
	margin: 2% 0 0;
	padding: 40px;
	/* border: 1px solid #b3e6fd; */
	border: 1px solid #eee;
	background: #fafafa;
}
.invisalignAssist li img {
	display: block;
	width: 80%;
	margin: 0 auto 30px;
}
.invisalignAssist h4 {
	margin: 0 0 20px;
	color: var(--color-invisalign-light);
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 2.0rem;
	text-align: center;
}

/* invisalignCost
================================================================================*/
.invisalignCost .costBase {
	background: url(/common_img_new/bg_blue.jpg);
}
.invisalignCost .costBase table {
	border: 1px solid #b3e6fd;
}
.invisalignCost .costBase table caption {
	margin: 0 0 10px;
	color: var(--color-invisalign-light);
	font-size: 1.6rem;
	text-align: right;
	caption-side: top;
}
.invisalignCost .costBase table th {
	border-bottom: 1px solid #b3e6fd;
	border-right: 1px solid #b3e6fd;
	color: var(--color-invisalign-light);
}
.invisalignCost .costBase table td {
	border-bottom: 1px solid #b3e6fd;
}
.invisalignCost .costBase table tr:last-of-type td {
	/* padding-bottom: 160px;
	background: #fff url(/invisalign/img/cost_bg.png) no-repeat right bottom;
	background-size: 180px auto; */
	vertical-align: top;
}
.invisalignCost .costBase table th li {
	color: var(--color-invisalign);
}
.invisalignCost .costDetail {
	background: url(/common_img_new/bg_blue.jpg);
}
.invisalignCost .costDetail h4 {
    border-bottom: 1px dotted var(--color-invisalign);
    color: var(--color-invisalign);
}
.invisalignCost .costBase table tr:last-of-type td p:not(:last-of-type) {
	margin-bottom: 20px;
}

/* invisalignFlow
================================================================================*/
.invisalignFlow .lead {
	color: var(--color-invisalign);
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
}
.invisalignFlowStep {
	counter-reset: flow_num;
	margin: 0 0 100px;
    padding: 79px;
	border: 1px solid #e2f4fe;
    background: #fff;
}
.invisalignFlowStep section {
	position: relative;
}
.invisalignFlowStep section:not(:last-of-type):before {
    border-top: 20px solid var(--color-accent-light);
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    content: "";
    position: absolute;
    bottom: -30px;
    left: 50%;
    margin-left: -20px;
}
.invisalignFlowStep section label {
	counter-increment: flow_num;
	display: block;
	position: relative;
	margin: 0 0 20px;
	padding: 0 0 0 40px;
	border: none;
	color: #000;
	font-size: 2.0rem;
	line-height: 1.5;
	cursor: text;
	transition: all 0.5s;
}
.invisalignFlowStep section label h4 {
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.invisalignFlowStep section label:before {
	content: counter(flow_num);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	line-height: 30px;
	text-align: center;
	background: var(--color-invisalign-light);
	color: #fff;
	font-size: 14px;
	border-radius: 3px;
}
.invisalignFlowStep section input {
	display: none;
}
.invisalignFlowStep section .stepInner {
	padding: 30px;
	margin: 0 0 50px;
	background: #f7f7f7;
	border-radius: 8px;
}
.invisalignFlowStep section:last-of-type .stepInner {
	margin: 0;
}
.invisalignFlowStep .stepImg {
	width: 300px;
	margin: 0 0 0 40px;
}


/* invisalignRecommend
================================================================================*/
.invisalignRecommend {
	background: #f7f7f7 url(/common_img_new/bg_random.png);
}
.invisalignRecommend h2 {
	margin: 0 0 70px;
	padding: 0;
	background: none;
	font-size: 3.6rem;
	line-height: 1.8;
}
.invisalignRecommend h2 .subTitle {
	display: inline-block;
	position: relative;
	margin: 0 0 30px;
	padding: 10px 20px;
	background: var(--color-accent);
	color: #000;
	font-weight: 500;
	font-size: 2.0rem;
}
.invisalignRecommend h2 .subTitle:after {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	/* border-color: #fff; */
	border-top-color: var(--color-accent);
	border-width: 15px;
	margin-left: -15px;
}
.invisalignRecommendInner {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-end;
	width: 800px;
	margin: 0 auto;
	padding: 0;
}
.recommendText {
	width: 460px;
	padding: 0 0 20px;
}
.recommendImg {
	width: 340px;
	margin: 0 0 0 -20px;
}
.recommendText ul {
	list-style: none;
	margin: 0 0 30px;
	padding: 0;
}
.recommendText li {
	position: relative;
	margin: 0 0 8px;
	padding: 0 0 0 30px;
	color: var(--color-invisalign-light);
	font-weight: 500;
	font-size: 2.0rem;
}
.recommendText li:before {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	top: .4rem;
	left: 0;
	margin: 0;
	font-family: 'Material Icons';
	font-size: 2.0rem;
	line-height: 1;
	white-space: nowrap;
	content: "\E834";
}
.invisalignDeclaration {
	padding: 60px 100px;
	border: 1px solid #eee;
	background: #fafafa;
	border-radius: 10px;
}
.invisalignDeclaration h3 {
	margin: 0 0 50px;
	padding: 0;
	background: none;
	color: var(--color-invisalign);
	font-size: 3.0rem;
	text-align: center;
	letter-spacing: 0;
}
.invisalignDeclaration h3 .subTitle {
	display: inline-block;
	margin: 0 0 20px;
	padding: 0;
	color: var(--color-invisalign-light);
	font-size: 2.0rem;
}
.invisalignDeclaration .invisalignDeclarationText {
	color: #222;
	margin: 0 0 1em;
	padding: 0 1em 1.4em;
	background-image: linear-gradient( rgba(184,169,146,.3) .05em, transparent .05em );
	background-size: auto 2.8em;
	line-height: 2.85em;
	overflow: hidden;
}

/* consultBox
------------------------------------------------*/
.consultBox {
	margin: 60px 0;
}
.consultBox dt {
	margin: 0 0 30px;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 400;
	font-size: 3.0rem;
	text-align: center;
}
.consultBox dd p {
	text-align: center;
}
.consultBox dd .please {
	margin: 0 0 10px;
	color: var(--color-accent-dark);
	font-size: 2.0rem;
}
.consultBox .btn a {
	display: inline-block;
	width: 600px;
	height: 60px;
	padding: 0 10px 0 20px;
	font-size: 2.4rem;
	line-height: 60px;
	letter-spacing: 0;
}
.consultBox .btn a:hover,
.consultBox .btn a:active {
	opacity: 1;
}


/* invisalignKawaramachi
================================================================================*/
.invisalignKawaramachi section {
	display: flex;
	justify-content: space-between;
	margin: 0 0 30px;
	padding: 40px 40px 40px 60px;
	border: 1px solid #e2f4fe;
	background: #fff;
	border-radius: 10px;
}
.invisalignKawaramachi section .welcomeText {
	width: 500px;
}
.invisalignKawaramachi section h3 {
	position: relative;
	margin: 0 0 30px -20px;
	padding: 0 0 0 20px;
	color: #000;
	font-size: 2.4rem;
	line-height: 1.5;
}
.invisalignKawaramachi section h3:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 6px;
    height: 100%;
    background: var(--color-invisalign-light);
    border-radius: 3px;
}
.invisalignKawaramachi .welcomeImg {
	width: 300px;
}
.invisalignKawaramachi .welcomeImg img {
	border-radius: 8px;
}



/*================================================================================

invisalign interview

================================================================================*/
/* title
================================================================================*/
.interview .title {
	position: relative;
	height: auto;
	padding: 70px 0;
	border-bottom: 1px solid #eee;
	background: #f2fcff;
}
.interview .title .copy {
	margin: 0 0 20px;
	color: var(--color-invisalign-light);
    font-size: 2.4rem;
	line-height: 1.4;
	letter-spacing: 0;
}
.interview .title .titleText {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0 auto 60px;
	color: var(--color-invisalign);
	font-size: 4.6rem;
	line-height: 1.8;
	text-align: center;
	text-shadow: none;
}
.interview .subjectLink {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
	list-style: none;
	width: 700px;
	margin: 0 auto;
	padding: 0;
}
.interview .subjectLink li {
	width: 48%;
	margin: 0;
	padding: 0;
}
.interview .subjectLink li a {
	display: block;
	position: relative;
	margin: 0;
	padding: 10px ;
	border: 1px solid var(--color-invisalign-light);
	background: #fff url(/common_img_new/arrow.png) no-repeat 10px center;
	background-size: 5px auto;
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	text-align: center;
	border-radius: 4px;
}
.interview .subjectLink li a:link,
.interview .subjectLink li a:visited {
	text-decoration: none;
}
.interview .subjectLink li a:hover,
.interview .subjectLink li a:active {
	background: var(--color-invisalign-light) url(/common_img_new/arrow_white.png) no-repeat 15px center;
	background-size: 5px auto;
	color: #fff;
	text-decoration: none;
}
/* .interview .subjectLink li a:before {
	display: block;
	position: absolute;
	top: 16px;
	left: 10px;
	width: 10px;
	height: 10px;
    background:
		linear-gradient(to bottom left, rgba(255,255,255,0) 50%, var(--color-invisalign-light) 50.5%) no-repeat top left/100% 50%,
		linear-gradient(to top left, rgba(255,255,255,0) 50%, var(--color-invisalign-light) 50.5%) no-repeat bottom right/100% 50%;
	content: "";
} */

/* wrap
================================================================================*/
.interview .subject {
	padding: 0 0 100px;
}

/* h
================================================================================*/
.interview h2:after {
	display: none;
}
.interview h3 {
	margin: 0 0 100px;
	color: var(--color-invisalign);
	font-weight: normal;
	font-size: 3.0rem;
	text-align: center;
	line-height: 1.8;
}

/* section
================================================================================*/
.interview .container .inner {
	margin-top: 100px;
	padding-bottom: 100px;
	border-bottom: 1px solid #eee;
}
.interview #subject01 .container .inner:last-of-type {
	border-bottom: none;
}

/* subjectTitle
================================================================================*/
.interview .subjectTitle {
	margin-left: calc( ( ( 100% - 100vw ) / 2 ) + 9px );/*スクロールバーの幅を考慮（+8px）*/
	margin-right: calc( ( ( 100% - 100vw ) / 2 ) + 9px );/*スクロールバーの幅を考慮（+8px）*/
	margin-bottom: 100px;
	border-bottom: 1px solid #eee;
	background: url(/common_img_new/bg_random.png) repeat;
}
.interview #subject02 .subjectTitle {
	border-top: 1px solid #eee;
}
.interview .subjectTitle .subjectTitleInner {
	width: 1000px;
	margin: 0 auto;
}
.interview #subject01 .subjectTitle .subjectTitleInner {
	min-height: 400px;
	padding: 60px 0 20px 460px;
	background: url(/invisalign/interview/img/subject01_bg.png) left bottom no-repeat;
}
.interview #subject02 .subjectTitle .subjectTitleInner {
	min-height: 420px;
	padding: 60px 400px 20px 0;
	background: url(/invisalign/interview/img/subject02_bg.png) right bottom no-repeat;
}
.interview .subjectTitle h2 {
	margin: 0 0 20px;
	padding: 30px;
	border-bottom: 1px dotted #ccc;
	color: #000;
	font-size: 3.0rem;
	text-align: left;
	line-height: 1.8;
}
.interview .subjectTitle h2 .subTitle {
	display: block;
	margin: 0 -30px 30px;
	padding: 10px;
	background: linear-gradient(135deg, var(--color-invisalign-light), var(--color-invisalign));
	color: #fff;
	font-size: 2.0rem;
	line-height: 1;
	text-align: center;
}
.interview .subjectTitle h2 .strong {
	font-weight: normal;
	font-size: 4.2rem;
}
.interview .subjectTitle p {
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	text-align: right;
	font-size: 2.0rem;
}
.interview .subjectTitle p span {
	display: inline-block;
	margin: 0 10px 0 0;
	font-size: 1.6rem;
}

/* profile
================================================================================*/
.interview .container#profile {
	width: 800px
}
.profileContent {
	display: flex;
	justify-content: space-between;
	align-content: flex-start;
}
.profileContent div {
	width: 200px;
}
.profileContent dl {
	width: 540px;
}
.profileContent dt {
	margin: 0 0 20px;
	color: var(--color-invisalign);
	font-size: 2.4rem;
}
.profileContent dt span {
	display: inline-block;
	margin: 0 0 0 10px;
	font-size: 1.6rem;
}

/* consultBox
================================================================================*/
/* .interview .consultBox {
	margin: 0;
} */

/*================================================================================

invisalignFirst

================================================================================*/
/* title
================================================================================*/
.invisalignFirst .title {
	position: relative;
	height: auto;
	padding: 70px 0;
	border-bottom: none;
	background: #fff;
}
.invisalignFirst  .mainImg {
	margin: 0;
	padding: 0;
	background: var(--color-invisalign-first);
	text-align: center;
}
.invisalignFirst .title .copy {
	margin: 0 0 20px;
	color: var(--color-invisalign-first-accent);
    font-size: 3.0rem;
	line-height: 1.4;
	letter-spacing: 0;
}
.invisalignFirst .title .titleText {
	position: relative;
	top: auto;
	left: auto;
	right: auto;
	margin: 0 auto 60px;
	color: var(--color-invisalign-first);
	font-size: 4.6rem;
	text-align: center;
	text-shadow: none;
}
.invisalignFirst .title .note {
	margin: 10px 0 0;
	color: var(--color-invisalign-first);
    font-size: 1.6rem;
	letter-spacing: 0;
}
.invisalignFirst .title .container {
	width: 800px;
	font-size: 1.8rem;
	line-height: 2;
}


/* h
================================================================================*/
.invisalignFirst h2 {
	margin: 0 0 80px;
	padding: 0;
	color: #000;
	font-size: 3.6rem;
	line-height: 1;
	vertical-align: middle;
}
.invisalignFirst h2 span {
	display: block;
	margin: 0 0 20px;
	color: var(--color-invisalign-first);
	font-size: 2.0rem;
	line-height: 1;
}
.invisalignFirst h2:after {
	display: none;
}

/* invisalignReassurance
================================================================================*/
.invisalignFirst .invisalignReassurance ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: -4% 0 80px;
	padding: 0;
}
.invisalignFirst .invisalignReassurance li {
	width: 48%;
	margin: 4% 0 0;
	padding: 0 40px 40px;
	border: 1px solid #eee;
	background: #fff;
}
.invisalignFirst .invisalignReassurance li h3 {
	margin: 0 0 30px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--color-invisalign-first-accent);
	color: var(--color-invisalign-first-accent);
	font-size: 2.4rem;
	text-align: center;
}

.invisalignFirst .invisalignReassurance li .reassuranceImg {
	width: calc( 100% + 80px );
	margin: 0 -40px 40px;
	text-align: center;
}

/* invisalignFeature
================================================================================*/
.invisalignFirstFeature ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 80px;
	padding: 0;
}
.invisalignFirstFeature li {
	width: 48%;
	margin: 0;
	padding: 0;
	/* border: 1px solid var(--color-invisalign-first);
	background: var(--color-invisalign-first); */
}
.invisalignFirstFeature li dl {
	padding: 40px;
	background: #f7f7f7;
}
.invisalignFirstFeature li dt {
	margin: -50px 0 30px;
	padding: 10px 20px;
	background: var(--color-invisalign-first);
	color: #fff;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 2.0rem;
	text-align: center;
	line-height: 1;
}
.invisalignFirstFeature li dd {
	margin: 0;
}
.invisalignFirstFeature li .featureImg {
	margin: 0 0 40px;
	text-align: center;
}
.invisalignFirstFeature .invisalignNote {
	margin: 0 auto;
	padding-top: 40px;
	padding-bottom: 40px;
	border: 1px dashed #ccc;
}
.invisalignFirstFeature h3.invisalignNoteTitle {
	margin: 0 0 30px;
	font-size: 2.0rem;
	text-align: center;
}
.invisalignFirstFeature .invisalignNote dt {
	color: var(--color-invisalign-first-accent);
}
.invisalignFirstFeature .invisalignNote dd {
	font-size: 1.4rem;
}


/* invisalignFirstPeriod
================================================================================*/
.invisalignFirstFlow {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.invisalignFirstFlow li {
	position: relative;
	width: 46%;
	padding: 40px;
	border: 2px solid var(--color-invisalign-first);
	background: #fff;
	text-align: center;
}
.invisalignFirstFlow li.period2 {
	border: 2px solid var(--color-invisalign-light);
}
.invisalignFirstFlow li.period1:after {
	display: inline-block;
	position: absolute;
	top: 50%;
	right: -60px;
	font-family: 'Material Icons';
	font-size: 3.0rem;
	line-height: 1;
	white-space: nowrap;
	content: "arrow_forward_ios";
}
.invisalignFirstFlow li h3 {
	margin: 0 0 20px;
	color: var(--color-invisalign-first);
	font-size: 2.4rem;
	line-height: 1;
}
.invisalignFirstFlow li.period2 h3 {
	color: var(--color-invisalign-light);
}
.invisalignFirstFlow li dl {
	padding: 0 0 20px;
	border-bottom: 1px solid var(--color-invisalign-first);
}
.invisalignFirstFlow li.period2 dl {
	border-bottom: 1px solid var(--color-invisalign-light);
}
.invisalignFirstFlow li dt {
	margin: 0 0 10px;
}
.invisalignFirstFlow li dt span {
	padding: 4px 10px;
	background: var(--color-invisalign-first);
	color: #fff;
	border-radius: 4px;
}
.invisalignFirstFlow li.period2 dt span {
	background: var(--color-invisalign-light);
}
.invisalignFirstFlow li .periodImg {
	width: 60%;
	margin: 0 auto 30px;
}
.invisalignFirstFlow li .periodChoice {
	color: #000;
	font-weight: 700;
	font-size: 1.8rem;
}
.invisalignFirstFlow li .periodChoice span {
	display: block;
	margin: 10px 0 0;
	padding: 10px 20px;
	background: #eee;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 1;
}

/* invisalignFirstCost
================================================================================*/
.invisalignFirstCost table {
	margin: 0 0 40px;
    padding: 0;
	border: 2px solid var(--color-invisalign-first);
    background: none;
}
.invisalignFirstCost .kidsSecond {
	margin: 0;
	border: 2px solid var(--color-invisalign-light);
}
.invisalignFirstCost table th {
	padding: 30px 80px 100px;
	border: none;
	border-bottom: 1px solid var(--color-invisalign-first);
	background: url(/kids/img/flow01.png) no-repeat center bottom 10px;
	background-size: 90px auto;
	color: var(--color-invisalign-first);
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: 700;
    font-size: 2.4rem;
	text-align: center;
}
.invisalignFirstCost table.kidsSecond th {
	padding: 30px 80px 110px;
	border-bottom: 1px solid var(--color-invisalign-light);
	background: url(/kids/img/flow02.png) no-repeat center bottom -15px;
	background-size: 140px auto;
	color: var(--color-invisalign-light);
}
.invisalignFirstCost table th span {
	display: block;
	margin: 10px 0 0;
	font-size: 1.8rem;
}
.invisalignFirstCost table th .costNote {
	margin: 10px 0 0;
	color: #666;
	font-size: 1.4rem;
}
.invisalignFirstCost table td {
    padding: 20px 80px;
    border-bottom: 1px dotted var(--color-invisalign-light);
    background: #fff;
    color: #000;
    font-size: 2.0rem;
    text-align: right;
    vertical-align: middle;
}
.invisalignFirstCost table tr:last-of-type td {
    border-bottom: none;
}
.invisalignFirstCost table td span {
	color: #999;
}
.invisalignFirstCost table td .typeCost {
    display: inline-block;
    float: left;
    margin: 0 10px 0 0;
    padding: 0 10px;
    background: #f7f7f7;
    color: #000;
}


/*================================================================================

faq

================================================================================*/
/* section
================================================================================*/
.faq .wrap > section {
	border-bottom: 1px solid #ddd;
}
.faq .wrap > section > section {
	margin: 0;
}
.faq section label {
	display: block;
	position: relative;
	padding: 20px 30px 20px 0;
	border-top: 1px solid #ddd;
	font-size: 1.6rem;
	cursor: pointer;
}
.faq .wrap > section > section:first-of-type label {
	border: none;
}
.faq section label:after {
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	margin: -15px 0 0;
	width: 24px;
	height: 24px;
	background: var(--color-accent);
	color: #fff;
	font-family: 'Material Icons';
	font-size: 2.4rem;
	line-height: 1;
	white-space: nowrap;
	content: "keyboard_arrow_down";
	border-radius: 3px;
}
.faq section label h3 {
	position: relative;
	padding: 0 0 0 50px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	font-weight: 400;
}
.faq section label h3:before {
    content: "Q";
    position: absolute;
    top: 50%;
    left: 10px;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    background: #444;
	color: #fff;
	text-align: center;
	line-height: 30px;
    vertical-align: middle;
    border-radius: 50%;
}
.faq section input {
	display: none;
}
.faq section div {
	overflow: hidden;
	height: 0;
	margin: 0;
	padding: 0 50px;
	opacity: 0;
	transition: 0.4s;
}
.faq section input:checked + label:after {
	content: "keyboard_arrow_up";
}
.faq section input:checked + label + div {
	height: auto;
	padding: 10px 50px;
	margin: 0 0 30px;
	opacity: 1;
}
.faq section:last-of-type div {
	margin: 0;
}


/*================================================================================

error

================================================================================*/
/* container
================================================================================*/
.error404 .container {
	text-align: center;
}



/*================================================================================

kidsNew

================================================================================*/
/* title
================================================================================*/
.kidsNew .title {
	height: 340px;
	background: #d9f1db url(/kids/img/title_bg.png) no-repeat;
    background-position: center bottom;
    background-size: 200px auto;
}
.kidsNew .title p {
	position: absolute;
	top: 150px;
	left: 0;
	right: 0;
	margin: auto;
	color: #638C0B;
	text-align: center;
}

/* content
================================================================================*/
.kidsNew .container .lead {
    width: 800px;
	margin-right: auto;
	margin-left: auto;
}
.kidsNew .container .lead dt {
    margin: 0 0 20px;
    font-weight: 700;
	font-size: 1.8rem;
}

/* kidsPoint
================================================================================*/
.kidsPoint dl dt {
	margin: 0 0 30px;
	font-size: 2.0rem;
	text-align: center;
}
.kidsPoint dl dd ul {
	counter-reset: pointNum;
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kidsPoint dl dd ul li {
	counter-increment: pointNum;
    position: relative;
	width: 32%;
	margin: 0;
	padding: 60px 20px 20px;
	border: 1px solid #fff;
	background: #d9f1db;
	border-radius: 10px;
	color: #638C0B;
	font-size: 2.4rem;
	text-align: center;
}
.kidsPoint dl dd ul li:before {
    content: counter(pointNum);
    display: block;
    position: absolute;
    top: -10px;
    left: 0;
    right: 0;
    width: 60px;
    height: 60px;
    margin: 0 auto 20px;
    padding: 16px 0 0;
    border: 2px dotted #fa0;
    border: 2px dotted var(--color-accent-dark);
    background: #fff;
    color: #fa0;
    color: var(--color-accent-dark);
    font-weight: 700;
    font-size: 2.4rem;
    text-align: center;
	line-height: 1;
    letter-spacing: 0;
    border-radius: 50%;
}
.kidsPointPhoto {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin: 0 auto;
}
.kidsPointPhoto img {
	display: block;
	width: 300px;
	margin: 0 10px;
}

/* kidsFlow
================================================================================*/
.kidsFlow > section {
	margin: 60px 0 0;
	padding: 80px 100px;
	background: #d9f1db;
	border-radius: 10px;
}
.kidsFlow > section h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 30px;
	padding: 0;
	color: #638C0B;
	font-size: 2.4rem;
	text-align: center;
}
.kidsFlow > section h3:before,
.kidsFlow > section h3:after {
	display: inline-block;
	flex-grow: 1;
	content: '';
	min-width: 20px;
	height: 1px;
	background: #638C0B;
	vertical-align: middle;
}
.kidsFlow > section h3:before {
	margin-right: 20px;
}
.kidsFlow > section h3:after {
	margin-left: 20px;
}
.kidsFlow .flowAge {
	margin: 0 0 30px;
	text-align: center;
}
.kidsFlow .flowAge span {
	display: inline-block;
	padding: 10px 20px;
	background: #638C0B;
	color: #fff;
	font-weight: 400;
	font-size: 1.8rem;
	border-radius: 5px;
}
.kidsFlow > section > section {
	margin: 40px 0 0;
	padding: 40px;
	background: #fff;
	border-radius: 10px;
}
.kidsFlow > section h4 {
	position: relative;
	margin: 0 0 30px;
	padding: 0 0 10px 20px;
	border-bottom: 1px dashed #638C0B;
	color: #638C0B;
	font-size: 1.8rem;
}
.kidsFlow > section h4:before {
	position: absolute;
	top: 0;
	left: 0;
	content: "";
	width: 5px;
	height: 30px;
	background: #638C0B;
}
.kidsFlow > section table {
	border: 1px solid #ddd;
}
.kidsFlow > section table th {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
	background: #f7f7f7;
}
.kidsFlow > section table td {
    border-bottom: 1px solid #ddd;
    border-right: 1px solid #ddd;
}
.kidsCase ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kidsCase ul:not(:last-child) {
	margin: 0 0 30px;
}
.kidsCase ul li {
	width: 30%;
	margin: 0;
}
.kidsCase ul li h5 {
	margin: 0 0 10px;
}
.kidsCase ul li h5 span{
	display: block;
	margin: 0;
	color: #fa0;
	font-size: 1.4rem;
}
.kidsCase ul li a:link,
.kidsCase ul li a:visited {
	text-decoration: none;
}
.kidsCase ul li .kidsTypeImg {
    overflow: hidden;
	margin: 0 0 10px;
}


/* kidsMerit
================================================================================*/
.kidsMerit ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.kidsMerit ul li {
	width: 32%;
	margin: 0;
	padding: 20px 20px 100px;
	border: 1px solid #fc0;
	background: #fffb;
	border-radius: 10px;
	color: #638C0B;
	font-size: 2.0rem;
	text-align: center;
}
.kidsMerit ul li:nth-of-type(1) {
	background: #fff url(/kids/img/merit01.png) no-repeat center bottom -10px;
	background-size: 80px auto;
}
.kidsMerit ul li:nth-of-type(2) {
	background: #fff url(/kids/img/merit02.png) no-repeat center bottom -10px;
	background-size: 100px auto;
}
.kidsMerit ul li:nth-of-type(3) {
	background: #fff url(/kids/img/merit03.png) no-repeat center bottom -40px;
	background-size: 80px auto;
}


	/* kidsCost
	================================================================================*/
	.kidsNew .el_h3 {
	margin-bottom: 60px;
	color: var(--color-primary);
	font-family: var(--font-accent);
	font-weight: 400;
	font-size: 3.0rem;
	line-height: 1.4;
}
.kidxNew .bl_payMethod {
}


/* underFaq
================================================================================*/
.underFaq section {
	width: 800px;
	margin: 0 auto;
}
.underFaq section:last-of-type {
	border-bottom: 1px dashed #ddd;
}
.underFaq section label {
	display: block;
	position: relative;
	padding: 20px 30px 0 0;
	border-top: 1px dashed #ddd;
	font-size: 1.6rem;
	cursor: pointer;
}
.underFaq section label:after {
	display: block;
	position: absolute;
	top: 17px;
	right: 10px;
	margin: 0 0 0;
	width: 24px;
	height: 24px;
	background: var(--color-accent);
	color: #fff;
	font-family: 'Material Icons';
	font-size: 2.4rem;
	line-height: 1;
	white-space: nowrap;
	content: "keyboard_arrow_down";
	border-radius: 3px;
}
.underFaq section label h3 {
	position: relative;
	margin: 0;
	padding: 0 0 0 50px;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	font-weight: 400;
}
.underFaq section label h3:before {
    content: "Q";
    position: absolute;
    top: 50%;
    left: 10px;
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: -15px;
    background: #638C0B;
	color: #fff;
	text-align: center;
	line-height: 30px;
    vertical-align: middle;
    border-radius: 50%;
}
.underFaq section input {
	display: none;
}
.underFaq section div {
	overflow: hidden;
	height: 0;
	margin: 0 50px;
	padding: 10px 30px;
    background: #f7f7f7;
    border-radius: 8px;
	opacity: 0;
	transition: 0.4s;
}
.wrapGray .underFaq section div {
    background: #fff;
}
.underFaq section input:checked + label:after {
	content: "keyboard_arrow_up";
}
.underFaq section input:checked + label + div {
	height: auto;
	margin: 20px 50px;
	opacity: 1;
}

/* consultLink
================================================================================*/
/* seo .under .cousultWrap h2 {
    margin: 0 0 30px;
}
.under .cousultWrap h2:after {
	display: none;
} */


/* invisalignFirstBnr
================================================================================*/
.kidsNew .invisalignFirstBnr a {
	display: block;
	width: 100%;
	min-height: 140px;
	margin: 30px 0 0;
	padding: 30px 40px 30px 230px;
	background: var(--color-invisalign-first) url(/invisalign-first/img/bnr_back.jpg) no-repeat left top;
	background-size: auto 100%;
	border-radius: 10px;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	transition: .4s;
}
.kidsNew .invisalignFirstBnr a:hover,
.kidsNew .invisalignFirstBnr a:active {
	background: url(/invisalign-first/img/bnr_back.jpg) no-repeat left top;
	background-size: auto 100%;
	background-color: rgba( 197, 168, 48, .8);
	text-decoration: none;
}

/*================================================================================

over40New

================================================================================*/
/* title
================================================================================*/
.over40New .wrap.title {
	height: 240px;
}
.over40New .title .titleText {
	top: 50px;
  font-size: 2.4rem;
}
.over40New .title .titleText span {
	margin: 10px 0 0;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
}
.over40New .title p {
	position: absolute;
	top: 170px;
	left: 0;
	right: 0;
	margin: auto;
	color: var(--color-primary);
	text-align: center;
}

/* over40MainImg
================================================================================*/
.over40MainImg {
	margin: 0 0 60px;
	text-align: center;
}

/* over40Point
================================================================================*/
.over40Point {
	width: 800px;
    margin: 60px auto 0;
    padding: 60px;
    background: var(--color-primary-light-more);
	border-radius: 10px;
}
.over40Point h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 40px;
	padding: 0;
	color: var(--color-primary);
	font-size: 2.4rem;
	text-align: center;
}
.over40Point h3:before,
.over40Point h3:after {
	display: inline-block;
	flex-grow: 1;
	content: '';
	min-width: 20px;
	height: 1px;
	background: var(--color-primary);
	vertical-align: middle;
}
.over40Point h3:before {
	margin-right: 20px;
}
.over40Point h3:after {
	margin-left: 20px;
}
/* .over40Point h3:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
	color: var(--color-accent);
    font-family: 'Material Icons';
	font-weight: 400;
    font-size: 3.0rem;
    line-height: 1;
    white-space: nowrap;
    content: "trip_origin";
}*/
.over40PointImg {
	text-align: center;
}

/* over40Invisalign
================================================================================*/
.over40Point.over40Invisalign {
	background: var(--color-primary-light-more) url(/over40/img/invisalign.png) no-repeat;
	background-position: right -20px bottom -20px;
	background-size: 200px auto;
}
.over40InvisalignText {
	padding: 0 160px 0 0;
}

/* totalSupport
================================================================================*/
.totalSupport {
	width: 800px;
	margin: 0 auto;
	padding: 40px 60px;
	border: 1px solid var(--color-primary);
	background: #fff;
	border-radius: 10px;
}
.totalSupport ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}
.totalSupport ul li {
	width: 19%;
	margin: 0;
	padding: 10px;
	background: var(--color-primary-light-more);
	color: var(--color-primary);
	font-size: 1.8rem;
	text-align: center;
	line-height: 20px;
	border-radius: 5px;
}
.totalSupport p {
	color: #000;
	font-size: 1.8rem;
	text-align: center;
}



/*================================================================================

under40New

================================================================================*/
.under40New .wrap.title {
	height: 240px;
}
.under40New .over40Point .checkList {
	display: inline-block;
}
.under40New .over40Point .checkList li {
	text-align: left;
}


/*================================================================================

case

================================================================================*/
/* inPageLink
================================================================================*/
.case .inPageLink {
	justify-content: space-between;
    flex-wrap: wrap;
    margin: -5px auto 0;
}
.case .inPageLink  li {
	width: 24%;
    margin: 5px 0;
}
.case .inPageLink li:nth-of-type(4n+3):last-of-type {
    margin-right: calc( 24% + 4% / 3 );
}
.case .inPageLink  li span {
	font-size: 1.4rem;
}
.case .inPageLink  li.btn a {
	display: block;
	height: 100%;
	padding: 0 15px;
}







/*================================================================================

case orthodontics

================================================================================*/
/* title
================================================================================*/
.title .titleText .orthodonticsTaxS {
	display: block;
	margin-bottom: 14px;
	font-size: 2.0rem;
	letter-spacing: 0.1rem;
}
.caseOrthodonticsCat .title .titleText {
	top: 60px;
  font-size: 2.0rem;
}
.caseOrthodonticsCat .title .titleText span {
	margin: 10px 0 0;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
}

/* inPageLink
================================================================================*/
.caseOrthodontics .inPageLinkGr4 {
	list-style: none;
  display: -ms-grid;
  display: grid;
  flex-wrap: wrap;
  grid-gap: 10px;
	-ms-grid-columns: calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4);
	grid-template-columns: repeat(4, calc(100% / 4 - 10px * 3/4));
	width: 100%;
	margin: 0;
  padding: 0;
}
.caseOrthodontics .inPageLinkGr4 li {
	margin: 0;
}
.caseOrthodontics .inPageLinkGr4 li span {
	font-size: 1.4rem;
}
.caseOrthodontics .inPageLinkGr4 li.btn a {
	display: block;
	height: 100%;
	padding: 0 15px;
}
.crowding .inPageLinkGr4 li.navCrowding a,
.maxillary-protrusion .inPageLinkGr4 li.navMaxillary-protrusion a,
.mandibular-prognathism .inPageLinkGr4 li.navMandibular-prognathism a,
.open-bite .inPageLinkGr4 li.navOpen-bite  a,
.spaced-dental-arch .inPageLinkGr4 li.navSpaced-dental-arch a,
.deep-overbite .inPageLinkGr4 li.navDeep-overbite a,
.crossbite .inPageLinkGr4 li.navCrossbite a {
	background: url(/common_img_new/arrow_white.png) no-repeat 15px center, url(/common_img_new/bg_black_light.jpg) repeat;
	background-size: 5px auto, 100px auto;
	opacity: 0.7;
}

/* caseOrthodonticsList
================================================================================*/
.caseOrthodonticsList {
	list-style: none;
  display: -ms-grid;
  display: grid;
  flex-wrap: wrap;
  grid-gap: 10px;
	-ms-grid-columns: calc(100% / 3 - 10px * 2/3) 10px calc(100% / 3 - 10px * 2/3) 10px calc(100% / 3 - 10px * 2/3);
	grid-template-columns: repeat(3, calc(100% / 3 - 10px * 2/3));
	width: 100%;
	margin: 0 0 60px;
  padding: 0;
}
.caseOrthodonticsList > li {
	margin: 0;
}
.caseOrthodonticsList > li > a {
	display: block;
	height: 100%;
	padding: 20px 40px;
	background-color: var(--color-gray-bg);
	text-align: center;
}
.caseOrthodonticsList > li > a:link,
.caseOrthodonticsList > li > a:visited {
	text-decoration: none;
}
.caseOrthodonticsList > li > a figure {
	overflow: hidden;
	margin-bottom: 20px;
}
.caseOrthodonticsNum {
	margin-bottom: 20px;
	color: var(--color-txt-dark);
	/* font-weight: 700; */
	font-size: 1.4rem;
	text-align: center;
	line-height: 1;
}
.caseOrthodonticsNum span {
	font-size: 2.0rem;
}
.caseOrthodonticsType {
	margin-bottom: 5px;
}
.caseOrthodonticsType span {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 6px;
	background: var(--color-accent);
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
}
.caseOrthodonticsType span:last-of-type {
	margin-right: 0;
}
.caseOrthodonticsTtl {
	margin-bottom: 10px;
	color: var(--color-txt-dark);
	font-weight: 700;
	font-size: 1.8rem;
}
.caseOrthodonticsTag {
	position: relative;
	font-size: 1.2rem;
}
.caseOrthodonticsTag span:not(:last-of-type)::after {
	content:"｜";
}

/* ページ送り
------------------------------------------------------*/
.wrap.wp-pagenavi:first-of-type {
	margin-bottom: 20px;
}
.wp-pagenavi {
	text-align: center;
}
.wp-pagenavi a {
	margin: 0 8px 0 0;
	padding: 5px 12px;
	border: 1px solid var(--color-accent);
	text-decoration: none;
}
.wp-pagenavi a:last-child,
.wp-pagenavi a.last {
  margin: 0;
}
.wp-pagenavi a:link,
.wp-pagenavi a:visited {
	background: #fff;
	color: var(--color-accent);
	text-decoration: none;
}
.wp-pagenavi a:hover,
.wp-pagenavi a:focus {
	border: 1px solid var(--color-accent);
	background: var(--color-accent);
  color: #fff;
	text-decoration: none;
}
.wp-pagenavi .current {
	margin: 0 8px 0 0;
	padding: 5px 12px;
	border: 1px solid var(--color-accent);
	background: var(--color-accent);
	color: #fff;
}
.wp-pagenavi .extend {
	margin: 0 8px 0 0;
	color: var(--color-accent);
}

/*================================================================================

case single

================================================================================*/
/* title
================================================================================*/
.caseOrthodontics.single .wrap.title {
	height: auto;
	padding: 60px 0;
}
.caseOrthodontics.single .title .titleText {
	position: relative;
	top: auto;
  font-size: 2.0rem;
}
.caseOrthodontics.single .title .titleText span {
	margin: 10px 0 20px;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
}
.caseOrthodontics.single .title .caseOrthodonticsType {
	text-align: center;
}
.caseOrthodontics.single .title .caseOrthodonticsType a {
	margin: 5px;
}

/* h
================================================================================*/
.single .caseOrthodonticsTtl {
	margin-bottom: 30px;
	font-weight: 400;
	font-size: 3.0rem;
	text-align: center;
}

.caseSingle h1 {
	margin: 0 0 100px;
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 3.0rem;
	text-align: center;
}

/* casePhoto
================================================================================*/
.casePhoto {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 900px;
	padding: 0;
	margin: -20px auto 30px;
}
.casePhoto div {
	position: relative;
	width: 42%;
	margin: 20px 0 0;
    padding: 20px;
	background: #fff;
    vertical-align: top;
}
.casePhoto div:nth-of-type(2n+3):after {
	position: absolute;
	top: calc( 50% - 10px );
	right: -85px;
	content: "";
	border-top: 20px solid transparent;
	border-bottom: 20px solid transparent;
	border-left: 20px solid var(--color-accent);
}
.casePhoto div:nth-of-type(1),
.casePhoto div:nth-of-type(2) {
	padding: 10px;
	border: 1px solid var(--color-accent);
	background: inherit;
	color: #000;
	font-size: 2.0rem;
	text-align: center;
	line-height: 1;
}

/* caseInfo
================================================================================*/
.caseInfo {
	margin: 80px 0 0;
	padding: 80px;
	background: #fff;
	/* box-shadow: 0 0 2px 1px rgba(170, 170, 170, .2); */
}
.caseInfo .infoText {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 30px;
}
.caseInfo .infoText dt {
	width: 180px;
	padding: 14px 20px;
	border-top: 1px dashed #ddd;
	color: var(--color-primary);
}
.caseInfo .infoText dd {
	width: 660px;
	padding: 14px 20px;
	border-top: 1px dashed #ddd;
}
.caseInfo .infoText dt:last-of-type,
.caseInfo .infoText dd:last-of-type {
	border-bottom: 1px dashed #ddd;
}
.caseInfo .drComment {
	margin: 30px 0 0;
	padding: 40px;
  background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	border-radius: 10px;
}
.caseInfo .drComment dt {
	margin: 0 0 20px;
	color: var(--color-primary);
}

.caseOrthodontics.single .caseOrthodonticsTag {
	text-align: right;
	color: var(--color-gray);
}



/*================================================================================

case tag

================================================================================*/
/* lead
================================================================================*/
.caseOrthodonticsTagArchive .tagList {
	margin: -5px 0 0;
	padding: 0;
}
.caseOrthodonticsTagArchive .tagList li {
	display: inline-block;
	margin: 5px 5px 0 0;
}


/*================================================================================

info2020

================================================================================*/
/* title
================================================================================*/
/* .info2020 .title .titleText {
	font-size: 3.6rem;
} */
.info2020 .title .titleText span {
    display: block;
    margin: 0 0 20px;
    color: var(--color-primary);
	font-weight: 500;
    font-size: 2.0rem;
    letter-spacing: 0.1em;
}

/* h
================================================================================*/
.info2020 h2 {
	margin: 0 0 40px;
	font-size: 3.0rem;
}

/* section
================================================================================*/
.info2020 .lead  p {
	color: #000;
	font-family: "游明朝", "Yu Mincho", "游明朝体", YuMincho, "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 1.8rem;
}
/* .info2020 .container section {
	margin: 0 0 100px;
}
 */

/* support
================================================================================*/
/* .info2020 .support {
	background: var(--color-primary-light-more);
} */
.info2020 .support section {
	margin: 80px 0 0;
}
.info2020 .support h2 {
	margin: 0 0 80px;
	font-size: 2.4rem;
	line-height: 1.8;
}
.info2020 .support h2 span {
	background: linear-gradient(transparent 60%, var(--color-accent-light) 60%);
}
.info2020 .support h2:after {
	display: none;
}
.info2020 .support h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 40px;
	padding: 0;
	color: var(--color-primary);
	font-weight: 500;
	font-size: 2.4rem;
	text-align: center;
}
.info2020 .support h3:before,
.info2020 .support h3:after {
	display: inline-block;
	flex-grow: 1;
	content: '';
	min-width: 20px;
	height: 1px;
	background: var(--color-primary);
	vertical-align: middle;
}
.info2020 .support h3:before {
	margin-right: 20px;
	margin-left: 160px;
}
.info2020 .support h3:after {
	margin-right: 160px;
	margin-left: 20px;
}

/* supportDate
------------------------------------------------*/
.supportDate {
	margin: 0;
	padding: 30px 10px;
	background: var(--color-primary-light-more);
	font-weight: 700;
	text-align: center;
	border-radius: 10px;
}

/* backList
------------------------------------------------*/
.backList {
	margin: 0 0 60px;
	padding: 30px 10px;
	background: var(--color-primary-light-more);
	text-align: center;
	border-radius: 10px;
}
.backList ul {
	display: inline-block;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}
.backList li {
	display: block;
	position: relative;
	margin: 0;
	padding: 0 0 20px 20px;
	font-weight: 700;
}
.backList li:last-of-type {
	padding: 0 0 0 20px;
}
.backList li:before {
	content: "■";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
}





/* seo追加部分
================================================================================*/
/*================================================================================

home

================================================================================*/
/* main
================================================================================*/
/* h
================================================================================*/
.home .h2 {
	margin: 0 0 60px;
	color: #000;
	font-size: 4.2rem;
	text-align: center;
}
.home .home_h {
	position: relative;
	font-size: 3.0rem;
}
.home_h span {
	display: block;
	margin: 0 0 20px;
	color: var(--color-primary);
	font-size: 1.8rem;
}
.home_h:after {
	content: '';
    display: block;
    width: 40px;
    height: 2px;
    margin: 20px auto 0;
    background: var(--color-accent);
}

/* homeAbout
================================================================================*/
.homeAbout .h2 {
	margin: 0 0 40px;
	font-size: 4.2rem;
	line-height: 1.6;
}
/* feature
------------------------------------------------*/
.feature .h3 {
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px solid currentColor;
	color: var(--color-primary);
	font-weight: 400;
	font-size: 2.8rem;
	line-height: 1.5;
	text-align: left;
}

/* orthodontic
================================================================================*/
.homeTreatmentBox .h2 {
	margin: 0 0 80px;
	font-size: 3.6rem;
	line-height: 1.6;
	text-align: center;
}
.homeTreatmentBox .h2 span {
	font-size: 4.2rem;
}

/* orthodonticType
------------------------------------------------*/
.orthodonticTypeInner .h3 {
	margin: 0 0 20px;
	padding: 0 0 0 15px;
	background: url(/common_img_new/arrow.png) no-repeat 0 10px;
	background-size: 5px auto;
	color: var(--color-treatment);
	font-size: 2.4rem;
}
.orthodonticTypeInner .h3 span {
	display: block;
	margin: 5px 0 0;
	font-size: 1.8rem;
}
.orthodonticTypeInner .h3 span span {
	display: inline-block;
	margin: 0;
	font-size: 1.2rem;
}

/* consult
================================================================================*/
.consultWrap .home_h:after {
	background: #fff;
}

/* moreBlog
================================================================================*/
.home .moreBlog .moreCatch {
	display: block;
	margin: 0 0 10px;
	color: var(--color-primary);
	font-size: 2.4rem;
	text-align: center;
}
.home .moreBlog .h3 {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",  "游ゴシック体", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
	font-weight: normal;
	line-height: 1.6;
}


/*================================================================================

under_page common

================================================================================*/
/* h
================================================================================*/
.under .h2 {
	margin: 0 0 60px;
	padding: 0;
	color: #000;
	font-size: 3.0rem;
	text-align: center;
}
.under .h2:after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	margin: 20px auto 0;
	background: var(--color-accent);
}


/*================================================================================

consultLink

================================================================================*/
/* consultLink
================================================================================*/
.under .consultTtl {
    margin: 0 0 30px;
}
.under .consultWrap .h2:after {
	display: none;
}


/*================================================================================

lineStart

================================================================================*/
/* title
================================================================================*/
.lineStart .title {
	height: 190px;
	background: #00b900 url(/line/img/icon.png) no-repeat;
    background-position: left calc( 50% - 320px ) center;
    background-size: 60px auto;
}
.lineStart .title .titleText {
	color: #fff;
	text-shadow: none;
}
.lineStart .title .titleText span {
    display: inline-block;
	padding: 4px 10px;
	background: #fff;
    color: #333;
    font-size: 1.4rem;
    letter-spacing: 0.11em;
}

/* lineLead
================================================================================*/
.wrap.lineLead {
	padding-bottom: 340px;
}
.under .lineLead h2 {
    margin: 0 0 60px;
    padding: 0;
    color: #00b900;
    font-size: 4.0rem;
}
.under .lineLead h2 span {
	display: block;
	margin: 0 0 20px;
	font-size: 3.0rem;
}
.under .lineLead h2:before {
    content: "";
    display: block;
    width: 100px;
    height: 100px;
    margin: 0 auto 30px;
    background: transparent url(/line/img/line_logo.png) no-repeat;
	background-size: 100px auto;
}
.under .lineLead h2:after {
	display: none;
}

/* lineFriend
================================================================================*/
.wrap.lineFriend {
	z-index: 100;
    width: 100%;
    margin: -440px 0 0;
    padding: 100px 0 100px;
	text-align: center;
}
.iphoneImg {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-start;
    margin: 0 0 100px;
}
.iphoneImg img {
	display: block;
	width: 40%;
	max-width: 240px;
	margin: 0 20px;
}
.lineFriend ul {
	display: flex;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lineFriend ul li {
	counter-increment: pointNum;
    position: relative;
	width: 32%;
	margin: 0;
	padding: 30px;
	border: 1px solid #00b900;
	background: #fff;
	border-radius: 10px;
	color: #00b900;
	text-align: center;
}
.lineFriend dt {
	margin: 0 auto 20px;
	text-align: center;
}
.lineFriend .lineID {
	color: #00b900;
	font-size: 2.0rem;
}
/* .lineFriend .lineID span {
	display: block;
	margin: 0;
	color: #333;
	font-size: 1.6rem;
} */

/* lineMerit
================================================================================*/
.lineMerit ul {
	counter-reset: pointNum;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	list-style: none;
	margin: 0;
	padding: 0;
}
.lineMerit ul li {
	counter-increment: pointNum;
    position: relative;
	width: 32%;
	margin: 0;
	padding: 60px 30px 30px;
	border: 1px solid #fff;
	background: #00b900;
	border-radius: 10px;
	color: #fff;
	font-size: 2.4rem;
	text-align: center;
}
.lineMerit ul li:before {
    content: "- " counter(pointNum) " -";
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    width: 100%;
    height: 40px;
    margin: 0 auto 10px;
    padding: 5px 0 0;
	background: var(--color-accent);
    /* background: #fff; */
    color: #fff;
    font-weight: 700;
    font-size: 3.0rem;
    text-align: center;
	line-height: 1;
    letter-spacing: 0;
	border-radius: 10px 10px 0 0;
}
.lineMerit ul li dt {
	margin: 0 0 20px;
}
.lineMerit ul li dd {
	padding: 14px 0 0;
	border-top: 1px dashed #fff;
	font-size: 1.6rem;
	text-align: left;
}
.lineMerit ul li dt .strong {
    background: none;
	color: var(--color-accent);
    font-weight: normal;
}


/*================================================================================

campaign

================================================================================*/
/* title
================================================================================*/
.campaign .title .titleText {
	font-size: 2.4rem;
}
.campaign .title .titleText span {
	margin: 10px 0 0;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
}
.campaign .title p {
	position: absolute;
	top: 170px;
	left: 0;
	right: 0;
	margin: auto;
	color: var(--color-primary);
	text-align: center;
}

/* topicPath
================================================================================*/
.topicPath li.topicPathHome {
	margin: 0;
	padding: 0;
	font-family: 'Material Icons';
	font-size: 1.6rem;
	line-height: 1;
}
.topicPath li.topicPathHome a:hover {
	color: #fc0;
	text-decoration: none;
}
.topicPathHome::before {
	display: none;
}

/* content
================================================================================*/
.campaignBox .container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
  /* width: 100%; */
}
.home .campaignBox .container {
	align-items: center;
	width: 100%;
}
.campaignBanner {
	width: 360px;
	height: 250px;
  margin-right: 40px;
	padding: 40px 20px 20px;
	background: #fff;
	box-shadow: 0 0 2px 1px rgb(170 170 170 / 30%);
}
.campaignBanner a {
	display: block;
	height: 100%;
	text-align: center;
	text-decoration: none;
}
.campaignFamily .campaignBanner a {
	background: url(/campaign/img/family.png) no-repeat center bottom;
	background-size: auto 70%;
}
.campaignFriend .campaignBanner a {
	background: url(/campaign/img/friend.png) no-repeat center bottom;
	background-size: auto 70%;
}
.campaignDay .campaignBanner a {
	background: url(/campaign/img/day.png) no-repeat center bottom;
	background-size: auto 70%;
}
.campaignBannerTtl {
	color: #000;
	font-size: 30px;
}
.campaignText {
	flex: 1;
}
.campaignText h2 {
	position: relative;
	margin: 0 0 60px;
	padding: 0 0 0 20px;
	text-align: left;
	vertical-align: middle;
}
.campaignText h2:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 6px;
	height: 100%;
	background: var(--color-accent);
	border-radius: 3px;
}
.campaignText h2::after {
	display: none;
}
.campaignSubject {
	margin-bottom: 20px;
	color: var(--color-primary);
	font-size: 2.2rem;
}

.campaignSub .campaignText {
	width: 100%;
}
.campaignSub .campaignText h2 {
	position: relative;
	margin: 0 0 40px;
	padding: 4px 0 0 20px;
	font-size: 2.4rem;
	text-align: left;
	vertical-align: middle;
}
.campaignSub .campaignText h2::after {
	display: block;
	content: "";
	width: 100%;
	height: 1px;
	margin: 4px 0 0;
	border-top: 1px dashed #eee;
}
.campaignSub .whiteBox {
	margin-top: 40px;
	padding: 40px 100px;
}
.campaignSub .whiteBox:first-of-type {
	margin-top: 0;
}
/* .campaignSub .whiteBox > div:not(:first-of-type) {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #eee;
} */
.campaignSub .campaignSubject {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 4px 10px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	font-size: 1.8rem;
	line-height: 1;
}
.campaignSub .campaignImg {
	align-self: flex-end;
	width: 200px;
	margin-left: 30px;
}


/*================================================================================

campaign / family

================================================================================*/
/* content
================================================================================*/
.campaignHeader {
	position: relative;
	width: 800px;
	margin: 0 auto;
	padding: 40px;
	background: #fff;
	text-align: center;
	box-shadow: 0 0 2px 1px rgb(170 170 170 / 10%);
}
.campaignHeaderTtl {
	margin-bottom: 30px;
	color: #000;
	font-size: 3.6rem;
}
.campaignHeaderTtl::after {
	content: '';
	display: block;
	width: 40px;
	height: 2px;
	margin: 20px auto 0;
	background: var(--color-accent);
}
.campaignHeaderSubject {
	margin-bottom: 10px;
	color: var(--color-primary);
	font-size: 2.0rem;
}
.campaignHeaderPoint {
	margin-bottom: 0;
	padding: 6px 10px;
	background-color: var(--color-accent-light);
	color: #000;
	font-size: 2.4rem;
}
.campaignHeaderPoint span {
	font-size: 3.6rem;
}
.family .campaignHeaderImg {
	position: absolute;
	top: -30px;
	right: 40px;
	display: block;
	width: 200px;
}

.campaigDetail {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}
.campaigDetail > dt {
	width: 240px;
	padding: 30px 0;
	border-top: 1px solid #ccc;
	color: #000;
}
.campaigDetail > dt span {
	position: relative;
	padding-left: 14px;
}
.campaigDetail > dt span::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 4px;
	height: 100%;
	background: var(--color-accent);
	border-radius: 4px;
}
.campaigDetail > dd {
	flex: 1;
	padding: 30px 20px;
	border-top: 1px solid #eee;
}
.campaigDetail:last-of-type {
	margin-bottom: 60px;
}
.campaigDetail:last-of-type > dt {
	border-bottom: 1px solid #ccc;
}
.campaigDetail:last-of-type > dd {
	border-bottom: 1px solid #eee;
}

/*================================================================================

campaign / friend

================================================================================*/
/* content
================================================================================*/
.friend .campaignHeader .flexbox > div {
	width: 48%;
}
.friend .campaignHeaderImg {
	position: absolute;
	top: -30px;
	right: 40px;
	display: block;
	width: 100px;
}
.campaigDetail > dd dt {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 10px;
	padding: 4px 10px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	color: var(--color-primary);
	line-height: 1;
}
.campaigDetail > dd dt:not(:first-of-type) {
	margin-top: 20px;
}
.campaigDetail > dd dd {
	margin-left: 20px;
}


/*================================================================================

campaign / day

================================================================================*/
/* content
================================================================================*/
.day .campaignHeaderImg {
	position: absolute;
	top: -30px;
	right: 40px;
	display: block;
	width: 100px;
}

.home .wrap.campaignBox {
	padding: 40px;
}





/*================================================================================

treatment / 各診療

================================================================================*/
/* mainArea
================================================================================*/
.treatment .bl_mainArea {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	/* background: var(--color-primary-light-more) url(/common_img_new/bg_random.png); */
	border-bottom: 1px solid #eee;
	/* margin-bottom: 40px; */
}
.treatment .bl_mainArea_img {
	flex: 1;
	/* max-height: 480px; */
}
.treatment .bl_mainArea_img img {
	width: auto;
  height: 100%;
	/* height: clamp(550px, 100vh - 200px, 600px); */
	-o-object-fit: cover;
	   object-fit: cover;
}
.treatment #main >.bl_mainArea > .bl_mainArea_body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: auto;
	margin: 0;
	padding: 0;
	/* width: 440px;
	padding: 20px 40px 20px 0; */
	width: 36%;
	min-width: 560px;
	padding: 4%;
}
.bl_treatment_ttl {
	/* display: table; */
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 50px 0;
	padding: 12px 40px;
	border: 1px solid currentColor;
	color: var(--color-treatment);
	font-size: 3.0rem;
	line-height: 1;
}
.bl_mainArea_ttl {
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-size: 3.6rem;
}
.bl_mainArea_subTtl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 14px 0;
	border-bottom: 1px solid #666;
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-size: 1.8rem;
}

/* h
================================================================================*/
.treatment h2 {
	margin-bottom: 80px;
	font-size: 3.6rem;
}
/* .treatment h2::before {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  margin: 0 auto 20px;
  background-image: url(/treatment/img/treatment_mark.png);
  background-repeat: no-repeat;
  background-size: auto 40px;
} */
.treatment h2::after {
	display: none;
}
.treatment .el_caption {
	display: block;
	margin: 20px auto 0;
	color: var(--color-primary);
	font-family: var(--font-primary);
	font-size: 1.4rem;
	text-align: center;
	letter-spacing: 0.14em;
}


/* .treatment h2::after {
	content: "";
	width: auto;
	height: auto;
	background: none;
	color: var(--color-primary);
	font-size: 1.4rem;
	letter-spacing: 0.14em;
} */
.treatment .el_h3 {
	margin-bottom: 60px;
	color: var(--color-treatment);
	font-family: var(--font-accent);
	font-weight: 400;
	font-size: 3.0rem;
	line-height: 1.4;
}

.treatment .el_lead {
	margin-bottom: 60px;
	text-align: center;
}

/* 概要
================================================================================*/
.bl_treatmentAbout .bl_media {
	gap: 60px;
}
.bl_treatmentAbout .whiteBox .bl_media {
	align-items: center;
}
.bl_treatmentAbout .bl_media_copy {
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-size: 3.0rem;
	text-align: left;
}
.bl_treatmentAbout .bl_media_copy > span {
	padding-bottom: 5px;
	border-bottom: 1px solid #666;
}

/* より詳しい内容
------------------------------------------------*/
.bl_treatmentAbout .bl_treatmentDetail .bl_media_copy {
	margin-bottom: 40px;
}

/* 4つの項目
================================================================================*/
.bl_treatmentPoint.bl_col4 .bl_col_item {
	padding: 20px 10px;
	background-color: var(--color-treatment-light);
	color: var(--color-treatment);
	font-size: 1.8rem;
	text-align: center;
}

/* 進行と治療
================================================================================*/
.bl_treatmentProgress .bl_col_item {
	padding: 40px;
	border-radius: 10px;
	background-color: #fff;
}
.bl_treatmentProgress__white .bl_col_item {
	border: 1px solid var(--color-treatment);
}
.bl_treatmentProgress .bl_card_ttl {
	margin-bottom: 30px;
	color: var(--color-treatment);
	font-family: var(--font-accent);
	font-size: 2.4rem;
	line-height: 1;
}
.bl_treatmentProgress .bl_card_subTtl {
	display: block;
	margin-top: 10px;
	font-size: 1.6rem;
}
.bl_treatmentProgress .bl_card_num {
	display: inline-block;
	width: 60px;
	margin-right: 12px;
	padding: 10px 0;
	border-radius: 5px;
	background-color: var(--color-treatment);
	color: #fff;
	font-family: var(--font-primary);
	font-size: 2.4rem;
	text-align: center;
	letter-spacing: 0.2rem;
}
.bl_treatmentProgress .bl_card_img {
	width: 180px;
	margin: 0 auto 30px;
}
.bl_treatmentProgress .bl_card_txt {
	margin-bottom: 30px;
}
.bl_treatmentProgress .bl_card dl {
	padding: 20px;
	background-color: var(--color-primary-light-more);
}
.bl_treatmentProgress .bl_card dt {
	margin-bottom: 10px;
	font-weight: bold;
}

/* 治療の特徴
================================================================================*/
.bl_treatmentFeatureList section:not(:only-child) {
	margin-bottom: 80px;
}
.bl_treatmentFeatureList .bl_media {
	align-items: center;
}
.bl_treatmentFeatureList .bl_media_img {
	width: 520px;
}
.bl_treatmentFeatureList .bl_treatmentFeature_ttl {
	margin-bottom: 20px;
	color: var(--color-treatment);
	font-weight: 400;
	font-size: 2.4rem;
	line-height: 1.6;
}
.bl_treatmentFeatureList .bl_treatmentFeature_ttl::after {
	content: "";
	display: block;
	width: calc( 100% + 60px );
	height: 1px;
	margin-top: 20px;
	margin-left: -60px;
	background-color: currentColor;
}
.bl_treatmentFeatureList .bl_media__rev .bl_treatmentFeature_ttl::after {
	margin-left: 0;
	margin-right: -60px;
}
.bl_treatmentFeatureList .bl_treatmentFeature_num {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 20px;
	padding: 4px 18px 3px;
	font-size: 1.8rem;
	background: var(--color-treatment);
	color: #fff;
	font-weight: normal;
	font-size: 1.4rem;
	line-height: 1;
}

.bl_treatmentFeatureList2 {
	margin-bottom: 60px;
}
.bl_treatmentFeatureList2 .bl_col3 .bl_col_item {
	width: 30%;
	margin: 60px 0 0;
}
.bl_treatmentFeatureList2 .bl_card_img {
	margin-bottom: 20px;
}
.bl_treatmentFeatureList2 .bl_card_img img {
	border-radius: 10px;
}
.bl_treatmentFeatureList2 .bl_treatmentFeature_ttl {
	font-size: 1.8rem;
}
.bl_treatmentFeatureList2 .bl_treatmentFeature_ttl::after {
	width: 100%;
	margin-top: 10px;
	margin-left: 0;
}

.bl_treatmentFeatureMore {
  padding: 40px;
  border: 1px solid var(--color-treatment-light);
  /* border-radius: var(--border-radius); */
  background-color: var(--color-treatment-light-more);
}
.bl_treatmentFeatureMore .bl_media_ttl {
  margin-bottom: 20px;
  color: var(--color-txt-dark);
  font-weight: bold;
  font-size: 2.0rem;
}
.bl_treatmentFeatureMore .bl_media_ttl span {
  font-size: 2.4rem;
}

/* 追記
================================================================================*/
.bl_treatmentMore {
  padding: 40px;
  border: 1px solid var(--color-treatment-light);
  /* border-radius: var(--border-radius); */
  background-color: var(--color-treatment-light-more);
}
.bl_treatmentMore .bl_media_ttl {
  margin-bottom: 20px;
  color: var(--color-txt-dark);
  font-weight: bold;
  font-size: 2.0rem;
}
.bl_treatmentMore .bl_media_ttl span {
  font-size: 2.4rem;
}

.bl_treatmentMore__border {
  border: 1px solid var(--color-treatment);
  /* background-color: #fff; */
}


/* 治療の流れ
================================================================================*/
.bl_treatmentFlow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 80px;
}
.bl_treatmentFlow_header {
	width: 360px;
	/* margin-top: 100px; */
	text-align: left;
}
.bl_treatmentFlow_header h2 {
	text-align: left;
	line-height: 1.6;
}
.bl_treatmentFlow .el_caption {
	text-align: left;
}
.bl_treatmentFlow_img {
	width: 360px;
	margin: 0 0 0 -30px;
}
.bl_treatmentFlow_img img {
	display: block;
}
.bl_treatmentFlow_img img:last-of-type {
	margin: 10px 0 0 30px;
}
.bl_treatmentFlow_body {
	flex: 1;
	padding: 40px;
	background-color: #fff;
}
.bl_treatmentFlowList {
	list-style: none;
	margin: 0;
	padding: 0;
}
.bl_treatmentFlowList > li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
	margin: 0;
  padding: 0 0 14px;
}
/* .bl_treatmentFlowList > li:not(:last-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 19px;
  display: block;
  width: 0;
  height: 100%;
  border-right: 2px solid var(--color-secondary);
} */
.bl_treatmentFlowList > li:not(:last-of-type)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 24px;
	display: block;
	width: 0;
	height: 100%;
  border-right: 2px solid var(--color-treatment-light);
}
/* .bl_treatmentFlowList_num {
	position: relative;
  width: 40px;
  height: 40px;
  margin-right: 20px;
	border-radius: 100px;
  background: var(--color-treatment);
  color: #fff;
  font-size: 2.8rem;
	text-align: center;
	line-height: 40px;
} */
.bl_treatmentFlowList_num {
	position: relative;
	width: 50px;
	height: 50px;
  margin-right: 20px;
	border: 2px dotted var(--color-treatment);
	border-radius: 50%;
	background: #fff;
	background-clip: padding-box;
	color: var(--color-treatment);
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
	line-height: 50px;
	letter-spacing: 0;
}
.bl_treatmentFlowList_body {
	flex: 1;
	margin-top: 6px;
}
.bl_treatmentFlowList_ttl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 6px;
	padding-bottom: 2px;
	border-bottom: 1px solid currentColor;
	color: var(--color-treatment);
	/* font-family: var(--font-accent); */
	/* font-weight: 700; */
	font-size: 2.0rem;
	line-height: 1.4;
}
.bl_treatmentFlowList_body p {
	color: #666;
}

.bl_treatmentFlow_note {
	padding: 30px;
	background-color: var(--color-gray-light-more);
}

/* 治療の費用
================================================================================*/
.bl_treatmentCost {
	width: 900px;
	margin: 0 auto 60px;
	padding: 30px 40px 20px;
	border: 3px solid var(--color-treatment);
	border-radius: 10px;
	background-color: #fff;
	text-align: center;
}
.bl_treatmentCost.bl_media {
	gap: 30px;
}
.bl_treatmentCost_ttl {
	position: relative;
	margin-bottom: 10px;
	color: var(--color-treatment);
	font-size: 2.4rem;
}
.bl_treatmentCost_num {
	position: relative;
	top: -4px;
	display: inline-block;
	padding: 4px 6px;
	background-color: var(--color-treatment);
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
}
.bl_treatmentCost_price {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 10px auto;
	padding-top: 10px;
	border-top: 1px dashed currentColor;
	color: var(--color-treatment);
	font-size: 3.6rem;
}
.bl_treatmentCost_unit {
	font-size: 2.0rem;
}
.bl_treatmentCost_txt {
	font-size: 1.4rem;
}
#treatmentCost .bl_media_img {
	width: 280px;
}

.bl_treatmentCostDetail .el_h4 {
	color: var(--color-treatment);
	/* font-family: var(--font-accent); */
	font-weight: 500;
	font-size: 2.4rem;
}
.bl_treatmentCostDetail .el_h4 span {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin-right: 10px;
	background-color: var(--color-treatment);
	color: #fff;
	font-size: 2.0rem;
	text-align: center;
	line-height: 30px;
}

.bl_treatmentCostDetail .bl_tableSeparate tbody th {
	border-color: var(--color-treatment);
  /* background-color: var(--color-treatment-light-more); */
  color: var(--color-treatment);
  font-size: 1.6rem;
  text-align: left;
  vertical-align: middle;
}
.bl_treatmentCostDetail .bl_tableSeparate tbody th span {
  font-size: 1.6rem;
}
.bl_treatmentCostDetail .bl_tableSeparate tbody td {
	padding: 10px 16px;
	border-color: var(--color-treatment);
	background-color: #fff;
  color: var(--color-treatment);
  font-size: 1.8rem;
  text-align: right;
  vertical-align: middle;
	white-space: nowrap;
}
.bl_treatmentCostDetail .bl_tableSeparate tbody td span {
  font-size: 1.6rem;
}

.bl_payMethod .bl_col_item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 20px;
  border: 1px solid var(--color-treatment);
  background-color: #fff;
}
.bl_payMethod .el_h4 {
  margin-bottom: 10px;
	font-size: 1.8rem;
  text-align: center;
}
.bl_payMethod .el_h4 span {
  display: block;
  font-size: 1.4rem;
}
.bl_payMethod .bl_col_item p {
  flex: 1;
  padding: 20px;
  background-color: #f7f7f7;
}
.bl_payMethod .bl_col_item p img {
  display: inline;
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}

/* よくあるご質問
================================================================================*/
.bl_faq {
	border-bottom: 1px dashed var(--color-treatment);
}
.bl_faq label {
	display: block;
	position: relative;
	padding: 20px 40px 20px 0;
	/* border-top: 1px dashed var(--color-gray); */
	font-size: 1.6rem;
	cursor: pointer;
}
.bl_faq:first-of-type label {
	border: none;
}
.bl_faq label::after {
	display: block;
	position: absolute;
	top: 1em;
	right: 0;
	width: 24px;
	height: 24px;
	color: var(--color-accent);
	font-family: 'Material Icons';
	font-size: 2.4rem;
	line-height: 1;
	white-space: nowrap;
	content: "keyboard_arrow_down";
	border-radius: 3px;
	transition: 0.6s;
}
.bl_faqQ {
	position: relative;
	padding: 0 0 0 50px;
  color: var(--color-txt-dark);
	font-size: 1.8rem;
	font-weight: 400;
}
.bl_faqQ::before {
  content: "Q";
  position: absolute;
  top: 3px;
  left: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  background: var(--color-treatment);
	color: #fff;
	text-align: center;
	line-height: 30px;
  vertical-align: middle;
  border-radius: 50%;
}
.bl_faq input {
	display: none;
}
.bl_faqA {
	overflow: hidden;
	height: 0;
	margin: 0;
	padding: 0 50px;
	background-color: #fff;
	border-radius: 10px;
	opacity: 0;
	transition: 0.6s;
}
.bl_faq input:checked + label::after {
	content: "keyboard_arrow_up";
}
.bl_faq input:checked + label + .bl_faqA {
	height: auto;
	padding: 20px 50px;
	margin: 0 0 30px;
	opacity: 1;
}
.bl_faq:last-of-type .bl_faqA {
	margin: 0;
}


/*================================================================================

implant

================================================================================*/
/* title
================================================================================*/
/* .implant .wrap.title {
	height: 150px;
	border-bottom: none;
}
.implant .title .titleText {
	top: 30px;
  font-size: 2.0rem;
}
.implant .title .titleText span {
	margin: 10px 0 0;
	color: #000;
	font-size: 4.2rem;
	letter-spacing: 0;
} */

/* インプラント治療とは
================================================================================*/
/* インプラントのメリット・デメリット
------------------------------------------------*/
#implantMerit .bl_media_img {
	width: 320px;
}
#implantMerit .bl_col_item {
	padding: 30px;
	border-radius: 10px;
	background-color: #fff;
}
#implantMerit .bl_col_item .el_h4 {
	margin-bottom: 20px;
	font-family: var(--font-accent);
	font-size: 1.8rem;
	text-align: center;
}
#implantMerit .bl_col_item li {
	margin-bottom: 8px;
	padding: 8px 8px 8px 50px;
	background: linear-gradient(90deg, var(--color-accent) 0, var(--color-accent) 40px, var(--color-primary-light-more) 40px, var(--color-primary-light-more) 100%);
	font-size: 1.8rem;
}
#implantMerit .bl_col_item .triangleList li {
	background: linear-gradient(90deg, #ccc 0, #ccc 40px, #f7f7f7 40px, #f7f7f7 100%);
}
#implantMerit .bl_col_item li::before {
	top: 50%;
	left: 11px;
	transform: translateY(-50%);
	color: #fff;
	font-weight: 700;
}

/* お口の状態に合わせたインプラント治療
------------------------------------------------*/
#implantType .bl_col {
	width: 1060px;
	margin-right: -30px;
	margin-left: -30px;
	/* width: 1060px;
	margin-right: -130px;
	margin-left: -130px; */
}
#implantType .bl_col3 .bl_col_item {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	padding: 20px;
	border-radius: 10px;
	background-color: #fff;
}
#implantType .el_h4 {
	position: relative;
	margin: 0 0 30px;
	padding: 10px;
	border-radius: 5px;
	background-color: var(--color-treatment);
	color: #fff;
	font-family: var(--font-accent);
	font-size: 2.4rem;
	text-align: center;
}
#implantType .el_h4 span {
	/* display: block; */
	color: var(--color-accent-light);
}
#implantType .el_h4::after {
  content: "";
  z-index: 10;
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  border: solid transparent;
  border-color: transparent;
  border-top-color: var(--color-treatment);
  border-width: 10px;
  margin-left: -10px;
}

#implantType .bl_card_img {
	width: 180px;
	margin: 0 auto 20px;
}
#implantType .bl_card_txt {
	padding: 20px;
	border-radius: 5px;
	background-color: var(--color-treatment-light);
	color: var(--color-treatment);
	/* min-height: 97px; */
}


/* 河原町歯科・矯正歯科クリニックのインプラント治療
================================================================================*/
#ourImplantFeature {
	position: relative;
}
#ourImplantFeature h2 {
	line-height: 1.6;
}


/* 無料初診相談のご紹介
================================================================================*/
.bl_implantConsult {
	position: relative;
	text-align: center;
}
.bl_implantConsult .bl_media {
	display: inline-flex;
	width: auto;
	margin: -120px auto 0;
	justify-content: center;
	align-items: center;
}
.bl_implantConsult .bl_media_img {
	width: 260px;
}
.bl_implantConsult .bl_media_body {
	margin-top: 60px;
}
.bl_implantConsult .bl_media_cap {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 10px 0;
	/* border-bottom: 1px solid currentColor; */
	color: var(--color-treatment);
	font-size: 1.6rem;
}
.implant .bl_implantConsult h2 {
	margin-bottom: 0;
	font-size: 3.6rem;
	text-align: left;
	line-height: 1.6;
}
.implant .bl_implantConsult h2 .bl_media_subTtl {
	display: block;
	font-size: 2.4rem;
}


/* 無料初診相談の内容
------------------------------------------------*/
.implant .bl_implantConsultFlow .el_h3 {
	margin-bottom: 30px;
	line-height: 1.2;
}
.bl_implantConsultFlow .bl_col3 .bl_col_item {
	counter-increment: supportNum;
  position: relative;
  display: flex;
  justify-content: flex-start;
	align-items: center;
	width: calc((100% - 5px * 2) / 3);
	margin-top: 5px;
	padding: 30px 20px;
  background-color: var(--color-treatment-light-more);
}
.bl_implantConsultFlow .bl_col_item .el_h4 {
	position: relative;
  margin-bottom: 0;
  padding-left: 50px;
	font-size: 2.0rem;
  line-height: 1;
}
.bl_implantConsultFlow .bl_col_item .el_h4 span {
  display: block;
  /* width: fit-content; */
  margin-bottom: 10px;
  /* padding-bottom: 2px;
  border-bottom: 1px solid currentColor; */
  color: var(--color-primary);
	font-family: var(--font-primary);
  font-size: 1.4rem
}
.bl_implantConsultFlow .bl_col_item .el_h4::before {
  content: counter(supportNum);
  z-index: 10;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
	width: 36px;
	height: 36px;
	padding-top: 5px;
	margin: auto 0;
	background: var(--color-treatment);
  color: #fff;
  font-weight: normal;
	font-size: 2.8rem;
	text-align: center;
  line-height: 1;
}
.bl_implantConsultFlow_note {
	text-align: center;
}

/* トリートメントコーディネーター
------------------------------------------------*/
.bl_implantConsultTC .bl_media {
	align-items: flex-start;
}
.bl_implantConsultTC h3 {
	margin-bottom: 30px;
}
.bl_implantConsultTC .bl_media_ttl {
	display: block;
	color: var(--color-txt-dark);
	font-family: var(--font-accent);
	font-weight: 400;
	font-size: 3.0rem;
	line-height: 1.6;
}
.bl_implantConsultTC .bl_media_cap {
	position: relative;
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 4px 0;
	padding: 14px 20px;
	border: 1px solid var(--color-treatment);
	color: var(--color-treatment);
	font-size: 1.8rem;
	line-height: 1.6;
}
.bl_implantConsultTC .bl_media_cap::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 10px 0 10px;
	border-color: var(--color-treatment) transparent transparent transparent;
}
.bl_implantConsultTC .bl_media_img {
	width: 600px;
	margin-left: -60px;
}
.bl_implantConsultTC .btn a {
	width: 600px;
	height: 60px;
	padding: 0 10px 0 20px;
	font-size: 2.4rem;
	text-align: center;
	text-decoration: none;
	line-height: 60px;
}


/* 定期メンテナンス・保証期間
================================================================================*/
#implantMainte .el_caption {
	line-height: 1.6;
}

#implantMainte .el_h4 {
	margin-bottom: 20px;
	color: var(--color-txt-dark);
	font-size: 1.8rem;
}
.bl_implantMainteDetail {
	padding: 40px;
	background-color: #f7f7f7;
}
.bl_implantMainteDetail .bl_col2 .bl_col_item {
	width: 48%;
}
.bl_implantMainteDetail dl,
.bl_implantMainteDetail_more {
	padding: 20px;
	background-color: #fff;
}
/* .bl_implantMainteDetail dl:first-of-type {
	margin-bottom: 20px;
} */
.bl_implantMainteDetail dt {
	margin-bottom: 20px;
	color: var(--color-treatment);
	font-weight: 700;
}

.bl_implantMainteDetail table td {
	text-align: right;
}


/*================================================================================

caries

================================================================================*/
/* 進行と治療
================================================================================*/
.periodontal .bl_treatmentProgress .bl_card_num {
	width: 46px;
}

/*================================================================================

whitening

================================================================================*/
/* 治療の費用
================================================================================*/
.whitening .bl_treatmentCost_ttl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 10px;
	padding-bottom: 10px;
	border-bottom: 1px dashed currentColor;
}
.whitening .bl_treatmentCost_price {
	padding-top: 0;
	border-top: none;
}

/*================================================================================

denture

================================================================================*/
/* 入れ歯・ブリッジの比較
================================================================================*/
.bl_tableSticy th {
	border: 1px solid var(--color-primary);
	background-color: var(--color-primary-light-more);
	color: var(--color-treatment);
}
.bl_tableSticy thead th {
	font-weight: 700;
	font-size: 1.8rem;
	text-align: center;
}
.bl_tableSticy thead th img {
	display: block;
	margin: 0 auto 10px;
	width: 80px;
}
.bl_tableSticy td {
	border: 1px solid var(--color-primary);
}


/*================================================================================

orthodontics

================================================================================*/
/* 不正咬合の種類
================================================================================*/
.malocclusionType {
	margin-bottom: 120px;
}
.malocclusionType .bl_media {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 0 0 40px;
}
.malocclusionType .bl_media_img {
	width: 300px;
}
.malocclusionType .bl_media .bl_media_body {
	width: 620px;
}
.malocclusionType .btn {
	text-align: right;
}

/* 症例
------------------------------------------------*/
.malocclusionListBase {
	margin: 0 0 20px;
	padding: 30px;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
  border-radius: 10px;
}
.malocclusionListBase h3 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 20px 0;
	padding: 6px 10px;
	background-color: var(--color-accent);
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
}

.malocclusionList {
	list-style: none;
  display: -ms-grid;
  display: grid;
  flex-wrap: wrap;
  grid-gap: 10px;
	-ms-grid-columns: calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4) 10px calc(100% / 4 - 10px * 3/4);
	grid-template-columns: repeat(4, calc(100% / 4 - 10px * 3/4));
	width: 100%;
	margin: 0 0 20px;
  padding: 0;
}
.malocclusionList > li {
	margin: 0;
}
.malocclusionList > li > a {
	display: block;
	height: 100%;
	padding: 20px;
	border: 1px solid #f0e3d1;
	background: #fff;
	opacity: 1;
}
.caseOrthodonticsList > li > a:link,
.caseOrthodonticsList > li > a:visited {
	text-decoration: none;
}
.malocclusionList > li figure {
	display: block;
	margin-bottom: 10px;
}
.malocclusionListTtl {
	color: var(--color-txt-dark);
}
.malocclusionListBase .el_h4 {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 20px 0;
	padding: 6px 10px;
	background-color: var(--color-treatment);
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
}

/* 矯正装置の種類
================================================================================*/
/* メリット・デメリット
------------------------------------------------*/
/* .orthodonticsType .bl_media_img {
	width: 320px;
} */
.merit .bl_col_item h4 {
	margin-bottom: 20px;
}
.merit .bl_col_item li {
	margin-bottom: 8px;
	padding: 8px 8px 8px 50px;
	background: linear-gradient(90deg, var(--color-accent) 0, var(--color-accent) 40px, var(--color-primary-light-more) 40px, var(--color-primary-light-more) 100%);
}
.merit .bl_col_item .triangleList li {
	background: linear-gradient(90deg, #ccc 0, #ccc 40px, #f7f7f7 40px, #f7f7f7 100%);
}
.merit .bl_col_item li::before {
	top: 50%;
	left: 11px;
	transform: translateY(-50%);
	color: #fff;
	font-weight: 700;
}

/* .orthodontics .homeInvisalign {
	border: 4px solid #fff;
} */

.orthodontics .bl_implantConsult h2 {
	margin-bottom: 0;
	font-size: 3.6rem;
	text-align: left;
	line-height: 1.6;
}
.orthodontics .bl_implantConsult h2 .bl_media_subTtl {
	display: block;
	font-size: 2.4rem;
}


/* 歯列矯正の費用
================================================================================*/
.bl_costTable {
	margin-bottom: 40px;
	padding: 20px 40px 40px;
	background: url(/common_img_new/bg_beige.jpg);
}
.bl_treatmentCostDetail .bl_tableCollapse caption {
  color: var(--color-treatment);
}
.bl_treatmentCostDetail .bl_tableCollapse tbody th {
	border-color: var(--color-treatment);
  /* background-color: var(--color-treatment-light-more); */
  color: var(--color-treatment);
  font-size: 1.6rem;
  text-align: left;
  vertical-align: middle;
}
.bl_treatmentCostDetail .bl_tableCollapse tbody th span {
  font-size: 1.6rem;
}
.bl_treatmentCostDetail .bl_tableCollapse tbody td {
	padding: 10px 16px;
	border-color: var(--color-treatment);
	background-color: #fff;
  color: var(--color-treatment);
  font-size: 1.8rem;
  text-align: right;
  vertical-align: middle;
	white-space: nowrap;
}
.bl_treatmentCostDetail .bl_tableCollapse tbody td span {
  font-size: 1.6rem;
}
.bl_treatmentCostDetail .bl_tableCollapse th,
.bl_treatmentCostDetail .bl_tableCollapse td {
	width: auto;
	padding: 16px;
}
.bl_treatmentCostDetail .bl_tableCollapse tbody td {
	padding: 16px;
}
.bl_treatmentCostDetail .bl_tableCollapse .typeCost {
	display: inline-block;
	float: left;
	margin: 0 10px 0 0;
	padding: 0 10px;
	background: var(--color-gray-light-more);
	color: #000;
}
.bl_treatmentCostDetail .bl_tableCollapse tr:nth-last-of-type(-n+3) .typeCost {
	background: var(--color-invisalign-light-more);
	color: var(--color-invisalign-light);
}
.bl_treatmentCostDetail .bl_tableCollapse .typeCost span {
	color: inherit;
	font-size: 1.6rem;
}
.bl_treatmentCostDetail .bl_costPoint {
	margin: 0 0 60px;
	/* padding: 40px;
	background: #fff; */
}
.bl_treatmentCostDetail .bl_costPoint h4 {
	margin: 0 0 20px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--color-gray);
	font-weight: 500;
	color: var(--color-primary);
}
.bl_treatmentCostDetail .bl_costPoint p {
	font-size: 1.4rem;
}

.bl_infoCost dt {
	margin-bottom: 30px;
	color: var(--color-treatment);
	font-size: 2.4rem;
	text-align: center;
}
.bl_infoCost dt span {
	display: block;
	margin-bottom: 10px;
	font-size: 3.0rem;
}
.bl_infoCost table th {
	color: var(--color-treatment);
}
.bl_infoCost table th,
.bl_infoCost table td {
	background-color: var(--color-gray-light-more);
}


/*================================================================================

treatment index

================================================================================*/
/* .treatmentIndex .homeTreatmentBox .bl_mainArea {
	align-items: flex-start;
	margin-bottom: 30px;
	border-bottom: none;
}
.treatmentIndex .homeTreatmentBox .bl_mainArea_body {
	padding: 0 40px 20px 0;
} */
/* .treatmentIndex .bl_mainArea_img img {
	height: auto;
} */
.homeTreatmentBox h2::after {
	display: none;
}
.treatmentIndex .homeTreatmentBox .btn {
	margin-right: -60px;
	text-align: right;
}


/*================================================================================

3D

================================================================================*/
/* main img
================================================================================*/
.digitalMainImg {
	width: 800px;
	margin: 0 auto 60px;
	text-align: center;
}

/* col2
================================================================================*/
.digital .bl_col2 .bl_card_img {
	margin-bottom: 30px;
}
.digital .bl_col2 .bl_card_img img {
	border-radius: 10px;
}
.digital .bl_col2 .bl_card_ttl {
	margin-bottom: 30px;
	font-size: 2.4rem;
	text-align: center;
}

.digitalMerit .bl_col_item {
	padding: 30px;
	border-radius: 10px;
	background-color: var(--color-primary-light-more);
}
.digitalMerit .bl_col2 .bl_card_img {
	margin-bottom: 10px;
	text-align: center;
}
.digitalMerit .bl_col2 .bl_card_img span {
	font-size: 3.6rem;
}

.digitalFacilities .bl_col_item {
	padding: 30px;
	border-radius: 10px;
	background-color: #fff;
}

	/* digitalAbout
------------------------------------------------*/
.digitalAboutOuter {
	padding: 40px;
  border-radius: 10px;
	background: #f7f7f7 url(/common_img_new/bg_random.png);
}
.digitalAbout {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 100%;
}
.digitalAboutImg {
	width: 380px;
	height: auto;
	margin: 0 0 0 40px;
}
.digitalAboutTxt {
	flex: 1;
}
.digitalAboutOuter h3 {
	position: relative;
  margin: 0 0 40px;
}
.digitalAboutOuter h3 span {
  padding: 6px 12px;
  background-color: var(--color-accent);
  color: #fff;
  font-weight: normal;
  font-size: 2.4rem;
	line-height: 1;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.digitalAboutLink {
	text-align: right;
}


/*================================================================================

dio

================================================================================*/
/* h
================================================================================*/
/* .dio h2, */
.dio h2 {
	font-family: var(--font-primary);
	font-weight: 500;
}
.dio h3 {
	font-family: var(--font-primary);
	font-weight: 500;
}
.dio .el_h3 {
	color: var(--color-dio);
	font-family: var(--font-primary);
	font-weight: 500;
}
.el_hMark_dio::before {
  content: "";
  display: block;
  width: 160px;
  height: calc(160px * 236 / 800 );
  margin: 0 auto 20px;
  background-image: url(/dio/img/dio_logo.png);
  background-repeat: no-repeat;
  background-size: 160px auto;
}
.el_hMark_dio__black::before {
  background-image: url(/dio/img/dio_logo_black.png);
}
.el_hMark_dio__white::before {
  background-image: url(/dio/img/dio_logo_white.png);
}

/* mainArea
================================================================================*/
/* .treatment .bl_mainArea {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	background: var(--color-primary-light-more) url(/common_img_new/bg_random.png);
	border-bottom: 1px solid #eee;
}
.treatment .bl_mainArea_img {
	flex: 1;
} */
/* .treatment .bl_mainArea_img img {
	width: 100%;
	height: clamp(550px, 100vh - 200px, 600px);
	-o-object-fit: cover;
	   object-fit: cover;
} */

.dio .bl_mainArea {
	position: relative;
	display: block;
}
.dio .bl_mainArea_img {
	width: 100%;
}
.dio .bl_mainArea_img img {
	width: 100%;
	height: clamp(500px, 100vh - 174px, 840px);
	-o-object-fit: cover;
	object-fit: cover;
}
.dio .bl_mainArea_body {
	position: absolute;
	width: auto;
	top: 50%;
	left: calc(50% - 500px);
	transform: translateY(-50%);
	padding: 2%;
}
.bl_mainArea .el_dio_logo {
	width: 500px;
	margin-bottom: 30px;
	/* background-color: var(--color-dio);
	color: #fff;
	font-size: 3.6rem; */
}
.dio .bl_mainArea_ttl {
	font-family: var(--font-primary);
	font-weight: 500;
	line-height: 1.6;
}
.dio .bl_mainArea_subTtl {
	font-family: var(--font-primary);
	font-weight: 500;
	border-bottom: 40px;
	font-size: 2.4rem;
}
.dio .bl_mainArea_subTtl span {
	padding: 4px 8px;
	/* background: rgba(255, 241, 0, 0.7); */
	background-color: var(--color-dio);
	color: #fff;
}

.dio .bl_mainArea_outer > .bl_mainArea_ttl {
	display: none;
}

/* subMainArea
================================================================================*/
.dio .bl_subMainArea {
	position: relative;
	width: 100%;
	/* padding: 10%;
	background: url(../dio/img/submain_bg.jpg) no-repeat left center;
	background-size: cover; */
}
.dio .bl_subMainArea_img img {
	width: 100%;
	height: 500px;
	-o-object-fit: cover;
	object-fit: cover;
	/* object-position: left top; */
	-webkit-filter: brightness(110%);
	        filter: brightness(110%);
}
.dio .bl_subMainArea_body {
	position: absolute;
	top: 50%;
	right: calc(50% - 540px);
	transform: translateY(-50%);
	padding: 40px;
	/* border: 4px double var(--color-dio); */
	background-color: rgba(255, 255, 255, 0.9);
}
.dio .bl_subMainArea_ttl {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 14px 0;
	/* padding: 10px 20px;
	border: 1px solid currentColor;
	background-color: var(--color-dio);
	color: #fff; */
	color: var(--color-dio);
	font-family: var(--font-primary);
	font-weight: 500;
	font-size: 3.0rem;
	line-height: 1;
	/* text-decoration: underline 1px;
	text-underline-offset: 10px; */
}
.dio .bl_subMainArea_ttl::before {
	content: "★";
	margin-right: 10px;
	color: var(--color-accent);
	font-size: 3.0rem;
}
.dio .bl_subMainArea_ttl span {
	font-size: 3.0rem;
  /* padding-top: 16px;
  background-position: top left 6px;
  background-repeat: repeat-x;
  background-size: 30px 10px;
  background-image: radial-gradient(3px 3px at center center, #D55, #D55 100%, transparent); */
}
.dio .bl_subMainArea_body .bl_subMainArea_txt {
	margin-left: calc(3.4rem + 10px);
	color: var(--color-txt-dark);
	font-size: 1.8rem;
}
.dio .bl_subMainArea_body .bl_subMainArea_txt:first-of-type {
	margin-bottom: 30px;
}

/* DIOとは
================================================================================*/
.bl_treatmentAbout .el_dio_aligner {
	width: 300px;
	margin: 0 auto 60px;
}
.bl_treatmentAbout .el_dio_logo {
	width: 300px;
	margin: 0 auto 40px;
}
.dio .bl_treatmentAbout .bl_media_copy {
	font-family: var(--font-primary);
	font-weight: 500;
}

/* 河原町歯科・矯正歯科クリニックが「DIOマウスピース矯正」を導入する理由
================================================================================*/
.bl_dioReason {
	position: relative;
}
.bl_dioReason_header {
	text-align: center;
}
.bl_dioReason_header .bl_media {
	display: inline-flex;
	width: auto;
	margin: -120px auto 0;
	justify-content: center;
	align-items: center;
}
.bl_dioReason_header .bl_media_img {
	width: 260px;
}
.bl_dioReason_header .bl_media_body {
	margin-top: 60px;
}
.bl_dioReason_header .bl_media_cap {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 10px 0;
	border-bottom: 1px solid currentColor;
	color: var(--color-dio);
	font-size: 1.8rem;
}
.bl_dioReason_header h2 {
	margin-bottom: 20px;
	color: var(--color-dio-accent);
	font-size: 3.6rem;
	text-align: left;
	line-height: 1.6;
}
.bl_dioReason_header .bl_media_autor {
	text-align: right;
}
.bl_dioReason_list section {
	counter-increment: reasonNum;
	margin-bottom: 40px;
	padding: 60px;
	border: 2px solid var(--color-dio-accent);
	border-radius: 10px;
	background-color: #fff;
}
.bl_dioReason_list section h3 {
	position: relative;
	padding-left: 60px;
	color: var(--color-dio-accent) !important;
}
.bl_dioReason_list h3::before {
	content: counter(reasonNum);
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 5px 0 0;
	background: var(--color-dio-accent);
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
	letter-spacing: 0;
	border-radius: 50%;
}

.bl_dioReason_lead.bl_media {
	padding: 30px 60px;
	align-items: center;
}
.bl_dioReason_lead .bl_media_img {
	width: 220px;
	margin-left: -120px;
}
.bl_dioReason_bottom {
	padding: 60px;
}
.bl_dioReason_bottom .el_h3 {
	margin-bottom: 30px;
	font-size: 2.4rem;
}

/* 選ばれる方が増えています
================================================================================*/
.el_dio_caption {
	display: inline-block;
	margin-bottom: 10px;
	padding: 4px 10px;
	background: var(--color-accent-light);
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	font-size: 2.4rem;
}

.bl_dioUser .bl_card_img {
	margin: 0 auto 20px;
}
.bl_dioUser .bl_card_ttl {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 20px;
	color: var(--color-dio);
	font-weight: 500;
	font-size: 1.8rem;
	text-align: center;
	-webkit-text-decoration: underline 1px;
	        text-decoration: underline 1px;
	text-underline-offset: 10px;
}
.bl_dioUser .bl_card_txt {
	margin: 0 10px;
}

/* 「DIOマウスピース矯正」の特徴
================================================================================*/
.bl_dioFeature .bl_treatmentFeatureList .bl_treatmentFeature_ttl {
	color: var(--color-dio);
	font-size: 3.0rem;
}
.bl_dioFeature .bl_col3 .bl_col_item {
	width: 30%;
	/* margin: 5% 0 0; */
}
.bl_dioFeature .bl_treatmentFeatureList2 .bl_treatmentFeature_ttl {
	font-size: 2.4rem;
}
.bl_dioFeature .bl_treatmentFeatureList .bl_treatmentFeature_num {
	background-color: var(--color-dio);
}

.bl_dioMov {
	width: 100%;
	position: relative;
	padding-top: 56.25%;
}
.bl_dioMov video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* 3つのコース
================================================================================*/
/* .bl_dioCourse_img {
	width: 40px;
	margin: 0 auto 60px;
}
.bl_dioCourse .bl_col_item {
	padding: 30px;
	border: 2px solid var(--color-dio);
	background-color: #fff;
} */

.bl_dioCourse {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 80px;
}
.bl_dioCourse_header {
	width: 500px;
	/* margin-top: 100px; */
	text-align: left;
}
.bl_dioCourse_header .bl_dioCourse_img {
	width: 300px;
	margin: 40px auto 0;
}
.bl_dioCourse_body {
	flex: 1;
	/* padding: 40px;
	background-color: #fff; */
}
.bl_dioCourse_body .bl_dioCourse_item {
	margin-bottom: 20px;
	padding: 30px;
	border: 2px solid var(--color-dio);
	background-color: #fff;
}
.bl_dioCourse_body .bl_dioCourse_ttl {
	position: relative;
	margin-bottom: 20px;
	padding: 16px 10px;
	background-color: var(--color-accent-light);
	color: var(--color-txt-dark);
	font-weight: 400;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1;
}
.bl_dioCourse_body .bl_dioCourse_ttl span {
	display: block;
	margin-top: 6px;
	color: var(--color-dio);
	font-size: 1.4rem;
}
.bl_dioCourse_body .bl_dioCourse_ttl::after {
  content: "";
  z-index: 10;
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0;
  height: 0;
  pointer-events: none;
  border: solid transparent;
  border-color: transparent;
  border-top-color: var(--color-accent-light);
  border-width: 10px;
  margin-left: -10px;
}

/* 「DIOマウスピース矯正」の費用と流れ
================================================================================*/
.bl_dioPriceFlow .bl_col2 .bl_col_item {
	width: 50%;
	padding: 20px 0;
}
.bl_dioPriceFlow .bl_col2 .bl_col_item:first-of-type {
	border-right: 1px solid #aaa;
}

/* 「DIOマウスピース矯正」の症例・治療例
================================================================================*/
.bl_dioCase .el_hMiddleLine {
	margin-bottom: 40px;
	color: var(--color-dio);
	font-weight: 500;
	font-size: 2.0rem;
}

/* マウスピース矯正を検討されている方へ
================================================================================*/
.bl_dioMessage_lead.bl_media {
	align-items: center;
	width: 90%;
	margin-inline: auto;
}
.bl_dioMessage_lead .bl_media_img {
  max-width: 350px;
}
.dio .bl_dioMessage_lead h2 {
	margin-bottom: 30px;
	text-align: left;
	line-height: 1.6;
}
.bl_dioMessage_lead .bl_media_cap {
	position: relative;
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin-bottom: 30px;
	padding: 14px 30px;
	border-radius: 100px;
	background-color: var(--color-dio);
	color: #fff;
	font-family: var(--font-primary);
	font-size: 1.8rem;
}
.bl_dioMessage_lead .bl_media_cap::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 14px 10px 0 10px;
	border-color: var(--color-dio) transparent transparent transparent;
}
.bl_dioMessage_lead .bl_media_ttl {
	border-bottom: 1px solid currentColor;
}

.dio .bl_dioMessage .el_h3 {
	position: relative;
	padding-left: calc(3.0rem + 10px);
	font-family: var(--font-primary);
	font-size: 2.4rem;
}
.dio .bl_dioMessage .el_h3::before {
	content: "★";
	display: block;
	position: absolute;
	top: -4px;
	left: 0;
	margin-right: 10px;
	color: var(--color-accent);
	font-size: 3.0rem;
}

/* セミナー・講演実績
================================================================================*/
.bl_dioSeminar {
	position: relative;
	background: url(/dio/img/seminar_bg.jpg) no-repeat;
	background-size: cover;
}
/* .bl_dioSeminar::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.2);
} */
.bl_dioSeminar .container {
	position: relative;
}

.bl_dioSeminar_list {
	padding: 40px;
	background-color: rgba(255, 255, 255, 0.9);
}
.bl_dioSeminar_list a:link,
.bl_dioSeminar_list a:visited {
	text-decoration: none;
}
.bl_dioSeminar_list .bl_card {
	display: flex;
	flex-direction: column;
}
.bl_dioSeminar_list .bl_card_img {
	margin-bottom: 2px;
}
.bl_dioSeminar_list .bl_card_body {
	flex-grow: 1;
	padding: 14px;
	background-color: #fff;
}
.bl_dioSeminar_list .bl_card_date {
	margin-bottom: 6px;
	line-height: 1;
}
.bl_dioSeminar_list .bl_card_ttl {
	margin-bottom: 0;
	color: var(--color-txt-dark);
	font-weight: 700;
}


/* DIO概要ボックス
================================================================================*/
.bl_dioBox {
	padding: 60px;
	background: var(--color-dio-light-more);
	border-radius: 10px;
}
.bl_dioBox .el_dio_logo {
	width: 300px;
	margin: 0 auto 40px;
}
.treatment .bl_dioBox h2,
.home .bl_dioBox h2 {
	font-family: var(--font-primary);
	font-size: 3.6rem;
}
.bl_dioBox .bl_media {
	align-items: center;
	gap: 0;
	padding: 30px 60px;
	border-radius: 10px;
	background-color: #fff;
}
.bl_dioBox .bl_media_copy {
	color: var(--color-dio-accent);
	font-size: 2.6rem;
	text-align: left;
}
.bl_dioBox .bl_media_copy > span {
	padding-bottom: 5px;
	border-bottom: 1px solid currentColor;
}
.bl_dioBox .bl_media_img {
	width: 380px;
	margin: 0 -80px 0 -10px;
}

.bl_dioBox .bl_subMainArea_body {
	/* display: inline-block; */
	padding: 20px;
	background-color: var(--color-gray-light-more);
}
.bl_dioBox .bl_subMainArea_ttl {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 14px 0;
	color: var(--color-dio);
	font-weight: 500;
	font-size: 2.0rem;
	line-height: 1;
}
.bl_dioBox .bl_subMainArea_ttl::before {
	content: "★";
	margin-right: 10px;
	color: var(--color-accent);
	font-size: 2.4rem;
}
.bl_dioBox .bl_subMainArea_body .bl_subMainArea_txt {
	color: var(--color-txt-dark);
}
.bl_dioBox .bl_subMainArea_body .bl_subMainArea_txt:first-of-type {
	margin-bottom: 20px;
}

/* マウスピース矯正ボックス
================================================================================*/
.bl_mouthpieceBox {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 40px;
  border: 1px solid var(--color-treatment);
  border-radius: 10px;
  background-color: #fff;
	/* background: #f7f7f7 url(/common_img_new/bg_random.png); */
}
.bl_mouthpieceBox h2 {
	position: relative;
	margin-bottom: 30px;
  color: var(--color-treatment);
  font-weight: normal;
	font-size: 2.4rem;
	text-align: left;
	line-height: 1.6;
}
.bl_mouthpieceBox h2 .bl_mouthpieceBox_num {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 16px 0;
  padding: 4px 10px;
  background-color: var(--color-treatment);
  color: #fff;
  font-family: var(--font-primary);
  font-size: 1.8rem;
  line-height: 1;
}
.bl_mouthpieceBox > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.bl_mouthpieceBox_img {
	width: 300px;
	height: auto;
	margin: 0 0 0 40px;
}
.bl_mouthpieceBox_txt {
	flex: 1;
}

/*================================================================================

保険医療機関における書面掲示

================================================================================*/
/* h
================================================================================*/
.medicalNotice h2 span {
	display: inline-block;
	margin-left: 10px;
	font-size: 1.4rem;
}
.medicalNotice h2 {
	width: fit-content;
	margin-right: auto;
	padding-bottom: 5px;
  border-bottom: 1px solid #666;
}


/*================================================================================

ドクターレポート / CTA

================================================================================*/
/* セミナー・講演実績
================================================================================*/
.bl_CtaSeminar {
	position: relative;
	background: url(/dio/img/seminar_bg.jpg) no-repeat;
	background-size: cover;
}
.bl_CtaSeminar h2::after {
	display: none !important;
}
.bl_CtaSeminar .el_caption {
	display: block;
	width: fit-content;
	margin: 10px auto 0;
	padding: 4px 20px;
	background-color: var(--color-primary);
	color: #fff;
	font-size: 2.4rem;
}
.bl_CtaSeminar .container {
	position: relative;
}

.bl_CtaSeminar_list {
	padding: 40px;
	background-color: rgba(255, 255, 255, 0.9);
}
.bl_CtaSeminar_list a:link,
.bl_CtaSeminar_list a:visited {
	text-decoration: none;
}
.bl_CtaSeminar_list .bl_card {
	display: flex;
	flex-direction: column;
}
.bl_CtaSeminar_list .bl_card_img {
	width: 100%;
	aspect-ratio: 4/3;
	overflow: hidden;
	margin-bottom: 2px;
}
.bl_CtaSeminar_list .bl_card_img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bl_CtaSeminar_list .bl_card_body {
	flex-grow: 1;
	padding: 14px;
	background-color: #fff;
}
.bl_CtaSeminar_list .bl_card_date {
	margin-bottom: 6px;
	line-height: 1;
}
.bl_CtaSeminar_list .bl_card_ttl {
	margin-bottom: 0;
	color: var(--color-txt-dark);
	font-weight: 700;
}

/*================================================================================

ティースジュエリー

================================================================================*/
.teethJewelry #main {
	--color-treatment: #fd9d70;
	--color-treatment-light: #fce9e0;
	--color-treatment-light-more: #FDF4EE;
}

/* ティースジュエリーとは
================================================================================*/
.hp_bgBoke {
	background: url(/teeth-jewelry/img/boke_bg.jpg) no-repeat;
	background-size: cover;
}
.teethJewelry .bl_treatmentAbout .bl_media_copy {
	color: var(--color-treatment);
}
.teethJewelry .bl_treatmentAbout .bl_media_copy > span {
	border-bottom: 1px solid currentColor;
}

/* 3つの項目
------------------------------------------------*/
.teethJewelry .bl_treatmentAbout h3 {
	margin-bottom: 30px;
}
.bl_treatmentPoint.bl_col3 .bl_col_item {
	padding: 20px 10px;
	background-color: var(--color-treatment-light-more);
	/* color: var(--color-treatment); */
	font-size: 1.8rem;
	text-align: center;
}

/* ティースジュエリー完成まで
================================================================================*/
.teethJewelry .bl_treatmentFlow {
	flex-direction: column;
}
.teethJewelry .bl_treatmentFlow_header {
	width: 100%;
	text-align: center;
}
.teethJewelry .bl_treatmentFlow_body {
	padding: 0;
}
.teethJewelry .bl_treatmentFlowList_ttl {
	font-size: 2.4rem;
}

.treatment #teeth_jewelryFlow .el_caption {
	display: block;
	width: fit-content;
	margin: 20px auto 0;
	padding: 4px 20px;
	background-color: var(--color-treatment);
	color: #fff;
	font-size: 2.4rem;
}

.teethJewelry .bl_treatmentCostDetail .bl_tableSeparate tbody th {
	font-size: 2.0rem;
}
.teethJewelry .bl_treatmentCostDetail .bl_tableSeparate tbody td {
	font-size: 2.4rem;
}

/* よくあるご質問
================================================================================*/
.treatment #teeth_jewelryFAQ .el_caption {
	color: var(--color-treatment);
}



/*================================================================================

スタッフ募集

================================================================================*/
/* 見出し
================================================================================*/
.recruit.under .outlineTtl {
	font-size: 3.6rem;
}
.recruit .el_h3 {
	margin-bottom: 60px;
	padding: 10px;
	background: var(--color-primary-light-more);
	color: var(--color-primary);
	font-family: var(--font-accent);
	font-weight: 700;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.4;
}

/* 職種リンク
================================================================================*/
.bl_recruitLink {
	margin-bottom: 60px;
}
.bl_recruitLink .bl_col_item {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border: 1px solid var(--color-primary);
	background: var(--color-primary-light-more);
	color: var(--color-primary);
	text-align: center;
	text-decoration: none;
	transition: 0.6s;
}
.bl_recruitLink .bl_col_item:hover {
	border: 1px solid var(--color-primary);
	background: var(--color-primary-light);
}
.bl_recruitLink .bl_col_item::before {
	content: "\e315";
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	transition: 0.6s;
	color: var(--color-primary);
	font-family: 'Material Icons';
	font-size: 1.4rem;
}
.bl_recruitLink .bl_col_item:hover::before {
	left: 20px;
}

/* 募集要項
================================================================================*/
.bl_guideline {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 80px;
}
.bl_guideline dt {
	width: 180px;
	padding: 20px;
	border-top: 1px solid var(--color-gray-light);
	color: var(--color-primary);
}
.bl_guideline dd {
	width: 620px;
	padding: 20px;
	border-top: 1px solid var(--color-gray-light);
}
.bl_guideline dt:last-of-type,
.bl_guideline dd:last-of-type {
	border-bottom: 1px solid var(--color-gray-light);
}

/* お問い合わせ窓口
================================================================================*/
.bl_guideline__contact dd {
	width: 820px;
}

/* トップページ リクルートバナー（テキスト量に合わせて画像をトリミング）
================================================================================*/
.recruitBnr {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0;
	margin-bottom: 60px;
	border: 2px solid #f68583;
	/* border-radius: 10px; */
	background: #fff;
	/* background: var(--color-primary-light-more); */
}
a.recruitBnr:hover {
	opacity: 1;
}
a.recruitBnr:link,
a.recruitBnr:visited {
	text-decoration: none;
}
.recruitBnrBody {
	z-index: 10;
	flex: 1;
	margin-right: -260px;
	padding: 40px 30px;
}
.recruitBnrTtl {
	width: fit-content;
	margin-bottom: 20px;
	font-family: var(--font-accent);
	/* font-weight: 700; */
	font-size: 2.8rem;
	line-height: 2.1;
}
.recruitBnrTtl span:not(.strongFull) {
	padding: 10px 20px 8px;
	/* border-radius: 5px; */
	background-image: linear-gradient(135deg, #f6a183, #f68583 63%);
	/* color: var(--color-accent-light); */
	color: #fff;
}
.recruitBnrBody p {
	margin-bottom: 10px;
	/* color: var(--color-primary); */
}
.recruitBnrBody ul {
	list-style: none;
	padding: 0;
}
.recruitBnrBody li {
	position: relative;
	width: fit-content;
	margin-top: 8px;
	padding: 5px 10px 5px 20px;
	/* border-radius: 3px; */
	background: var(--color-gray-light-more); /* #ffe9e2 */
	color: var(--color-txt-dark);
}
.recruitBnrBody li:before {
  display: block;
  position: absolute;
  top: 50%;
  left: -10px;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
	color: #f68583;
  font-family: 'Material Icons';
  font-size: 2.4rem;
  line-height: 1;
  white-space: nowrap;
  content: "\e834";
  border-radius: 3px;
  transition: 0.6s;
}
.recruitBnrImg {
	position: relative; /* 高さを確定させるための基準 */
	overflow: hidden;
	flex: 0 1 650px;
	min-width: 0;
}
.recruitBnrImg img {
	display: block;
	width: 100%;
  height: 100%;
	object-fit: cover;
	position: absolute;
  top: 0;
  left: 0;
}

/* 医師用
------------------------------------------------*/
.recruitBnr__dr {
	border: 2px solid var(--color-treatment);
}
.recruitBnr__dr .recruitBnrTtl span:not(.strongFull) {
	background-image: linear-gradient(135deg, #2ab863, var(--color-treatment) 63%);
}
.recruitBnr__dr .recruitBnrBody li {
	color: var(--color-txt-dark);
}
.recruitBnr__dr .recruitBnrBody li:before {
	color: var(--color-treatment);
}

/* サイトトップ用
------------------------------------------------*/
.home_recruit_ttl {
	margin: 0 0 40px!important;
	color: var(--color-txt-dark);
	font-size: 3.0rem !important;
	text-align: center;
}
.home_recruit_ttl span {
	display: block;
	width: fit-content;
	margin: 0 auto 20px;
	padding: 10px 20px 8px;
	background: var(--color-accent-light);
	color: var(--color-txt-dark);
	font-size: 2.4rem;
}