@charset "UTF-8";

/*ページ内共通
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) {
#sp-menu_bg {
	display: none !important;
}
}
@media only screen and (max-width: 767px) {
#sp-menu_bg {
	position: fixed;
	z-index: 100;
	width: 100%;
	height: 25vw;
	background: #172F3D;
	background: linear-gradient(0deg,rgba(23, 47, 61, 0) 0%, rgba(0, 0, 0, 0.4) 80%);
}
}



/*メインイメージ
---------------------------------------------------------*/
.l-fv {
	height: 100vh;
}
.l-fv .l-header {
	position: absolute;
}
.l-fv .l-fv__wrap {
	position: relative;
	overflow: hidden;
}

.l-fv__wrap::before,
.l-fv__wrap::after {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	left: 0;
}
.l-fv__wrap::before {
	height: 30%;
	top: 0;
	background: #172F3D;
	background: linear-gradient(0deg,rgba(23, 47, 61, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}
.l-fv__wrap::after {
	height: 25%;
	bottom: 0;
	background: #172F3D;
	background: linear-gradient(180deg,rgba(23, 47, 61, 0) 0%, rgba(0, 0, 0, 0.3) 100%);
}
.l-fv__wrap .fv__slider {
	position: relative;
	z-index: 0;
}
.l-fv__wrap .fv__copy {
	position: absolute;
	z-index: 10;
}

/*fv__slider：レイアウト*/
.fv__slider::before {
	content: "";
	position: absolute;
	z-index: 50;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #000;
}
.fv__slider.--main::before {
	opacity: 0.2;
}
.fv__slider.--sub::before {
	opacity: 0.3;
}
.fv__slider.--main {
	width: calc(100% - 490px);
	margin-left: auto;
	margin-right: 0;
}
.fv__slider.--sub {
	width: 490px;
	height: 100vh;
	position: absolute;
	left: 0;
	top: 0;
}
.fv__slider.--sub .swiper-slide {
	width: 100%;
	height: 400px;	/*縦スライドは高さの指定が必須*/
}

/*fv__slider：メイン*/
.fv__img {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
}
.fv__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.fv__slider.--main,
.fv__slider.--main .swiper-slide {
	overflow: hidden;
}
.fv__slider.--main .swiper-slide[class*=-prev] img,
.fv__slider.--main .swiper-slide[class*=-active] img {
	transform: scale(1.1);
	transition: all 10.0s linear;	/*delayの秒数×2*/
}

/*fv__copy*/
.fv__copy {
	width: min(90%,1200px);
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-30%);
	text-align: left;
	color: #fff;
}
.fv__copy-catch {
	width: min(590px,70vh);
	margin-left: 8%;
}
.fv__copy-txt {
	font-size: min(1.6rem,2.0vh);
	letter-spacing: .14em;
	line-height: 1.6em;
	margin-top: min(70px,5vh);
}

/* 画面高さ：900px以下
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-height: 900px) {
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 959px) and (orientation: portrait) {
}

/* 1536px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1536px) {
.fv__slider.--main {
	width: 68%;
}
.fv__slider.--sub {
	width: 32%;
}
.fv__slider.--sub .swiper-slide {
	height: 25vw;	/*縦スライドは高さの指定が必須*/
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*fv__copy*/
.fv__copy-catch {
	width: 70%;
	margin-left: 0;
}
.fv__copy-txt {
	font-size: var(--fs-14);
	letter-spacing: .1em;
	margin-top: 3%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.l-fv {
	height: auto;
}

/*fv__slider：レイアウト*/
.fv__slider.--main {
	width: 100%;
	aspect-ratio: 390 / 484;
}
.fv__slider.--sub {
	width: 100%;
	height: auto;
	position: relative;
	left: auto;
	top: auto;
}
.fv__slider.--sub::before {
	opacity: 0.4;
}
.fv__slider.--sub .swiper-slide {
	width: 60vw;
	height: auto;
}

/*fv__copy*/
.fv__copy {
	width: 94%;
	top: auto;
	bottom: 13%;
	transform: none;
}
.fv__copy-catch {
	width: 90%;
	margin-left: 0;
}
.fv__copy-txt {
	width: 90%;
	margin-inline: auto;
	font-size: var(--fs-15);
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-top: 3%;
}
}



/*info
---------------------------------------------------------*/
.info {
	position: relative;
	padding: var(--gap-100) 0;
	color: #fff;
}
.info::before {
	content: "";	/*背景*/
	position: absolute;
	z-index: -1;
	width: 100%;
	height: calc(100% + 160px);	/*メインイメージ高さ調整のjsと揃える*/
	left: 0;
	bottom: 0;
	background: #172f3d url("../images/top/bg_info1.jpg") no-repeat center top;
	background-size: 100% auto;
}

.info .fv-point {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	bottom: calc(100% + 10px);
	width: min(96%,1290px);
	display: flex;
    justify-content:  center;
	column-gap: 1.75%;
}
.info .fv-point li {
	width: 18.6%;
	background: #fff;
	border: solid 1px var(--color-gold);
	font: var(--font-min);
	text-align: center;
	color: var(--color-brown);
	font-size: min(2.4rem,2.7vh);
	letter-spacing: -.04em;
	line-height: 1.2em;
	height: 8.2em;
	position: relative;
}
.info .fv-point li::before {
	content: "";
	display: block;
	width: 100%;
	height: 2.6em;
	background: url("../images/top/fv_icon1.png") no-repeat center center;
	background-size: contain;
	position: absolute;
	top: .5em;
}
.info .fv-point li.icon2::before {background-image: url("../images/top/fv_icon2.png");}
.info .fv-point li.icon3::before {background-image: url("../images/top/fv_icon3.png");}
.info .fv-point li.icon4::before {background-image: url("../images/top/fv_icon4.png");}
.info .fv-point li.icon5::before {background-image: url("../images/top/fv_icon5.png");}
.info .fv-point p {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 68%;
	transform: translateY(-50%);
}
.info .fv-point .txt-l {
	font-size: 120%;
	letter-spacing: -.04em;
	line-height: 1.2em;
}
.info .fv-point .txt-s {
	display: block;
	font-size: 65%;
	letter-spacing: -.04em;
	line-height: 1.2em;
}
.info .fv-point .txt-s:first-child {
	margin-bottom: .3em;
}
.info .fv-point .txt-s:last-child {
	margin-top: .3em;
}

.info__layout {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.info__layout-clinic {
	width: 20%;
}
.info__layout-map {
	width: 30%;
}
.info__layout-timetable {
	width: 28%;
}
.info__layout-links {
	width: 14%;
}

.info__layout-clinic dt {
	font-size: var(--fs-22);
	letter-spacing: normal;
	line-height: 1.4em;
	margin-bottom: .5em;
}
.info__layout-clinic .c-link-circle a {
	padding-right: 5.0rem;
}
.info__layout-clinic .c-link-circle a::before,
.info__layout-clinic .c-link-circle a::after {
	width: 3.5rem;
}

.info__layout-links ul {
	width: min(100%,200px);
	margin-inline: auto;
}
.info__layout-links li {
	margin-bottom: 6px;
}
.info__layout-links li:last-child {
	margin-bottom: 0;
}
.info__layout-links .c-cta__btn.--thick a {
	font-size: min(1.6rem,1.3vw);
}

/* 1200px以下
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 1100px) {
.info .fv-point {
	column-gap: 1.25%;
}
.info .fv-point li {
	width: 19%;
	font-size: 2.1vw;
}
.info .fv-point .txt-s {
	font-size: 70%;
}

.info__layout {
	width: min(90%,700px);
	margin-inline: auto;
    justify-content: space-between;
    flex-wrap: wrap;
	row-gap: 6vw;
}
.info__layout-clinic {
	width: 45%;
}
.info__layout-map {
	width: 50%;
}
.info__layout-timetable {
	width: 55%;
}
.info__layout-links {
	width: 40%;
}
.info__layout-links .c-cta__btn.--thick a {
	font-size: var(--fs-16);
}

.info__layout-links li {
	margin-bottom: 10px;
}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.info::before {
	height: calc(100% + 100px);	/*メインイメージ高さ調整のjsと揃える*/
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.info {
	padding: 0 0 var(--gap-120);
}
.info::before {
	height: 100%;	/*背景*/
	bottom: 0;
	background-size: auto 160vw;
}

.info .fv-point {
	margin-top: -10vw;
	position: relative;
	left: auto;
	right: auto;
	bottom: auto;
	width: 94%;
    justify-content: center;
    flex-wrap: wrap;
	gap: 3vw 3%;
}
.info .fv-point li {
	width: 48.5%;
	font-size: 1.7rem;
}
.info .fv-point .txt-s {
	font-size: 70%;
}

.info__layout {
	margin-top: var(--gap-80);
	display: block;
}
.info__layout-clinic,
.info__layout-map,
.info__layout-timetable,
.info__layout-links {
	margin-top: var(--gap-80);
	width: 100%;
}

.info__layout-clinic .c-link-circle {
	text-align: center;
}

.info__layout-links ul {
	width: 100%;
	display: flex;
    justify-content: space-between;
}
.info__layout-links li {
	width: 49%;
	margin: 0;
}
.info__layout-links .c-cta__btn.--thick a {
	font-size: 1.6rem;
}
}



/*greeting
---------------------------------------------------------*/
.greeting {
	padding: min(220px,18vw) 0 var(--gap-150);
}
.greeting .w1276 {
	position: relative;
	z-index: 1;
}
.greeting h2 {
	position: absolute;
	right: 0;
	top: 0;
	transform-origin: right top;
	transform: rotate(90deg) translateX(100%);
}

.greeting__layout {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.greeting__layout-img {
	width: min(46%,580px);
}
.greeting__layout-txt {
	width: min(49%,600px);
}
.greeting__catch {
	width: min(100%,420px);
	margin: 4.0em 0;
}

.greeting__profile {
	width: min(100%,1200px);
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
	gap: 3.0rem 4%;
	margin-bottom: var(--gap-120);
}
.greeting__profile-name {
	display: flex;
    align-items: center;
}
.greeting__profile-name dt {
	font-size: var(--fs-17);
	letter-spacing: .12em;
	line-height: 1.0em;
	margin-right: 1.5em;
}
.greeting__profile-name dd {
	position: relative;
}
.greeting__profile-name dd .u-ft-min {
	display: block;
	color: var(--color-brown);
	font-size: var(--fs-40);
	letter-spacing: .1em;
	line-height: 1.0em;
}
.greeting__profile-name dd .u-ft-en {
	display: block;
	color: #dcdac1;
	font-size: var(--fs-17);
	letter-spacing: .14em;
	white-space: nowrap;
	position: absolute;
	left: 0;
	top: 100%;
	padding-top: 1.0em;
}
.greeting__profile-list {
	line-height: 1.8em;
}
.greeting__profile-list li {
	line-height: 1.8em;
	padding-left: 1.0em;
	position: relative;
	margin-bottom: .3em;
}
.greeting__profile-list li:last-of-type {
	margin-bottom: 0;
}
.greeting__profile-list li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
.greeting__profile-staff {
	padding-left: 5%;
	position: relative;
}
.greeting__profile-staff::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 150%;
	background: var(--color-border);
	left: 0;
	top: 0;
	transform-origin: center top;
	transform: rotate(15deg);
}
.greeting__profile-staff dt {
	font-size: var(--fs-15);
}
.greeting__profile-staff .c-link-circle {
	margin-top: 1.0rem;
}

.greeting__message .u-fs-18 {
	line-height: 2.7em;
}
.greeting__message-ttl {
	font-size: var(--fs-18);
	font-weight: bold;
	letter-spacing: .16em;
	line-height: 1.2em;
	padding-left: 1.5em;
	position: relative;
	margin-bottom: var(--gap-60);
}
.greeting__message-ttl::before {
	content: "";
	position: absolute;
	width: 1px;
	height: 1.2em;
	background: currentcolor;
	left: 0;
	top: -.2em;
	transform-origin: left bottom;
	transform: rotate(30deg);
}
.greeting__message-box1 {
	position: relative;
}
.greeting__message-box1::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: min(50vw,760px);
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: url("../images/top/bg_greeting1.png") no-repeat right center;
	background-size: auto 100%;
}
.greeting__message-box1 > p {
	width: min(65%,800px);
}
.greeting__message-box2 .greeting__box2-img {
	float: left;
	width: 45%;
}
.greeting__message-box2 .greeting__box2-img span {
	display: block;
	width: min(100%,528px);
	margin-left: auto;
	margin-right: 0;
}
.greeting__message-box2 .greeting__box2-txt {
	float: right;
	width: min(50%,620px);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.greeting__catch {
	margin: 2.5em 0;
}

.greeting__profile {
	row-gap: 6vw;
}
.greeting__profile-staff {
	width: 100%;
	padding: 6vw 0 0;
}
.greeting__profile-staff::before {
	width: 40%;
	height: 1px;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: none;
}
.greeting__profile-staff {
	display: flex;
    justify-content: center;
    align-items: center;
	column-gap: 1.5rem;
}
.greeting__profile-staff .c-link-circle {
	margin-top: 0;
}

.greeting__message .u-fs-18 {
	line-height: 2.4em;
}
.greeting__message-box2 .greeting__box2-img {
	float: left;
	margin-right: 4%;
	margin-bottom: 1.5rem;
}
.greeting__message-box2 .greeting__box2-txt {
	float: none;
	width: 100%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.greeting {
	padding: var(--gap-150) 0 var(--gap-120);
}
.greeting h2 {
	position: static;
	transform: none;
	margin-bottom: var(--gap-60);
}
.greeting__inner {
	width: 90%;
	margin-inline: auto;
}
	
.greeting__layout {
	display: block;
}
.greeting__layout-img {
	width: 95%;
	margin-left: -12%;
	margin-bottom: var(--gap-80);
}
.greeting__layout-txt {
	width: 100%;
}
.greeting__catch {
	width: 112%;
	margin: 2.5em 0;
}

.greeting__profile {
	display: block;
}
.greeting__profile-name {
    justify-content: center;
	margin-bottom: var(--gap-100);
}
.greeting__profile-name dd .u-ft-min {
	font-size: 4.0rem;
}
.greeting__profile-name dd .u-ft-en {
	padding-top: .5em;
}
.greeting__profile-staff {
	margin-top: var(--gap-60);
	padding: var(--gap-60);
	text-align: center;
}
.greeting__profile-staff::before {
	width: 50%;
	height: 1px;
	margin: auto;
	left: 0;
	right: 0;
	top: 0;
	transform: none;
}

.greeting__message .u-fs-18 {
	line-height: 2.0em;
}
.greeting__message-box1::before {
	height: 60vw;
	left: 50%;
	top: 0;
	transform: translate(-50%,-65%);
}
.greeting__message-box1 > p {
	width: 100%;
}
.greeting__message-box2 .greeting__box2-img {
	float: none;
	width: 80%;
	margin: 0 auto 2.0rem;
}
.greeting__message-box2 .greeting__box2-txt {
	float: none;
	width: 100%;
}
}



/*treatment
---------------------------------------------------------*/
.treatment__bg {
	background: url("../images/top/bg_treatment1.jpg") no-repeat center top;
	background-size: 100% auto;
	position: relative;
}
.treatment__bg::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(0,13,34,0.4);
}
.treatment .max_1536 {
	position: relative;
	z-index: 1;
	padding-top: var(--gap-170);
	padding-bottom: var(--gap-120);
}

