@charset "utf-8";

/* Pattern common stye
================================================== */
.tab_flex_wrap{
	display: flex;
	gap: 0 2px;
}
.tab_flex_ttl{
	position: relative;
}
.tab_flex_ttl > p{
	height: 100%;
}
.tab_flex_ttl a{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 6px 10px 11px;
	background-color: #f2f2f2;
	height: 100%;
	border: 1px solid #cccccc;
	border-radius: 4px 4px 0 0;
	border-bottom: none;
	font-size: 111.11%;
	color: #02779e;
	font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.3s ease-in-out, border-color 0.3s ease-in-out, color 0.3s ease-in-out;
}
.tab_flex_cnt {
	position: relative;
	display: none;
	background-color: #ffffff;
	width: 100%;
	box-shadow: 0 0 7px 0 #b2b2b2;
	border-radius: 0 0 4px 4px;
	color: #222222;
	order: 3;
}
.tab_flex_inner{
	padding: 40px 40px 39px;
}
.tab_flex_ttl.tb_active a,
.tab_flex_ttl:not(.tb_active) a:hover,
.tab_flex_ttl:not(.tb_active) a:focus{
	background-color: #027da6;
	border-color: #027da6;
	color: #ffffff;
	z-index: 3;
}
.tab_wrapper.tb_active .tab_flex_ttl:after,
.tab_flex_ttl.tb_active:after{
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	margin: 0 auto;
	bottom: -9px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 16px 16px 0;
	border-color: #027da6 transparent transparent;
	z-index: 1;
	pointer-events: none;
}

/* Intro stye
================================================== */
#tmp_wrap_intro{
	padding: 20px 0;
	background: #ffffff url(/shared/templates/st_top_rn/images/icon/pattern_dot_rp.png) repeat left top;
	border-bottom: 2px solid #bcbbbb;
	color: #222222;
}

/* Travel stye
================================================== */
#tmp_travel{
	display: flex;
	margin-bottom: 12px;
	background-color: #ffffff;
	box-shadow: 0 0 7px 0 #b2b2b2;
	border-radius: 4px;
	color: #222222;
}
#tmp_travel .travel_main{
	display: flex;
	flex: 1 auto;
	padding-right: 10px;
	width: 100%;
}
#tmp_travel .travel_title{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	padding: 10px 25px 13px;
	background-color: #017071;
	border-radius: 4px 0 0 4px;
	color: #ffffff;
	width: 214px;
	text-align: center;
}
#tmp_travel .travel_title h2{
	font-size: 122.22%;
	font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	line-height: 1.6;
}
#tmp_travel .travel_cnt{
	flex: 1 auto;
	padding: 20px 0 20px 20px;
	width: 100%;
}
#tmp_travel .travel_links li{
	list-style: none;
	font-weight: normal;
	line-height: 1.4;
}
#tmp_travel .travel_links a{
	display: inline-flex;
	flex-flow: row wrap;
	gap: 10px 0;
	background-color: transparent;
	min-height: 26px;
	color: inherit;
	text-decoration: none;
}
#tmp_travel .travel_links a:hover .item_txt,
#tmp_travel .travel_links a:focus .item_txt{
	text-decoration: none;
}
#tmp_travel .travel_links .item_lbl{
	position: relative;
	flex-shrink: 0;
	padding: 0 5px 0 36px;
	min-width: 108px;
}
#tmp_travel .travel_links .item_lbl:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	background: transparent url(/shared/templates/st_top_rn/images/icon/icon_subway.png) no-repeat center center;
	background-size: 18px auto;
	width: 26px;
	height: 26px;
	border-radius: 3px;
}
#tmp_travel .travel_links .item_txt{
	position: relative;
	margin-top: -2px;
	padding-left: 47px;
	flex: 1 auto;
	text-decoration: underline;
}
#tmp_travel .travel_links .item_txt:before{
	content: '';
	position: absolute;
	left: 1px;
	top: 2px;
	width: 26px;
	height: 26px;
	background-color: transparent;
	background-repeat: no-repeat;
	background-size: 100% auto;
	color: inherit;
}
#tmp_travel .item_green{
	color: #008000;
}
#tmp_travel .item_green .item_lbl:before{
	background-color: #008000;
}
#tmp_travel .item_green.status_o .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_o_green.png);
}
#tmp_travel .item_green.status_x .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_x_green.png);
}
#tmp_travel .item_green.status_v .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_v_green.png);
}
#tmp_travel .item_orange{
	color: #c75108;
}
#tmp_travel .item_orange .item_lbl:before{
	background-color: #c75108;
}
#tmp_travel .item_orange.status_o .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_o_orange.png);
}
#tmp_travel .item_orange.status_x .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_x_orange.png);
}
#tmp_travel .item_orange.status_v .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_v_orange.png);
}
#tmp_travel .item_blue{
	color: #1d1dff;
}
#tmp_travel .item_blue .item_lbl:before{
	background-color: #1d1dff;
}
#tmp_travel .item_blue.status_o .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_o_blue.png);
}
#tmp_travel .item_blue.status_x .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_x_blue.png);
}
#tmp_travel .item_blue.status_v .item_txt:before{
	background-image: url(/shared/templates/st_top_rn/images/icon/status_v_blue.png);
}
#tmp_travel .travel_links li:not(:last-of-type){
	margin-bottom: 10px;
}
#tmp_travel .travel_switch{
	flex-shrink: 0;
	padding: 15px 10px 20px 20px;
	width: 286px;
}
#tmp_travel .switch_ttl{
	margin-bottom: 14px;
	font-size: 88.89%;
	font-weight: normal;
	line-height: 1.4;
}
#tmp_travel .switch_list{
	display: flex;
	flex-flow: row wrap;
	gap: 13px 18px;
}
#tmp_travel .switch_list li{
	list-style: none;
	font-size: 88.89%;
	line-height: 1.4;
	font-weight: normal;
}
#tmp_travel .switch_list input{
	margin-right: 10px;
}

