@charset "utf-8";

:root {
	--vw: 1vw;
	--main-font-color: #141414;
	--font-gray: #545454;
	--main-color: #56c4f5;
	--main-color-middle: #e5bb9b;
	--main-color-light: #fadeca;
	--main-color-super-light: #eefaff;
	--dark-blue: #202390;
	--default-letter-spacing: 0.1em;
	--max-width: 1200px;
	--inner-padding: 50px;
	--inner-width: calc(var(--max-width) + var(--inner-padding) * 2);
	--over-margin: min(calc((-1 * var(--vw) * 100 + var(--max-width)) / 2),
			calc(-1 * var(--inner-padding)));
	/* noto入れるの忘れない */
	--font-main: YakuHanJPs, "Noto Sans JP", "メイリオ", "Meiryo", "Hiragino Kaku Gothic ProN",
		"ヒラギノ角ゴ ProN W3", Hiragino Sans, "Osaka", "MS PGothic", -apple-system,
		BlinkMacSystemFont, arial, helvetica, sans-serif;
	--font-min: YakuHanMPs;
	--font-maru: YakuHanRPs, "Zen Maru Gothic", sans-serif;
	--font-en: "Plus Jakarta Sans", sans-serif;
}

/*共通*/
.catch_copy,
.flow_arrow_box .tl,
.flow_arrow_box .tl_block .step p,
#under .catch,
.m_col_ttl,
.reason_line_text_ttl,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-maru);
}

.img_bg_block {
	padding: 13vw 0;
}

/*その他の追加変更 ここから*/
.m_ttl01 {
	text-align: center;
	margin-bottom: 8vw;
}

.m_ttl01 .m_ttl01_mini {
	font-size: 1.4rem;
	margin-bottom: 2vw;
}

.m_ttl01 span {
	font-size: 3.7rem;
	letter-spacing: 0.12em;
	display: block;
	color: var(--main-color);
	font-weight: 600;
	font-family: var(--font-en);
	line-height: 1;
}

.m_ttl01 em {
	font-size: 1.6rem;
	letter-spacing: 0.25em;
	display: block;
	color: var(--font-gray);
	font-weight: 500;
	margin-top: 2vw;
	font-family: var(--font-maru);
}

.m_txt p {
	line-height: 1.875;
}

.m_txt p+p {
	margin-top: 1em;
}

.btn01 {
	--btn-height: 13vw;
	--icon-size: 5.4vw;
	--icon-color: var(--dark-blue);
	--border-radius: calc(var(--btn-height) / 2);
	--border-width: 2px;
	--border-color: var(--dark-blue);
	font-size: 1.6rem;
	padding: 3vw 3vw 3vw 5vw;
	background: #fff;
	color: var(--dark-blue);
	letter-spacing: 0.05em;
	line-height: 1.4;
	font-weight: 700;
	gap: 3vw;
	border-radius: var(--border-radius);
	border: var(--border-width) solid var(--border-color);
	min-height: var(--btn-height);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-inline: auto;
	text-decoration: none;
	font-family: var(--font-maru);
}

.btn01:before {
	display: none !important;
}

.btn01:after {
	content: "";
	position: relative;
	border: 0;
	width: var(--icon-size);
	height: auto;
	aspect-ratio: 42/18;
	-webkit-mask: url(../images/icon_arrow.png) center / 100% no-repeat;
	mask: url(../images/icon_arrow.png) center / 100% no-repeat;
	background: var(--icon-color);
	flex-shrink: 0;
}

