@charset "UTF-8";

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

    00. multi-class
	01. key visual
	02. mhlw
	03. information
	04. pickup
	05. afap
	06. team
	07. generation
	08. message
	09. feature
	10. menu
	11. treatment
	12. consultation
	13. photo gallery
	14. pub(nees, schedule)
	15. access

 00. multi-class
========================================================================== */
.idx, .idx dl, .idx dt, .idx dd, .idx ul,.idx li, .idx a, .idx span, .idx i, .idx div, .idx p, .idx h2, .idx h3, .idx section, .idx nav, .idx figure, .idx article, .idx aside, .idx h2 {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.idx {
	font-size: max(calc((15 / 1400) * 100vw), calc(15px * 0.97));
	position: relative;
}
.idx img {
	width: 100%;
	max-width: 100%;
}
.idx_otr {
	position: relative;
}
.idx_inr {
	position: relative;
	display: block;
	margin: 0 auto;
}
.idx_box {
	display: block;
	position: relative;
}
.idx_ttl {
	position: relative;
}
.idx_ttl i {
	display: inline-block;
	vertical-align: baseline;
	line-height: 1;
}
.idx_lst li {
	position: relative;
	display: block;
	padding-left:1.4em;
	margin-bottom: 0.5em;
	background-repeat:no-repeat;
	background-position: 0 0.4em;
	background-size: 0.8em auto;
}
.idx_lm {
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	text-align:center;
}
.idx_lm span {
	display: inline-block;
	width: 6.26em;
}
.idx_lm span img {
	aspect-ratio: 79 / 76;
}
.idx_btn a,
.idx_btn span {
	display: inline-block;
}
.brckts {
	display: inline-block;
	margin: 0 -0.4em;
}
.no_link{
	pointer-events:none;
}
/* ------------------------------ slick */
.slide-arrow {
	z-index: 90;
	position: absolute;
	cursor: pointer;
	transition: 0.3s;
}
.slide-arrow:hover {
	opacity: 0.7;
}
/* ------------------------------ twentytwenty */
.twentytwenty-handle {
	width: 5em;
	height: 5em;
	margin-left: -2.5em;
	margin-top: -2.5em;
	border: 0 none;
	background: rgba(255,255,255,0.5);
}
.twentytwenty-horizontal .twentytwenty-handle::before, .twentytwenty-horizontal .twentytwenty-handle:after {
  width: 1px;
  margin-left: -0.5px;
}
.twentytwenty-horizontal .twentytwenty-handle::before {
  bottom: 0;
}
.twentytwenty-horizontal .twentytwenty-handle::after {
  top: 0;
}
.twentytwenty-left-arrow, .twentytwenty-right-arrow {
  width: 0.66em;
  height: 0.66em;
  border: 0.2em solid #505050;
	border-right: 0 none;
	border-bottom: 0 none;
  position: absolute;
}
.twentytwenty-left-arrow {
	margin-left: -1.6em;
	transform: rotate(-45deg);
}
.twentytwenty-right-arrow {
	margin-right: -1.6em;
	transform: rotate(135deg);
}
/* ----------------- colorbox */
#colorbox,
#cboxOverlay,
#cboxWrapper {
  z-index: 9999;
}
#cboxOverlay {
	z-index:9998;
}
/* ----------------- video */
.video {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0 none;
	vertical-align: top;
}

/*
    01. key visual
========================================================================== */
.head, .head p, .head ul, .head li, .head a, .head span, .head i, .head div, .head section {
	box-sizing: border-box;
}
.head img {
	max-width: 100%;
}
/* --------------------------- head */
.head {
	position: absolute;
	font-size: max(calc((15 / 1400) * 100vw), calc(15px * 0.97));
	width: 100%;
	z-index: 99;
}
.head_ttl {
	padding: 2em 0 0 2.4em;
	line-height: 1;
}
.head_ttl span {
	font-size: 93.33%;
	color: #333333;
}
/* --------------------------- index head */
.idx_head {
	z-index: 10;
}
.idx_head .head_btn {
	position: absolute;
	top: 0;
	right: 3.4em;
	display: grid;
	/* grid-template-columns: 1fr 1fr; */
	grid-template-columns: 1fr;
	column-gap: 0.4em;
	justify-items: end;
}
.idx_head .head_btn a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 10em;
	aspect-ratio: 150 / 70;
	text-align: center;
	color: #4c3d30;
	background-color: rgba(255,255,255,0.9);
}
.idx_head .head_btn a::before {
	content: "";
	display: block;
	position: absolute;
	width: 1em;
	height: 1em;
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	background-color: #a98f6d;
	bottom: 0.2em;
	right: 0.2em;
}
.idx_head .head_btn a i {
	display: block;
	line-height: 1.2;
}
.idx_head .head_btn a .en {
	font-family: 'Times New Roman', Times, serif;
	font-size: 160%;
}
.idx_head .head_btn a .ja {
	font-size: 120%;
}

.idx_kv::before {
	content: "";
	display: block;
	position: absolute;
	z-index: 3;
	pointer-events: none;
	top: 0.6em;
	left: 0.6em;
	width: calc(100% - 1.2em - 0.26em);
	height: calc(100% - 1.2em - 0.26em);
	border: 0.13em solid #402000;
}
.idx_kv .idx_ttl {
	position: absolute;
	width: 100%;
	left: 0;
	top: 7.6em;
	text-align: center;
  filter: drop-shadow(0px 0px 0.8em #fff) drop-shadow(0px 0px 1.2em #fff) drop-shadow(0px 0px 1.6em #fff) drop-shadow(0px 0px 2em #fff);
}
.idx_kv .idx_ttl a {
	display: inline-block;
	width: 30em;
}

.idx_kv_catch {
	position: absolute;
	left: 0;
	width: 100%;
	top: 12.3em;
	text-align: center;
}
.idx_kv_catch span {
	display: inline-block;
	width: 20.93em;
}
.idx_kv_catch img {
	aspect-ratio: 314 / 556;
}
.idx_kv_btn {
	position: absolute;
	bottom: 1.6em;
	right: 0;
}
.idx_kv_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 22em;
	padding: 0.5em 0 0.4em;
}
.idx_kv_btn a + a {
	margin-top: 0.4em;
	padding: 0.3em 0 0.2em;
}
.idx_kv_btn a + p {
	margin-top: 0.4em;
}
.idx_kv_btn a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(64,32,0,0.8);
	mix-blend-mode: multiply;
}
.idx_kv_btn a span {
	display: block;
	position: relative;
	z-index: 3;
	color: #fff;
	background-repeat: no-repeat;
	background-position: 0 50%;
}
.idx_kv_btn a:nth-of-type(1) span {
	padding: 0 3em 0 5.6em;
	background-size: 2.6em auto;
	background-image: url("../images/top/kv_ico_web.png");
}
.idx_kv_btn a:nth-of-type(2) span {
	padding: 0 1em 0 3em;
	background-size: 1.8em auto;
	background-image: url("../images/top/kv_ico_tel.png");
}
.idx_kv_btn a i {
	display: block;
	text-align: center;
	line-height: 1.3;
}
.idx_kv_btn a i:nth-of-type(1) {
	font-size: 120%;
}
.idx_kv_btn a i:nth-of-type(2),
.idx_kv_btn a i:nth-of-type(3) {
	font-size: 200%;
}

