@charset "UTF-8";


/***   variable   ***/
.contents_main {
	--color-white: #fff;
	--color-black01: #000;
	--color-gray01: #333;
	--color-gray02: #808080;
	--color-deep_blue01: #002d55;
	--color-deep_green01: #009245;
	--color-yellow01: #d9e021;

	--font-Shippori_Mincho_B1: "Shippori Mincho B1", serif;
	--font-Noto_Sans: "Noto Sans JP", sans-serif;

	--wrapper: 1200px;
	--wrapper02: 980px;
	--page_nav_height: 69px;
	overflow: hidden;
}


/***   base   ***/
.contents_main {
	background: var(--color-white);
	font-family: var(--font-Noto_Sans);
	color: var(--color-black01);
	font-size: 1em;
	font-weight: 400;
	letter-spacing: 0;
}

.contents_main h2,
.contents_main h3 {
	font-weight: 500;
	line-height: 1.18;
}

.contents_main p {
	font-size: 1.02em;
	font-weight: 400;
	line-height: 1.82;
}

.contents_main a, .contents_main button {
	text-decoration: none;
	transition: opacity .4s ease, color .4s ease, background-color .4s ease;
	color: inherit;
}

.contents_main a:hover, .contents_main button:hover {
	opacity: 0.5;
}

@media screen and (min-width: 768px) {
	.contents_main a[href^="tel:"] {
		pointer-events: none;
	}
}

.contents_main figure {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

.contents_main img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

.contents_main table {
	border-collapse: collapse;
	border-spacing: 0;
}

.contents_main caption,
.contents_main th,
.contents_main td {
	font-weight: normal;
	vertical-align: middle;
}

.contents_main table {
	--table_border: 1px solid var(--color-white);
	width: 100%;
	margin: 1.4em 0 1em;
	border-top: var(--table_border);
	border-left: var(--table_border);
}

.contents_main table th,
.contents_main table td {
	padding: 0.55em 0.5em 0.66em;
	border-bottom: var(--table_border);
	border-right: var(--table_border);
	font-size: 18px;
	line-height: 1.5;
}

.contents_main figcaption {
	font-family: var(--font-Noto_Sans);
	font-size: 0.82em;
	font-weight: 400;
	line-height: 1.5;
	margin-top: 0.82em;
}

.contents_main .contents_sec {
	position: relative;
	padding: 70px 0 76px;
}

.contents_main .contents_wrapper {
	max-width: var(--wrapper);
	width: 98.2%;
	margin: 0 auto;
}

.contents_main .contents_wrapper[data-wrapper="02"] {
	max-width: var(--wrapper02);
}

.contents_main .attention_text {
	font-size: 12.5px;
	font-family: var(--font-Noto_Sans);
}

@media screen and (min-width: 768px) {
	.contents_main .sp_only {
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	.contents_main {
		font-size: 0.88em;
		font-size: clamp(0.76em, 3.4vw, 1.1em);
		/* 14px */
		font-weight: 400;
	}

	.contents_main .contents_sec {
		padding: 39px 0 44px;
	}

	.contents_main p {
		font-size: 1em;
		font-weight: 400;
		line-height: 1.80;
	}

	.contents_main table {
		--table_border: 1.1px solid var(--color-white);
	}

	.contents_main figcaption {
		font-size: 0.73em;
	}

	.contents_main .contents_wrapper {
		width: 92.9%;
	}

	.contents_main .pc_only {
		display: none !important;
	}
}


/* ------------------------------

	parts

------------------------------ */
/*** heading_block ***/
.contents_main .heading_block {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	min-width: 380px;
	max-width: 100%;
	margin: 0 auto 0.96em;
	text-align: center;
	font-size: 54px;
	font-family: var(--font-Shippori_Mincho_B1);
}

.contents_main .heading_block__en {
	display: block;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto 0.4em;
	border-bottom: 3px solid var(--color-white);
	font-size: 1.06em;
	font-weight: 600;
	line-height: 1.02;
	letter-spacing: 0;
}

.contents_main .heading_block__heading {
	font-size: 0.78em;
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -0.017em;
	font-family: var(--font-Noto_Sans);
}

@media screen and (max-width: 768px) {
	.contents_main .heading_block {
		font-size: 1.44em;
		min-width: 250px;
		margin-bottom: 1.4em;
	}

	.contents_main .heading_block__en {
		font-size: 1.47em;
		padding-bottom: 0.04em;
		margin-bottom: 0.47em;
	}

	.contents_main .heading_block__heading {
		font-size: 1.02em;
	}
}

/*** caption_in_img ***/
.contents_main .caption_in_img {
	position: absolute;
	bottom: 5.5px;
	right: 7.0px;
	margin-left: 7.0px;
	padding: 0.29em 1.17em 0.47em;
	background: #000211;
	color: var(--color-white);
	font-size: 0.82em;
	font-family: var(--font-Noto_Sans);
	font-weight: 500;
	line-height: 1.1;
	z-index: 5;
}

@media screen and (max-width: 768px) {
	.contents_main .caption_in_img {
		padding: 0.34em 0.76em 0.55em;
	}
}

/* ------------------------------

	animation

------------------------------ */
/*****   slick   *****/
.contents_main .slider {
	line-height: 0;
	opacity: 0;
	transition: 0.56s opacity ease-in-out;
}

.contents_main .slick-initialized {
	opacity: 1 !important;
}


.contents_main .slick-track {
	display: flex !important;
	will-change: transform;
	perspective: 1000;
}

.contents_main .slick-slide {
	height: auto !important;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}

.contents_main .slick-list {
	overflow-y: visible;
	overflow-x: hidden;
	overflow-x: clip;
}

.contents_main .slick-arrow {
	--size: clamp(29px, 7.7vw, 45px);
	--adjust: 15px;
	position: absolute;
	top: 44%;
	transform: translateY(-50%);
	display: block;
	width: var(--size);
	height: var(--size);
	border: 0;
	border-radius: 1000px;
	background-image: url(../img/design/slider_arrow.svg);
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 7;
	transform-origin: center center;
	font-size: 0;
	cursor: pointer;
}

.contents_main .slick-arrow.slick-prev {
	left: 0;
	transform: translateY(-50%) rotate(0deg) translateX(62%);
}

.contents_main .slick-arrow.slick-next {
	right: 0;
	transform: translateY(-50%) rotate(180deg) translateX(62%);
}

.contents_main .slick-arrow:hover {
	opacity: 0.92;
}

.contents_main .fv__slider .is-animation img {
	-webkit-animation: slick_zoomDown 8.8s linear 0s normal forwards;
	animation: slick_zoomDown 8.8s linear 0s normal forwards;
}

@-webkit-keyframes slick_zoomDown {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.17);
	}
}

