@charset "UTF-8";
/*
Theme Name: rensei
Version: 1.0.2
*/

/*common*/
/*----------------------------*/
*{ margin:0; padding:0; box-sizing: border-box;}
body{ font-family: "YuGothic", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo","Arial", sans-serif; font-weight: 500; line-height: 1.5; color: #231815; }
img { border: none; width: 100%; height: auto;}
@media screen and (min-width: 1024px) {
a:hover img{ opacity: 0.7;}
_:-ms-lang(x)::-ms-backdrop, body { font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}/*IE対策*/
}
@media screen and (max-width: 767px) {
* { -webkit-text-size-adjust: 100%;}
}
/*----------------------------*/
/*画面サイズ別ルートフォントサイズ*/
/*----------------------------*/
@media screen and (min-width: 1024px){
html{ font-size: 100px;/*変更不可*/}
}
@media screen and (min-width: 768px) and (max-width: 1023px){
html{ font-size: 9.76vw;/*変更不可*/}
}
@media screen and (max-width: 767px){
html{ font-size: 26.67vw;/*変更不可*/}
}
/*----------------------------*/
/*画面サイズ別テキストサイズ*/
/*----------------------------*/
@media screen and (min-width: 768px){
body{ font-size: 0.18rem;}/*PCデザインのテキストサイズの基本：18pxの想定*/
}
@media screen and (max-width: 767px){
body{ font-size: 0.16rem;}/*SPデザインのテキストサイズの基本：16pxの想定*/
}
/*----------------------------*/





/*page*/
/*----------------------------*/
a { color: inherit; text-decoration: none; }
img { vertical-align: middle; }
em { font-style: inherit; }
ul, ol { list-style-type: none ;}
section { margin-bottom: 0.6rem; font-family:  "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif; }

.no-scroll { overflow: hidden; }
.link-area { cursor: pointer; }
.clear-float::after { content: ""; display: block; clear: both; }
.iframe-container .iframe-inner { position: relative; padding-top: 56.25%; }
.iframe-container .iframe-inner iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

.basic-table01 { width: 100%; border-collapse: collapse; }
.basic-table01 :is(th, td) { border: 1px solid #015a92; }
.basic-table01 th { font-weight: inherit; text-align: left; background: #dceaf5; }
.basic-table01 thead { border: none; }
.basic-table02 { width: 100%; border-collapse: collapse; }
.basic-table02 :is(th, td) { border: 1px solid #727171; }
.basic-table02 th { font-weight: inherit; text-align: left; }

.basic-button01 { display: block; position: relative; font-size: 0.22rem; color: #fff; text-align: center; background: #1b487f; border: none; padding: 0.05rem 0 0.15rem; cursor: pointer; }
.basic-button01::before { content: ""; display: block; position: absolute; top: 0; bottom: 0; right: 0.3rem; width: 0.1rem; border-left: 0.03rem solid #fff; border-right: 0.03rem solid #fff; }
.basic-button01::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0.06rem; height: 0.03rem; background: #fff; }

.basic-list01 > li { position: relative; padding-left: 1.0em; }
.basic-list01 > li::before { content: "・"; position: absolute; left: 0; }
.basic-list02 > li { position: relative; padding-left: 1.0em; }
.basic-list02 > li::before { content: ""; position: absolute; left: 0; }
.basic-list02 > li:nth-child(1)::before { content: "①"; }
.basic-list02 > li:nth-child(2)::before { content: "②"; }
.basic-list02 > li:nth-child(3)::before { content: "③"; }

.basic-title01 { position: relative; padding-bottom: 0.1rem; margin-bottom: 0.3rem; }
.basic-title01::before { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 0.04rem; background: #5076a3; }
.basic-title02 { font-size: 0.25rem; text-align: center; border-bottom: 0.04rem solid #5076a3; }
.basic-title03 { display: inline-block; border-bottom: 0.04rem solid #5076a3; margin-bottom: 0.3rem; padding: 0 1.0em; }
.basic-title04 { position: relative; padding-bottom: 0.1rem; margin-bottom: 0.1rem; }
.basic-title04::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; border-bottom: dashed 1px #000; }

.basic-block01 { margin-bottom: 1.0em; }
.basic-block01 p { text-indent: 1.0em; }
.basic-block01 em { color: #e60012; }
.basic-block02 { line-height: 2.0; }

.basic-layout02 .image { position: relative; }
.basic-layout02 .image iframe { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }

.banner { position: relative; }
.banner .banner-background img { width: 100%; height: 100vh; object-fit: cover; }
.banner .banner-background video { width: 100%; height: auto; object-fit: cover; }
.banner .banner-overlay { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.banner .banner-overlay .overlay-text { position: absolute; color: #fff; text-align: center; font-weight: inherit; background: rgba(80,118,163,0.75); }
.banner .overlay-horizontal-line { position: absolute; left: 0; right: 0; background: #fff; }
.banner .overlay-vertical-line { position: absolute; top: 0; bottom: 0; background: #fff; }
.banner .overlay-square { position: absolute; bottom: 0; background: #888; }

.gallery .gallery-preview { margin-bottom: 0.1rem; }
.gallery .gallery-thumbnails { display: flex; gap: 0.1rem; }
.gallery .gallery-thumbnail { flex: 1; }

.contact-banner .banner-overlay { pointer-events: none; }
.contact-banner .banner-overlay::after { content: ""; display: block; position: absolute; left: 0.1rem; right: 0.1rem; top: 0.1rem; bottom: 0.1rem; border: 0.03rem solid #fff; }
.contact-banner a:hover img { opacity: 1; }

.contact-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea) { font-size: inherit; width: 100%; padding: 0.1rem; background: #DFE8F0; border: none; border-radius: 0.05rem; }
.contact-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea).small { max-width: 1.7rem; }
.contact-form textarea { height: 1.4rem; }
.contact-form dt { position: relative; padding-top: 0.2em; }
.contact-form dt span { display: block; position: absolute; left: 0; line-height: 1.2; }
.contact-form dt.required::after { content: "（必須）"; color: #E60012; }
.contact-form .privacy-text { border: 1px solid #000; padding: 0.1rem; overflow: auto; height: 1.3rem; }
.contact-form .privacy-text h3 { font-weight: inherit; margin: 2.0em 0 1.0em; }
.contact-form .privacy-checkbox { text-align: center; margin: 1.0em 0; }
.contact-form .privacy-checkbox label { font-weight: inherit; vertical-align: middle; }
.contact-form .privacy-checkbox input { vertical-align: middle; }
.contact-form .privacy-checkbox span { vertical-align: middle; }
.contact-form .button { margin-top: 0.6rem; }
.contact-form .button button { font-family: inherit; margin: 0 auto; }
.contact-form .radio-group label { font-weight: inherit; vertical-align: middle; }
.contact-form .radio-group input { vertical-align: middle; }
.contact-form .radio-group span { vertical-align: middle; }
.contact-form .p-country-name { display: none; }

.flow-item { color: #fff; }
.flow-item .item-header { border-bottom: 1px solid #fff; padding: 0.05rem 0; margin-bottom: 0.05rem; }
.flow-item .item-body p { text-indent: 1.0em; line-height: 1.2; }
.flow-item .item-body p:not(:last-child) { margin-bottom: 1.0em; }
.flow-item .item-body p.note { position: relative; padding-left: 1.0em; text-indent: 0; }
.flow-item .item-body p.note::before { content: "※"; position: absolute; left: 0; }
.flow-item .item-body .text em { text-decoration: underline; }
.flow-item:nth-child(2n+1) { background: #0F4572; }
.flow-item:nth-child(2n+2) { background: #5076A3; }
.flow-item:not(:last-child) { margin-bottom: 0.1rem; }

.customer-item { margin-bottom: 0.3rem; }
.customer-item .basic-table01 { display: none; }
.customer-item .show-button { color: #1B487F; display: inline-block; transform: translateY(-0.2rem); }
.customer-item.show h3 { color: #5076A3; }
.customer-item.show .basic-table01 { display: block; margin-bottom: 1.0em; }
.customer-item.show .show-button { transform: translateY(0); }

.section-gothic { font-family: "YuGothic", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo","Arial", sans-serif; }

.section-saiyou-about ul span { display: block; }
.section-saiyou-about li { margin-bottom: 0.5em; }
.section-saiyou-about .button { font-size: 0.22rem; }

.animation-slide-up { transform: translateY(1.0rem); transition: transform 0.5s; }
.animation-slide-up.show { transform: translateY(0); }
.animation-slide-up-fade { transform: translateY(0.3rem); opacity: 0; transition-property: transform, opacity; transition-duration: 0.5s; }
.animation-slide-up-fade.show { transform: translateY(0); opacity: 1; }
.animation-floating { transition: transform 0.5s; }
.animation-floating:hover { transform: translateY(-0.1rem); }
.animation-zoom { overflow: hidden; }
.animation-zoom img { transition: transform 0.5s; }
.animation-zoom img:hover { transform: scale(1.02); }

#page { position: relative; overflow: hidden; }

#header-bar { position: fixed; left: 0; right: 0; top: 0; z-index: 1000; display: flex; justify-content: space-between; align-items: center; background: rgba(80,118,163,0.75); }
#header-bar .logo { color: #fff; font-weight: inherit; }
#header-bar .menu { display: flex; align-items: center; }
#header-bar .menu .menu-button { font-size: 0.14rem; color: #fff; cursor: pointer; width: 0.45rem; }
#header-bar .menu .menu-button .lines { position: relative; width: 0.45rem; height: 0.25rem; margin-top: 0.05rem; margin-bottom: 0.05rem; }
#header-bar .menu .menu-button .line { display: block; position: absolute; left: 0; right: 0; height: 0.03rem; background: #fff; margin: auto; transition: all 0.5s; }
#header-bar .menu .menu-button .line-top { left: 0; top: 0; }
#header-bar .menu .menu-button .line-middle { left: 0.08rem; top: 0; bottom: 0; opacity: 1; }
#header-bar .menu .menu-button .line-bottom { left: 0.16rem; bottom: 0; }
#header-bar .menu.open .menu-button .line-top { left: 0; top: 0; bottom: 0; transform: rotate(-315deg); }
#header-bar .menu.open .menu-button .line-middle { left: 0; opacity: 0; }
#header-bar .menu.open .menu-button .line-bottom { left: 0; top: 0; bottom: 0; transform: rotate(315deg); }
#header-bar .menu:not(.open) .menu-button .text-close { display: none; }
#header-bar .menu.open .menu-button .text-menu { display: none; }

#header-menu { position: fixed; z-index: 1000; top: 0; bottom: 0; background: rgba(80,118,163,0.75); overflow: auto; right: -3.5rem; transition: right 0.5s; }
#header-menu.open { right: 0; }
#header-menu::after { content: ""; display: block; position: absolute; left: 0.15rem; right: 0.15rem; top: 0; bottom: 0; background: #4273ae; }
#header-menu .navi { position: relative; z-index: 10; color: #fff; }
#header-menu .navi li { border-bottom: 1px solid #fff; padding: 0 0.15rem; }
#header-menu .navi li:first-child { border-top: 1px solid #fff; }
#header-menu .navi a { display: block; padding: 0.1rem 0.2rem; transition: transform 0.5s; }
#header-menu .navi a:hover { transform: translateY(-0.05rem); }

#footer-logo { position: relative; background: #1b487f; text-align: center; color: #fff; padding: 0.3rem 0; }
#footer-logo::before { content: ""; display: block; position: absolute; left: 0; right: 0; top: 0.1rem; height: 0.03rem; background: #fff; }
#footer-logo::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0.1rem; height: 0.03rem; background: #fff; }
#footer-logo h2 { font-weight: inherit; }
#footer-info { background: #5076a3; padding: 0.1rem 0; }
#footer-info .item { color: #fff; }
#footer-info .item h3 { font-weight: inherit; border-bottom: 1px dashed #fff; padding: 0.1rem 0; }
#footer-info .item p { padding: 0.1rem 0; }
#footer-copyright { color: #fff; text-align: center; background: #1b487f; border-top: 0.03rem solid #fff; padding: 0.1rem 0; }

#page-top { position: fixed; z-index: 900; right: 0; bottom: 0; opacity: 0; transition: opacity 0.5s; }
#page-top.show { opacity: 1; }
#page-top img { width: 0.6rem; }

#home-eyecatch .banner .overlay-square { background: #035bbc; right: 0; }
#home-eyecatch .splide__slide img { transform: scale(1.1); transition: transform 5.0s; }
#home-eyecatch .splide__slide.is-active img { transform: scale(1); }
#home-introduction .image { text-align: center; }
#home-links01 .links { display: grid; gap: 0.3rem; margin: 0 auto; }
#home-links01 .link .image { position: relative; margin-bottom: 0.1rem; }
#home-links01 .link .image::before { content: ""; display: block; position: absolute; z-index: 10; left: 0.1rem; right: 0.1rem; top: 0.1rem; bottom: 0.1rem; border: 0.03rem solid #fff; pointer-events: none; }
#home-links01 .link .text { font-size: 0.26rem; text-align: center; }
#home-links01 .link .text a { border-bottom: 1px dashed #9fa0a0; }
#home-links01 .link .text a:hover img { opacity: 1; }
#home-links02 .banner .banner-overlay { pointer-events: none; }
#home-links02 .banner .banner-overlay .overlay-text { background: rgba(122, 167, 200, 0.75); }
#home-links02 .banner:nth-child(1) .overlay-square { background: #85a99d; }
#home-links02 .banner:nth-child(2) .overlay-square { background: #c65d57; }
#home-links02 .banner:nth-child(3) .overlay-square { background: #dfd2c9; }
#home-links02 .banner:nth-child(4) .overlay-square { background: #0b84bd; }

#company-introduction .section-header { color: #fff; background: #1b487f; border-bottom: 0.03rem solid #fff; }
#company-introduction .section-header h2 { font-weight: inherit; }
#company-introduction .section-body { position: relative; }
#company-introduction .section-body .text { color: #fff; background: rgba(27,72,127,0.52); margin-bottom: 0; }
#company-introduction .section-body .text .basic-block01:not(:last-child) { margin-bottom: 1.0em; }
#company-introduction .section-footer { position: relative; color: #fff; background: #1b487f; padding: 0.3rem 0; }
#company-introduction .section-footer::before { content: ""; display: block; position: absolute; left: 0; right: 0; top: 0.1rem; height: 0.03rem; background: #fff; }
#company-introduction .section-footer::after { content: ""; display: block; position: absolute; left: 0; right: 0; bottom: 0.1rem; height: 0.03rem; background: #fff; }
#company-introduction .section-footer p span { margin: 0 0.5em; }

#achievement-eyecatch .splide__slide img { transform: scale(1.1); transition: transform 5.0s; }
#achievement-eyecatch .splide__slide.is-active img { transform: scale(1); }
#achievement-eyecatch .banner .banner-overlay .overlay-text { background: rgba(65, 151, 223, 0.75); }
#achievement-eyecatch .banner .overlay-square { background: #314e65; }
#achievement-customer h2 span { margin-right: 1.0em; }

#saiyou-eyecatch .splide__slide img { transform: scale(1.1); transition: transform 5.0s; }
#saiyou-eyecatch .splide__slide.is-active img { transform: scale(1); }
#saiyou-eyecatch .banner .banner-overlay .overlay-text { background: rgba(52, 141, 164, 0.75); }
#saiyou-eyecatch .banner .overlay-square { background: #94b4ca; }

#about-us-eyecatch .banner .banner-overlay .overlay-text { background: rgba(206, 116, 163, 0.7); }
#about-us-eyecatch .banner .overlay-square { background: #b3af9f; }
#about-us-resorttrust .section-body .text a { color: #0032FF; float: right; }
#about-us-resorttrust .section-body .note { text-align: right; }

#formwork-eyecatch .banner .banner-overlay .overlay-text { background: rgba(155, 125, 209, 0.7); }
#formwork-eyecatch .banner .overlay-square { background: #8A8EC0; }

#driver-eyecatch .banner .banner-overlay .overlay-text { background: rgba(9, 41, 108, 0.7); }
#driver-eyecatch .banner .overlay-square { background: #788593; }
#driver-flow .flow-item:nth-child(2) .item-body .text { background: url(images/driver-flow-bg01.png) no-repeat bottom; background-size: calc(100% - 0.2rem); }
#driver-flow .flow-item:nth-child(3) .item-body .text { background: url(images/driver-flow-bg02.png) no-repeat bottom; background-size: calc(100% - 0.2rem); }

#contact-eyecatch .banner .banner-overlay .overlay-text { background: rgba(140, 173, 209, 0.75); }
#contact-eyecatch .banner .overlay-square { background: #4782BF; }
#contact-tel .link { text-align: center; }
#contact-tel .link a { display: inline-block; position: relative; text-align: center; line-height: 1.2; }
#contact-tel .link a::before { content: ""; display: block; position: absolute; left: 0; top: 0; width: 0.3rem; height: 0.385rem; background: url(images/contact-tel.png) no-repeat center; background-size: contain; }
#contact-tel .link a span { display: block; }
#contact-tel .box { border: 1px solid #000; padding: 0.2rem; max-width: 5.08rem; margin-left: auto; margin-right: auto; }
#contact-tel .box li { padding-left: 2.0em; }
#contact-thanks .button { max-width: 3.0rem; margin: 0.6rem auto; }


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

    .for_sp { display: none; }
    .wrapper { padding: 0 0.32rem; margin: 0 auto; }

    .basic-table01 :is(th, td) { padding: 0.1rem 0.2rem; }
    .basic-table02 :is(th, td) { padding: 0.1rem 0.2rem; }

    .basic-title01::before { left: calc((100% - 100vw) * 0.5); right: 6.0rem; font-size: 0.25rem; }
    .basic-title02 { width: 2.78rem; margin-bottom: 0.3rem; }
    .basic-title03 { font-size: 0.25rem; text-align: center; min-width: 2.2rem; margin-left: 0.2rem; }
    .basic-title04 { font-size: 0.22rem; }

    .basic-block02 { font-size: 0.19rem; margin-left: 0.4rem; }

    .basic-layout01 { display: flex; gap: 0.3rem; }
    .basic-layout01 .image img { width: 4.5rem; }
    .basic-layout01 .text { flex: 1; }
    .basic-layout01:not(.basic-layout01-reverse) .image { margin-left: -0.32rem; }
    .basic-layout01-reverse .image { margin-right: -0.32rem; }
    .basic-layout01-row-reverse { flex-direction: row-reverse; }
    .basic-layout02  { display: flex; gap: 0.3rem; }
    .basic-layout02 .image { flex: 1; }

    .banner .banner-background img { height: clamp(6.3rem, (1260 / 1920) * 100vw, 12.6rem); }
    .banner .overlay-horizontal-line { height: 0.04rem; }
    .banner .overlay-vertical-line { width: 0.04rem; }
    .banner .overlay-square { width: 0.2rem; height: 0.2rem; }

    .contact-banner .banner-background img { height: clamp(2.63rem, (526 / 1920) * 100vw, 5.26rem); }
    .contact-banner .banner-overlay .overlay-image { position: absolute; left: 0.8rem; bottom: 0.2rem; }
    .contact-banner .banner-overlay .overlay-image img { width: clamp(4.04rem, (808 / 1920) * 100vw, 8.08rem); }

    .contact-form dl { display: flex; flex-wrap: wrap; gap: 0.1rem; }
    .contact-form dt { width: 2.0rem; }
    .contact-form dd { width: calc(100% - 2.1rem); }
    .contact-form dt.required::after { font-size: 0.1rem; }
    .contact-form dt span { font-size: 0.1rem; }
    .contact-form dt.full-width { width: 100%; }
    .contact-form dd.full-width { width: 100%; }
    .contact-form .button button { width: 2.7rem; }
    .contact-form .privacy-text h3 { font-size: 0.18rem; }

    .flow-item .item-body { display: flex; }
    .flow-item .item-body .image { position: relative; flex: 1 1 50%; height: 2.8rem; }
    .flow-item .item-body .image img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
    .flow-item .item-body .text  { flex: 1 1 50%; font-size: 0.24rem; padding: 0.4rem 0.8rem 0; }
    .flow-item .item-body .text-inner { max-width: 4.2rem; }

    .customer-item tr > *:nth-child(1) { width: 2.0rem; }
    .customer-item h3 { min-width: 3.4rem; }
    .customer-item .show-button { font-size: 0.22rem; margin-left: 0.6rem; }

    .section-contact-banner { margin-bottom: 0; }

    .section-eyecatch .banner .overlay-text { font-size: 0.44rem; bottom: 0.24rem; padding: 0.05rem 1.0rem; }
    .section-eyecatch .banner .overlay-horizontal-line-upper { top: 1.0rem; }
    .section-eyecatch .banner .overlay-horizontal-line-lower { bottom: 0.2rem; }
    .section-eyecatch .banner .overlay-vertical-line-left { left: 0.2rem; }
    .section-eyecatch .banner .overlay-vertical-line-right { right: 0.2rem; }
    .section-eyecatch-left .banner .overlay-text { left: 0.24rem; }
    .section-eyecatch-right .banner .overlay-text { right: 0.24rem; }
    .section-eyecatch-right .banner .overlay-square { right: 0; }

    .section-saiyou-about ul { font-size: 0.16rem; }
    .section-saiyou-about ul span { font-size: 0.14rem; }
    .section-saiyou-about p { font-size: 0.16rem; }
    .section-saiyou-about .text { position: relative; }
    .section-saiyou-about .basic-block01 { margin-bottom: 0; }
    .section-saiyou-about .button { position: absolute; left: 0; right: 0; bottom: 0; margin: auto; }
    .section-saiyou-about .button a { width: 2.7rem; margin: 0 auto; }
    .section-saiyou-about:not(.section-saiyou-about-reverse) h3::after { right: -100vw; }
    .section-saiyou-about-reverse h3::after { left: -100vw; }

    #header-bar { padding: 0.1rem 0.15rem; }
    #header-bar .logo { font-size: 0.24rem; }
    #header-bar .logo img { width: 0.475rem; margin-right: 0.15rem; }
    #header-bar .menu { gap: 0.3rem; }
    #header-bar .navi { color: #fff; font-size: 0.19rem; }
    #header-bar .navi ul { display: flex; gap: 0 0.3rem; }
    #header-bar .navi a { display: inline-block; transition: transform 0.5s; }
    #header-bar .navi a:hover { transform: translateY(-0.05rem); }
    #header-menu { top: 0.77rem; }
    #header-menu .navi a { font-size: 0.19rem; width: 3.2rem; }

    #footer-logo h2 { font-size: 0.32rem; }
    #footer-logo p { font-size: 0.14rem; }
    #footer-copyright { font-size: 0.15rem; }
    #footer-info .items { display: flex; gap: 0.5rem; }
    #footer-info .item { flex: 1 1; }
    #footer-info .item h3 { font-size: 0.16rem; }
    #footer-info .item p { font-size: 0.16rem; }

    #home-eyecatch .banner .overlay-text { font-size: 0.44rem; bottom: 0.39rem; right: 0.24rem; padding: 0.1rem 1.0rem; }
    #home-eyecatch .banner .overlay-horizontal-line-upper { bottom: 0.35rem; }
    #home-eyecatch .banner .overlay-horizontal-line-lower { bottom: 0.2rem; }
    #home-eyecatch .banner .overlay-vertical-line { right: 0.2rem; }
    #home-introduction { font-size: 0.22rem; padding: 0.4rem 0; }
    #home-introduction .image { margin-bottom: 0.6rem; }
    #home-introduction .image img { width: 6.8rem; }
    #home-links01 .links { grid-template-columns: repeat(2, 1fr); max-width: 8.4rem; margin-bottom: 0.8rem; }
    #home-links02 .banner { margin-bottom: 0.45rem; }
    #home-links02 .banner .banner-background img { height: clamp(3.24rem, (648 / 1920) * 100vw, 6.48rem); }
    #home-links02 .banner .overlay-text { font-size: 0.33rem; bottom: 0.24rem; padding: 0.1rem 1.0rem; }
    #home-links02 .banner .overlay-horizontal-line { bottom: 0.2rem; }
    #home-links02 .banner:nth-child(2n+1) .overlay-text { right: 0.44rem; }
    #home-links02 .banner:nth-child(2n+1) .overlay-vertical-line-left { right: 0.2rem; }
    #home-links02 .banner:nth-child(2n+1) .overlay-vertical-line-right { right: 0.4rem; }
    #home-links02 .banner:nth-child(2n+1) .overlay-square { right: 0; }
    #home-links02 .banner:nth-child(2n+2) .overlay-text { left: 0.44rem; }
    #home-links02 .banner:nth-child(2n+2) .overlay-vertical-line-left { left: 0.2rem; }
    #home-links02 .banner:nth-child(2n+2) .overlay-vertical-line-right { left: 0.4rem; }

    #company-introduction { padding-top: 0.9rem; }
    #company-introduction .section-header h2 { font-size: 0.28rem; padding: 0.15rem 0; }
    #company-introduction .section-body { background: #000 url(./images/company-introduction-img-pc.jpg) no-repeat left; background-size: auto 100%; }
    #company-introduction .section-body .text { padding: 0.3rem 0.6rem; margin-left: min((960 - 600) / 960 * 100%, 7.0rem); min-height: 5.0rem; }
    #company-introduction .section-body .text p { max-width: 6.0rem; }
    #company-introduction .section-footer { font-size: 0.22rem; text-align: right; }

    #achievement-introduction { font-size: 0.19rem; margin: 0.6rem 0; }
    #achievement-customer h2::before { right: 1.4rem; }

    #kawagoe-about .images { margin: 0.3rem 0; }

    #about-us-resorttrust .section-body .note { font-size: 0.16rem; }
    #about-us-salary .basic-title02 { width: 4.5rem; }

    #formwork-about .image { margin: 0.6rem 0; }

    #driver-flow .flow-item:nth-child(2) .item-body .text { background-size: 3.6rem; }
    #driver-flow .flow-item:nth-child(3) .item-body .text { background-size: 3.2rem; padding-top: 0.2rem; }

    #contact-tel .link { margin: 0.6rem 0; }
    #contact-tel .link a { font-size: 0.52rem; padding-left: 0.4rem; }
    #contact-tel .link a::before { top: 0.1rem; width: 0.3rem; height: 0.385rem; }
    #contact-tel .link a span { font-size: 0.14rem; }
    #contact-tel .text { margin: 0.3rem 0; }

}


@media screen and (min-width: 1024px) {

    .wrapper { max-width: 960px; padding: 0; }

}


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

    .for_pc { display: none; }
    .wrapper { padding: 0 0.15rem; }

    .basic-table01 :is(th, td) { padding: 0.05rem 0.1rem; }
    .basic-table01-sp { display: block; }
    .basic-table01-sp :is(thead, tbody, tr, th, td) { display: block; }
    .basic-table01-sp td { border-top: none; }
    .basic-table01-sp tr:not(:last-child) td { border-bottom: none; }
    .basic-table02 :is(th, td) { padding: 0.05rem 0.1rem; }
    .basic-table02-sp { display: block; }
    .basic-table02-sp :is(thead, tbody, tr, th, td) { display: block; }
    .basic-table02-sp th { color: #fff; text-align: center; background: #9fa0a0; }
    .basic-table02-sp td { border-top: none; }
    .basic-table02-sp tr:not(:last-child) td { border-bottom: none; }

    .basic-title01 { font-size: 0.25rem; text-align: center; }
    .basic-title02 { width: 1.0rem; margin-bottom: 0.2rem; }
    .basic-title03 { font-size: 0.23rem; }
    .basic-title04 { font-size: 0.2rem; }

    .basic-block02 { font-size: 0.17rem; }

    .basic-layout01 .image { margin-left: -0.15rem; margin-right: -0.15rem; }
    .basic-layout02 .image { height: 1.96rem; margin-bottom: 0.1rem; }
    .basic-layout02 .image img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }

    .banner .banner-background img { height: 5.6rem; }
    .banner .overlay-horizontal-line { height: 0.04rem; }
    .banner .overlay-vertical-line { width: 0.04rem; }
    .banner .overlay-square { width: 0.2rem; height: 0.2rem; }

    .gallery { margin-left: -0.15rem; margin-right: -0.15rem; }
    .gallery .gallery-preview { margin-bottom: 0.05rem; }
    .gallery .gallery-thumbnails { gap: 0.05rem; }

    .contact-banner .banner-background img { height: 1.02rem; }
    .contact-banner .banner-overlay .overlay-image { position: absolute; left: 0.1rem; bottom: 0.05rem; }
    .contact-banner .banner-overlay .overlay-image img { width: 2.92rem; }

    .contact-form dt { padding: 0 0.05rem; }
    .contact-form dt.required::after { font-size: 0.08rem; }
    .contact-form dt span { font-size: 0.08rem; top: -1.0em; }
    .contact-form dd { margin-bottom: 0.15rem; }
    .contact-form .button button { width: 2.7rem; }
    .contact-form .privacy-text h3 { font-size: 0.16rem; }
    .contact-form .radio-group .mwform-radio-field { display: block; margin-left: 0.3rem; }

    .flow-item .item-body .text  { padding: 0.2rem; }

    .customer-item tr > *:nth-child(1) { width: 1.5rem; }
    .customer-item .show-button { font-size: 0.2rem; }

    .section-contact-banner { margin-bottom: 0; }

    .section-eyecatch .banner .overlay-text { font-size: 0.28rem; bottom: 0.24rem; left: 0.24rem; right: 0; padding: 0.05rem 0.2rem; }
    .section-eyecatch .banner .overlay-horizontal-line-upper { display: none; }
    .section-eyecatch .banner .overlay-horizontal-line-lower { bottom: 0.2rem; }
    .section-eyecatch .banner .overlay-vertical-line-left { left: 0.2rem; }
    .section-eyecatch .banner .overlay-vertical-line-right { display: none; }

    .section-saiyou-about ul { font-size: 0.16rem; }
    .section-saiyou-about ul span { font-size: 0.14rem; }
    .section-saiyou-about p { font-size: 0.16rem; }
    .section-saiyou-about .image { margin-left: -0.15rem; margin-right: -0.15rem; }
    .section-saiyou-about .button { margin-top: 0.3rem; }

    #header-bar { padding: 0.05rem 0.15rem; }
    #header-bar .logo { font-size: 0.16rem; }
    #header-bar .logo img { width: 0.38rem; margin-right: 0.15rem; }
    #header-bar .navi { display: none; }
    #header-menu { top: 0.65rem; }
    #header-menu.open { width: 100%; }
    #header-menu .navi a { font-size: 0.2rem; }

    #footer-logo h2 { font-size: 0.29rem; }
    #footer-logo p { font-size: 0.12rem; }
    #footer-info .item { text-align: center; }
    #footer-info .item h3 { font-size: 0.15rem; }
    #footer-info .item p { font-size: 0.15rem; }
    #footer-info .item:not(:last-child) { margin-bottom: 0.2rem; }
    #footer-copyright { font-size: 0.1rem; }

    #home-eyecatch .banner .overlay-text { font-size: 0.33rem; bottom: 0.39rem; right: 0.24rem; left: 0; padding: 0.1rem 0.2rem; }
    #home-eyecatch .banner .overlay-horizontal-line-upper { bottom: 0.35rem; }
    #home-eyecatch .banner .overlay-horizontal-line-lower { bottom: 0.2rem; }
    #home-eyecatch .banner .overlay-vertical-line { right: 0.2rem; }
    #home-introduction { font-size: 0.18rem; }
    #home-introduction .image { margin-bottom: 0.6rem; }
    #home-introduction .image img { width: 3.22rem; }
    #home-links01 .links { max-width: 3.06rem; margin-bottom: 0.4rem; }
    #home-links02 .banner { margin-bottom: 0.35rem; }
    #home-links02 .banner .banner-background img { height: 1.68rem; }
    #home-links02 .banner .overlay-text { font-size: 0.23rem; bottom: 0.24rem; right: 0.39rem; width: 2.9rem; padding: 0.05rem 0.2rem; }
    #home-links02 .banner .overlay-horizontal-line { bottom: 0.2rem; }
    #home-links02 .banner .overlay-vertical-line-left { right: 0.2rem; }
    #home-links02 .banner .overlay-vertical-line-right { right: 0.35rem; }
    #home-links02 .banner .overlay-square { right: 0; }

    #company-introduction { padding-top: 0.8rem; }
    #company-introduction .section-header h2 { font-size: 0.27rem; text-align: center; padding: 0.1rem; }
    #company-introduction .section-body { background: url(./images/company-introduction-img-sp.jpg) no-repeat top; background-size: 100%; padding-top: 2.3rem; }
    #company-introduction .section-body .text { padding: 0.3rem; }
    #company-introduction .section-footer { font-size: 0.2rem; text-align: center; }
    #company-introduction .section-footer p span:nth-child(1) { display: block; }

    #achievement-introduction { font-size: 0.17rem; text-align: center; margin: 0.6rem 0; }
    #achievement-customer h2 span:nth-child(1) { display: block; }

    #kawagoe-eyecatch .banner-background video { height: 5.6rem; }
    #kawagoe-about .table tr:nth-child(1) td { text-align: center; }

    #saiyou-introduction { text-align: center; }

    #about-us-resorttrust .section-body .text a { font-size: 0.12rem; margin-top: 0.3rem; }
    #about-us-resorttrust .section-body .note { font-size: 0.12rem; }
    #about-us-salary .basic-title02 { width: 2.3rem; text-align: left; }

    #driver-flow .flow-item:nth-child(2) .item-body .text-inner { padding-bottom: 1.5rem; }
    #driver-flow .flow-item:nth-child(3) .item-body .text-inner { padding-bottom: 1.0rem; }

    #contact-tel .link a { font-size: 0.34rem; padding-left: 0.3rem; }
    #contact-tel .link a::before { top: 0.05rem; width: 0.19rem; height: 0.25rem; }
    #contact-tel .link a span { font-size: 0.09rem; }

}