.idx_kv_btn a:nth-of-type(1) i:nth-of-type(3){
	font-size: 98%;
}
/*
    02. mhlw
========================================================================== */
.idx_mhlw {
	width: 80em;
	margin: 0 auto 3.4em;
	border: 1px solid #b8b9ba;
	position: relative;
	text-align: center;
	padding: 3.4em 0 2.2em;
}
.idx_mhlw::before {
	content: "";
	display: block;
	position: absolute;
	pointer-events: none;
	width: calc(100% - 0.5em - 2px);
	height: calc(100% - 0.5em - 2px);
	top: 0.25em;
	left: 0.25em;
	border: 1px solid #b8b9ba;
}
.idx_mhlw .idx_lm {
	top: -1.6em;
	z-index: 3;
}
.idx_mhlw .idx_lm span {
	width: 4.06em;
}
.idx_mhlw .idx_lm span img {
	aspect-ratio: 61 / 57;
}
.idx_mhlw_ttl {
	font-size: 167%;
	margin: 0 auto 1.2em;
	color: #333;
	letter-spacing: 0.06em;
}
.idx_mhlw_lst {
	text-align: center;
}
.idx_mhlw_lst .idx_lst {
	display: inline-block;
}
.idx_mhlw_lst .idx_lst li {
	display: block;
	text-align: left;
	font-size: 146.6%;
	margin-bottom: 0.3em;
	background-size: 0.7em auto;
	background-image: url("../images/top/mhlw_check.png");
}

/*
    03. information
========================================================================== */
.idx_info {
	margin: 0 0 7.2em;
	padding: 4.8em 0 4em;
	display: grid;
	grid-template-columns: 47.4em 1fr;
	grid-template-rows: max-content max-content 1fr;
	column-gap: 3.2em;
	background-repeat: no-repeat;
	background-position: 50% 0;
	background-size: 82.6em auto;
	background-image: url("../images/top/info_bg.png");
	color: #4c3d30;
}
.idx_info::before {
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	left: 0;
	top: 8.8em;
	background-color: #4c3d30;
}
.idx_info .idx_ttl {
	grid-column: 2 / 3;
	margin: 0 0 3em;
}
.idx_info .idx_ttl span {
	display: flex;
	align-items: flex-end;
}
.idx_info .idx_ttl span .en {
	font-family: 'Times New Roman', Times, serif;
	font-size: 380%;
	letter-spacing: 0.08em;
}
.idx_info .idx_ttl span .ja {
	margin-left: 1.6em;
	font-size: 160%;
	padding: 0 0 0.36em;
}
.idx_info_fig {
	position: relative;
	z-index: 3;
	grid-column: 1 / 2;
	grid-row: 1 / 4;
	text-align: right;
	padding-top: 1em;
}
.idx_info_fig span {
	display: inline-block;
	width: 36.67em;
}
.idx_info_fig img {
	aspect-ratio: 550 / 366;
}
.idx_info .idx_lst {
	grid-column: 2 / 3;
	width: 28.67em;
	margin-bottom: 2.6em;
}
.idx_info .idx_lst li {
	font-size: 180%;	
	border-bottom: 1px solid #4c3d30;
	padding-left: 0.8em;
	margin-bottom: 0.5em;
	padding-bottom: 0.2em;
	letter-spacing: 0.06em;
}
.idx_info .idx_lst li::before {
	content: "";
	display: block;
	position: absolute;
	width: 0.3em;
	aspect-ratio: 1 / 1;
	background-color: #4c3d30;
	left: 0;
	top: 40%;
	transform: rotate(45deg);
}
.idx_info .idx_lst em {
	color: #e6562c;
}
.idx_info .idx_lst span{
	font-size: 80%;
}
.idx_info .idx_btn {
	grid-column: 2 / 3;
	text-align: right;
}
.idx_info .idx_btn a {
	width: 7em;
	margin-right: 10.8em;
}
.idx_info .idx_btn a img {
	aspect-ratio: 105 / 22;
}

/*
    04. pickup
========================================================================== */
.idx_pick {
	margin: 0 0 7.4em;
	padding: 19.6em 6.4em 0;
	background-repeat: no-repeat;
	background-size: 50% auto;
	background-position: 0 0, 100% 0;
	background-image: url("../images/top/pick_bg_l.jpg"),url("../images/top/pick_bg_r.jpg");;
}
.idx_pick .idx_ttl {
	position: absolute;
	left: 0;
	top: -5.8em;
	width: 100%;
	text-align: center;
}
.idx_pick .idx_ttl span {
	display: inline-block;
	width: 11.6em;
}
.idx_pick .idx_ttl span img {
	aspect-ratio: 174 / 174;
}
.idx_pick .idx_inr {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 3.8em;
}
.idx_pick .idx_box {
	padding: 2em 2.6em 2.6em;
	display: grid;
	grid-template-columns: 1fr 12.4em;
	grid-template-rows: max-content max-content 1fr;
	column-gap: 2.2em;
	background-color: rgba(255,255,255,0.9);
	background-repeat: no-repeat;
	background-position: calc(100% - 1em) calc(100% - 1em);
	background-size: 1.2em auto;
	background-image: url("../images/top/pick_arrow.png");
	box-shadow: 0 0 0.3em rgba(51,51,51,0.3);
}
.idx_pick_en {
	grid-column: 1 / 3;
	text-align: center;
	margin: 0 0 1em;
}
.idx_pick_en span {
	display: inline-block;
}
.idx_pick_en img {
	width: auto;
	height: 1.06em;
}
.idx_pick_01 .idx_pick_en span img {
	aspect-ratio: 188 / 16;
}
.idx_pick_02 .idx_pick_en span img {
	aspect-ratio: 165 / 16;
}
.idx_pick_ttl {
	grid-column: 1 / 3;
	text-align: center;
	font-size: 173%;
	color: #4c3d30;
	margin: 0 0 1.3em;
}
.idx_pick_ttl em {
	display: inline-block;
	border-bottom: 1px solid #4c3d30;
}
.idx_pick_desc {
	grid-column: 1 / 2;
	font-size: 106%;
	color: #4b4b4b;
	line-height: 1.7;
}
.idx_pick_desc em {
	color: #d9635f;
}
.idx_pick_fig {
	grid-column: 2 / 3;
}
.idx_pick_fig img {
	aspect-ratio: 186 / 130;
}