@keyframes slick_zoomDown {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.17);
	}
}


/*****   magnificPopup   *****/
body .mfp-fade {
	opacity: 1;
	transition: opacity 2s ease;
}

body .mfp-image-holder button.mfp-close {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding: 0 10px;
	font-size: 50px;
	line-height: 59px;
}

body img.mfp-img {
	position: relative;
	padding: 56px 0 32px;
}

body .mfp-figure:after {
	display: none;
}

.mfp-fade.mfp-bg.mfp-ready {
	background: #000;
}

/* オーバーレイ 初期状態 */
body .mfp-fade.mfp-bg {
	transition: all 0.45s ease-in-out;
}

/* コンテンツ 初期状態 */
body .mfp-fade.mfp-wrap .mfp-content {
	transition: all 0.47s ease-in-out;
}

.mfp-preloader {
	display: none;
}



/*****   アコーディオン   *****/
.js-acc_switch {
	position: relative;
	cursor: pointer;
}

.js-acc_block {
	display: none;
	will-change: height;
}

.js-acc_wrapper .acc_open_text,
.js-acc_wrapper.active .acc_close_text {
	display: block;
}

.js-acc_wrapper.active .acc_open_text,
.js-acc_wrapper .acc_close_text {
	display: none;
}




/* ------------------------------

	.fv

------------------------------ */
.contents_main .fv {
	position: relative;
	padding: 0;
	margin: 0;
}

.contents_main .fv__bg_img_block {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.contents_main .fv__bg_img_block img {
	width: 100%;
	height: auto;
}

.contents_main .fv__bg_img_box {
	position: relative;
}

.contents_main .fv__bg_img_box .caption_in_img {
	right: min(70px, 4.0vw);
	bottom: 20px;
}

.contents_main .fv__inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 85.4%;
	max-width: 1600px;
	height: 100%;
}

.contents_main .fv .fv__tit01,
.contents_main .fv__inner::before {
	content: "";
	position: absolute;
	top: var(--page_nav_height);
	left: -0.28%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30.9%;
	height: calc((100% - var(--page_nav_height)) * 0.825);
	padding-bottom: 4.7%;
	margin: 0;
	z-index: 1;
}

.contents_main .fv__inner::before {
	background: linear-gradient(-45deg, rgba(0, 96, 176, 1) 0%, rgba(6, 100, 170, 1) 13.08%, rgba(23, 111, 153, 1) 30.38%, rgba(50, 130, 126, 1) 50.03%, rgba(88, 156, 88, 1) 71.43%, rgba(137, 188, 39, 1) 94%, rgba(151, 198, 25, 1) 100%);
	mix-blend-mode: multiply;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 88.6%, 0 100%);
}

.contents_main .fv .fv__tit01 img {
	position: relative;
	width: 63.9%;
	max-height: 86%;
	-o-object-fit: contain;
	object-fit: contain;
	font-size: 1.25em;
}

.contents_main .fv .fv__tit02 {
	position: absolute;
	top: 21.2%;
	left: 37.3%;
	width: 56%;
}

.contents_main .fv .fv__tit02 img {
	width: 100%;
}

@media screen and (max-width: 768px) {
	.contents_main .fv__img_box .caption_in_img {
		margin-left: 2.28%;
		right: 2.28%;
		bottom: 1.02em;
	}

	.contents_main .fv .fv__tit01,
	.contents_main .fv__inner::before {
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		width: 48.6%;
		height: 72.2%;
	}

	.contents_main .fv__inner::before {
		clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 93.2%, 0 100%);
	}

	.contents_main .fv .fv__tit01 img {
		width: 76.2%;
		max-height: 78.6%;
	}
}




/* ------------------------------

	page_nav

------------------------------ */
.contents_main .page_nav {
	--border: 1px solid #fff;
	position: relative;
	z-index: 1;
	transition: 0s;
}

.contents_main .page_nav::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(-45deg, rgba(0, 96, 176, 1) 0%, rgba(6, 100, 170, 1) 13.08%, rgba(23, 111, 153, 1) 30.38%, rgba(50, 130, 126, 1) 50.03%, rgba(88, 156, 88, 1) 71.43%, rgba(137, 188, 39, 1) 94%, rgba(151, 198, 25, 1) 100%);
	mix-blend-mode: multiply;
}

.contents_main .page_nav.is-fixed {
	position: fixed;
	top: 66px;
	left: 0;
	width: 100%;
	height: auto;
	margin: 0;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0s, visibility .6s;
	z-index: 999;
	mix-blend-mode: normal;
}

.contents_main .page_nav.is-fixed.is-show {
	opacity: 1;
	pointer-events: all;
	transition: opacity .6s, visibility .6s;
}

.contents_main .page_nav_list {
	display: flex;
	align-items: stretch;
	justify-content: center;
}


.contents_main .page_nav_list__en_text {
	font-weight: 500;
	font-family: var(--font-Shippori_Mincho_B1);
}

.contents_main .page_nav_list__text {
	font-family: var(--font-Noto_Sans);
	font-weight: 500;
	font-size: 1em;
}

.contents_main .page_nav::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(-45deg, rgba(0, 96, 176, 1) 0%, rgba(6, 100, 170, 1) 13.08%, rgba(23, 111, 153, 1) 30.38%, rgba(50, 130, 126, 1) 50.03%, rgba(88, 156, 88, 1) 71.43%, rgba(137, 188, 39, 1) 94%, rgba(151, 198, 25, 1) 100%);
	mix-blend-mode: multiply;
}

