@charset "utf-8";
/*
Last Update: 2023/05/24
Auther: yt
*/
/*===================================================================
	base layout
===================================================================*/
.wrapper2, .wrapper2-t { padding-top:40px; }
.wrapper2, .wrapper2-b { padding-bottom:40px; }
@media (max-width: 767px){
	.wrapper, .wrapper-t { padding-top:60px; }
	.wrapper, .wrapper-b { padding-bottom:60px; }
}
@media (min-width: 768px){
	.wrapper, .wrapper-t { padding-top:80px; }
	.wrapper, .wrapper-b { padding-bottom:80px; }
}

.center { max-width:1100px; }
.center2 { max-width:900px; }
.center3 { max-width:600px; }
	@media (max-width:1140px){
		.center { padding-left:20px; padding-right:20px; }
	}
	@media (max-width: 940px){
		.center2 { padding-left:20px; padding-right:20px; }
	}
	@media (max-width: 640px){
		.center3 { padding-left:20px; padding-right:20px; }
	}

.scroll-hint-icon { top:40px!important; }
.scroll-hint-icon,
.scroll-hint-icon * { line-height:1!important; }

/*===================================================================
	color / font
===================================================================*/
.bg_color1 { background-color:#3387BA !important; }
.bg_color2 { background-color:#2A7EB1 !important; }
.bg_color3 { background-color:#759CB5 !important; }

.c_color1 { color:#3387BA !important; }
.c_color2 { color:#2A7EB1 !important; }
.c_color3 { color:#759CB5 !important; }

.bg_img1 { background:url(../image/layout/bg_1.png) no-repeat center bottom / cover; }

/*===================================================================
	common class
===================================================================*/
.need:not(._no) { border:1px solid #ff3a5f; background:#ff3a5f; color:#fff; }
.need._no { border:1px solid #ff3a5f; background-color:#fff; color:#ff3a5f; }
.error { background:#ffe1df; color:#ff453a; border:1px solid #ff453a; }

.list_pager ul li > * { border:1px solid #fff; width:40px; height:40px; display:inline-block; vertical-align:middle; line-height:18px; }
.list_pager ul li > a { text-decoration:none; background:#fff; color:#707070; }
.list_pager ul li > strong { color:#fff; font-weight:bold; background:#AE0442; border:1px solid #AE0442; }
body.pc .list_pager ul li > a:hover { background:#AE0442; color:#fff; }

.tel_wrap { text-align:center; }
.tel_wrap .tel_unit { font-weight:bold; }
.tel_wrap .tel_unit .tel { display:inline-block; line-height:100%; }
.tel_wrap .tel_time { font-size:0.9em; }
	@media (max-width: 575px){
		.tel_wrap { margin-bottom:10px; }
		.tel_wrap .tel_unit .tel { font-size:2em; }
	}
	@media (min-width: 576px){
		.tel_wrap .tel_unit .tel { font-size:2.25em; }
	}




/*===================================================================
	main
===================================================================*/
.hl_1 { text-align:center; display:flex; flex-direction:column; margin-bottom:40px; }
.hl_1 > * { display:inline-block; }
.hl_1 .main { position:relative; font-weight:bold; color:#759CB5; font-size:2.5em; line-height:1; }
.hl_1 .sub { line-height:1; font-weight:500; font-size:1.1em; color:#888888; }
@media (max-width:767px) {
	.hl_1 { background-size:auto 50px; }
	.hl_1 .main { font-size:2em; }
	.hl_1 .sub { font-size:1em; }
}
@media (max-width:575px) {
	.hl_1 .main { font-size:1.35em; }
}

.hl_2 { background:#759CB5; padding:15px 20px; margin-bottom:40px; }
.hl_2 .main { color:#fff; font-weight:bold; border-left:6px solid #fff; padding-left:10px; font-size:1.75em; line-height:1.2; }
@media (max-width:767px) {
	.hl_2 .main { font-size:1.25em; }
}

.hl_3 { padding-bottom:20px; margin-bottom:30px; position:relative; }
.hl_3::before { content:""; position:absolute; bottom:0; left:0; display:block; width:100%; height:5px; background:linear-gradient(to right, #759CB5 120px, #959595 120px); }
.hl_3 .main { color:#000000; font-weight:bold; font-size:1.75em; line-height:1.2; }
@media (max-width:767px) {
	.hl_3 .main { font-size:1.25em; }
}

.hl_4 { padding-bottom:15px; border-bottom:1px solid #DBDBDB; margin-bottom:15px; }
.hl_4 .main { color:#000000; font-weight:bold; font-size:1.25em; line-height:1.2; }
@media (max-width:767px) {
	.hl_4 .main { font-size:1.25em; }
}

.tbl_1 { width:100%; max-width:840px; margin-left:auto; margin-right:auto; white-space:normal; }
.tbl_1 tr > * { padding:20px 0; }
.tbl_1 tr > th { width:240px; color:#4B4B4B; text-align:left; font-weight:bold; font-size:1em; padding:20px 20px 20px 0; vertical-align:middle; }
@media (max-width:767px) {
	.scroll-hint-wrap > .tbl_1 { white-space:nowrap; }
	*:not(.scroll-hint-wrap) > .tbl_1 tr > * { display:block; width:100%; }
	*:not(.scroll-hint-wrap) > .tbl_1 tr > th { padding:0; width:100%; }
	*:not(.scroll-hint-wrap) > .tbl_1 tr > td { padding-top:10px; }
	*:not(.scroll-hint-wrap) > .tbl_1 tr:last-child > td { padding-bottom:0; }
}

.tbl_2 { width:100%; margin-left:auto; margin-right:auto; white-space:normal; }
.tbl_2 tr > * { padding:15px 0; border-bottom:1px solid #DDDDDD; }
.tbl_2 tr > th { width:200px; color:#2C2C2C; text-align:left; font-weight:bold; font-size:1em; padding:15px 20px 15px 0; }
@media (max-width:767px) {
	.scroll-hint-wrap > .tbl_2 { white-space:nowrap; }
	*:not(.scroll-hint-wrap) > .tbl_2 tr > * { display:block; width:100%; }
	*:not(.scroll-hint-wrap) > .tbl_2 tr > th { padding-right:0; width:100%; }
	*:not(.scroll-hint-wrap) > .tbl_2 tr > td { padding-top:10px; }
	*:not(.scroll-hint-wrap) > .tbl_2 tr:last-child > td { padding-bottom:0; }
}

.tbl_3 { width:100%; margin-left:auto; margin-right:auto; white-space:normal; }
.tbl_3 tr > * { padding:20px; }
.tbl_3 tr:nth-child(2n) > * { background:#F2F2F2; }
.tbl_3 tr > th { color:#2C2C2C; text-align:left; font-weight:bold; font-size:1em; }
@media (min-width:768px) {
	.tbl_3 tr > *:first-child { padding-left:40px; }
	.tbl_3 tr > *:last-child { padding-right:40px; }
}
@media (max-width:767px) {
	.scroll-hint-wrap > .tbl_3 { white-space:nowrap; }
	*:not(.scroll-hint-wrap) > .tbl_3 tr > * { display:block; width:100%; padding:10px; }
	*:not(.scroll-hint-wrap) > .tbl_3 tr > *:not(:last-child) { padding-bottom:0; }
	*:not(.scroll-hint-wrap) > .tbl_3 tr > th { padding-right:0; width:100%; }
	*:not(.scroll-hint-wrap) > .tbl_3 tr > td { padding-top:10px; }
	*:not(.scroll-hint-wrap) > .tbl_3 tr:last-child > td { padding-bottom:0; }
}
.tbl_4 { width:100%; margin-left:auto; margin-right:auto; white-space:normal; }
.tbl_4 tr > * { padding:15px; }
.tbl_4 tr > th,
.tbl_4 tr > td { border:1px solid #888888; vertical-align:middle; }
@media (max-width:767px){
	.tbl_4 tr, .tbl_4 th, .tbl_4 td { display:block; width:100%; text-align:left; }
	.tbl_4 tr > * { padding:5px 15px; }
}
.tbl_4 .canceled { background:#BBBBBB; }

form .tbl_1 tr > th { position:relative; padding-right:80px; }
form .tbl_1 thead tr > th { padding-right:0; }
form .tbl_1 tr > th .need { position:absolute; top:50%; transform:translateY(-50%); right:20px; background:#6B98B5; border-radius:0; border:0; padding:5px 10px; }
form .tbl_1 .input_wrap { display:flex; align-items:center; }
form .tbl_1 .input_wrap._name > ._label { width:40px; text-align:center; }
form .tbl_1 .input_wrap._name > input { width:calc(50% - 40px); }
@media (max-width:767px) {
	form .tbl_1 tr > th .need { right:0; }
}

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="date"], input[type="number"], input[type="url"], input[type="search"], textarea, select { padding:12px 16px; background:#FCFCFC; }

.form_buttons_wrap { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; width:calc(100% + 40px); margin-left:-20px; margin-right:-20px; }
.form_buttons_wrap .unit { margin-bottom:20px; padding:0 20px; }

.button._type1 { position:relative; min-width:240px; padding:10px 0; text-align:center; display:inline-block; background:#759CB5; border:2px solid #759CB5; }
.button._type1._transparent { background:transparent; }
.button._type1 .main { font-weight:500; color:#fff; font-weight:bold; display:inline-block; line-height:1.4; }
.button._type1._transparent .main { color:#759CB5; }
	@media (max-width:767px) {
		.button._type1 { }
	}
	@media (max-width:575px){
		.button._type1 { padding:10px 15px; width:100%; }
	}

.button._type2 { display:inline-block; background:#3387BA; border-radius:10px; color:#fff; padding:5px; padding:15px; font-weight:bold; min-width:320px; }
.button._type2._gray { background:#575757; }
.button._type2 .main { display:inline-flex; align-items:center; justify-content:center; }
.button._type2 .main::before { content:""; width:28px; height:26px; display:block; background:no-repeat center center / contain; margin-right:15px; }
.button._type2 .main.logout::before { background-image:url(../image/icon/logout.png); width:28px; height:26px; }
.button._type2 .main.mypage::before { background-image:url(../image/icon/mypage.png); width:20px; height:22px; }
@media (max-width:991px) {
	.button._type2 { padding:10px; }
	.button._type2 .main::before { margin-right:5px; }
	.button._type2 .main.logout::before { width:20px; }
	.button._type2 .main.mypage::before { width:16px; }
}

.button._type3 { background:#3387BA; text-align:center; display:inline-block; width:310px; max-width:100%; font-weight:bold; padding:20px; border-radius:50px; box-shadow:3px 3px 0 #0469A7; }
.button._type3 .main { color:#fff; font-size:1.25em; font-weight:500; letter-spacing:1px; }
.button._type3 .main._mail { padding-left:30px; background:url(../image/icon/mail.png) no-repeat center left / 20px auto; }


.login_form { max-width:560px; margin-left:auto; margin-right:auto; }
.login_form .id_wrap,
.login_form .mail_wrap,
.login_form .pass_wrap { position:relative; }
.login_form .id_wrap::before,
.login_form .mail_wrap::before,
.login_form .pass_wrap::before { content:""; background:no-repeat center center / contain; display:block; position:absolute; top:50%; left:25px; transform:translate(-50%,-50%); pointer-events:none; }
.login_form .id_wrap::before { width:18px; height:20px; background-image:url(../image/icon/id.png); }
.login_form .pass_wrap::before { width:14px; height:24px; background-image:url(../image/icon/pass.png); }
.login_form .mail_wrap::before { width:18px; height:14px; background-image:url(../image/icon/login_mail.png); }
.login_form input { padding-left:40px; padding-top:12px; padding-bottom:12px; background-repeat:no-repeat!important; background-position:center left 15px!important; background-size:auto 20px!important; }
.login_form .btn_remind { text-decoration:underline; color:#4B7C9B; }
.login_form .btn_remind:hover { text-decoration:none; }
@media (max-width:575px) {
	.login_form { max-width:100%; }
}

.box { box-shadow:0 1px 4px rgba(0,0,0,0.16); background:#fff; }
	@media (max-width: 575px){
		.box > .box_in { padding:30px 15px; }
	}
	@media (min-width: 576px){
		.box > .box_in { padding:40px 30px; }
	}

/*===================================================================
	layout
===================================================================*/
#head { position:relative; width:100%; z-index:100; transition:.2s; z-index:9999; }
#head .head_wrap { padding:0 20px; height:100%; display:flex; align-items:center; justify-content:space-between; height:90px; background:#fff; border-top:3px solid #4B7C9B; border-bottom:3px solid #E8E8E8; }
#head .site_logo { padding-right:20px; font-size:1em; }
#head .site_logo a { display:flex; flex-wrap:wrap; }
#head .site_logo a .sub { margin-right:10px; background:#4B7C9B; padding:5px 10px; border-radius:3px; color:#fff; font-weight:500; }
#head .site_logo a .main { font-size:1.75em; color:#4B7C9B; font-weight:500; }

#head .login_unit { position:relative;; display:flex; justify-content:flex-end; align-items:center; }
#head .login_unit .text { padding-right:20px; font-weight:bold; }
#head .login_unit .btn_wrap { display:flex; }
#head .login_unit .btn_wrap a { min-width:160px; }
#head .login_unit .btn_wrap a:not(:last-child) { margin-right:10px; }
	@media (max-width: 991px){
		#head .site_logo a .main { font-size:1.5em; }
		#head .site_logo a .sub { font-size:.9em; }
		#head .login_unit .btn_wrap a { min-width:120px; }
	}
	@media (max-width:767px) {
		#menu_cover { position:fixed; top:0; left:0; background:#fff; display:block; width:100vw; height:100vh; z-index:9998; }
		#base:not(.open) #head .login_unit { display:none; }
		#head .login_unit { position:fixed; top:60px; left:0; width:100%; padding:20px; }
		#head .login_unit .btn_wrap { flex-direction:column; width:100%; }
		#head .login_unit .btn_wrap a:not(:last-child) { margin-right:0; margin-bottom:10px; }
		#head .head_wrap { height:60px; }
	}
	@media (min-width:576px) {
		body#login #head .head_wrap { justify-content:center; }
	}
	@media (max-width:575px) {
		#head .head_wrap { justify-content:space-between; }
		#head .site_logo { width:calc(100% - 40px); }
		#head .site_logo a .main { font-size:1.25em; }
		#head .head_navi a { margin:0; display:block; line-height:1; }
		#head .head_navi a._mypage .main { padding-left:0; padding-top:35px; background-position:top center; background-size:auto 30px; display:inline-block; width:80px; }
		#head .login_unit { padding:10px 20px; display:flex; }
		#head .login_unit .btn_wrap a { min-width:100px; }
	}


body#login #btn_open { display:none !important; }
#btn_open { width:40px; margin-left:auto; line-height:1px; }
#btn_open a { position:relative; display:inline-block; width:100%; height:40px; }
#btn_open a > span { position:absolute; right:10px; height:2px; background:#fff; transition:all .3s; transform-origin:right center; }
#btn_open a > span.l1 { top:15px; width:19px; }
#btn_open a > span.l2 { top:20px; width:12px; }
#btn_open a > span.l3 { top:25px; width:19px; }
#base.open #btn_open a > span.l1 { top:13px; transform:rotate(-45deg); right:13px; }
#base.open #btn_open a > span.l2 { width:0; }
#base.open #btn_open a > span.l3 { top:26px; transform:rotate(45deg); right:13px; }
	@media (min-width: 768px){
		#btn_open { display:none !important; }
	}



#foot_contact { padding:50px 0; color:#fff; background:url(../image/layout/bg_foot_contact.jpg) no-repeat center center / cover; }
#foot_contact .hl_foot_contact { margin-bottom:30px; padding-bottom:15px; position:relative; text-align:center; }
#foot_contact .hl_foot_contact::before { content:""; display:block; position:absolute; width:48px; height:1px; background:#fff; left:50%; bottom:0; transform:translateX(-50%); }
#foot_contact .hl_foot_contact .main { color:#FFFFFF; font-size:1.75em; font-weight:500; }
#foot_contact .company_name { text-align:center; margin-bottom:30px; }
#foot_contact .company_name .main { font-size:1.25em; font-weight:500; }
#foot_contact .contact_wrap { display:flex; align-items:center; justify-content:center; }
#foot_contact .contact_wrap > *:not(:last-child) { padding-right:20px; }
#foot_contact .contact_wrap .tel_wrap { text-align:center; }
#foot_contact .contact_wrap .tel_wrap .tel { display:inline-block; color:#fff; font-size:2.5em; font-weight:500; padding-left:35px; background:url(../image/icon/tel.png) no-repeat center left / 28px auto; }
#foot_contact .contact_wrap .tel_wrap .tel a { color:#fff!important; }
#foot_contact .contact_wrap .tel_wrap .reception { display:flex; align-items:center; justify-content:center; }
#foot_contact .contact_wrap .tel_wrap .reception .label { color:#657174; padding:0 8px; border-radius:4px; margin-right:10px; background:#fff; font-weight:500; font-size:.8em; }
#foot_contact .contact_wrap .tel_wrap .reception .main { font-weight:500; font-size:.9em; }
@media (max-width:767px) {
	#foot_contact .contact_wrap { flex-direction:column; }
	#foot_contact .contact_wrap ._left { padding-right:0; padding-bottom:20px; }
	#foot_contact .company_name { margin-bottom:20px; }
}

#foot { background:#2A7EB1; color:#fff; font-weight:500; }
#foot .foot_wrap { display:flex; align-items:flex-end; justify-content:space-between; }
#foot .foot_wrap ._right { text-align:right; }
#foot .foot_wrap ._right .foot_navi { margin-bottom:10px; }
#foot .foot_logo { margin-bottom:10px; }
#foot a { text-decoration:underline; color:#fff!important; }
#foot a:hover { text-decoration:none; }
#foot .tel a { color:#fff!important; }
#copyright { text-align:center; font-size:0.9em; padding:8px 0; background:#fff; border-top:1px dotted #E6E6E6; color:#818181; }
@media (max-width:767px) {
	#foot .foot_wrap { flex-direction:column; align-items:center; text-align:center; }
	#foot .foot_wrap ._left { margin-bottom:20px; }
	#foot .foot_wrap ._right { text-align:center; }
}

.tbl_tour th,
.tbl_tour td { border:1px solid #CCCCCC; padding:5px 10px; vertical-align:middle; }
.tbl_tour th { background:#EEEEEE; font-weight:bold; }
