@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&family=M+PLUS+1p&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/*
Theme Name: 出雲一畑交通
Version: 1.0
*/

body {
margin:0;
background:#fff;
font-family: "Noto Sans JP", sans-serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
-webkit-text-size-adjust: 100%;
font-size:1rem;
color:#666;}

* {
box-sizing: border-box;
margin:0;
padding:0}

*:focus {
outline: none;}

html,body{
min-height:100vh;
display:flex;
flex-direction:column;}

html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,a,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{
margin:0;padding:0;border:0;outline:0;font-size:100%;font-weight:normal;vertical-align:baseline;}

main,article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{
display:block;}

html { box-sizing: border-box; } *, *:before, *:after { box-sizing: inherit; }

a{text-decoration:none;}
ul, ol{list-style:none;}
img{vertical-align:middle;}
img {
max-width:100%;
width :auto;}

.black{
color:#000;}

/*--- top_alert ---*/

.top_alert_base {
margin: 95px 0 0 0;
width: 100%;
overflow: hidden;}

.top_alert {
width: 100%;
position: relative;}

.top_alert li {
padding: 10px;
font-weight: 600;
font-size: 0.9rem;}

.alert_data {
font-weight: 600;
margin: 0 1rem 0 0;
font-size: 0.9rem;}

.alert_abnormality {
position: relative;
overflow: hidden;
transition: all 0.3s ease;}

.alert_content {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding-right: 50px;}

.alert_abnormality.overflowing .alert_content {
padding-right: 80px; }

.alert_abnormality.scrolling .alert_content {
white-space: normal;
text-overflow: clip;
padding-right: 0;}

.scroll-button {
display: none;
position: absolute;
right: 10px;
top: 50%;
transform: translateY(-50%);
margin:0;
padding: 2px 10px;
font-size: 0.8rem;
cursor: pointer;
z-index: 1;
border:1px solid #c8c8c8;
border-radius:3px;
background:#fff;}

.alert_abnormality.scrolling {
display: flex;
flex-direction: column;
align-items: flex-end;}

.alert_content {
width: 100%;}

.alert_abnormality.scrolling .scroll-button {
position: static;
margin-top: 10px;
transform: none;
align-self: flex-end;}

/*--- alert_status ---*/

.top_alert.red {
color:#fff;
background-color:#e60000;}

.top_alert.yellow {
background-color:#f9f60b;}

.top_alert.green {
color:#fff;
background-color:#3cc321;}

/*--- contact_modal ---*/

.contact_modal_base{
width:100%;
margin:0 0 30px 0;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;}

.contact_modal_base span{
font-size:0.9rem;}

.modal-caption{
display:block;
margin:20px 0 0 0;
font-size:0.8rem;}

.custom-modal-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1000;}

.custom-modal {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #fff;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
max-width: 500px;
width: 90%;}

.custom-modal-title {
font-size: 1.5em;
margin-bottom: 15px;
color: #333;}

.custom-modal-content {
font-size: 1em;
line-height: 1.6;
color: #666;}

.modal-link-content {
font-size: 1em;
line-height: 1.6;
color: #666;
text-align:center;
margin:0;}

.t_link{
margin:0 0 40px 0;}

.u_link{
margin:20px 0 20px 0;}

.tt_link a{
border:1px solid #c8c8c8;
color:#323232;
padding:10px 20px;
transition-duration: .3s;
-webkit-transition-duration:.3s;}

.tt_link a:hover{
border:1px solid #ff6b00;
background:#ff6b00;
color:#fff;}

.tt_link a i{
margin:0 0 0 10px;}

.custom-modal h4{
border-bottom:3px solid #ff6b00;
color:#323232;
font-weight:600;
padding:0 0 20px 0;
margin:0 0 20px 0;}

.custom-modal h5{
color:#323232;
font-weight:600;
padding:0 0 10px 0;
margin:0;}

.custom-modal-content .modal-tel{
display:block;
font-size: clamp(10px, 9vw, 40px);
font-weight:600;
color:#000;
margin:0;
text-align:center;}

.custom-modal-content .modal-tel i{
margin:0 10px 0 0;
}

.custom-modal-content .modal-tel a{}

@media (min-width: 751px) {
a[href*="tel:"] {
color:#000;
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.custom-modal-content .modal-tel_info{
display:block;
font-size:0.8rem;
text-align:center;
margin:0 0 20px 0;}

.custom-modal-close {
position: absolute;
top: 10px;
right: 10px;
font-size: 1.5em;
color: #999;
background: none;
border: none;
cursor: pointer;
transition-duration: .3s;
-webkit-transition-duration: .3s;}

.custom-modal-close:hover {
color: #333;}

button.modal-trigger {
padding: 20px;
width:100%;
max-width:960px;
margin:0 auto 0 auto;
font-weight:600;
font-size:1rem;
border-radius:5px;
background-color: #ff6b00;
color: #fff;
border: none;
cursor: pointer;
transition-duration: .3s;
-webkit-transition-duration: .3s;}

button.modal-trigger:hover {
background:#ff984d;}

area.modal-trigger {
background: none;
border: none;
padding: 0;
margin: 0;}

.ob{
width:100%;}

.custom-modal-content .rev_list{
margin:0;}

.imap{
margin:0 0 20px 0;}

@media screen and (max-width: 470px) {
	
.modal-trigger{
width:100%;}
	
}

/*--- slide ---*/

.top_slider_base {
position: relative;}

.slider-item{
width: 100%;
aspect-ratio: 2.35 / 1;
margin-right: 50px;
position: relative;
box-sizing:border-box;
overflow: hidden;}

.slider-item img {
object-fit: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;}

.caption_base {
position: absolute;
left: 0;
top: 0;
width: 50%;
max-width: 40%;
height: 100%;
backdrop-filter: blur(12px);
background: rgba(255, 255, 255, 0.8);
color:#323232;
display: flex;
align-items: center;
justify-content:flex-end;
box-sizing: border-box;
padding:0 0 0 20px;
z-index: 1;}

.caption {
width: 100%;
max-width: 449px;
padding: 0 20px 0 0;
box-sizing: border-box;
z-index: 2;}

.caption > h3 {
font-size:2rem;
font-weight:700;}

.caption p {
font-size: 0.9rem;
letter-spacing: 0.8pt;
word-break: break-all;
line-height:1.5;
margin: 0.5rem 0 0 0;}

.slider {
display: none;}

.slider.slick-initialized {
display: block;}

.slider .slick-dots {
width: 50px;
right: 0;
bottom: initial;
top: 50%;
transform: translateY(-50%);}

.slick-dotted.slick-slider{
margin:0!important;}

@media (max-width: 927px) {

.slider .slick-dots {
width: 100%;
right: 0;
bottom: 20px;
transform: none;}
	
.slider .slick-dots_m{
margin:30px 0 0 0;
display: flex;
justify-content: center;
align-items:center;
gap:30px;}

.slider .slick-dots_m li {
width: 15px;
height: 15px;
background: #e8e8e8;
border-radius: 50%;
cursor: pointer;}

.slider .slick-dots_m li:hover,
.slider .slick-dots_m li.slick-active {
background: #323232;}
	
.slider .slick-dots_m li button {
display: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
padding: 0;
border: none;
background-color: transparent;}
	
.top_slider_base {
margin:0 0 40px 0;}

.caption {
padding:0;}

.slider-item {
width:100%;
margin:0;
aspect-ratio: 3 / 4;}
	
.caption_base {
width: 100%;
max-width:100%;
height: auto;
bottom: 0;
top: auto;
left: 0;
justify-content:flex-start;
padding:20px;}
}


/*--- mobilemenu ---*/

.mobile_menu .mnav{
width:100%;
height:95px;
position:relative;}

.drawer{
position:absolute;
top:20px;
right:20px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;}

.mobile_logo{
position:absolute;
top:0;
left:0;
z-index:2;
height:95px;
display:flex;
align-items:center;
padding:0 0 0 15px;}

.mobile_logo img{
max-width:260px;
height:auto;
width:83%;}

/*--- drawer ---*/
	
.contents_header_base{
margin:55px 0 0 0;}
	
.mobile_menu{
position:relative;
width:100%;}
	
.mobile_header_base{
position:fixed;
z-index:1;
width:100%;
height:95px;
background:#fff;}

.navbar_toggle{
cursor:pointer;
z-index:3;
background:#ff6b00;
padding:15px;
width:55px;
height:55px;}

.navbar_toggle_icon {
position: relative;
display: block;
height: 2px;
width: 100%;
background: #fff;
-webkit-transition: ease .5s;
transition: ease .5s;}

.navbar_toggle_icon:nth-child(1) {
top: 0;}

.navbar_toggle_icon:nth-child(2) {
margin: 10px 0;}

.navbar_toggle_icon:nth-child(3) {
top: 0;}

.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
top: 11px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);}

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
opacity: 0;}

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
top: -13px;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);}

.menu{
position: fixed;
top: 0;
right: 0;
width: 100%;
height: 100vh;
min-height: 100vh;
min-height: calc(var(--vh, 1vh) * 100);
background: rgba(255,107,0,1);
pointer-events: none;
transform: translateX(100%);
transition: transform 0.3s ease-in-out;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;}

@media (min-width: 768px) {
	
.menu {
width: 500px;
transform: translateX(calc(100% + 500px));}
	
}

.menu_layout{
position: fixed;
width:100%;
height:calc(100% - 95px);
top: 95px;
right: 0;
overflow-y: auto;
-webkit-overflow-scrolling: touch;}

.menu.open{
z-index: 2;
pointer-events: auto;
transform: translateX(0);
pointer-events: auto;}

.mi{
font-size:1.6rem;
color:#e60000;
margin:0 10px 0 0;}

.mobile_menufooter{
width:90%;
display: flex;
flex-direction: column;
align-items:center;}

.mobile_listmenu li a i{
width:30px;
text-align:center;
font-size:1.2rem;
margin:0 0 0 auto;}

.mobile_listmenu li a{
display: flex;
font-size:1.2rem;
padding:1rem 30px 1rem 30px;
align-items: center;
color:#fff;
transition-duration: .3s;
-webkit-transition-duration:.3s;}

.mobile_listmenu li{
border-top:1px solid #ffc499;}

.mobile_listmenu li:last-of-type{
border-bottom:1px solid #ffc499;}

.mobile_listmenu li a:hover{
background:#ff984d;}

.drawer_footer{
width:100%;
max-width:200px;
margin:4rem auto 0 auto;}

.f_logo_1{
width:200px;
height:auto;
margin:0 0 20px 0;}

/*--- sns_icon ---*/

.drawer_sns{
width:100%;
display:flex;
justify-content:center;
margin:0 0 2rem 0;}

.drawer_sns > .sns ul{
gap:30px;}

.drawer_sns > .sns ul li a{
font-size:2rem;}

.sns ul{
display:flex;
align-items:center;
gap:20px;
margin:10px 0 0 0;}

.sns ul li a{
color:#fff;
font-size:1.5rem;
transition: all .3s ease;
-webkit-transition: all .3s ease;}

.sns ul li a:hover{
color:#ff6b00;}

.drawer_sns .sns ul li a:hover{
opacity:.6;
color:#fff;}

/*--- mt_menu ---*/

a .mt_menu, a .mt_menu_2{
width:100%;
background:#fff;
color:#000;
font-weight:600;
padding:20px;
line-height:1.5;
display:flex;
flex-wrap:wrap;
align-content:center;
justify-content:space-between;
gap:20px;
transition: all .3s ease;
-webkit-transition: all .3s ease;}

a .job{
border:3px solid #ff6b00;
border-radius:5px;}

.news_bt_pc a .mt_menu_2, .detail_link a .mt_menu_2{
border:1px solid #c8c8c8;}

.news_bt_pc a:hover .mt_menu_2, .detail_link a:hover .mt_menu_2{
border:1px solid #ff6b00;}

a .mt_menu .mt_i, a .mt_menu_2 .mt_i{
margin:0;
align-content:center;}

a:hover .mt_menu{
width:100%;
background:#ff984d;
color:#fff;}

a:hover .mt_menu_2{
width:100%;
background:#ff6b00;
color:#fff;}

a .mt_menu i, a .mt_menu_2 i{
line-height:1.5;
color:#ff6b00;}

a:hover .mt_menu i, a:hover .mt_menu_2 i{
color:#fff;}

/*--- main ---*/

.theme_main{
width:100%;
padding: 0 20px 20px 20px;}

.post_main{
width:100%;
max-width:960px;
margin:0 auto 0 auto;}

.pn img{
max-width: none !important;
width: auto !important;}

.post_main p{
font-size: 1rem;
letter-spacing: 0.8pt;
word-break: break-all;
line-height:1.5;
margin:0 0 2rem 0;}

.post_main p strong{
font-weight:600;}

.pn p{
margin:0;}

.pn p:last-child{
margin:0 0 2rem 0;}

.post_img{
width:100%;
max-width:700px;
display:flex;
flex-direction:column;
justify-content:center;
gap:20px;
margin:0 auto 60px auto;}

/*--- news ---*/

.home_modal_base{
width:100%;	
padding:0 20px 0 20px;}

.news_base{
width:100%;
margin:0 0 30px 0;
padding:20px;
border-top:1px solid #c8c8c8;
border-bottom:1px solid #c8c8c8;}

.news_main{
width:100%;
max-width:960px;
margin:0 auto 0 auto;
display:flex;
flex-wrap:wrap;
gap:40px;}

.news_list{
flex:1;}

.news_index{
margin:0 0 2rem 0;}

.news_under{
width:100%;
max-width:1280px;
margin:0 auto 2rem auto;
display:flex;
justify-content:center;
align-items:center;}

.lf > i{
margin:0 10px 0 0;}

.news_index li{
line-height:2;}

.news_archive li{
border-top:1px solid #e8e8e8;}

.news_index li{
padding:10px 0 10px 0;}

.news_archive li:last-of-type{
border-top:1px solid #e8e8e8;
border-bottom:1px solid #e8e8e8;}

.data{
color:#323232;
font-weight:600;
margin:0 20px 0 0;}

.news_header{
width: calc(250px - 60px);}

.news_bt_mo{
display:none;}

@media screen and (max-width: 640px) {

.data{
display:block;}
	
.news_header{
width: 100%;}
	
.news_main{
flex-direction:column;}

.news_bt_pc{
display:none;}
	
.news_bt_mo{
margin:20px 0 0 0;
display:block;}
	
}

.news_header a .mt_menu, .news_list a .mt_menu{
width:100%;
background:#fff;
color:#000;
border:1px solid #c8c8c8;
padding:10px;
line-height:1.5;
display:flex;
flex-wrap:wrap;
align-content:center;
justify-content:space-between;
gap:20px;
transition: all .3s ease;
-webkit-transition: all .3s ease;}

.news_header a:hover .mt_menu, .news_list a:hover .mt_menu{
width:100%;
background:#ff984d;
border:1px solid #ff984d;
color:#fff;}

.news_header a .mt_menu i, .news_list a .mt_menu i{
line-height:1.5;
color:#ff6b00;}

.news_header a:hover .mt_menu i, .news_list a:hover .mt_menu i{
color:#fff;}

/*--- news_imageeditor ---*/

.alignleft {
float: left !important;
margin-right: 20px !important;}

.alignright {
float: right !important;
margin-left: 20px !important;}

.aligncenter {
display: block !important;
margin:0 auto 0 auto !important;}

/*--- table_sort ---*/

.tab-content {
display: none;}

.tab-content.active {
display: block;}

/*--- table ---*/

table{
border:0;}

.tbcc {
width:100%;
border-radius:5px;
border: 1px solid #d2d2d2;
margin: 0 auto 2rem auto;
border-collapse: separate;
border-spacing: 0;
color: #666;
background:#fff;}

.tbcc .rev_list{
margin:0;}

.tbcc th{
color:#323232;
border-right:1px solid #d2d2d2;}

.tbcc th,
.tbcc td {
padding: 12px;
border-bottom: 1px solid #d2d2d2;}

.tbcc tr:last-child th,
.tbcc tr:last-child td {
border-bottom: none;}

.tbcc tr:first-child th{
border-radius:5px 0 0 0;}

.tbcc tr:last-child th {
border-radius:0 0 0 5px;}

.tbcc th {
width:20%;
max-width:150px;
background: #eee;
font-size:1rem;
font-weight:600;}

.tbcc tr:last-child {
border-bottom:0;}

.tbcc td{
padding:10px;
font-size:1rem;
line-height:1.2;}

.tdc td{
text-align:center;}

.tbcc th,
.tbcc td {
line-height:1.5;
vertical-align: middle;}

.tbcc strong{
font-weight:600;
color:#e60000;}

.tbcc td i{
margin:0 0 0 5px;}
 
@media screen and (max-width: 640px) {

.tbcc th,
.tbcc td {
display: block;
width: 100%;
max-width:100%;}

.tbcc tr{
margin:0 0 10px 0;}

.tbcc th{
border-right:none;
border-bottom:1px solid #d2d2d2;}

}

.tbcc td > h5{
color:#323232;
font-weight:600;
word-break: break-all;
letter-spacing: 0.8pt;
margin:0 0 1rem 0;}

/*--- main_contents_header_class ---*/

.mc_base{
margin:0 0 40px 0;}

.mc_header, .mc_header_w{
width:100%;
max-width:562px;
margin:100px auto 100px auto;
text-align:center;}

.mc_header_u, .mc_header_uw{
width:100%;
max-width:550px;
margin:0 auto 0 auto;
text-align:center;}

.mc_header, .mc_header_nb, .mc_header_u{
color:#323232;}

.mc_header_w, .mc_header_uw{
color:#fff;}

.mc_header h2, .mc_header_w h2, .mc_header_nb h2, .mc_header_u h2, .mc_header_uw h2 {
font-size: clamp(1.3rem, 2.5vw, 1.5rem);
font-weight: 700;
text-align: center;}

.mc_header span, .mc_header_w span, .mc_header_nb span, .mc_header_u span, .mc_header_uw span{
font-size:0.8rem;}

.mc_header:after, .mc_header_u:after{
content: "";
margin: 20px auto 20px auto;
display: block;
width: 30px;
height: 4px;
border-radius: 2px;
background: #ff6b00;}

.mc_header_w:after, .mc_header_uw:after{
content: "";
margin: 20px auto 20px auto;
display: block;
width: 30px;
height: 4px;
border-radius: 2px;
background: #fff;}

/*--- contents_service ---*/

.top_service_base a{
margin:0 0 40px 0;
display:flex;
align-items:center;}

.top_service_base_r a{
margin:0 0 40px 0;
display:flex;
flex-direction:row-reverse;
align-items:center;}

.top_service_base a .service_button, .top_service_base_r a .service_button{
margin:0 -20px -20px 0;}

.service_base{
margin:0 0 40px 0;
display:flex;
flex-wrap:wrap;
gap:40px;}

.service_panel{
flex-basis: calc(33.33% - 26.67px);
flex-grow: 0;
flex-shrink: 0;}

@media screen and (max-width: 768px) {

.service_panel{
flex-basis: calc(50% - 20px);}
	
}

@media screen and (max-width: 640px) {

.service_panel{
flex-basis: calc(100%);}
	
}

.service_panel a{
background:#eee;
display:flex;
flex-direction:column;
align-items:space-between;}

.service_panel a .service_text{
background:#eee;
height:200px;
margin:0;
padding:20px;}

.service_text{
background:#eee;
margin:0 0 0 -50px;
padding:20px;}

.top_service_base_r a .service_text{
z-index:0;
background:#eee;
margin:0 -50px 0 0;
padding:20px;}

.service_text > h3{
color:#323232;
font-size:1.5rem;
font-weight:700;
margin:0 0 1rem 0;}

a .service_text p{
color:#323232;}

.service_button > .mc_footer{
margin:0 0 0 auto;
width:200px;}

a .service_button .mc_footer .mt_menu{
width:100%;
background:#ff6b00;
color:#fff;
padding:10px;
line-height:1.5;
display:flex;
flex-wrap:wrap;
align-content:center;
justify-content:space-between;
gap:20px;
transition: all .3s ease;
-webkit-transition: all .3s ease;}

a:hover .service_button .mc_footer .mt_menu{
width:100%;
background:#ff984d;
color:#fff;}

a .service_button .mc_footer .mt_menu i{
line-height:1.5;
color:#fff;}

.top_service_base a img{
width:100%;
max-width:420px;
height:auto;}

.top_service_base_r a img{
width:100%;
max-width:420px;
height:auto;}

@media screen and (max-width: 1000px) {
	
.top_service_base a img, .top_service_base_r a img{
width:50%;}
	
.service_text > h3{
font-size:1rem;}
	
}

@media screen and (max-width: 746px) {
	
.top_service_base a, .top_service_base_r a{
flex-direction:column;}
	
.top_service_base a img, .top_service_base_r a img{
max-width:100%;
width:100%;}
	
.top_service_base a .service_text, .top_service_base_r a .service_text{
margin:0;}
	
.service_text > h3{
font-size:1rem;}
	
}

/*--- tab_button ---*/

.tab-container{
width:100%;
padding:20px;
background:#e8e8e8;}

.tabmenu-main {
width: 100%;
max-width: 1280px;
margin: 0 auto;
display: flex;
align-items: stretch;
flex-wrap: wrap;
gap: 20px;}

.tabmenu-main li {
position: relative;
flex: 1 1 calc(50% - 10px);
text-align: center;
border-radius: 5px;
transition-duration: .3s;}

.tabmenu-main li.active::after {
content: '';
position: absolute;
bottom: -19px;
left: 50%;
transform: translateX(-50%);
border-width: 10px;
border-style: solid;
border-color: #ff6b00 transparent transparent transparent;}

.tabmenu-main li a {
display: block;
padding: 10px;
font-weight:600;
color: #000;
font-size: clamp(0.9rem, 2vw + 0.5rem, 1.5rem);}

.tabmenu-main li.active {
cursor: default;
pointer-events: none;
background: #ff6b00;}

.tabmenu-main li.active a {
color:#fff;}

.tabmenu-main li span{
display:block;
font-size:0.8rem;}

.tabmenu-main li:not(.active) {
border: 3px solid #cccccc;
border-radius: 5px;}

.tabmenu-main li:not(.active):hover {
border-color: #ff6b00;}

.tabmenu-main li:not(.active):hover a {
color: #ff6b00;}

/*--- dl_list_class ---*/

.flex_list {
display: flex;
flex-wrap: wrap;
width: 100%;
gap: 20px;
margin: 0 0 2rem 0;}

.flex_list dt {
flex: 0 0 150px;}

.flex_list dd {
flex: 1 1 calc(100% - 170px);
min-width: calc(100% - 170px);}

/*--- disc_list ---*/

.rev_list {
list-style-type: disc;
margin:0 0 2rem 0;
padding:0 0 0 1.5rem;
width:100%;}

.rev_list li{
word-break: break-all;
font-size: 1rem;
letter-spacing: 0.8pt;
line-height: 2rem;}

.rev_list li strong{
font-weight:600;}

.rev_list li i{
margin:0 0 0 10px;}

.rev_numberlist{
list-style-type: decimal;
margin:0 0 2rem 0;
padding:0 0 0 1rem;
width:100%;}

.rev_numberlist li{
word-break: break-all;
font-size: 1rem;
letter-spacing: 0.8pt;
line-height: 2rem;}

/*--- sub_list ---*/

.caution_list{
list-style-type: none;
margin:0 0 2rem 0;}

.mailform .caution_list{
margin:2rem 0 0 0;
padding:0 0 0 1rem;}

.caution_list li{
padding-left :2rem;
text-indent: -1rem;}

.caution_list li::before{
content: "※";
display: inline-block;
width: 1rem;
word-break: break-all;
font-size: 1rem;
letter-spacing: 0.8pt;
line-height: 2rem;}

/*--- contents_page_common ---*/

.page_header_base {
position: relative;
display: flex;
align-items: center;
width: 100%;
min-height: 350px;
padding: 0;
overflow: hidden;}

.page_header {
position: relative;
display: flex;
align-items: center;
width: 100%;
max-width: 1280px;
margin: 0 auto;
padding-right: 33%;}

.page_caption {
width: calc(100% - 25%);
max-width: 500px;
padding: 20px;
z-index: 1;}

.page_header_img {
position: absolute;
right: 0;
top: 0;
height: 100%;
width: 50%;
overflow: hidden;
z-index: 0;}

.page_header_img img {
width: 100%;
height: 100%;
object-fit: cover;}

.page_header_base_mobile{
display:none;}

.page_header_base_mobile {
display: none;}

.page_header_img_mobile {
width: 100%;}

.page_header_img_mobile img {
width: 100%;
height: auto;
object-fit: cover;}

.page_caption_mobile {
padding: 20px;}

@media (max-width: 768px) {
	
.page_header_base {
display:none;}
	
.page_header_base_mobile{
display:block;}
	
}



.page_header h2, .page_caption_mobile h2{
font-size:1.8rem;
font-weight:700;}

.page_header span, .page_caption_mobile span{
font-size:0.8rem;}

/*--- fare ---*/

.page_column_base {
display: grid;
grid-template-columns: repeat(2, 50%);
width: 100%;
box-sizing: border-box;}

h3 + .page_column_base {
margin:0 0 30px 0;}

.page_column {
padding: 20px;}

.page_column > h4{
font-size: clamp(1rem, 5vw, 1.3rem);
font-weight:600;
padding:20px;
text-align:center;
color:#323232;
background:#e8e8e8;}

.page_column table {
width: 100%;
border-collapse: collapse;}

.page_column td {
padding: 8px;
border: 1px solid #e8e8e8;}

.page_column table td:nth-child(2),
.page_column table td:nth-child(3) {
text-align:center;
vertical-align: middle;}

@media (max-width: 768px) {

.page_column_base {
grid-template-columns: 1fr;}
	
}

/*--- taxi_gallery ---*/

.gallery {
display: flex;
gap: 10px;}

.figure {
cursor: pointer;
max-width: 100%;}

.figure figcaption{
font-size:0.8rem;}

.figure img {
width: 100%;
height: auto;
display: block;}


.gallery.single {
justify-content: center;}

.gallery.multi {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 20px;
justify-content: center;
max-width: 100%;}

.gallery.multi .figure {
width: 100%;}

@media (max-width: 768px) {

.gallery.multi {
grid-template-columns: repeat(2, 1fr);}
	
}

.contemnts_column_base div .gallery img{
margin:0 0 10px 0;}

.lightbox {
position: fixed;
z-index:1;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease-in-out, visibility 0.3s;}

.lightbox-content {
text-align: center;
transform: scale(0.8);
transition: transform 0.3s ease-in-out;}

.lightbox img {
max-width: 90%;
max-height: 80vh;}

#lightbox-caption {
color: white;
margin-top: 10px;}

.lightbox.active {
opacity: 1;
visibility: visible;}

.lightbox.active .lightbox-content {
transform: scale(1);}

#lightbox-close {
display: block;
margin: 10px auto 0;
padding: 8px 15px;
font-size: 14px;
background: #ff4d4d;
color: #fff;
border: none;
cursor: pointer;
border-radius: 5px;
transition: background 0.2s;}

#lightbox-close:hover {
background: #d43f3f;}

/*--- photo_gallery ---*/

.gallery_grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;}

.gallery_grid .figure {
width: 100%;
text-align: center;}

.gallery_grid img {
width: 100%;
height: 200px;
object-fit: cover;
display: block;}

.load-more-button{
all: unset;
padding: 20px;
width: 100%;
max-width: 960px;
text-align:center;
margin: 30px auto 0 auto;
font-weight: 600;
font-size: 1rem;
border-radius: 5px;
background-color: #ff6b00;
color: #fff;
border: none;
cursor: pointer;
transition-duration: .3s;
-webkit-transition-duration: .3s;}

.load-more-button:hover {
background: #ff984d;}

@media (max-width: 1024px) {

.gallery_grid {
grid-template-columns: repeat(3, 1fr);}
	
}

@media (max-width: 768px) {

.gallery_grid {
grid-template-columns: repeat(2, 1fr);}
	
}

/*--- photo_gallery_link ---*/

a .photo_link{
display:flex;
flex-wrap:wrap;
border:1px solid #e8e8e8;
gap:20px;
padding:20px;}

.photo_link img{
width:100%;
max-width:200px;
height:auto;}

a .photo_link_text h3{
font-weight:600;
font-size:1.2rem;
color:#323232;}

/*--- cta ---*/

.tcta{
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 2rem;}

.tcta_w{
display:flex;
flex-direction:column;
gap:0.5rem;
border: 1px solid #fff;
padding: 2rem;
text-align: center;
color: #fff;}

.tcta_w strong{
font-weight:600;}

@media (max-width: 768px) {
	
.tcta {
grid-template-columns: 1fr;
gap: 1rem;}
  
.tcta_w {
padding: 1.5rem;}
	
}

/*--- recruit ---*/

.recruit_base, .footer_contact_base{
width:100%;
padding:20px;
min-height:300px;
display:flex;
align-items:center;
justify-content:center;
flex-direction:column;}

.recruit_base{
position: relative;
width: 100%;
padding: 20px;
background-color:#e8e8e8;
background-image: url('images/t_bk0.png');
background-repeat: no-repeat;
background-size: cover;
color: #323232;}

.footer_contact_base{
padding:3rem 20px 3rem 20px;
background:#ff6b00;}

@media (max-width: 768px) {

.recruit_base{
background-size: contain;
background-image: url('images/t_bk0_2.png');}

}

/*--- contents_pageclass ---*/

.post_main > h3{
font-size:1.5rem;
font-weight:700;
color:#323232;
position: relative;
padding-bottom: .5rem;
border-bottom: solid 3px #e8e8e8;
margin:0 0 2rem 0;}

.post_main > h3:after {
position: absolute;
bottom: -3px;
content: " ";
display: block;
width: 40px;
border-bottom: solid 3px #e60000;}

.post_main > h4{
font-size:1.2rem;
font-weight:600;
margin:0 0 2rem 0;
color:#323232;}

.post_main > h5{
font-weight:600;
margin:0 0 1rem 0;
color:#e60000;}

.contemnts_column_base {
width:100%;
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
gap:20px;
margin:0 0 2rem 0;}

.contemnts_column_base div h4{
font-weight:600;
margin:0 0 10px 0;}

.contemnts_column_base div img{
margin:0 0 2rem 0;}

.contemnts_column_panel {
flex-grow: 1;
min-width: 0;}

.contemnts_column_panel > h4, .contemnts_column_panel .border_panel > h4{
font-size:1.2rem;
font-weight:600;
margin:0 0 1rem 0;
color:#323232;}

.contemnts_column_panel p strong{
font-weight:600;
color:#e60000;}

.contemnts_column_panel.has-img {
flex: 0 0 300px; }

.contemnts_column_panel img {
width: 100%;
height: auto;
flex-shrink: 0; }

.contemnts_column_panel p a{
color: #323232;
text-decoration: underline;
transition-duration: .3s;}

.contemnts_column_panel p a:hover{
color:#ff6b00;
text-decoration:none;}

.contemnts_column_base.reverse{
flex-direction: row-reverse;}

.contemnts_column_base.reverse-img {
flex-direction: row-reverse;}

.contemnts_column_base.reverse-img .contemnts_column_panel.has-img {
flex: 0 0 200px;}


@media (max-width: 686px) {
	
.contemnts_column_base {
flex-wrap: wrap;}

.contemnts_column_panel {
flex: 1 1 100%;}

.contemnts_column_panel img {
width: 100%;}

.contemnts_column_panel.has-img {
flex: 1 1 100%;}
	
.contemnts_column_base.reverse-img .contemnts_column_panel.has-img {
flex: 0 0 100%;}
	
}

/*--- float_list ---*/

.f_list {
display: flex;
flex-wrap: wrap;
width: 100%;
margin: 0 0 2rem 0;}

.f_list dt {
flex: 0 0 200px;
font-weight:600;
color:#323232;
padding:0 0 20px; 0
margin:0 0 10px 0;
position: relative;}

.f_list dt::after {
content: '・・・'; 
position: absolute;
right: 0;
top: 0;
height: 100%;
display: flex;
padding:0 25px 0 0;
color: #ccc;}

.f_list dd {
width: calc(100% - 200px);
padding:0 0 20px; 0
margin:0 0 10px 0;}

.f_list dd strong{
color:#e60000;}

@media (max-width: 540px) {

.f_list dt, .f_list dd{
width:100%;}

.f_list dt{
padding:0;
margin:0;}
	
.f_list dd{
padding:0;
margin:0 0 1rem 0;}
	
.f_list dd:last-child{
margin:0;}
	
.f_list dt::after {
content: ''; 
padding:0;}
	
}

/*--- price ---*/

.price_base {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin:0 0 2rem 0;}

.price_panel {
width: calc(50% - 10px);
box-sizing: border-box;}

.price_panel h4{
font-size:1.2rem;
font-weight:600;
margin:0 0 1rem 0;
color:#323232;}

.price_list{
padding:0 0 1rem 0;
margin:0 0 2rem 0;
border-bottom:1px solid #e8e8e8;}

.price_list:last-of-type{
margin:0;}

.price_list li{
font-size: 1rem;
margin:0 0 1rem 0;
letter-spacing: 0.8pt;
word-break: break-all;
line-height: 1.5;
width: 100%;}

.arrow li{
display: flex;
align-items: center;}

.arrow li::before{
margin:0 10px 0 0;
font-size: 0.8rem;
color:#c8c8c8;
content: "\f105";
font-family: FontAwesome;}

@media (max-width: 768px) {

.price_panel {
width: 100%;}
	
}

/*--- site_linkbutton ---*/

.slb_base {
display: flex;
flex-wrap:wrap;
gap: 20px;
margin:0 0 2rem 0;}

.slb_panel {
width: calc(50% - 10px);
box-sizing: border-box;}

a .slb p{
font-size:1.2rem;
font-weight:600;
margin:0;}

a .slb p i{
margin:0 10px 0 0;}

a .slb{
border-radius:10px;
background:#fcdb96;
color:#86482b;
display:flex;
align-items:center;
padding:20px;
gap:10px;
height: 100%;
min-height: 100px;
box-sizing: border-box;
transition: opacity 0.3s ease-in-out;}

a .slb p span{
display:block;
font-size:0.8rem;
font-weight:normal;}

a .slb::after{
margin:0 10px 0 0;
font-size: 1.5rem;
color:#86482b;
content: "\f061";
font-family: FontAwesome;}

a:hover .slb{
opacity:.5;}

/*--- header_sc ---*/

.header_sc_base{
width:100%;
padding:0 20px 0 20px;
margin:0 0 40px 0;}

.header_sc{
width:100%;
max-width:1280px;
padding:20px 0 20px 0;
border-bottom:1px solid #e8e8e8;
margin:0 auto 0 auto;}

.header_sc ul{
width:100%;
max-width:1173px;
margin:0 auto 0 auto;
display: flex;
flex-wrap: wrap;
gap: 20px;}

.header_sc ul li{
flex: 0 1 calc(20% - 20px);
box-sizing: border-box;}

.header_sc ul li a{
color:#323232;
padding:10px;
white-space: nowrap;
transition-duration: .3s;
-webkit-transition-duration: .3s;
box-sizing: border-box;}

.header_sc ul li a::before{
margin:0 10px 0 0;
font-size: 0.9rem;
color:#c8c8c8;
content: "\f107";
font-family: FontAwesome;}

.header_sc ul li a:hover{
color:#ff6b00;}

@media screen and (max-width: 768px) {

.header_sc ul li {
flex: 0 1 calc(50% - 20px);}
	
}

@media screen and (max-width: 480px) {

.header_sc ul li {
flex: 0 1 100%;}
	
}

/*--- gallery ---*/

.gallery {
display: flex;
flex-wrap: wrap;
gap: 20px;
margin:0 0 2rem 0;
justify-content: space-between;}

.gallery-item {
display: flex;
flex-direction: column;
align-items: center;
text-align:center;
width: calc(33.333% - 20px);
box-sizing: border-box;}

.gallery-item img {
max-width: 100%;
height: auto;}

.gallery-item p {
margin: 10px 0 0;
font-size:0.8rem;}

@media (max-width: 768px) {

.gallery-item {
width: calc(50% - 20px);}
	
}

/*--- number_dl_ch ---*/

.number_dl_ch{
margin:0 0 2rem 0;}

.number_dl_ch dt{
font-size:1.2rem;
font-weight:600;
margin:0 0 1rem 0;
color:#323232;}

.number_dl_ch dt span{
font-size:1.2rem;
font-weight:600;
margin:0 0.5rem 0 0;
color:#ea6d8d;}

.number_dl_ch dd .rev_list{
margin:0;}

.c_tel{
font-size:1.5rem;
font-weight:600;
color:#ea6d8d;}

.c_tel a{
transition: opacity 0.3s ease-in-out;
font-weight:600;
color:#ea6d8d;}

.c_tel a:hover{
opacity:.5;}

.c_tel i{
margin:0 0.5rem 0 0;}

.pink{
color:#ea6d8d;}

.red{
color:#e60000;}

strong .red{
font-weight:600;
color:#e60000;}

.border_dt{
padding:0 0 1rem 0;
border-bottom:1px dotted #c8c8c8;}

.number_dl_ch dt + dt {
margin: 1rem 0 0 0;}

.number_dl_ch dd{
font-size: 1rem;
letter-spacing: 0.8pt;
word-break: break-all;
line-height: 1.5;
padding:0 0 1rem 0;
margin:0;}

/*--- contents_banner ---*/

.contemnts_banner_base{
display:flex;
flex-wrap: wrap;
gap:20px;
margin:0 0 2rem 0;}

.contemnts_banner_base_2{
margin:0 0 2rem 0;}

.contemnts_banner_base_2 img{
width:100%;
height:auto;}

.contemnts_banner {
box-sizing: border-box;}

.contemnts_banner_2 {
width: calc(50% - 10px);
box-sizing: border-box;}

.contemnts_banner a, .contemnts_banner_2 a{
display: block;
width: 100%;
height: auto;
box-sizing: border-box;}

.contemnts_banner img, .contemnts_banner_2 img{
display: block;
max-width: 100%;
height: auto;}

@media (max-width: 540px) {

.contemnts_banner_2 {
width:100%;}
	
}

@media (max-width: 540px) {
	
.contemnts_banner {
flex: 1 1 100%;}
	
}

/*--- footer_contact ---*/

.footer_base{
margin:auto 0 0 0;
padding:0;
width:100%;
background:#292929;}

.footer_menu_base{
width:100%;
max-width:1280px;
padding:40px 20px 40px 20px;
margin:0 auto 0 auto;
display: flex;
justify-content:space-between;
box-sizing: border-box;
gap: 40px;}

.footer_menu{
display:flex;
flex-wrap:wrap;
gap:20px;
justify-content: space-between;}

.footer_panel {
flex: 1 1 calc(33.3% - 20px);
min-width: 350px;
box-sizing: border-box;}

@media (max-width: 1200px) {
	
.footer_menu_base{
flex-direction:column;}

}

@media (max-width: 768px) {

.footer_panel {
flex: 1 1 calc(50% - 20px);}
	
}

.footer_panel h5{
font-size:0.9rem;
font-weight:600;
color:#c8c8c8;
border-top:1px solid #c8c8c8;
padding:20px 0 0 0;
margin:0 0 20px 0;}

.footer_address{
width:100%;
height:59px;
padding:20px;
background:#ff6b00;
color:#fff;
box-sizing: border-box;}

.footer_address address{
font-style:normal;
width:100%;
max-width:1280px;
margin:0 auto 0 auto;
font-size:0.8rem;}

.footer_panel_first img{
width:250px;
height:auto;
margin:0 0 20px 0;}

.footer_panel_first .footer_companyaddress{
font-size:0.9rem;
color:#fff;
margin:0 0 20px 0;}

.footer_listmenu li{
line-height:2;}

.footer_listmenu li i{
margin:0 0 0 10px;}

.footer_linkmenu li a{
font-size:0.9rem;
font-weight:600;
color:#fff;
transition-duration: .3s;
-webkit-transition-duration:.3s;}

.footer_linkmenu li a:hover{
color:#ff6b00;}

.footer_linkmenu li i{
margin:0 0 0 10px;}

.footer_panel .sns ul li a:hover{
color:#ff6b00;}

.footer_panel .footer_listmenu{
list-style:none;
font-size:0.9rem;
margin:0 0 20px 0;}

.footer_listmenu li::before{
margin:0 10px 0 0;
font-size: 0.9rem;
color:#c8c8c8;
content: "\f105";
font-family: FontAwesome;}

.footer_listmenu li a{
color:#fff;
transition-duration: .3s;
-webkit-transition-duration:.3s;}

.footer_listmenu li a:hover{
color:#ff6b00;}

/*--- airport_bussearch ---*/

.apbsearch-base{
border:1px solid #c8c8c8;
border-radius:5px;
padding:20px;}

.apbsearch-base h3{
color:#323232;
border-bottom:1px solid #c8c8c8;
font-size: clamp(1rem, 1.1rem, 1.2rem);
font-weight:600;
margin:0 0 20px 0;
padding:0 0 20px 0;}

.apb_main form select{
width:100%;
max-width:300px;
padding: 0.5rem;
border-radius: 5px;
color: #323232;
border: 1px solid #c8c8c8;
font-size: 1rem;
background-color: #fff;}

/*--- search_form ---*/

#search-container{
width:100%;}

#search-container .search-instruction{
margin:0 0 40px 0;
font-size:0.9rem;}

#search-form{
width:100%;}

#search-form .form-group{
width:100%;
max-width:531px;
display:flex;
gap:20px;
margin:0 auto 20px auto;}

.form-group > label{
width:100px;
display:flex;
justify-content:right;
align-items:center;}

.checkbox-group, .date-picker{
display:flex;
justify-content:center;}

#search-form .form-buttons{
width:100%;
max-width:531px;
display:flex;
gap:10px;
align-items:center;
justify-content:center;
margin:0 auto 0 auto;}

.checkbox-group {
width: 100%;
max-width: 300px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: center;
border: 1px solid #c8c8c8;
padding: 10px;
border-radius: 5px;}

.checkbox-group label {
display: inline-block;
color:#323232;
margin-right: 20px;}

.checkbox-group label:last-child{
margin-right: 0px;}

.checkbox-group input[type="checkbox"] {
margin-right: 5px;}

input[type="button"] {
width:100%;
max-width:11rem;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
font-size: 1rem;
padding: 10px;
background-color: #ff2b01;
border: none;
color: #fff;
cursor: pointer;}

input[type="submit"], input[type="button"] {
transition: all 0.3s ease;
-webkit-transition: all 0.3s ease;}

input[type="submit"]:hover, input[type="button"]:hover {
opacity:.6;
color: #ffffff;
cursor: pointer;}

#search-results .scroll_table:first-child{
margin:40px 0 40px 0;}

#search-results .scroll_table{
margin:0 0 40px 0;}

#search-results .scroll_table:last-child{
margin:40px 0 0 0;}

@media (max-width: 600px) {
	
.date-picker{
justify-content:center;}
	
#search-form .form-group{
gap:5px;}
	
.form-group > label{
justify-content:left;}
	
#search-form .form-group, #search-form .form-buttons{
flex-direction:column;}
	
}

#search-container-footer{
margin:40px 0 0 0;}

#search-container-footer .search-instruction{
margin:0;
font-size:0.9rem;}

.annotation_dl{
margin:0 0 20px 0;}

.annotation, .annotation_long{
display: flex;
gap:20px;
margin:0 0 20px 0;}

.annotation dt{
width: 100px;
font-weight:600;
font-size:0.9rem;}

.annotation dd{
width: calc(100% - 100px / 2);
font-size:0.9rem;}

.annotation_long dt{
width: 250px;
font-weight:600;
font-size:0.9rem;}

.annotation_long dd{
width: calc(100% - 250px / 2);
font-size:0.9rem;}

.annotation_list li{
margin:0 0 20px 0;}

.annotation_list li:last-child{
margin:0;}

.annotation_list_Inc li{
font-size:0.9rem;
margin:0;
padding:0 0 0 1rem;}

.annotation_2 dt{
font-weight:600;
font-size:0.9rem;}

.annotation_2 dd{
font-size:0.9rem;
margin:0 0 20px 0;}

#search-results > .annotation_text{
margin:0 0 20px 0;
font-size:0.9rem;}

.annotation_long:last-child{
margin:0;}

@media (max-width: 640px) {
	
.annotation, .annotation_long{
gap:0;
flex-direction:column;}
	
.annotation dt, .annotation_long dt, .annotation dd, .annotation_long dd{
width:100%;}
	
.annotation_list_Inc li{
padding:0;}
	
}

/*--- table-press ---*/

#search-results, .scroll_table{
width:100%;
max-width:918px;}

.custom_dataTables_wrapper {
overflow-x: auto;
padding: 0 0 10px 0;
width: 100%;}

.tablepress {
width: 100%;
border-collapse: collapse;
white-space: nowrap;}

.tablepress thead th {
background-color: #4CAF50;
color: #fff;
padding: 12px;}

.tablepress tr:nth-child(even) {
background-color: #f2f2f2;}

.tablepress tr:hover {
background-color: #ddd;}

.tablepress th {
padding-top: 12px;
padding-bottom: 12px;
background-color: #4CAF50;
color: #fff;}

.tablepress thead th {
background-color: #4CAF50;
color: #fff;
padding: 12px;}

.column-header {
width: 50%;}


.tablepress th, .tablepress td {
box-sizing: border-box;
font-size: clamp(12px, 2vw, 15px);
white-space: normal;
word-wrap: break-word;
vertical-align: middle;
text-align: center;
padding: 10px;}

.dataTables_scroll {
width: 918px;}

.dataTables_scrollHeadInner,
.dataTables_scrollBody,
.dataTables_scrollFootInner,
.tablepress {
width: 1050px !important;
table-layout: fixed;}

.tablepress th,
.tablepress td {
width: calc(918px / 7);}

.tablepress thead th.fixed-width {
width: 393px;}

.tablepress thead th.flexible-width {
width: auto;}

.tablepress thead th.flexible-width_2 {
width: 1442px;}

.tablepress thead th.fixed-width{
background:#1e87d7;
color:#fff;
width: 393px;}

.tablepress thead th.fixed-width_2 {
background:#1e87d7;
color:#fff;
width: 525px;}

.start thead .column-1,
.start thead .column-2,
.start thead .column-3{
background:#1e87d7 !important;
color:#fff;}

.start thead .column-4,
.start thead .column-5,
.start thead .column-6,
.start thead .column-7,
.start thead .column-8{
background-color: #4CAF50 !important;
color: #fff;}

.start tr:nth-child(odd) .column-1,
.start tr:nth-child(odd) .column-2,
.start tr:nth-child(odd) .column-3{
background-color: #f9fdff;}

.start tr:nth-child(even) .column-1,
.start tr:nth-child(even) .column-2,
.start tr:nth-child(even) .column-3 {
background-color: #daecf7;}

.start tr:nth-child(even) .column-4,
.start tr:nth-child(even) .column-5,
.start tr:nth-child(even) .column-6,
.start tr:nth-child(even) .column-7,
.start tr:nth-child(even) .column-8{
background-color: #dbefdc;}

.start tr:hover .column-1,
.start tr:hover .column-2,
.start tr:hover .column-3{
background-color: #cbe8f6;}

.start tr:hover .column-4,
.start tr:hover .column-5,
.start tr:hover .column-6,
.start tr:hover .column-7,
.start tr:hover .column-8{
background-color: #c0efc1;}

.end thead .column-12,
.end thead .column-13,
.end thead .column-14,
.end thead .column-15 {
background: #1e87d7 !important;
color: #fff;}

.end thead .column-1,
.end thead .column-2,
.end thead .column-3,
.end thead .column-4,
.end thead .column-5,
.end thead .column-6,
.end thead .column-7,
.end thead .column-8,
.end thead .column-9,
.end thead .column-10,
.end thead .column-11{
background-color: #4CAF50 !important;
color: #fff;}

.end tr:nth-child(odd) .column-12,
.end tr:nth-child(odd) .column-13,
.end tr:nth-child(odd) .column-14,
.end tr:nth-child(odd) .column-15 {
background-color: #f9fdff;}

.end tr:nth-child(even) .column-1,
.end tr:nth-child(even) .column-2,
.end tr:nth-child(even) .column-3,
.end tr:nth-child(even) .column-4,
.end tr:nth-child(even) .column-5,
.end tr:nth-child(even) .column-6,
.end tr:nth-child(even) .column-7,
.end tr:nth-child(even) .column-8,
.end tr:nth-child(even) .column-9,
.end tr:nth-child(even) .column-10,
.end tr:nth-child(even) .column-11{
background-color: #dbefdc;}

.end tr:nth-child(even) .column-12,
.end tr:nth-child(even) .column-13,
.end tr:nth-child(even) .column-14,
.end tr:nth-child(even) .column-15 {
background-color: #daecf7;}

.end tr:hover .column-1,
.end tr:hover .column-2,
.end tr:hover .column-3,
.end tr:hover .column-4,
.end tr:hover .column-5,
.end tr:hover .column-6,
.end tr:hover .column-7,
.end tr:hover .column-8,
.end tr:hover .column-9,
.end tr:hover .column-10,
.end tr:hover .column-11{
background-color: #c0efc1;}

.end tr:hover .column-12,
.end tr:hover .column-13,
.end tr:hover .column-14,
.end tr:hover .column-15 {
background-color: #cbe8f6;}

.tablepress:last-of-type thead th {
border-bottom: none;}

.tablepress thead th{
border-style: solid;
border-width: 1px;
border-color: #c8c8c8;}

.tablepress tbody td {
border-style: solid;
border-width: 1px;
border-color: #c8c8c8;}

.scroll_table h4{
font-size:1rem;
font-weight:600;
color:#323232;
margin:0 0 10px 0;}

.tablepress td i{
cursor:pointer;}

/*--- fare_table ---*/

table {
border-collapse: collapse;
border-spacing: 0;
empty-cells: show;
font-size: 100%;}

@media (max-width: 768px) {
	
.tableType3 {
display: block;
overflow-x: auto;
white-space: nowrap;
padding:0 0 1rem 0;}
	
}

.tableType3 {
margin-bottom: 1em;
text-align: center;
vertical-align: middle;}

.tableType3 td {
padding: 5px;
width: 54px;
vertical-align: middle;}

.tableType3 th {
vertical-align: top;
padding: 5px;
border: 1px solid #999;
white-space: nowrap;
background: #e7e7e7;
text-align: center;
width: 100px;}

.border {
border: 1px solid #ccc;}

/*--- imagemap ---*/

@media (max-width: 540px) {

#desktop_svg{
display: none;}
	
#mobile_svg{
display: block;}
	
}

@media (min-width: 541px) {

#desktop_svg{
display: block;}
	
#mobile_svg{
display: none;}

}

/*--- accordion ---*/

.accordion{
margin:0 0 2rem 0;}

.accordion dt {
cursor: pointer;
position: relative;
background-color: #f1f1f1;
padding: 20px 60px 20px 20px;
font-weight: 600;
margin:0 0 1rem 0;
display:flex;
align-items:center;}

.qa dt::before{
color:#9e9e9e;
font-size:1.5rem;
content: "Q：";
margin:0 10px 0 0;}

.answer{
display:flex;
align-items:center}

.answer span{
font-size:1.5rem;
padding:20px;
background:#ff6b00;
color:#fff;
margin:0 20px 0 0;}

.qa .answer p{
margin:0;}

.accordion dt::after {
margin:0 0 0 20px;
font-size: 0.9rem;
color:#9e9e9e;
content: "\f067";
font-family: FontAwesome;
position: absolute;
right:20px;
top: 50%;
transform: translateY(-50%);
font-size: 20px;}	

.accordion dt.active::after {
color:#9e9e9e;
content: '\f068'}

.accordion dd {
display: none;
padding:0;
font-size:1rem;
margin:0 0 2rem 0;}

.payment {
display: grid;
align-items: center;
grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
gap: 20px;}

.payment_text{
display:flex;
flex-wrap:wrap;
gap:20px;}

.accordion > dd p{
margin:1rem 0 0 0;}

.accordion > dd p a{
color:#323232;
text-decoration:underline;}

.payment img {
width: 100%;
height: auto;
object-fit: contain;}

.grid-container {
display: grid;
grid-template-rows: auto 1fr;
grid-gap: 20px;
padding:20px;
border: 1px solid #c8c8c8;
border-radius:3px;
margin:0 0 20px 0;}

.top-left-image {
grid-row: 1 / 2;
padding:0 0 20px 0;
border-bottom:1px solid #c8c8c8;}

.top-left-image img {}

.grid-content {
grid-row: 2 / 3;}

@media (max-width: 500px) {
.payment {
grid-template-columns: repeat(4, 1fr);}

.payment img {
max-width: 80px;}
	
}

/*--- page_top ---*/

#p_top {
position:fixed;
bottom:0;
right:0;
font-size:20px;}

#p_top a {
width:59px;
height:59px;
line-height:59px;
color: #fff;
background: #ff6b00;
text-align: center;
display: block;
transition: all .3s ease;
-webkit-transition: all .3s ease;}

#p_top a:hover {
text-decoration: none;
background:#ff984d;
color:#fff;}

/*--- pop_up ---*/

.popup-overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
z-index: 1000;}

.popup-content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #fff;
padding: 30px;
box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
z-index: 1001;}

.popup-close {
position: absolute;
top: 10px;
right: 10px;
cursor: pointer;}

/*--- model_course_index ---*/

.mp_base {
display: flex;
flex-wrap: wrap;
align-items: stretch;
gap: 20px;
border: 1px solid #e8e8e8;
margin: 0 0 2rem 0;}

.mp_bk {
flex-shrink: 0;
width: 100%;
max-width: 200px;
min-width: 150px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;}

.mp_caption {
flex: 1;
padding: 20px;}

.mp_caption > p{
margin:0;}

a .mp_caption > p{
color:#323232;}

.mp_caption .more{
width:120px;
text-align:center;
border:1px solid #323232;
margin:20px 0 0 auto;
padding:10px;
font-size:0.8rem;}

a .mp_caption > h3{
font-size:1.2rem;
font-weight:600;
margin:0 0 10px 0;
color:#323232;}

a .mp_base .mp_bk, a .mp_base .mp_caption{
transition: opacity 0.3s ease-in-out;}

a:hover .mp_base .mp_bk, a:hover .mp_base .mp_caption {
opacity: 0.5;}

@media (max-width: 600px) {
.mp_base {
flex-direction: column;
align-items: center;
}

.mp_bk {
width: 100%;
min-height: 300px;
height: auto;
max-width: none;
min-width: auto;
}

.mp_caption {
width: 100%;
}
}

.border_panel{
border-left:1px solid #323232;
padding:0 0 0 20px;}

@media (max-width: 768px) {
	
.border_panel{
border:none;
padding:0;}
	
}

/*--- model_course ---*/

.course_base{
margin:0 0 2rem 0;}

.course-container {
display: flex;
flex-wrap: wrap;
gap: 20px;
width: 100%;}

.course-wrapper {
display: flex;
align-items: center;
width: 100%;}

.course-img,
.course-text {
flex: 1;
padding: 0 20px 0 0;}

.course-img {
border-right: 2px solid #ccc;}

.course-img img{
width:100%;}

.course-text {
text-align: left;}

.course-text p{
padding:0 20px 0 20px;}

.course-text h3{
font-size:1.2rem;
font-weight:600;
color:#323232;}

.detail_link{
width:100%;
margin:20px 0 0 0;
padding:0 0 0 20px;} 

.reverse .course-text .detail_link{
width:100%;
margin:20px 0 0 0;
padding:0 20px 0 0;} 

.course-wrapper.reverse .course-img {
border-right: none;
padding:0 0 0 20px;
border-left: 2px solid #ccc;
}

.course-wrapper.reverse .course-text {
padding:0 0 0 20px;
text-align: right;
}

.course-wrapper.reverse {
flex-direction: row-reverse;
}

.course-wrapper.reverse .course-text p{
text-align:left;}

.course-text h3::before {
content: '●';
color:#ccc;
margin:0 10px 0 -10px;
}

.course-wrapper.reverse .course-text h3::before {
content: '';
}

.course-wrapper.reverse .course-text h3::after {
content: '●';
color:#ccc;
margin:0 -10px 0 10px;
}

@media (max-width: 768px) {

.course-container {
flex-direction: column;}

.course-wrapper {
display: block;}

.course-img,
.course-text {
width: 100%;
padding:0;
box-sizing: border-box;
border-left: 2px solid #ccc;}

.course-img {
padding:0 0 20px 20px;
border-right: none;}
	
.course-wrapper.reverse .course-img {
padding:0 0 20px 20px;}

.course-text, .course-wrapper.reverse .course-text{
padding-bottom: 2rem;
text-align: left;}

.course-text > p{
margin:0;}
	
.course-wrapper.reverse .course-text h3::before {
content: '●';
margin:0 10px 0 -30px;}

.course-wrapper.reverse .course-text h3::after {
content: '';}
	
.reverse .course-text .detail_link{
padding:0;
margin:20px 0 0 0;} 
	
.reverse > .course-text p{
padding:0;
}

}

/*--- model_course_banner ---*/

.banner_area{
display:flex;
gap:20px;
align-items:center;
flex-wrap:wrap;
justify-content:center;}

.banner_area p{
margin:0;}

/*--- link_class ---*/

.rev_list li a, .news_index li a, .tbcc a, .post_main p a, dd a, .search-instruction a{
color:#323232;
text-decoration:underline;
transition-duration: .3s;
-webkit-transition-duration: .3s;}

.rev_list li a:hover, .news_index li a:hover, .tbcc a:hover, .post_main p a:hover, dd a:hover, .search-instruction a:hover{
color:#ff6b00;
text-decoration:none;}

/*--- google_map ---*/

#acf-map{
margin:0 0 2rem 0;}

/*--- contact ---*/

.contact_caution{
border:3px solid #e8e8e8;
padding:20px;
margin:2rem 0 2rem 0;}

.contact_caution p, .contact_caution .rev_list{
margin:0;}

.contact_caution strong{
color:#e60000;
font-weight:600;}

/*--- mail_form ---*/

.contact_time_layout{
display:flex;
flex-wrap:wrap;
margin:0;
text-align:right;}

.f_time > .contact_time_layout{
display:block;
text-align:right;
color:#000;
margin:0;}

.contact_time_layout span{
font-size:0.8rem;}

.mailform{
width:100%;
display:flex;
flex-wrap:wrap;
margin:0 0 2rem 0;
border-top:1px solid #d8d9d9;}

.mailform dt{
width:30%;
padding:20px;
font-size:0.9rem;
line-height:1.5;
display:flex;
align-items:center;
background:#fafafa;
color:#323232;
font-weight:600;
border-bottom:1px solid #e8e8e8;
box-sizing: border-box;}

.mailform dt p{
color:#323232;
font-weight:600;
font-size:0.9rem;
margin:0;}

.mailform dt p span{
font-size:0.8rem;
display:block;}

.wpcf7 h3{
font-size:1rem;
background:#323232;
color:#fff;
padding:10px;}

.mailform dd{
width:70%;
padding:20px;
font-size:0.9rem;
line-height:1.5;
display:flex;
flex-wrap:wrap;
align-items:center;
gap:10px;
color:#323232;
border-bottom:1px solid #e8e8e8;
box-sizing: border-box;}

.post_main .mailform_footer h4{
padding:0;
border:0;}

.post_main .mailform_footer .footer_cc{
display:flex;
border:1px solid #e8e8e8;
padding:10px;
align-items:center;
flex-direction:column;
margin:0 0 1rem 0;}

.wpcf7-list-item{
margin:0;}

.wpcf7-list-item label{
font-size:0.9rem;
line-height:1.5;
color:#323232;
margin:0 20px 0 0;}

.mailform_footer label{
font-size:0.9rem;
line-height:1.5;
color:#525252;}

.name_label{
display:flex;
align-items:center;}

.name_label label{
width:3rem;}

.wpcf7-text, .wpcf7-textarea{
padding: 0.5rem;
border-radius: 5px;
color:#323232;
border:1px solid #c8c8c8;}

.wpcf7-select {
padding: 0.5rem;
border-radius: 5px;
color: #323232;
font-size:0.9rem;
border: 1px solid #c8c8c8;
background-color: #fff;}

input[type="date"] {
width: 100%;
max-width: 300px;
padding: 0.5rem;
border-radius: 5px;
border: 1px solid #c8c8c8;
font-size: 1rem;
background-color: #fff;
text-align: center;}

.wpcf7-textarea{
width:100%;
box-sizing: border-box;
display:block;
resize: vertical;}

.wpcf7-number {
padding: 0.5rem;
border-radius: 5px;
color:#323232;
border:1px solid #c8c8c8;
font-size: 1rem;}

.wpcf7-date {
padding: 0.5rem;
border-radius: 5px;
color:#323232;
border:1px solid #c8c8c8;
font-size: 1rem;}

input[type="submit"] {
width:100%;
max-width:11rem;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
font-size: 1rem;
padding: 10px;
background-color: #ff6b00;
border: none;
color: #fff;
cursor: pointer;}

span.wpcf7-spinner {
display: none;}

.submit_base{
width:100%;
text-align:center;}

.submit {
margin:2rem 0 0 0;
width:200px;
text-align:center;
display: inline-block;
position: relative;}

.wpcf7-submit{
transition: all .3s ease;
-webkit-transition: all .3s ease;}

.wpcf7-submit:hover{
color:#fff;
opacity: 0.6;}

.wpcf7-list-item {
display: flex;
align-items: flex-start;
padding:0.5rem;}

.wpcf7-list-item label {
display: flex;
align-items: center;}

.wpcf7-list-item-label {
display: inline-block;
margin-left: 0.5em;
line-height: 1.5;
word-break: break-word;
text-indent: 0;}

.wpcf7-list-item-label::before {
content: '';
display: inline-block;}

.mailform dd span .s_input{}

.mailform dd p{
width:100%;
font-size:0.8rem;
display:block;
margin:0.5rem 0 0 0;}

.mailform > .ta_big{
display:block;}

.mailform dd > .form_Vertical_listbase{
display:flex;
flex-direction:column;
gap:10px;}

.mailform_footer > h4{
font-size:1.2rem;
font-weight:600;
margin:0 0 2rem 0;
color:#323232;}

@media screen and (max-width: 852px) {

.mailform{
flex-direction:column;
border:0;}
	
.mailform dt{
width:100%;
border:1px solid #d8d9d9;}
	
.name_label{
margin:0 0 1rem 0;}
	
.name_label:nth-child(2){
margin: 0;}
	
.wpcf7-text{
width:100%;}

.mailform dd{
width:100%;

margin:0 0 15px 0;
border-bottom:1px solid #d8d9d9;
border-left:1px solid #d8d9d9;
border-right:1px solid #d8d9d9;}
	
}

/*--- cf7_effect ---*/

.wpcf7-response-output.modal-message {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #bfff00;
padding:20px!important;
transition: all 0.5s ease;
width: calc(100% - 40px);
max-width: 960px;
margin: 0 auto!important;
z-index: 9999;
text-align:center;
font-weight:600;}

.close-button {
position: absolute;
top: -32px;
right: -2px;
background-color: #46b450;
color: #ffffff;
border: none;
padding: 5px 10px;
cursor: pointer;
z-index: 10000;
font-weight: 600;
display: flex;
align-items: center;
gap: 5px;}

.close-button i {
font-size: 14px;}

/*--- car_list ---*/

.carousel-container {
position: relative;}

.car-posts-wrapper {
display: flex;
overflow: hidden;
padding: 0 0 20px 0;
margin: 0 0 2rem 0;
position: relative;}

.carousel-button {
position: absolute;
top: 50%;
transform: translateY(-50%);
padding:10px;
width:30px;
height:100px;
background: rgba(200, 200, 200, 0.8);
border: none;
cursor: pointer;
z-index: 0;}

.carousel-button.left {
left: 0;}

.carousel-button.right {
right: 0;}

.car-post {
display:flex;
flex-direction:column;
justify-content:space-between;
flex: 0 0 auto;
width: 300px;
margin: 0 10px 0 0;
padding: 20px;
border: 1px solid #c8c8c8;
border-radius: 5px;
background-color: #fff;
box-sizing: border-box;}

.car-posts-wrapper .car-post:last-child {
margin: 0;}

.car-post p{
font-size:0.9rem;
letter-spacing: 0.8pt;
word-break: break-all;
margin:1rem 0 1rem 0;
line-height:1.5;}

.car_list{
margin:0;}

.car_list li{
font-size:0.8rem;
border-top:1px solid #c8c8c8;
padding:10px 0 10px 0;}

.car_list li:last-of-type{
border-top:1px solid #c8c8c8;
border-bottom:1px solid #c8c8c8;
padding:10px 0 10px 0;}

.car-post .car-title{
font-size:1rem;
line-height:1.5;
font-weight:600;
color:#323232;
margin:0 0 20px 0;}

.car-posts-wrapper::-webkit-scrollbar {
background:#e8e8e8;
height: 5px;}

.car-posts-wrapper::-webkit-scrollbar-thumb {
background: #9e9e9e;
border-radius: 5px;}

.car-posts-wrapper::-webkit-scrollbar-thumb:hover {
background: #555;}

/*--- timetable ---*/

a .timetable_pdf_base{
width:100%;
border:1px solid #c8c8c8;
border-radius:5px;
padding:20px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:center;
margin:0 0 20px;
transition-duration: .3s;
-webkit-transition-duration: .3s;}

a:hover .timetable_pdf_base{
background:#ff6b00;
border:1px solid #ff6b00;}

a:hover .timetable_pdf_base .timetable_pdf i, a:hover .timetable_pdf_base .timetable_pdf span, a:hover .timetable_pdf_base > span{
color:#fff;}

.timetable_pdf i, .timetable_pdf span{
color:#323232;
font-weight:600;
font-size:1.2rem;}

.timetable_pdf i{
margin:0 10px 0 0;}

a .timetable_pdf_base > span{
font-size:0.8rem;
color:#9e9e9e;}

/*--- scroll_table ---*/

.st_wrapper {
width: 100%;
overflow-x: auto;
overflow-scrolling: touch;
padding:0 0 20px 0;
margin:0 0 2rem 0;}

.st_wrapper::-webkit-scrollbar {
background: #9e9e9e;
width: 10px;
height: 10px;
border-radius: 20px;}
	
.st_wrapper::-webkit-scrollbar-thumb {
background-color: #e8e8e8;
border-radius: 20px;}

.st {
width: 100%;
min-width: 700px;
margin:0 auto;
border-collapse: collapse;}

.st th, .st td {
width: 20%;
padding: 10px;
font-size: 1rem;
vertical-align:middle;
text-align:center;
border: solid 1px #c8c8c8;}

.st th {
background: #e8e8e8;
font-weight: 600;
color: #323232;
vertical-align:middle;}

/*--- video ---*/

video{
background:#000;}

.video_main{
width:100%;
max-width:960px;
margin:40px auto 40px auto;}

.video{
position:relative;
width:100%;
padding:56.25% 0 0 0;}

.video_main video{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;}

@media screen and (max-width: 768px) {

.video {
padding: 177.78% 0 0 0;}
	
}

/*--- banner ---*/

.banner_base{
width:100%;
padding:40px 0 40px 0;
background:#fff;}

.banner-container {
width: calc(100% - 40px);
max-width: 960px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content:center;
align-items:center;
gap: 40px;}

.banner-container img{
width:auto;
max-height:98px;}

/*--- symbol ---*/

.symbol img{
width:150px;
height:auto;}

.symbol span{
display:block;
width:150px;
margin:10px 0 0 0;
text-align:center;
font-size:0.6rem;
color:#fff;}

/*--- reCAPTCHA ---*/

.grecaptcha-badge {
bottom: 90px !important;}