#js-flixed__section {
	position: relative;
}
/* スクロール時 */
#js-flixed__target.pos_abs {
	position: absolute;
	/* topの位置はjsで指定 */
}
#js-flixed__target.pos_fix {
	position: fixed;
	/* topの位置はjsで指定 */
}

.treatment #js-flixed__target {
	/*position: absolute;*/
	z-index: 1;
	width: min(94%,1376px);
	margin: auto;
	left: 50%;
	transform: translateX(-50%);
}
.treatment__content,
.treatment__subject-list {
	position: relative;
	z-index: 5;
}

.treatment__heading {
	padding-top: 30px;
	color: #fff;
}
.treatment__heading h2 {
	font-size: var(--fs-28);
	letter-spacing: .12em;
	line-height: 1.4em;
	margin-top: 1.0em;
}
.treatment__heading h2 span {
	display: block;
	width: min(23vw,350px);
	margin-top: .5em;
}
.treatment__heading-deco {
	position: absolute;
	z-index: -1;
	width: min(38vw,580px);
	top: 70%;
	left: -2%;
}

.treatment__content {
	width: min(70%,920px);
	margin-left: auto;
	margin-right: 0;
}
.treatment__unit {
	background: #fff;
	display: flex;
    justify-content: space-between;
    align-items: center;
	flex-direction: row-reverse;
	position: relative;
	margin-bottom: var(--gap-40);
}
.treatment__unit-img {
	width: 50%;
}
.treatment__unit-txt {
	width: 50%;
}
.treatment__unit .c-link-circle {
	position: absolute;
	z-index: 2;
	right: 5%;
	bottom: 10%;
	margin: 0;
}

