@charset "UTF-8";

@import url("./wp/free_area.css");

/*ページ内共通
---------------------------------------------------------*/
.p-bg--white {background: #fff;}

/*heading*/
.p-heading--en-ja {
	text-align: center;
	color: var(--color-navy);
	margin-bottom: var(--gap-60);
}
.p-heading--en-ja .u-ft-min {
	font-size: 1.8rem;
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-top: .5em;
}

/*link*/
.p-link-circle {
	text-align: center;
	line-height: 1.4em;
	max-width: 11em;
}
.p-link-circle a {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background: var(--color-blue);
	color: #fff;
	position: relative;
}
.p-link-circle a:hover {
	background: var(--color-navy);
}
.p-link-circle p {
	display: block;
	padding-bottom: 2.0em;
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-40%);
}
.p-link-circle p::before {
	font-family: 'fontello';
	content: '\e803';
	font-weight: normal;
	position: absolute;
	margin: auto;
	right: 0;
	left: 0;
	bottom: 0;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.p-link-circle {
	max-width: 100%;
}
.p-link-circle a {
	width: 100%;
	aspect-ratio: auto;
	padding: .8em 0;
	border-radius: .3em;
}
.p-link-circle p {
	display: inline-block;
	position: relative;
	left: auto;
	right: auto;
	top: auto;
	transform: none;
	padding-right: 1.5em;
	padding-bottom: 0;
}
.p-link-circle p::before {
	font-size: 80%;
	margin: 0;
	right: 0;
	left: auto;
	bottom: 50%;
	transform: translateY(50%);
}
}