@media screen and (min-width: 768px) {
	.contents_main .page_nav {
		top: 0;
		left: 0;
		width: 100%;
		height: var(--page_nav_height);
	}

	.contents_main .page_nav>* {
		height: 100%;
	}

	.contents_main .page_nav__block {
		display: block !important;
		height: 100%;
	}

	.contents_main .page_nav {
		min-width: 1100px;
	}

	.contents_main .page_nav {
		border-bottom: var(--border);
	}

	.contents_main .page_nav_list {
		height: 100%;
	}

	.contents_main .page_nav_list__item {
		position: relative;
		height: 100%;
	}

	.contents_main .page_nav_list__item::before,
	.contents_main .page_nav_list__item::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		height: 69%;
		border-right: var(--border);
	}

	.contents_main .page_nav_list__item::before {
		left: 0;
		right: auto;
		display: none;
	}

	.contents_main .page_nav_list__item:first-of-type::before {
		display: block;
	}

	.contents_main .page_nav_list__inner {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		padding: 0.55em 2.0em 0.82em;
		background: transparent;
		color: var(--color-white);
		line-height: 1.5;
		min-height: 100%;
		text-decoration: none;
		transition: 0.15s;
		font-size: clamp(0.8em, 1.06vw, 0.96em);
	}

	.contents_main .page_nav_list__inner:hover {
		background: var(--color-white);
		color: var(--color-deep_blue01);
		opacity: 1;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .fv {
		display: flex;
		flex-direction: column-reverse;
	}

	.contents_main .page_nav__block {
		position: absolute;
		top: 100%;
		left: 0;
		width: 100%;
		background: #eaeaea;
		padding: 1.3em 1.3em 2.9em;
		font-size: clamp(10px, 3.41vw, 18px);
		max-height: calc(100vh - 4rem);
		overflow-y: scroll;
	}

	.contents_main .page_nav__block {
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.contents_main .page_nav__block::-webkit-scrollbar {
		display: none;
	}

	.contents_main .page_nav__tit {
		--color: var(--color-white);
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: auto;
		padding: 0.66em 0.77em 0.69em 0;
		font-size: 1.3em;
		font-weight: 500;
		color: var(--color);
		transition: 0s;
	}

	.contents_main .page_nav__tit::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: repeating-linear-gradient(-110deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1) 1px, transparent 1px, transparent 5px);
		opacity: 0;
		z-index: -1;
		transition: 0.16s ease-in-out;
	}

	.contents_main .page_nav .js-acc_wrapper.active .page_nav__tit::after {
		opacity: 1;
	}

	.contents_main .page_nav__tit_inner {
		position: relative;
	}

	.contents_main .page_nav__tit_inner::before,
	.contents_main .page_nav__tit_inner::after {
		--size: 0.7em;
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-10%) translateX(150%);
		right: 0;
		width: var(--size);
		height: 0.1em;
		background: var(--color);
		transition: transform 0.32s;
	}

	.contents_main .page_nav__tit_inner::before {
		transform: translateY(-10%) translateX(150%) rotate(90deg);
	}

	.contents_main .js-acc_wrapper.active .page_nav__tit_inner::before {
		transform: translateY(-10%) translateX(150%) rotate(45deg);
	}

	.contents_main .js-acc_wrapper.active .page_nav__tit_inner::after {
		transform: translateY(-10%) translateX(150%) rotate(-45deg);
	}

	.contents_main .page_nav_list {
		flex-direction: column;
		row-gap: 1.3em;
		margin-bottom: 1.9em;
	}

	.contents_main .page_nav_list__inner {
		display: block;
		padding: 0.25em 0 0.37em;
		text-align: center;
		color: #000;
		font-size: 1.25em;
	}

	.contents_main .page_nav_list__en_text {
		display: none;
		font-size: 0;
		line-height: 0;
	}

	.contents_main .page_nav_list__text {
		font-size: 1em;
	}

	.contents_main .page_nav_link_list {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 auto 1.1em;
		-moz-column-gap: 4.55%;
		column-gap: 4.55%;
	}


	.contents_main .page_nav_list__item--outline,
	.contents_main .page_nav_list__item--reservation {
		display: none;
	}

	.contents_main .page_nav_link_list__item {
		width: 47.7%;
		height: auto;
	}

	.contents_main .page_nav_link_list__inner {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: auto;
		padding: 0.92em 1.18em 1.1em 0.96em;
		border-radius: 5px;
		transition: background 0.2s;
		font-size: 1.1em;
		background: var(--color-deep_green01);
		color: var(--color-white);
	}

	.contents_main .page_nav_link_list__inner::after {
		content: "";
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 17px;
		background-image: url(../img/design/link_arrow01.svg);
		width: 10px;
		height: auto;
		aspect-ratio: 1/1;
		background-size: contain;
		background-repeat: no-repeat;
		transition: transform 0.15s ease;
	}

	.contents_main .page_nav_link_list__inner:hover {
		opacity: 0.92;
	}

	.contents_main .page_nav_link_list__inner:hover::after {
		transform: translateY(-50%) translateX(11px);
	}

	.contents_main .page_nav__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: auto;
		padding: 0.96em 0 1em;
		margin: 0 0 1.1em;
		border: 1.5px solid var(--color-black01);
		color: var(--color-black01);
		font-size: 1.1em;
		font-weight: 500;
		text-align: center;
	}

	.contents_main .page_nav__tel_block {
		text-align: center;
		color: var(--color-black01);
	}

	.contents_main .page_nav__tel_block_text {
		display: block;
		margin-bottom: 0.25em;
		font-weight: 500;
	}

	.contents_main .page_nav__tel_block_tel {
		display: block;
		margin-bottom: 0.44em;
		color: var(--color-deep_blue01);
	}

	.contents_main .page_nav__tel_block_tel img {
		width: 22em;
		-o-object-fit: contain;
		object-fit: contain;
	}

	.contents_main .page_nav__tel_block_sub_text {
		font-size: 0.82em;
		font-weight: 500;
	}
}




/* ------------------------------

	lead_sec

------------------------------ */
.contents_main .lead_sec {
	position: relative;
	padding: 62px 0 32px;
}

.contents_main .lead_sec__ad_box {
	--border: 1px solid var(--color-gray01);
	display: grid;
	grid-template-columns: auto 1fr;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	align-items: center;
	padding: 16px 32px;
	margin: 0 auto;
	border-radius: 1px;
	background: #e6e6e6;
}

.contents_main .lead_sec__ad_box_tit {
	font-size: 20px;
}

.contents_main .lead_sec__ad_box_text {
	position: relative;
	display: block;
	font-size: 17px;
	line-height: 2;
	letter-spacing: 0.02em;
}



