@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 {
	/*-5px*/
	--yohaku-px_mtl_l:	145px;
	--yohaku-px_mtl:	115px;/*セクション上下マージン*/
	--yohaku-px_mtl_s:	75px;/*リクルートセクション左右マージン*/
	--yohaku-px_mtm_l:	55px;/*テキスト間マージン*/
	--yohaku-px_mtm:	45px;
	--yohaku-px_mtm_s:	35px;/*サブテキスト間マージン / 囲みマージン / リクルートテキスト間マージン / リクルートドロップシャドウマージン*/
	--yohaku-px_mts_l:	25px;
	--yohaku-px_mts:	20px;/*注釈上マージン / リクルート囲みマージン*/
	--yohaku-px_mts_s:	8px;
	--yohaku-px_mts_ss:	5px;

	--yohaku-vw_mtl_l:	20vw;
	--yohaku-vw_mtl:	15vw;/*セクション上下マージン*/
	--yohaku-vw_mtl_s:	14vw;/*リクルートセクション左右マージン*/
	--yohaku-vw_mtm_l:	11vw;/*テキスト間マージン*/
	--yohaku-vw_mtm:	9vw;
	--yohaku-vw_mtm_s:	6vw;/*サブテキスト間マージン / 囲みマージン / リクルートテキスト間マージン / リクルートドロップシャドウマージン*/
	--yohaku-vw_mts_l:	5vw;
	--yohaku-vw_mts:	3vw;/*注釈上マージン / リクルート囲みマージン*/
	--yohaku-vw_mts_s:	1vw;
	--yohaku-vw_mts_ss:	0.5vw;
}


@media screen and (max-width:600px) {
.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}.mts_ss{margin-top:var(--yohaku-vw_mtss_s)!important}.mbs_ss{margin-bottom:var(--yohaku-vw_mts_ss)!important}.pts_ss{padding-top:var(--yohaku-vw_mts_ss)!important}.pbs_ss{padding-bottom:var(--yohaku-vw_mts_ss)!important}
}

@media screen and (min-width:601px) {
.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}.mts_ss{margin-top:var(--yohaku-px_mts_ss)!important}.mbs_ss{margin-bottom:var(--yohaku-px_mts_ss)!important}.pts_ss{padding-top:var(--yohaku-px_mts_ss)!important}.pbs_ss{padding-bottom:var(--yohaku-px_mts_ss)!important}
}

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

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

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

@media screen and (max-width:600px) {
	.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;
	}

		header nav ul {
			scrollbar-color: auto;
		}

	.js_header_on header {
		background: #fff;
	}

	header .h_inner {
		pointer-events: none;
	}

	header .h_top {
		pointer-events: auto;
	}

	header .hamburger {
		--width: 10vw;
		--line-offset: 3.7vw;
		position: relative;
		width: 10vw;
		position: absolute;
		top: 1.9vw;
		right: 4vw;
		height: 10vw;
	}

	header .hamburger:before,
	header .hamburger:after {
		content: '';
		display: block;
		position: absolute;
		left: 50%;
		width: 6vw;
		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 {
		height:100%;
	}
	header .hamburger p:before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 10vw;
		aspect-ratio: 1/1;
		z-index: 1;
		border-radius: 2vw;
		background: var(--green);
	}


	header .hamburger em {
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		display: inline-block;
	}

	.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 {
		width: 100%;
		background: #fff;
		height: 100lvh;
		opacity: 0;
		pointer-events: none;
		visibility: hidden;
		transition: opacity 0.5s;
		height: calc(100dvh - var(--header_height));
		overflow: auto;
	}

	.js_header_on {
		overflow: hidden;
	}

	.js_header_on header nav {
		opacity: 1;
		pointer-events: auto;
		visibility: visible;
	}

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

	header nav .gnav>li:not(.special_movie)> a::before, 
	header nav .gnav >li:not(.special_movie)>a::after {
		z-index: 10;
		background: var(--green);
		width: 3.5vw;
		height:2px;
		content: "";
		position: absolute;
		right: 5.25vw;
			top: 50%;
		transform: translate(0%, -50%);
		transition: 0.5s;
	}

	header nav .gnav >li:not(.special_movie)>a::after {
		transform:translate(0%, -50%) rotate(90deg);
	}

	header nav .gnav >li>a.on::after {
		transform:translate(0%, -50%) rotate(0deg);
	}
	
	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 > .gnav > li:not(.special_movie) > a {
		padding: 2.8vw 11vw 2.9vw 4vw;
		background: var(--beige);
		color: var(--green);
		border-top: 1px solid var(--green);
	}

	header nav > .nav_con > .gnav > li > a + ul {
		margin-inline: 4vw;
		display: none;
	}

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

	header nav > .nav_con > .gnav > li > a + ul a {
		padding: 2.8vw 7vw 2.9vw 4vw;
		color: var(--green);
		border-top: 1px dashed var(--green);
	}
	header nav > .nav_con > .gnav > li > a + ul a::after {
		position:absolute;
		content:"";
		background:var(--green);
		width:6vw;
			aspect-ratio:1/1;
			-webkit-mask: url(../img/icon_arrow.svg) no-repeat center center /contain;
	mask: url(../img/icon_arrow.svg) no-repeat center center /contain;
			top: 50%;
	right: 0%;
	transform: translate(0%, -50%);
	}

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


header nav ul.gnav {
	border-bottom: 1px solid var(--green);
}

	.main-visual iframe {
		width: 56.25vh;  /* 100 * 9 / 16 */
		height: 100vh;
		min-width: 100vw;
		min-height: 177.77vw; /* 100 * 16 / 9 */
	}
	
	.page_side .side_nav {
		display: none;
	}

	.deco_txt_block +.deco_txt_block {
		margin-top: 17vw !important;
	}

	#irreplaceable.top_widecol .txt_tate {
		height: 91vw;
	}
}


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

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

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

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


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

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

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

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


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

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

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

@media screen and (min-width:601px) and ( max-width:1239px) {
	.pc_only,
	.pctb_none,
	.sp_only,
	.tb_none{
		display: none !important;
	}
	.inner {
		width: 1200px;
		margin-left: 20px;
		margin-right: 20px;
	}
	header .h_inner {
		width: calc(1200px + 20px + 20px);
	}
}