/* mainvisual stye
================================================== */
/* banner */
#tmp_mainvisual{
	display: flex;
}
#tmp_mainvisual .mv_main{
	flex: 1 1 auto;
	padding-right: 20px;
	width: 68.34%;
}

/* banner */
#tmp_mainvisual .mv_banner{
	margin-bottom: 12px;
}
#tmp_mainvisual .mv_banner img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

/* carousel */
#tmp_mainvisual .mv_carousel {
	position: relative;
	display: flex;
	flex-flow: row wrap;
	gap: 10px;
	padding: 9px 9px 65px;
	background-color: #ffffff;
	box-shadow: 0 0 7px 0 #b2b2b2;
	border: 1px solid #cccccc;
	border-radius: 4px;
	overflow: hidden;
}
#tmp_mainvisual .mv_carousel .splide{
	display: flex;
	flex-direction: column-reverse;
	gap: 10px;
}
#tmp_mainvisual .mv_carousel .splide__controls {
	position: absolute;
	right: 0;
	bottom: -55px;
	width: calc(40% - 14px);
	align-self: center;
	z-index: 10;
}
#tmp_mainvisual .mv_slide {
	position: relative;
}
#tmp_mainvisual .mv_slide,
#tmp_mainvisual .mv_slide a,
#tmp_mainvisual .mv_slide a > span {
	display: block;
	overflow: hidden;
}
#tmp_mainvisual .mv_slide_img:focus,
#tmp_mainvisual .mv_slide a:focus-visible {
	outline: 3px solid #222222;
	outline-offset: -3px;
}
#tmp_mainvisual .mv_thumbnail {
	position: absolute;
	left: 9px;
	bottom: 9px;
	display: flex;
	align-items: center;
	gap: 10px;
	width: calc(60% + 4px);
	z-index: 1;
}
#tmp_mainvisual .thumbnail_item {
	list-style: none;
	max-width: calc((100% - 20px) / 3);
	background-color: #ffffff;
}
#tmp_mainvisual .thumbnail_item a {
	position: relative;
	display: flex;
	justify-content: center;
	background-color: #ffffff;
	opacity: 0.6;
	color: #000000;
	z-index: 1;
	text-align: center;
}
#tmp_mainvisual .thumbnail_item a:focus-visible {
	outline-offset: -1px;
}
#tmp_mainvisual .thumbnail_item.active a {
	opacity: 1;
}
#tmp_mainvisual .mv_slide img,
#tmp_mainvisual .thumbnail_item_img img{
	vertical-align: top;
	width: 100%;
	height: auto;
	transition: opacity 0.3s ease-in-out;
}
/* aside */
#tmp_mainvisual .mv_aside{
	flex-shrink: 0;
	width: 31.66%;
	align-self: flex-start;
}
#tmp_ryokinsearch{
	background: #ffffff url(/shared/templates/st_top_rn/images/icon/pattern_bus.png) no-repeat right 2px bottom 2px;
	box-shadow: 0 0 7px 0 #b2b2b2;
	border-radius: 4px;
	color: #222222;
}
#tmp_ryokinsearch .aside_title{
	padding: 11px 20px 15px;
	background-color: #027da6;
	border-radius: 4px 4px 0 0;
	font-size: 122.22%;
	font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
	color: #ffffff;
}
#tmp_ryokinsearch .aside_title .title_sub{
	font-size: 72.72%;
}
#tmp_ryokinsearch .aside_cnt{
	padding: 13px 20px 9px;
}