.treatment__unit-no {
	position: absolute;
	top: 10%;
	font: var(--font-en);
	color: var(--color-brown);
	font-size: var(--fs-14);
	letter-spacing: normal;
}
.treatment__unit-no::after {
	content: "01";
	font-size: 140%;
	letter-spacing: .14em;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	margin-left: .2em;
}
.treatment__unit:nth-child(2) .treatment__unit-no::after {content: "02";}
.treatment__unit:nth-child(3) .treatment__unit-no::after {content: "03";}
.treatment__unit:nth-child(4) .treatment__unit-no::after {content: "04";}
.treatment__unit:nth-child(5) .treatment__unit-no::after {content: "05";}
.treatment__unit:nth-child(6) .treatment__unit-no::after {content: "06";}

.treatment__unit-img {
	position: relative;
}
.treatment__unit-img .treatment__img-abs {
	width: min(27%,124px);
	position: absolute;
	z-index: 2;
	top: 10%;
	left: 0;
	transform: translateX(-50%);
}

.treatment__unit-txt {
	padding: 4% 5%;
}
.treatment__unit-txt .treatment__txt {
	padding-top: 15%;
}
.treatment__unit-txt .treatment__txt h3 {
	font: var(--font-min);
	color: var(--color-brown);
	font-size: min(2.4rem,1.8vw);
	letter-spacing: .04em;
	line-height: 1.3em;
	margin-bottom: 1.0em;
}
.treatment__unit-txt .treatment__txt h3 .txt-l {
	display: block;
	font-size: 170%;
	letter-spacing: .04em;
	line-height: 1.0em;
	margin-top: .3em;
}
.treatment__unit-txt .treatment__txt h3 .txt-m {
	display: block;
	font-size: 120%;
	letter-spacing: .04em;
	line-height: 1.3em;
	margin-top: .2em;
}
.treatment__unit-txt .treatment__txt h3 .mgn-adjust {
	text-indent: -.5em;
}

