@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;}
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%; scroll-padding-top:148px;}

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

body              { font-size: 17px; font-family:'Zen Kaku Gothic New', 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           {}

button            { background: none; border: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none;}          

.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;}
.ma70             { margin-bottom:70px;}
.ma80             { margin-bottom:80px;}

.pa40             { padding: 0 40px;}

.flex             { display: flex;}
.center           { text-align: center;}
.end              { text-align: end;}
.justify          { text-align: justify;}
.left             { text-align:left;}
.bold             { font-weight: bold;}
.new_line         { display: contents;}

p                 { font-size: clamp(0.938rem, 0.899rem + 0.19vw, 1.063rem); line-height:1.8rem; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 400; text-align: justify;}

h1                { font-size: clamp(1.5rem, 1.384rem + 0.58vw, 1.875rem);}
h2                { font-size: 1.65rem; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 700;}
h3                { font-size: 1.45rem; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 600;}
h4                { font-size: 1.25rem; font-family: 'Zen Kaku Gothic New', sans-serif; font-weight: 500;}
hr                { width: 100%;}

.sp               { display: none;}

.w100             { width: 100%;}

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

/* demo */
#demo img                                            { width: 100%; height: 100%; object-fit: cover;}

/* header */
header                                               { width: 100%; padding-bottom: 30px; /*background-color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.25);*/}
header                                               { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000;}/* 画面の一番上に固定 */

header #g-nav                                        { justify-content: space-between; align-items: center;}
header #g-nav #siteid                                { width: fit-content; height: auto; vertical-align: middle;}
header #g-nav #siteid img                            { height: auto;}

header #nav                                          { align-items: center; gap: 25px;}
header #nav a                                        { border-bottom: 2px solid #0e3079; padding-bottom: 4px;}
header #nav a.twitter                                { border: none;}
header #nav a.current                                { font-weight: bold; border-color: #6d400b; pointer-events: none;}

header #nav .main_menu                               { position:relative; z-index:1;}
header #nav .main_menu:hover .sub_menu               { display:block; transition: all .3s;}
header #nav .sub_menu                                { display:none; position:absolute; top:32px;}
header #nav .sub_menu li                             { background:#406edd; padding:4px 10px 6px 10px; min-width:130px;}
header #nav .sub_menu li:first-child                 { padding-top:10px;}
header #nav .sub_menu li a                           { display:block; color:#fff; border-bottom: 2px solid #fff;}
header #nav .sub_menu li:last-child a                { border-bottom:none;}

/* content */
.contbox .relative                 { position: relative; overflow: hidden;}
#top.contbox                       { max-width:1200px; margin:auto;}



/* 2025.11 スイトトラベル PC */

header                                               { width: 100vw; height: 37vh; /*aspect-ratio: 2988 / 871;*/ background-image: url("img/header_back.png"); background-size: cover; background-position: bottom; background-repeat: no-repeat; position: relative; }
header .headbox                                      { max-width:980px; margin:0 auto;}
header .english                                      { background-color: #406edd; display: grid; place-content: center; width: 100vw; height: 10px; margin: 0 calc(50% - 50vw);} 
header .english img                                  { width: 100%; height: auto;}
header #g-nav .gnav_box                              { justify-content: space-between; align-items: center; margin: 20px auto; max-width: 980px;}
header #g-nav .id_box                                { gap: 15px;}
header #g-nav .id_box #siteid                        { width: 100%; max-width: 270px; height: 100%; /*max-height: 40px;*/}
header #g-nav .id_box img                            { filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.30));}
header #g-nav .id_box img.jtb                        { height: 100%; max-height: 40px; width: 100%;}
header #g-nav .two-button_box                        { gap: 10px;}
header #g-nav .two-button_box .one-button            { gap: 7px; text-align: center; margin: 0 auto; height: 40px; width: 11.5em; justify-content: center; align-items: center; background-color: #fff; filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.30)); border-radius: 20px; font-weight: bold; transition: all 0.2s ease;}
header #g-nav .two-button_box .one-button:hover      { filter: drop-shadow(0px 0px 0px rgba(0,0,0,0)); transform: translateY(2px);}
header #g-nav .two-button_box .one-button img        { height: 1.25em; width: auto;} 
/*header #g-nav .two-button_box .seino-button          { gap: 7px; text-align: center; margin: 0 auto; height: 40px; width: 40px; justify-content: center; align-items: center; background-color: #fff; filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.30)); border-radius: 20px; font-weight: bold; transition: all 0.2s ease;}
header #g-nav .two-button_box .seino-button:hover    { filter: drop-shadow(0px 0px 0px rgba(0,0,0,0)); transform: translateY(2px);}
header #g-nav .two-button_box .seino-button img      { height: 1.25em; width: auto;} */
header #g-nav .two-button_box .seino-button            { gap: 7px; text-align: center; margin: 0 auto; height: 40px; width: 11.5em; justify-content: center; align-items: center; background-color: #fff; filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.30)); border-radius: 20px; font-weight: bold; transition: all 0.2s ease; min-width: 195px; font-size: 0.7rem; text-align: left;}
header #g-nav .two-button_box .seino-button:hover      { filter: drop-shadow(0px 0px 0px rgba(0,0,0,0)); transform: translateY(2px);}
header #g-nav .two-button_box .seino-button img        { height: 1.25em; width: auto;} 


header #nav                                          { padding: 15px 0 17px; width: 100vw; margin: 0 calc(50% - 50vw); background-color: #fff; filter: drop-shadow(0px 7px 5px rgba(0,0,0,0.065));} 
header #nav .nav_box                                 { width: 860px; margin-inline:auto; justify-content: space-between; font-size: 0.85rem;} 
header #nav .nav_box li:not(:last-child) .nav_wrap   { border-right: 1px solid #dbdbda;}
header #nav .nav_box li                              { flex: 1;}
header #nav .nav_box li:nth-child(5)                 { padding: 0 4px;}
header #nav .nav_box a.current,
header #nav .nav_box a:hover                         { color: #406edd;}                                  
header #nav .nav_box .nav_wrap                       { flex-direction: column; gap: 7px; align-items: center; font-weight: bold; font-size: 12px;}
header #nav .nav_box .nav_wrap img.nav_icon          { height: 32px; width: fit-content;}

header .english.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1000;
}