/* traffic */
#tmp_traffic{
	display: none;
}

/* reference stye
================================================== */
#tmp_reference_index{
	padding: 52px 0 60px;
}
#tmp_reference_index .title_top_primary{
	margin-bottom: 25px;
}
#tmp_reference_tab .tab_flex_ttl{
	flex: 1 1 calc(50% - 1px);
}
#tmp_reference_tab .tab_flex_ttl .ttl_sub{
	display: inline-block;
	vertical-align: bottom;
	padding-bottom: 3px;
	font-size: 80%;
}
#tmp_reference_tab .tab_flex_ttl:nth-child(3) a{
	padding-left: 23px;
}
#tmp_reference_tab .tab_flex_cnt {
	background-image: url(/shared/templates/st_top_rn/images/icon/pattern_train.png),url(/shared/templates/st_top_rn/images/icon/pattern_dot_line_rp.png);
	background-repeat: no-repeat, repeat-x;
	background-position: right 2px bottom 7px, -1px bottom;
	background-size: auto;
}
#tmp_reference_tab .reference_list{
	display: flex;
	flex-flow: row wrap;
	gap: 20px;
}
#tmp_reference_tab .reference_list .item{
	list-style: none;
}
#tmp_reference_tab .reference_list a{
	display: flex;
	background-color: #ffffff;
	height: 100%;
	border: 1px solid #888888;
	border-radius: 4px;
	color: #222222;
	line-height: 1.34;
	font-weight: normal;
	text-decoration: none;
}
#tmp_reference_tab .reference_list .item_img{
	flex-shrink: 0;
}
#tmp_reference_tab .reference_list img{
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
#tmp_reference_tab .reference_list .item_txt{
	display: flex;
	flex-direction: column;
	flex: 1;
}
#tmp_reference_tab .type_hoz .item{
	width: calc((100% - 40px)/3);
}
#tmp_reference_tab .type_hoz a{
	align-items: center;
	padding: 19px 19px 18px;
}
#tmp_reference_tab .type_hoz .item_img{
	margin-right: 20px;
	width: 80px;
}
#tmp_reference_tab .type_hoz .item_txt{
	margin-top: -4px;
}
#tmp_reference_tab .type_hoz .item_txt > span{
	width: fit-content;
}
#tmp_reference_tab .type_ver .item{
	width: calc(25% - 15px);
}
#tmp_reference_tab .type_ver a{
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 11px 18px;
}
#tmp_reference_tab .type_ver .item_img{
	margin-bottom: 6px;
}
#tmp_reference_tab .type_ver .item_txt{
	align-items: center;
	text-align: center;
}
#tmp_reference_tab .reference_list:not(:last-of-type){
	margin-bottom: 19px;
}

