/* 
	--------------------------------------------------
	created at: 2026/03/17
	author: Yuu Yamamoto
	description: ブラウザからサーバー内まで完全にキャッシュが無効で、all.min.cssに融合されないCSSファイル。
	--------------------------------------------------
検証用やテストアップ、開発用途のみで使用しなければなりません。
作業完了後や公開時に page.css や layout.css など適切なファイルに書き込んだあと、bundler.cssの指示に従ってall.min.cssと合体させてください。
*/

/* layout */
:root {
	--head-height: 140px;
	--c-blue: #4873c3;
	--c-pink: #ec3690;
	--c-orange: #ec870d;
	--c-black: #000000;
}
@media (max-width:991px) {
	:root {
		--head-height: 95px;
	}
}

@scope (html.test202607){
/* layout */
#head .head_wrap { height:var(--head-height); display:flex; flex-direction:column; potition:relative; }
#head .head_wrap .head_top { padding:10px 20px; width:100%; max-width:1040px; padding-left:20px; padding-right:20px; margin-left:auto; margin-right:auto; flex:1; display:flex; gap:20px; justify-content:space-between; }
#head .site_logo_wrap { display:flex; align-items:flex-end; }
#head .site_logo { display:flex; gap:15px; align-items:flex-end; }
#head .site_logo:hover { text-decoration:none; }
#head .site_logo .site_text { line-height:1.2; font-weight:bold; color:#717071; letter-spacing:1px; }
#head .mypage_navi_wrap { display:flex; align-items:flex-end; }
#head .head_mypage_navi { display:flex; gap:10px; }
#head .head_mypage_navi li a { color:var(--c-pink); padding:4px 8px; display:inline-flex; align-items:center; gap:2px; border:1px solid var(--c-pink); border-radius:15px; line-height:1.2; font-weight:bold; letter-spacing:1px; }
#head .head_mypage_navi li a::after { content:""; width:18px; height:18px; background:url(/common/image/layout/icon_arrow_11.svg) no-repeat center center / contain; display:block; }
#head .head_mypage_navi li a:hover { text-decoration:none; }
#head .head_wrap .head_bottom { background:rgba(255,255,255,.8); border-style:solid; border-width:1px 0; border-color:rgba(229,229,229,.6); height:50px; }
#head .bottom_navi_wrap { padding:0 20px; width:100%; max-width:1040px; padding-left:20px; padding-right:20px; margin-left:auto; margin-right:auto; display:flex; height:100%; }
#head .bottom_navi_wrap .head_sub_navi { flex:1; display:flex; align-items:center; }
#head .bottom_navi_wrap .head_sub_navi li { flex:1; text-align:center; border-left:1px solid rgba(229,229,229,.6); padding:0 5px; }
#head .bottom_navi_wrap .head_sub_navi li a { font-size:.9em; color:#717071; white-space:nowrap; }
#head .bottom_navi_wrap .head_main_navi { display:flex; }
#head .bottom_navi_wrap .head_main_navi li a { height:100%; display:flex; align-items:center; justify-content:center; min-width:110px; background:var(--c-black); color:#fff; letter-spacing:1px; font-size:.9em; font-weight:500; }
#head .bottom_navi_wrap .head_main_navi li a:hover { text-decoration:none; }
#head .bottom_navi_wrap .head_main_navi li._student a { background:var(--c-blue); }
#head .bottom_navi_wrap .head_main_navi li._company a { background:var(--c-pink); }
#head .bottom_navi_wrap .head_main_navi li._contact a { background:var(--c-black); }

@media (min-width:992px) {
	#head #btn_open { display:none; }
}
@media (max-width:991px) {
	#head .mypage_navi_wrap,
	#head .bottom_navi_wrap .head_sub_navi,
	#head .bottom_navi_wrap .head_main_navi li:not(._contact) { display:none; }
	#head .head_wrap { flex-direction:row; justify-content:space-between; padding-top:30px; }
	#head .site_logo .site_text { width:100%; height:30px; position:absolute; top:0; left:0; display:flex; align-items:center; justify-content:center; font-size:.9em; border-bottom:1px solid rgba(229,229,229,.6); }
	#head .head_wrap .head_bottom { border:0; height:100%; }
	#head .bottom_navi_wrap { padding:0; }
	#head #btn_open a { display:block; width:auto; height:100%; aspect-ratio:1/1; background:url(/common/image/layout/nav_open.png) no-repeat center center / cover; }
	#base.-open #head #btn_open a { background-image:url(/common/image/layout/nav_close.png); }
}


/* top */
body#top { background:url(/common/image/contents/top/bg_top.png) repeat-y top center / 100% auto; }

#top_mainvisual { padding-top:20px; container-type:inline-size; --slide-width:min(1000px, calc(100cqw - 40px)); --slide-overlap:calc(var(--slide-width) * 0.06); }
#top_mainvisual .top_mainvisual_slider { padding-bottom:0; margin-bottom:30px; }
#top_mainvisual .unit { width:var(--slide-width); margin-left:calc(-1 * var(--slide-overlap) / 2); margin-right:calc(-1 * var(--slide-overlap) / 2); }
#top_mainvisual .unit.is-current { z-index:1; position:relative; }
#top_mainvisual .unit .image { border-radius:1000px; overflow:hidden; aspect-ratio:1000/550; }
#top_mainvisual .unit .image img { width:100%; height:100%; object-fit:cover; }
#top_mainvisual .slick-arrow { width:calc(var(--slide-overlap)); height:auto; aspect-ratio:60/250.05; top:50%; left:auto; right:auto; position:absolute; z-index:2; display:flex; align-items:center; justify-content:center; transform:translateY(-50%); }
#top_mainvisual .slick-arrow::before { content:""; display:block; width:21px; height:37px; background:no-repeat center center / contain; opacity:1; z-index:2; }
#top_mainvisual .slick-arrow::after { content:""; display:block; width:100%; height:100%; top:50%; left:50%; transform:translate(-50%, -50%); position:absolute; background:var(--c-blue); opacity:.4; --mask:url(/common/image/layout/slide-arrow-bg.svg) no-repeat center center / contain; mask:var(--mask); -webkit-mask:var(--mask); z-index:1; }
#top_mainvisual .slick-arrow:hover::after { opacity:.6; }
#top_mainvisual .slick-prev { right:calc(50% + var(--slide-width) / 2 - var(--slide-overlap)); }
#top_mainvisual .slick-prev::before { background-image:url(/common/image/layout/slide-arrow-l.svg); }
#top_mainvisual .slick-next { left:calc(50% + var(--slide-width) / 2 - var(--slide-overlap)); }
#top_mainvisual .slick-next::before { background-image:url(/common/image/layout/slide-arrow-r.svg); }
#top_mainvisual .slick-dots { bottom:20px; display:flex; gap:12px; justify-content:center; }
#top_mainvisual .slick-dots li { width:auto; height:auto; }
#top_mainvisual .slick-dots li button { width:64px; display:flex; align-items:center; justify-content:center; padding:0; }
#top_mainvisual .slick-dots li button::before { content:""; display:block; background:#c9c9c9; width:100%; height:7px; border:1px solid #fff; top:auto; left:auto; position:relative; }
#top_mainvisual .slick-dots li.slick-active button::before { background:var(--c-black); }
#top_mainvisual .lead_text { font-size:1.2em; letter-spacing:1px; text-align:center; font-weight:bold; line-height:1.6; }

#prefecture_map .area-item { cursor:pointer; }
#prefecture_map .area-item .land { fill:#e0dac1; }
#prefecture_map .area-item.is-checked .land { fill:#a0b5dd; }
#prefecture_map [id$="-text"] { pointer-events:none; }
#prefecture_map .area-hit { fill:transparent; pointer-events:all; }
body.pc #prefecture_map .area-item:hover { opacity:.6; }

}