/*
    05. afap
========================================================================== */
.idx_afap {
	margin: 0 0 5.4em;
	padding: 5em 5em 3.2em;
}
.idx_afap::before,
.idx_afap::after {
	content: "";
	display: block;
	position: absolute;
}
.idx_afap::before {
	width: 50%;
	right: 0;
	height: calc(100% + 2.8em);
	bottom: 0;
	background-color: #f6f3ed;
}
.idx_afap::after {
	width: 100%;
	left: 0;
	height: 29.8em;
	top: 0;
	background-color: rgba(236, 228, 217, 0.8);
}
.idx_afap_logo {
	position: absolute;
	z-index: 3;
	width: 12.33em;
	right: 3.2em;
	top: -4em;
}
.idx_afap_logo {
	aspect-ratio: 185 / 186;
}
.idx_afap_en {
	position: relative;
	z-index: 3;
	text-align: center;
	margin: 0 0 3.8em;
}
.idx_afap_en span {
	font-family: 'Times New Roman', Times, serif;
	font-size: 320%;
	font-style: italic;
	color: #c7b8aa;
	line-height: 1;
	letter-spacing: 0.08em;
}
.idx_afap .idx_ttl {
	position: relative;
	z-index: 3;
	margin: 0 0 3.4em;
	text-align: center;
	color: #4c3d30;
}
.idx_afap .idx_ttl span:nth-of-type(1) {
	position: absolute;
	font-size: 154%;
	transform: rotate(-15deg);
	top: -1.6em;
	left: 1.6em;
}
.idx_afap .idx_ttl span:nth-of-type(1) i {
	font-size: 109%;
}
.idx_afap .idx_ttl span:nth-of-type(1)::before,
.idx_afap .idx_ttl span:nth-of-type(1)::after {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 1em;
	top: 0.3em;
	background-color: #4c3d30;
}
.idx_afap .idx_ttl span:nth-of-type(1)::before {
	left: -0.4em;
	transform: rotate(-20deg);
}
.idx_afap .idx_ttl span:nth-of-type(1)::after {
	right: -0.4em;
	transform: rotate(20deg);
}
.idx_afap .idx_ttl span:nth-of-type(2) {
	font-size: 264.2%;
	line-height: 1;
}
.idx_afap .idx_ttl span:nth-of-type(2) i {
	font-size: 109.4%;
}
.idx_afap .idx_ttl span:nth-of-type(2) em {
	display: inline-block;
	position: relative;
	color: #e7562c;
	line-height: 1.3;
	background: linear-gradient(to bottom, transparent 0, transparent 70%, rgba(217,99,95,0.3) 70%, rgba(217,99,95,0.3) 100%);
}
.idx_afap .idx_ttl span:nth-of-type(2) em::before {
	content: "";
	display: block;
	position: absolute;
	height: 0.3em;
	width: calc(100% - 0.8em);
	top: -0.3em;
	left: 0.5em;
	background-size: 1.05em auto;
	background-repeat: repeat-x;
	background-image: url("../images/top/afap_kntn.png");
}
.idx_afap .idx_inr {
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 2em;
}
.idx_afap_ttl {
	position: relative;
	font-weight: bold;
	margin: -1.6em 5em 1.4em 0;
}
.idx_afap_ttl::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(64, 32, 0, 0.8);
	mix-blend-mode: multiply;
}
.idx_afap_ttl span {
	position: relative;
	display: inline-block;
	font-size: 160%;
	color: #fff;
	padding: 0.3em 0.8em;
}
.idx_afap_desc {
	font-size: 120%;
	color: #333;
	margin: 0 0.3em 0.5em;
}
.idx_afap .idx_btn {
	text-align: right;
}
.idx_afap .idx_btn a {
	font-size: 106.7%;
	font-style: italic;
	letter-spacing: 0.06em;
	color: #000;
	display: inline-block;
	border-bottom: 1px solid #000;
}

/*
    06. team 
========================================================================== */
.idx_team {
	margin: 0 0 7.2em;
	padding: 24em 0 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 0 0;
	background-image: url("../images/top/team_bg.jpg");
}
.idx_team_head {
	width: 40em;	
	margin: 0 auto 2.8em;
	padding: 2.2em 0 2.4em;
	text-align: center;
	background-color: rgba(255,255,255,0.8);
}
.idx_team_head_catch {
	font-size: 160%;
	margin: 0 0 0.8em;
}
.idx_team_head_en {
	margin: 0 0 1.4em;
}
.idx_team_head_en span {
	display: inline-block;
	padding: 0 0 0.26em;
	position: relative;
	color: #4b4b4b;
	font-family: 'Times New Roman', Times, serif;
	font-size: 400%;
	line-height: 1;
	letter-spacing: 0.06em;
}
.idx_team_head_en span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 0.1em;
	bottom: 0;
	background: linear-gradient(to right, #572b00 0, #572b00 50%, #b79f56 50%, #b79f56 100%);
}
.idx_team_head_en span i {
	display: inline-block;
}
.idx_team_head_en span i + i {
	margin-left: 0.3em;
}
.idx_team_head_en span i:nth-of-type(1)::first-letter {
	color: #b79f56;
}
.idx_team_head_en span i:nth-of-type(2)::first-letter {
	color: #572b00;
}
.idx_team_head_lead span {
	display: block;
	font-size: 200%;
	color: #4b4b4b;
}
.idx_team_head_lead span em {
	color: #572b00;
}
/* --------------------------- bottom */
.idx_team_btm {
	position: relative;
	background-color: #fff;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-image: url("../images/top/team_drctr_bg.png");
}
.idx_team_btm::before {
	content: "";
	display: block;
	position: absolute;
	top: 40em;
	left: 0;
	width: 100%;
	height: 38.8em;
	background-color: #fff7ec;
	mix-blend-mode: multiply;
}
/* --------------------------- director */
.idx_drctr {
	position: relative;
	padding: 8.4em 0 3.8em;
}
.idx_drctr_pos {
	margin: 0 30.6em 0 0;
	padding: 0 0 0 34em;
	position: relative;
}
.idx_drctr_pos::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #a7997d;
	mix-blend-mode: multiply;
}
.idx_drctr_pos span {
	position: relative;
	display: inline-block;
	z-index: 2;
	color: #fff;
	font-size: 133.3%;
	padding: 0.2em 0 0.7em;
}
.idx_drctr_name {
	margin: -0.6em 6.6em 0 0;
	padding: 0 0 0 34em;
	position: relative;
}
.idx_drctr_name::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #572b00;
	mix-blend-mode: multiply;
}
.idx_drctr_name span {
	position: relative;
	display: inline-block;
	z-index: 2;
	color: #fff;
	padding: 0 0 0.3em;
}
.idx_drctr_name span i {
	display: inline-block;
}
.idx_drctr_name span i:nth-of-type(1) {
	font-size: 200%;
	margin-right: 1em;
}
.idx_drctr_name span i:nth-of-type(2) {
	font-size: 300%;
}
.idx_drctr_en {
	margin: -0.5em 6.6em 3.6em 0;
	text-align: right;
}
.idx_drctr_en span {
	font-family: 'Times New Roman', Times, serif;
	display: inline-block;
	line-height: 1;
	font-size: 240%;
	color: rgba(87, 43, 0, 0.3);
	letter-spacing: 0.1em;
}
.idx_drctr_kkm {
	width: 51.3em;
	min-height: 10em;
	margin: 0 0 0 auto;
	padding: 2.6em 6.2em 1.6em; 
	display: grid;
	grid-template-columns: 22em 1fr;
	background-color: rgba(255,255,255,0.5);
	box-shadow: -0.2em 0.2em 0 rgba(67,67,67,0.15);
}
.idx_drctr_kkm_ttl {
	position: absolute;
	top: -3.6em;
	padding: 0.3em 1.5em 0.3em 1em;
	background-color: #a7997d;
	border-left: 0.67em solid #572b00;
}
.idx_drctr_kkm_ttl span {
	color: #fff;
	font-size: 133%;
}
.idx_drctr_kkm_ttl + p{
	font-size: 120%;
}
.idx_drctr_kkm .idx_lst li {
	font-size: 120%;
	margin-bottom: 0.3em;
	padding-left: 1em;
	background-size: 0.6em auto;
	background-position: 0 0.5em;
	background-image: url("../images/top/team_drctr_check.png");
}
.idx_drctr_fig {
	position: absolute;
	width: 42.66em;
	bottom: 0;
	left: 6.6em;
}
.idx_drctr_fig img {
	aspect-ratio: 620 / 582;
}
/* --------------------------- staff_set */
.idx_staff_set {
	padding: 2.8em 3.6em 1.4em;
	position: relative;
	display: grid;
	/* grid-template-columns: 1fr 1fr 1fr 1fr; */
	grid-template-columns: 1fr 1fr 1fr;
}

