@charset "utf-8";
/* CSS Document */

body,form,fieldset{margin: 0px;padding: 0px;}
fieldset          {border:none;}
h1,h2,h3,h4,h5,h6,p,pre,blockquote,ul,ol,dl,dd{margin: 0px;padding: 0px;}
blockquote,li,dt,dd{}
li                {list-style:none;}
ol li             {list-style:decimal;}
input,textarea    {font-size: 1em;}
img{border: 0px none;margin: 0;padding: 0;vertical-align: bottom;}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html              {scroll-behavior: smooth; height:100%;}

/* Tag Castam ----------------------------------------------------------------------------------------------------------------- */
	

@media(min-width: 920px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


body              { font-family:"Noto Sans", sans-serif; overflow:hidden auto;}
em                { font-weight: normal; font-style: normal;}
strong            {}
a                 { text-decoration: none; color: #000;}
a:link            {}
a:visited         {}
a:active          {}
a:focus           {}

.ma5              { margin-bottom:5px;}
.ma10             { margin-bottom:10px;}
.ma20             { margin-bottom:20px;}
.ma30             { margin-bottom:30px;}
.ma40             { margin-bottom:40px;}
.ma50             { margin-bottom:50px;}
.ma60             { margin-bottom:60px;}
.ma80             { margin-bottom:80px;}

.pa40             { padding: 0 40px;}

.pal1             { padding-left:1.1rem;}
.pal2             { padding-left:2rem;}

.flex             { display:flex;}
.center           { text-align:center;}
.left             { text-align:left;}
.end              { text-align:end;}
/*.right            { text-align:right;}*/
.justify          { text-align:justify;}
.under:hover      { text-decoration: underline;}

p                 { font-size:17px; line-height:1.65rem;}

h3                { font-size:32px;}
h4                { font-size:24px;}

.sp               { display:none;}
.telfax_btn .sp_btn    { display:none;}

.w100             { width:100%;}

.new_line         { display:contents;}

.toggle           { display:none;}


.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);}

/* アニメーションスタートの遅延時間を決めるCSS*/
.delay-time02     { transition: opacity 1.5s,visibility 1.5s, transform 1.5s;}
.delay-time04     { transition: opacity 2s,visibility 2s, transform 2s;}