/* Information stye
================================================== */
.section_top_information {
	padding-bottom: 104px;
}
.block_top_links {
	margin-bottom: 53px;
	border: 8px solid #6BBCA2;
	border-radius: 4px;
	background-color: #FFFFFF;
	box-shadow: 0 0 7px 0 #B2B2B2;
	padding: 22px 22px 25px;
	color: inherit;
}
.block_top_links>ul {
	list-style: none;
}
.block_top_links>ul>li:not(:last-of-type) {
	margin-bottom: 8px;
}
.block_top_links .link_common:has(a) {
	display: block;
	background-image: url(/shared/templates/st_top_rn/images/icon/icon_link_03.png);
}
.block_top_links .link_common:has(a)::after {
	content: none;
}
.block_top_links .link_common a {
	display: inline-block;
	text-decoration: none;
	position: relative;
	color: #222222;
}
.block_top_links .link_common a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	border-bottom: 1px solid #222222;
	transform: scaleX(0);
	transition: transform 0.3s ease-in-out;
	transform-origin: left center;
}
.block_top_links .link_common a:hover::after {
	transform: scaleX(1);
}
.block_top_information {
	display: flex;
	gap: 60px;
}
.block_top_information .block_wrapper {
	padding-top: 7px;
	flex: 1 1 auto;
}
.block_top_information .block_sidebar {
	width: calc(360 / 1200 * 100%);
	flex: 0 0 auto;
}
.block_top_information .sidebar_box:not(:last-of-type) {
	margin-bottom: 32px;
}
.list_top_news li {
	list-style: none;
	padding: 15px 0 13px;
	border-bottom: 1px dotted #e6e6e6;
}
.list_top_news .item_date {
	margin-bottom: 4px;
	font-size: 88.89%;
}
#tmp_tablist_information .list_additional {
	margin-top: 11px;
	display: flex;
	justify-content: flex-end;
}
#tmp_tablist_information .list_additional .link_common {
	background-position: left 8px;
	font-size: 88.89%;
}
.title_top_primary {
	margin-bottom: 23px;
}
.title_top_primary>*{
	background: url(/shared/templates/st_top_rn/images/icon/icon_title_01.png) left 8px no-repeat;
	background-size: 20px auto;
	padding-left: 30px;
	display: block;
	font-size: 122.22%;
	font-family: "UD Shin Go Medium", "游ゴシック", YuGothic, 'メイリオ', Meiryo, sans-serif;
	font-weight: 500;
}
#tmp_tablist_information .tab_flex_ttl {
	width: calc((100% - 6px) / 3);
}
#tmp_tablist_information .tab_flex_inner {
	padding: 9px 19px 12px;
}
.button_top_inquiry a {
	border: 1px solid #888888;
	border-radius: 4px;
	padding: 28px 19px;
	background-color: #FFFFFF;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 111.11%;
	color: inherit;
	text-decoration: none;
}
.button_top_inquiry a[href]:active {
	color: inherit;
}
.button_top_inquiry .button_icon {
	width: 61px;
	margin-right: 23px;
	flex: 0 0 auto;
}
.button_top_inquiry .button_icon img {
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* custom hover */
#tmp_reference_tab .reference_list .item_txt > span,
.button_top_inquiry .button_label {
	position: relative;
}
#tmp_reference_tab .reference_list .item_txt > span::after,
.button_top_inquiry .button_label::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 0;
	right: 0;
	border-bottom: 1px solid #222222;
	transform: scaleX(0);
	transition: transform 0.3s ease-in-out;
	transform-origin: left center;
}
#tmp_reference_tab .reference_list a:hover .item_txt > span::after,
#tmp_reference_tab .reference_list a:focus .item_txt > span::after,
.button_top_inquiry a:hover .button_label::after,
.button_top_inquiry a:focus .button_label::after {
	transform: scaleX(1);
}


/* Accessibility stye
================================================== */
/* color */
.color_black #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl:after,
.color_blue #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl:after,
.color_black #tmp_wrapper .tab_flex_ttl.tb_active:after,
.color_blue #tmp_wrapper .tab_flex_ttl.tb_active:after{
	border-top-color: #ffff00;
}
.color_yellow #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl:after,
.color_yellow #tmp_wrapper .tab_flex_ttl.tb_active:after{
	border-top-color: #000000;
}
.color_black #tmp_wrapper #tmp_travel .travel_main,
.color_black #tmp_wrapper .tab_flex_ttl,
.color_black #tmp_wrapper .tab_flex_ttl > *,
.color_blue #tmp_wrapper #tmp_travel .travel_main,
.color_blue #tmp_wrapper .tab_flex_ttl,
.color_blue #tmp_wrapper .tab_flex_ttl > *,
.color_yellow #tmp_wrapper #tmp_travel .travel_main,
.color_yellow #tmp_wrapper .tab_flex_ttl,
.color_yellow #tmp_wrapper .tab_flex_ttl > *,
.color_black #tmp_wrapper #tmp_ryokinsearch .aside_cnt,
.color_blue #tmp_wrapper #tmp_ryokinsearch .aside_cnt,
.color_yellow #tmp_wrapper #tmp_ryokinsearch .aside_cnt{
	background-color: transparent !important;
}
.color_black #tmp_wrapper #tmp_reference_tab .reference_list img,
.color_blue #tmp_wrapper #tmp_reference_tab .reference_list img,
.color_yellow #tmp_wrapper #tmp_reference_tab .reference_list img{
	background-color: #ffffff !important;
}
.color_black #tmp_wrapper .tab_flex_ttl a{
	background-color: #000000 !important;
}
.color_blue #tmp_wrapper .tab_flex_ttl a{
	background-color: #00008B !important;
}
.color_yellow #tmp_wrapper .tab_flex_ttl a{
	background-color: #ffff00 !important;
}