.idx_staff_set .idx_box:not(:last-child) {
	border-right: 0.14em dotted #868686;
}
.idx_staff_set .idx_staff_fig {
	width: 18.3em;
	margin: 0 auto 1.3em;
}
.idx_staff_set .idx_staff_fig img {
	aspect-ratio: 551 / 646;
}
.idx_staff_set .idx_staff_name {
	position: relative;
	border-bottom: 1px solid #2e2e2e;
	margin: 0 1.4em 0.6em;
}
.idx_staff_set .idx_staff_name .ja {
	font-size: 150%;
	color: #2e2e2e;
	font-weight: bold;
	padding-left: 0.2em;
}
.idx_staff_set .idx_staff_name .en {
	position: absolute;
    right: -0.1em;
    bottom: 0.1em;
	font-family: 'Times New Roman', Times, serif;
	font-size: 120%;
	line-height: 1.2;
	text-align: right;
	color: #a7997d;
	opacity: 0.3;
}
.idx_staff_set .idx_staff_name .en i {
	display: block;
	font-style: italic;
}
.idx_staff_set .idx_staff_name .en i:nth-of-type(1) {
	margin-right: 1em;
}
.idx_staff_set .idx_staff_desc {
	color: #444;
	margin: 0 0.8em;
}
.idx_staff_set .idx_staff_desc li {
	font-size: 120%;
	line-height: 1.3;
}
/* --------------------------- staff_grp */
.idx_staff_grp {
	padding: 0 6.4em;
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 2.4em;
}
.idx_staff_grp .idx_box {
	padding: 2em;
	display: grid;
	grid-template-columns: 14.13em 1fr;
	grid-template-rows: max-content max-content 1fr;
	column-gap: 1.8em;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url("../images/top/team_grp_bg.png");
	box-shadow: 0 0 0.2em rgba(0,0,0,0.15);
}
.idx_staff_grp .idx_staff_fig {
	grid-column: 1 / 3;
}
.idx_staff_grp .idx_staff_fig img {
	aspect-ratio: 527 / 299;
}
.idx_staff_grp .idx_staff_ttl {
	grid-column: 1 / 3;
	position: relative;
	margin: -1em 0 1em;
	text-align: center;
}
.idx_staff_grp .idx_staff_ttl span {
	display: inline-block;
	width: 16.25em;
	padding: 0.1em 0 0.3em;
	background-color: #572b00;
	color: #fff;
	font-size: 160%;
}
.idx_staff_grp .idx_staff_ttl span em {
	color: #fff1c1;
}
.idx_staff_grp .idx_staff_sfig img {
	aspect-ratio: 212 / 198;
}
.idx_staff_grp .idx_lst {
	padding-top: 2em;
}
.idx_staff_grp .idx_lst li {
	font-size: 120%;
	margin-bottom: 0.7em;
	background-size: 0.7em auto;
	background-image: url("../images/top/team_drctr_check.png");
}
.idx_staff_grp .idx_lst em {
	display: inline-block;
	background: linear-gradient(to bottom, transparent 0, transparent 60%, rgba(217,99,95,0.2) 60%, rgba(217,99,95,0.2) 100%);
}