.treatment__subject-list {
	width: min(var(--content-width),1488px);
	margin-inline: auto;
	margin-top: var(--gap-60);
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 15px 1%;
}
.treatment__subject-list a {
	background: rgba(0,0,0,0.3);
	text-align: center;
	color: #fff;
	font-size: min(2.4rem,1.8vw);
	letter-spacing: .06em;
	line-height: 1.3em;
	height: 4.5em;
	border-radius: .4em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.treatment__subject-list .is-nospace a {
	letter-spacing: normal;
}
.treatment__subject-list a:hover {
	background: rgba(0,0,0,0.5);
}

.treatment__slider .swiper-slide {
	width: min(50vw,768px);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.treatment__heading h2 {
	letter-spacing: .06em;
}

.treatment__content {
	width: 67%;
}
.treatment__unit-no {
	top: 5%;
}
.treatment__unit-no::after {
	letter-spacing: .1em;
}

.treatment__unit-txt {
	padding: 4% 4%;
	font-size: var(--fs-14);
	line-height: 1.8em;
}
.treatment__unit-txt .treatment__txt {
	padding-top: 15%;
}
.treatment__unit-txt .treatment__txt h3 {
	font-size: 2.3vw;
	line-height: 1.3em;
	margin-bottom: .5em;
}
.treatment__unit-txt .treatment__txt h3 .txt-l {
	font-size: 150%;
	line-height: 1.2em;
	margin-top: .3em;
}
.treatment__unit-txt .treatment__txt h3 .txt-m {
	line-height: 1.2em;
	margin-top: .2em;
}	

.treatment__subject-list {
	grid-template-columns: repeat(4, 1fr);
	gap: 1.4vw 1.4%;
}
.treatment__subject-list a {
	font-size: 2.1vw;
	letter-spacing: .06em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.treatment #js-flixed__target {
	width: 86%;
	position: relative !important;
	left: auto !important;
	transform: none !important;
	margin-bottom: var(--gap-60);
}
.treatment__heading {
	padding-top: 0;
}
.treatment__heading h2 {
	font-size: var(--fs-16);
	margin-top: 3.0em;
}
.treatment__heading h2 span {
	width: 55vw;
	margin-top: .5em;
}
.treatment__heading-deco {
	width: 65vw;
	top: 0;
	left: 30%;
	transform: translateY(-10%);
}

.treatment__content {
	width: var(--content-width);
	margin-left: auto;
	margin-right: auto;
}
.treatment__unit {
	display: block;
	padding-bottom: 3vw;
	margin-bottom: var(--gap-60);
}
.treatment__unit-img {
	width: 100%;
}
.treatment__unit-txt {
	width: 100%;
}
.treatment__unit .c-link-circle {
	position: static;
	margin: 2.0rem;
	text-align: center;
}
.treatment__unit .c-link-circle a {
	color: var(--color-base);
}
.treatment__unit .c-link-circle a::before {
	background-image: url("../images/icon_arrow-b.png");
}
.treatment__unit .c-link-circle a::after {
	border-color: currentColor;
}

.treatment__unit-img  {
	aspect-ratio: 344 / 308;
}
.treatment__unit-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}
.treatment__unit-img .treatment__img-abs {
	width: 25vw;
	top: auto;
	left: auto;
	right: 8%;
	bottom: 0;
	transform: translateY(50%);
}

.treatment__unit-txt {
	padding: 6vw 10% 0;
}
.treatment__unit-no {
	position: static;
}
.treatment__unit-txt .treatment__txt {
	padding-top: 4vw;
}
.treatment__unit-txt .treatment__txt h3 {
	font-size: var(--fs-24);
	line-height: 1.3em;
	margin-bottom: .5em;
}
.treatment__unit-txt .treatment__txt h3 .txt-l {
	font-size: 150%;
	line-height: 1.2em;
	margin-top: .3em;
}
.treatment__unit-txt .treatment__txt h3 .txt-m {
	line-height: 1.2em;
	margin-top: .2em;
}

.treatment__subject-list {
	grid-template-columns: repeat(2, 1fr);
	gap: 2vw 2%;
}
.treatment__subject-list a {
	font-size: var(--fs-18);
}

.treatment__slider .swiper-slide {
	width: 70vw;
}
}



/*diagnosis
---------------------------------------------------------*/
.diagnosis {
	padding-top: var(--gap-170);
	padding-bottom: var(--gap-150);
}

.diagnosis__lead {
	position: relative;
}
.diagnosis__lead-img li {
	position: absolute;
	z-index: -1;
	width: min(20%,236px);
}
.diagnosis__lead-img li:first-child {
	left: 0;
	bottom: 0;
	transform: translateY(10%);
}
.diagnosis__lead-img li:last-child {
	right: 0;
	top: 0;
	transform: translateY(-30%);
}
.diagnosis__lead h2 {
	text-align: center;
	color: var(--color-navy);
	font-size: var(--fs-48);
	letter-spacing: normal;
	line-height: 1.7em;
	margin-bottom: .8em;
}
.diagnosis__lead .u-sp-ta-l {
	width: 60%;
	margin-inline: auto;
}

