@charset "utf-8";


/*===cariier===cariier===cariier===
...................................

------------------------------ 余白

○(m or p)○(t or b)○(l or m or s)_○(none or l or s)

...................................
===cariier===cariier===cariier===*/

:root {
	--yohaku-px_mtl_l:	150px;
	--yohaku-px_mtl:	120px;
	--yohaku-px_mtl_s:	110px;/*セクション上下マージン120*/
	--yohaku-px_mtm_l:	60px;
	--yohaku-px_mtm:	50px;/*テキスト間マージン60*/
	--yohaku-px_mtm_s:	40px;
	--yohaku-px_mts_l:	30px;/*サブテキスト間マージン / 囲みマージン 40*/
	--yohaku-px_mts:	14px;/*注釈上マージン24*/
	--yohaku-px_mts_s:	10px;

	--yohaku-vw_mtl_l:	18vw;
	--yohaku-vw_mtl:	15vw;
	--yohaku-vw_mtl_s:	14vw;/*セクション上下マージン60*/
	--yohaku-vw_mtm_l:	11vw;
	--yohaku-vw_mtm:	9vw;/*テキスト間マージン 40*/
	--yohaku-vw_mtm_s:	6vw;
	--yohaku-vw_mts_l:	5vw;/*サブテキスト間マージン / 囲みマージン24*/
	--yohaku-vw_mts:	3vw;/*注釈上マージン16*/
	--yohaku-vw_mts_s:	1vw;
}


@media screen and (max-width:768px) {
.mtl_l{margin-top:var(--yohaku-vw_mtl_l)!important}.mbl_l{margin-bottom:var(--yohaku-vw_mtl_l)!important}.ptl_l{padding-top:var(--yohaku-vw_mtl_l)!important}.pbl_l{padding-bottom:var(--yohaku-vw_mtl_l)!important}.mtl{margin-top:var(--yohaku-vw_mtl)!important}.mbl{margin-bottom:var(--yohaku-vw_mtl)!important}.ptl{padding-top:var(--yohaku-vw_mtl)!important}.pbl{padding-bottom:var(--yohaku-vw_mtl)!important}.mtl_s{margin-top:var(--yohaku-vw_mtl_s)!important}.mbl_s{margin-bottom:var(--yohaku-vw_mtl_s)!important}.ptl_s{padding-top:var(--yohaku-vw_mtl_s)!important}.pbl_s{padding-bottom:var(--yohaku-vw_mtl_s)!important}.mtm_l{margin-top:var(--yohaku-vw_mtm_l)!important}.mbm_l{margin-bottom:var(--yohaku-vw_mtm_l)!important}.ptm_l{padding-top:var(--yohaku-vw_mtm_l)!important}.pbm_l{padding-bottom:var(--yohaku-vw_mtm_l)!important}.mtm{margin-top:var(--yohaku-vw_mtm)!important}.mbm{margin-bottom:var(--yohaku-vw_mtm)!important}.ptm{padding-top:var(--yohaku-vw_mtm)!important}.pbm{padding-bottom:var(--yohaku-vw_mtm)!important}.mtm_s{margin-top:var(--yohaku-vw_mtm_s)!important}.mbm_s{margin-bottom:var(--yohaku-vw_mtm_s)!important}.ptm_s{padding-top:var(--yohaku-vw_mtm_s)!important}.pbm_s{padding-bottom:var(--yohaku-vw_mtm_s)!important}.mts_l{margin-top:var(--yohaku-vw_mts_l)!important}.mbs_l{margin-bottom:var(--yohaku-vw_mts_l)!important}.pts_l{padding-top:var(--yohaku-vw_mts_l)!important}.pbs_l{padding-bottom:var(--yohaku-vw_mts_l)!important}.mts{margin-top:var(--yohaku-vw_mts)!important}.mbs{margin-bottom:var(--yohaku-vw_mts)!important}.pts{padding-top:var(--yohaku-vw_mts)!important}.pbs{padding-bottom:var(--yohaku-vw_mts)!important}.mts_s{margin-top:var(--yohaku-vw_mts_s)!important}.mbs_s{margin-bottom:var(--yohaku-vw_mts_s)!important}.pts_s{padding-top:var(--yohaku-vw_mts_s)!important}.pbs_s{padding-bottom:var(--yohaku-vw_mts_s)!important}
}