/* header */
.head_line                                 { width: 100%; padding:8px 0; position: relative; background:#e3e3d8; font-size:14px; color:#231212;}

.head_back                                 { background: radial-gradient(circle,#6ab6da 20%, #207fc0 70%);}

header                                     { max-width:1280px; margin:0 auto; padding:20px 0; position:relative; color:#231212;}


/* footer */
footer                                     { width:100vw; margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); background:rgba(0, 0, 0, 0.8) url(../img/watersurface.png) no-repeat center bottom; background-size:cover; background-blend-mode: color-burn; background-color:#76c7d8; position:relative; padding-top: 40px;}
footer p.white                             { color: #fff;}
footer a.white                             { color: #fff;}

.foot_box                                  { max-width:1280px; margin:0 auto 40px;}
.foot_box img.footlogo                     { width:30%; height: auto; margin-bottom: 12px; position:relative; z-index:1;}
.foot_box .mail a                          { display:block; border-radius:50px; border:solid 2px #fff; color:#fff; margin:0 auto; max-width:300px; padding:1em 1.2em; font-size:17px; font-weight:bold; line-height:22px; position:relative; z-index:1;}
.foot_box .mail img                        { margin-right:8px; width:22px;}

.foot_box .terms                           { margin-top: 30px; justify-content: center; }
.foot_box .terms .terms_box                { gap: 25px;}
.foot_box .terms .terms_box .terms_wrap    { align-items: center;}
.foot_box .terms .terms_box img            { width: auto; height: 1em; margin-right: 5px;}
.foot_box .terms .terms_box p              { color: #fff;}

.foot_btn                                  { position:relative; max-width:1280px; margin:auto;}

.foot_btn01                                { position:absolute; top:-88px; right:10%;}
.foot_btn01 img                            { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
.foot_btn02                                { position:absolute; top:153px; right:11%;}
.foot_btn02 a                              { display:block; border-radius:50px; background:#fff; min-width:200px; padding:1em 1.2em; font-size:17px; font-weight:bold; line-height:22px; text-align:center;}
.foot_btn03                                { position:absolute; top:-88px; right:-2%; z-index: 1;}
.foot_btn03 img                            { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}

.foot02                                    { width:100vw; margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); background: url(../img/footer02.jpg) no-repeat center top; background-size:cover; background-blend-mode: color-burn; position:relative; padding-top: 40px;}
footer02 p.white                           { color: #fff;}
footer02 a.white                           { color: #fff;}


/* copy */
#copy                                      { width:100vw; margin: 0 calc(50% - 50vw); padding:15px calc(50vw - 50%); position: relative; background:#062e4c;}
#copy small                                { font-size: 12px; color: #fff; letter-spacing: 0.05em; align-items: baseline;}


/* pagetop button */
#page_top                                  { width:90px; height:90px; position:fixed; right:30px; bottom:80px; z-index:9999;}
#page_top img                              { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}


/* main */
#main                                      { background:url(../img/main_back.jpg) no-repeat center; background-size:cover;}
#mainbox                                   { max-width:1280px; margin:0 auto; padding:60px 0 40px; position:relative; z-index:1;}
#mainbox .main_btn                         { position:absolute; top:-45px; right:10%;}
#mainbox .main_btn img                     { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#mainbox h2 img                            { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#mainbox p                                 { font-weight:bold; text-align:center; color:#fff; margin-bottom:460px; line-height:1.8rem; font-size:18px;}
#mainbox .top_list                         { justify-content:center; position:relative;}
#mainbox .top_list li                      { padding:0 20px;}
#mainbox .top_list img                     { filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.25));}



/* content */
#contbox                                   { max-width:1280px; margin:0 auto; position:relative; z-index:1;}

#cont01                                    { max-width:1280px; margin:0 auto 40px;}

#cont01 .cont_back                         { background: url(../img/cont01_back.jpg) no-repeat center; background-size:cover; width: 100vw; margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%) 100px; background-color: #dae4ea; }

#cont01 .lead                              { padding: 40px 0;}
#cont01 .lead h3                           { color: #0d6fb8; font-weight:900; font-size: 2.5rem;}
#cont01 .lead h3 img                       { margin-bottom: 30px; filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#cont01 .lead p                            { font-weight: bold; max-width:660px; margin:auto;}
#cont01 .lead p span                       { color:#0d6fb8;}

#cont01 .case_box                          { max-width:980px; display: flex; justify-content: space-between; margin: 0 auto 40px;}
#cont01 .case_box > li                     { flex: 1 0 calc(33.33% - 30px); margin-right: 30px; background-color: #fff; border-radius: 10px; padding: 5px; filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#cont01 .case_box > li:last-child          { margin-right: 0;}

#cont01 .case_box .case_heading            { font-size: 1.15rem; font-weight: bold; text-align: center; margin-bottom: 15px;} 
#cont01 .case_box .case_txt                { padding: 0 20px; margin-bottom: 15px; min-height:180px; text-align: justify;}
#cont01 .case_box .case_imagebox           { padding: 0 20px; margin-bottom: 15px;}
#cont01 .case_box .case_imagebox img       { width: 100%; height: auto;}

#cont01 .case_box .case_numb               { text-align: center; font-weight: 900;} 


#cont01 .case_box .case01 .case_numb       { background-color: #3ec6a2; line-height: 2.2rem; display: inline-block; align-items: center; width: 100%; padding: 5px 5px 0; border-radius: 5px 5px 0 0; font-size: 1.3rem; color: #fff;}  
#cont01 .case_box .case01 .traveltype      { background-color: #0db88b; position: relative; display: inline-block; text-align: center; padding: 15px 20px 0px; width: 100%; color: #fff; margin-bottom: 1.5em; font-size: 1.85rem; font-weight: 900;} 
#cont01 .case_box .case01 .traveltype::before {
  content: ''; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 149px solid transparent; border-right: 149px solid transparent; border-top: 30px solid #0db88b;
}

#cont01 .case_box .case01 .case_imagebox   { width: 100%; height: auto;}

#cont01 .case_box .case01 .recommend       { text-align: center; font-size: 1.15rem; font-weight: 900; margin-bottom: 10px;}
#cont01 .case_box .case01 .recommend span  { color: #0db88b;}
#cont01 .case_box .case01 .recommend_bus   { text-align: center; color: #fff; display: inline-block; align-items: center; font-size: 1.6rem; font-weight: 900; padding: 0 5px; background: linear-gradient(to top, #0db88b 50%, #3ec6a2 50%); width: 100%; line-height: 62px; min-height:87px; border-radius: 0 0 5px 5px;}
#cont01 .case_box .case01 .recommend_bus span { font-size:14px; font-weight:100; line-height:0; display:block;}



#cont01 .case_box .case02 .case_numb       { background-color: #3e88c7; line-height: 2.2rem; display: inline-block; align-items: center; width: 100%; padding: 5px 5px 0; border-radius: 5px 5px 0 0; font-size: 1.3rem; color: #fff;}  
#cont01 .case_box .case02 .traveltype      { background-color: #0d6ab8; position: relative; display: inline-block; text-align: center; padding: 15px 20px 0px; width: 100%; color: #fff; margin-bottom: 1.5em; font-size: 1.85rem; font-weight: 900; line-height:3rem; min-height:147px;} 
#cont01 .case_box .case02 .traveltype::before {
  content: ''; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 149px solid transparent; border-right: 149px solid transparent; border-top: 30px solid #0d6ab8;}
#cont01 .case_box .case02 .traveltype small { line-height:2.5rem; display:block;}

#cont01 .case_box .case02 .case_imagebox   { width: 100%; height: auto;}

#cont01 .case_box .case02 .recommend       { text-align: center; font-size: 1.15rem; font-weight: 900; margin-bottom: 10px;}
#cont01 .case_box .case02 .recommend span  { color: #0d6ab8;}
#cont01 .case_box .case02 .recommend_bus   { text-align: center; color: #fff; display: inline-block; align-items: center; font-size: 1.6rem; font-weight: 900; padding: 0 5px; background: linear-gradient(to top, #0d6ab8 50%, #3e88c7 50%); width: 100%; line-height: 62px; min-height:87px; border-radius: 0 0 5px 5px;}
#cont01 .case_box .case02 .recommend_bus span { font-size:14px; font-weight:100; line-height:0; display:block;}

#cont01 .case_box .case03 .case_numb       { background-color: #b344c7; line-height: 2.2rem; display: inline-block; align-items: center; width: 100%; padding: 5px 5px 0; border-radius: 5px 5px 0 0; font-size: 1.3rem; color: #fff;}  
#cont01 .case_box .case03 .traveltype      { background-color: #a114ba; position: relative; display: inline-block; text-align: center; padding: 15px 20px 0px; width: 100%; color: #fff; margin-bottom: 1.5em; font-size: 1.85rem; font-weight: 900;} 
#cont01 .case_box .case03 .traveltype::before {
  content: ''; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 149px solid transparent; border-right: 149px solid transparent; border-top: 30px solid #a114ba;
}

#cont01 .case_box .case03 .case_imagebox   { width: 100%; height: auto;}

#cont01 .case_box .case03 .recommend       { text-align: center; font-size: 1.15rem; font-weight: 900; margin-bottom: 10px;}
#cont01 .case_box .case03 .recommend span  { color: #a114ba;}
#cont01 .case_box .case03 .recommend_bus   { text-align: center; color: #fff; display: inline-block; align-items: center; font-size: 1.6rem; font-weight: 900; padding: 0 5px; background: linear-gradient(to top, #a114ba 50%, #b344c7 50%); width: 100%; line-height: 5.8rem; max-height: 85px; border-radius: 0 0 5px 5px;}

#cont01 .voice                             { max-width:800px; margin: 0 auto; position:relative; text-align:center;}
#cont01 .voice h4                          { font-weight: 900; color: #0d6fb8; text-align: center; margin-bottom: 15px;}
#cont01 .voice p                           { text-align: justify; padding-right: 100px;}
#cont01 .voice:before                      { content:""; background:url(../img/busguide_name.png) no-repeat; background-size:contain; vertical-align:middle; display:inline-block; position:absolute; width:400px; height:240px; left:69%; bottom:-100px;}


#cont02                                    { max-width:1280px; margin:0 auto;}
#cont02 .lead                              { text-align: center; width: 100vw; margin: 0 calc(50% - 50vw); padding: 40px calc(50vw - 50%); background-color: #e3fafe; }
#cont02 .lead h3                           { color: #0d6fb8; font-weight:900; font-size: 2.5rem;}
#cont02 .lead h3 img                       { margin-bottom: 30px; filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#cont02 .lead p                            { font-weight: bold;}
#cont02 .bustype                           { width: 100vw; margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); background-color: #e3fafe; }
#cont02 .bus_heading                       { max-width:800px; margin: 0 auto 30px; padding: 15px 30px; display: flex; justify-content: space-between; align-items: center; color: #fff; background-color: #0d6fb8; border-radius: 10px;}
#cont02 .bus_overview                      { max-width:800px; margin: 0 auto 30px; font-size:17px; font-weight:bold;}
#cont02 .bus_overview span                 { color: #0d6fb8;}
#cont02 .bus_overview small                { font-weight:100;}
#cont02 .model                             { font-size: calc((100% + 0.25vw) * 1.55); font-weight: 900;}
#cont02 .model span                        { font-size: calc((100% + 0.25vw) * 0.65);}
#cont02 .bus_image                         { position: relative; max-width: 800px; width: 85%; padding-bottom: 28.25%; margin: 0 auto;}
#cont02 .bus_image img.bus_body            { position: absolute; top: 0; left: 0; width: 80%; height: auto;}
#cont02 .bus_image img.bus_numb            { position: absolute; top: 8%; left: 67%; width: 40%; height: auto;}  
#cont02 .busdetail                         { display: flex;  justify-content: space-between; gap:30px;}
#cont02 .busdetail h4                      { color: #0d6fb8; font-size: calc((100% + 0.25vw) * 1.35); margin-bottom: 1.25rem; margin-top: -0.5rem; /*height: 6em;*/ display: inline-flex; align-items: center; text-align: justify;}
#cont02 .busdetail .detailleftbox          { display: flex; flex-direction: column; }
#cont02 .busdetail .detailleftbox .equipment { height: auto; margin-bottom: 20px; max-width: 300px;}
#cont02 .busdetail .interior.box           { width: 100%; height: auto;}
#cont02 .busdetail .floor_box              { width: 100%; height: auto;}
#cont02 .busdetail .interior_image         { display: flex; justify-content: space-between; align-items: center; width: 100%; height: auto; gap: 10px; flex-wrap:wrap; align-items: flex-start;}
#cont02 .interior_box                      { width:45%;}
#cont02 .blue_box                          { background:#0d6fb8; text-align:center; color:#fff; border-radius:5px; width:100%; padding:15px 0;}
#cont02 .balloon                           { max-width:800px; margin: 0 auto; position: relative; background-color: #ffffff; border-radius: 10px; padding: 30px; filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#cont02 .balloon:before                    { content: ''; position: absolute; top: -19px; left: 50%; margin-left: -20px; border-width: 0 13px 23px; border-style: solid; border-color: transparent transparent #ffffff; display: block; width: 0;}
#cont02 .bus01,#cont02 .bus02              { background: url(../img/bus01_back.jpg) no-repeat center; background-size:cover; width:100vw; margin: 0 calc(50% - 50vw); padding: 40px calc(50vw - 50%);}
#cont02 .bus03                             { background: url(../img/bus02_back.jpg) no-repeat center; background-size:cover; width:100vw; margin: 0 calc(50% - 50vw); padding: 40px calc(50vw - 50%);}
#cont02 .bus01 p,#cont02 .bus02 p,
#cont02 .bus01 .floor_box,#cont02 .bus02 .floor_box,
#cont02 .bus03 .floor_box                  { font-size:0.9rem;}
#cont02 .bus02 .explanation                { margin-right: 13px;}


#cont03                                    { max-width:1280px; height:auto;}
#cont03 .cont_back                         { background: url(../img/cont03_back_pc.jpg) no-repeat center; background-size:cover; width: 100vw; margin: 0 calc(50% - 50vw); padding: 40px calc(50vw - 50%); background-color: #dae4ea; }
#cont03 .lead                              { text-align: center; margin-bottom: 40px;}
#cont03 .lead h3                           { color: #2bc15c; font-weight:900; font-size: 2.5rem;}
#cont03 .lead h3 img                       { margin-bottom: 30px; filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#cont03 .lead p                            { font-weight: bold;}
#cont03 .merit_box                         { max-width:980px; margin:0 auto; display: flex; justify-content: center; gap: 60px; padding-top: 70px; position:relative;}
#cont03 .merit_box li                      { position:relative; z-index:1;}
#cont03 .merit_box:before                  { content:""; position:absolute; background:url(../img/ripples_pc.png) no-repeat; background-size:contain; vertical-align:middle; display:inline-block; width:981px; height:606px; left:0%; top:0%;}
#cont03 .merit_box .merit01,
#cont03 .merit_box .merit02                { max-width:350px;}
#cont03 .merit_box .merit01 p,
#cont03 .merit_box .merit02 p              { text-align: justify;}
#cont03 .merit_box .merit01 .image_box,
#cont03 .merit_box .merit02 .image_box     { margin-left:45px;}
#cont03 .merit_box .merit01 h4             { color: #2bc15c; margin-bottom: 20px; min-height:110px;}
#cont03 .merit_box .merit02 h4             { color: #2bc15c; margin-bottom: 20px; min-height:110px; line-height:110px;}
#cont03 .threebus img                      { margin-left: 190px; position:relative;}
#cont03 hr.green                           { width: 36px; height: 3px; background-color: #2bc15c; border-style: hidden; margin: 10px auto;}


/* tel/fax button */
.telfax_box                                { max-width:980px; margin:0 auto 40px; text-align: center;}
.telfax_box p.lead                         { font-weight: bold; margin-bottom: 40px;}
.telfax_box p.lead small                   { font-weight:100;}
.telfax_box p.above_btn                    { margin-bottom: 10px;}
.telfax_box .telfax_btn                    { display: flex; justify-content: center; gap: 60px;}
.telfax_box .telfax_btn .red               { color: #ee2929;}
.telfax_box .telfax_btn img                { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25)); margin-bottom: 15px;}
.telfax_box .yellow,.telfax_box .yellow a  { color:#ffff00; font-weight:bold; font-size:25px;}
.telfax_box p.lead .marker                 { background: linear-gradient(transparent 60%, #ffff00 30%); font-size:24px; line-height:2.2rem;}
.telfax_box p.lead.yellow                  { font-size:24px; line-height:2.2rem;}

/* home button */
.home_btn                                  { margin:0 auto 40px; text-align: center; max-width:980px; font-weight:bold;}
.home_btn a                                { font-size: 17px; color: #0d6fb8; background-color: #fff; padding: 0.75em; border-radius: 6px; max-width:280px; margin:auto; display:block; position:relative; z-index:1;}


/* recruit */
#recruit                                   { background:url(../img/recruit_back.jpg) no-repeat center top; background-size:cover; background-color:#e7ecef;}
#recruit_box                               { max-width:1280px; margin:0 auto; padding:60px 0 40px; position:relative; z-index:1;}
#recruit_box h2 img                        { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25));}
#recruit_box ul                            { margin-bottom:650px;}

#recruit .bus_heading                      { max-width:800px; margin: 0 auto 30px; padding: 15px 30px; color: #fff; background-color: #0d6fb8; border-radius: 10px; font-weight:bold; font-size:calc((100% + 0.25vw) * 1.55);}
#recruit .bus_heading02                    { max-width:800px; margin: 0 auto 30px; padding: 15px 30px; color: #000; background-color: #fff; border-radius: 10px; font-weight:bold; font-size:calc((100% + 0.25vw) * 1.55); position:relative;}
#recruit .bus_heading02:before             { content:""; background:url(../img/new_friends.png) no-repeat; background-size:contain; vertical-align:middle; display:inline-block; position:absolute; right: -2%; top:-160%; width:172px; height:172px;}

#recruit .lead                             { font-weight: bold; width: 100%; margin:0 auto 40px; max-width:800px;}
#recruit .lead span                        { color:#0d6fb8;}
#recruit .lead .marker                     { background: linear-gradient(transparent 60%, #ffff00 30%); display: inline-block; color:#000;}
#recruit .lead02                           { font-weight: bold; width: 100%; margin:0 auto 40px; max-width:800px;}
#recruit .lead02 span                      { color:#ee2929;}
#recruit .lead02 ul                        { padding-left:1rem;}

/* company */
#company                                   { background-color:#e7ecef; padding:40px 0;}
#company .bus_heading                      { max-width:800px; margin: 0 auto 40px; padding: 15px 30px; color: #000; background-color: #fff; border-radius: 10px; font-weight:bold; font-size:calc((100% + 0.25vw) * 1.55); position:relative;}
#company .lead                             { max-width:600px; margin:auto; line-height:2.5rem; font-size:17px;}
#company .lead span                        { color:#0d6fb8;}
#company .lead ul,#company .lead dl        { padding-left:1rem; flex-wrap:wrap;}
#company .lead dt                          { min-width:350px;}
#company .lead dd                          { text-align:end; min-width:120px;}
#company .company_box                      { max-width:600px; margin:0 auto 40px; font-size:17px;}
#company .company_box dt                   { min-width:100px; font-weight:bold; text-align:justify; text-align-last:justify; margin-right:3rem;}

/* tel */
.telfax_btn img                            { filter: drop-shadow(4px 4px 4px rgba(0,0,0,0.25)); margin-bottom: 20px;}
#tel                                       { background-color:#e7ecef; padding:40px 0;}
#tel .bus_heading                          { max-width:800px; margin: 0 auto 40px; padding: 15px 30px; color: #000; background-color: #fff; border-radius: 10px; font-weight:bold; font-size:calc((100% + 0.25vw) * 1.55); position:relative;}
#tel .lead                                 { font-weight: bold; width: 100%; margin:0 auto 40px; max-width:800px;}
#tel .fax_box                              { max-width:800px; margin: 0 auto 40px;}
#tel .fax_box img                          { width:80%;}
#tel .lead .yellow .marker                 { background: linear-gradient(transparent 60%, #ffff00 30%); font-size:24px; line-height:2.2rem;}
#tel span.red                              { color:#B0152F; font-size:30px;}


@media only screen and (max-width: 1380px) {
#recruit                                   { background-size:contain;}
#recruit_box ul                            { margin-bottom:380px;}

}

@media only screen and (max-width: 1280px) {
.foot_box                                  { padding:0 20px;}

#mainbox                                   { padding:40px 20px;}
}

@media only screen and (max-width: 1024px) {
.foot_btn01                                { right:4%;}
.foot_btn02                                { right:5%;}
.foot_btn03                                { right:4%;}

#mainbox .main_btn                         { top: -23px; right:4%;}
#mainbox .top_list:before                  { width:530px; height:296px;}

#contbox                                   { padding:0 20px;}

#cont02 .bus_image                         { padding-bottom: 38.25%;}
#cont02 .busdetail .images                 { display: flex; flex-direction: row;}

#recruit_box h2 img                        { width:70%;}

}

@media only screen and (max-width: 768px)  {
.pc                                        { display:none;}
.sp                                        { display:block;}

#page_top                                  { right:30px; bottom:20px;}

.foot_btn01                                { right:0; top:17px;}
.foot_btn02                                { right:0; top:176px;}
.foot_btn03                                { right:0; top:17px;}

#mainbox .right                            { display:none;}
#mainbox .sp ul                            { position:relative; z-index:1;}
#mainbox .top_list:before                  { content:none;}
#mainbox .top_list                         { justify-content:space-evenly;}
#mainbox .main_btn                         { top:-20px; right:0;}
#mainbox .main_btn img                     { max-width:150px; max-height:150px;}

#contbox                                   { padding:0 20px;}

#cont01 .lead h3,#cont02 .lead h3,
#cont03 .lead h3                           {line-height: 3rem;}

#cont01 .lead h3 img,#cont02 .lead h3 img,
#cont03 .lead h3 img                       { width: 60%; height: auto;}

#cont01 .case_box                          { display: grid; grid-template-columns: 1fr; gap: 20px;}
#cont01 .case_box .case_txt                { min-height:90px;}
#cont01 .case_box > li                     { margin-right: 0;}
#cont01 .case_box .case01 .traveltype::before
                                           { content: ""; width: 0; height: 0; border-style: solid; border-width: 0 47vw 30px 47vw; transform: rotate(180deg); border-color: transparent transparent #0db88b transparent; position: absolute; bottom: -30px; left: 0; right: 0;}
#cont01 .case_box .case02 .traveltype::before
                                           { content: ""; width: 0; height: 0; border-style: solid; border-width: 0 47vw 30px 47vw; transform: rotate(180deg); border-color: transparent transparent #0d6ab8 transparent; position: absolute; bottom: -30px; left: 0; right: 0;}
#cont01 .case_box .case03 .traveltype::before
                                           { content: ""; width: 0; height: 0; border-style: solid; border-width: 0 47vw 30px 47vw; transform: rotate(180deg); border-color: transparent transparent #a114ba transparent; position: absolute; bottom: -30px; left: 0; right: 0;}

#cont01 .voice p                           { padding-right:170px;}

#cont02 .bus_heading                       { padding: 25px;}
#cont02 .bus_heading .model                { line-height: 2.25rem;}
#cont02 .bus_image                         { padding-bottom: 38.25%;}
#cont02 .balloon                           { padding: 25px;}
#cont02 .busdetail                         { display: grid; grid-template-columns: 1fr; gap: 20px; justify-content:center;}
#cont02 .busdetail h4                      { height: auto; margin-bottom: 20px;}
#cont02 .busdetail .interior_box           { width: 100%; height: auto;}
#cont02 .busdetail .interior_box .floor_box img
                                           { width: 100%; height: auto;}
#cont02 .busdetail .interior_image li      { width: 45%; height: auto;}
#cont02 .busdetail .interior_image li.square 
                                           { width: 66.9%; height: auto;}
#cont02 .busdetail .interior_image img     { width: 100%; height: auto;}
#cont02 .busdetail .interior_image .blue_box { width:100%;}
#cont02 .busdetail .interior_image .w100   { width:100%;}

#cont03 .cont_back                         { background:url(../img/cont03_back_sp.jpg) no-repeat; background-size:cover;}
#cont03 .merit_box:before                  { content:""; position:absolute; background:url(../img/ripples_sp01.png) no-repeat; background-size:contain; vertical-align:middle; display:inline-block; width:606px; height:921px; left:10%; top:0%;}

#cont03 .merit_box                         { display: grid; grid-template-columns: 1fr; gap: 0; padding-top:80px;}
#cont03 .merit_box .merit01,
#cont03 .merit_box .merit02                { /*max-width:100%;*/ max-width:60%; margin:auto;}
#cont03 .merit_box .merit01 .image_box,
#cont03 .merit_box .merit02 .image_box     { margin-left: 15px;}
#cont03 .threebus img                      { margin-left: revert; width: 70%; height: auto;}
#cont03 .merit_box .merit02 h4             { min-height:60px; line-height:60px;}


.telfax_box .telfax_btn                    { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 0 20px;}
.telfax_box .telfax_btn img                { max-width: 100%; height: auto;}


footer                                     { background-size:auto; padding:40px 20px 0;}｝
.foot_box img.footlogo                     { width: 50%;}
.foot_box .terms .terms_box                { flex-direction: column; gap: 0;}

.foot_btn01 img                            { max-width:150px; min-height:150px;}
.foot_btn02 a                              { min-width:150px;}
.foot_btn03 img                            { max-width:150px; min-height:150px;}

#recruit_box ul                            { margin-bottom:220px;}
}

@media only screen and (max-width: 570px) {
#recruit .bus_heading02:before             { right:0; top:-95%; width:122px; height:122px;}
}

@media only screen and (max-width: 428px) {
#page_top                                  { width:40px; height:60px; position:fixed; right:50px; z-index:9999;}
#page_top img                              { width:70px; height:70px;}

header                                     { padding:20px;}
header img                                 { width:90%;}
.head_back                                 { background: radial-gradient(circle, #6ab6da 20%, #207fc0 150%);}

.foot_back                                 { width:100vw; margin: 0 calc(50% - 50vw); padding: 0 calc(50vw - 50%); background:rgba(0, 0, 0, 0.8) url(../img/watersurface_sp.png) no-repeat center bottom; background-size:contain; background-blend-mode: color-burn; background-color:#76c7d8;}
.foot_box img.footlogo                     { width:80%;}

.foot_btn                                  { display:flex; justify-content:space-around; align-items:center; margin-bottom:40px;}
.foot_btn01                                { position: static;}
.foot_btn02                                { position: static;}
.foot_btn03                                { position: static;}


#mainbox .main_btn                         { margin-bottom:30px;}
#mainbox .main_btn img                     { width:130px; height:130px;}
#mainbox h2                                { margin-bottom:20px;}
#mainbox h2 img                            { width:80%;}
#mainbox p                                 { font-size:16px; line-height:1.6rem; margin-bottom:400px;}
#mainbox .top_list li                      { padding:inherit;}
#mainbox .top_list img                     { width:100%;}
#mainbox ul                                { margin-top: 70px;}

#cont01 .lead h3 img,#cont02 .lead h3 img,
#cont03 .lead h3 img                       { width: 90%; height: auto;}


#cont01 .cont_back                         { padding: 0 calc(50vw - 50%) 40px;}
#cont01 .lead h3                           { font-size:2.0rem;}
#cont01 .case_box .case_txt                { font-size:14px;}
#cont01 .voice h4                          { font-size:20px;}
#cont01 .voice p                           { padding-right:0; font-size:14px;}
#cont01 .voice img                         { width:100%;}
#cont01 .voice:before                      {  content:""; background:url(../img/busguide.png) no-repeat; background-size:contain; vertical-align:middle; display:inline-block; position:absolute; width:100px; height:130px; left:75%; bottom:-40px;}
#cont01 .case_box .case01 .traveltype::before,
#cont01 .case_box .case02 .traveltype::before,
#cont01 .case_box .case03 .traveltype::before
                                           { border-width: 0 44vw 30px 44vw;}

#cont02 .bus_heading                       { display: grid; grid-template-columns: 1fr; padding: 20px;}
#cont02 .balloon                           { padding: 20px;}
#cont02 .busdetail h4                      { height: auto; margin-bottom: 15px; font-size: calc((100% + 0.25vw) * 1.15);}   
#cont02 .bus_image img.bus_numb            { top:-22%; left:55%; width:55%;}

#cont03 .cont_back                         { background:url(../img/cont03_back_sp02.jpg) no-repeat center; background-size:cover;}
#cont03 .merit_box .merit01,
#cont03 .merit_box .merit02                { max-width:100%;}
#cont03 .merit_box .merit01 h4,#cont03 .merit_box .merit02 h4
                                           { min-height:auto;}
#cont03 .merit_box:before                  { content:none;}
#cont03 .lead h3                           { font-size:2.0rem;}
#cont03 .merit_box h4                      { font-size:20px;}
#cont03 .merit_box .merit01 p,
#cont03 .merit_box .merit02 p              { font-size:14px;}
#cont03 .merit_box                         {/* gap: 30px;*/ grid-template-columns: 0fr; /*padding-top:0px;*/}
#cont03 .threebus img                      { width: 100%;}

.telfax_box .telfax_btn img                { max-width: 80%; height: auto;}
.telfax_box p.lead .marker                 { font-size:20px;}
.telfax_box p.lead.yellow                  { font-size:20px;}

.telfax_btn .pc_btn                        { display:none;}
.telfax_btn .sp_btn                        { display:block;}

#recruit_box                               { padding:40px;}
#recruit_box ul                            { margin-bottom: 100px;}

#company .lead dt,#company .lead dd        { min-width:100%;}
#company .lead .none                       { display:none;}
#company .lead dl                          { justify-content:flex-end;}
#company .company_box dt                   { margin-right:1.6rem;}

.telfax_btn img                            { width:80%;}

#tel .lead .yellow .marker                 { font-size:20px;}
#tel span.red                              { font-size:24px;}

}

@media only screen and (max-width: 390px) {
.floor          { width:100%;}

}


@media only screen and (max-width: 375px) {
#mainbox p,#cont01 .lead p                 { font-size:14px;}

#cont01 .case_box .case_heading            { font-size:1rem;}
#cont01 .case_box .case_txt                { font-size:12px;}
#cont01 .voice h4                          { font-size:16px;}
#cont01 .voice p                           { font-size:12px;}

#cont03 .merit_box .merit01 p, #cont03 .merit_box .merit02 p
                                           { font-size:12px;}

.telfax_box p.above_btn                    { font-size:15px;}




}