.color_black #tmp_wrapper #tmp_travel,
.color_black #tmp_wrapper #tmp_ryokinsearch,
.color_black #tmp_wrapper .tab_flex_inner,
.color_blue #tmp_wrapper #tmp_travel,
.color_blue #tmp_wrapper #tmp_ryokinsearch,
.color_blue #tmp_wrapper .tab_flex_inner,
.color_yellow #tmp_wrapper #tmp_travel,
.color_yellow #tmp_wrapper #tmp_ryokinsearch,
.color_yellow #tmp_wrapper .tab_flex_inner{
	border: 1px solid;
}
.color_black #tmp_wrapper #tmp_travel .travel_title,
.color_blue #tmp_wrapper #tmp_travel .travel_title,
.color_yellow #tmp_wrapper #tmp_travel .travel_title{
	border-right: 1px solid;
}
.color_black #tmp_wrapper #tmp_ryokinsearch .aside_title,
.color_blue #tmp_wrapper #tmp_ryokinsearch .aside_title,
.color_yellow #tmp_wrapper #tmp_ryokinsearch .aside_title{
	border-bottom: 1px solid;
}
.color_black #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl>p>a,
.color_blue #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl>p>a,
.color_yellow #tmp_wrapper .tab_wrapper.tb_active .tab_flex_ttl>p>a,
.color_black #tmp_wrapper .tab_flex_ttl.tb_active a,
.color_blue #tmp_wrapper .tab_flex_ttl.tb_active a,
.color_yellow #tmp_wrapper .tab_flex_ttl.tb_active a,
.color_black #tmp_wrapper .tab_flex_ttl:not(.tb_active) a:hover,
.color_blue #tmp_wrapper .tab_flex_ttl:not(.tb_active) a:hover,
.color_yellow #tmp_wrapper .tab_flex_ttl:not(.tb_active) a:hover,
.color_black #tmp_reference_tab .reference_list a:hover,
.color_black #tmp_reference_tab .reference_list a:focus,
.color_black #tmp_wrapper .button_top_inquiry a:hover .button_label,
.color_black #tmp_wrapper .button_top_inquiry a:focus .button_label,
.color_blue #tmp_reference_tab .reference_list a:hover,
.color_blue #tmp_reference_tab .reference_list a:focus,
.color_blue #tmp_wrapper .button_top_inquiry a:hover .button_label,
.color_blue #tmp_wrapper .button_top_inquiry a:focus .button_label,
.color_yellow #tmp_reference_tab .reference_list a:hover,
.color_yellow #tmp_reference_tab .reference_list a:focus,
.color_yellow #tmp_wrapper .button_top_inquiry a:hover .button_label,
.color_yellow #tmp_wrapper .button_top_inquiry a:focus .button_label {
	text-decoration: underline;
}
.color_blue #tmp_wrapper .button_top_inquiry .button_icon>img,
.color_black #tmp_wrapper .button_top_inquiry .button_icon>img,
.color_yellow #tmp_wrapper .button_top_inquiry .button_icon>img {
	background-color: #FFFFFF !important;
}
.color_blue #tmp_reference_tab .reference_list .item_txt > span::after,
.color_blue #tmp_wrapper .button_top_inquiry .button_label::after,
.color_black #tmp_reference_tab .reference_list .item_txt > span::after,
.color_black #tmp_wrapper .button_top_inquiry .button_label::after,
.color_yellow #tmp_reference_tab .reference_list .item_txt > span::after,
.color_yellow #tmp_wrapper .button_top_inquiry .button_label::after {
	content: none;
}

/* fsize */
.fsize_small #tmp_wrapper .title_top_primary>* {
	background-position: left 2px;
}
.fsize_small #tmp_wrapper #tmp_tablist_information .list_additional .link_common {
	background-position: left 5px;
}

/* no-js & no-splide*/
.no_javascript #tmp_wrapper #tmp_mainvisual .mv_carousel{
	padding-bottom: 9px;
}
.no_javascript #tmp_wrapper #tmp_mainvisual .mv_carousel .splide{
	visibility: visible;
}
.no_javascript #tmp_wrapper #tmp_mainvisual .mv_carousel .splide__track{
	overflow-y: auto;
	max-height: 319px;
}
.no_javascript #tmp_wrapper #tmp_mainvisual .mv_carousel .splide__list,
#tmp_mainvisual .mv_carousel .no-splide .splide__list{
	flex-direction: column;
	row-gap: 10px;
}
.no_javascript .tab_flex_wrap{
	flex-flow: column !important;
}
.no_javascript .tab_flex_ttl{
	flex: 1 !important;
	width: 100% !important;
}
.no_javascript .tab_flex_cnt{
	display: block !important;
	margin-bottom: 20px !important;
	order: inherit !important;
}
.no_javascript .tab_flex_cnt:last-child{
	margin-bottom: 0 !important;
}
/* furi */
.furigana_on #tmp_reference_tab .type_hoz .item_txt > span{
	overflow-wrap: anywhere;
}