@media screen and (min-width:769px) {
.mtl_l{margin-top:var(--yohaku-px_mtl_l)!important}.mbl_l{margin-bottom:var(--yohaku-px_mtl_l)!important}.ptl_l{padding-top:var(--yohaku-px_mtl_l)!important}.pbl_l{padding-bottom:var(--yohaku-px_mtl_l)!important}.mtl{margin-top:var(--yohaku-px_mtl)!important}.mbl{margin-bottom:var(--yohaku-px_mtl)!important}.ptl{padding-top:var(--yohaku-px_mtl)!important}.pbl{padding-bottom:var(--yohaku-px_mtl)!important}.mtl_s{margin-top:var(--yohaku-px_mtl_s)!important}.mbl_s{margin-bottom:var(--yohaku-px_mtl_s)!important}.ptl_s{padding-top:var(--yohaku-px_mtl_s)!important}.pbl_s{padding-bottom:var(--yohaku-px_mtl_s)!important}.mtm_l{margin-top:var(--yohaku-px_mtm_l)!important}.mbm_l{margin-bottom:var(--yohaku-px_mtm_l)!important}.ptm_l{padding-top:var(--yohaku-px_mtm_l)!important}.pbm_l{padding-bottom:var(--yohaku-px_mtm_l)!important}.mtm{margin-top:var(--yohaku-px_mtm)!important}.mbm{margin-bottom:var(--yohaku-px_mtm)!important}.ptm{padding-top:var(--yohaku-px_mtm)!important}.pbm{padding-bottom:var(--yohaku-px_mtm)!important}.mtm_s{margin-top:var(--yohaku-px_mtm_s)!important}.mbm_s{margin-bottom:var(--yohaku-px_mtm_s)!important}.ptm_s{padding-top:var(--yohaku-px_mtm_s)!important}.pbm_s{padding-bottom:var(--yohaku-px_mtm_s)!important}.mts_l{margin-top:var(--yohaku-px_mts_l)!important}.mbs_l{margin-bottom:var(--yohaku-px_mts_l)!important}.pts_l{padding-top:var(--yohaku-px_mts_l)!important}.pbs_l{padding-bottom:var(--yohaku-px_mts_l)!important}.mts{margin-top:var(--yohaku-px_mts)!important}.mbs{margin-bottom:var(--yohaku-px_mts)!important}.pts{padding-top:var(--yohaku-px_mts)!important}.pbs{padding-bottom:var(--yohaku-px_mts)!important}.mts_s{margin-top:var(--yohaku-px_mts_s)!important}.mbs_s{margin-bottom:var(--yohaku-px_mts_s)!important}.pts_s{padding-top:var(--yohaku-px_mts_s)!important}.pbs_s{padding-bottom:var(--yohaku-px_mts_s)!important}
}