@media screen and (min-width: 768px) {
	.contents_main .lead_sec__ad_box {}

	.contents_main .lead_sec__ad_box_tit {
		padding-right: 28px;
	}

	.contents_main .lead_sec__ad_box_text {
		padding-left: 30px;
	}

	.contents_main .lead_sec__ad_box_text::before {
		content: "";
		position: absolute;
		top: 50%;
		left: -1px;
		transform: translateY(-50%);
		background: var(--color-gray01);
		width: 1px;
		height: 92.5%;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .lead_sec {
		padding: 20px 0 15px;
	}

	.contents_main .lead_sec__ad_box {
		grid-template-columns: 1fr;
		padding: 20px 18px 21px;
		border: var(--border);
	}


	.contents_main .lead_sec__ad_box_tit {
		margin: 0 auto 0.62em;
		text-align: center;
		font-size: 1.25em;
	}

	.contents_main .lead_sec__ad_box_text {
		font-size: 0.77em;
		line-height: 1.7;
		letter-spacing: 0;
	}
}


/* ------------------------------

	bnr

------------------------------ */
.contents_main .bnr_sec {
	padding: 47px 0 44px;
}

.contents_main .bnr_sec a:hover {
	opacity: 1;
	-webkit-filter: brightness(1.15);
	filter: brightness(1.15);
}

@media screen and (max-width: 768px) {
	.contents_main .bnr_sec {
		padding: 31px 0 32px;
	}
}


/* ------------------------------

	merits

------------------------------ */
.contents_main .merits {
	padding-bottom: 100px;
}

.contents_main .merits .heading_block__en {
	border-color: var(--color-black01);
}


.contents_main .merit__block {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	column-gap: 40px;
	margin-top: 92px;
}


.contents_main .merit__block_contents {
	flex: 1;
}

.contents_main .merit__block_contents a {
	text-decoration: underline;
	transition: 0s;
}

.contents_main .merit__block_contents a:hover {
	text-decoration: none;
}

.contents_main .merit__block_number {
	display: block;
	margin: -0.4em 0 14px;
	text-decoration: underline;
	font-family: var(--font-Shippori_Mincho_B1);
	font-size: 28.2px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
}

.contents_main .merit__block_tit {
	display: block;
	margin: 0 0 20px;
	font-size: 2.28em;
	font-weight: 500;
	letter-spacing: 0;
}

.contents_main .merit__block_text {
	font-size: 1.1em;
	line-height: 1.7;
}

.contents_main .merit__block_box {
	width: 100%;
	padding: 22px 28px 26px;
	margin: 28px 0 0;
	background: #e6e6e6;
}

.contents_main .merit__block_box strong {
	font-weight: inherit;
	text-decoration: underline;
}

.contents_main .merit__block_box_tit {
	display: block;
	margin: 0 auto 16px;
	width: 100%;
	text-align: center;
	font-size: 26px;
	font-weight: 500;
}

.contents_main .merit__block_box_text {
	font-size: 1.02em;
	letter-spacing: -0.02em;
	line-height: 1.7;
}

.contents_main .merit__img_block {
	width: 48.2%;
}

.contents_main .merit__img_block_inner {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.contents_main a.merit__img_block_inner:hover {
	opacity: 1;
	filter: brightness(1.4);
}

.contents_main .merit__img_block_inner+.merit__img_block_inner {
	margin-top: 22px;
}

.contents_main .merit__img_block_inner:has(.merit__img_block_inner_text)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	background: linear-gradient(90deg, rgba(0, 96, 176, 1) 0%, rgba(6, 100, 170, 1) 13.08%, rgba(23, 111, 153, 1) 30.38%, rgba(50, 130, 126, 1) 50.03%, rgba(88, 156, 88, 1) 71.43%, rgba(137, 188, 39, 1) 94%, rgba(151, 198, 25, 1) 100%);
	mix-blend-mode: multiply;
	opacity: 0.86;
	z-index: 1;
}

.contents_main .merit__img_block_inner_text {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	padding: 1em;
	padding-bottom: 1.1em;
	margin: 0;
	color: #fff;
	z-index: 5;
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.62;
}

.contents_main .merit__img_block_inner_text span:nth-of-type(2) {
	font-size: 1.32em;
}

.contents_main .merit__img_block img {
	width: 100%;
}

.contents_main .merit__img_text {
	margin-top: 0.86em;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
}

.contents_main .merit:nth-of-type(2n) .merit__img_text {
	text-align: left;
}

@media screen and (min-width: 768px) {
	.contents_main .merit:nth-of-type(2n) .merit__block {
		flex-direction: row-reverse;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .merits {
		padding-bottom: 80px;
	}

	.contents_main .merit__block {
		flex-direction: column-reverse;
		margin-top: 2.8em;
	}

	.contents_main .merit:nth-of-type(1) .merit__block {
		flex-direction: column;
	}

	.contents_main .merit__block_number {
		margin: 0 auto 0.44em;
		font-size: 1.35em;
		text-align: center;
	}

	.contents_main .merit__block_tit_block {
		margin-top: 1.7em;
	}

	.contents_main .merit__block_tit {
		display: block;
		margin: 0 auto 0.92em;
		font-size: 1.7em;
		text-align: center;
	}

	.contents_main .merit__block_text {
		font-size: 1.1em;
		line-height: 1.8;
	}

	.contents_main .merit__block_box {
		width: 100%;
		padding: 1.25em 1.25em 1.4em;
		margin: 1.6em 0 0;
	}

	.contents_main .merit__block_box strong {
		font-weight: inherit;
		text-decoration: underline;
	}

	.contents_main .merit__block_box_tit {
		margin: 0 auto 0.54em;
		font-size: 1.44em;
	}

	.contents_main .merit__block_box_text {
		font-size: 0.92em;
		line-height: 1.6;
	}


	.contents_main .merit__img_block {
		width: 100%;
		margin-top: 1.8em;
	}

	.contents_main .merit__img_block_inner+.merit__img_block_inner {
		margin-top: 0.5em;
	}

	.contents_main .merit__img_block_inner--sp_wide img {
		position: relative;
		left: -4%;
		width: calc(108%);
		max-width: 1000px;
	}

	.contents_main .merit__img_block_inner_text {
		font-size: 0.86em;
	}

	.contents_main .merit__img_block_inner_text span:nth-of-type(2) {
		font-size: 1.25em;
	}

	.contents_main .merit__img_block_inner .merit__img_text {
		position: absolute;
		bottom: 5.0%;
		right: 2.8%;
		margin-left: 2%;
		padding: 0.34em 0.92em 0.55em;
		background: #000211;
		color: var(--color-white);
		font-size: 0.54em;
		font-family: var(--font-Noto_Sans);
		font-weight: 500;
		line-height: 1.1;
		z-index: 5;
		text-align: left;
	}

	.contents_main .merit__img_text {
		font-size: 0.662em;
	}
}




/* ------------------------------

	land

------------------------------ */
.contents_main .land {
	position: relative;
	background: var(--color-deep_blue01);
	color: #fff;
}

.contents_main .land__tit {
	position: relative;
	margin: 0 auto 1.44em;
	font-size: 36px;
	line-height: 1.3;
	text-align: center;
	z-index: 5;
}

.contents_main .land_imgs_block {
	margin: 15px auto 47px;
}

.contents_main .land_imgs_block__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 15px;
	row-gap: 17.6px;
	margin: 0 auto;
	list-style: none;
}

.contents_main .land_imgs_block__img_box_inner {
	position: relative;
	display: block;
	line-height: 1;
	transition: filter 0.1s ease;
	cursor: zoom-in;
}

.contents_main a.land_imgs_block__img_box_inner::after {
	content: "";
	position: absolute;
	bottom: 2.8%;
	right: 3.5%;
	background-image: url(../img/icon/icon-zoom.svg);
	width: 11%;
	height: auto;
	aspect-ratio: 1/1;
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
	transform: scale(1.0);
	transform-origin: right bottom;
	transition: transform 0.1s ease;
}

.contents_main a.land_imgs_block__img_box_inner:hover {
	opacity: 1;
	filter: brightness(1.1);
}

.contents_main a.land_imgs_block__img_box_inner:hover::after {
	transform: scale(1.15);
}

.contents_main .land_imgs_block__img_box img {
	width: 100%;
	height: auto;
	aspect-ratio: 199 / 148;
	-o-object-fit: cover;
	object-fit: cover;
}

.contents_main .land_imgs_block__img_box_text {
	bottom: 0.44em;
	left: 0.44em;
}

.contents_main .land_imgs_block__img_box_caption {
	margin-top: 5px;
	font-size: 13px;
}

.contents_main .land_imgs_block__tit {
	grid-column: 1/4;
	width: 100%;
	margin: 0 auto 0.87em;
	font-size: 28px;
	text-align: center;
	font-weight: 500;
	line-height: 1.1;
	font-family: var(--font-Noto_Sans);
}

.contents_main .land_imgs_block__img_block_text {
	margin-top: 1.1em;
	grid-column: 1/4;
	width: 100%;
	text-align: right;
	font-family: var(--font-Noto_Sans);
}


.contents_main .land__inner_tit {
	margin: 0 auto 0.82em;
	font-size: 34px;
	line-height: 1.1;
	text-decoration: underline;
	text-align: center;
}

.contents_main .land__inner_text {
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	max-width: 544px;
	margin: 0 auto 1em;
	font-size: 18.7px;
}

.contents_main .land__figure {
	position: relative;
	width: 100%;
	margin: 0 auto 25px;
}

.contents_main .land__figure img {
	width: 100%;
}

.contents_main .land a {
	text-decoration: underline;
}


.contents_main .land__table_block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	-moz-column-gap: 30px;
	column-gap: 30px;
	margin: 10px auto 0.5em;
}