.diagnosis__flow {
	display: grid;
	grid-template-columns: repeat(3, min(31%,350px));
    justify-content: space-between;	
	font-feature-settings: "halt";
}
.diagnosis__flow li {
	position: relative;
}
.diagnosis__flow dt {
	text-align: center;
	color: var(--color-navy);
	font-size: var(--fs-30);
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
.diagnosis__flow dt::before,
.diagnosis__flow dt::after {
	content: "";	/*数字・罫線*/
	display: block;
	height: 4.5em;
}
.diagnosis__flow dt::before {
	position: relative;	/*数字*/
	z-index: 1;
	aspect-ratio: 1 / 1;
	background: #fff url("../images/top/deco_no01.png") no-repeat center center;
	background-size: 80% auto;
	margin: 0 auto .7em;
}
.diagnosis__flow dt::after {
	position: absolute;	/*罫線*/
	z-index: -1;
	width: 100%;
	border-top: solid 1px var(--color-border);
	left: 0;
	top: 0;
	transform: translateY(50%);
}
.diagnosis__flow > li:first-child dt::after {
	left: 50%;
}
.diagnosis__flow > li:last-child dt::after {
	left: auto;
	right: 50%;
}
.diagnosis__flow > li:nth-child(2) dt::before {
	background-image: url("../images/top/deco_no02.png");
}
.diagnosis__flow > li:nth-child(3) dt::before {
	background-image: url("../images/top/deco_no03.png");
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.diagnosis__lead-img li:first-child {
	transform: translate(-15%,10%);
}
.diagnosis__lead-img li:last-child {
	transform: translate(15%,-30%);
}
.diagnosis__flow dt {
	margin-bottom: .6em;
}
.diagnosis__flow dt::before {
	margin-bottom: .4em;	/*数字*/
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.diagnosis__lead-img {
	width: 80%;
	margin: 0 auto var(--gap-60);
	display: flex;
    justify-content: space-between;
}
.diagnosis__lead-img li {
	position: static;
	transform: none !important;
	width: 48%;
}
.diagnosis__lead-img li:first-child {
	padding-top: 10%;
}
.diagnosis__lead h2 {
	font-size: var(--fs-40);
	line-height: 1.6em;
	margin-bottom: .5em;
}
.diagnosis__lead .u-sp-ta-l {
	width: 100%;
}

.diagnosis__flow {
	display: block;
}
.diagnosis__flow li {
	padding-left: 20vw;
	padding-bottom: var(--gap-80);
}
.diagnosis__flow dt {
	text-align: center;
	font-size: var(--fs-30);
}
.diagnosis__flow dt::before,
.diagnosis__flow dt::after {
	width: 25vw;	/*数字・罫線*/
}
.diagnosis__flow dt::before {
	position: absolute;	/*数字*/
	left: 0;
	top: 0;
	transform: translateY(-35%);
	margin: 0;
}
.diagnosis__flow dt::after {
	height: 100%;	/*罫線*/
	border-top: none;
	border-right: solid 1px var(--color-border);
	left: 0 !important;
	right: auto !important;
	top: 0;
	transform: translateX(-50%);
}
.diagnosis__flow dd {
	position: relative;
	z-index: 5;
	text-align: left;
}
}



/*case
---------------------------------------------------------*/

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}



/*clinic
---------------------------------------------------------*/
.clinic__bg {
	background: #2a3d57;
	position: relative;
	padding-top: var(--gap-100);
	padding-bottom: var(--gap-150);
	color: #fff;
}
.clinic__bg::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: min(60vw,790px);
	height: 100%;
	right: 0;
	top: 0;
	background: url("../images/top/bg_clinic1.jpg") no-repeat right top;
	background-size: 100% auto;
}
.clinic__bg::after {
	content: "";
	position: absolute;
	z-index: 0;
	width: min(45vw,600px);
	height: 100%;
	left: 0;
	bottom: 0;
	background: url("../images/top/bg_clinic2.jpg") no-repeat left bottom;
	background-size: 100% auto;
}
.clinic .w1248 {
	position: relative;
	z-index: 1;
}

.clinic__heading {
	position: relative;
	padding-bottom: var(--gap-80);
	margin-bottom: var(--gap-100);
}
.clinic__heading::before {
	content: "";
	position: absolute;
	width: 100vw;
	height: 1px;
	left: 0;
	bottom: 0;
	background: rgba(255,255,255,0.4);
}
.clinic__heading p {
	font-size: var(--fs-24);
	letter-spacing: normal;
	line-height: 1.4em;
}
.clinic__heading h2 {
	font-size: var(--fs-48);
	letter-spacing: normal;
	line-height: 1.5em;
	margin-top: .2em;
}