.btn01 span:before {
	border-radius: var(--border-radius);
	content: '';
	display: block;
	position: absolute;
	top: calc(var(--border-width) * -1);
	left: calc(var(--border-width) * -1);
	width: calc(100% + var(--border-width) * 2);
	height: calc(100% + var(--border-width) * 2);
	z-index: 10;
	background: #fff;
	opacity: 0;
	pointer-events: none;
	border-radius: var(--border-radius);
	transition: 0.5s;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
m_mv
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.m_mv {
	position: relative;
	margin-top: 52px;
}

.m_mv:before {
	content: '';
	display: block;
	position: absolute;
	top: 1.2vw;
	left: 0;
	width: 100%;
	aspect-ratio: 800/780;
	z-index: 1;
	background: url(../images/top/mv_en_sp.png) center bottom / 100% no-repeat;
}

.m_mv img {
	width: 100%;
}

.m_mv_inner {
	position: relative;
}

.m_mv_main {
	aspect-ratio: 800/749;
	overflow: hidden;
	--path: polygon(0% 41.789%, 0% 83.565%, 0.788% 84.379%, 0.788% 84.379%, 1.698% 85.236%, 2.749% 86.042%, 3.934% 86.796%, 5.251% 87.498%, 6.695% 88.144%, 8.263% 88.735%, 9.95% 89.268%, 11.752% 89.742%, 13.666% 90.156%, 15.688% 90.507%, 15.688% 90.507%, 16.677% 90.653%, 17.644% 90.78%, 18.614% 90.89%, 19.615% 90.984%, 20.67% 91.065%, 21.808% 91.133%, 23.052% 91.191%, 24.43% 91.241%, 25.966% 91.284%, 27.688% 91.322%, 27.688% 91.322%, 29.681% 91.367%, 31.439% 91.417%, 33.003% 91.474%, 34.417% 91.542%, 35.722% 91.624%, 36.962% 91.722%, 38.18% 91.839%, 39.418% 91.978%, 40.718% 92.143%, 42.125% 92.336%, 42.125% 92.336%, 43.478% 92.536%, 44.783% 92.741%, 46.079% 92.959%, 47.407% 93.198%, 48.808% 93.466%, 50.321% 93.772%, 51.988% 94.122%, 53.849% 94.526%, 55.943% 94.992%, 58.313% 95.527%, 58.313% 95.527%, 61.003% 96.133%, 63.408% 96.666%, 65.561% 97.132%, 67.5% 97.539%, 69.259% 97.894%, 70.876% 98.203%, 72.384% 98.473%, 73.822% 98.711%, 75.223% 98.924%, 76.625% 99.119%, 76.625% 99.119%, 78.212% 99.325%, 79.663% 99.498%, 81.034% 99.639%, 82.379% 99.752%, 83.753% 99.84%, 85.21% 99.905%, 86.805% 99.951%, 88.592% 99.98%, 90.627% 99.996%, 92.963% 100%, 100% 100%, 100% 0%, 0% 0%, 0% 41.789%);
	-webkit-clip-path: var(--path);
	clip-path: var(--path);
	z-index: 5;
	position: relative;
}

.m_mv_main:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	background: #749aab;
	opacity: 0.4;
}

.m_mv_main video {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 110%;
	height: 55.5vw;
	z-index: 1;
	-webkit-transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
	transform: rotate3d(1, 1, 1, 0.001deg) translate(-50%, -50%);
}

.m_mv_txt {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
}

.m_mv_btns {
	position: absolute;
	z-index: 15;
	bottom: -12vw;
	right: 2vw;
	display: flex;
	align-items: flex-start;
}

.m_mv_btn01 {
	width: 36vw;
	margin-top: 14vw;
	margin-right: -10vw;
}

.m_mv_btn02 {
	width: 29vw;
}

.m_mv_btns:not(:has(.m_mv_btn02)) {
	bottom: -9vw;
}