.contents_main .land__table_block thead {
	position: relative;
	z-index: 5;
}

.contents_main .land__table_block th,
.contents_main .land__table_block td {
	padding: 0.47em 0.2em 0.62em;
	font-size: 19px;
	font-weight: 500;
	text-align: center;
}

.contents_main .land__table_block th:first-child,
.contents_main .land__table_block td:first-child {
	width: 132px;
}

.contents_main .land__table_block thead th {
	position: relative;
	background: #3c5584;
	font-size: 17px;
}



@media screen and (min-width: 768px) {
	.contents_main .land {}
}

@media screen and (max-width: 768px) {
	.contents_main .land__tit {
		margin-bottom: 2.22em;
		font-size: 1.25em;
		line-height: 1.5;
	}

	.land_imgs_block_wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.contents_main .land_imgs_block {
		order: -2;
		margin-bottom: 44px;
	}

	.contents_main .land_imgs_block__list {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: auto;
		column-gap: 2.8vw;
		row-gap: 3.0vw;
	}

	.contents_main .land_imgs_block__tit {
		font-size: 1.25em;
	}

	.contents_main .land_imgs_block__img_block_text {
		font-size: 0.76em;
	}


	.contents_main .land__inner {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	.contents_main .land__inner_tit {
		font-size: 1.06em;
	}

	.contents_main .land__inner_text {
		font-size: 0.73em;
	}

	.contents_main .land__figure {
		width: 100%;
		margin: -13.2% auto 2.0em;
	}


	.contents_main .land__table_block {
		display: block;
		margin: 0.5em auto 1.18em;
	}

	.contents_main .land__table_block table {
		margin: 0;
	}

	.contents_main .land__table_block table:nth-of-type(n+2) {
		border-top: 0;
	}

	.contents_main .land__table_block table:nth-of-type(n+2) thead {
		display: none;
	}

	.contents_main .land__table_block th,
	.contents_main .land__table_block td {
		padding: 0.47em 0.05em 0.62em;
		font-size: 0.92em;
	}

	.contents_main .land__table_block th:first-child,
	.contents_main .land__table_block td:first-child {
		width: 80px;
	}

	.contents_main .land__table_block thead th {
		font-size: 0.92em;
	}

	.land__link_text {
		text-align: center;
		margin-bottom: 0.82em;
	}
}



/* ------------------------------

	access

------------------------------ */
.contents_main .access {
	position: relative;
}

.contents_main .access__block {
	position: relative;
}

.contents_main .access__block .heading_block__en {
	border-color: var(--color-deep_blue01);
}

.contents_main .access .heading_block__heading {
	letter-spacing: -0.076em;
}

.contents_main .access__contents_tit {
	margin: 0 0 0.54em;
	font-size: 23.2px;
	font-weight: 500;
	font-family: var(--font-Noto_Sans);
	line-height: 1.54;
	text-align: center;
}

.contents_main .access__contents_text {}


/*detail*/
.contents_main .access_detail__tit {
	text-align: center;
	margin-bottom: 0.87em;
	font-size: 30px;
}

.contents_main .access_detail__tit_station {
	font-size: 1.44em;
}


.contents_main .access_detail__block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 30px;
	column-gap: 30px;
}

.contents_main .access_detail__block_img_box img {
	width: 100%;
	height: 187px;
	-o-object-fit: cover;
	object-fit: cover;
}

.contents_main .access_detail__block_item .caption_in_img {
	bottom: 0;
	right: 0;
}

.contents_main .access_detail__block_station {
	position: relative;
	left: -0.13em;
	margin: 0.62em auto 0.5em;
	font-size: 36px;
	letter-spacing: -0.025em;
	font-weight: 500;
	text-align: center;
	text-decoration: underline;
}