/*
    07. generation
========================================================================== */
.idx_gene {
	margin: 0 0 6.7em;
	padding: 5.6em 6.8em 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 0 0;
	background-image: url("../images/top/gene_bg.jpg");
}
.idx_gene::before {
	content: "";
	display: block;
	position: absolute;
	right: calc(6.8em + 33.3em);
	width: 46em;
	height: 8.67em;
	top: 16.67em;
	background-color: #ac977a;
	mix-blend-mode: multiply;
}
.idx_gene_head {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 33.33em;
	grid-template-rows: max-content 1fr;
	margin: 0 0 4.2em;
}
.idx_gene_head .idx_ttl {
	padding-top: 0.5em;
	margin-bottom: 3.3em;
}
.idx_gene_head .idx_ttl span {
	display: block;
	color: #333333;
	font-feature-settings: 'palt';
}
.idx_gene_head .idx_ttl span:nth-of-type(1) {
	font-size: 200%;
	margin: 0 0 0.4em 0.25em;
	letter-spacing: 0.1em;
}
.idx_gene_head .idx_ttl span:nth-of-type(1) i {
	display: inline-block;
	line-height: 1.3;
	border-bottom: 1px solid #333333;
}
.idx_gene_head .idx_ttl span:nth-of-type(2) {
	font-size: 300%;
	letter-spacing: 0.05em;
}
.idx_gene_head .idx_ttl span:nth-of-type(2) i {
	font-size: 62.5%;
}
.idx_gene_head .idx_ttl span:nth-of-type(2) i.brckts {
	margin-right: 0;
}
.idx_gene_head_desc {
	margin: 0 1em 0 1.2em;
	line-height: 1.7;
	color:#fff;
	font-size: 120%;
}
.idx_gene_head_fig {
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}
.idx_gene_head_fig img {
	aspect-ratio: 500 / 340;
}
.idx_gene .idx_inr {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	column-gap: 2em;
	margin: 0 0.3em 5.8em;
}
.idx_gene .idx_box {
	background-color: #fff;
	padding: 1.8em 2.2em 2.2em;
	box-shadow: 0 0.3em 0 rgba(67,67,67,0.16);
}
.idx_gene .idx_box::before {
	content: "";
	display: block;
	position: absolute;
	top: -0.3em;
	left: 1em;
	width: 3.67em;
	aspect-ratio: 55 / 132;
	mix-blend-mode: multiply;
}
.idx_gene_01::before {
	background-color: #ed97bc;
}
.idx_gene_02::before {
	background-color: #f4b067;
}
.idx_gene_03::before {
	background-color: #f28262;
}
.idx_gene_nbr {
	position: absolute;
	top: 0.8em;
	left: 0.3em;
}
.idx_gene_nbr span {
	display: inline-block;
	font-family: 'Times New Roman', Times, serif;
	font-size: 400%;
	line-height: 1;
	color: #fff;
}
.idx_gene_ttl {
	text-align: center;
	margin: 0 0 1em;
}
.idx_gene_ttl i {
	display: block;
	line-height: 1.3;
}
.idx_gene_ttl .ja {
	font-size: 173%;
}
.idx_gene_ttl .en {
	font-size: 106.7%;
}
.idx_gene_01 .idx_gene_ttl .en { 
	color: #ed97bc;	
}
.idx_gene_02 .idx_gene_ttl .en { 
	color: #f4b067;
}
.idx_gene_03 .idx_gene_ttl .en { 
	color: #f28262;
}
.idx_gene_fig {
	width: 17.13em;
	margin: 0 auto 1.4em;
}
.idx_gene_fig img {
	aspect-ratio: 266 / 176;
}
.idx_gene_desc {
	font-size: 113%;
	color: #333333;
	line-height: 1.6;
}
.idx_gene_foot_desc {
	font-size: 107%;
	color: #333333;
	line-height: 1.8;
}
/*
    08. message
========================================================================== */
.idx_msg {
	margin: 0 0 7.8em;
	padding: 0 0 5.7em;
	background-color: #f6f3ed;
}
.idx_msg_fig {
	margin: 0 0 4.2em;
}
.idx_msg_fig img {
	aspect-ratio: 1400 / 900;
}
.idx_msg .idx_ttl {
	position: absolute;
	z-index: 2;
	top: 2.4em;
	right: 4.8em;
	width: 24.3em;
}
.idx_msg .idx_ttl img {
	aspect-ratio: 365 / 96;
}
.idx_msg .idx_inr {
	display: flex;
	justify-content: center;
}
.idx_msg_txt {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-orientation: upright;
	color: #2e2e2e;
}
.idx_msg_txt span {
	display: block;
}
.idx_msg_lead {
	margin-left: 6em;
}
.idx_msg_lead span {
	font-size: 240%;
	letter-spacing: 0.2em;
	/* letter-spacing: -0.2em; */
	line-height: 2;
}
.idx_msg_lead span:nth-of-type(2) {
	margin-top: 1.2em;
}
.idx_msg_lead em {
	background: linear-gradient(to right, transparent 0, transparent 60%, rgba(217,99,95,0.3) 60%, rgba(217,99,95,0.3) 100%);
}
.idx_msg_desc p {
	font-size: 133%;
	line-height: 2.2;
	letter-spacing: 0.2em;
	/* letter-spacing: -0.2em; */
	margin-left: 3.1em;
}
.idx_msg_desc p:last-child {
	margin-left: 0;
}
.idx_msg_desc em {
	color: #e7562c;
}