.clinic__slider-layout {
	position: relative;
}
.clinic__slider-layout .clinic__slider-main {
	position: relative;
	z-index: 10;
}
.clinic__slider-layout .clinic__slider-sub {
	position: absolute;
	z-index: 0;
	left: 52%;
	bottom: 0;
	width: 50vw;
	overflow: hidden;
}
.clinic__slider-layout .clinic__slider-controller {
	position: absolute;
	right: 0;
	top: 100%;
}
.clinic__slider-main .swiper-slide {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.clinic__slider-main .swiper-slide .clinic__main-img {
	width: min(51%,636px);
}
.clinic__slider-main .swiper-slide .clinic__main-txt {
	width: min(45%,536px);
}
.clinic__main-txt {
	padding-top: 2%;	
	font-feature-settings: "halt";
}
.clinic__main-txt h3 {
	font: var(--font-min);
	font-size: min(4.0rem,3.2vw);
	letter-spacing: normal;
	line-height: 1.4em;
	margin-bottom: .5em;
}
.clinic__slider-sub .swiper-slide {
	width: min(17vw,258px);
}
.clinic__slider-controller {
	display: flex;
    justify-content: flex-end;
    align-items: center;
	column-gap: 20px;
	padding-top: min(30px,2vw);
}
.clinic__slider-controller div {
	width: min(57px,5vw);
	position: relative;
	border-radius: 50%;
	cursor: pointer;
}
.clinic__slider-controller div::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 1px currentcolor;
	left: 0;
	top: 0;
	transition: all 0.4s;
}
.clinic__slider-controller div:hover::before {
	transform: scale(1.15);
	opacity: 0.6;
}
.clinic__controller-prev {
	transform: rotate(180deg);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.clinic__slider-layout .clinic__slider-sub {
	left: 52.5%;
}
.clinic__main-txt {
	padding-top: 0;
	font-size: var(--fs-14);
	line-height: 1.8em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.clinic__bg::before {
	width: 80vw;
}
.clinic__bg::after {
	width: 80vw;
}

.clinic__heading h2 {
	font-size: var(--fs-62);
	letter-spacing: normal;
	line-height: 1.5em;
	margin-top: .2em;
}

.clinic__slider-layout {
	margin-bottom: var(--gap-60);
}
.clinic__slider-layout .clinic__slider-sub {
	left: 93%;
	bottom: auto;
	top: 88vw;	/*メインイメージと大体で揃える*/
	transform: translateY(-100%);
}
.clinic__slider-layout .clinic__slider-controller {
	position: static;
}
.clinic__slider-main .swiper-slide {
	display: block;
}
.clinic__slider-main .swiper-slide .clinic__main-img {
	width: 90%;
}
.clinic__slider-main .swiper-slide .clinic__main-txt {
	width: 100%;
}
.clinic__main-txt {
	padding-top: var(--gap-40);
}
.clinic__main-txt h3 {
	font-size: var(--fs-40);
}
.clinic__slider-sub .swiper-slide {
	width: 45vw;
}
.clinic__slider-controller {
    justify-content: center;
	column-gap: 3vw;
	padding-top: 5vw;
}
.clinic__slider-controller div {
	width: 12vw;
}
}



/*annex
---------------------------------------------------------*/
.annex__bg {
	background: #f7f7f7 url("../images/top/bg_annex1.jpg") no-repeat center bottom;
	background-size: 100% auto;
	padding-top: var(--gap-200);
	padding-bottom: var(--gap-120);
}
.annex__layout {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.annex__layout .annex__layout-img {
	width: min(54%,816px);
}
.annex__layout .annex__layout-txt {
	width: min(42%,610px);
	padding-right: 3%;
}

.annex__layout-img {
	width: min(80%,436px);
	aspect-ratio: 816 / 523;
	position: relative;
}
.annex__layout-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

.annex__txt-img {
	width: min(80%,436px);
	position: relative;
}
.annex__txt-img li {
	position: relative;
	z-index: 1;
}
.annex__txt-img li::before {
	content: "";	/*影*/
	position: absolute;
	width: 120%;
	height: min(40px,6vw);
	left: -10%;
	top: 100%;
	background: url("../images/top/deco_annex-shadow.png") no-repeat center top;
	background-size: 100% 100%;
}
.annex__txt-img li:nth-child(1) {
	width: min(53%,230px);
	position: absolute;
	left: 0;
	top: 0;
	transform: translateY(-50%);
}
.annex__txt-img li:nth-child(2) {
	width: min(42%,180px);
	margin-left: auto;
	margin-right: 0;
}
.annex__txt-lead {
	font-size: var(--fs-24);
	letter-spacing: .1em;
	line-height: 1.7em;
}
.annex__txt-logo {
	width: min(100%,397px);
	margin: var(--gap-50) 0;
}
.annex__layout-txt .c-link-btn {
	text-align: left;
}
.annex__layout-txt .c-link-btn a {
    display: inline-flex;
    flex-direction: row;
    justify-content: center;
	background: #3e352e;
	font-size: min(1.8rem,1.7vw);
	height: 4.2em;
}
.annex__layout-txt .c-link-btn span {
	display: block;
	background: #fff;
	font-family: var(--ff-got);
	color: var(--color-base);
	font-size: 90%;
	font-weight: normal;
	letter-spacing: .12em;
	line-height: 1.8em;
	padding: 0 .8em;
	border-radius: 100vmax;
	margin-right: .8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.annex__layout .annex__layout-img {
	width: 48%;
}
.annex__layout .annex__layout-txt {
	width: 46%;
	padding-right: 3%;
}

.annex__layout-img {
	aspect-ratio: 816 / 816;
}

.annex__txt-lead {
	letter-spacing: .05em;
	line-height: 1.7em;
}
.annex__layout-txt .c-link-btn a {
	display: flex;
	padding-left: 0;
	padding-right: 2.0em;
	font-size: var(--fs-18);
}
.annex__layout-txt .c-link-btn span {
	font-size: 85%;
	letter-spacing: normal;
	margin-right: .5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.annex__bg {
	padding-bottom: 30vw;
}
.annex__layout {
	width: var(--content-width);
	margin-inline: auto;
	display: block;
}
.annex__layout .annex__layout-img {
	width: 100%;
	margin-bottom: var(--gap-60);
}
.annex__layout .annex__layout-txt {
	width: 100%;
	padding-right: 0;
}

.annex__txt-img {
	width: 70%;
	margin-inline: auto;
}
.annex__txt-lead {
	letter-spacing: .05em;
}
.annex__txt-logo {
	width: 95%;
	margin: var(--gap-40) 0;
}
.annex__layout-txt .c-link-btn {
	text-align: center;
}
.annex__layout-txt .c-link-btn a {
	display: flex;
	padding-left: 0;
	padding-right: 2.0em;
	font-size: var(--fs-16);
}
.annex__layout-txt .c-link-btn span {
	letter-spacing: .06em;
}
}



/*difference
---------------------------------------------------------*/
.difference__bg {
	width: 100%;
	height: min(40vw,540px);
	background: url("../images/top/bg_difference1.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
	z-index: 0;
}
.difference__inner {
	width: min(100%,1172px);
	margin-inline: auto;
	position: relative;
	z-index: 1;
	padding: 0 3%;
}
.difference__inner::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: calc(100% + 120px);
	left: 0;
	bottom: 0;
	background: rgba(255,255,255,0.95);
}
.difference__inner h2 {
	text-align: center;
	font-size: var(--fs-48);
	letter-spacing: .06em;
	line-height: 1.4em;
	margin-bottom: .8em;
}
.difference__inner h2 span {
	color: var(--color-gold);
}
.difference__list {
	width: min(100%,944px);
	margin: var(--gap-80) auto var(--gap-60);
	padding: 0 2% var(--gap-60);
	border-bottom: solid 1px var(--color-border);
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
	font-size: var(--fs-20);
	letter-spacing: .08em;
	line-height: 1.6em;
	row-gap: 2.0em;
}
.difference__list li {
	width: 48.5%;
	padding-left: 1.3em;
	position: relative;
}
.difference__list li::before {
	content: "";
	position: absolute;
	width: .9em;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: solid 4px var(--color-gold);
	left: 0;
	top: .4em;
}
.difference__txt-bottom {
	font-size: var(--fs-20);
	font-weight: bold;
	letter-spacing: .08em;
	line-height: 1.6em;
}
.difference__txt-bottom span {
	color: #3e7f92;
}

.difference__slider .swiper-slide {
	width: min(40vw,590px);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.difference__inner {
	padding: 0;
}
.difference__inner::before {
	height: calc(100% + 10vw);
}
.difference__list {
	padding-left: 0;
	padding-right: 0;
	letter-spacing: .04em;
	row-gap: 1.5em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.difference__bg {
	height: 70vw;
}
.difference__inner::before {
	height: calc(100% + 15vw);
}
.difference__inner h2 {
	font-size: var(--fs-40);
	margin-top: -1.4em;
	margin-bottom: .5em;
}
.difference__list {
	display: block;
	font-size: var(--fs-18);
}
.difference__list li {
	width: 100%;
	margin-bottom: .5em;
}
.difference__list li:last-child {
	margin-bottom: 0;
}

.difference__slider .swiper-slide {
	width: 60vw;
}
}



/*faq
---------------------------------------------------------*/
.faq__bg {
	background: #f9f8f9;
	padding-top: var(--gap-150);
	padding-bottom: var(--gap-120);
}
.faq__layout {
	width: min(100%,1100px);
	margin-inline: auto;
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.faq__layout-left {
	width: 19%;
}
.faq__layout-right {
	width: 81%;
}

.faq__heading .u-ft-en {
	font-size: var(--fs-32);
	letter-spacing: .14em;
}
.faq__heading .u-ft-min {
	font-size: var(--fs-18);
	letter-spacing: normal;
	line-height: 1.0em;
	margin-top: 1.0em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.faq__layout {
	display: block;
}
.faq__layout-left {
	width: 100%;
	padding: 0 5%;
	margin-bottom: var(--gap-60);
}
.faq__layout-right {
	width: 100%;
}
.faq__heading .u-ft-en {
	font-size: 3.0rem;
	letter-spacing: .07em;
}
}



/*reservation
---------------------------------------------------------*/
.reservation__bg {
	background: #2a3d57;
	padding-top: var(--gap-120);
	padding-bottom: var(--gap-120);
	color: #fff;
}
.reservation__bg h2 {
	text-align: center;
	font-size: var(--fs-32);
	letter-spacing: normal;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}

.reservation .c-cta__ttl {
	border-color: rgba(255,255,255,0.2);
}

.reservation__first {
	margin: var(--gap-40) 0 var(--gap-50);
	background: #1d2e3d;
	padding: var(--gap-40) 5%;
}
.reservation__first .c-cta__ttl {
	width: min(100%,1058px);
	margin-inline: auto;
}
.reservation__first .c-cta__first-layout {
	column-gap: 8%;
}

.reservation__layout {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.reservation__layout-left {
	width: min(48%,570px);
}
.reservation__layout-right {
	width: 48%;
}
.reservation__layout-left .c-timetable table {
	font-size: var(--fs-19);	/*基準：曜日サイズ*/
	padding: 1.0em 0;
}
.reservation__layout-right .c-cta__ttl {
	width: min(100%,442px);
	margin-inline: auto;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.reservation__first {
	width: 90%;
	margin-inline: auto;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.reservation__first .c-cta__first-layout {
	column-gap: 8%;
}
.reservation__layout {
	display: block;
}
.reservation__layout-left {
	width: 100%;
	margin-bottom: var(--gap-60);
}
.reservation__layout-right {
	width: 100%;
}
.reservation__layout-left .c-timetable table {
	font-size: var(--fs-17);	/*基準：曜日サイズ*/
}
.reservation__layout-right .c-cta__ttl {
	width: 100%;
}
}



/*topics
---------------------------------------------------------*/
.topics__bg {
	background: #eceee8;
	padding-top: var(--gap-150);
	padding-bottom: var(--gap-150);
}
.topics__ttl {
	font-size: var(--fs-16);
	letter-spacing: .1em;
	line-height: 1.4em;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	gap: .5em 1.0em;
	margin-bottom: var(--gap-50);
}
.topics__ttl .u-ft-en {
	font-size: 150%;
	letter-spacing: .14em;
	line-height: 1.4em;
}

.topics__layout-equal {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.topics__layout-equal > div {
	width: 48%;
}

.topics__layout-irregular {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.topics__irregular-unit.--width {
	width: min(65%,820px);
}
.topics__irregular-unit.--narrow {
	width: min(31%,360px);
}

.topics__sns-list li {
	margin-bottom: 20px;
}
.topics__sns-list li:last-child {
	margin-bottom: 0;
}
.topics__sns-btn a {
	display: block;
	background: rgba(255,255,255,0.3);
	border: solid 1px rgba(255,255,255,0.7);
	text-align: center;
	font: var(--font-en);
	font-size: min(2.4rem,2.0vw);
	letter-spacing: .1em;
	padding: 2.0em 0;
	border-radius: .5em;
	position: relative;
}
.topics__sns-btn a:hover {
	color: var(--color-insta);
}
.topics__sns-btn.--fb a:hover {
	color: var(--color-fb);
}
.topics__sns-btn span {
	display: inline-block;
	padding-left: 2.5em;
	position: relative;
}
.topics__sns-btn span::before {
	content: "";
	position: absolute;
	width: 1.8em;
	aspect-ratio: 1 / 1;
	background: url("../images/icon_inst.png") no-repeat center center;
	background-size: contain;
	margin: auto;
	left: 0;
	top: 0;
	bottom: 0;
}
.topics__sns-btn.--fb span::before {
	background-image: url("../images/icon_fb.png");
}
.topics__sns-btn a::before {
	font-family: 'fontello';
	content: '\e801';
	font-weight: normal;
	font-style: normal;
	font-size: 60%;
	position: absolute;
	right: .6em;
	bottom: .6em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.topics__ttl {
	letter-spacing: .05em;
}
.topics__ttl .u-ft-en {
	letter-spacing: .07em;
}

.topics__sns-btn a {
	font-size: 2.2vw;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.topics__ttl {
	letter-spacing: .05em;
}
.topics__ttl .u-ft-en {
	letter-spacing: .07em;
}

.topics__layout-equal {
	display: block;
}
.topics__layout-equal > div {
	width: 100%;
	margin-bottom: var(--gap-80);
}

.topics__layout-irregular {
	display: block;
}
.topics__irregular-unit.--width {
	width: 100%;
	margin-bottom: var(--gap-80);
}
.topics__irregular-unit.--narrow {
	width: 100%;
}

.topics__sns-list {
	display: flex;
    justify-content: space-between;
}
.topics__sns-list li {
	width: 48%;
	margin: 0;
}
.topics__sns-btn a {
	font-size: 2.0rem;
	letter-spacing: .05em;
	padding: 1.0em 0 2.0em;
}
.topics__sns-btn span {
	display: block;
	padding-left: 0;
}
.topics__sns-btn span::before {
	position: static;
	display: block;
	margin: 0 auto .2em;
}
}



/*recruit
---------------------------------------------------------*/
.recruit__bg {
	position: relative;
	margin-bottom: var(--gap-120);
}
.recruit__bg::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 50%;
	left: 0;
	top: -1px;
	background: #eceee8;
}
.recruit__inner {
	width: min(100%,1150px);
	margin-inline: auto;
}

.recruit__img-area {
	position: relative;
}
.recruit__img-area .recruit__sp-slider {
	position: relative;
	z-index: 0;
}
.recruit__img-area .recruit__img-txt {
	position: absolute;
	z-index: 1;
}
.recruit__img-area .recruit__img-link {
	position: absolute;
	z-index: 2;
}

.recruit__sp-slider::before {
	content: "";
	position: absolute;
	z-index: 5;
	width: 100%;
	height: 70%;
	left: 0;
	bottom: 0;
	background: linear-gradient(180deg,rgba(23, 47, 61, 0) 0%, rgba(0, 0, 0, 0.35) 100%);
}
.recruit__sp-slider:not(.swiper-initialized) {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}
.recruit__sp-slider .swiper-slide {
	display: flex;
    justify-content: space-between;
}
.recruit__sp-slider .swiper-slide div {
	width: 50%;
}
.recruit__img-txt {
	text-align: center;
	margin: auto;
	left: 0;
	right: 0;
	bottom: 4%;
}
.recruit__img-txt .u-ft-en {
	color: #fff;
	font-size: min(9.0rem,7.7vw);
	letter-spacing: .1em;
	opacity: 0.55;
	margin-bottom: -.2em;
}
.recruit__img-txt .u-ft-min {
	width: min(100%,640px);
	margin-inline: auto;
}
.recruit__img-area .recruit__img-link {
	right: 2.5%;
	bottom: 0;
	transform: translateY(50%);
}
.recruit__img-area .recruit__img-link a {
	display: block;
	text-align: center;
	font-size: var(--fs-24);
	letter-spacing: .12em;
	line-height: 1.4em;
	width: min(18vw,240px);
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: rgba(255,255,255,0.95);
	border: solid 1px rgba(62,53,46,0.9);
	position: relative;
	transition: all 0.8s;
}
.recruit__img-area .recruit__img-link a:hover {
	transition: all 0.4s;
	background: rgba(173,145,96,0.9);
	border-color: var(--color-gold);
	color: #fff;
}
.recruit__img-area .recruit__img-link p {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.recruit__img-area .recruit__img-link .u-ft-en {
	display: block;
	font-size: 65%;
	letter-spacing: .14em;
	margin-top: 1.5em;
}
.recruit__img-area .recruit__img-link .u-ft-en i {
	font-size: 90%;
	margin-left: .5em;
}

.recruit__point {
	position: relative;
	z-index: 0;
	width: min(82%,900px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}
.recruit__point li {
	padding-right: 26%;
	position: relative;
}
.recruit__point li::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 100%;
	background: var(--color-border);
	right: 13%;
	top: 50%;
	transform: translateY(-50%) rotate(15deg);
}
.recruit__point li:last-child::after {
	display: none;
}

.recruit .c-link-btn.--icon-site span {
	padding-left: 2.2em;
	position: relative;
}
.recruit .c-link-btn.--icon-site span::before {
	content: "";
	position: absolute;
	width: 1.3em;
	aspect-ratio: 1 / 1;
	margin: auto;
	left: 0;
	top: 0;
	bottom: 0;
	background: url("../images/icon_inst.png") no-repeat center center;
	background-size: contain;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.recruit__img-area .recruit__img-link {
	right: 0;
	transform: translate(5%,70%);
}
.recruit__img-area .recruit__img-link a {
	letter-spacing: .06em;
	width: 20vw;
}
.recruit__img-area .recruit__img-link .u-ft-en {
	letter-spacing: .07em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.recruit__bg {
	padding-top: 20vw;
}
.recruit__img-area {
	width: 112%;
	margin-left: -6%;
}
.recruit__sp-slider .swiper-slide.sp-reverse {
	flex-direction: row-reverse;
}
.recruit__img-txt {
	bottom: 3%;
}
.recruit__img-txt .u-ft-en {
	font-size: 4.6rem;
	letter-spacing: .05em;
}
.recruit__img-txt .u-ft-min {
	width: 100%;
}
.recruit__img-area .recruit__img-link {
	right: 2.5%;
	bottom: 100%;
	transform: translateY(50%);
}
.recruit__img-area .recruit__img-link a {
	font-size: var(--fs-20);
	letter-spacing: .06em;
	width: 45vw;
}
.recruit__img-area .recruit__img-link .u-ft-en {
	letter-spacing: .07em;
}

.recruit__point {
	width: 100%;
	grid-template-columns: 42% 42%;
    justify-content: space-between;
	row-gap: var(--gap-40);
}
.recruit__point li {
	padding-right: 0;
}
.recruit__point li::after {
	right: -20%;
	top: 50%;
	transform: translateY(-50%) rotate(15deg);
}
.recruit__point li:nth-child(even)::after {
	display: none;
}
}



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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
}