.contents_main .access_detail__block_station>span {
	font-size: 0.66em;
}

.contents_main .access_detail__block_contents {
	margin: 0 auto 0.62em;
	text-align: center;
	line-height: 1.32;
	font-weight: 500;
}

.contents_main .access_detail__block_time {
	display: block;
	font-size: 30px;
	letter-spacing: -0.02em;
}

.contents_main .access_detail__block_time_sub {
	font-size: 20px;
}

.contents_main .access_detail__block_attention_text {
	font-size: 11.9px;
	font-weight: 500;
	line-height: 1.62;
	text-align: center;
}

.contents_main .access_detail__attention_text {
	margin-top: 3.44em;
}

@media screen and (min-width: 768px) {
	.contents_main .access {
		padding-top: 96px;
	}

	.contents_main .access__block {
		position: relative;
		margin: 0 auto 62px;
	}

	.contents_main .access .heading_block__heading {
		font-size: 0.73em;
	}

	.contents_main .access .heading_block {
		position: relative;
		margin-left: 150px;
		margin-bottom: 0.7em;
		z-index: 5;
		min-width: 1px;
	}


	.contents_main .access__map {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: 950px;
		max-width: 79.3%;
		margin: -140px auto 0 0;
	}

	.contents_main .access__map img {
		width: 100%;
	}

	.contents_main .access__contents {
		width: 554px;
		padding: 25px 25px 28px;
		margin-top: -250px;
		margin-left: auto;
		margin-right: 0;
		background: #e6e6e6;
	}

	.contents_main .access__contents_text {
		letter-spacing: -0.02em;
	}

	/* detail */
	.contents_main .access_detail__contents_text:nth-of-type(n+2) {
		font-size: 13px;
		margin-top: 0.5em;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .access__block {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}

	.contents_main .access__map {
		order: 5;
		margin: 10px auto 26.9px;
	}

	.contents_main .access__contents_tit {
		margin-bottom: 0.92em;
		font-size: 1.15em;
		text-align: center;
	}

	.contents_main .access__contents_text {
		margin-bottom: 1.7em;
		font-size: 0.82em;
	}

	/* detail */
	.contents_main .access_detail__tit {
		font-size: 1em;
	}

	.contents_main .access_detail__tit_station {
		font-size: 1.38em;
	}


	.contents_main .access_detail__block {
		grid-template-columns: 1fr 1fr;
		-moz-column-gap: 3.9%;
		column-gap: 3.9%;
		row-gap: 4.0%;
	}


	.contents_main .access_detail__block_img_box img {
		height: auto;
		aspect-ratio: 169/113;
	}

	.contents_main .access_detail__block_station {
		margin: 0.70em auto 0.54em;
		font-size: 1.4em;
	}

	.contents_main .access_detail__block_station>span {
		font-size: 0.92em;
	}

	.contents_main .access_detail__block_contents {
		margin: 0 auto 0.69em;
		line-height: 1.32;
	}

	.contents_main .access_detail__block_time {
		display: block;
		font-size: 1.3em;
	}

	.contents_main .access_detail__block_time_sub {
		font-size: 1.02em;
	}

	.contents_main .access_detail__block_attention_text {
		font-size: 0.62em;
		letter-spacing: -0.04em;
	}

	.contents_main .access_detail__attention_text {
		margin-top: 3.8em;
		font-size: 0.73em;
		letter-spacing: -0.01em;
	}
}




/* ------------------------------

	location

------------------------------ */
.contents_main .location {
	background: var(--color-deep_blue01);
	color: var(--color-white);
}

.contents_main .location .contents_wrapper {
	max-width: 980px;
}

.contents_main .location_map {
	margin: 0 auto 100px;
}

.contents_main .location_map__figure {
	position: relative;
	width: 100%;
	height: auto;
	margin: 0 auto 32px;
	border: 1px solid #fff;
}

.contents_main .location_map__figure figcaption {
	position: absolute;
	top: 17px;
	left: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 144px;
	height: 50px;
	margin: 0;
	padding-bottom: 0.1em;
	background: var(--color-deep_blue01);
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	line-height: 1;
}

.contents_main .location_map__address {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 32px;
	column-gap: 32px;
	text-align: left;
	font-family: var(--font-Noto_Sans);
	font-size: 1.3em;
	font-weight: 500;
	line-height: 1.4;
}

.contents_main .location_map__gmap_link {
	--bg_color: #dbe2e6;
	--color: var(--color-deep_blue01);
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 0.32em;
	column-gap: 0.32em;
	padding: 0.44em 1.32em 0.62em;
	border-radius: 100px;
	border: 2.5px solid #dbe2e6;
	background: var(--bg_color);
	color: var(--color);
	font-size: 23.2px;
	font-weight: 500;
	line-height: 1.1;
	transition: 0.1s ease;
}

.contents_main .location_map__gmap_link:hover {
	opacity: 1;
	-webkit-filter: brightness(1.15);
	filter: brightness(1.15);
	--bg_color: var(--color-deep_blue01);
	--color: #dbe2e6;
}

.contents_main .location_map__gmap_link::after {
	--size: 1.18em;
	content: "";
	position: relative;
	top: 0.04em;
	display: block;
	width: var(--size);
	height: auto;
	aspect-ratio: 1/1;
	-webkit-mask-image: url(../img/icon/icon--link.svg);
	mask-image: url(../img/icon/icon--link.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	background: var(--color);
	transition: 0.1s ease;
}

.contents_main .location_list__img_caption {
	margin-top: 0.62em;
	font-size: 0.86em;
}

.contents_main .location_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 22.8px;
	column-gap: 22.8px;
	row-gap: 32px;
}

.contents_main .location_list img {
	width: 100%;
}

.contents_main .location__attention_text {
	margin-top: 2.5em;
}

@media screen and (min-width: 768px) {}

@media screen and (max-width: 768px) {
	.contents_main .location_map {
		margin-bottom: 2em;
	}

	.contents_main .location_map__figure {
		margin-bottom: 1.4em;
	}

	.contents_main .location_map__figure figcaption {
		top: 0;
		left: 0;
		width: 6.62em;
		height: 2.28em;
		font-size: 0.87em;
	}

	.contents_main .location_map__address {
		flex-direction: column;
		row-gap: 1.02em;
		font-size: 1em;
	}

	.contents_main .location_map__gmap_link {
		font-size: 0.87em;
	}

	.contents_main .location_list {
		grid-template-columns: repeat(2, 1fr);
		-moz-column-gap: 4.4%;
		column-gap: 4.4%;
		row-gap: 0;
	}

	.contents_main .location_list__item {
		margin-top: 11.0%;
	}

	.contents_main .location_list__img_caption {
		font-size: 0.8em;
	}

	.contents_main .location__attention_text {
		margin-top: 1.77em;
	}
}




/* ------------------------------

	housing

------------------------------ */
.contents_main .housing {
	position: relative;
	background: var(--color-black01);
	color: var(--color-white);
}

.contents_main .housing>* {
	position: relative;
	z-index: 2;
}


.contents_main .housing_lead {
	margin-bottom: 55px;
}

.contents_main .housing_lead__heading img {
	width: 100%;
}

.contents_main .housing_img_list__item {
	padding: 0 8.6px;
}

.contents_main .housing_img_list__img_box {
	width: 100%;
}

.contents_main .housing_img_list__img_caption {
	margin-top: 0.5em;
}


.contents_main .housing__link_btn {
	position: relative;
	width: 262px;
	height: 62px;
	max-width: 100%;
	margin: 47px auto 32px;
	border: 1px solid var(--color-white);
	border-radius: 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0s;
	font-size: 1.2em;
	font-weight: 500;
	font-family: var(--font-Noto_Sans);
}

.contents_main .housing__link_btn::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	background-image: url(../img/design/link_arrow01.svg);
	width: 12px;
	height: auto;
	aspect-ratio: 1/1;
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.15s ease;
}