/*
    09. feature
========================================================================== */
.idx_feat {
	margin: 0 0 7em;
	background-repeat: no-repeat;
	background-position: 50% 6.6em;
	background-size: 92.85% auto;
	background-image: url("../images/top/feat_bg.jpg");
}
.idx_feat .idx_ttl {
	width: 43.9em;
	margin: 0 auto 6.2em;
}
.idx_feat .idx_ttl img {
	aspect-ratio: 659 / 144;
}
/* --------------------------- common */
.idx_feat .idx_inr {
	margin: 0 0 6.2em 41.6em;
	width: 45em;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 5.4em 0.8em;
}
.idx_feat .idx_box {
	display: block;
	position: relative;
	background-color: #fff;
	padding: 2.4em 1.6em 1.6em;
}
.idx_feat_nbr {
	position: absolute;
	width: 12.26em;
	left: 1.6em;
	top: -1.7em;
}
.idx_feat_nbr img {
	aspect-ratio: 184 / 42;
}
.idx_feat_ttl {
	margin: 0 0 1em;
	color: #313131;
}
.idx_feat_ttl span {
	font-size: 160%;
	line-height: 1.7;
}
.idx_feat_ttl em {
	display: inline-block;
	background: linear-gradient(to bottom, transparent 0, transparent 60%, #f3e9d3 60%, #f3e9d3 90%, transparent 90%, transparent 100%);
}
.idx_feat_fig {
	margin: 0 0 1.2em;
}
.idx_feat_fig img {
	aspect-ratio: 280 / 150;
}
.idx_feat .idx_lst {
	color: #333;
}
.idx_feat .idx_lst li {
	font-size: 106.7%;
	background-image: url("../images/top/feat_check.png");
	margin-bottom: 0.2em;
}
.idx_feat_foot_desc {
	margin: 0 6em;
	font-size: 106.7%;
	line-height: 1.8;
}

/*
    10. menu
========================================================================== */
.idx_menu {
	margin: 0 0 7em;
	padding: 7.6em 6.6em 7em 0;
	display: grid;
	grid-template-columns: 1fr 50.13em;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: cover;
	background-image: url("../images/top/menu_bg.jpg");
	min-height: 58.54em;
}
.idx_menu .idx_ttl span {
	display: block;
	width: 32em;
	margin: 0 auto 0 0;
}
.idx_menu .idx_ttl span img {
	aspect-ratio: 480 / 108;
}
.idx_menu_lst {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0.8em 0.8em;
	padding: 1.6em 0 0;
}
.idx_menu_lst a {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 180 / 150;
	background-color: rgba(255,255,255,0.9);
	background-repeat: no-repeat;
	background-position: 100% 100%;
	background-size: 1.66em auto;
	background-image: url("../images/top/menu_arrow.png");
	box-shadow: 0.2em 0.2em 0.2em rgba(67,67,67,0.2);
	text-align: center;
}
.idx_menu_lst a:hover {
	transition: 0.3s;
	opacity: 0.7;
}
.idx_menu_lst a span {
	font-size: 120%;
	line-height: 1.6;
}

/*
    11. treatment 
========================================================================== */
.idx_treat {
	width: 100%;
	margin: 0 0 8.2em;
	overflow: hidden;
}
/* --------------------------- header */
.idx_treat_head {
	margin: 0 0 4.2em;
	padding: 0 8.6em;
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: 0 1.4em;
	background-image: url("../images/top/treat_head_bg.png");
	display: grid;
	grid-template-columns: 46.4em 1fr;
}
.idx_treat_head_fig {
	padding: 1em 0 0;
}
.idx_treat_head_fig img {
	aspect-ratio: 697 / 593;
}
.idx_treat_head_txt {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	color: #3f3f3f;
	min-height: 44em;
}
.idx_treat_head_txt span {
	display: block;
}
.idx_treat_head_txt p:nth-of-type(1) {
	font-size: 186.7%;
	letter-spacing: 0.2em;
	/* letter-spacing: -0.225em; */
	margin-left: 1.6em;
}
.idx_treat_head_txt p:nth-of-type(1) em {
	display: inline-block;
	background: linear-gradient(to right, transparent 0, transparent 60%, rgba(217, 99, 95, 0.3) 60%, rgba(217, 99, 95, 0.3) 100%);
}
.idx_treat_head_txt p:nth-of-type(2) {
	letter-spacing: 0.2em;
	/* letter-spacing: -0.355em; */
	font-size: 333%;
	margin-left: 0.2em;
}
.idx_treat_head_txt p:nth-of-type(2) em {
	font-size: 144%;
	color: #d9635f;
	display: inline-block;
	position: relative;
}
.idx_treat_head_txt p:nth-of-type(2) em::before {
	content: "";
	display: block;
	position: absolute;
	height: calc(100% - 0.8em);
	width: 0.3em;
	top: 0.5em;
	right: -0.25em;
	background-size: auto 1.07em;
	background-repeat: repeat-y;
	background-image: url("../images/top/treat_kntn.png");
}
.idx_treat_head_txt p:nth-of-type(2) em i {
	font-size: 76%;
}
.idx_treat_head_txt h2 {
	font-size: 333%;
	text-align: end;
	line-height: 1.8;
	letter-spacing: 0.08em;
	/* letter-spacing: -0.25em; */
}
.idx_treat_head_txt h2 span:nth-of-type(1) {
	margin-bottom: 2.4em;
}
/* --------------------------- common */
.idx_treat_box {
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 0 0 5em;
	background-repeat: no-repeat;
	background-size: 90.2em auto;
}
.idx_treat_box:nth-of-type(2n - 1) {
	background-position: 0 100%;
}
.idx_treat_box:nth-of-type(2n) {
	flex-direction: row-reverse;
	background-position: 100% 100%;
}
.idx_treat_br{
	background-image: url("../images/top/treat_bg_01.png");
}
.idx_treat_bl{
	background-image: url("../images/top/treat_bg_02.png");
}

.idx_treat_kv {
	width: 34em;
	position: relative;
	z-index: 5;
}
.idx_treat_en {
	mix-blend-mode: multiply;
}
.idx_treat_br .idx_treat_en {
	background-color: #a7997d;
}
.idx_treat_bl.idx_treat_en {
	background-color: #9092a8;
}
.idx_treat_en span {
	display: inline-block;
	font-size: 106.7%;
	color: #fff;
	padding: 0.7em 0 1.2em;
	letter-spacing: 0.1em;
}
.idx_treat_ttl {
	position: relative;
	z-index: 10;
	mix-blend-mode: multiply;
	margin-top: -0.6em;
}
.idx_treat_br .idx_treat_ttl {
	background-color: #572b00;
}
.idx_treat_bl .idx_treat_ttl {
	background-color: #003271;
}
.idx_treat_ttl span {
	display: inline-block;
	font-size: 320%;
	color: #fff;
	padding: 0.04em 0 0.1em;
}
.idx_treat_box:nth-of-type(2n) .idx_treat_ttl span {
	margin-left: auto;
}
.idx_treat_fig {
	width: 30.66em;
}
.idx_treat_box:nth-of-type(2n-1) .idx_treat_fig {
	margin-left: 3.4em;
}
.idx_treat_fig img {
	aspect-ratio: 460 / 450;
}
.idx_treat_sfig {
	position: absolute;
}
.idx_treat_txt {
	flex: 1;
	margin-left: 2.4em;
	color: #333;
	position: relative;
	z-index: 3;
}
.idx_treat_box:nth-of-type(2n-1) .idx_treat_txt {
	margin-left: 2.4em;
}
.idx_treat_catch {
	margin-bottom: 0.8em;
}
.idx_treat_catch span {
	font-size: 147%;
}
.idx_treat_catch .kntn {
	display: inline-block;
	background: top left / 1em 0.3em repeat-x radial-gradient(circle, #333 0.1em, rgba(0,0,0,0) 0.1em) ;
	padding-top: 0.2em;
}
.idx_treat_lead {
	margin-bottom: 1.8em;
}
.idx_treat_lead span {
	display: block;
	font-size: 240%;
}
.idx_treat_br .idx_treat_lead span {
	color: #572b00;
}
.idx_treat_bl .idx_treat_lead span {
	color: #003271;
}
.idx_treat_lead span i {
	font-size: 133%;
}
.idx_treat_desc {
	margin-bottom: 2.8em;
}
.idx_treat_desc p:nth-of-type(1) {
	font-size: 160%;
	margin-bottom: 0.6em;
}
.idx_treat_desc p:nth-of-type(1) em {
	display: inline-block;
	background-repeat: repeat-x;
	background-size: auto 0.43em;
	background-position: 0 100%;
}
/*
.idx_treat_box:nth-of-type(2n-1) .idx_treat_desc p:nth-of-type(1) em {
	background: linear-gradient(to bottom, transparent 0, transparent 60%, rgba(218, 201, 153, 0.67) 60%, rgba(218, 201, 153, 0.67) 100%);
}
.idx_treat_box:nth-of-type(2n) .idx_treat_desc p:nth-of-type(1) em {
	background: linear-gradient(to bottom, transparent 0, transparent 60%, rgba(0,50,113, 0.15) 60%, rgba(0,50,113, 0.15) 100%);
}
*/
.idx_treat_br .idx_treat_desc p:nth-of-type(1) em {
	background-image: url("../images/top/treat_border_01.png");
}
.idx_treat_bl .idx_treat_desc p:nth-of-type(1) em {
	background-image: url("../images/top/treat_border_02.png");
}
.idx_treat_desc p:nth-of-type(2) {
	color: #444;
	font-size: 120%;
}
.idx_treat_box .idx_lst {
	margin-bottom: 3.2em;
}
.idx_treat_box .idx_lst li {
	font-size: 120%;
	color: #505050;
	margin-bottom: 0.7em;
	padding-left: 1.6em;
	background-position: 0 0.3em;
	background-size: 1.1em auto;
}
.idx_treat_br .idx_lst li  {
	background-image: url("../images/top/treat_check_01.png");
}
.idx_treat_bl .idx_lst li  {
	background-image: url("../images/top/treat_check_02.png");
}
.idx_treat .idx_btn a {
	width: 11.73em;
}
.idx_treat .idx_btn img {
	aspect-ratio: 176 / 40;
}
.idx_treat_deco {
	position: absolute;
}
.idx_treat_box:nth-of-type(2n - 1) .idx_treat_deco {
	right: 0;
}
.idx_treat_box:nth-of-type(2n) .idx_treat_deco {
	left: 0;
}
/* --------------------------- treat_01 */
.idx_treat_01 {
	margin: 0 0 5.3em;
}
.idx_treat_01 .idx_treat_en {
	width: 40em;
	padding-left: 3.2em;
}
.idx_treat_01 .idx_treat_ttl {
	padding-left: 3.2em;
	margin-right: 2em;
}
.idx_treat_01 .idx_treat_fig {
	margin: -1.3em 0 0 0;
}
.idx_treat_01 .idx_treat_txt {
	padding-top: 7em;
}
.idx_treat_01 .idx_treat_lead {
	margin-left: -0.6em;
}
.idx_treat_01 .idx_treat_desc {
	margin-left: 2.4em;
}
.idx_treat_01 .idx_lst {
	margin-left: 2.4em;
}
.idx_treat_01 .idx_btn {
	padding-left: 19.8em;
}
.idx_treat_01 .idx_treat_deco {
	width: 24.06em;
	bottom: 1.8em;
}
.idx_treat_01 .idx_treat_deco img {
	aspect-ratio: 361 / 595;
}
/* --------------------------- treat_02 */
.idx_treat_02 {
	margin: 0 0 7.6em;
}
.idx_treat_02 .idx_treat_kv {
	width: 35.6em;
}
.idx_treat_02 .idx_treat_en {
	width: 27.3em;
	padding-right: 3.2em;
	margin: 0 0 0 auto;
	text-align: right;
}
.idx_treat_02 .idx_treat_ttl {
	width: 32em;
	text-align: right;
	padding-right: 2.8em;
	margin: -0.6em 0 0 auto;
}
.idx_treat_02 .idx_treat_fig {
	margin: -0.7em 0 0 0;
	width: 32.2em;
}
.idx_treat_02 .idx_treat_fig img {
	aspect-ratio: 483 / 450;
}
.idx_treat_02 .idx_treat_txt {
	padding: 4em 0 0 16.4em;
}
.idx_treat_02 .idx_treat_catch {
	margin-left: 2em;
}
.idx_treat_02 .idx_treat_catch .kntn::first-letter {
	display: inline-block;
	letter-spacing: 0.1em;
	padding: 0 0.2em;
}
.idx_treat_02 .idx_treat_lead {
	margin-left: 2em;
}
.idx_treat_02 .idx_treat_lead span:nth-of-type(2) {
	margin-left: 5.4em;
}
.idx_treat_02 .idx_lst {
	margin-bottom: 2.4em;
}
.idx_treat_02 .idx_btn {
	padding-left: 11em;
}
.idx_treat_02 .idx_treat_deco {
	width: 18.8em;
	top: 2.4em;
}
.idx_treat_02 .idx_treat_deco img {
	aspect-ratio: 282 / 473;
}
.idx_treat_02 .idx_treat_sfig {
	width: 17.13em;
	bottom: -4em;
	left: -11.2em;
}
.idx_treat_02 .idx_treat_sfig img {
	aspect-ratio: 257 / 256;
}
/* --------------------------- treat_03 */
.idx_treat_03 {
	margin: 0 0 5.4em;
}
.idx_treat_03 .idx_treat_en {
	width: 23em;
	padding-left: 3.2em;
}
.idx_treat_03 .idx_treat_ttl {
	padding-left: 7.4em;
	margin-right: 5.6em;
}
.idx_treat_03 .idx_treat_fig {
	margin: -1.3em 0 0 0;
}
.idx_treat_03 .idx_treat_txt {
	padding-top: 7em;
}
.idx_treat_03 .idx_treat_lead {
	margin-left: -0.6em;
}
.idx_treat_03 .idx_treat_desc {
	margin-left: 2.4em;
}
.idx_treat_03 .idx_lst {
	margin-left: 2.4em;
}
.idx_treat_03 .idx_btn {
	padding-left: 19.6em;
}
.idx_treat_03 .idx_treat_deco {
	width: 24.3em;
	bottom: 1.1em;
}
.idx_treat_03 .idx_treat_deco img {
	aspect-ratio: 365 / 589;
}
/* --------------------------- treat_04 */
.idx_treat_04 .idx_treat_en {
	width: 27.3em;
	padding-right: 3.2em;
	margin: 0 0 0 auto;
	text-align: right;
}
.idx_treat_04 .idx_treat_ttl {
	width: 32em;
	text-align: center;
	margin: -0.6em 0 0 auto;
}
.idx_treat_04 .idx_treat_fig {
	margin: -0.7em 0 0 0;
}
.idx_treat_04 .idx_treat_txt {
	padding: 4em 0 0 12em;
}
.idx_treat_04 .idx_treat_catch {
	margin-left: -2.8em;
}
.idx_treat_04 .idx_treat_lead {
	margin-left: -2.8em;
}
.idx_treat_04 .idx_treat_lead span:nth-of-type(2) {
	margin-left: 3.2em;
}
.idx_treat_04 .idx_lst {
	margin-bottom: 2.4em;
}
.idx_treat_04 .idx_btn {
	padding-left: 16em;
}
.idx_treat_04 .idx_treat_deco {
	width: 24.4em;
	right: -3em !important;
	top: 4em;
}
.idx_treat_04 .idx_treat_deco img {
	aspect-ratio: 732 / 875;
}
.idx_treat_04 .idx_treat_sfig {
	width: 18.8em;
	bottom: -3.4em;
	right: -13.4em;
}
.idx_treat_04 .idx_treat_sfig img {
	aspect-ratio: 282 / 282;
}

/*
    12. consultation
========================================================================== */
.idx_consult {
	width: 86.6em;
	margin: 0 auto 5.8em;
	padding: 4.4em 3.2em;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: 50% 0;
	background-image: url("../images/top/consult_bg.jpg");
}

.idx_consult .idx_inr {
	background-color: rgba(255,255,255,0.9);
	padding: 4.2em 4.8em;
	min-height: 38em;
	background-repeat: no-repeat;
	background-size: 27.7em auto;
	background-position: 100% 0;
	background-image: url("../images/top/consult_deco.png");
}
.idx_consult .idx_ttl {
	width: 42.8em;
	margin: 0 auto 1.8em 0;
	color: #572b00;
	border-bottom: 1px solid #572b00;
}
.idx_consult .idx_ttl span {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: 0.6em;
}
.idx_consult .idx_ttl i {
	display: inline-block;
}
.idx_consult .idx_ttl .en {
	font-family: 'Times New Roman', Times, serif;
	font-size: 333%;
	letter-spacing: 0.09em;
}
.idx_consult .idx_ttl .ja {
	font-size: 120%;
	padding-bottom: 0.3em;
	letter-spacing: 0.06em;
}
.idx_consult_lead {
	margin: 0 0 2em;
}
.idx_consult_lead span {
	display: block;
	font-size: 240%;
	color: #4c3d30;
}
.idx_consult_desc p {
	font-size: 120%;
	color: #4b4b4b;
}
.idx_consult_desc p + p{
	margin-top: 1.6em;
}
.idx_consult_fig {
	position: absolute;
	width: 34.26em;
	top: 2.4em;
	right: 2.4em;
}
.idx_consult_fig img {
	aspect-ratio: 514 / 488;
}
.idx_consult .idx_btn{
	margin-top: 2.4em;
  /* margin-left: 26em; */
}
.idx_consult .idx_btn a{
	width: 11.71em;
}

/*
    13. photo gallery
========================================================================== */
.idx_gallery {
	width: 80.2em;
	margin: 0 auto 4.8em;
	display: flex;
	justify-content: space-between;
}
.idx_gallery .idx_ttl {
	width: 28.53em;
	margin: 0 auto 1.1em 0;
}
.idx_gallery .idx_ttl img {
	aspect-ratio: 428 / 111;
}
.idx_gallery_en {
	width: 27.13em;
	position: absolute;
	bottom: 2.5em;
	right: 0;
}
.idx_gallery_en img {
	aspect-ratio: 407 / 133;
}
/* ---------------------------------- slider */
.idx_gallery_fig {
	width: 51.26em;
	position: relative;
}
.idx_gallery_fig .idx_gallery_slider img {
	aspect-ratio: 769 / 514;
}
.idx_gallery_slider::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	pointer-events: none;
	border: 1px solid #ae8b53;
	right: -1.1em;
	top: -1.1em;
}
/* ---------------------------------- dot */
.idx_gallery_fig .slick-dots {
	position: absolute;
	top: -4em;
	right: -1em;
	margin: 0;
	padding: 0;
	text-align: right;
}
.idx_gallery_fig .slick-dots li {
    width: 1em;
    height: 1em;
    margin: 0 0.3em;
    padding: 0;
}
.idx_gallery_fig .slick-dots li button:before {
	font-size: max(calc((13 / 1400) * 100vw), calc(13px * 0.97));
	color: #dacaab;
	opacity: 1;
}
.idx_gallery_fig .slick-dots li.slick-active button:before {
	color: #8d7453;
}
/* ---------------------------------- thumbnail */
.idx_gallery_thumb_wrp {
	width: 25.6em;
	padding: 12.3em 0 0;
}
.idx_gallery_thumb {
	overflow: hidden;
	position: relative;
}
.idx_gallery_thumb .slick-list {
	width: 62.5em !important;
}
.idx_gallery_thumb .slick-track {
	transform: unset !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap !important;
}
.idx_gallery_thumb_box {
	width: 12.5em !important;
	margin: 0 0.6em 0.6em 0;
	background: #b9b9b9;
	cursor: pointer;
}
.idx_gallery_thumb_box img {
	opacity: 0.3;
	transition: 0.3s;
	aspect-ratio: 188 / 122;
}
.idx_gallery_thumb .slick-current img {
	opacity: 1;
}

/*
    14. pub(nees, schedule) 
========================================================================== */
.idx_pub {
	margin: 0 0 5em;
	padding: 6em 3.3em 6.4em;
	display: flex;
	justify-content: space-between;
	background-color: #f2edea;
}

.idx_pub .idx_box:first-of-type:last-of-type{
	width: 60.67em;
	margin:-4em auto -4.2em;
}
.idx_pub .idx_box {
	width: 42.67em;
	padding: 3em 2.6em 3.2em;
	background-color: #fff;
}
.idx_pub .idx_ttl {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: max(0.2em, 3px) double #2c4166;
	margin: 0 0 1.8em;
	padding: 0 0.5em 0.5em;
}
.idx_pub .idx_ttl span {
	display: block;
	color: #2e2e2e;
}
.idx_pub .idx_ttl .en {
	font-size: 258%;
	font-family: 'Times New Roman', Times, serif;
	text-transform: uppercase;
	line-height: 1.2;
}
.idx_pub .idx_ttl .ja {
	font-size: 133.3%;
	padding: 0 0 0.1em;
}
/* ---------------------------------- blog */
.idx_pub_blog_lst {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
	row-gap: 1.1em;
	margin: 0 0 2.4em;
}
.idx_pub_blog_box {
	display: grid;
	grid-template-columns: 12em auto;
	column-gap: 1.6em;
	color: #333;
	margin-left: 1.2em;
}
.idx_pub_blog_fig {
	grid-column: 1 / 2;
	grid-row: 1 / 3;
}
.idx_pub_blog_fig img {
	aspect-ratio: 180 / 100;
}
.idx_pub_blog_date {
	grid-column: 2 / 3;
	grid-row: 1 / 2;
	font-size: 120%;
	color: #578ad6;
	margin: 1em 0 0;
}
.idx_pub_blog_ttl {
	grid-column: 2 / 3;
	grid-row: 2 / 3;
	font-size: 106.7%;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;	
}
.idx_pub_blog_btn {
	grid-column: 2 / 3;
	grid-row: 3 / 4;
	text-align: right;
	margin: 0.5em 0 0;
}
.idx_pub_blog_btn a {
	display: inline-block;
	font-size: 89.2%;
	padding: 0 0 0 1.5em;
	border-bottom: 1px solid #545454;
	background-repeat: no-repeat;
	background-position: 0.2em 50%;
	background-size: 0.53em auto;
	background-image: url("../images/top/pub_news_arrow.png");
}
.idx_pub_blog .idx_btn {
	width: 13.13em;
	margin: 0 auto;
}
.idx_pub_blog .idx_btn img {
	aspect-ratio: 197 / 41;
}
/* ---------------------------------- schedule */
.idx_pub_sche_calendar iframe {
	width: 100%;
	min-height: 446px;
	aspect-ratio: 559 / 446;
}

/*
    15. access
========================================================================== */
 .idx_accs {
	margin: 0 0 5em;
	padding: 0 3.2em;
}
.idx_accs .idx_ttl {
   text-align: center;
   font-family: 'Times New Roman', Times, serif;
   margin: 0 0 3.2em;
   line-height: 1;
}
.idx_accs .idx_ttl span {
   font-size: 267%;
   color: #2e2e2e;
}
.idx_accs .gmap {
	margin: 0 0 1em;
}
.idx_accs .gmap::before {
   content: "";
   display: block;
   position: absolute;
   width: 1px;
   height: 4.2em;
   background: #2e2e2e;
   top: -2.4em;
   left: 50%;
}
.idx_accs .gmap iframe {
   aspect-ratio: 1300 / 500;
}
.idx_accs .idx_btn {
	text-align: right;
}
.idx_accs .idx_btn {
	font-size: 120%;
	padding-right: 1.5em;
	background-repeat: no-repeat;
	background-image: url("../images/top/accs_arrow.png");
	background-size: 1.3em auto;
	background-position: 100% 50%;
	letter-spacing: 0.1em;
}
/* --------------------------- google map */
.gmap {
	width: 100%;
	position: relative;
	margin: 0;
	background: #fff;
}
.gmap iframe {
	width: 100%;
	aspect-ratio: 1400 / 505;
	vertical-align: top;
	border: 0 none;
	/*
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
	*/
}
