#top_wide_banner {
	display: block;
	position: relative;
	padding: 12px 0;
	text-align: center;
	background-color: #287ecc;
	color: #ffffff;
}

#top_wide_banner h2 {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0;
}

#top_wide_banner h2 .point {
	color: #c7ff6e;
}

#top_wide_banner p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	margin: 0;
}

#header_wrapper {
	display: block;
	position: relative;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
	padding: 20px 0;
}

header nav,
header {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-end;
}

header nav {
	gap: 0 80px;
}

a.nav_link {
	font-size: 20px;
	font-weight: 600;
	margin: 0 0 10px;
	letter-spacing: -0.025rem;
}

a.nav_link_b {
	font-size: 18px;
	font-weight: 600;
	margin: 0 0 10px;
	letter-spacing: -0.025rem;
}

a.nav_link:hover,
a.nav_link_b:hover {
	color: var(--main);
}

.addon {
	display: inline-block;
	width: 28px;
	height: 28px;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	font-size: 0px;
	vertical-align: middle;
}

.addon.booking { background-image: url('../images/icon-reservation.png'); }
.addon.insurance { background-image: url('../images/icon-insurance.png'); }
.addon.info { background-image: url('../images/icon-info.png'); }

.addon.md { width: 40px; height: 40px; }
.addon.lg { width: 60px; height: 60px; }

main {
	padding: 30px 0 40px;
	background-repeat: repeat-x;
	background-image: url('../images/bg.jpg');
	background-color: #fff;
}

#goods_search_wrapper {
	display: block;
	position: relative;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	border: 1px solid #77b9f6;
	background-color: #fff;
}

.search_input_group {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
	padding: 0px 15px;

}

.search_input_group label {
	flex-basis: 20%;
	font-size: 18px;
	font-weight: 600;
	color: #222;
}

.search_input {
	flex-basis: 80%;
}



#slider_wrapper {
	display: block;
	position: relative;
	margin-top: 30px;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
	background: transparent;
}

#slider_wrapper .swiper-wrapper {
	background: transparent;
}

#slider_wrapper .swiper-slide {
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	overflow: hidden;
	background: transparent;
}

#special_wrapper .swiper-button-next.swiper-button-disabled, 
#special_wrapper .swiper-button-prev.swiper-button-disabled,
#slider_wrapper .swiper-button-next.swiper-button-disabled, 
#slider_wrapper .swiper-button-prev.swiper-button-disabled {
    opacity: .9;
    cursor: auto;
    pointer-events: none;
}

#special_wrapper .swiper-button-prev, 
#special_wrapper .swiper-rtl .swiper-button-next,
#slider_wrapper .swiper-button-prev, 
#slider_wrapper .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, -23px);
    right: auto;
}

#special_wrapper .swiper-button-next, 
#special_wrapper .swiper-rtl .swiper-button-prev,
#slider_wrapper .swiper-button-next, 
#slider_wrapper .swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, -23px);
    left: auto;
}

#special_wrapper .swiper-button-next, 
#special_wrapper .swiper-button-prev,
#slider_wrapper .swiper-button-next, 
#slider_wrapper .swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: 45px !important;
    height: 45px !important;
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #666666;
	background-color: #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
}

#special_wrapper .swiper-button-prev:after, 
#special_wrapper .swiper-rtl .swiper-button-next:after,
#slider_wrapper .swiper-button-prev:after, 
#slider_wrapper .swiper-rtl .swiper-button-next:after {
    content: '';
}

#special_wrapper .swiper-button-next:after, 
#special_wrapper .swiper-rtl .swiper-button-prev:after,
#slider_wrapper .swiper-button-next:after, 
#slider_wrapper .swiper-rtl .swiper-button-prev:after {
    content: '';
}


.section {
	display: block;
	position: relative;
	padding: 0;
	margin: 60px 0;
}

.section_title {
	margin: 0 0 35px;
}
.section_title h2 {
	font-size: 26px;
	font-weight: 700;
	color: #000;
	letter-spacing: -0.025rem;
	line-height: 1.2;
	margin: 0 0 10px;
}

.section_title p {
	font-size: 16px;
	font-weight: 500;
	color: #666;
	letter-spacing: -0.025rem;
	line-height: 1.4;
	margin: 0 0 0px;
}

#goods_wrapper {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
}

.goods_box {
	flex: 0 0 calc(20% - 20px);
	background-color: #ffffff;
	border: 1px solid #dddddd;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
}