.contents_main .housing__link_btn:hover {
	opacity: 1;
	background: #fff;
	color: #000;
}

.contents_main .housing__link_btn:hover::after {
	transform: translateY(-50%) translateX(11px);
	-webkit-filter: invert(1);
	filter: invert(1);
}

/* block */
.contents_main .housing_block {
	position: relative;
	display: block;
	margin: 70px auto 39px;
}

.contents_main .housing_block__img_block {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	-moz-column-gap: 11px;
	column-gap: 11px;
	margin: 0 auto 39px;
}

.contents_main .housing_block__img_block img {
	width: 100%;
}

.contents_main .housing_block__tit {
	margin: 0.1em auto 0.447em;
	font-size: 34px;
	text-align: center;
	font-family: var(--font-Noto_Sans);
	line-height: 1.44;
}

.contents_main .housing_block__text {
	max-width: 869px;
	margin: 0 auto;
}


@media screen and (min-width: 768px) {
	.contents_main .housing .housing_lead {
		left: -38px;
	}

	.contents_main .housing_lead {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 1fr;
		-moz-column-gap: 76px;
		column-gap: 76px;
	}

	.contents_main .housing_lead__heading {
		width: 232px;
		grid-column: 2/3;
		grid-row: 1/3;
		font-size: 36.2px;
		margin-right: -66px;
	}

	.contents_main .housing_lead__img_block {
		margin: 0 0 25px;
	}

	.contents_main .housing_lead__img_block img {
		display: block;
		width: calc(100% + 220px);
		margin-left: -220px;
		max-width: 10000px;
	}

	/* block */
	.housing_block__img_block_logo {
		width: 304px;
		margin-right: 34px;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .housing {
		background: #231815;
	}

	.contents_main .housing .contents_wrapper {}

	.contents_main .housing_lead {
		position: relative;
		width: 100%;
		overflow: hidden;
		margin-bottom: 37px;
	}

	.contents_main .housing_lead__img_block {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		margin-bottom: 16px;
	}

	.contents_main .housing_lead__img_block img {
		width: 100%;
		height: auto;
		aspect-ratio: 375/390;
		-o-object-fit: cover;
		object-fit: cover;
	}

	.contents_main .housing_lead__heading {
		position: absolute;
		top: 4.7%;
		left: 50%;
		transform: translateX(-50%);
		width: 31.5%;
	}

	.contents_main .housing_lead__text {
		width: 92.8%;
		margin: 0 auto;
	}

	.contents_main .housing_img_list__item {
		padding: 0 7px;
	}

	.contents_main .housing_img_list__img_box {
		width: 228px;
	}

	.contents_main .housing__link_btn {
		width: 39%;
		min-width: 200px;
		height: 47px;
		margin-top: 39px;
		margin-bottom: 28px;
		font-size: 1.1em;
	}

	/* block */
	.contents_main .housing_block {
		position: relative;
		display: block;
		margin: 70px auto 39px;
	}

	.contents_main .housing_block__img_block {
		position: relative;
		left: 50%;
		transform: translateX(-50%);
		width: 100vw;
		flex-wrap: wrap;
		-moz-column-gap: 0;
		column-gap: 0;
		row-gap: 0;
		margin-bottom: 1.1em;
	}

	.contents_main .housing_block__img_block>div {
		width: 50%;
	}

	.contents_main .housing_block__img_block>.housing_block__img_block_logo {
		width: 54%;
		text-align: center;
		margin: 0 auto 11%;
	}

	.contents_main .housing_block__img_block>div:nth-of-type(2) {
		width: 100%;
	}


	.contents_main .housing_block__tit {
		font-size: 1.44em;
	}
}

/* ------------------------------

	contents_footer

------------------------------ */
.contents_main .contents_footer {
	position: relative;
	padding: 54px 0 110px;
}

.contents_main .contents_footer__tit {
	position: relative;
	width: 354px;
	padding: 0;
	margin: 0 auto 40px;
	text-align: center;
}

.contents_main .contents_footer__tit img {
	position: relative;
	width: 100%;
}

.contents_main .contents_footer__links {
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 22px;
	column-gap: 22px;
}

.contents_main .contents_footer__links_item {
	width: 256px;
	height: 59px;
	max-width: calc((100% - 32px) / 2);
}

.contents_main .contents_footer__links_inner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: var(--color-deep_green01);
	color: var(--color-white);
	border-radius: 5px;
	transition: background 0.2s;
	font-size: 1.25em;
	font-weight: 500;
}


.contents_main .contents_footer__links_inner::after {
	content: "";
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	background-image: url(../img/design/link_arrow01.svg);
	width: 12px;
	height: auto;
	aspect-ratio: 1/1;
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.15s ease;
}

.contents_main .contents_footer__links_inner:hover {
	opacity: 0.92;
	-webkit-filter: brightness(1.18);
	filter: brightness(1.18);
}

.contents_main .contents_footer__links_inner:hover::after {
	transform: translateY(-50%) translateX(11px);
}


.contents_main .contents_footer_access {
	margin-top: 50px;
	padding-top: 34px;
	border-top: 1px solid var(--color-black01);
}

