@charset "utf-8";
/*
	Last Update: 2025/05/31
	Auther: iw
*/
#enter { background:#fff; position:fixed; top:0; left:0; width:100vw; height:100vh; z-index:5000; transition:all 0.5s; }
#enter .enter_wrap { position:absolute; top:50%; left:0; width:100%; text-align:center; transform:translateY(-50%); }
#enter .enter_wrap svg { max-width:60vh; }
#enter .enter_wrap:after { content:""; position:absolute; top:0; left:0; width:100%; height:100%; background:#fff; transition:all 2.0s ease-in; }
#enter.active .enter_wrap:after { height:0; }
#enter.active2 { opacity:0; }
#enter svg .cls-1 { fill:#002998; }

#top_mainimage_wrap { position:relative; padding:10px 10px 0; }
#top_mainimage { position:relative; border-radius:20px; width:100%; overflow:hidden; }
#top_mainimage .canvas_wrap { position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; mix-blend-mode:overlay; transition:opacity 0.7s; }
#top_mainimage_text { position:absolute; left:0; padding:10px; }
#top_mainimage_text .top_mainimage_text_wrap { padding:80px 0 0 20px; color:#fff; text-shadow:0 0 5px rgba(0,0,0,0.8); }
#top_mainimage_text .title { font-weight:bold; margin-bottom:10px; letter-spacing:3px; }
#top_mainimage_text .title2 { font-weight:500; margin-bottom:15px; }
#top_mainimage_text .text { font-weight:500; }
#top_mainimage_scroll { position:absolute; left:auto; right:25px; text-align:right; }
#top_mainimage_scroll a { transform:rotate(90deg) translateX(50%); transform-origin:right center; color:#fff; }
#top_mainimage_scroll a:after { content:""; width:30px; height:1px; background:#fff; display:block; position:absolute; top:50%; left:0; transition:all 0.7s; box-shadow:0 0 5px rgba(0,0,0,0.8); }
#top_mainimage_scroll a > span { display:block; padding-left:35px; transition:all 0.7s; font-weight:500; font-size:12px; text-shadow:0 0 5px rgba(0,0,0,0.8); }
#top_mainimage_scroll a:hover:after { width:50px; }
#top_mainimage_scroll a:hover > span { padding-left:55px; }
	@media (max-width: 575px){
		#top_mainimage_text { top:auto; bottom:20px; transform:none; }
		#top_mainimage_text .title { font-size:2.25em; }
		#top_mainimage_text .title2 { font-size:1.15em; }
	}
	@media (min-width: 576px){
		#top_mainimage_text .title { font-size:3.25em; }
		#top_mainimage_text .title2 { font-size:1.25em; letter-spacing:1.5px; }
		#top_mainimage_text .text { letter-spacing:1px; }
	}
	@media (max-width: 768px){
		#top_mainimage_wrap { height:100vw; }
		#top_mainimage { height:100vw; }
	}
	@media (min-width: 767px){
		#top_mainimage_wrap { height:95vh; }
		#top_mainimage { height:calc(95vh - 20px); }
	}

#top1 { background:#38b6f2; }
#top1_back { position:absolute; top:0; left:0; width:100%; height:100%; filter:invert(1); mix-blend-mode:plus-lighter; }
#top1 .center2 { position:relative; }
#top1 .unit { background:#fff; }
#top1 .unit a { padding:20px; }
#top1 .unit .photo { text-align:center; }
#top1 .unit .title { font-weight:bold; color:var(--color1); font-size:1.5em; margin-bottom:10px; }
	@media (max-width: 575px){
		#top1 .unit a { display:block; }
		#top1 .unit .photo { margin-bottom:15px; }
		#top1 .unit .title { text-align:center; }
	}
	@media (min-width: 576px){
		#top1 .unit a { display:flex; align-items:center; }
		#top1 .unit .photo { width:140px; flex:1 0 auto; }
	}

#top2 { background:#213771; color:#fff; }
#top2 .photo { margin-top:-60px; }
	@media (max-width: 575px){
		#top2 { padding-top:40px; padding-bottom:40px; }
		#top2 .photo { margin-top:30px; }
	}

#top_news {}
#top_column { background:#f2f4fa; }