.goods_thumb {
	background-color: #f8fafb;
	padding: 15px 0;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
}

.goods_thumb img {
	width: 100%;
	border-radius: 8px 8px 0 0;
}

.goods_text {
	display: block;
	padding: 18px 16px;
	background-color: #fff;
	border-radius: 0 0 8px 8px;
	overflow: hidden;
}

.goods_type {
	display: table;
	font-size: 0.785rem;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
	background-color: var(--main);
	padding: 4px 10px;
	border-radius: 12px;
	margin: 0 0 4px;
}

.goods_name {
	font-size: 18px;
	font-weight: 700;
	color: #000;
	line-height: 1.4;
	letter-spacing: -0.05rem;
	margin: 0 0 5px;
}

.goods_p {
	font-size: 20px;
	font-weight: 700;
	color: var(--main);
	line-height: 1.4;
	letter-spacing: -0.05rem;
	margin: 0 0 0px;
}

.goods_p small {
	font-size: 14px;
	font-weight: 500;
	color: #444444;
	line-height: 1.2;
	letter-spacing: -0.05rem;
}


#benefit_wrpper {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 27px;
}


.benefit_box {
	flex: 0 0 calc(33.3333% - 27px);
	background-color: #3c639e;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	height: 145px;
	display: flex;
	position: relative;
	flex-flow: row wrap;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	padding: 0 40px;	
}

.benefit_box p {
	font-size: 20px;
	font-weight: 600;
	color: #fff;
	line-height: 1.3;
	margin: 0;
}

.benefit_icon {
	width: 60px;
	height: 60px;
}

.benefit_icon img {
	width: 100%;
}

.benefit_box:nth-child(2) { background-color: #334f7a; }
.benefit_box:nth-child(3) { background-color: #35435b; }
.benefit_box:nth-child(4) { background-color: #373f45; }
.benefit_box:nth-child(5) { background-color: #20324e; }
.benefit_box:nth-child(6) { background-color: #273140; }

#special_wrapper {
	display: block;
	position: relative;
	padding: 0;
}

.special_box {
	width: 575px;
	height: 320px;
	background-color: #000;
	border-radius: 8px;
	overflow: hidden;
}

.special_box_bg {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
	border-radius: 8px;
	overflow: hidden;
}

.special_box_bg img {
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
}

.special_things {
	display: block;
	position: relative;
	padding: 50px;
	z-index: 20;
}

.special_things h3 {
	font-size: 28px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.2;
	letter-spacing: -0.05rem;
	margin: 0 0 15px;
}

.special_things p {
	font-size: 16px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.8);
	line-height: 1.5;
	letter-spacing: -0.025rem;
	margin: 0px;
}

#special_wrapper .swiper-horizontal>.swiper-pagination-bullets, 
#special_wrapper .swiper-pagination-bullets.swiper-pagination-horizontal, 
#special_wrapper .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: -50px;
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%;
}

#special_wrapper .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 10px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 10px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

#special_wrapper .swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--main);
}


#reserved_process {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
}

.process_box {
	position: relative;
	flex: 0 0 calc(20% - 20px);
	background-color: #f8f8f8;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	text-align: center;
	padding: 30px 0 20px;
	cursor: default;
}

.process_box:before {
	display: block;
	position: absolute;
	top: 50%;
	right: -32px;
	margin-top: -23px;
	color: #444444;
	background-color: #fff;
	width: 45px;
	height: 45px;
	line-height: 45px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
	font-weight: 900;
	font-family: 'Font Awesome 5 Free';
	content: '\f061';
	z-index: 30;
}

.process_box:last-child:before {
	display: none;
}

.process_icons {
	width: 55px;
	height: 55px;
	margin: 0 auto 15px;
}

.process_box h6 {
	font-size: 20px;
	font-weight: 600;
	color: #000;
	line-height: 1.5;
	letter-spacing: -0.05rem;
	margin: 0px;
}

.process_box p {
	font-size: 14px;
	font-weight: 500;
	color: #444444;
	line-height: 1.3;
	letter-spacing: -0.05rem;
	margin: 0px;
}


#user_guide_wrapper {
	display: block;
	position: relative;
	border: 1px solid #dddddd;
	border-radius: 8px;
	overflow: hidden;
	background-color: #fff;
}

.guide_panel {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}

.guide_panel + .guide_panel {
	border-top: 3px solid #e1e8f1;
}