.contents_main .contents_footer_access__text {
	text-align: center;
	margin: 0 auto 22px;
	font-family: var(--font-Noto_Sans);
	font-size: 1.1em;
	font-weight: 500;
}

.contents_main .contents_footer_access__inner {
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	-moz-column-gap: 40px;
	column-gap: 40px;
}

.contents_main .contents_footer_access__logo {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	-moz-column-gap: 5px;
	column-gap: 5px;
}

.contents_main .contents_footer_access__logo_tit {
	white-space: nowrap;
	font-family: var(--font-Noto_Sans);
}

.contents_main .contents_footer_access__contact_block_tit {
	border: 1px solid var(--color-black01);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
}

@media screen and (min-width: 768px) {
	.contents_main .contents_footer_access__logo img {
		max-width: 310px;
	}

	.contents_main .contents_footer_access__tel_block {
		display: grid;
		grid-template-columns: auto auto 1fr;
		align-items: center;
		row-gap: 1px;
	}

	.contents_main .contents_footer_access__tel_block_text {
		grid-column: 1 / 2;
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		font-size: 15px;
		margin-right: 0.87em;
		font-weight: 500;
	}

	.contents_main .contents_footer_access__tel_block_tel {
		width: 180px;
		grid-column: 2 / 4;
		display: block;
		position: relative;
	}

	.contents_main .contents_footer_access__tel_block_sub_text {
		grid-column: 1 / 4;
		grid-row: 2 / 3;
		font-size: 10px;
		margin-top: 0.55em;
	}


	.contents_main .contents_footer_access__contact_block {
		display: grid;
		grid-template-columns: auto auto 1fr;
		align-items: center;
		row-gap: 1px;
	}

	.contents_main .contents_footer_access__contact_block_tel {
		grid-column: 2 / 4;
		display: block;
		position: relative;
		width: 228px;
	}

	.contents_main .contents_footer_access__contact_block_tel img {
		width: 100%;
	}

	.contents_main .contents_footer_access__contact_block_sub_text {
		grid-column: 2 / 4;
		grid-row: 2 / 3;
		font-size: 10px;
		margin-top: 0.55em;
	}

	.contents_main .contents_footer_access__contact_block_tit {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
		height: 100%;
		padding: 0 1.5em;
		margin-right: 13px;
		font-size: 10.6px;
	}
}

@media screen and (max-width: 768px) {
	.contents_main .contents_footer {
		padding: 28px 0 69px;
	}

	.contents_main .contents_footer__tit {
		width: 44%;
		max-width: 250px;
		margin-bottom: 32px;
	}

	.contents_main .contents_footer__links {
		width: 100%;
		-moz-column-gap: 3.7%;
		column-gap: 3.7%;
	}

	.contents_main .contents_footer__links_item {
		width: 45%;
		height: 47px;
	}

	.contents_main .contents_footer__links_inner {
		font-size: 1.04em;
	}

	.contents_main .contents_footer__links_inner::after {
		right: 18px;
		width: 11px;
	}

	.contents_main .contents_footer_access {
		margin-top: 44px;
	}

	.contents_main .contents_footer_access__text {
		margin-bottom: 12px;
	}


	.contents_main .contents_footer_access__inner {
		width: 100%;
		flex-direction: column;
		row-gap: 26px;
		text-align: center;
	}

	.contents_main .contents_footer_access__logo {
		-moz-column-gap: 10px;
		column-gap: 10px;
		width: 92%;
		margin: 0 auto;
		justify-content: center;
	}

	.contents_main .contents_footer_access__logo_tit:first-of-type {
		font-size: 0.82em;
		letter-spacing: -0.04em;
	}

	.contents_main .contents_footer_access__contact_block_tel_text {
		font-size: 1.06em;
		margin: 0 auto 5px;
	}



	.contents_main .contents_footer_access__tel_block_text {
		font-size: 1.02em;
		margin-bottom: 0.73em;
	}

	.contents_main .contents_footer_access__tel_block_tel {
		display: block;
		margin-bottom: 0.55em;
	}

	.contents_main .contents_footer_access__tel_block_sub_text {
		font-size: 0.73em;
	}


	.contents_main .contents_footer_access__contact_block_tel img {
		width: 255px;
		margin-bottom: 0.32em;
	}

	.contents_main .contents_footer_access__contact_block_sub_text {
		font-size: 0.73em;
		margin-top: 0.55em;
	}

	.contents_main .contents_footer_access__contact_block_tit {
		width: -webkit-fit-content;
		width: -moz-fit-content;
		width: fit-content;
		padding: 0.28em 1.8em 0.44em;
		margin: 0.4em auto 0.82em;
	}
}


/* ------------------------------

	fixed_footer

------------------------------ */
@media screen and (max-width: 768px) {
	body {
		--fixed_footer_height: 17vw;
		padding-bottom: var(--fixed_footer_height);
	}

	.contents_main .fixed_footer {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		background: linear-gradient(90deg, rgba(0, 96, 176, 1) 0%, rgba(6, 100, 170, 1) 13.08%, rgba(23, 111, 153, 1) 30.38%, rgba(50, 130, 126, 1) 50.03%, rgba(88, 156, 88, 1) 71.43%, rgba(137, 188, 39, 1) 94%, rgba(151, 198, 25, 1) 100%);
		color: var(--color-white);
		z-index: 10;
		width: 100%;
		height: var(--fixed_footer_height);
		font-size: calc(var(--fixed_footer_height) * 0.15);
	}

	.contents_main .fixed_footer__list {
		display: flex;
		width: 100%;
		height: 100%;
	}

	.contents_main .fixed_footer__list_item {
		flex: 1;
		width: 100%;
		height: 100%;
	}

	.contents_main .fixed_footer__list_item:nth-of-type(n+2) {
		border-left: 1px solid #808d6b;
	}

	.contents_main .fixed_footer__list_inner {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		row-gap: 0.69em;
		width: 100%;
		height: 100%;
		padding-bottom: 1.1%;
		font-size: 1em;
	}

	.contents_main .fixed_footer__list_inner img {
		--size: calc(var(--fixed_footer_height) * 0.362);
		width: 8.2vw;
		height: calc(var(--size) * (28/25));
		-o-object-fit: contain;
		object-fit: contain;
	}

	.contents_main .fixed_footer__list_text {
		line-height: 1;
		white-space: nowrap;
		font-size: 1.06em;
		letter-spacing: 0.025em;
		font-weight: 500;
	}
}