header #g-nav.fixed {
  position: fixed;
  top: 10px; /* .englishの高さ分だけ下げる */
  left: 0;
  width: 100vw;
  background-color: #406edd;
  z-index: 999;
  box-shadow: 0 3px 5px rgba(0,0,0,0.1);
}


/* footer */
footer                                               { background-color: #406edd;}
footer #link                                         { padding: 30px 0; width: 100vw; /*margin: 0 calc(50% - 50vw);*/ margin-inline: auto;} 
footer #link .linkbox                                { max-width:980px; margin: 0 auto; align-items: center; justify-content: center; gap:30px;}
footer #link .linkbox .link_wrap a                   { display: block; padding: 0.5em 3.5em; background-color: #fff; border-radius: 2em; color: #406edd; font-weight: bold;}
footer .footbox                                      { max-width:600px; margin: 0 auto; padding: 30px 0; color: #fff; flex-direction: column; align-items: center; position: relative; z-index: 1;}
footer .footbox .foot_idbox                          { display: flex; flex-direction: column; max-width:360px; margin: 0 auto 30px; gap: 30px;}
footer .footbox .foot_idbox .registered_travel       { border: 1px solid; padding: 8px; font-size: 1.0rem; text-align: center;}
footer .footbox a                                    { color: #fff;}
footer .footbox hr.footline                          { border: none; border-top: 1px dotted #fff; margin: 17px 0;}
footer .footbox .link_wrap a                         { display: block; padding: 0.5em 2em; background-color: #fff; border-radius: 2em; color: #406edd; font-weight: bold; margin: 15px 0 2px;}
footer .footbox .foot_linkbox                        { font-size: 0.9rem; gap: 1.6rem; margin-top: 15px;}
footer .footbox .remarks                             { font-size: 0.8rem;}

/* copy */
#copy                                                { padding: 10px 0; background-color: #fff; display: grid; place-content: center; width: 100vw; margin: 0 calc(50% - 50vw);}
#copy small                                          { font-size: 12px; color: #406edd; letter-spacing: 0.05em; align-items: center;}

#main                                                { display: flex; align-items: center; justify-content: center; /*height: 60vh;*/ height: 90vh; margin-top: -34vh; width: 100vw; background-image: url("img/main_back.jpg"); background-size: cover; background-position: top; background-repeat: no-repeat;}
#main .main_box                                      { width: 100%; max-width: 980px; padding: 0 30px; text-align: center; justify-content: center;}
#main .main_box h1                                   { color: #fff; font-weight: 700; filter: drop-shadow(0 0 7px rgba(9,22,68,0.5)); z-index: 3;}


/* breadcrumbs */
.breadcrumbs_box                                     { background-color: #fff; width: 100vw; margin: 0 calc(50% - 50vw);}
.breadcrumbs                                         { font-size: 0.9rem; gap: 0.7rem; align-items: center; padding: 7px 20px; max-width:980px; margin: 0 auto; width: 100%; height: auto;}
.breadcrumbs .triangle                               { display: inline-block; padding-bottom: 0.2rem;}
.breadcrumbs .blue                                   { color: #406edd;}

/* sub-title */
#suito_sub-title                                     { background: linear-gradient( to top, #406edd, #406edd 40%, transparent 100% ); display: flex; align-items: flex-end; justify-content: center; height: 23vh; margin-top: -25vh; width: 100vw; background-size: cover; background-position: top; background-repeat: no-repeat;}
#solo_sub-title                                      { background: linear-gradient( to top, #bdd8e8, #bdd8e8 40%, transparent 100% ); display: flex; align-items: flex-end; justify-content: center; height: 23vh; margin-top: -25vh; width: 100vw; background-size: cover; background-position: top; background-repeat: no-repeat;}
#group_sub-title                                     { background: linear-gradient( to top, #cfcfe1, #cfcfe1 40%, transparent 100% ); display: flex; align-items: flex-end; justify-content: center; height: 23vh; margin-top: -25vh; width: 100vw; background-size: cover; background-position: top; background-repeat: no-repeat;}
#group-company_sub-title                             { background: linear-gradient( to top, #efe6ce, #efe6ce 40%, transparent 100% ); display: flex; align-items: flex-end; justify-content: center; height: 23vh; margin-top: -25vh; width: 100vw; background-size: cover; background-position: top; background-repeat: no-repeat;}

#suito_sub-title .sub-title_box,
#solo_sub-title .sub-title_box,
#group_sub-title .sub-title_box,
#group-company_sub-title .sub-title_box              { width: 100%; max-width: 980px; padding: 0 30px; text-align: center; justify-content: center;}

#suito_sub-title .sub-title_box h1                   { color: #fff; font-weight: 700; letter-spacing: 0.3rem; padding-bottom: 30px;}
#solo_sub-title .sub-title_box h1,
#group_sub-title .sub-title_box h1,
#group-company_sub-title .sub-title_box h1           { color: #000; font-weight: 700; letter-spacing: 0.3rem; padding-bottom: 30px;}

/* 背景カラー用 */
#solo.contbox,
#group.contbox,
#group-company.contbox                               { background-color: #f5f5f5; width: 100vw; height: auto; margin: 0 calc(50% - 50vw);}

/* contbox */
#info.contbox,
#gift.contbox,
#recruit.contbox,
#company.contbox,
#contact.contbox,
#links.contbox,
#tokushoho.contbox                                   { max-width:1200px; height: auto; margin: 0 auto;}

/* dummyimage */
.dummyimage                                          { max-width:800px; height: auto; margin: 0 auto; padding: 60px 0;}
#gift.contbox .dummyimage                            { max-width:980px; height: auto;} 

/* privacy */
#privacy.contbox .privacy_box                        { max-width:800px; height: auto; margin: 60px auto 60px;}
#privacy.contbox .privacy_box h3                     { margin: 20px 0 5px;} 

/* travel */
#top.contbox #travel                                                                                         { padding: 40px 0;}
#top.contbox #travel .travel_container                                                                       { max-width: 860px; height: auto; margin: 0 auto; display: flex; flex-direction: column; gap: 40px;}
#top.contbox #travel .travel_container .travel_box                                                           { gap: 40px; justify-content: space-between;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box                                          { filter: drop-shadow(0 0 5px rgba(37,93,99,0.3)); display: flex; flex-direction: column;}
#top.contbox #travel .travel_container .travel_box .group-travel_box                                         { filter: drop-shadow(0 0 5px rgba(62,46,89,0.3)); display: flex; flex-direction: column;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .sentence,
#top.contbox #travel .travel_container .travel_box .group-travel_box .sentence                               { background-color: #fff; padding: 1.5rem 1em; width: 100%; height: auto;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .sentence p,
#top.contbox #travel .travel_container .travel_box .group-travel_box .sentence p                             { font-weight: bold;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours                              { background-color: #a7cbe0; padding: 1.5rem 1.75rem; width: 100%; height: auto; border-radius: 0 0 16px 16px; flex-grow: 1; line-height: 48px;}
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours                            { background-color: #bfbfd7; padding: 1.5rem 1.75rem; width: 100%; height: auto; border-radius: 0 0 16px 16px; flex-grow: 1; display: flex; flex-direction: column; justify-content: center;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours .tour_box,
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours .tour_box                  { display: grid; gap: 0.75rem;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours .tour_box li,
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours .tour_box li               { align-items: center; font-weight: bold;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours .tour_box li:last-child      { line-height: normal;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours .tour_box li:first-child a   { color: #fff; font-size: 1rem; padding: 0.75rem 2rem; border-radius: 2em; background-color: #0d54ba; border: 1px solid #fff;}
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours .tour_box li a             { color: #fff; font-size: 1rem; padding: 0.75rem 2rem; border-radius: 2em; background-color: #4137bf; border: 1px solid #fff;}
#top.contbox #travel .travel_container .travel_box .solo-travel_box .solo-tours .tour_box .new,
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours .tour_box .new             { color: #fff; font-size: 0.8rem; padding: 0.15rem 0.5rem; border-radius: 2em; background-color: #d70000; border: 1px solid #fff; margin-right: 0.8em;}

.fadein {
  opacity: 0;
  transform: translateY(35px);
  transition: all 0.8s ease;
}

.fadein.active {
  opacity: 1;
  transform: translateY(0);
}

/* information */
#top.contbox #information                                                                           { background-color: rgba(184, 231, 249, 0.23); padding:40px 0; margin: 0 calc(50% - 50vw);}
#top.contbox #information .info_container                                                           { display: flex; flex-direction: column; max-width: 720px; margin: 0 auto; height: auto; gap:30px;}
#top.contbox #information .info_container .title_wrap                                               { gap: 10px; align-items: center;}
#top.contbox #information .info_container .title_wrap img.info-icon                                 { width: 38px; height: auto;}
#top.contbox #information .info_container .info_box .info_wrap .news_box                            { padding: 1.18rem;}
#top.contbox #information .info_container .info_box .info_wrap .news_box:not(:last-child)           { border-bottom: 1px dotted #bababa;}
#top.contbox #information .info_container .info_box .info_wrap .news_box.hot-news                   { background-color: #fdf2f2; color: #d70000;}
#top.contbox #information .info_container .info_box .info_wrap .news_box.hot-news a                 { color: #d70000; font-weight: bold;}
#top.contbox #information .info_container .info_box .info_wrap .news_box li                         { align-items: center;}
#top.contbox #information .info_container .info_box .info_wrap .news_box li:first-child             { font-weight: bold; align-items: center; justify-content: space-between; width: 125px; gap:7px; margin-right: 15px;}
#top.contbox #information .info_container .info_box .info_wrap .news_box li:first-child .new        { color: #fff; font-size: 0.8rem; padding: 0.15rem 0.5rem; border-radius: 2em; background-color: #d70000;}
#top.contbox #information .info_container .list_wrap                                                { gap: 15px; justify-content: flex-end; align-items: center; font-weight: bold; color: #406edd;}
#top.contbox #information .info_container .list_wrap img.arrow                                      { max-width: 42px; width: 100%; height: auto;}

/* info_box がスクロールする場合 */
.info_box {
  /* JS で max-height と overflow-y を設定するので、ここでは基本スタイルだけ */
  overflow-y: visible;
}

/* Webkit系ブラウザ（Chrome, Safari, Edge） */
.info_box::-webkit-scrollbar {
  width: 6px;               /* バーの幅 */
}

.info_box::-webkit-scrollbar-thumb {
  background-color: rgba(0,0,0,0.25); /* バーの色 */
  border-radius: 3px;                   /* 角丸 */
}

/* Firefox */
.info_box {
  scrollbar-width: thin;                /* 細いバー */
  scrollbar-color: rgba(0,0,0,0.25) transparent; /* バーの色 */
}

/* btn */
.blue-btn,
.red-btn               { text-align: center;}
.blue-btn a            { display: inline-block; background-color: #406edd; color: #fff; font-size: 1.5rem; font-weight: bold; padding: 0.75rem 2.25rem; border-radius: 2em; text-decoration: none; width: max-content; margin: 0 auto;}
.red-btn a             { display: inline-block; background-color: #d70000; color: #fff; font-size: 1.5rem; font-weight: bold; padding: 0.75rem 2.25rem; border-radius: 2em; text-decoration: none; width: max-content; margin: 0 auto;}

/* info */
#info.contbox #info-list                                              { max-width: 800px; height: auto; margin: 40px auto 60px;}
#info.contbox .info-list_box                                          { flex-direction: column;} 
#info.contbox .info-detail_box                                        { flex-direction: column;}                               
#info.contbox .info-list_box                                          { border-bottom: 1px dotted #bababa;}
#info.contbox .info-list_box:last-child                               { border-bottom: none;}
#info.contbox .info-list_box .info-news_wrap                          { gap: 30px; align-items: center; padding: 1.8rem;}
#info.contbox .info-list_box .info-news_wrap .date                    { font-weight: bold;}
#info.contbox .info-list_box .info-news_wrap .arrow_box               { display: flex; align-items: center; margin-left: auto;}
#info.contbox .info-list_box .info-news_wrap .arrow_box img.arrow     { max-width: 42px; width: 100%; height: auto;}

#info.contbox #info-detail                                            { max-width: 800px; height: auto; margin: 40px auto 60px;}
#info.contbox .info-detail_box                                        { margin-bottom: 60px;}
#info.contbox .info-detail_box .info-news_wrap .date                  { font-weight: bold; font-size: 1.25rem; margin-bottom: 10px;}
#info.contbox .info-detail_box .info-news_wrap .title                 { font-weight: bold; font-size: 1.65rem;}
#info.contbox .info-detail_box .post-image                            { justify-content: center; margin-inline: auto; width: 100%; max-width: 400px; max-height: 300px; aspect-ratio: 4 / 3; background-color: #666; border-radius: 1rem; margin: 6px auto 18px; overflow: hidden; padding: 0;}
#info.contbox .info-detail_box .post-image > img                      { width: 100%; height: 100%; object-fit: cover;}
#info.contbox .info-detail_box hr                                     { border: none; border-top: 1px dotted #bababa; margin: 25px 0; height: 0;}
#info.contbox .info-detail_box .info-links a                          { text-decoration: underline;}

.previous-page_box                                    { justify-content: center;}
.previous-page_box a                                  { display: block; padding: 0.5em 2em; background-color: #406edd; border-radius: 2em; color: #fff; font-weight: bold;}
.pagination_box                                       { justify-content: center; margin: 40px auto 60px; gap: 15px;} 
.pagination_box li a {
  display: inline-flex;
  font-size: 0.9rem; 
  font-weight: bold;
  justify-content: center;
  align-items: center;
  width: 25px;         /* 丸のサイズ */
  height: 25px;
  border-radius: 50%;  /* 丸にする */
  background-color: #dcdcdc; /* グレー背景 */
  color: #fff;
  text-decoration: none;
}

/* 現在のページ（青） */
.pagination_box li .current  {
  background-color: #96afec; /* 画像と同じ青っぽい色 */
  color: #fff;
  display: inline-flex;
  font-size: 0.9rem; 
  font-weight: bold;
  justify-content: center;
  align-items: center;
  width: 25px;         /* 丸のサイズ */
  height: 25px;
  border-radius: 50%;  /* 丸にする */
  text-decoration: none;
}                                                                   

.pagination_box .next.page-numbers,.prev.page-numbers                    { background-color: #fff; color: #96afec;}

#info-list .pagination_box .next.page-numbers,.prev.page-numbers         { background-color: #f5f5f5; color: #96afec;}


/* group-company */
#group-company.contbox #group-company_box                                { max-width: 800px; height: auto; margin: 40px auto 0px; padding-bottom: 60px;}
#group-company.contbox #group-company_box section:not(:last-child)       { margin-bottom: 3.5rem;}
#group-company.contbox #group-company_box .travel-detail_box             { padding: 1.76rem; height: auto; background-color: #fff;}
#group-company.contbox #group-company_box .travel-detail_box h2          { margin: 1.4rem 0;}

#group-company.contbox #group-company_box .address_container             { gap: 0.85rem;} 
#group-company.contbox #group-company_box .address_box                   { display: flex; background-color: #c49a33; border-radius: 1.7rem; align-items: center; color: #fff; font-weight: bold; padding: 0.23rem 0.41rem; flex-shrink: 0; display: inline-flex;}
#group-company.contbox #group-company_box .add-pref                      { background-color: #fff; color: #000;  padding: 0.41rem 1.17rem; border-radius: 1.47rem; /* 必要に応じて調整 */ flex-shrink: 0; margin-right: 5px;  text-align: center;}
#group-company.contbox #group-company_box .add-city                      { padding: 0.58rem 1rem;  text-align: center; flex-shrink: 0;}

#group-company.contbox #group-company_box .price_box                     { font-weight: bold; align-items: center; gap:0.8rem; margin-bottom: 1.4rem;}
#group-company.contbox #group-company_box .price_box .basic              { font-size: 1.15em; line-height: 1.25rem;}
#group-company.contbox #group-company_box .price_box .basic span         { font-size: 0.63em;}
#group-company.contbox #group-company_box .price_box .fee                { font-size: 2.65rem; color: #d70000; line-height: 3rem;}

#group-company.contbox #group-company_box .free-space                    { background-color: #ffffff; border: 1px solid #9e9e9f; border-radius: 1rem; padding: 1rem 1.35rem; width: 100%; height: auto; margin-bottom: 1.76rem;}
#group-company.contbox #group-company_box .three-btn                     { justify-content: center; align-items: center; gap: 1rem;}
#group-company.contbox #group-company_box .three-btn a.back              { display: inline-block; background-color: #ffffff; color: #000000; border: 1px solid #000000; font-size: 1rem; font-weight: bold; padding: 0.75rem 2rem; border-radius: 2em; text-decoration: none; max-width: 13rem; width: 100%; height: auto; margin: 0 auto; text-align: center;}
#group-company.contbox #group-company_box .three-btn a.back:hover        { opacity:1; transition:.3s; background-color: #f0efef;}
#group-company.contbox #group-company_box .three-btn a.reserve           { display: inline-block; background-color: #ffffff; color: #d70000; border: 1px solid #d70000; font-size: 1rem; font-weight: bold; padding: 0.75rem 2rem; border-radius: 2em; text-decoration: none; max-width: 13rem; width: 100%; height: auto; margin: 0 auto; text-align: center;}
#group-company.contbox #group-company_box .three-btn a.reserve:hover     { opacity:1; transition:.3s; background-color: #fcf1f1;}
#group-company.contbox #group-company_box .three-btn a.online            { display: inline-block; background-color: #d70000; color: #fff; font-size: 1rem; font-weight: bold; padding: 0.75rem 2rem; border-radius: 2em; text-decoration: none; max-width: 13rem; width: 100%; margin: 0 auto; text-align: center;}
#group-company.contbox #group-company_box .pagination_box                { margin-bottom: 0px;}

.jtb-btn_box {
  margin-bottom: 3.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.jtb-btn_box > a {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 2rem;
  border-radius: 2em;
  font-size: 1.8rem;
  font-weight: 700;
  text-decoration: none;
  color: #ffffff;
  box-sizing: border-box;
  background-image: linear-gradient(90deg, #cd0200 0%, #faa204 100%);
}

.jtb-btn_wrap {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}

.jtb-btn_wrap li:first-child {
  display: inline-block;
  line-height: 1;
}

.jtb-btn_wrap li img.arrow_white {
  display: block;
  max-width: 23px;
  height: auto;
}

.trip-item_box {
  /*display: grid;*/
  display: flex;
  grid-template-columns: 250px 1fr;
  gap: 1.5rem;
  align-items: stretch;
  list-style: none;
  margin: 0;
  margin-bottom: 1.76rem;
  padding: 0;
}

.trip-item_box .thumb_box {
  display: block;
  max-width: 250px;
}
.trip-item_box .thumb_box img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 1rem;
  display: block;
}

.contents_box {
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  margin: 0;
  padding: 0;
  list-style: none;
  height: 100%;
  grid-template-rows: auto 1fr;
}

.contents_box dl {
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 0.8rem;
  row-gap: 0.6rem;
  margin: 0;
  font-weight: bold;
}

.contents_box dt {
  background-color: #efe6ce;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  margin: 0;
  white-space: nowrap;
  font-size: 0.85rem;
  justify-content: center;
}

.contents_box dd {
  margin: 0;
  display: flex;
  align-items: center;
  font-size: 1.35rem;
}

.contents_box .summary p {
  margin: 0;
  line-height: 1.6;
  padding: 8px 0;
}


/* contact */
#contact.contbox #contact-form                        { max-width: 800px; height: auto; margin: 40px auto 60px;}

.send_box                                             { justify-content: center; grid-column: 1 / -1; margin-top: 36px;}
.send_box .btn                                        { display: block; padding: 0.5em 2em; background-color: #d70000; border-radius: 2em; color: #fff; font-weight: bold; font-size: 1.25rem;}

.send_box input[type=submit]                          { display: block; padding: 0.5em 2em; background-color: #d70000; border-radius: 2em; color: #fff; font-weight: bold; font-size: 1.25rem; cursor: pointer; border: none;} 
.send_box input[type=submit]:hover                    { opacity:0.5; transition:.3s;}

#contact.contbox #contact-form .contact-wrap          { margin-top: 40px;}
form.contact-form                                     { display: grid; grid-template-columns: 150px 1fr; column-gap: 40px; row-gap: 24px; align-items: start;}

#contact.contbox #contact-form .contact-wrap          { margin-top: 40px;}
form                                    { display: grid; grid-template-columns: 150px 1fr; column-gap: 40px; row-gap: 24px; align-items: start;}


    /* 各行のラッパー（ラベル + input） */
    .form-row { display: contents; }

    label.form-label {
      grid-column: 1 / 2;
      align-self: center;
      padding-right: 8px;
      font-weight: 700;
      /*font-size: 16px;*/
    }

    .form-control { grid-column: 2 / 3; }

    /* コントロール共通 */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    select,
    textarea{
      width: 100%;
      height: 48px;
      padding: 10px 14px;
      border-radius: 8px;
      border: 1.6px solid #d6d6d6;
      box-sizing: border-box;
      font-size: 15px;
      background: #fff;
      outline: none;
    }

    textarea{
      height: 260px;
      resize: vertical;
      padding-top: 14px;
      line-height: 1.6;
    }

    /* セレクトの矢印（見た目調整） */
    select{
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      background-image: linear-gradient(45deg, transparent 50%, #666 50%),
                        linear-gradient(135deg, #666 50%, transparent 50%);
      background-position: calc(100% - 18px) calc(50% - 6px), calc(100% - 12px) calc(50% - 6px);
      background-size: 6px 6px, 6px 6px;
      background-repeat: no-repeat;
      padding-right: 44px;
    }

    .small{ height: 48px; }

    /* 同意チェックボックス行 */
    .agree-row{
      grid-column: 1 / -1;
      display: flex;
      justify-content: center;
      margin-top: 8px;
    }
    .agree-row span { font-size: 0.9rem;}

    .agree-box{
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 1.6px solid #d6d6d6;
      padding: 12px 20px;
      border-radius: 8px;
      background: #fff;
    }

    .agree-box input[type="checkbox"]{ width: 18px; height: 18px; }

    .message-label{
      font-weight: 700;
      grid-column: 1 / -1;
      margin-top: 6px;
      /*font-size: 16px;*/
    }

    .btn-row{
      grid-column: 1 / -1;
      display: flex;
      justify-content: center;
      margin-top: 18px;
    }


    .form-row.full {
      grid-column: 1 / -1;
    }

    .form-row.full .form-control {
      grid-column: 1 / -1;
      margin-top: -24px;
    }

    /* 見た目微調整（フォーカス時） */
    input:focus, textarea:focus, select:focus{
      box-shadow: 0 0 0 3px rgba(66,133,244,0.08);
      border-color: #9bbef9;
    }

/* consultation */
#top.contbox #consultation                            { background: url(img/consultation_back.jpg) no-repeat center bottom / cover; padding:40px 0 80px; margin: 0 calc(50% - 50vw); min-height: 65vh;}
#top.contbox #consultation hgroup                     { max-width: 640px; margin-inline: auto; margin-bottom: 30px; flex-direction: column;}
#top.contbox #consultation hgroup h2                  { justify-content: center; text-align: center; margin-bottom: 0.5rem; color: #082aa3;}
#top.contbox #consultation hgroup p                   { justify-content: center; text-align: center; font-weight: bold;}
#top.contbox #consultation .linkbox                   { max-width: 240px; margin: 0 0 0 55%; flex-direction: column; gap: 20px;}
#top.contbox #consultation .linkbox .link_wrap        { flex-direction: column;}
#top.contbox #consultation .linkbox .link_wrap a      { display: flex; padding: 1rem 0; width: 100%; max-width: 15rem; height: auto; min-height: 8rem; background-color: #fff; font-weight: bold; border-radius: 6px; flex-direction: column; align-items: center; justify-content: space-between;}
#top.contbox #consultation .linkbox .link_wrap img    { width: 20%; height: auto; margin-top: 13px;} 

/* gift */
#gift.contbox #gift_box                                                { max-width: 800px; height: auto; margin: 40px auto 60px;}
#gift.contbox #gift_box section:not(:last-child)                       { margin-bottom: 3.5rem;}
#gift.contbox #gift_box h2                                             { display: inline-flex; justify-content: center; align-items: center; background-color: #406edd; padding: 1.25rem 2rem; color: #fff; font-size: 1.75rem; font-weight: bold; border-radius: 1rem; width: 100%; margin-bottom: 2.35rem; text-align: center;}
#gift.contbox #gift_box h3.product-name                                { line-height: 2.35rem;}
#gift.contbox #gift_box h3 .retail-price                               { font-size: 0.8em;}
#gift.contbox #gift_box h3 .blue-circle                                { color: #406edd;}
#gift.contbox #gift_box h3 span                                        { font-weight: normal;}
#gift.contbox #gift_box h3 .remarks                                    { font-size: 0.9rem;}
#gift.contbox #gift_box hr                                             { border: none; border-top: 1px solid #000; margin: 22px 0; height: 0;}
#gift.contbox #gift_box p .blue-circle                                 { color: #406edd;}
#gift.contbox #gift_box p .remarks                                     { font-size: 0.9rem;}
#gift.contbox #gift_box .blue-btn a                                    { padding: 0.85rem 3.25rem;}
#gift.contbox #gift_box .red-btn                                       { margin-top: 2.35rem;}
#gift.contbox #gift_box .premium-gift_box {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 1.5rem; 
  margin: 2.35rem 0px;
  align-items: center;
} 
#gift.contbox #gift_box .catalog-gift_box                              { margin: 1rem 0px;}

/* recruit */
#recruit.contbox #recruit_box                                          { max-width: 800px; height: auto; margin: 40px auto 60px;}
#recruit.contbox #recruit_box section:not(:last-child)                 { margin-bottom: 3.5rem;}
#recruit.contbox #recruit_box h2                                       { display: inline-flex; justify-content: center; align-items: center; background-color: #406edd; padding: 1.25rem 2rem; color: #fff; font-size: 1.75rem; font-weight: bold; border-radius: 1rem; width: 100%; margin-bottom: 2.35rem; text-align: center;}
#recruit.contbox #recruit_box h3 span                                  { font-weight: normal; font-size: 0.9em;}
#recruit.contbox #recruit_box hr                                       { border: none; border-top: 1px solid #000; margin: 22px 0; height: 0;}
#recruit.contbox #recruit_box hr.dotted                                { border: none; border-top: 1px dotted #bababa; margin: 17px 0; height: 0;}
#recruit.contbox #recruit_box p .blue-circle                           { color: #406edd;}
#recruit.contbox #recruit_box p .red-text                              { color: #d70000;}
#recruit.contbox #recruit_box p .gray-circle                           { color: #888888;}
#recruit.contbox #recruit_box p .remarks                               { font-size: 0.9rem;}
#recruit.contbox #recruit_box .column-space                            { padding: 2.35rem; border-radius: 1rem; background-color: #ecf0fc;} 
#recruit.contbox #recruit_box .column-space hr                         { border: none; border-top: 1px solid #406edd; margin: 17px 0; height: 0;}
#recruit.contbox #recruit_box .inquiry dl {
  display: grid;
  grid-template-columns: 150px 1fr; /* 左: dt / 右: dd */
  row-gap: 0.5em;
  column-gap: 1em;
}

#recruit.contbox #recruit_box .inquiry dt {
  font-weight: bold;
}

#recruit.contbox #recruit_box .inquiry dd {
  margin: 0;
}

/* company */
#company.contbox #company_box                                          { max-width: 800px; height: auto; margin: 40px auto 60px;}
#company.contbox #company_box section:not(:last-child)                 { margin-bottom: 3.5rem;}
#company.contbox #company_box h2                                       { display: inline-flex; justify-content: center; align-items: center; background-color: #406edd; padding: 1.25rem 2rem; color: #fff; font-size: 1.75rem; font-weight: bold; border-radius: 1rem; width: 100%; margin-bottom: 2.35rem; text-align: center;}
#company.contbox #company_box h3 span                                  { font-weight: normal; font-size: 0.9em;}
#company.contbox #company_box hr                                       { border: none; border-top: 1px solid #000; margin: 22px 0; height: 0;}
#company.contbox #company_box p.products                               { font-weight: bold;}
#company.contbox #company_box p.products span                          { color: #406edd;}
#company.contbox #company_box .traffic_box                             { gap: 2rem;}

#company.contbox #company_box .profile_box {
  display: grid;
  grid-template-columns: max-content 1fr; /* 左列は内容幅で、右列は残りを使う */
  column-gap: 1.5rem; 
} 

#company.contbox #company_box .map_box                                 { border-radius: 1rem; overflow: hidden; height: stretch;}

/* dl をグリッド化：各行が「ラベル（幅自動） + 内容（残り）」になる */
#company.contbox #company_box .overview_box {
  display: grid;
  grid-template-columns: max-content 1fr; /* 左列は内容幅で、右列は残りを使う */
  column-gap: 1rem;   /* dt と dd の横間隔 */
  row-gap: 0.75rem;    /* 行間 */
  align-items: start; /* 高さ揃え（必要に応じ center に） */
}

#company.contbox #company_box .overview_box dt {
  font-weight: 700;
  margin: 0;
  padding: 0;
}

#company.contbox #company_box .overview_box dd {
  margin: 0;
  padding: 0;
}

/* links */
#links.contbox #links_box                             { max-width: 800px; height: auto; margin: 40px auto 60px; padding: 10vh 0;}
#links.contbox #links_box .lead                       { display: flex; justify-content: center; margin: 0 auto 30px;}
#links.contbox #links_box .banner_box                 { margin-bottom: 30px;}
/*
#links.contbox #links_box h2                          { color:#406edd; font-size: 1.8rem; margin-bottom: 30px;}
#links.contbox #links_box h3                          { margin-bottom: 50px;}
*/
#links.contbox #links_box h2                          { display: inline-flex; justify-content: center; align-items: center; background-color: #406edd; padding: 1.25rem 2rem; color: #fff; font-size: 1.75rem; font-weight: bold; border-radius: 1rem; width: 100%; margin-bottom: 2.35rem; text-align: center;}
#links.contbox #links_box h2 img                      { height: 1.75em; width: auto; margin-bottom: -7px;}
#links.contbox #links_box h2 span                     { width: 0.5em;}

/* tokushoho */
#tokushoho.contbox .table-wrap                        { max-width:800px; margin:60px auto; height: auto;}
table.info-table                                      { width:100%; border-collapse:collapse; border:1px solid #000}
table.info-table td, table.info-table th              { border:1px solid #000; padding:18px; vertical-align:middle}
table.info-table th                                   { background:#f5f5f5; text-align:left; font-weight:600}
table.info-table td.value                             {background:#fff}
/* 左列の幅固定 */
table.info-table tr td:first-child, table.info-table tr th:first-child 
                                                      { width:30%; min-width:200px}
/* 長いテキストの折返し */
.break                                                { white-space:pre-line; word-break:break-word}


/* パスワード入力画面 */
.pw-gate-wrap                         { max-width:500px; margin:0 auto 20px; padding:24px 48px; border:1px solid #ddd; border-radius:10px;}
.pw-gate-wrap p                       { margin-bottom: 5px;}
.pw-gate-wrap form                    { display: flex; flex-wrap: wrap; justify-content: center;}
.pw-gate-wrap input[type="password"]  { width:100%; padding:10px; font-size:16px;}
.pw-gate-wrap button                  { display: block; padding: 0.5em 3.5em; background-color: #406edd; border-radius: 2em; color: #fff; font-weight: bold; font-size: 17px; cursor: pointer;}
.pw-gate-error                        { color:#d70000;}
/* 2025.11 スイトトラベル PC */




@media (hover: hover) {
a:hover                            { opacity:0.75; transition:.3s;}
#nav a:hover                       { }

.pw-gate-wrap button:hover         { opacity:0.75; transition:.3s;}
}


@media (hover: none) {
a:active                           { opacity:0.75; transition:.3s;}
#nav a:active                      { }

.pw-gate-wrap button:active        { opacity:0.75; transition:.3s;}
}

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

}


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

}


@media only screen and (max-width: 1024px) {
header #g-nav                      { padding: 0 20px;}
header #g-nav #siteid              { width: 37%;}

#top.contbox #consultation         { min-height: inherit; background-position-x: -110px;}

/* 2025.11 スイトトラベル SP */

.breadcrumbs                                          { padding: 7px 0; flex-wrap: wrap;}

#group-company .breadcrumbs                           { padding: 7px 20px; flex-wrap: wrap;}

#suito_sub-title,
#solo_sub-title,
#group_sub-title,
#group-company_sub-title                              { height: 30vh;}

#top.contbox #travel                                  { padding: 35px 20px;}
#top.contbox #information                             { padding: 35px;}

#info.contbox,
#solo.contbox,
#group.contbox, 
#gift.contbox,
#group-company.contbox,
#recruit.contbox,
#company.contbox,
#contact.contbox,
#privacy.contbox,
#tokushoho.contbox,
#links.contbox                                        { padding: 0 20px;}

#privacy.contbox .privacy_box                         { margin: 30px auto;}

/* 2025.11 スイトトラベル SP */



}



@media only screen and (max-width: 780px) {
/* group-company */
  .trip-item_box {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
	display: grid;
  }
  
  .trip-item_box .thumb_box{
    max-width: 100%;
  }

  .trip-item_box .thumb_box img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
  }
}


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

header                             { height: 24vh;}
header #g-nav #siteid              { width: 81%;}
header #g-nav .gnav_box            { margin: 30px auto;}

.head_title                        { background:url(img/head_back_sp.jpg) no-repeat center bottom; background-size:contain;}
.head_title h2 img                 { width:auto; margin:auto;}

#top.contbox h2                    { padding: 0 20px;}
#top.contbox .info                 { gap: 35px; flex-direction: column;}
#top.contbox .consultations,
#top.contbox .topics               { width: 100%;}

#top.contbox img.mokume            { height: 250vh;}

footer .footbox hr                 { padding: 0 20px;}


#h-nav                             { width:auto; clear: both; display:block;}
nav                                {
     display: block;
     position: fixed;
     top: 0;
     right: -70%;
     bottom: 0;
     width: 60%;
     background: #fff;
     overflow-x: hidden;
     overflow-y: auto;
     transition: all .6s;
     -webkit-overflow-scrolling: touch;
     transition: all .6s;
     z-index: 3;
     opacity:0;
}
.open nav                          {
     right: 0%;
     opacity:1;
     height: auto;
}
.navmenu ul                        {
    width: 100%;
    position: absolute;
    top: 20%;
    left: 0;
    display:block;
}
.navmenu li /*a*/                      {
     display:block;
     margin:0 0 20px 20px;
     padding:0 0 20px 20px;
     border-bottom:solid 1px #406edd;
     font-size:16px;
}


/* ハンバーガーメニュー */
.toggle_btn                        {
     display: block;
     position: fixed;
     top: 45px;
     right: 25px;
     width: 30px;
     height: 30px;
     transition: all .6s;
     cursor: pointer;
     z-index: 3;
}
.toggle_btn span                   {
     display: block;
     position: absolute;
     left: 0;
     width: 30px;
     height: 2px;
     border-radius: 3px;
     transition: all .3s;
     border: none;
     border:solid 1px #000000;
     background-color: #000;
     -webkit-transition: .35s ease-in-out;
     -moz-transition: .3s ease-in-out;
     transition: .3s ease-in-out;

}
.toggle_btn span:nth-child(1)      { top: 4px;}
.toggle_btn span:nth-child(2)      { top: 14px;}
.toggle_btn span:nth-child(3)      { bottom: 4px;}
.open .toggle_btn span             { background-color: #000;}
.open .toggle_btn span:nth-child(1){
     -webkit-transform: translateY(10px) rotate(-45deg);
     transform: translateY(10px) rotate(-45deg);}
.open .toggle_btn span:nth-child(2){
     opacity: 0;}
.open .toggle_btn span:nth-child(3){
     -webkit-transform: translateY(-10px) rotate(45deg);
     transform: translateY(-10px) rotate(45deg);}
     

/* mask */
#mask                              { display: none; transition: all .5s;}
.open #mask                        {
     display: block;
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.9);
     z-index: 2;
}

#tokushoho.contbox .table-wrap                                              { padding: 20px;}
table.info-table                                                            { font-size:14px}
table.info-table tr                                                         { display:block; border:0}
table.info-table tr td, table.info-table tr th                              { display:block; border:1px solid #ccc;  padding:12px}
table.info-table tr td:first-child, table.info-table tr th:first-child      { width:auto}

/* btn */
.blue-btn a,
.red-btn a                         { display: block; width: 100%; margin: 0;}

/* group-company */
  .trip-item_box {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }

  .trip-item_box .thumb_box img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
  }

  .contents_box {
    grid-template-rows: auto auto; 
  }

  .jtb-btn_box > a {
    padding: 1rem 2rem;
    font-size: 1.6rem;
  }

}


@media only screen and (max-width: 428px) {
body                               { font-size:15px;}

.new_line                          { display:block;}

header #g-nav .id_box              { width: 85%;}

#h-nav .main_menu:before           { left:85%;}

#main                                                { height: 37vh; margin-top: -15vh;}

footer #link .linkbox              { flex-direction: column; gap: 20px;}
footer .footbox                    { padding: 20px;}
footer .footbox .foot_linkbox      { flex-direction: column; text-align: center; gap: 5px;}
footer .footbox .foot_idbox        { max-width: 300px;}
footer .footbox .foot_idbox .registered_travel       { font-size: 0.8rem;}

#top.contbox h2                    { font-size: 1.3rem;}
#top.contbox h3                    { font-size: 1.13rem;}



/* 2025.11 スイトトラベル SP */

#top.contbox #travel .travel_container .travel_box    { flex-direction: column;}

#top.contbox #travel .travel_container                { gap: 20px;}
#top.contbox #travel .travel_container .travel_box    { gap: 20px;} 
#top.contbox #travel .travel_container .travel_box .group-travel_box .group-tours .tour_box li  { padding: 1.25rem 0;}


#top.contbox #information .info_container .info_box .info_wrap .news_box .news_wrap        { flex-direction: column; gap: 10px;}
#top.contbox #information .info_container .info_box .info_wrap .news_box li:first-child    { width: 7.35rem;}

#top.contbox #consultation                            { background: url(img/consultation_back_sp.jpg) no-repeat center bottom / cover; padding:40px 0 27vh; margin: 0 calc(50% - 50vw); min-height: 40vh;}
#top.contbox #consultation .linkbox                   { width: 100%; padding: 0 20px; margin-inline: auto;}
#top.contbox #consultation .linkbox .link_wrap        { align-items: center;}

#info.contbox .info-list_box .info-news_wrap                     { flex-wrap: wrap; gap: 8px;}
#info.contbox .info-list_box .info-news_wrap .date               { width: 100%;}
#info.contbox .info-list_box .info-news_wrap li:nth-child(2)     { flex: 1;}
#info.contbox .info-list_box .info-news_wrap .arrow_box          { margin-left: auto;}

form.contact-form{
        grid-template-columns: 1fr;
        gap: 16px;
      }
      label.form-label{
        grid-column: 1 / -1;
      }
      .form-control{
        grid-column: 1 / -1;
        margin-top: -10px;
      }
      .message-label{
        margin-top: 0;
      }
      .agree-row{
        justify-content: center;
      }
    
    input:focus, textarea:focus, select:focus{
      box-shadow: 0 0 0 3px rgba(66,133,244,0.08);
      border-color: #9bbef9;
    }

#recruit.contbox #recruit_box .inquiry dl {
    grid-template-columns: 1fr;
  }

#group-company.contbox #group-company_box .price_box          { flex-direction: column; align-items: normal;}
#group-company.contbox #group-company_box .three-btn          { flex-direction: column;}

#company.contbox #company_box .profile_box                    { grid-template-columns: 1fr; gap: 1.3rem;}
#company.contbox #company_box .overview_box                   { grid-template-columns: 1fr;}
#company.contbox #company_box .traffic_box                    { flex-direction: column; gap: 1.25rem;}

#gift.contbox #gift_box .premium-gift_box                     { grid-template-columns: 1fr; gap: 1.3rem;}


/* パスワード入力画面 */
#pass_top                             { padding: 0 20px;}
.pw-gate-wrap                         { padding: 24px 34px;}
.pw-gate-wrap button                  { font-size: 15px;}
/* 2025.11 スイトトラベル SP */


}


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

#main                                                { height: 37vh; margin-top: -15vh;}

}