.m_mv_btns:not(:has(.m_mv_btn02)) .m_mv_btn01 {
	margin-top: 0;
	margin-right: 0;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_info
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_info .img_bg_block {
	padding: 21vw 0 13vw;
}

.t_info_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.t_info_ttl {
	display: flex;
	flex-direction: column;
}

.t_info_ttl span {
	font-size: 2.7rem;
	line-height: 1;
	font-family: var(--font-en);
	font-weight: 600;
	letter-spacing: 0.12em;
	color: var(--main-color);
}

.t_info_ttl em {
	font-size: 2rem;
	line-height: 1;
	font-family: var(--font-maru);
	font-weight: 500;
	letter-spacing: 0.25em;
	margin-top: 2vw;
	color: var(--font-gray);
}

.t_info_btn a {
	--btn-height: 13vw;
	--icon-size: 3vw;
	--icon-color: var(--dark-blue);
	--border-radius: calc(var(--btn-height) / 2);
	--border-width: 2px;
	--border-color: var(--dark-blue);
	font-size: 1.6rem;
	padding: 3vw 3vw 3vw 5vw;
	background: #fff;
	color: var(--dark-blue);
	letter-spacing: 0.05em;
	line-height: 1.4;
	font-weight: 700;
	gap: 3vw;
	border-radius: var(--border-radius);
	border: var(--border-width) solid var(--border-color);
	min-height: var(--btn-height);
	display: flex;
	align-items: center;
	justify-content: center;
	width: fit-content;
	margin-inline: auto;
	text-decoration: none;
}

.t_info_btn a:after {
	content: "";
	position: relative;
	border: 0;
	width: var(--icon-size);
	height: auto;
	aspect-ratio: 42/18;
	-webkit-mask: url(../images/icon_arrow.png) center / 100% no-repeat;
	mask: url(../images/icon_arrow.png) center / 100% no-repeat;
	background: var(--icon-color);
	flex-shrink: 0;
}

.t_info_body {
	margin-top: 9vw;
}

.top_news_block {
	display: flex;
	gap: 50px;
	justify-content: space-between;
}

.top_news_body {
	flex: 1;
	overflow: hidden;
}

.m_newslist {
	display: grid;
	gap: 4vw;
}

.m_newslist_item {
	overflow: hidden;
}

.m_newslist_item_in {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	padding: 0;
	text-decoration: none;
}

.m_newslist_item_in .date {
	margin-right: 0;
	color: var(--main-color);
	letter-spacing: 0.16em;
	font-family: var(--font-en);
	font-size: 1.4rem;
}

.m_newslist_item_in em {
	text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_greeting
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_greeting {
	background: #edfaff url(../images/top/greeting_bg.jpg) center;
	isolation: isolate;
	position: relative;
}

.t_greeting:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 200%;
	aspect-ratio: 1600/50;
	z-index: -1;
	background: url(../images/top/wave01.png) center / 100% no-repeat;
}

.t_greeting .img_bg_block {
	padding: 18vw 0 61vw;
}

.t_greeting .inner {
	position: static;
}

.t_greeting_doctor {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 51.5vw;
}

.t_greeting_doctor02 {
	left: auto;
	right: 3vw;

	.t_greeting_doctor_name {
		top: 7.2vw;
		right: 7.3vw;
	}
}

.t_greeting_doctor_img {
	position: relative;
	z-index: 1;
}

.t_greeting_doctor_name {
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
	flex-direction: column;
	position: absolute;
	z-index: 10;
	top: 15vw;
	right: 7vw;

	.txt01 {
		font-family: var(--font-maru);
		font-weight: 500;
		letter-spacing: 0.44em;
		line-height: 1.3;
		font-size: 1.1rem;
	}

	.txt02 {
		font-family: var(--font-maru);
		font-weight: 500;
		letter-spacing: 0.34em;
		line-height: 1.2;
		font-size: 1.5rem;
	}

	.txt03 {
		font-family: var(--font-en);
		font-weight: 600;
		letter-spacing: 0.12em;
		color: var(--dark-blue);
		font-size: 0.8rem;
		line-height: 1.3;
		margin-right: 1vw;
	}
}

.t_greeting_ttl {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.t_greeting_ttl:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 84%;
	aspect-ratio: 624/214;
	z-index: -1;
	background: url(../images/top/shape_cloud01.png) center / 100% no-repeat;
}

.t_greeting_ttl span {
	font-size: 2.9rem;
	letter-spacing: 0.12em;
	display: block;
	color: var(--main-color);
	font-weight: 600;
	font-family: var(--font-en);
	line-height: 1;
}

.t_greeting_ttl em {
	font-size: 1.5rem;
	letter-spacing: 0.25em;
	display: block;
	color: var(--main-color);
	font-weight: 700;
	margin-top: 1vw;
}

.t_greeting_catch {
	font-size: 2rem;
	letter-spacing: 0.12em;
	display: block;
	font-weight: 500;
	margin-top: 10vw;
	font-family: var(--font-maru);
}

.t_greeting_txt {
	margin-top: 4vw;
}

.t_greeting_btn {
	margin-top: 8vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_medical
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_medical {
	position: relative;
	isolation: isolate;
	z-index: 10;
}

.t_medical:before {
	content: '';
	display: block;
	position: absolute;
	top: 9vw;
	right: -23vw;
	width: 63vw;
	aspect-ratio: 596/462;
	z-index: -1;
	background: url(../images/top/medical_shape01.png) center / 100% no-repeat;
}

.t_medical:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 2vw;
	left: -14vw;
	width: 50vw;
	aspect-ratio: 690/686;
	z-index: -1;
	background: url(../images/top/medical_shape02.png) center / 100% no-repeat;
}

.t_medical .img_bg_block {
	padding: 13vw 0;
}

.t_medical_block {
	display: grid;
	gap: 8vw;
}

.t_medical_item {
	text-decoration: none;
	display: flex;
	position: relative;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 752/480;
}

.t_medical_item_num {
	font-size: 3.3rem;
	letter-spacing: 0;
	display: block;
	color: #87d4f6;
	font-weight: 900;
	font-family: var(--font-en);
	line-height: 1;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.t_medical_item_img {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	filter: drop-shadow(2.5vw 2.5vw 0px rgba(0, 0, 0, 0.07));
}

.t_medical_item_ttl {
	position: relative;
	z-index: 10;
	width: fit-content;
	padding: 1.1vw 5vw 1.7vw 5vw;
	border-radius: 0 10vw 10vw 0;
	background: #fff;
	filter: drop-shadow(0px 0px 1.5vw rgba(0, 0, 0, 0.2));
	font-size: 2.2rem;
	letter-spacing: 0.15em;
	display: block;
	color: var(--font-gray);
	font-weight: 500;
	margin-top: 0;
	font-family: var(--font-maru);
}

.t_medical_item_txt {
	line-height: 1.5;
	display: flex;
	padding: 2.3vw 5vw 0 5vw;
	height: 16.8vw;
	position: relative;
	z-index: 10;
	display: flex;
	margin-top: 3.6vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_exam
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_exam {
	background: #90d5f4 url(../images/top/exam_bg_sp.jpg) center bottom / 100% no-repeat;
	isolation: isolate;
	position: relative;
	z-index: 9;
}

.t_exam:before {
	content: '';
	display: block;
	position: absolute;
	top: -14vw;
	left: 50%;
	transform: translateX(-50%);
	width: 213.2vw;
	aspect-ratio: 1600/214;
	z-index: -1;
	background: url(../images/top/wave02.png) center / 100% no-repeat;
}

.t_exam:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	aspect-ratio: 1600/140;
	z-index: -1;
	background: url(../images/top/wave03.png) center / 100% no-repeat;
}

.t_exam .img_bg_block {
	padding: 21vw 0 19vw;
}

.t_exam_ttl .m_ttl01_mini {
	color: #fff;
}

.t_exam_ttl span {
	color: #fff;
}

.t_exam_ttl em {
	color: #fff;
}

.t_exam_block {
	display: grid;
	gap: 8vw;
}

.t_exam_item {
	overflow: hidden;
	border: 2px solid #fff;
	border-radius: 3vw;
	display: flex;
	align-items: flex-end;
	position: relative;
	aspect-ratio: 752/1026;
}

.t_exam_item_img {
	height: 100%;
	z-index: 1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.t_exam_item_body {
	width: 100%;
	background: rgba(50, 182, 241, 0.85);
	padding: 8vw 5vw;
	position: relative;
	z-index: 10;
	backdrop-filter: blur(3.4px);
}

.t_exam_item_ttl {
	display: flex;
	flex-direction: column;
	text-align: center;
	justify-content: center;
}

.t_exam_item_ttl .ja {
	font-size: 2.6rem;
	letter-spacing: 0.08em;
	color: #fff;
	font-weight: 500;
	margin-top: 0;
	font-family: var(--font-maru);
}

.t_exam_item_ttl .ja span {
	font-size: 1.5rem;
	line-height: 2.5;
	margin-left: 0.1em;
}

.t_exam_item_ttl .en {
	font-size: 1.5rem;
	letter-spacing: 0.36em;
	color: #fff;
	font-weight: 600;
	font-family: var(--font-en);
	line-height: 1;
	margin-top: 1vw;
}

.t_exam_item_txt {
	margin-top: 5vw;
	color: #fff;
	line-height: 1.5;
}

.t_exam_item_btn {
	margin-top: 5vw;
}

.t_exam_btn {
	margin-top: 8vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_feature
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_feature {
	position: relative;
	isolation: isolate;
}

.t_feature:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.t_feature .img_bg_block {
	padding: 9vw 0 13vw;
}

.t_feature_block {
	display: grid;
	gap: 12vw;
}

.m_feature {
	--img-radius: 3vw;
}

.m_feature img {
	border-radius: var(--img-radius);
}

.m_feature01 {
	.m_feature_head_in {
		display: flex;
		flex-wrap: wrap;
		gap: 4vw;
	}

	.img01 {
		width: 74vw;
		margin-left: auto;
	}

	.img02 {
		width: 46vw;
	}

	.img03 {
		width: 32vw;
	}
}

.m_feature04 {
	.m_feature_head {
		position: relative;
		padding-bottom: 7vw;
	}

	.img01 {
		width: 64vw;
		margin-left: auto;
	}

	.img02 {
		width: 39vw;
		z-index: 11;
		position: absolute;
		bottom: 0;
		left: 0;
	}
}

.m_feature_head {
	position: relative;
	z-index: 10;
}

.m_feature_head :is(figure, picture) {
	position: relative;
	z-index: 10;
}

.m_feature_body {
	margin-top: 3vw;
}

.m_feature_body_ttl {
	display: flex;
	gap: 4vw;
	align-items: center;
}

.m_feature_body_ttl .num {
	font-size: 4rem;
	letter-spacing: 0.12em;
	display: block;
	color: #a6dff8;
	font-weight: 600;
	font-family: var(--font-en);
	line-height: 1;
}

.m_feature_body_ttl .num::first-letter {
	color: #e5e5e5;
}

.m_feature_body_ttl .txt {
	background: url(../images/top/feature_dots.png) left center / 2px no-repeat;
	flex: 1;
	padding: 0 0 0 5vw;
	font-size: 1.9rem;
	letter-spacing: 0.13em;
	display: block;
	color: var(--main-color);
	font-weight: 500;
	font-family: var(--font-maru);
	line-height: 1.6;
}

.m_feature_body_content {
	position: relative;
	isolation: isolate;
	z-index: 1;
	padding: 7vw 0 8vw;
	margin-top: 4vw;
}

.m_feature_body_content:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: -5vw;
	width: 100vw;
	height: 100%;
	z-index: -1;
	background: #effaff;
}

.m_feature_body_catch {
	font-size: 1.8rem;
	letter-spacing: 0.13em;
	display: block;
	color: var(--font-gray);
	font-weight: 500;
	font-family: var(--font-maru);
	line-height: calc(37/21);
}

.m_feature_body_txt {
	margin-top: 5vw;
}

.m_feature_body_btn {
	margin-top: 5vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_ta
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_ta {
	position: relative;
	isolation: isolate;
	background: url(../images/top/time_border.png) center top / 3vw;
	margin-top: 13vw;
}

.t_ta:before {
	content: '';
	display: block;
	position: absolute;
	top: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	aspect-ratio: 1600/50;
	z-index: -1;
	background: url(../images/top/wave04.png) center / 100% no-repeat;
}

.t_ta:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 213.4vw;
	aspect-ratio: 1600/100;
	z-index: -1;
	background: url(../images/top/wave05.png) center / 100% no-repeat;
}

.t_ta .img_bg_block {
	padding: 16vw 0;
}

.t_ta_ttl {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: center;
	text-align: center;
}

.t_ta_ttl:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 84%;
	aspect-ratio: 624/214;
	z-index: -1;
	background: url(../images/top/shape_cloud01.png) center / 100% no-repeat;
}

.t_ta_ttl > span {
	font-size: 2.9rem;
	letter-spacing: 0.12em;
	display: block;
	color: var(--main-color);
	font-weight: 600;
	font-family: var(--font-en);
	line-height: 1;
	padding-top: 1.1vw;
}

.t_ta_ttl > span span {
	font-weight: 400;
	font-size: 2.2rem;
	position: relative;
	top: -0.2em;
}

.t_ta_ttl > em {
	font-size: 1.5rem;
	letter-spacing: 0.25em;
	display: block;
	color: var(--main-color);
	font-weight: 700;
	margin-top: 1vw;
}

.t_ta .m_table_clinic_info {
	margin-top: 14vw;
}

.t_ta .m_table_clinic{
	margin-top: 10vw;
}

.t_ta_body {
	margin-top: 5vw;
}

.t_ta_btn {
	margin-top: 8vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_column
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_column .img_bg_block {
	padding: 13vw 0 10vw;
}

.t_column_btn {
	margin-top: 8vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
t_contact
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/
.t_contact {
	position: relative;
	isolation: isolate;
	background: url(../images/top/contact_bg_sp.jpg) center / cover no-repeat;
}

.t_contact:before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	aspect-ratio: 1600/100;
	z-index: -1;
	background: url(../images/top/wave06.png) center / 100% no-repeat;
}

.t_contact .img_bg_block {
	padding: 16vw 0 13vw;
}

.t_contact_ttl span {
	color: #fff;
}

.t_contact_ttl em {
	color: #fff;
}

.t_contact_block {
	background: #fff;
	padding: 5vw;
	border-radius: 3vw;
}

.t_contact_catch {
	font-size: 1.7rem;
	letter-spacing: 0.12em;
	display: block;
	font-weight: 500;
	font-family: var(--font-maru);
	text-align: center;
}

.t_contact_tel {
	margin-top: 3vw;
}

/*______________________________________________________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
下層
______________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^*/

.access_parking_img p {
	margin-top: 5vw;
}