.news_list a { display:flex; width:100%; align-items:center; border-bottom:1px solid #ddd; padding:10px 0; }
.news_list .tag { display:inline-block; min-width:80px; font-size:0.8em; margin-right:20px; border:1px solid #ccc; padding:3px 0; }
.news_list .tag._c1 { border-color:#002998; color:#002998; }
.news_list .tag._c2 { border-color:#e44570; color:#e44570; }
.news_list .date { width:95px; color:#666; }
.news_list .title { text-decoration:underline; }
body.pc .news_list a:hover .title { color:var(--color2); }

a.column_unit { display:flex; height:100%; border:1px solid #ddd; background:#fff; }
a.column_unit .column_unit_wrap { display:block; padding:10px; }
a.column_unit .tag { margin-left:10px; font-size:12px; background:var(--color1); color:#fff; padding:3px 10px; }
a.column_unit .title { display:block; }
body.pc a.column_unit:hover { opacity:0.8; }


.hl_1 { text-align:center; margin-bottom:40px; }
.hl_1 .main { font-size:2.75em; color:var(--color1); letter-spacing:2px; }
.hl_1 .sub { margin-top:10px; letter-spacing:2px; }
.hl_2 { color:var(--color1); border-bottom:2px solid var(--color1); padding:0 0 10px; margin-bottom:15px; font-size:1.25em; }
.hl_3 { color:var(--color1); font-size:2em; }
.hl_3::after { content:""; display:block; width:60px; height:3px; background:#ddd; margin:20px 0 20px; }
.hl_4 { color:var(--color1); margin-bottom:5px; font-size:1.15em; }

.button._type1 { border:1px solid var(--color1); padding:8px 10px; min-width:150px; }
.button._type1.c_white { border-color:#fff; }


/*===================================================================
	entry
===================================================================*/
.entry a { color:var(--color1); }
.entry ul > li:before { content:"●"; color:var(--color1); }
.entry ul > li > ul > li:before { content:"■"; color:var(--color1); }
.entry ol > li:before { color:var(--color1); }
.entry ol > li > ol > li:before { color:var(--color1); }
.entry table thead th { background:var(--color1); color:#fff; font-weight:bold; }
.entry table thead td { background:var(--color1); color:#fff; font-weight:bold; }
.entry table tbody th { background:#fafafa; color:var(--color1); }
.entry table tbody td { background:#fff; }

.tbl_1 { width:100%; }
.tbl_1 tr > * { border:3px solid #fff; }
.tbl_1 tbody tr > th { background:#f2f4fa; font-weight:bold; }
	@media (max-width: 575px){
		.tbl_1:not(.tbl_sp) tr > * { padding:10px; }
		.tbl_1:not(.tbl_sp) tbody tr:nth-child(2n) > td { background:#fafafa; }
		.tbl_1.tbl_sp,
		.tbl_1.tbl_sp tbody,
		.tbl_1.tbl_sp tr,
		.tbl_1.tbl_sp tr > * { display:block; }
		.tbl_1.tbl_sp th { padding:7px 5px; }
		.tbl_1.tbl_sp td { padding:5px 5px 20px; }
	}
	@media (min-width: 576px){
		.tbl_1 tr > * { padding:15px; }
		.tbl_1 tbody tr:nth-child(2n) > td { background:#fafafa; }
	}


.tbl_form { width:100%; }
.tbl_form tr > th { background:#f2f2f7; }
.tbl_form tr > th > div { position:relative; padding-right:60px; line-height:100%; }
.tbl_form tr > th .need { position:absolute; right:0; top:50%; transform:translateY(-50%); }
	@media (max-width: 575px){
		.tbl_form .birthday_wrap .row { margin-bottom:10px; }
	}
	@media (max-width: 767px){
		.tbl_form,
		.tbl_form tbody,
		.tbl_form tr,
		.tbl_form tr > * { display:block; }
		.tbl_form tr > th { padding:15px 10px; }
		.tbl_form tr > td { padding:10px 0 30px; }
	}
	@media (min-width: 786px){
		.tbl_form tr > * { vertical-align:top; border-bottom:2px solid #ddd; }
		.tbl_form tr > th { padding:30px 15px; }
		.tbl_form tr > td { padding:20px 15px; }
	}
.button._form_send,
.button._form_back { border-radius:5px; width:250px; max-width:100%; font-weight:bold; padding:15px 0; border:none; }
.button._zip { border-radius:30px; padding:11px 10px; border:none; font-size:0.9em; }
.button._form_send { background:var(--color1); color:#fff; }