/*メインイメージ
---------------------------------------------------------*/
.l-fv {
	background: #fff;
	padding-bottom: var(--gap-100);
}
.l-fv__wrap {
	width: 100%;
	height: 100vh;
}
.l-fv__wrap .fv__slider {
	position: relative;
	z-index: 0;
}
.l-fv .c-slash__outer {
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.fv__copy {
	position: absolute;
	z-index: 3;
	left: 4%;
	top: 55%;
	transform: translateY(-50%);
}
.l-fv__wrap .fv__point {
	position: absolute;
	z-index: 2;
	left: 0;
	bottom: 0;
}

/*fv__img*/
.fv__img {
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
}
.fv__img::before {
	content: "";	/*グラデ：青*/
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: #415B8F;
	background: linear-gradient(0deg,rgba(65, 91, 143, 0) 30%, rgba(65, 91, 143, 0.7) 100%);
}
.fv__img::after {
	content: "";	/*グラデ：白*/
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 12%;
	left: 0;
	bottom: -1px;
	background: linear-gradient(0deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
}
.fv__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.fv__img.--port {display: none;}

/*fv__copy*/
.fv__copy {
	text-align: left;
	color: #fff;
	font-size: min(var(--fs-base),2.0vh);
}
.fv__copy-catch {
	font: var(--font-min);
	font-size: 382%;
	letter-spacing: .1em;
	line-height: 1.2em;
	text-shadow: 0px 0px 20px rgba(14, 64, 137, 1);
}
.fv__copy-catch .fs-ss {
	display: block;
	font-size: 43%;
	letter-spacing: .1em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
.fv__copy-catch .fs-ss span {
	font-size: 96%;
	letter-spacing: .1em;
	line-height: 1.2em;
}
.fv__copy-catch .fs-s {
	font-size: 95%;
	letter-spacing: .1em;
	line-height: 1.2em;
}
.fv__copy-txt {
	font-size: 110%;
	line-height: 1.6em;
	margin-top: 1.0em;
	text-shadow: 0px 0px 20px rgba(14, 64, 137, 1);
}

/*fv__point*/
.fv__point {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	text-align: center;
	color: var(--color-navy);
	font-size: var(--fs-14);
	line-height: 2.0em;
}

/*fv内*/
.l-fv__wrap .fv__point-unit {
	position: relative;
	z-index: 1;
	padding-bottom: min(40px,3vh);
}
.l-fv__wrap .fv__point-unit::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: 80%;
	left: 0;
	bottom: 0;
	background: rgba(170,192,250,0.4);
}
.l-fv__wrap .fv__point-unit.--implant::before {background: rgba(191,194,217,0.4);}
.l-fv__wrap .fv__point-unit.--perio::before {background: rgba(205,197,240,0.4);}

/*fv外*/
.fv__detail .fv__point-unit {
	padding: 0 12%;
	background: linear-gradient(0deg,rgba(170, 192, 250, 0) 0%, rgba(170, 192, 250, 0.4) 100%);
}
.fv__detail .fv__point-unit.--implant {background: linear-gradient(0deg,rgba(191,194,217, 0) 0%, rgba(191,194,217, 0.4) 100%);}
.fv__detail .fv__point-unit.--perio {background: linear-gradient(0deg,rgba(205,197,240, 0) 0%, rgba(205,197,240, 0.4) 100%);}

/*spのみ表示*/
.fv__detail .fv__point-img,
.fv__detail .fv__point-title,
.fv__detail .fv__point-lead {
	display: none;
}

/*fv内外共通*/
.fv__point-img {
	position: relative;
}
.fv__point-img div {
	width: min(30%,160px);
	margin-inline: auto;
}
.fv__point-img p {
	font: var(--font-en);
	color: #fff;
	opacity: 0.5;
	font-size: min(6.0rem,4.5vw);
	letter-spacing: normal;
	white-space: nowrap;
	position: absolute;
	z-index: 1;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}
.fv__point-title {
	font: var(--font-min);
	font-size: min(2.7rem,2.3vw);
	letter-spacing: .1em;
	line-height: 1.5em;
	margin-top: .5em;
}
.fv__point-lead {
	font: var(--font-min);
	font-size: min(1.7rem,1.6vw);
	letter-spacing: .1em;
	line-height: 1.5em;
}
.fv__point-txt {
	text-align: left;
}

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

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.fv__copy {
	left: 4%;
	top: 45%;
	transform: translateY(-50%);
}
/*fv__img*/
/*fv__copy*/
.fv__copy {
	font-size: 1.8vw;
}
/*fv__point*/
/*fv内*/
.l-fv__wrap .fv__point-unit {
	padding-bottom: 3vw;
}
/*fv外*/
.fv__detail .fv__point-unit {
	padding: 0 8%;
}
/*fv内外共通*/
.fv__point-img div {
	width: 40%;
}
.fv__point-title {
	font-size: 2.5vw;
}
.fv__point-lead {
	font-size: var(--fs-19);
	margin-top: .5em;
}
}

/* 縦向きの場合
------------------------------------------*/
@media only screen and (max-width: 767px) and (orientation: portrait) {
.fv__img.--land {display: none;}
.fv__img.--port {display: block;}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.l-fv {
	padding-bottom: 0;
}
	
.l-fv,
.l-fv__wrap,
.l-fv__wrap .fv__slider,
.l-fv__wrap .fv__slider .swiper-wrapper,
.l-fv__wrap .fv__slider .swiper-wrapper .swiper-slide,
.l-fv .c-slash__outer {
	min-height: 158vw!important;
}
	
.fv__copy {
	margin: auto;
	left: 0;
	right: 0;
	top: auto;
	transform: translateY(0);
	bottom: 57vw;
}

/*fv__img*/
.fv__img::before {
	height: 100%;	/*グラデ：青*/
	background: linear-gradient(0deg,rgba(65, 91, 143, 0.7) 0%, rgba(84, 115, 181, 0) 70%, rgba(84, 115, 181, 0) 80%, rgba(65, 91, 143, 0.9) 92%);
}
.fv__img::after {
	height: 20%;	/*グラデ：白*/
}

.fv__img img {
	object-position: center bottom;
}
	
/*fv__copy*/
.fv__copy {
	text-align: center;
	font-size: var(--fs-base);
}
.fv__copy-catch {
	font-size: 220%;
}
.fv__copy-catch .fs-ss {
	font-size: 78%;
}
.fv__copy-txt {
	font-size: 100%;
	margin-top: .5em;
}

/*fv__point*/
/*fv内*/
.l-fv__wrap .fv__point-unit {
	padding-bottom: 4vw;
}
.l-fv__wrap .fv__point-unit::before {
	height: 85%;
	background: linear-gradient(0deg,rgba(170, 192, 250, 0) 0%, rgba(170, 192, 250, 0.8) 50%);
}
.l-fv__wrap .fv__point-unit.--implant::before {background: linear-gradient(0deg,rgba(191,194,217, 0) 0%, rgba(191,194,217, 0.8) 50%);}
.l-fv__wrap .fv__point-unit.--perio::before {background: linear-gradient(0deg,rgba(205,197,240, 0) 0%, rgba(205,197,240, 0.8) 50%);}

.l-fv__wrap .fv__point-img div {
	width: 65%;
}
.l-fv__wrap .fv__point-img p {
	display: none;
}
.l-fv__wrap .fv__point-title {
	font-size: 1.7rem;
	letter-spacing: .05em;
}
.l-fv__wrap .fv__point-lead {
	font-size: 1.3rem;
	letter-spacing: .05em;
	margin-top: .2em;
}
/*fv外*/
.fv__detail {
	display: block;
}
.fv__detail .fv__point-unit {
	padding: 8vw 5%;
}
/*spのみ表示*/
.fv__detail .fv__point-img,
.fv__detail .fv__point-title,
.fv__detail .fv__point-lead {
	display: block;
}
.fv__detail .fv__point-img div {
	width: 50%;
}
.fv__detail .fv__point-img p {
	font-size: 5.0rem;
	bottom: -.2em;
}
.fv__detail .fv__point-title {
	font-size: 2.5rem;
}
.fv__detail .fv__point-lead {
	font-size: 1.8rem;
	margin-bottom: 1.2em;
}
}



/*sp-nav
---------------------------------------------------------*/
.sp-nav__area {
	border-top: solid 1px #e8e8e8;
	padding: 1.0em 0 2.5em;
}
.sp-nav__area .c-sp-nav {
	width: var(--content-width);
	margin-inline: auto;
}
.sp-nav__area .js-open-btn{
	position: relative;
}
.sp-nav__area .js-open-box{
	width: 210%;
	display: none;
}



/*concept
---------------------------------------------------------*/
.concept__bg {
	padding-top: var(--gap-170);
	padding-bottom: var(--gap-100);
	position: relative;
	color: #fff;
}
.concept__content h2,
.concept__content dt,
.concept__content dd.concept__txt {
	position: relative;
	z-index: 1;
}
.concept__content{
	position: relative;
}
.concept__content dd.concept__slider-wrap {
	width: min(50vw,730px);
	position: absolute;
	z-index: 0;
	/*left: -5%;*/
	right: min(53vw,680px);
	top: 50%;
	transform: translateY(-42%);
}

/*テキスト*/
.concept__content .u-fs-en140 {
	text-align: right;
	white-space: nowrap;
}
.concept__content dl {
	width: min(50%,560px);
	margin-left: auto;
	margin-right: 0;
}
.concept__content dt {
	font: var(--font-min);
	font-size: var(--fs-38);
	letter-spacing: .1em;
	margin: 1.5em 0 1.0em;
}
.concept__content .c-link-rectangle {
	text-align: right;
}

/*画像*/
.concept__slider-main,
.concept__slider-sub1,
.concept__slider-sub2 {
	overflow: hidden;
	border-radius: 12px;
}
.concept__slider-main {
	width: min(31.25vw,480px);
	height: min(21.9vw,336px);
	margin: var(--gap-100) 0;
	margin-left: auto;
}
.concept__slider-sub1,
.concept__slider-sub2 {
	width: min(26.04vw,400px);
	height: min(18.23vw,280px);
}
.concept__slider-wrap .swiper-slide {
	overflow: hidden;
	width: 100%;
	position: relative;
}
.concept__slider-wrap .swiper-slide span {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	transition: 2.5s;	/*スライドの「speed」と合わせる*/
}
.concept__slider-wrap .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.concept__slider-wrap .swiper-slide[class*=-prev] span {
	transform: translateY(100%);
}
.concept__slider-wrap .swiper-slide[class*=-next] span {
	transform: translateY(-100%);
}

/*背景*/
.concept__slider-bg {
	position: fixed;
	z-index: -10 !important;
	left: 0;
	top: 0;
	width: 100%;
}
.concept__slider-bg .swiper-slide {
	width: 100%;
	height: 100vh;
	position: relative;
}
.concept__slider-bg .swiper-slide::before {
	content: "";
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: var(--color-navy);
	opacity: 0.3;
	mix-blend-mode: multiply;
}
.concept__slider-bg .swiper-slide img {
	position: relative;
	z-index: 0;
	display: block;
	width: 100%;
	height: 100%;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.concept__bg {
	background: #9898a7;
}
.concept__bg .w1120 {
	position: relative;
	z-index: 1;
}
.concept__content{
	position: static;
}
.concept__content dd.concept__slider-wrap {
	position: relative;
	left: auto;
	top: auto;
	right: -50%;
	transform: translateX(-50%);
	width: 100%;
	margin-bottom: var(--gap-60);
}

/*テキスト*/
.concept__content .u-fs-en140 {
	text-align: center;
}
.concept__content dl {
	width: 100%;
}
.concept__content dt {
	text-align: center;
	letter-spacing: .05em;
	margin: 1.0em 0 1.5em;
}
.concept__content .c-link-rectangle {
	text-align: center;
}

/*画像*/
.concept__slider-main,
.concept__slider-sub1,
.concept__slider-sub2 {
	width: 53.33vw;
	height: 37.33vw;
	border-radius: 3vw;
}
.concept__slider-main {
	margin: 0 auto;
}
.concept__slider-sub1 {
	position: absolute;
	right: 85%;
	top: 50%;
	transform: translateY(-50%);
}
.concept__slider-sub2 {
	position: absolute;
	left: 85%;
	top: 50%;
	transform: translateY(-50%);
}

/*背景*/
.concept__slider-bg {
	position: absolute;
	z-index: 0 !important;
}
.concept__slider-bg .swiper-slide {
	height: 100vw;
	overflow: hidden;
}
.concept__slider-bg .swiper-slide::after {
	content: "";
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 25%;
	left: 0;
	bottom: -1px;
	background: linear-gradient(0deg,rgba(152, 152, 167, 1) 0%, rgba(152, 152, 167, 0) 100%);
}
}



/*information
---------------------------------------------------------*/
.info__bg {
	padding-top: var(--gap-150);
	padding-bottom: var(--gap-100);
}

/*info__box*/
.info__box {
	width: min(90%,1160px);
	margin-inline: auto;
	padding-top: var(--gap-100);
	display: none;
}
.info__box.is-active {
	display: block;
}

/*info__list*/
.info__list > li {
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
	margin-bottom: 45px;
}
.info__list > li .c-thum {
	width: min(27%,280px);
}
.info__list > li .info__txt {
	width: min(69%,800px);
}
.info__txt > div {
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	font-size: var(--fs-12);
	letter-spacing: .1em;
}
.info__date {
	font: var(--font-en);
	margin-right: 1.5em;
}
.info__cat span {
	display: inline-block;
	vertical-align: middle;
	background: var(--color-blue);
	font: var(--font-min);
	color: #fff;
	letter-spacing: .1em;
	line-height: 2.0em;
	padding: 0 2.0em;
	border-radius: 5px;
	margin-right: 1.5em;
	transform: translateY(-.2em);
}
.info__txt dt {
	font: var(--font-min);
	font-size: var(--fs-24);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin: .5em 0;
}
.info__txt dt a {
	display: block;
	padding-left: .8em;
	position: relative;
}
.info__txt dt a::before {
	font-family: 'fontello';
	content: '\e800';
	font-size: 25%;
	position: absolute;
	left: 0;
	top: .2em;
}
.info__txt dd {
	line-height: 1.7em;
}
.info__box .c-link-rectangle {
	margin-top: var(--gap-60);
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*info__box*/
/*info__list*/
.info__list > li .c-thum {
	width: 30%;
}
.info__list > li .info__txt {
	width: 66%;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*info__box*/
.info__box {
	width: 100%;
}

/*info__list*/
.info__list > li {
	display: block;
	margin-bottom: var(--gap-80);
}
.info__list > li .c-thum {
	width: 80%;
	margin: 0 auto 1.5em;
}
.info__list > li .info__txt {
	width: 100%;
}
.info__txt dt {
	letter-spacing: .05em;
}
}



/*policy
---------------------------------------------------------*/
.policy__bg {
	background: var(--color-light);
	padding-top: var(--gap-100);
	padding-bottom: var(--gap-100);
	font-size: var(--fs-14);
	line-height: 2.0em;
}
.policy__bg h2 {
	font: var(--font-min);
	font-size: var(--fs-22);
	letter-spacing: .1em;
	margin-bottom: 1.0em;
}
.policy__txt {
	margin-bottom: var(--gap-40);
}
.policy__bnr-list {
	display: flex;
    justify-content:  center;
    flex-wrap: wrap;
	gap: 20px 3.5%;
	margin-bottom: var(--gap-40);
}
.policy__bnr-list li {
	width: 31%;
}
.policy__jidv {
	font-size: var(--fs-12);
	line-height: 2.0em;
}
.policy__jidv dt {
	font-size: var(--fs-17);
	font-weight: bold;
	margin-bottom: 1.0em;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.policy__bg h2 {
	letter-spacing: .05em;
	margin-bottom: 1.0em;
}
.policy__bnr-list {
    justify-content:  space-between;
	gap: 4vw 0;
}
.policy__bnr-list li {
	width: 48.5%;
}
.policy__jidv dd {
	letter-spacing: normal;
	line-height: 1.8em;
}
}



/*reasons
---------------------------------------------------------*/
.reasons__bg {
	padding-top: var(--gap-120);
}
.reasons__heading {
	text-align: center;
	color: var(--color-navy);
}
.reasons__heading::after {
	content: "";
	display: block;
	width: 1px;
	height: 2.0em;
	background: #a3a3a3;
	margin: 2.0em auto 3.0em;
}
.reasons__heading h2 {
	font: var(--font-min);
	font-size: var(--fs-22);
	letter-spacing: .1em;
}

/*reasons__intro*/
.reasons__intro {
	background: var(--color-navy);
	padding-top: var(--gap-150);
	padding-bottom: var(--gap-80);
	font-size: var(--fs-14);
	line-height: 2.0em;
	position: relative;
}
.reasons__intro::before,
.reasons__intro::after {
	content: "";	/*背景*/
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}
.reasons__intro::before {
	background: url("../images/top/reason-bg1.jpg") no-repeat center center;
	background-size: cover;
}
.reasons__intro::after {
	z-index: 1;
	background: #31314F;
	background: linear-gradient(0deg,rgba(49, 49, 79, 1) 0%, rgba(26, 26, 26, 0) 30%);
}
.reasons__intro .w1042 {
	position: relative;
	z-index: 2;
	color: #fff;
	display: flex;
    justify-content: space-between;
    align-items: center;
	flex-direction: row-reverse;
}
.reasons__intro .w1042 .reasons__intro-left {
	width: min(50%,506px);
}
.reasons__intro .w1042 .reasons__intro-right {
	width: min(45%,440px);
}

/*reasons__intro-left*/
.reasons__intro-lead {
	width: min(92%,460px);
	margin-bottom: var(--gap-50);
}
.reasons__intro-left h2 {
	font-weight: bold;
	font-size: var(--fs-19);
	line-height: 1.8em;
	margin-bottom: .6em;
}

/*reasons__intro-right*/
.reasons__intro-menu {
	text-align: center;
	font: var(--font-min);
	font-size: var(--fs-19);
	letter-spacing: .1em;
	line-height: 1.5em;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	position: relative;
}
.reasons__intro-menu li {
	height: 9.5em;
	position: relative;
	z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.reasons__intro-menu::before,
.reasons__intro-menu::after,
.reasons__intro-menu li::before,
.reasons__intro-menu li::after {
	content: "";
	position: absolute;
	width: 1px;
	height: 2.0em;
	background: #fff;
	opacity: 0.2;
}
.reasons__intro-menu::before,
.reasons__intro-menu::after {
	left: 0;
	top: 0;
	transform: translateY(-50%);
}
.reasons__intro-menu::after {
	transform: translateY(-50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(4n-3)::before,
.reasons__intro-menu li:nth-child(4n-3)::after {
	right: 0;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(4n-3)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(4n-2)::before,
.reasons__intro-menu li:nth-child(4n-2)::after {
	right: 0;
	top: 0;
	transform: translateY(-50%);
}
.reasons__intro-menu li:nth-child(4n-2)::after {
	transform: translateY(-50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(4n-1)::before,
.reasons__intro-menu li:nth-child(4n-1)::after {
	left: 0;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(4n-1)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(4n)::before,
.reasons__intro-menu li:nth-child(4n)::after {
	right: 0;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(4n)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(6n)::before,
.reasons__intro-menu li:nth-child(6n)::after {
	display: none;
}
.reasons__intro-menu p::before {
	content: "01";
	position: absolute;
	z-index: -1;
	right: .8em;
	top: .6em;
	text-align: right;
	font: var(--font-en);
	color: #607eba;
	font-size: 242%;
	opacity: 0.6;
}
.reasons__intro-menu li:nth-child(2) p::before {content: "02";}
.reasons__intro-menu li:nth-child(3) p::before {content: "03";}
.reasons__intro-menu li:nth-child(4) p::before {content: "04";}
.reasons__intro-menu li:nth-child(5) p::before {content: "05";}
.reasons__intro-menu li:nth-child(6) p::before {content: "06";}

/*reasons__horizontal*/
.reasons__horizontal {
	background: var(--color-navy);
	color: #fff;
}
.reasons__unit {
	width: min(85%,1226px);
	margin-inline: auto;
	height: 100vh;
	font-size: min(var(--fs-base),2.0vh);	/*高さで調整*/
	text-align: left;
}
.reasons__unit-inner {
	position: absolute;
	margin: auto;
	left: 0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
.reasons__unit-inner .reasons__unit-img {
	width: min(51%,616px);
}
.reasons__unit-inner .reasons__unit-txt {
	width: min(45%,480px);
}

/*reasons__unit-img*/
.reasons__unit-img {
	aspect-ratio: 616 / 690;
	max-height: 80vh;
	overflow: hidden;
}
.reasons__unit-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/*reasons__unit-txt*/
.reasons__unit-txt {
	position: relative;
}
.reasons__unit-no {
	text-align: right;
	font: var(--font-en);
	color: #7f98c8;
	font-size: 94%;
}
.reasons__unit-no::after {
	content: "01";
	color: #758fc3;
	opacity: 0.6;
	font-size: 813%;
	letter-spacing: normal;
	line-height: 1.0em;
	display: inline-block;
	vertical-align: middle;
	margin-left: .15em;
}
.reasons__unit:nth-child(2) .reasons__unit-no::after {content: "02";}
.reasons__unit:nth-child(3) .reasons__unit-no::after {content: "03";}
.reasons__unit:nth-child(4) .reasons__unit-no::after {content: "04";}
.reasons__unit:nth-child(5) .reasons__unit-no::after {content: "05";}
.reasons__unit:nth-child(6) .reasons__unit-no::after {content: "06";}

.reasons__unit h3 {
	text-align: right;
	font: var(--font-min);
	font-size: var(--fs-38);
	letter-spacing: .1em;
	line-height: 1.7em;
	margin-bottom: .6em;
	margin-top: min(60px,2vh);
}
.reasons__unit-link {
	position: absolute;
	z-index: -1;
	right: 0;
	bottom: 0;
	transform: translate(45%,100%);
}
.reasons__unit-link a {
	display: block;
	text-align: center;
	color: #7f98c8;
	font-size: 200%;
	width: 7em;
	height:7em;
	line-height:7em;
	border-radius: 50%;
}
.reasons__unit-link a .icon-arrow2{
	position: relative;
	z-index: 10!important;
}

/*動き*/
.reasons__unit-link a::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	aspect-ratio: 1 / 1;
	border: rgba(127,152,200,0.5) 1px solid;
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	opacity: 0;
}
.reasons__unit-txt:hover .reasons__unit-link a::before {
	animation: circleFade 2s ease;
}
@keyframes circleFade {
	0% {
		width: 0;
		opacity: 0;
	}
	50% {
		opacity: 1;
	}
	100% {
		width: 100%;
		opacity: 0;
	}
}

/*スクロール固定*/
.scroll-wrap {
	height: 600vh;	
}
.scroll-contents {
	position: relative;
	height: 100vh;
}
.scroll-item {
	position: absolute;
	inset: 0;
}
.scroll-item .item_txt > * {
	opacity: 0;
	transition: opacity 1.0s ease-out;
}
.scroll-item.is-active .item_txt > * {
	opacity: 1;
}
.scroll-item .item_txt .reasons__unit-link {
	opacity: 0;
}
.scroll-item:last-of-type .item_txt .reasons__unit-link {
	opacity: 1 !important;
}
.scroll-progress {
	position: absolute;
	z-index: 10;
	left: 3%;
	top: 50%;
	transform: translateY(-50%);
	opacity: 0.4;
}
.scroll-progress li {
	width: 10px;
	height: 1px;
	background: #fff;
	margin: 20px auto;
	transition: transform 0.4s;
}
.scroll-progress li.is-active {
	transform-origin: left center;
	transform: scale(2,1);
}
.scroll-progress li span {
	display: none;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*reasons__intro*/
/*reasons__intro-left*/
.reasons__intro-lead {
	width: 100%;
}
/*reasons__intro-right*/

/*reasons__horizontal*/
.reasons__unit-inner {
    align-items: center;
}
.reasons__unit {
	width: 88%;
	margin-left: 5%;
	right: auto;
}
/*reasons__unit-img*/
/*reasons__unit-txt*/
.reasons__unit-no::after {
	font-size: 700%;
}
.reasons__unit h3 {
	letter-spacing: .05em;
}
/*スクロール固定*/
.scroll-progress {
	top: auto;
	bottom: 3%;
	transform: none;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.reasons__heading::after {
	margin: 1.0em auto 2.0em;
}
.reasons__heading h2 {
	letter-spacing: .05em;
}

/*reasons__intro*/
.reasons__intro {
	padding-bottom: var(--gap-120);
}
.reasons__intro::before,
.reasons__intro::after {
	height: 50vw;	/*背景*/
}
.reasons__intro .w1042 {
	padding-top: 50vw;	/*reasons__intro-lead分空ける*/
	display: block;
}
.reasons__intro .w1042 .reasons__intro-left {
	width: 100%;
}
.reasons__intro .w1042 .reasons__intro-right {
	width: 100%;
	margin-bottom: var(--gap-80);
}

/*reasons__intro-left*/
.reasons__intro-lead {
	width: 80%;
	margin: auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
.reasons__intro-left h2 {
	font-size: var(--fs-22);
}

/*reasons__intro-right*/
.reasons__intro-menu {
	font-size: var(--fs-17);
	letter-spacing: .05em;
	grid-template-columns: repeat(3, 1fr);
}
.reasons__intro-menu li {
	height: 9.5em;
	padding-top: 1.5em;
}
.reasons__intro-menu li:nth-child(6n-5)::before,
.reasons__intro-menu li:nth-child(6n-5)::after {
	left: auto;
	right: 0;
	top: auto;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(6n-5)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(6n-4)::before,
.reasons__intro-menu li:nth-child(6n-4)::after {
	left: auto;
	right: 0;
	top: 0;
	bottom: auto;
	transform: translateY(-50%);
}
.reasons__intro-menu li:nth-child(6n-4)::after {
	transform: translateY(-50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(6n-3)::before,
.reasons__intro-menu li:nth-child(6n-3)::after {
	left: auto;
	right: 0;
	top: auto;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(6n-3)::after {
	transform: translateY(50%) rotate(90deg);
}
	
.reasons__intro-menu li:nth-child(6n-2)::before,
.reasons__intro-menu li:nth-child(6n-2)::after {
	left: 0;
	right: auto;
	top: auto;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(6n-2)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(6n-1)::before,
.reasons__intro-menu li:nth-child(6n-1)::after {
	left: auto;
	right: 0;
	top: auto;
	bottom: 0;
	transform: translateY(50%);
}
.reasons__intro-menu li:nth-child(6n-1)::after {
	transform: translateY(50%) rotate(90deg);
}
.reasons__intro-menu li:nth-child(6n)::before,
.reasons__intro-menu li:nth-child(6n)::after,
.reasons__intro-menu li:nth-child(8n)::before,
.reasons__intro-menu li:nth-child(8n)::after {
	display: none;
}
.reasons__intro-menu p::before {
	margin: auto;	/*数字*/
	left: 0;
	right: 0;
	top: 1.0em;
	text-align: center;
	font-size: 140%;
}

/*reasons__horizontal*/
.reasons__unit {
	width: var(--content-width);
	height: auto;
	font-size: var(--fs-base);
	padding-bottom: var(--gap-100);
}
.reasons__unit:last-of-type {
	padding-bottom: var(--gap-150);
}
.reasons__unit-inner {
	position: static;
	transform: none;
	display: block;
}
.reasons__unit-inner .reasons__unit-img {
	width: 70%;
	margin-inline: auto;
	position: relative;
	z-index: 0;
}
.reasons__unit-inner .reasons__unit-txt {
	width: 100%;
}


.reasons__unit-link a::before {
	display: none;
}

/*reasons__unit-txt*/
.reasons__unit-no {
	font-size: 120%;
	position: relative;
	margin-top: -1.2em;
}
.reasons__unit-no::after {
	font-size: 500%;
}

.reasons__unit h3 {
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.4em;
	margin-top: 0;
}
.reasons__unit-link {
	position: static;
	transform: none;
}
.reasons__unit-link a {
	font-size: 140%;
	width: 3.0em;
	height: 3.0em;
	line-height: 3.0em;
	background: rgba(248,248,250,0.1);
	margin: .5em auto 0;
	box-shadow: none!important
}
.reasons__unit-link a::before,
.reasons__unit-link a::after{
	display: none;
}

/*スクロール固定：解除*/
.scroll-wrap,
.scroll-contents {
    height:auto;
}
.scroll-item {
	position: static;
}
.scroll-item .item_txt > * {
	opacity: 1;
}
.scroll-item .item_txt .reasons__unit-link {
	opacity: 1 !important;
}
.scroll-progress {
	display: none;
}
}



/*special
---------------------------------------------------------*/
.special__bg {
	background: #fbfbfc;
	padding-top: var(--gap-100);
	padding-bottom: min(200px,18vw);
}
.special__heading {
	text-align: center;
	font: var(--font-min);
	color: var(--color-navy);
	font-size: min(3.5rem,3.0vw);
	letter-spacing: .1em;
	line-height: 1.5em;
	margin-bottom: var(--gap-120);
}
.special__heading h2 {
	font-size: 134%;
	line-height: 1.5em;
}
.special__heading h2 .u-ft-en {
	font-size: 130%;
	line-height: 1.5em;
	margin-right: .1em;
}

.special__list {
	width: min(100%,1104px);
	margin-inline: auto;
	display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
	text-align: center;
	color: 	var(--color-blue);
	font-size: min(2.4rem,2.2vw);
	letter-spacing: .1em;
	line-height: 1.7em;
}
.special__list li {
	width: 33.3333%;
	aspect-ratio: 1 / 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
	position: relative;
	z-index: 1;
}
.special__list li:nth-child(1) {
	transform: translateX(100%);
}
.special__list li:nth-child(3) {
	transform: translateX(-100%);
}
.special__list.anime-on li:nth-child(1),
.special__list.anime-on li:nth-child(3) {
	transform: translateX(0%);
}
.special__list .u-ft-en {
	opacity: 0.5;
	font-size: 70%;
	margin-bottom: 1.5em;
}
.special__list svg {
	display: block;
    fill: none;
    stroke: #2a53a3;
    stroke-width: 1;
	opacity: 0.2;
	position: absolute;
	z-index: -1;
	width: 135%;
	height: 135%;
	left: 50%;
	top: 50%;
}
.special__list li:nth-child(1) svg {
	transform: translate(-50%,-50%) rotate(-90deg);
}
.special__list li:nth-child(2) svg {
	transform: translate(-50%,-50%);
}
.special__list li:nth-child(3) svg {
	transform: translate(-50%,-50%) rotate(90deg);
}

/*アニメーション*/
.special__list li {
	transition: all 2.0s cubic-bezier(0.22, 1, 0.36, 1);
}
.special__list li:nth-child(1) {
	transform: translateX(100%);
}
.special__list li:nth-child(3) {
	transform: translateX(-100%);
}
.special__list li div {
	opacity: 0;
	transition: all 1.5s 1.0s linear;
}
.special__list svg {
    stroke-dasharray: 1600px;
    stroke-dashoffset: 1600px;
}
.special__list.anime-on li:nth-child(1),
.special__list.anime-on li:nth-child(3) {
	transform: translateX(0%);
}
.special__list.anime-on li div {
	opacity: 1;
}
.special__list.anime-on svg {
	animation: anm_circle_line 2.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

/*アニメーションの定義*/
@keyframes anm_circle_line {
	0% {stroke-dashoffset: 1600px;}
	100% {stroke-dashoffset: 0px;}
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.special__heading {
	font-size: 3.3vw;
}
.special__list {
	font-size: 2.5vw;
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.special__bg {
	padding-bottom: 20vw;
}
.special__heading {
	font-size: 2.6rem;
	letter-spacing: .05em;
	margin-bottom: 8vw;
}

.special__list {
	font-size: 2.0rem;
	letter-spacing: .05em;
	line-height: 1.5em;
	column-gap: 7%;
}
.special__list li {
	width: 46.5%;
}
.special__list li::before {
	width: 130%;
}
.special__list .u-ft-en {
	font-size: 80%;
	margin-bottom: .8em;
}

/*アニメーション*/
.special__list li:nth-child(1) {
	transform: translate(100%,50%);
}
.special__list li:nth-child(2) {
	transform: translate(-100%,50%);
}
.special__list li:nth-child(3) {
	transform: translate(0%,-50%);
}
.special__list.anime-on li:nth-child(1),
.special__list.anime-on li:nth-child(2),
.special__list.anime-on li:nth-child(3) {
	transform: translate(0%,0%);
}
}



/*p-case
---------------------------------------------------------*/
.p-case {
	background: #fbfbfc;
	padding-bottom: var(--gap-170);
}
.p-case .p-case__bg {
	position: relative;
	z-index: 1;
	padding-top: var(--gap-100);
	padding-bottom: var(--gap-60);
	color: #fff;
}
.p-case .p-case__bg::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100%;
	height: calc(100% + 200px);
	left: 0;
	top: 0;
	background-image: url("../images/top/implant-bg1.jpg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.p-case.--perio .p-case__bg::before {background-image: url("../images/top/perio-bg1.jpg");}
.p-case.--mouth .p-case__bg::before {background-image: url("../images/top/mouth-bg1.jpg");}

/*p-case__heading*/
.p-case__heading {
	text-align: center;
	margin-bottom: var(--gap-40);
}
.p-case__heading .u-fs-en140 {
	color: var(--color-navy);
	opacity: 0.75;
	letter-spacing: normal;
	white-space: nowrap;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%,-40%);
}
.p-case__heading h3 {
	font: var(--font-min);
	font-size: min(4.7rem,4.0vw);
	letter-spacing: .1em;
	line-height: 1.4em;
}

/*p-case__inner*/
.p-case__inner {
	width: min(100%,800px);
	margin-inline: auto;
}
.p-case .c-link-rectangle a {
	color: #fff;
	background: rgba(42,83,163,0.6);
}
.p-case .c-link-rectangle a::after {
	background: transparent;
	border: solid 1px #fff;
	opacity: 0.3;
}
.p-case .c-link-rectangle a:hover::before {
	color: #fff;
}
.p-case .c-link-rectangle a:hover::after {
	opacity: 0.6;
}
.p-case__index {
	text-align: center;
	font: var(--font-en);
	letter-spacing: normal;
	margin-top: var(--gap-40);
}
.p-case__index::before {
	content: "";
	display: block;
	width: 1px;
	height: 2.0em;
	background: #fff;
	margin: 0 auto 1.0em;	
}

/*p-case__content*/
.p-case__content {
	position: relative;
	z-index: 2;
}
.p-case__content-layout {
	display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.p-case__content-layout .c-case__unit {
	width: min(49%,640px);
	padding: var(--gap-60) 5%;
}

.p-case .c-link-under {
	margin-top: 4.0em;
}

/*準備中表示*/
.p-case__comingsoon {
	width: 100%;
	height: min(30vw,200px);
	padding-top: var(--gap-40);
	text-align: center;
	color: #fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.p-case .p-case__bg::before {
	height: calc(100% + 15vw);
}
/*p-case__heading*/
/*p-case__inner*/
/*p-case__content*/
.p-case__content-layout .c-case__unit {
	padding: var(--gap-60) 3%;
}

/*準備中表示*/
.p-case__comingsoon {
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.p-case .p-case__bg {
	background: #93a9d2;
	padding-bottom: 4vw;
}
.p-case .p-case__bg::before,
.p-case .p-case__bg::after {
	content: "";	/*背景：上だけに変更*/
	position: absolute;
	z-index: -2;
	width: 100%;
	height: 70vw;
	left: 0;
	top: 0;
}
.p-case .p-case__bg::after {
	z-index: -1;
	background: linear-gradient(0deg,rgba(147, 169, 210, 1) 0%, rgba(147, 169, 210, 0) 50%);
}
/*p-case__heading*/
.p-case__heading h3 {
	font-size: 3.2rem;
	letter-spacing: .05em;
	line-height: 1.4em;
}

/*p-case__inner*/
.p-case__inner {
	width: 100%;
}
.p-case__index {
	margin-top: var(--gap-80);
}
.p-case__index::before {
	margin-bottom: .5em;
}

/*p-case__content*/
.p-case__content::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 100vw;
	height: 20vw;
	background: #93a9d2;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
}
.p-case__content {
	display: block;
}
.p-case__content-layout .c-case__unit {
	width: 100%;
	padding: 0 0 var(--gap-60);
	margin-bottom: 8vw;
}
.p-case__content-layout .c-case__unit:last-of-type {
	margin-bottom: 0;
}
.p-case .c-link-under {
	margin-top: 2.0em;
}
}



/*service
---------------------------------------------------------*/
.service__bg {
	padding-top: var(--gap-120);
	padding-bottom: var(--gap-60);
}

/*service__main*/
.service__main {
	display: flex;
    justify-content: center;
    flex-wrap: wrap;
	gap: var(--gap-50) 1.4%;
	text-align: center;
	margin-bottom: var(--gap-80);
}
.service__main li {
	width: 15.5%;
	background: url("../images/corner-c.png") no-repeat right bottom;
	background-size: 10px;
}
.service__main a {
	display: block;
	padding-bottom: 1.5em;
}
.service__main-lead {
	background: var(--color-navy);
	font: var(--font-min);
	color: #fff;
	font-size: min(1.4rem,1.7vw);
	letter-spacing: .1em;
	line-height: 1.2em;
	height: 3.5em;
	padding: 0 3%;
    display: flex;
    flex-direction: column;
    justify-content: center;
	position: relative;
}
.service__main-lead::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 11px;
	background: url("../images/fukidashi-navy.png") no-repeat left top;
	background-size: contain;
	left: 0;
	top: calc(100% - 1px);
}
.service__main-icon {
	width: min(60%,100px);
	margin: 1.0em auto;
}
.service__main-menu {
	font: var(--font-min);
	color: var(--color-navy);
	font-size: min(var(--fs-base),1.4vw);
	letter-spacing: .1em;
	line-height: 1.5em;
}

/*service__sub*/
.service__sub {
	display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
	gap: 20px 3.0em;
}
.service__sub .c-link-under {
	margin-top: 0;
}
.service__sub .c-link-under a {
	padding-right: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
/*service__main*/
.service__main {
	column-gap: 2%;
}
.service__main li {
	width: 23.5%;
}
.service__main-lead {
	letter-spacing: .05em;
}
.service__main-icon {
	width: 55%;
	margin: .5em auto;
}
.service__main-menu {
	font-size: 1.8vw;
	letter-spacing: .05em;
}
/*service__sub*/
.service__sub {
	gap: 20px 2.0em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
/*service__main*/
.service__main {
    justify-content: space-between;
	gap: 5vw 0;
	margin-bottom: var(--gap-80);
}
.service__main li {
	width: 49%;
}
.service__main a {
	padding-bottom: 1.0em;
}
.service__main-lead {
	font-size: 1.3rem;
	letter-spacing: .05em;
}
.service__main-icon {
	width: 50%;
	margin: .5em auto;
}
.service__main-menu {
	font-size: var(--fs-17);
	letter-spacing: .05em;
}

/*service__sub*/
.service__sub {
	gap: 1.0em 1.5em;
}
.service__sub .c-link-under a {
	padding-right: 1.0em;
}
}



/*greeting
---------------------------------------------------------*/
.greeting__bg {
	background: var(--color-light);
	padding-top: var(--gap-150);
	padding-bottom: var(--gap-150);
}
.greeting__layout {
	display: flex;
    justify-content: space-between;
}
.greeting__layout .greeting__item.--left {
	width: 28%;
	align-self: flex-start;
}
.greeting__layout .greeting__item.--center {
	width: min(33%,440px);
	align-self: flex-start;
}
.greeting__layout .greeting__item.--right {
	width: min(33%,440px);
	align-self: flex-end;
}

/*greeting__item.--left*/
.greeting__title {
	display: inline-block;
	font: var(--font-en);
	color: var(--color-navy);
	font-size: 2.5rem;
	letter-spacing: normal;
}
.greeting__title::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 1.0em;
	height: 1px;
	background: currentcolor;
	margin-left: .8em;
}
.greeting__bg h2 {
	font: var(--font-min);
	color: var(--color-navy);
	font-size: min(3.8rem,3.0vw);
	letter-spacing: .05em;
	line-height: 1.7em;
	margin: 1.0em 0;
}
.greeting__name {
	font: var(--font-min);
	color: var(--color-navy);
	line-height: 1.0em;
	display: flex;
    align-items: center;
    flex-wrap: wrap;
	column-gap: 1.2em;
}
.greeting__name dd {
	font-size: 130%;
	letter-spacing: .1em;
	line-height: 1.0em;
}

/*greeting__item.--right*/
.greeting__item.--right {
	font-size: var(--fs-14);
	line-height: 2.0em;
}
.greeting__item.--right .c-link-under {
	text-align: left;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.greeting__layout {
    justify-content: center;
    flex-wrap: wrap;
	column-gap: 8%;
	row-gap: 4vw;
}
.greeting__layout .greeting__item.--left {
	width: auto;
	align-self: center;
}
.greeting__layout .greeting__item.--center {
	width: 40%;
	align-self: center;
}
.greeting__layout .greeting__item.--right {
	width: 100%;
}
/*greeting__item.--left*/
.greeting__bg h2 {
	font-size: var(--fs-38);
	letter-spacing: .1em;
}
/*greeting__item.--right*/
.greeting__item.--right .c-link-under {
	text-align: center;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.greeting__layout {
	display: block;
}
.greeting__layout .greeting__item.--left {
	width: 100%;
	text-align: center;
}
.greeting__layout .greeting__item.--center {
	width: 60%;
	margin: var(--gap-50) auto;
}
.greeting__layout .greeting__item.--right {
	width: 100%;
}

/*greeting__item.--left*/
.greeting__title {
	font-size: var(--fs-17);
}
.greeting__title::after {
	display: none;
}
.greeting__bg h2 {
	font-size: var(--fs-38);
	margin: .5em 0;
}
.greeting__name {
	font-size: var(--fs-17);
    justify-content: center;
}

/*greeting__item.--right*/
.greeting__item.--right .c-link-under {
	text-align: center;
}
}



/*movie
---------------------------------------------------------*/
.movie__bg {
	padding-top: var(--gap-80);
	padding-bottom: var(--gap-80);
}
.movie__title {
	font: var(--font-min);
	font-size: var(--fs-22);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.2em;
}

.movie__layout {
	display: flex;
    justify-content: space-between;
    align-items: center;
}
.movie__layout .movie__list {
	width: min(84%,1100px);
}
.movie__layout .p-link-circle {
	width: 14%;
	font: var(--font-en);
	font-size: min(1.5rem,1.6vw);
	letter-spacing: .1em;
}

.movie__list {
	display: flex;
    flex-wrap: wrap;
	gap: var(--gap-40) 3.5%;
}
.movie__list li {
	width: 31%;
}
.movie__list iframe {
	display: block;
	width: 100%;
	aspect-ratio: 560 / 315;
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.movie__title {
	text-align: center;
	letter-spacing: .05em;
}

.movie__layout {
	display: block;
}
.movie__layout .movie__list {
	width: 100%;
}
.movie__layout .p-link-circle {
	width: 100%;
	font-size: var(--fs-15);
	letter-spacing: .05em;
}

.movie__list {
	display: block;
}
.movie__list li {
	width: 100%;
	margin-bottom: var(--gap-40);
}
}



/*place
---------------------------------------------------------*/
.place__bg {
	background: var(--color-navy);
	color: #fff;
	font-size: var(--fs-14);
	line-height: 2.0em;
}
.place__position {
	position: relative;
	z-index: 1;
}
.place__bg .w1200 {
	position: relative;
	text-align: center;
	padding-top: var(--gap-120);
	padding-bottom: var(--gap-120);
}
.place__bg h2 {
	font: var(--font-min);
	font-size: var(--fs-30);
	letter-spacing: .1em;
	line-height: 1.4em;
	margin-bottom: 1.0em;
}
.place__inner {
	width: min(80%,700px);
	margin-inline: auto;
}

/*place__slider*/
.place__slider:not(.swiper-initialized),
.place__slider:not(.swiper-initialized) .swiper-wrapper {
	position: static !important;
	transform: none !important;
}
.place__slider:not(.swiper-initialized) .swiper-slide {
	width: min(25vw,350px);
	height: auto !important;
	position: absolute !important;
	z-index: -2 !important;
}
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(1) {
	left: -14%;
	top: 18%;
	transform: translateX(-14%);
}
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(2) {
	right: -14%;
	top: 12%;
	transform: translateX(14%);
}
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(3) {
	right: -6%;
	bottom: 0;
	transform: translateY(20%);
}

/*place__typography*/
.place__typography {
	font: var(--font-en);
	text-align: left;
	color: #f8f8fa;
	font-size: min(929%,11.1vw);
	letter-spacing: normal;
	position: absolute;
	z-index: -1;
	left: -8%;
	bottom: 5%;
	opacity: 0.4;
}
.place__typography--mie {
	transform-origin: left bottom;
	transform: rotate(90deg) translateX(-100%) translateY(.15em);
}
.place__typography--mie::after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: .2em;
	height: 1px;
	background: currentcolor;
	margin-left: .2em;
	margin-right: .1em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.place__inner {
	width: 100%;
}
/*place__slider*/
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(1) {
	left: 0;
	top: 0;
	transform: translate(-20%,-15%);
}
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(2) {
	right: 0;
	top: 0;
	transform: translate(20%,-15%);
}
.place__slider:not(.swiper-initialized) .swiper-slide:nth-child(3) {
	right: -4%;
	bottom: 0;
	transform: translateY(20%);
}
/*place__typography*/
.place__typography {
	left: 0;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.place__position {
}
.place__bg .w1200 {
	text-align: left;
	padding-bottom: var(--gap-170);
}
.place__bg h2 {
	text-align: center;
	letter-spacing: .05em;
}
.place__inner {
	width: 100%;
}

/*place__slider*/
.place__slider {
	position: relative;
	z-index: -2;
	margin: var(--gap-60) 0 var(--gap-80);
}
.place__slider .swiper-slide {
	width: 50vw;
}

/*place__typography*/
.place__typography {
	font-size: 450%;
	left: 0;
	bottom: 6vw;
}
}



/*faq
---------------------------------------------------------*/
.faq__bg {
	padding-top: var(--gap-120);
	padding-bottom: var(--gap-100);
}
.faq__bg .c-link-rectangle {
	margin-top: var(--gap-50);
}

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

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



/*recruit
---------------------------------------------------------*/
.recruit__bg {
	border-top: solid 1px #d1d1d1;
	padding: var(--gap-60) 0;
}
.recruit__layout {
	width: min(90%,1056px);
	margin-inline: auto;
	position: relative;
}
.recruit__heading,
.recruit__txt {
	width: min(77%,800px);
}
.recruit__heading .u-ft-en {
	color: var(--color-blue);
	font-size: var(--fs-22);
	letter-spacing: .02em;
	margin-bottom: .2em;
}
.recruit__heading h2 {
	font: var(--font-min);
	font-size: var(--fs-38);
	letter-spacing: .1em;
	line-height: 1.6em;
	margin-bottom: .3em;
}
.recruit__txt {
	font-size: var(--fs-14);
	letter-spacing: .1em;
	line-height: 2.0em;
}
.recruit__bg .p-link-circle {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	font: var(--font-min);
	font-size: var(--fs-17);
	letter-spacing: .1em;
	width: 20%;
}
.recruit__bg .p-link-circle span {
	display: block;
	font-size: 130%;
	letter-spacing: .1em;
	line-height: 1.4em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.recruit__heading h2 {
	letter-spacing: .05em;
}
.recruit__txt {
	letter-spacing: .05em;
	line-height: 1.8em;
}
.recruit__bg .p-link-circle {
	letter-spacing: .05em;
}
.recruit__bg .p-link-circle span {
	letter-spacing: .05em;
}
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.recruit__bg {
	padding: var(--gap-100) 0;
}
.recruit__heading,
.recruit__txt {
	width: 100%;
}
.recruit__heading h2 {
	letter-spacing: .05em;
}
.recruit__txt {
	letter-spacing: .05em;
	line-height: 1.8em;
}
.recruit__bg .p-link-circle {
	margin-top: 2.0rem;
	position: relative;
	right: auto;
	top: auto;
	transform: none;
	width: 100%;
}
.recruit__bg .p-link-circle span {
	display: inline-block;
	vertical-align: middle;
	transform: translateY(-.15em);
	margin-right: .5em;
}
}



/*bottom__slider
---------------------------------------------------------*/
.bottom__slider .swiper-slide {
	width: min(50vw,480px);
}

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

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.bottom__slider .swiper-slide {
	width: 70vw;
}
}



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

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

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