.panel_tabs {
	flex: 0 0 20%;
	background-color: #f3f8ff;
	box-sizing: border-box;
	padding: 30px;
}

.panel_tabs h3 {
	font-size: 25px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
	letter-spacing: -0.05rem;
	margin: 0px;
}

.panel_contents {
	flex: 0 0 80%;
	box-sizing: border-box;
	padding: 30px;
}

.panel_contents dl {
	display: block;
	position: relative;
	margin: 10px 0;
	padding-left: 25px;
}

.panel_contents dl dt {
	font-size: 17px;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
	letter-spacing: -0.05rem;
	margin: 0 0 5px;
}

.panel_contents dl dd {
	font-size: 15px;
	font-weight: 500;
	color: #444;
	line-height: 1.7;
	letter-spacing: -0.05rem;
	text-indent: 15px;
}

.panel_contents dl ul {
	padding: 5px 0px;
}

.panel_contents dl ul li {
	font-size: 14px;
	font-weight: 500;
	color: #666;
	line-height: 1.7;
	letter-spacing: -0.05rem;
	text-indent: 12px;
}


#cs_wrapper {
	display: block;
	position: relative;
	padding: 45px 0 45px;
	border-top: 1px solid #dddddd;
	background-color: #fff;
}

#cs_wrapper li {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: -0.025rem;
}

#cs_wrapper li a {
	color: #444;
}

#cs_wrapper li a:hover {
	color: var(--main);
} 

footer {
	padding: 45px 0;
	background-color: #202837;
}

.com_info {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	gap: 0 20px;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 500;
	margin-top: 10px;
	font-size: 15px;
}

footer p {
	color: rgba(255, 255, 255, 0.6);
	font-weight: 500;
	font-size: 15px;
}

.branch_label {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.6);
	font-weight: 500;
	padding: 3px 5px;
	border-radius: 3px;
	margin-right: 5px;
	background-color: #131a27;
}


a#goto_top {
	display: none;
    position: fixed;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.9);
    text-align: center;
    overflow: hidden;
    z-index: 100;
    border: none;
    padding: 0;
    margin: 0;
    outline: none;
	width: 55px;
	height: 55px;
	line-height: 55px;
	left: 50%;
	right: 20px;
	bottom: 180px;
	margin-left: 620px;
	color: #fff;
}


.info_box {
	display: flex;
	position: relative;
	border-radius: 8px;
	padding: 15px 20px;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	border: 1px solid #dcdcdc;
	background-color: #f8f8f8;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
	gap: 0 15px;
}

.info_box ul li {
	font-size: var(--text-lg);
}


/*===============================================================================================================

	SUB LAYOUT

===============================================================================================================*/
#sub_wrapper {
	display: block;
	position: relative;
	margin: 0;
	padding: 0px 0 100px;
}

#sub_container {
	display: flex;
	position: relative;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 0 60px;
	box-sizing: border-box;
}

#sub_contents {
	flex: 0 0 calc(80% - 60px);
	position: relative;
	vertical-align: top;
	padding: 50px 0 0;
	margin: 0 0px 0 0px;
	box-sizing: border-box;
}

#sub_page_title {
	display: block;
	position: relative;
	font-size: 1.8rem;
	color: #000;
	line-height: 1.5;
	padding: 0 0 15px;
	margin: 0 0 30px;
	letter-spacing: -0.05em;
	font-weight: 700;
	border-bottom: 1px solid #dddddd;
}

#lnb_wrapper {
	flex: 0 0 20%;
	position: relative;
	vertical-align: top;	
	padding: 0;
	box-sizing: border-box;
}

#lnb_title {
	display: block;
	position: relative;
	margin: 0;
	padding: 50px 0;
	background: #F0F4F9;
	color: #000000;
	text-align: center;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: -0.05em;
	border-bottom: 1px solid #0F83F1;
}

#lnb_nav {
	display: block;
	position: relative;
	margin: 0 0 40px;
	padding: 0;
}

#sub_tab_nav .lnb_link {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
}

.lnb_link a {
	display: block;
	position: relative;
	margin: 0;
	padding: 20px 20px;
	letter-spacing: -0.025em;
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--title-color);
	border-bottom: 1px solid #dddddd;
}

.lnb_link a.active,
.lnb_link a.active:hover {
	cursor: default;
	color: #0F83F1;
	font-weight: 500;
}

.lnb_link a.active i {
	float: right;
	line-height: 1.5;
}

.lnb_link a:hover {
	color: #0F83F1;
	font-weight: 500;
}