/*===cariier===cariier===cariier===
...................................

-------------------------- SP ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (max-width:768px) {

	.pc_only,
	.pctb_only,
	.sp_none,
	.tb_only {
		display: none !important;
	}

	html {
		font-size: 2.5vw;
	}

	.inner {
		width: 88vw;
		margin-left: 6vw;
		margin-right: 6vw;
	}

	.sp_tal {
		text-align: left;
	}

	.sp_taj {
		text-align: justify;
	}

	html:has(.js_header_on.js_header_move) body,
	html:has(.js_header_on.js_header_move) {
		overflow: hidden;
		scrollbar-color: transparent transparent;

		header nav ul {
			scrollbar-color: auto;
		}
	}

	.js_header_on header {
		background: #fff;
	}

	header .hamburger {
		--width: 10vw;
		--line-offset: 3.7vw;
		position: relative;
		width: 12vw;
		text-align: center;
		font-size: 1.15rem;
		padding-top: var(--width);
		line-height: 1;
		font-family: var(--en);
		letter-spacing: 0.12em;
		font-weight: 400;
	}

	header .hamburger:before,
	header .hamburger:after {
		content: '';
		display: block;
		position: absolute;
		left: 50%;
		width: 50%;
		height: 2px;
		z-index: 2;
		background: #fff;
		transform: translateX(-50%);
		transition: 0.4s;
	}

	header .hamburger:before {
		top: calc(var(--line-offset) - 1px);
	}

	header .hamburger:after {
		top: calc(var(--width) - var(--line-offset) - 1px);
	}

	header .hamburger p:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 1vw;
		width: 10vw;
		aspect-ratio: 1/1;
		z-index: 1;
		border-radius: 2vw;
		background: var(--color);
	}

	header .hamburger span {
		margin-top: 1vw;
		display: block;
		transition: 0.4s;
	}

	header .hamburger em {
		position: absolute;
		width: 100%;
		left: 0;
		bottom: 0;
		transition: 0.4s;
		opacity: 0;
	}

	.js_header_on header .hamburger span {
		opacity: 0;
	}

	.js_header_on header .hamburger em {
		opacity: 1;
	}

	.js_header_on header .hamburger:before,
	.js_header_on header .hamburger:after {
		top: calc(var(--width) / 2);
	}

	.js_header_on header .hamburger:before {
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.js_header_on header .hamburger:after {
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	header nav {
		display: none;
		width: 100%;
		background: #fff;
	}

	header nav .gnav a {
		text-decoration: none;
		font-weight: 700;
		letter-spacing: 0;
		display: block;
		position: relative;
		font-size: 2rem;
	}

	header nav .gnav a::before {
		z-index: 1;
		background: var(--color);
		width: 6vw;
		aspect-ratio: 1 / 1;
		content: "";
		position: absolute;
		border-radius: 50%;
		right: 8vw;
		top: 50%;
		transform: translate(0%, -50%);
	}

	header nav .gnav a::after {
		position: absolute;
		content: "";
		-webkit-mask-image: url(/assets/img/icon_arrow.svg);
		mask-image: url(/assets/img/icon_arrow.svg);
		-webkit-mask-repeat: no-repeat;
		mask-repeat: no-repeat;
		mask-size: contain;
		background: #fff;
		z-index: 2;
		width: 6vw;
		aspect-ratio: 1 / 1;
		border-radius: 50%;
		right: 8vw;
		top: 50%;
		transform: translate(0%, -50%);
	}

	header nav > .nav_con {
		max-height: calc(100dvh - var(--s_header));
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;

		html:has(#frontpage:not(.js_header_move)) & {
			max-height: calc(100dvh - var(--b_header));
		}
	}

	header nav > .nav_con > .btn_area,
	header nav > .nav_con > .gnav > li:nth-child(2n) {
		background: var(--beige);
	}

	header nav > .nav_con > .gnav > li > a {
		padding: 3.1vw 16vw 3.1vw 8vw;
	}

	header nav > .nav_con > .gnav > li > a + ul {
		margin-left: 12vw;
	}

	header nav > .nav_con > .gnav > li a + ul li {
		border-top: 1px solid #fff;
	}

	header nav > .nav_con > .gnav > li > a + ul a {
		font-size: 1.6rem;
		letter-spacing: 0;
		padding: 2vw 16vw 2.5vw 0vw;
	}

	header nav > .nav_con > .gnav > li:nth-child(2n + 1) a + ul li {
		border-color: var(--beige);
	}

	header .h_top {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		gap: 7.5vw;
		height: var(--b_header);
	}
}



/*===cariier===cariier===cariier===
...................................

-------------------------- PC ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (min-width:1040px), print {
	.pc_none,
	.pctb_none,
	.sp_only,
	.tb_only {
		display: none !important;
	}
	.inner {
		width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	a:hover {
		text-decoration: none;
		opacity: 0.7;
		transition: 0.5s ease;
		-webkit-transition: 0.5s ease;
	}
}


/*===cariier===cariier===cariier===
...................................

----------------------- TB/SP ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (max-width:1039px) {}


/*===cariier===cariier===cariier===
...................................

-------------------------- TB ONLY

...................................
===cariier===cariier===cariier===*/

@media screen and (min-width:769px) and ( max-width:1039px) {
	.pc_only,
	.pctb_none,
	.sp_only,
	.tb_none{
		display: none !important;
	}
	.inner {
		width: 1000px;
		margin-left: 20px;
		margin-right: 320px
	}
}
@media screen and (min-width:769px) and ( max-width:1200px) {
.top_overview:before {
	background-size: cover;
}
}
