@charset "UTF-8";

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

a {
  outline: none;
  text-decoration: none;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}
a img {
  border: 0;
}
a img:hover {
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  opacity: .7;
}
a:link {
  color: #009aff;
}
a:visited {
  color: #0073bf;
}
a:hover {
  text-decoration: none;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
}

audio,
canvas,
img,
video {
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}

caption {
  display: none;
}

address {
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
li,
dt,
dd,
th,
td,
pre {
  margin: 0;
  padding: 0;
  -ms-line-break: strict;
  line-break: strict;
  -ms-word-break: break-word;
  word-break: break-word;
  overflow-wrap: break-word;
  transform: rotate(0.001deg);
}

p {
  margin: 1.12em 0;
}



html {
    box-sizing: border-box;
    /* padding-top: 65px; */
    scroll-behavior: smooth;
}
@media (min-width: 768px) {
    html {
        /* padding-top: 130px; */
    }
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

/* 変数 */
:root {
    --width-base: 1366px;
    --width-wrap: 1100px;
    --width-content: 1100px;
    --width-footer: 1100px;
    --bgcolor-gray: #f5f5f5;
    --bgcolor-lblue: #79c3dc;

    --fsize-13: clamp(0.6875rem, 0.6307rem + 0.2424vw, 0.8125rem);
    --fsize-14: clamp(0.6875rem, 0.6023rem + 0.3636vw, 0.875rem);
    --fsize-15: clamp(0.75rem, 0.6648rem + 0.3636vw, 0.9375rem);
    --fsize-16: clamp(0.8125rem, 0.7273rem + 0.3636vw, 1rem);
    --fsize-17: clamp(0.8125rem, 0.6989rem + 0.4848vw, 1.0625rem);
    --fsize-18: clamp(0.875rem, 0.7614rem + 0.4848vw, 1.125rem);
    --fsize-19: clamp(0.9375rem, 0.8239rem + 0.4848vw, 1.1875rem);
    --fsize-20: clamp(0.9375rem, 0.7955rem + 0.6061vw, 1.25rem);
    --fsize-21: clamp(1rem, 0.858rem + 0.6061vw, 1.3125rem);
    --fsize-22: clamp(1.125rem, 1.0114rem + 0.4848vw, 1.375rem);
    --fsize-23: clamp(1.125rem, 0.983rem + 0.6061vw, 1.4375rem);
    --fsize-24: clamp(1.125rem, 0.9545rem + 0.7273vw, 1.5rem);
    --fsize-25: clamp(1.25rem, 1.108rem + 0.6061vw, 1.5625rem);
    --fsize-26: clamp(1.25rem, 1.0795rem + 0.7273vw, 1.625rem);
    --fsize-27: clamp(1.25rem, 1.0511rem + 0.8485vw, 1.6875rem);
    --fsize-28: clamp(1.375rem, 1.2045rem + 0.7273vw, 1.75rem);
    --fsize-29: clamp(1.375rem, 1.1761rem + 0.8485vw, 1.8125rem);
    --fsize-30: clamp(1.5rem, 1.3295rem + 0.7273vw, 1.875rem);
    --fsize-31: clamp(1.5rem, 1.3011rem + 0.8485vw, 1.9375rem);
    --fsize-32: clamp(1.5rem, 1.2727rem + 0.9697vw, 2rem);
    --fsize-34: clamp(1.625rem, 1.3977rem + 0.9697vw, 2.125rem);
    --fsize-35: clamp(1.625rem, 1.3693rem + 1.0909vw, 2.1875rem);
    --fsize-36: clamp(1.75rem, 1.5227rem + 0.9697vw, 2.25rem);
    --fsize-38: clamp(1.75rem, 1.4659rem + 1.2121vw, 2.375rem);
    --fsize-39: clamp(1.875rem, 1.6193rem + 1.0909vw, 2.4375rem);
    --fsize-40: clamp(2rem, 1.7727rem + 0.9697vw, 2.5rem);
    --fsize-42: clamp(2rem, 1.7159rem + 1.2121vw, 2.625rem);
    --fsize-43: clamp(2.125rem, 1.8693rem + 1.0909vw, 2.6875rem);
    --fsize-44: clamp(2.25rem, 2.0227rem + 0.9697vw, 2.75rem);
    --fsize-45: clamp(2.25rem, 1.9943rem + 1.0909vw, 2.8125rem);
    --fsize-49: clamp(2.5rem, 2.2443rem + 1.0909vw, 3.0625rem);
    --fsize-56: clamp(2.8125rem, 2.5rem + 1.3333vw, 3.5rem);
    --fsize-65: clamp(3.25rem, 2.8807rem + 1.5758vw, 4.0625rem);
    /* --fsize-67: clamp(2.375rem, 1.5511rem + 3.5152vw, 4.1875rem); */
    --fsize-67: clamp(2rem, 0.6789rem + 5.1034vw, 4.1875rem);
    --fsize-title: clamp(1.5rem, 1.1023rem + 1.697vw, 2.375rem);
    --fsize-catch: clamp(0.8125rem, 0.6136rem + 0.8485vw, 1.25rem);

}

/* @font-face でローカルフォントを優先 */
@font-face {
/* font-family: "Local Noto Sans JP";
src: local("Noto Sans JP"); */
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    line-height: 1.6;
    color: #333;
}

/* Header */
.header {
    height: 74px;
    /* padding: 0 10px; */
}
@media (min-width: 768px) {
    .header {
        height: auto;
        height: 140px;
    }
    .header.top-header {
        height: auto;
    }
    .service .header {
        /* height: 284px; */
    }
}
.header-wrapper {
    background: white;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
    transition: .2s;
}
.header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    position: relative;
}
.navigation ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.top-header .header-wrapper {
    background: transparent;
}
.header-wrapper.scrolled {
    background-color: #fff;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

/* ハンバーガーメニューボタン */
.menu-toggle {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  z-index: 1001;
}
.menu-toggle span {
  display: block;
  width: 25px;
  height: 3px;
  background-color: #333;
  transition: transform 0.3s, opacity 0.3s;
}
/* メニューが開いているときのアニメーション */
.menu-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg);
}
.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg);
}

/* ナビゲーション */
#global.navigation {
  position: fixed;
  top: 0;
  right: -110%;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, .95);
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  padding: 4rem 0 2rem;
  transition: right 0.3s ease;
  z-index: 1000;
  overflow-y: auto;
}
#global.navigation.active {
  right: 0; /* 開いた状態 */
}
.main-navi,
.sub-navi {
  /* margin-bottom: 2rem; */
}
/* オーバーレイ */
#global.navigation::after {
  /* content: ''; */
  /* position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: -1; */
}
#global.navigation.active::after {
  /* opacity: 1;
  visibility: visible; */
}

.navi-global a,
.navi-global span {
    color: #29353A;
    display: block;
    padding: .5em;
    padding: clamp(4px, .5em, 8px);
    text-align: center;
}
.navi-global .current a,
.navi-global .current span {
    color: #C43232;
}
.navi-service li.current:nth-child(6) span:first-child {
    border-color: #fff;
}
.navi-service li.current:nth-child(6) span {
    color: #fff;
}

.navi-global li {
    border-bottom: 1px solid #b1b6b9;
}
.navi-global li:first-child {
    border-top: 1px solid #b1b6b9;
}
.navi-contact {
    margin-top: 1em;
}
.navi-contact a {
    border: 1px solid #C43232;
    border-radius: 1.2em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: .5em auto;
    padding: .5em .5em;
    text-align: center;
    width: 50%;
}
.navi-recruit a {
    background-color: #C43232;
    color: #fff;
}
.navi-inquiry a {
    background-color: #fff;
    color: #C43232;
}
.logo {
    margin: 0;
}
.logo img {
    max-height: 42px;
}
@media (min-width: 768px) {
    .header {
        padding: 0;
    }
    .header-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-auto-rows: 1fr; 
        grid-template-columns: clamp(0px, 18%, 150px) minmax(64%, 1fr) clamp(0px, 18%, 150px);
        grid-template-rows: auto 1fr; 
        gap: 0% 0%;
        grid-template-areas: 
            ". logo navi-contact"
            ". navi-global navi-contact"; 
    }
    .top-header .header-content {
        display: block;
    }
    .top-header .header-content .logo {
        display: none;
    }
    #global.navigation {
        grid-column: 1 / -1;
        grid-row: 1 / -1;
        display: contents;
    }
    .logo { grid-area: logo; }
    .navi-contact { grid-area: navi-contact; }
    .navi-global { grid-area: navi-global; }

    .top-header #global.navigation {
        background-color: transparent;
        display: flex;
        flex-direction: row;
        left: 0;
        right: auto;
        height: auto;
        box-shadow: none;
        padding: 0;
        position: static
    }
    .top-header .navi-global {
        margin: 0 auto 0 0;
    }


    .header-content {
        align-items: flex-end;
        justify-content: space-between;
        margin: 0 auto;
        max-width: var(--width-content);
        padding: 1.2em clamp(5px, 2.8%, 28px);
        max-height: 140px;
    }
    .logo {
        margin: 0;
        padding: 0;
        text-align: center;
    }
    .logo img {
        max-height: none;
        max-width: 470px;
    }
    .navi-global ul {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        font-size: 87.5%;
    }
    .navi-global li {
        border: 0;
        display: flex;
        align-items: center;
    }
    .navi-global li:first-child {
        border: 0;
        padding-left: 0;
    }
    .navi-global li:not(:last-child)::after {
        content: "｜";
    }
    .navi-global a {
        display: inline-block;
    }
    .top-header .navi-global a,
    .top-header .navi-global span,
    .top-header .navi-global li:not(:last-child)::after {
        color: #fff;
    }
    .top-header .scrolled .navi-global a,
    .top-header .scrolled .navi-global span,
    .top-header .scrolled .navi-global li:not(:last-child)::after {
        color: #29353A;
    }
    .top-header .navi-global .current a,
    .top-header .navi-global .current span,
    .navi-global .current a {
        color: #C43232;
    }

    .navi-contact {
        display: grid;
        height: 100%;
        place-items: center;
        margin: 0;
    }
    .top-header .navi-contact {
        height: auto;
        margin: 0 0 0 auto;
    }
    .top-header .navi-contact ul {
        display: flex;
        height: auto;
        margin: 0 0 0 auto;
    }
    .navi-contact ul {
        font-size: 87.5%;
        width: 100%;
    }
    .navi-contact a {
        padding: .1em .5em;
        width: 100%;
    }
    .top-header .navi-contact a {
        width: 10em;
    }
    .top-header .navi-contact li:first-child {
        margin-right: 1em;
    }
    .menu-toggle {
        display: none;
    }
}

/* Footer */
.footer {
}
.footer-inner {
    padding-top: 3.5em;
}
.footer-content {
    max-width: var(--width-content);
    margin: 0;
    padding: 0 10px 1em;
}
.footer-logo {
    margin: 0;
    max-width: 570px;
}
.footer-title {
    display: inline-flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    font-size: .75em;
    line-height: 1;
}
.footer-title::before {
    content: attr(data-en)"";
    font-size: 28px;
}
.footerContent-info address {
    margin: .5em 0 0;
}
.footerContent-sns {
    display: flex;
    gap: 1em;
    list-style-type: none;
    margin: .5em 0 1em;
    padding: 0;
}
.navi-footer {
    display: flex;
    gap: 4%;
    padding: 0 10px;
}
.navi-footer a {
    color: #29353A;
    font-size: .875em;
    font-weight: bold;
}
.navi-footer ul {
    width: 48%;
}
.navi-footer li {
    margin-top: 0.5em;
}
.navi-footer ul ul {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
}
.navi-footer li a {
    display: block;
    padding: .2em;
}
.naviFooter-service li:first-child span {
    color: #29353A;
    border-bottom: 1px solid #29353A;
    display: block;
    font-size: .875em;
    font-weight: bold;
}

.footer-banner {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    list-style-type: none;
    margin: 1em 0 0;
    padding: 0 10px 2em;
}
.footer-banner li {
    text-align: center;
    width: calc(50% - 5px);
}

@media (min-width: 960px) {
    .footer {
    }
    .footer-inner {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr;
        grid-template-columns: 51.8% 1fr; 
        grid-template-rows: auto auto 1fr; 
        gap: 0% 0%; 
        grid-template-areas: 
            "footer-content footernavi"
            "copyright footernavi"
            "footer-banner footer-banner"; 
    }
    .footer-content { grid-area: footer-content; }
    .copyright { grid-area: copyright; }
    #footernavi { grid-area: footernavi; }
    .footer-banner { grid-area: footer-banner; }

    .footer-inner {
        margin: 0 auto;
        max-width: var(--width-content);
    }

    .footer-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr 28%; 
        grid-template-rows: auto 1fr; 
        gap: 0% 0%; 
        grid-template-areas: 
            "footer-logo footer-logo"
            "footer-title footer-sns"; 
    }
    .footer-logo { grid-area: footer-logo; }
    .footerContent-info { grid-area: footer-title; }
    .footerContent-sns { grid-area: footer-sns; }

    .footer-content {
        padding: 0;
    }
    .footer-title {
    }
    .footer-title::before {
        font-size: 2.92em;
    }
    .footerContent-sns {
        margin-top: auto;
    }
    .navi-footer {
        display: flex;
        justify-content: flex-end;
        gap: 0;
    }
    .navi-footer ul {
        width: 42%;
        max-width: 190px;
    }
    .navi-footer li {
        margin: .2em 0;
    }
    .navi-footer li a {
        display: inline;
        padding: 0;
    }
    .naviFooter-service {
        margin-left: 7.9%;
    }

    .footer-banner {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-auto-rows: 1fr; 
        grid-template-columns: 22.8% 16.7% 15% 13% 20.7%; 
        grid-template-rows: auto 1fr; 
        gap: 0% 3%; 
        grid-template-areas: 
            "bnr01 bnr03 bnr05 bnr06 bnr07"
            "bnr02 bnr04 bnr05 bnr06 bnr07"; 
        }
    .footerBnr01 { grid-area: bnr01; }
    .footerBnr02 { grid-area: bnr02; }
    .footerBnr03 { grid-area: bnr03; }
    .footerBnr04 { grid-area: bnr04; }
    .footerBnr05 { grid-area: bnr05; }
    .footerBnr06 { grid-area: bnr06; }
    .footerBnr07 { grid-area: bnr07; }

    .footer-banner {
        margin: 0;
        padding-bottom: 4em;
    }
    .footer-banner li {
        display: flex;
        align-items: center;
        text-align: center;
        padding: 0;
        width: auto;
    }
}

.copyright {
    border-top: 1px solid #7D7A7A;
    margin: 0 auto;
    padding: 1em 0;
    text-align: center;
    width: 100%;
}
.copyright p {
    font-size: 14px;
}
@media (min-width: 768px) {
    .copyright {
        border: none;
        padding: 0;
        text-align: left;
    }
}

/* content-bar */
.content-bar {
    background-color: #29353A;
    margin-top: 6em;
}
.bar-inner {
    margin: 0 auto;
    padding: 10px;
    max-width: var(--width-content);
    width: 100%;
}
@media (min-width: 960px) {
    .bar-inner {
        display: flex;
        gap: 2%;
        justify-content: space-between;
        padding: 1em;
    }
}
@media (min-width: 1100px) {
    .bar-inner {
        display: flex;
        gap: 6%;
        justify-content: space-between;
        padding: 2em;
    }
}
.staff-blog {
    margin: 0 auto;
    width: 100%;
}
.staff-blog a {
    background-color: #fff;
    color: #D12424;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: bold;
    padding: 1em;
    position: relative;
}
.staff-blog a::before {
    aspect-ratio: 95/101;
    content: "";
    display: block;
    background: url(../images/common/img_blog.png) no-repeat center center;
    margin-right: 8.8%;
    max-width: 95px;
    width: 100%;
}
@media (min-width: 768px) {
    .staff-blog {
        max-width: 385px;
    }
}
.bar-contact {
    color: #fff;
    margin-top: 1em;
}
.barContact-head {
    font-size: 1.125em;
    font-size: var(--fsize-18);
    margin: 0;
    text-align: center;
}
.barContact-tel {
    font-size: 2.25em;
    font-size: var(--fsize-36);
    margin: 0;
    text-align: center;
}
.barContact-time {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}
.barContact-time ul {
    list-style-type: none;
    margin: 0 0 0 1em;
    padding: 0;
}
.barContact-btn {
}
.barContact-btn a {
    border: 1px solid #fff;
    color: #fff;
    display: block;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: bold;
    padding: .5em;
    text-align: center;
}
.barContact-btn a::after {
    content: ">";
    color: #fff;
    position: absolute;
    right: 20px;
}
@media (min-width: 768px) {
    .bar-contact {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        margin-top: 0;
    }
    .barContact-head {
        width: 40%;
    }
    .barContact-tel {
        width: 60%;
    }
    .barContact-time {
        width: 45%;
        display: flex;
        align-items: center;
    }
    .barContact-btn {
        width: 55%;
    }

}


/* content */
.main {
    padding: 0 10px;
    padding: 0;
}
.swiper {
    aspect-ratio: 1366/840;
    width: 100%;
}



/* page:index */
.mv {
    margin: 0 auto;
    position: relative;
    max-width: var(--width-base);
}
.mark {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
}
.index-about {
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.index-about::after {
    aspect-ratio: 1366/389;
    background: url(../images/index/index03.jpg) no-repeat center top/contain;
    content: "";
    display: flex;
    margin: 0 auto;
    max-width: var(--width-base);
}
.indexAbout-title {
    font-size: var(--fsize-39);
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
}
@media (min-width: 768px) {
    .indexAbout-title br {
        display: none;
    }
}
.indexAbout-grid {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    max-width: var(--width-base);
}
.indexAboutGrid-item01 {order: 1;}
.indexAbout-grid::before { order: 2; }
.indexAboutGrid-item02 { order: 3; }
.indexAbout-grid::after { order: 4; }

@media (min-width: 768px) {
    .indexAbout-grid {
        display: grid;
        grid-template-columns: 44.1% 55.9%;
        grid-template-rows: repeat(2, auto) 1fr;
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 0em 0;
        grid-auto-flow: column;
        grid-template-areas:
            "indexAboutThumb01 indexAbout01"
            "indexAboutThumb01 indexAboutThumb02"
            "indexAbout02 indexAboutThumb02";
    }
}
.indexAboutGrid-item01 { grid-area: indexAbout01; }
.indexAbout-grid::before { grid-area: indexAboutThumb01; }
.indexAbout-grid::after { grid-area: indexAboutThumb02; }
.indexAboutGrid-item02 { grid-area: indexAbout02; }

.indexAbout-grid::before,
.indexAbout-grid::after {
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    content: "";
    display: block;
}
.indexAbout-grid::before {
    aspect-ratio: 1154/584;
    background-image: url(../images/index/index04.jpg);
}
.indexAbout-grid::after {
    content: none;
    aspect-ratio: 725/589;
    background-image: url(../images/index/index02.png);
}

.indexAboutGrid-item01 {
    position: relative;
}
.indexAboutGrid-item01,
.indexAboutGrid-item02 {
    position: relative;
}
.indexAboutGrid-item02 {
}
.indexAbout-content {
    h3 {
        color: #fff;
        font-size: clamp(2.25rem, 1.9267rem + 1.3793vw, 2.875rem);
    }
    p {
        color: #fff;
        font-size: var(--fsize-20);
        font-weight: 600;
        line-height: 2;
        margin: 2em 0 0;
    }
}
@media (min-width: 768px) {
    .indexAbout-content {
        p {
            word-break: keep-all;
            white-space: nowrap;
            overflow-wrap: anywhere;

        }
    }
}
.indexAboutGrid-item01::before,
.indexAboutGrid-item02::before {
    aspect-ratio: 763/495;
    background: url(../images/index/bg-about.png);
    content: "";
    display: block;
    position: absolute;
    left: 0;
    z-index: -1;
    width: 100%;
}
.indexAboutGrid-item01::before {
    /* aspect-ratio: 763/495; */
    height: 100%;
}
.indexAboutGrid-item02::before {
    height: 100%;
    /* aspect-ratio: 603/436;
    bottom: 0; */
}
.indexAboutGrid-item01 .indexAbout-content,
.indexAboutGrid-item02 .indexAbout-content {
    padding: 1em 10px;
}
@media (min-width: 768px) {
    .indexAbout-grid::before {
        aspect-ratio: 470/676;
        background-image: url(../images/index/index01.jpg);
        margin-left: 22%;
    }
    .indexAbout-grid::after {
        content: "";
        margin-left: 4.9%;
        margin-bottom: 2em;
        align-self: self-end;
    }
    .indexAboutGrid-item01 {
        margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    }
    .indexAboutGrid-item01::before {
        aspect-ratio: 763/495;
        height: auto;
    }
    .indexAboutGrid-item02 {
        display: flex;
        align-items: center;
        padding-left: 22%;
    }
    .indexAboutGrid-item02::before {
        height: auto;
        aspect-ratio: 603/436;
        bottom: 0;
    }
    .indexAboutGrid-item01 .indexAbout-content {
        padding: clamp(2.25em, calc(1.086em + 4.966vw), 4.5em) 0 clamp(2em, calc(1.091em + 3.879vw), 4em) 4.9%;
        p {
            padding-right: 10em;
        }
    }
    .indexAboutGrid-item02 .indexAbout-content {
        padding: 10px 0;
        p {
            padding-right: 5em;
        }
    }
}

.index-service {
    margin: 0 auto;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
    h2 {
        color: #C43232;
        font-family: "Outfit", sans-serif;
        font-size: 4.125em;
        font-size: clamp(2rem, 1.227rem + 3.86vw, 4.125rem);
        font-weight: 500;/*medium*/
        text-align: center;
    }
    .page-caption {
        padding: 0 10px;
        text-align: center;
        font-weight: 600;/* semibold */
    }
}
.indexService-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(356px, 32.36%));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2em 1.45%;
    list-style-type: none;
    margin: 0;
    padding: 0 10px;
    width: 100%;
}
.indexService-list li {
    display: grid;
    grid-template-rows: subgrid;
}
.indexService-list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #C43232;
    font-size: 0.875em;
    font-size: var(--fsize-14);
    font-weight: 600;
    text-align: center;
}
.indexService-list a::before {
    aspect-ratio: 356/213;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    content: "";
    display: block;
    margin-bottom: .5em;
    padding-bottom: 0.5em;
    width: 100%;
}
.indexService-list span {
    display: flex;
    align-items: center;
    height: 100%;
    position: relative;
}
.indexService-list span::before {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    transform: rotate(45deg);
    color: #fff;
    position: absolute;
    right: .4em;
    z-index: 5;
}
.indexService-list span::after {
    aspect-ratio: 1/1;
    background-color: #C43232;
    border-radius: 50%;
    content: "";
    display: block;
    margin-left: .5em;
    width: 1em;
}
.indexService-list li:nth-child(1) a::before {
    background-image: url('../images/index/service01.jpg');
}
.indexService-list li:nth-child(2) a::before {
    background-image: url('../images/index/service02.jpg');
}
.indexService-list li:nth-child(3) a::before {
    background-image: url('../images/index/service03.jpg');
}
.indexService-list li:nth-child(4) a::before {
    background-image: url('../images/index/service04.jpg');
}
.indexService-list li:nth-child(5) a::before {
    background-image: url('../images/index/service05.jpg');
}
.indexService-list li:nth-child(6) a::before {
    background-image: url('../images/index/service06.jpg');
}
@media (min-width: 768px) {
    .indexService-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .indexService-list a {
        /* font-size: 1em; */
    }
    .indexService-list a::before {
        margin-bottom: 1em;
    }
    .indexService-list span::before {
        width: 8px;
        height: 8px;
        right: .7em;
    }
    .indexService-list span::after {
        margin-left: 1em;
        width: 1.6em;
    }
}
@media (min-width: 1100px) {
    .indexService-list {
        padding: 0;
    }
}

.indexBifuel-base {
    grid-template-columns: 69% 1fr;
    grid-template-rows: auto;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 0em 0em;
    grid-auto-flow: column;
}
@media (min-width: 960px) {
    .indexBifuel-base {
        display: grid;
    }
}
.indexBifuel-base::after { grid-area: 1 / 1 / 2 / 3; }
.indexBifuel-inner { grid-area: 1 / 1 / 2 / 2; }

.indexBifuel-base::after {
    aspect-ratio: 1366/791;
    background: url(../images/index/lpg-bg.jpg) no-repeat right center;
    content: "";
    display: block;
    width: 100%;
    position: relative;
    z-index: -1;
}
.indexBifuel-base {
    margin: 0 auto;
    max-width: var(--width-base);
}
.indexBifuel-inner {
    margin: 0 auto;
    padding-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
    max-width: var(--width-content);
}
@media (min-width: 960px) {
    .indexBifuel-inner {
        padding-left: 14.2%;
    }
}
.indexBifuel-head {
    grid-template-columns: 60% 1fr;
    grid-template-rows: auto 1fr;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 0em 0em;
    grid-auto-flow: column;
    grid-template-areas:
        "bifuelHead-en ."
        "bifuelHead-title bifuelHead-link";
    padding: 0 10px;
    p {
        font-size: var(--fsize-30);
        font-weight: 500;
        font-family: "Outfit", sans-serif;
        margin: 0;
    }
    h2 {
        font-size: var(--fsize-44);
        font-size: clamp(2.125rem, 1.8017rem + 1.3793vw, 2.75rem);
        font-weight: 700;
    }
}
@media (min-width: 960px) {
    .indexBifuel-head {
        display: grid;
    }
}
@media (min-width: 1100px) {
    .indexBifuel-head {
        padding: 0;
    }
}
.indexBifuel-Head p { grid-area: bifuelHead-en; }
.indexBifuel-Head h2 { grid-area: bifuelHead-title; }
.indexBifuel-link { grid-area: bifuelHead-link; }

.indexBifuel-link {
    align-self: center;
}
.indexBifuel-link a {
    color: #29353A;
    font-size: var(--fsize-19);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    position: relative;
}
.indexBifuel-link a::before {
    content: "";
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 2px #29353A;
    border-right: solid 2px #29353A;
    transform: rotate(45deg);
    color: #fff;
    position: absolute;
    right: .4em;
    z-index: 5;
}
.indexBifuel-link a::after {
    aspect-ratio: 1/1;
    background-color: #FFD760;
    border-radius: 50%;
    content: "";
    display: block;
    margin-left: .5em;
    height: 1em;
}

.indexBifuel-caption {
    font-size: var(--fsize-20);
    font-weight: 500;
    margin: 1em 0 0;
    padding: 0 10px;
}
@media (min-width: 960px) {
    .indexBifuel-caption {
        max-width: 60%;
    }
}
@media (min-width: 1100px) {
    .indexBifuel-caption {
        padding: 0;
    }
}
.indexBifuel-economy {
    background-color: #FFD760;
    border-radius: 1.25em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em) 10px 1em;
    padding: 1em;
    max-width: 510px;
    dt {
        border: 1px solid #29353A;
        font-size: var(--fsize-32);
        padding: 1px .5em;
    }
    dd {
        margin-top: 5px;
    }
    dd span {
        display: block;
        text-align: center;
    }
}
@media (min-width: 960px) {
    .indexBifuel-economy {
        margin-left: 0;
        padding: 1.5em;
    }
}
.indexBifuel-txt {
    font-size: var(--fsize-38);
    font-weight: 700;
    margin: 0;
}
.indexBifuel-caution {
    display: flex;
    font-size: var(--fsize-17);
    margin: 5px 0 0;
    padding-left: 1.25em;
}
.indexBifuel-caution::before {
    content: "※";
}

.index-news {
    margin: 3em auto 0;
    margin-top: calc(-1 * clamp(2.5em, calc(1.364em + 4.848vw), 5em));
    margin-top: 3em;
    padding: 0 10px;
    max-width: var(--width-content);
}
@media (min-width: 768px) {
    .index-news {
        display: flex;
        justify-content: space-between;
    }
    .indexNews-head {
        max-width: 290px;
        width: 26%;
    }
    .indexNews-list {
        max-width: 760px;
        width: 69%;
    }
}
@media (min-width: 1100px) {
    .index-news {
        padding: 0;
    }
}
@media (min-width: 1366px) {
    .index-news {
        margin-top: calc(-1 * clamp(2.5em, calc(1.364em + 4.848vw), 5em));
    }
}
.indexNews-head {
    display: flex;
    justify-content: space-between;
    position: relative;
    h2 {
        font-size: 1.25em;
        font-size: var(--fsize-20);
    }
    h2::before {
        color: #C43232;
        content: attr(data-en)"";
        display: block;
        font-family: "Outfit", sans-serif;
        font-size: clamp(1.5rem, -0.147rem + 8.24vw, 5rem);
        font-weight: 500;
        line-height: 1;
    }
}
@media (min-width: 768px) {
    .indexNews-head {
        display: block;
    }
    .indexNews-head::before {
        aspect-ratio: 1/1;
        content: "";
        display: block;
        background: linear-gradient(135deg,transparent 0%,transparent 49.75%,#C43232 49.75%,#C43232 50.25%,transparent 50.25%,transparent 100%);
        position: absolute;
        right: 0;
        top: 0;
        max-width: 200px;
        width: 100%;
    }
}
.indexNews-link {
    a {
        color: #29353A;
        font-size: clamp(0.813rem, 0.754rem + 0.29vw, 0.938rem);
        display: inline-flex;
        align-items: center;
        height: 100%;
        position: relative;
    }
    a::before {
        content: "";
        width: 6px;
        height: 6px;
        border: 0;
        border-top: solid 2px #C43232;
        border-right: solid 2px #C43232;
        transform: rotate(45deg);
        color: #fff;
        position: absolute;
        right: .4em;
        z-index: 5;
    }
    a::after {
        aspect-ratio: 1/1;
        background-color: #fff;
        border: 1px solid #C43232;
        border-radius: 50%;
        content: "";
        display: block;
        margin-left: .5em;
        width: 1em;
    }
}
@media (min-width: 768px) {
    .indexNews-link {
        margin-top: 4em;
        text-align: right;
    }
    .indexNews-link a::before {
        width: 8px;
        height: 8px;
        right: .7em;
    }
    .indexNews-link a::after {
        margin-left: 1em;
        width: 1.6em;
    }
}
.indexNews-item a {
    display: grid; 
    grid-auto-flow: column; 
    grid-auto-columns: 1fr; 
    grid-auto-rows: 1fr; 
    grid-template-columns: 6em 4.5em 1fr; 
    grid-template-rows: auto 1fr; 
    gap: .5em .1em; 
    grid-template-areas: 
        "indexNews-time indexNews-category ."
        "indexNews-title indexNews-title indexNews-title"; 
}
.indexNews-time { grid-area: indexNews-time; }
.indexNews-category { grid-area: indexNews-category; }
.indexNews-title { grid-area: indexNews-title; }

.indexNews-item {
    border-top: 1px solid #29353A;
}
.indexNews-item:last-child {
    border-bottom: 1px solid #29353A;
}
.indexNews-item a {
    padding: 1.3em;
}
.indexNews-time {
    color: #29353A;
    font-size: 16px;
    font-size: clamp(0.875rem, 0.816rem + 0.29vw, 1rem);
    font-family: "Outfit", sans-serif;
    font-weight: 500;
    margin: 0;
}
.indexNews-category {
    list-style-type: none;
    margin: 0;
    padding: 0;
    li {
        border: 1px solid #C43232;
        border-radius: 4px;
        color: #C43232;
        font-size: 12px;
        font-weight: 600;
        max-width: 6em;
        text-align: center;
    }
}
.indexNews-title {
    color: #29353A;
    font-size: 15px;
    font-size: clamp(0.875rem, 0.846rem + 0.15vw, 0.938rem);
    font-weight: 600;
}
@media (min-width: 768px) {
    .indexNews-item a {
        grid-template-columns: 6em 4.5em 1fr;
        grid-template-rows: auto;
        gap: 1em;
        grid-template-areas:
            "indexNews-time indexNews-category indexNews-title";
    }
}

.index-contact {
    margin: 5em auto;
    dt {
        font-size: 1.5625em;
        font-size: var(--fsize-25);
        font-weight: 700;
        line-height: 1.56;
        text-align: center;
    }
    dd {
        margin-top: 1em;
        a {
            background-color: #C43232;
            border-radius: 10px;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6875em;
            font-size: var(--fsize-27);
            font-weight: 600;
            margin: 0 auto;
            padding: .75em;
            text-align: center;
            max-width: 386px;
        }
        a::before {
            aspect-ratio: 37/45;
            background: url(../images/common/icon-call.png) no-repeat center center/cover;
            content: "";
            display: block;
            margin-right: 1em;
            width: 37px;
        }
    }
}
@media (min-width: 768px) {
    .index-contact {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 760px;
        dt {
        }
        dd {
            margin-top: 0;
            margin-left: 1em;
            width: 50%;
            a {
                margin-right: 0;
            }
        }
    }
}
.index-license {
    background-color: #F5F5F5;
    border-radius: 1em;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 5em auto 0;
    padding: 2.5em 1em;
    max-width: 960px;
    h2 {
        font-size: clamp(1.125rem, 0.596rem + 2.65vw, 2.25rem);
        font-weight: 700;
        text-align: center;
    }
    dl {
        margin: 1.5em auto 0;
    }
    dt,
    dd {
        font-size: clamp(0.875rem, 0.699rem + 0.88vw, 1.25rem);
        font-weight: 600;
    }
    dt {
    }
    dd {
        padding-left: 1em;
    }
}
@media (min-width: 768px) {
    .index-license {
        dl {
            display: flex;
            flex-wrap: wrap;
        }
        dt {
            width: 45%;
            text-align: right;
        }
        dd {
            width: 55%;
        }
    }
}

.section-title {
    margin: 0;
    text-align: center;
}
.news .section-title {
}
.news .section-title span {
    background-color: var(--bgcolor-lblue);
    border-radius: 1em;
    display: inline-block;
    color: #fff;
    font-size: 14px;
    padding: .25em 2em;
    position: relative;
}
.news .section-title span::after {
    background-color: var(--bgcolor-lblue);
    content: "";
    display: block;
    width: 14px;
    height: 11px;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
}
.news .section-title::after {
    color: #000;
    content: attr(data-title);
    display: block;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.25;
    margin-top: .5em;
}
.service .section-title,
.company .section-title {
    font-size: 20px;
    font-weight: bold;
}
.service .section-title::before,
.company .section-title::before {
    color: #79C3DC;
    content: attr(data-title);
    display: block;
    font-size: 36px;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: .2em;
}
.contents-wrap {
    max-width: var(--width-wrap);
    margin: 3em auto 0;
    padding: 2em 3.3%;
}

@media (min-width: 768px) {
    .service .section-title::before,
    .company .section-title::before {
        font-size: 55px;
        margin-bottom: .4em;
    }
    .contents-wrap {
        padding: 5em 3.3%;
    }
}
.morebtn {
    font-weight: bold;
}
.morebtn a {
    background-color: var(--bgcolor-lblue);
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    padding: .7em 1.25em;
}
.morebtn a:hover {
    background-color: #1bb9ee;
}
.morebtn span {
    display: inline-block;
    position: relative;
    padding-right: 2em;
}
.morebtn span::before {
    content: "";
    display: block;
    width: 12px;
    height: 1px;
    background-color: #fff;
    transform: rotate(45deg);
    transform-origin: right bottom;
    position: absolute;
    right: 0;
    bottom: 3px;
}
.morebtn span::after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    right: 0;
    bottom: 3px;
}
@media (min-width: 768px) {
    .morebtn {
        font-size: 18px;
        
    }
}
/* About Section */
/* .about {
    background: #fff;
    margin-top: 5em;
}
@media (min-width: 1200px) {
    .about {
        margin-top: 10em;
    }
} */
#wpadminbar {display: none;}

/* Service */
.navi-service {
    counter-reset: navinumber 0;
    display: none;
    opacity: 0;
    transition: all 0.2s ease;
}
.navi-service.is-open {
    display: block;
    opacity: 1;
}
@media (min-width: 768px) {
    .navi-service {
        display: block;
        opacity: 0;
        padding: 1em 0;
        transition: all 0.2s ease;
        visibility: hidden;
        position: absolute;
        top: calc(100% - 1.2em);/* service naviとの隙間をなくすため */
        left: 0;
        width: 100%;
        background: #fff;
        z-index: 1000;
    }
    .top-header .navi-service {
        background-color: transparent;
    }
    .top-header .scrolled .navi-service {
        background-color: #fff;
    }
    .service .navi-service {
        /* position: static;
        opacity: 1;
        visibility: visible; */
    }
    .navi-service.is-open {
        opacity: 1;
        visibility: visible;
    }
}

.navi-service ul {
    display: flex;
    flex-direction: column;
    list-style-type: none;
    margin: 0 auto;
    max-width: var(--width-content);
}
@media (min-width: 768px) {
    .navi-service ul {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }
}
.navi-service li {
    background-color: #EBEBEB;
    position: relative;
}
.navi-service li::before {
    counter-increment: navinumber 1;
    content: counter(navinumber, decimal-leading-zero) "";
    font-family: "Outfit", sans-serif;
    font-size: 1.1875em;
    font-size: clamp(0.6875rem, 0.4602rem + 0.9697vw, 1.1875rem);
    position: absolute;
    left: 0.75em;
    top: .25em;
}
.navi-service li:nth-child(6) span:first-child {
    border-right: 1px solid #29353A;
}
@media (min-width: 768px) {
    .navi-service li {
        aspect-ratio: 178/116;
        width: calc(17800% / 1100);
        max-width: 178px;
    }
    .navi-service li:nth-child(6) span:first-child {
        border: 0;
        border-bottom: 1px solid #29353A;
    }
    .navi-global li:has(span) {
        position: relative;
        cursor: pointer;
    }
}
.navi-service a {
    color: #29353A;
    display: flex;
    /* flex-direction: column; */
    align-items: center;
    justify-content: center;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 600;
    width: 100%;
}
.navi-service a:hover {
    color: #C43232;
}
.navi-service a br {
    display: none;
}
@media (min-width: 768px) {
    .navi-service a {
        color: #29353A;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 1.125em;
        font-size: var(--fsize-18);
        font-weight: 600;
        text-align: center;
        height: 100%;
        width: 100%;
    }
    .navi-service a br {
        display: block;
    }
}
@media (min-width: 768px) {
    .navi-service li:nth-child(6) a {
        font-size: 1em;
        line-height: 1.25;
    }
    .navi-service li:nth-child(6) span {
        display: block;
        padding: .5em;
    }
}
.navi-service li.current a {
    background-color: #C43232;
    color: #fff;
}
.navi-service li.current::before {
    color: #fff;
}
.navi-service li.current:nth-child(6) span:first-child {
    border-color: #fff;
}

.main-visual {
    margin: 0 auto;
}
.service-visual {
    aspect-ratio: 1366/545;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    max-width: var(--width-base);
    width: 100%;
    padding: 0 10px;
    position: relative;
}
.contents-visual,
.company-visual {
    aspect-ratio: 1366/699;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    max-width: var(--width-base);
    width: 100%;
    padding: 0 10px;
    position: relative;
}
.visual-right {
}
@media (min-width: 960px) {
    .company-visual {
        padding: 0;
    }
}
.mv-inner {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    padding: .5em 0;
    height: 100%;
    width: 100%;
    max-width: var(--width-content);
    h1 {
        color: #fff;
        font-size: 2.375em;
        font-size: var(--fsize-title);
        font-weight: 700;
        line-height: 1;
        margin: 0;
    }
}
.contents-visual .mv-inner {
    padding: .5em 0;
}
.company-visual .mv-inner {
    /* height: auto;
    position: absolute;
    top: 85%;
    padding-left: 8em;
    max-width: 475px; */
}
@media (min-width: 960px) {
    .mv-inner {
        padding: 5em 0;
        h1 {
            line-height: 1.5;
        }
    }
    .contents-visual .mv-inner {
        padding: 10em 0;
    }
    .company-visual .mv-inner {
        height: auto;
        position: absolute;
        top: 85%;
        padding-left: 2em;
        max-width: 475px;
        max-width: 35%;
    }
}
@media (min-width: 1100px) {
    .company-visual .mv-inner {
        height: auto;
        position: absolute;
        top: 85%;
        padding-left: 8em;
        /* max-width: 475px; */
    }
}
.h1sub {
    border-top: 1px solid #fff;
    color: #fff;
    font-size: 2.375em;
    font-size: var(--fsize-title);
    font-weight: 700;
    line-height: 1;
    margin: .125em 1em 0 0;
    padding: .125em 0 0;
}
@media (min-width: 960px) {
    .h1sub {
        line-height: 1.5;
        margin: .5em 1em 0 0;
        padding: .5em 0 0;
    }
}
.mv-catch {
    color: #fff;
    font-size: 1.25em;
    font-size: var(--fsize-catch);
    font-weight: 700;
    line-height: 1.5;
    margin: auto 0 0;
}
@media (min-width: 768px) {
    .mv-catch {
        line-height: 2;
    }
}
.mv-inner::before {
    content: "";
    display: block;
    background: rgb(196, 50, 50);
    width: 55%;
    max-width: 475px;
    height: 100%;
    mix-blend-mode: hard-light;
    position: absolute;
    left: 0;
    top: 0;
}
.contents-visual .mv-inner::before {
    background: rgb(113, 32, 32);
}
.recruit-visual .mv-inner::before {
    background: rgb(178, 38, 38);
}

.visual-right .mv-inner::before {
    width: 50%;
    left: auto;
    right: 0;
}
.recruit-visual .mv-inner::before {
    width: 38%;
    left: auto;
    right: 0;
}
.company-visual .mv-inner::before {
}
@media (min-width: 768px) {
    .mv-inner::before {
        width: 35%;
        max-width: 475px;
    }
    .visual-right .mv-inner::before {
        width: 35%;
    }
}
@media (min-width: 960px) {
    .company-visual .mv-inner::before {
        position: absolute;
        mix-blend-mode: unset;
        width: 100%;
    }
}
.mv-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: calc(55% - 10px);
}
.visual-right .mv-content {
    margin: 0 0 0 auto;
    width: calc(50% - 10px);
}
.recruit-visual .mv-content {
    margin: 0 0 0 auto;
    width: calc(38% - 10px);
}
.company-visual .mv-content {
    gap: 1.5em;
    width: 100%;
}
@media (min-width: 768px) {
    .mv-content {
        width: 31%;
    }
    .visual-right .mv-content {
        padding-left: 3em;
        width: 31%;
    }
}
.gray-wrap {
    background-color: #EAEAEA;
}
/* 車検・点検 */
.syaken-section {
    padding: 4em 0;
    h2 {
        font-size: 4.0625em;
        font-size: var(--fsize-65);
        line-height: 1;
        text-align: center;
    }
}
.syaken-caption {
    font-size: 2.4375em;
    font-size: var(--fsize-39);
    font-weight: 700;
    margin: .5em 0 0;
    text-align: center;
    /* word-break: keep-all;
    white-space: nowrap;
    overflow-wrap: anywhere; */
}
@media (min-width: 768px) {
    .syaken-caption br {
        display: none;
    }
}
/* .syaken-caption::before,
.syaken-caption::after {
    aspect-ratio: 24/48;
    content: "";
    display: block;
    width: 24px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}
.syaken-caption::before {
    background-image: url(../images/service/img_sub01.png);
}
.syaken-caption::after {
    background-image: url(../images/service/img_sub02.png);
} */
.syaken-wrap {
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.syaken-inner {
    padding: 5em 10px;
    padding: clamp(2.5em, calc(1.364em + 4.848vw), 5em) 10px;
}
.syaken-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.syaken-msg {
    background-color: #fff;
    border-radius: 1em;
    text-align: center;
    padding: 1.25em;
}
.syakenMsg-big {
    font-size: 2em;
    font-size: var(--fsize-32);
    font-weight: 700;
    margin: 0;
}
.syakenMsg-reg {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 700;
    margin: 5px 0 0;
}
.syaken-caution {
    font-weight: 600;
}
.syakenCaution-txt {
    margin: .25em 0 0;
}
.syakenCaution-mark {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
}
.syakenCaution-mark::before {
    content: "注）";
    white-space: nowrap;
}
@media (min-width: 768px) {
    .syakenMsg-big {
        br {
            display: none;
        }
    }
    .syakenMsg-reg {
        br {
            display: none;
        }
    }
    .syaken-caution {
        text-align: center;
    }
    .syakenCaution-mark {
        br {
            display: none;
        }
    }
}
.syaken-table {
    margin-top: 3em;
    table {
        border-spacing: 4px;
        width: 100%;
        white-space: nowrap;
    }
    th,
    td {
        font-weight: 700;
        padding: .75em;
        text-align: center;
        vertical-align: middle;
    }
    th {
        background-color: #29353A;
        color: #fff;
        font-size: 0.9375em;
        font-size: var(--fsize-15);
    }
    td {
        background-color: #fff;
        color: #29353A;
    }
    th:last-child,
    td:last-child {
        background-color: #FFD760;
        color: #41413E;
    }
}
.table-wrap {
    overflow: auto;
}
.syakenTableCaution-list {
    list-style-type: none;
    margin: .25em 0 0;
    padding: 0;
    li {
        font-weight: 600;
        padding-left: 1.25em;
        position: relative;
    }
    li::before {
        content: "※";
        position: absolute;
        left: 0;
    }
}
.syaken-cardlist {
    display: flex;
    flex-direction: column;
    gap: 1em 2%;
    flex-wrap: wrap;
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.syaken-carditem {
    background: #fff;
    border-radius: 1em;
    padding: .5em;
    h3 {
        background-color: #E2E2E2;
        border-radius: 2em;
        font-size: 1.625em;
        font-size: var(--fsize-26);
        font-weight: 700;
        margin: 0 auto;
        text-align: center;
        width: 68%;
    }
}
.syaken-carditem:last-child {
    background-color: transparent;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    p {
        font-size: 1.25em;
        font-size: var(--fsize-20);
        font-weight: 700;
        line-height: 1.6;
        margin: 0;
    }
    p br {
        display: none;
    }
}
.syaken-carditem::before {
    aspect-ratio: 294/183;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 294px;
}
.syaken-carditem:nth-child(1)::before {
    background-image: url(../images/service/syaken001.jpg);
}
.syaken-carditem:nth-child(2)::before {
    background-image: url(../images/service/syaken002.jpg);
}
.syaken-carditem:nth-child(3)::before {
    background-image: url(../images/service/syaken003.jpg);
}
.syaken-carditem:nth-child(4)::before {
    background-image: url(../images/service/syaken004.jpg);
}
.syaken-carditem:nth-child(5)::before {
    background-image: url(../images/service/syaken005.jpg);
}
.syaken-carditem:nth-child(6)::before {
    content: none;
}
@media (min-width: 600px) {
    .syaken-cardlist {
        flex-direction: row;
        gap: 1em 2%;
    }
    .syaken-carditem {
        padding: .5em;
        width: 49%;
    }
    .syaken-carditem:last-child {
        p br {
            /* word-break: keep-all;
            white-space: nowrap;
            overflow-wrap: anywhere; */
        }
    }
}
@media (min-width: 768px) {
    .syaken-cardlist {
    }
    .syaken-carditem {
        width: 32%;
        max-width: 352px;
        h3 {
            width: 68%;
        }
    }
    .syaken-carditem:last-child {
        p {
            /* word-break: keep-all;
            white-space: nowrap;
            overflow-wrap: anywhere; */
        }
    }
}
@media (min-width: 1024px) {
    .syaken-carditem:last-child {
        p br {
            display: block;
        }
    }
}

.syakenItem-detail {
    margin-top: 1em;
    dl {
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto;
    }
    dt,
    dd {
        padding: .25em;
        width: 50%;
    }
    dt {
        font-weight: 500;
    }
    dd {
        font-weight: 600;
        text-align: right;
    }
    dd:nth-of-type(2) {
        color: #C43232;
        font-weight: 700;
    }
}
.syakenItem-detail dl {
}
.syakenItem-detail::before {
}
.syakenItem-totalprice {
    display: grid; 
    grid-auto-flow: column;
    align-items: end;
    grid-auto-columns: 1fr; 
    grid-auto-rows: 1fr; 
    grid-template-columns: 1fr auto; 
    grid-template-rows: auto 1fr; 
    gap: 0% 0%; 
    grid-template-areas: 
        "syakenItem-total syakenItem-price"
        "syakenItem-tax syakenItem-tax";
    margin: 1em auto 0;
    max-width: 240px;

}
.syakenItem-total { grid-area: syakenItem-total; }
.syakenItem-price { grid-area: syakenItem-price; }
.syakenItem-tax { grid-area: syakenItem-tax; }

.syakenItem-total {
    font-size: 1.4375em;
    font-size: var(--fsize-23);
    font-weight: 600;
}
.syakenItem-price {
    font-size: 2.6875em;
    font-size: var(--fsize-43);
    font-weight: 600;
    line-height: 1;
}
.syakenItem-tax {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 600;
    justify-self: flex-end;
}
@media (min-width: 768px) {
.syakenItem-detail {
    margin-top: 1em;
        dl {
            max-width: 240px;
        }
    }
}

.call-contact {
    border-bottom: 1px solid #29353A;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 10px;
    max-width: var(--width-content);
    dt,
    dd {
        margin: 0 auto;
    }
    dt {
        font-size: 1.875em;
        font-size: var(--fsize-30);
        font-weight: 700;
        line-height: 1.56;
        text-align: center;
    }
    dd {
        max-width: 386px;
        width: 100%;
        a {
            background-color: #C43232;
            border-radius: 10px;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6875em;
            font-size: var(--fsize-27);
            font-weight: 600;
            margin: 0 auto;
            padding: .75em;
            text-align: center;
            width: 100%;
        }
        a::before {
            aspect-ratio: 37/45;
            background: url(../images/common/icon-call.png) no-repeat center center/cover;
            content: "";
            display: block;
            margin-right: 1em;
            width: 22px;
        }
    }
}
@media (min-width: 768px) {
    .call-contact {
        flex-direction: row;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        padding: clamp(2.5em, calc(1.364em + 4.848vw), 5em) 10%;
        max-width: var(--width-content);
        dd {
            a::before {
                width: 37px;
            }
        }
    }
}

.oil-contact {
    border: 1px solid #C43232;
    border-radius: 1em;
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    margin-right: 10px;
    margin-left: 10px;
    padding: 3em;
    padding: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
}
@media (min-width: 768px) {
    .oil-contact {
        padding: 3em;
    }
}
@media (min-width: 1100px) {
    .oil-contact {
        margin-right: auto;
        margin-left: auto;
    }
}

.tenken-section {
    padding: 5em 0 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    h2 {
        color: #C43232;
        font-size: 4.0625em;
        font-size: var(--fsize-65);
        line-height: 1;
        text-align: center;
    }
}
.tenken-caption {
    /* display: flex;
    justify-content: center;
    align-items: center;
    gap: 2em; */
    font-size: 1.9375em;
    font-size: var(--fsize-31);
    font-weight: 700;
    margin: 1.5em 0 0;
    text-align: center;
}
@media (min-width: 768px) {
    .tenken-caption br {
        display: none;
    }
}
/* .tenken-caption::before,
.tenken-caption::after {
    aspect-ratio: 24/48;
    content: "";
    display: block;
    width: 18px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}
.tenken-caption::before {
    background-image: url(../images/service/img_sub01.png);
}
.tenken-caption::after {
    background-image: url(../images/service/img_sub02.png);
} */
.tenken-catch {
    font-size: 2.125em;
    font-size: var(--fsize-34);
    text-align: center;
    /* word-break: keep-all;
    white-space: nowrap;
    overflow-wrap: anywhere; */
    margin: 1em auto 0;
    padding: 0 10px;
    max-width: var(--width-content);
}
.tenken-catch br {
    display: none;
}
.tenken-catch br.spb {
    display: block;
}
@media (min-width: 768px) {
    .tenken-catch br {
        display: block;
    }
    .tenken-catch br.spb {
        display: none;
    }
}
.tenken-wrap {
    padding: 5em 0 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.tenken-inner {
    padding: 3em 10px;
    padding: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem) 10px;
}

.tenken-lpg {

}
.tenken-lpg {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    max-width: var(--width-content);
}
.tenken-lpg::before {
    aspect-ratio: 1/1;
    background: url(../images/service/tenken001.jpg) no-repeat center center/contain;
    content: "";
    display: block;
    margin: 0 auto 1em;
    max-width: 414px;
    width: 60%;
}
.tenkenLpg-txt {
    h3 {
        background: url(../images/service/img_line.png) no-repeat left bottom/contain;
        font-size: 1.75em;
        font-size: var(--fsize-28);
        font-weight: 700;
        padding-bottom: 1em;
        text-align: center;
    }
}
@media (min-width: 768px) {
    .tenken-lpg {
        flex-direction: row;
    }
    .tenken-lpg::before {
        margin: 0 auto 0 1em;
        width: 100%;
    }
    .tenkenLpg-txt {
        margin: 0 0 0 auto;
        padding-right: 5em;
        width: 53.2%;
    }
}
.tenken-detail {
    dl {
        display: grid;
        grid-template-columns: auto 1fr;
        grid-template-rows: auto 1fr;
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: .5em 1em;
        grid-auto-flow: column;
        grid-template-areas:
            "tenkenDetail-title tenkenDetail-price"
            "tenkenDetail-txt tenkenDetail-txt";
        margin: 2em 0 0;
        margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);
    }
}
.tenkenDetail-title { grid-area: tenkenDetail-title; }
.tenkenDetail-price { grid-area: tenkenDetail-price; }
.tenkenDetail-txt { grid-area: tenkenDetail-txt; }

.tenkenDetail-title,
.tenkenDetail-price {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 700;
}
.tenkenDetail-txt {
    font-weight: 500;
    line-height: 1.5;
}
.tenken-caution {
    font-weight: 500;
    line-height: 1.5;
    margin: 2em 0 0;
}
@media (min-width: 768px) {
    .tenken-caution {
        br {
            display: none;
        }
    }
}
.tenken-time {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    margin: 0 auto;
    max-width: var(--width-content);
}
.tenken-time::after {
    aspect-ratio: 1/1;
    background: url(../images/service/tenken002.png) no-repeat center center/contain;
    content: "";
    display: block;
    margin: 0 auto 1em;
    max-width: 414px;
    width: 60%;
}
.tenkenTime-txt {
    h3 {
        background: url(../images/service/img_line.png) no-repeat left bottom/contain;
        font-size: 1.75em;
        font-size: var(--fsize-28);
        font-weight: 700;
        padding-bottom: 1em;
        text-align: center;
    }
}
.tenken-timelist {
    dl {
        display: flex;
        gap: 1em;
        flex-wrap: wrap;
        margin: 2em 0 0;
        margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);
    }
}
.tenkenTime-title,
.tenkenTime-car,
.tenkenTime-time {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 700;
}
@media (min-width: 768px) {
    .tenken-time {
        flex-direction: row;
    }
    .tenken-time::after {
        margin: 0 1em 0 auto;
        width: 100%;
    }
    .tenkenTime-txt {
        margin: 0 auto 0 0;
        width: 50%;
    }

}
.tenken-other {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8%;
    margin: 0 auto;
    max-width: var(--width-content);
}
.tenkenOther-item {
    width: 100%;
}
.tenkenOther-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    padding: .5em .25em;
    position: relative;
}
.tenkenOther-title::after {
    background-color: #29353A;
    content: "";
    display: block;
    width: calc(100% + .5em);
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.tenkenOther-list {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 500;
    padding-left: 1.5em;
}
@media (min-width: 768px) {
    .tenken-other {
        flex-direction: row;
        justify-content: space-between;
        gap: 8%;
    }
}

/* オイル交換 oil */
.oil-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.oil-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.oil-content {
}
.oli-head { grid-area: oil-head; }
.oil-flow { grid-area: oil-flow; }
.oil-content::after { grid-area: oil-thumb; }
.oil-maker { grid-area: oil-maker; }

.oil-flow {
    grid-area: 2 / 1 / 3 / 3;
}

.oil-content::after {
    aspect-ratio: 438/475;
    background: url(../images/service/oil001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto 0;
    width: 100%;
    max-width: 438px;
}
@media (min-width: 768px) {
    .oil-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr 39.8%; 
        grid-template-rows: repeat(3, auto); 
        gap: 0% 9.5%; 
        grid-template-areas: 
            "oil-head oil-thumb"
            "oil-flow oil-thumb"
            "oil-maker oil-maker"; 
    }
    .oil-content::after {
        margin-top: 0;
    }
}

.oil-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    line-height: 1.4;
}
.oil-time {
    border: 1px solid #29353A;
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 500;
    margin: 1em 0 0;
    padding: 2px .5em;
}
@media (min-width: 960px) {
    .oil-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        
    }
    .oil-time {
        margin: 0;
    }
}
.oil-flow {
    counter-reset: oilflow 0;
    dl {
        margin: 3em 0 0;
        margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    }
    dl:last-child {
        max-width: 100%;
        width: 100%;
    }
    dt {
        font-size: 1.875em;
        font-size: var(--fsize-30);
        font-size: clamp(1.375rem, 1.1477rem + 0.9697vw, 1.875rem);
        font-weight: 700;
        line-height: 1.26;
        padding-left: 1.5em;
    }
    dt::before {
        color: #C43232;
        counter-increment: oilflow 1;
        content: counter(oilflow) "";
        font-family: "Outfit", sans-serif;
        font-size: 1.0625em;
        font-size: var(--fsize-17);
        font-weight: 400;
        position: absolute;
        left: 0.65em;
        top: .5em;
    }
    dt::after {
        aspect-ratio: 1/1;
        border: 2px solid #C43232;
        border-radius: 50%;
        content: "";
        display: block;
        width: 1em;
        position: absolute;
        left: 0;
        top: .2em;
    }
    dd {
        font-size: var(--fsize-16);
        font-weight: 500;
        margin: 1em 0 0;
    }
}
@media (min-width: 768px) {
    .oil-flow {
        padding-left: 2em;
        dl {
            max-width: 520px;
            width: 55%;
        }
        dt {
            word-break: keep-all;
            white-space: nowrap;
            overflow-wrap: anywhere;
        }
        dd br {
            display: none;
        }
    }
}
.oil-maker {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
@media (min-width: 960px) {
    .oil-maker {
        display: grid;
        grid-template-columns: 28% 1fr;
        grid-template-rows: repeat(2, auto);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 0em 3.6%;
        grid-auto-flow: column;
        grid-template-areas:
            "oilMaker-thumb oilMaker-title"
            "oilMaker-thumb oilMaker-list";
    }
}
.oilMaker-title { grid-area: oilMaker-title; }
.oilMaker-list { grid-area: oilMaker-list; }
.oil-maker::before { grid-area: oilMaker-thumb; }

.oil-maker::before {
    aspect-ratio: 308/411;
    background: url(../images/service/oil002.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 308px;
}
.oilMaker-title {
    background-color: #29353A;
    border-radius: 1em;
    color: #fff;
    font-size: 1.5625em;
    font-size: var(--fsize-25);
    font-weight: 700;
    margin-top: 1em;
    padding: 3px 1em;
    width: fit-content;
}
@media (min-width: 768px) {
    .oilMaker-title br {
        display: none;
    }
}
@media (min-width: 960px) {
    .oilMaker-title {
        margin-top: 0;
    }
}
.oilMaker-list {
    display: flex;
    flex-direction: column;
    gap: 5%;
    margin-top: 2em;
}
.oilMaker-txt {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 700;
    margin: 0;
    width: 100%;
}
.oilMaker-txt::before {
    content: "［";
}
.oilMaker-txt::after {
    content: "］";
}
.oilMaker-item {
    margin-top: 1em;
    h3 {
        font-size: 1.875em;
        font-size: var(--fsize-30);
        font-weight: 700;
    }
}
.oilMaker-item:nth-of-type(1) {
}
@media (min-width: 768px) {
    .oilMaker-list {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .oilMaker-item {
        width: 52%;
    }
    .oilMaker-item:nth-of-type(1) {
        width: 43%;
        th {
            width: 53%;
        }
    }
}

.oilMakerItem-series {
    font-size: 0.8125em;
    font-size: var(--fsize-13);
    font-weight: 500;
    margin: 1em 0 0;
}
.oilMaker-table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
    th,
    td {
        font-size: 0.8125em;
        font-size: var(--fsize-13);
        font-weight: 500;
        text-align: left;
        vertical-align: top;
    }
    th {
        padding-right: .5em;
        width: 58%;
    }
}
.atf-section {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.atf-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.atf-content {
}
.atf-title { grid-area: atf-title; }
.atf-desc { grid-area: atf-desc; }
.atf-content::after { grid-area: atf-thumb; }
.atf-price { grid-area: atf-price; }

.atf-price {
    grid-area: 3 / 1 / 4 / 3;
}

.atf-content::after {
    aspect-ratio: 356/429;
    background: url(../images/service/oil003.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto 0;
    width: 100%;
    max-width: 356px;
}
@media (min-width: 768px) {
    .atf-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr 32.4%; 
        grid-template-rows: repeat(3, auto); 
        gap: 0% 7%; 
        grid-template-areas: 
            "atf-title atf-thumb"
            "atf-desc atf-thumb"
            "atf-price atf-thumb"; 
    }
    .atf-content::after {
        margin-top: 0;
    }
}
.atf-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    line-height: 1.4;
}
.atf-desc {
    border-bottom: 1px solid #29353A;
    margin-top: 3.5em;
    margin-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    padding-left: 1;
    padding-right: 1em;
    padding-bottom: 2em;
}
.atf-catch {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    line-height: 1.4;
}
.atf-txt {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 500;
    line-height: 1.7;
    margin: 1em 0 0;
}
@media (min-width: 768px) {
    .atf-desc {
        border-bottom: 1px solid #29353A;
        padding-left: 2em;
        padding-right: 2em;
        padding-bottom: 4em;
    }
}
.atf-price {
    margin-top: 2em;
}
.atfPrice-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    line-height: 1.4;
}
.atfPrice-table {
    border-bottom: 1px solid #29353A;
    margin-top: 1.5em;
    padding-bottom: 3em;
    padding-bottom: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    table {
        border-top: 1px solid #29353A;
        border-left: 1px solid #29353A;
        border-spacing: 0;
        border-collapse: collapse;
        width: 100%;
    }
    th,
    td {
        border-right: 1px solid #29353A;
        border-bottom: 1px solid #29353A;
        font-size: 1.125em;
        font-size: var(--fsize-18);
        font-weight: 400;
        padding: 1em;
        text-align: left;
        vertical-align: top;
    }
    th {
        background-color: #E8E8E8;
        width: 24%;
        white-space: nowrap;
    }
}
@media (min-width: 768px) {
    .atfPrice-table {
        th,
        td {
            padding: 1em 2em;
        }
    }
}
.atfPrice-txt {
    margin: 0;
}
.atfPrice-caution {
    font-size: 0.78em;
    margin: 1em 0 0;
}
.atfPrice-table tr:last-child {
    td {
        display: flex;
        align-items: center;
    }
    .atfPrice-caution {
        margin: 0 0 0 2em;
    }
}
.atfPriceTable-caution {
    list-style-type: none;
    margin: .5em 0 0;
    padding: 0;
    li {
        font-size: 0.875em;
        font-size: var(--fsize-14);
        padding-left: 1.25em;
    }
    li::before {
        content: "※";
        position: absolute;
        left: 0;
    }
}

.atf-change {
    margin: 0 auto;
    max-width: var(--width-content);
}
@media (min-width: 960px) {
    .atf-change {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-auto-rows: 1fr; 
        grid-template-columns: 1fr 57%; 
        grid-template-rows: repeat(2, auto); 
        gap: 0% 5%; 
        grid-template-areas: 
            "atfChange-necessity atfChange-necessity"
            "aftChange-timing atfChange-cartype"; 
    }
}
.atfChange-necessity { grid-area: atfChange-necessity; }
.aftChange-timing { grid-area: aftChange-timing; }
.atfChange-cartype { grid-area: atfChange-cartype; }

.atfChange-necessity {
    border-bottom: 1px solid #29353A;
    margin-top: 3.25em;
    margin-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    padding-bottom: 3.25em;
    padding-bottom: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
}
.atfChange-title {
    background-color: #C43232;
    border-radius: 1em;
    color: #fff;
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 600;
    padding: 3px 2em 3px 1em;
    width: fit-content;
}
.atfChange-txt {
    font-size: var(--fsize-16);
    font-weight: 500;
    line-height: 1.68;
    margin: 2em 0 0;
    margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
}
@media (min-width: 960px) {
    .atfChange-txt {
        padding-right: 10%;
    }
    .atfChange-necessity {
    }
}
.aftChange-timing {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.atfChangeTiming-title {
    color: #C43232;
    font-size: 1.75em;
    font-size: var(--fsize-28);
    font-weight: 700;
    text-align: center;
}
.aftChange-timing {
    ul {
        margin-top: 3em;
        margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    }
    li {
        font-size: 1.25em;
        font-size: var(--fsize-20);
        font-weight: 600;
    }
}
.atfChangeTiming-txt {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 600;
    margin: 2em 0 0;
    margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
}

.atfChange-cartype {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    dl {
        margin: 2em 0 0;
        margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
    }
    dl:first-child {
        margin-top: 0;
    }
    dt {
        background-color: #C43232;
        border-radius: 1em;
        color: #fff;
        font-size: 1.5em;
        font-size: var(--fsize-24);
        font-weight: 700;
        padding: 3px 2em 3px 1em;
    }
    dd {
        font-size: 1.25em;
        font-size: var(--fsize-20);
        line-height: 1.6;
        margin: 1em 0 0;
        padding-right: 6%;
        padding-left: 1%;
    }
}
.atfChangeCartype-caution {
    margin: 0;
    position: relative;
    padding-left: 1.25em;
}
.atfChangeCartype-caution::before {
    content: "※";
    position: absolute;
    left: 0;
}
@media (min-width: 768px) {
    .aftChange-timing {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: 4em;
    }
    .atfChange-cartype {
        border-left: 1px solid #29353A;
        padding-left: 2.5em;
        dl:first-child {
            margin-top: 0;
        }
        dt {
            padding: 3px 2em 3px 1em;
        }
        dd {
            margin: 1em 0 0;
            padding-right: 6%;
            padding-left: 1%;
        }
    }
}


/* タイヤ交換 tire */
.tire-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.tire-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
@media (min-width: 768px) {
    .tire-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr 37.7%; 
        grid-template-rows: repeat(4, auto); 
        gap: 0% 7%; 
        grid-template-areas: 
            "tire-title tire-thumb"
            "tire-price tire-thumb"
            "tire-other tire-other"
            "tire-sp tire-sp"; 
    }
}
.tire-title { grid-area: tire-title; }
.tire-price { grid-area: tire-price; }
.tire-content::after { grid-area: tire-thumb; }
.tire-otherprice { grid-area: tire-other; }
.tire-spprice { grid-area: tire-sp; }

.tire-content::after {
    aspect-ratio: 415/969;
    background: url(../images/service/tire001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    width: 100%;
    max-width: 415px;
    margin: 1em auto 0;
}
@media (min-width: 768px) {
    .tire-content::after {
        margin-top: 0;
    }
}

.leftborder {
    border-left: 8px solid #C43232;
    padding-left: .6em;
}
.tire-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    line-height: 1.4;
}
.tire-price {
    margin-top: 3em;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
}
.tirePrice-head {
    display: flex;
    gap: 1em;
    align-items: center;
}
.tirePrice-title {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
}
.torePrice-desc {
    font-weight: 500;
    margin: 0;
}
.tirePrice-table {
    margin-top: 2em;
}
.tirePrice-table {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, auto);
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 0% 0%;
    grid-auto-flow: column;
    grid-template-areas:
        "tirePriceTable-title"
        "tirePriceTable-caution"
        "tirePriceTable-table";
}
@media (min-width: 768px) {
    .tirePrice-table {
        grid-template-columns: 1fr auto;
        grid-template-rows: repeat(2, auto);
        grid-template-areas:
            "tirePriceTable-title tirePriceTable-caution"
            "tirePriceTable-table tirePriceTable-table";
    }
}
.tirePriceTable-title { grid-area: tirePriceTable-title; }
.tirePrice-table table { grid-area: tirePriceTable-table; }
.tirePriceTable-caution { grid-area: tirePriceTable-caution; }

.tirePriceTable-title {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 600;
}
.tirePriceTable-caution {
    font-size: 0.875em;
    font-size: var(--fsize-14);
    margin: 0;
    text-align: right;
    align-self: end;
}
.tirePriceTable-caution::before {
    content: "● ";
}
.tirePrice-table table {
    border-top: 1px solid #939393;
    border-left: 1px solid #939393;
    border-collapse: collapse;
    border-spacing: 0;
    margin-top: 1em;
}
.tirePrice-table th,
.tirePrice-table td {
    border-right: 1px solid #939393;
    border-bottom: 1px solid #939393;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 400;
    padding: .5em 2em;
    text-align: left;
}
.tirePrice-table th {
    background-color: #E8E8E8;
    width: 40%;
}
.tirePrice-table td {
    width: 60%;
}
.tire-autoway {
    margin-top: 1.5em;
}
.tireAutoway-title {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 600;
}
.tireAutoway-content {
    border: 1px solid #939393;
    padding: 1em;
    text-align: center;
}
.tireAutoway-msg {
    color: #2B529A;
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 700;
    margin: 0;
}
.tireAutoway-link {
    margin-top: 0.875em;
    a {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
}
.tireAutoway-bnr {
    margin-right: 1em;
}
.tireAutoway-linktxt {
    background-color: #2B529A;
    border-radius: 1em;
    color: #fff;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 600;
    margin: 0;
}
.tireAutoway-linktxt span {
    display: flex;
    align-items: center;
    padding: 1px 6px 1px 1.375em;
    position: relative;
}
.tireAutoway-linktxt span::before {
    content: "▶";
    color: #2B529A;
    font-size: 0.5em;
    position: absolute;
    right: 1em;
    z-index: 5;
}
.tireAutoway-linktxt span::after {
    aspect-ratio: 1/1;
    background-color: #fff;
    border-radius: 50%;
    content: "";
    display: block;
    margin-left: .5em;
    width: 1em;
    line-height: 1;
}
.tireAutoway-support {
    font-size: 0.9375em;
    font-size: var(--fsize-15);
}
@media (min-width: 768px) {
    .tireAutoway-content {
        padding: 2em 1em;
    }
    .tireAutoway-link {
        a {
            flex-direction: row;
        }
    }
}

.tirePrice-cautionlist {
    list-style-type: none;
    margin: 3em 0 0;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    padding: 0;
    li {
        font-size: var(--fsize-16);
        font-weight: 500;
        padding-left: 2em;
        position: relative;
    }
    li::before {
        content: "注）";
        position: absolute;
        left: 0;
    }
}

.tire-otherprice {
    margin: 2em 0 0;
    margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
}
@media (min-width: 768px) {
    .tire-otherprice {
        display: grid;
        grid-template-columns: repeat(2, 46%);
        grid-template-rows: auto repeat(2, 1fr);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 1em 8%;
        grid-auto-flow: row;
    }
}
.tireOtherPrice-item {
    display: flex;
    justify-content: space-between;
    margin: 0;
    position: relative;
    dt {
        background-color: #fff;
        margin: 0 auto 0 0;
        padding-right: 2em;
        position: relative;
        padding-left: 1.5em;
    }
    dt::before {
        content: "●";
        margin-right: 0.5em;
        position: absolute;
        left: 0;
    }
    dd {
        background-color: #fff;
        margin: 0 0 0 auto;
        padding-left: 1em;
        white-space: nowrap;
    }
}
.tireOtherPrice-item::before {
    content: "";
    border-top: 1px solid #29353A;
    display: block;
    position: absolute;
    top: 50%;
    width: 100%;
}
.tire-spprice {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    h3 {
        background-color: #5C5A5A;
        color: #fff;
        font-size: 1.375em;
        font-size: var(--fsize-22);
        font-weight: 700;
        padding: .3em .75em;
    }
}
.tireSpPrice-caution {
    font-size: var(--fsize-16);
    font-weight: 500;
    padding-left: 1.25em;
    position: relative;
}
.tireSpPrice-caution::before {
    content: "※";
    position: absolute;
    left: 0;
}
@media (min-width: 768px) {
    .tire-spprice {
        h3 br {
            display: none;
        }
    }
    .tireSpPrice-caution br.spb {
        display: none;
    }
}

.tireSpPrice-cautionlist {
    list-style-type: none;
    margin: 1.5em 0 0;
    padding: 0;
}

.tireSpPrice-table {
}
.tireSpPrice-table table {
    border-top: 1px solid #939393;
    border-left: 1px solid #939393;
    border-collapse: collapse;
    border-spacing: 0;
    margin-top: 1em;
    width: 100%;
}
@media (min-width: 768px) {
    .tireSpPrice-table {
        display: flex;
        gap: 4%;
    }
    .tireSpPrice-table table {
        width: 48%;
    }
}
.tireSpPrice-table th,
.tireSpPrice-table td {
    border-right: 1px solid #939393;
    border-bottom: 1px solid #939393;
    font-weight: 400;
    padding: .5em 1em;
    text-align: left;
}
.tireSpPrice-table th {
    background-color: #E8E8E8;
    width: 60%;
}
.tireSpPrice-table td {
    width: 40%;
    text-align: center;
    white-space: nowrap;
}

/* 板金塗装 */
.bankin-section {

}
.bankin-inner {
    margin: 0 auto;
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    position: relative;
    max-width: var(--width-base);
}
.bankin-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.bankin-content {
}
.bankin-title { grid-area: bankin-title; }
.bankin-txt { grid-area: bankin-txt; }
.bankin-content::after {
    aspect-ratio: 462/624;
    background: url(../images/service/bankin001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto;
    width: 100%;
    max-width: 462px;
}
@media (min-width: 960px) {
    .bankin-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr 30%; 
        grid-template-rows: repeat(2, auto); 
        gap: 0% 10%; 
        grid-template-areas: 
            "bankin-title ."
            "bankin-txt ."; 
    }
    .bankin-content::after {
        margin: 0;
        position: absolute;
        right: 0;
        width: 38%;
        max-width: 462px;
    }
}
.bankin-title {
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
}
.bottomborder {
    position: relative;
}
.bottomborder::after {
    background-color: #C43232;
    content: "";
    display: block;
    margin-top: 1em;
    margin-top: clamp(0.5em, calc(0.273em + 0.97vw), 1em);
    height: 8px;
    width: 3em;
}
.bankin-txt {
    p {
        font-size: 1.0625em;
        font-size: var(--fsize-17);
        font-weight: 500;
        margin: 3.5em 0 0;
        margin-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    }
}
.bankin-price {
    margin: 4em auto 0;
    max-width: var(--width-content);
    h2 {
        color: #C43232;
        font-size: 2.1875em;
        font-size: var(--fsize-35);
        font-weight: 700;
        text-align: center;
    }
}
.bankinPrice-list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
    margin-top: 3em;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
}
.bankinPrice-item {
    width: 100%;
}
@media (min-width: 768px) {
    .bankinPrice-list {
        flex-direction: row;
        gap: 2em 8%;
        flex-wrap: wrap;
    }
    .bankinPrice-item {
        width: 46%;
    }
}
.bankinPrice-item {
    display: grid;
    grid-template-columns: minmax(35%, 180px) minmax(63%, 1fr);
    grid-template-rows: repeat(2, auto) 1fr;
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 0.25em 2%;
    grid-auto-flow: column;
    grid-template-areas:
        "bankPrice-thumb bankinPrice-title"
        "bankPrice-thumb bankinPrice-price"
        "bankPrice-thumb bankinPrice-caution";
    margin: 0 auto;
}
@media (min-width: 768px) {
    .bankinPrice-item {
        grid-template-columns: minmax(35%, 180px) minmax(59%, 1fr);
        gap: 0.5em 6%;
    }
}

.bankinPrice-item h3e { grid-area: bankinPrice-title; }
.bankinPriceItem-price { grid-area: bankinPrice-price; }
.bankinPriceItem-caution { grid-area: bankinPrice-caution; }
.bankinPrice-item::before { grid-area: bankPrice-thumb; }

.bankinPrice-item::before {
    aspect-ratio: 1/1;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    content: "";
    display: block;
    margin: 0 0 0 auto;
    width: 100%;
    max-width: 180px;
}
.bankinPrice-item:nth-child(1)::before {
    background-image: url(../images/service/bankin-price001.jpg);
}
.bankinPrice-item:nth-child(2)::before {
    background-image: url(../images/service/bankin-price002.jpg);
}
.bankinPrice-item:nth-child(3)::before {
    background-image: url(../images/service/bankin-price003.jpg);
}
.bankinPrice-item:nth-child(4)::before {
    background-image: url(../images/service/bankin-price004.jpg);
}
.bankinPrice-item h3 {
    font-size: 1.375em;
    font-size: var(--fsize-22);
    font-weight: 700;
    line-height: 1.5;
}
.bankinPriceItem-price {
    font-size: 2em;
    font-size: var(--fsize-32);
    font-weight: 700;
    margin: 0;
}
.bankinPriceItem-caution {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.bankinPriceItem-caution {
    font-size: var(--fsize-16);
    font-weight: 500;
    padding-left: 1.25em;
    position: relative;
}
.bankinPriceItem-caution::before {
    content: "※";
    position: absolute;
    left: 0;
}
.toso-section {
}
.toso-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.toso-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.toso-content {
}
.toso-title { grid-area: toso-title; }
.toso-desc { grid-area: toso-desc; }
.toso-content::after { grid-area: toso-thumb; }

.toso-content::after {
    aspect-ratio: 402/537;
    background: url(../images/service/toso001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto 0;
    width: 100%;
    max-width: 402px;
}
@media (min-width: 768px) {
    .toso-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr minmax(36.5%, 402px); 
        grid-template-rows: auto 1fr; 
        gap: 0% 10%; 
        grid-template-areas: 
            "toso-title toso-thumb"
            "toso-desc toso-thumb"; 
    }
    .toso-content::after {
        margin: 0;
    }
}
.toso-title {
    font-size: 2.6875em;
    font-size: var(--fsize-43);
    font-weight: 700;
    line-height: 1.2;
}
.toso-desc {
    margin-top: 1.5em;
}
.toso-catch {
    font-size: 2.25em;
    font-size: var(--fsize-36);
    font-weight: 600;
}
.toso-introtxt {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin-top: 2.8em;
}
.toso-introtxt span {
    font-size: 1.4em;
    font-weight: 500;
}
.toso-txt {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin: 2.5em 0 0;
}
.seatcleaning-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.seatCl-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.seatClContent-wrap {
    border-radius: 1.5em;
}
.seatClcontent-head {
    border: 1px solid #C43232;
    border-radius: 1.5em 1.5em 0 0;
    background-color: #C43232;
    padding: .5em;
    text-align: center;
    h2 {
        color: #fff;
        font-size: 2.4375em;
        font-size: var(--fsize-39);
        font-weight: 700;
        word-break: keep-all;
        white-space: nowrap;
        overflow-wrap: anywhere;
    }
}
.seatClContent-body {
    border: 1px solid #C43232;
    border-radius: 0 0 1.5em 1.5em;
    padding: 3em 6.6% 4em;
    padding: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem) 10px clamp(2em, calc(1.091em + 3.879vw), 4em);
}
@media (min-width: 768px) {
    .seatClcontent-head {
        padding: 2em;
    }
    .seatClContent-body {
        border: 1px solid #C43232;
        border-radius: 0 0 1.5em 1.5em;
        padding: 3em 6.6% 4em;
    }
}
.seatClContent-catch {
    border-bottom: 1px solid #29353A;
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-weight: 600;
    margin: 0;
    padding-bottom: 1.5em;
}
.seatClContent-txt {
    font-size: var(--fsize-16);
    font-weight: 500;
    line-height: 1.5;
    margin: 1em 0 0;
    padding: 0 10px;
}
@media (min-width: 768px) {
    .seatClContent-catch {
        text-align: center;
    }
    .seatClContent-txt {
        line-height: 1.8;
        margin: 2em 0 0;
        padding: 0 2em;
    }
}
.seatClContent-steam {
}
.seatClContent-steam h3 { grid-area: steam-title; }
.seatClContent-steam p { grid-area: steam-desc; }
.seatClContent-steam::after { grid-area: steam-thumb; }

.seatClContent-steam::after {
    aspect-ratio: 419/279;
    background: url(../images/service/cleaning001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto 0;
    width: 100%;
    max-width: 419px;
}
@media (min-width: 768px) {
    .seatClContent-steam {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr minmax(36.5%, 419px); 
        grid-template-rows: auto 1fr; 
        gap: 0% 6.8%; 
        grid-template-areas: 
            "steam-title steam-thumb"
            "steam-desc steam-thumb"; 
    }
    .seatClContent-steam::after {
        margin: 0;
    }
}
.seatClContent-steam {
    margin-top: 2em;
    h3 {
        font-size: 1.25em;
        font-size: var(--fsize-20);
        font-weight: 700;
    }
    p {
        font-size: var(--fsize-16);
        font-weight: 500;
        line-height: 1.8;
        margin: 2.5em 0 0;
    }
}
@media (min-width: 768px) {
    .seatClContent-steam {
        .spb {
            display: none;
        }
    }
}
.seatCl-price {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    h3 {
        color: #C43232;
        font-size: 1.9375em;
        font-size: var(--fsize-31);
        font-weight: 700;
        text-align: center;
    }
}
.seatCl-table {
    margin-top: 1.5em;
}
.seatCl-table table {
    border-top: 1px solid #939393;
    border-left: 1px solid #939393;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}
.seatCl-table th,
.seatCl-table td {
    border-right: 1px solid #939393;
    border-bottom: 1px solid #939393;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 400;
    padding: .5em 2em;
    text-align: left;
}
.seatCl-table th {
    background-color: #F0F0F0;
    width: 58%;
}
.seatCl-table td {
    width: 42%;
}
.seatCl-table .caution-list li {
    font-size: var(--fsize-16);
}
@media (min-width: 768px) {
}

.pgp-section {
}
.pgp-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.pgp-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.pgp-content {
    display: flex;
    flex-direction: column;
}
.pgp-movie {
    order: 4;
}
.pgp-title { grid-area: pgp-title; }
.pgp-desc { grid-area: pgp-desc; }
.pgp-content::after { grid-area: pgp-thumb; }
.pgp-movie { grid-area: pgp-movie; }

.pgp-content::after {
    aspect-ratio: 275/206;
    background: url(../images/service/logo_pgp.png) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto 0;
    width: 100%;
    max-width: 275px;
    align-self: center;
}
@media (min-width: 768px) {
    .pgp-content {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-template-columns: 1fr minmax(32%, 350px); 
        grid-template-rows: repeat(2, auto) 1fr; 
        gap: 0% 7%; 
        grid-template-areas: 
            "pgp-title pgp-thumb"
            "pgp-desc pgp-thumb"
            "pgp-movie pgp-movie"; 
    }
    .pgp-content::after {
        margin: 0;
    }
}

.pgp-title {
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    line-height: 1.2;
}
.pgp-desc {
    margin-top: 3em;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
}
.pgp-txt {
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-size: clamp(1.125rem, 0.8977rem + 0.9697vw, 1.625rem);
    font-weight: 600;
    margin: 0;
}
.pgp-catch {
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    margin: 0.4em 0 0;
}
.pgp-movie {
    margin-top: 3em;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    position: relative;
}
.pgpMovie-inner {
    aspect-ratio: 560/315;
    position: relative;
    width: 100%;
}
.pgpMovie-inner iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}
.pgp-feature {
    margin: 4.5em auto 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    max-width: var(--width-content);
}
.pgpFeature-txt {
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-weight: 600;
    margin: 0;
    br {
        display: none;
    }
}
@media (min-width: 768px) {
    .pgpFeature-txt {
        text-align: center;
        br {
            display: block;
        }
    }
}
.pgpFeature-table {
    margin-top: 2.5em;
}
.pgpFeature-table table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    border-top: 1px solid #C43232;
    border-left: 1px solid #C43232;
    margin: 1em auto 0;
    width: 100%;
}
.pgpFeature-table th,
.pgpFeature-table td {
    border-right: 1px solid #DBDBDB;
    border-bottom: 1px solid #DBDBDB;
    font-weight: 600;
    line-height: 1.3;
    padding: .5em;
    text-align: center;
    vertical-align: middle;
}
.pgpFeature-table th {
    background-color: #C43232;
    color: #fff;
}
.pgpFeature-table .row-head {
    font-size: 1.125em;
    font-size: var(--fsize-18);
    width: 22%;
}
.pgpFeature-table .col-head {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    width: 39%;
}
.pgpFeature-table td {
    font-size: 1.125em;
    font-size: var(--fsize-18);
}
.pgp-about {
    margin: 6.5em auto 0;
    margin-top: clamp(3em, calc(1.409em + 6.788vw), 6.5em);
    max-width: var(--width-content);
    h2 {
        font-size: 1.25em;
        font-size: var(--fsize-20);
        font-weight: 600;
        text-align: center;
        width: 20em;
    }
    h2 span {
        display: block;
        font-size: 1.95em;
    }
}
.pgpAbout-head {
    display: flex;
    justify-content: center;
    align-items: center;
}
.pgpAbout-head::before,
.pgpAbout-head::after {
    background-color: #29353A;
    content: "";
    display: block;
    width: 2px;
    height: 4.5em;
}
.pgpAbout-head::before {
    transform: rotate(-20deg);
    margin-right: 6em;
    margin-right: clamp(0.5em, calc(-2em + 10.667vw), 6em);
}
.pgpAbout-head::after {
    transform: rotate(20deg);
    margin-left: 6em;
    margin-left: clamp(0.5em, calc(-2em + 10.667vw), 6em);
}
@media (min-width: 768px) {
    .pgp-about {
        h2 {
            width: auto;
        }
    }
}
.pgpAbout-image {
    margin-top: 1.5em;
}
.pgpAbout-dic {
    display: flex;
    flex-direction: column;
    gap: 1.5em;
    justify-content: space-between;
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.pgpAbout-dic dl {
    margin: 0;
}
.pgpAbout-dic dt {
    background-color: #C43232;
    border-radius: 1em;
    color: #fff;
    font-size: 1.3125em;
    font-size: var(--fsize-21);
    font-weight: 700;
    padding: 3px 1em;
}
.pgpAbout-dic dd {
    font-size: 0.9375em;
    font-size: var(--fsize-15);
    font-weight: 600;
    margin: 1em 0 0;
}
@media (min-width: 768px) {
    .pgpAbout-dic {
        flex-direction: row;
        gap: 6%;
    }
    .pgpAbout-dic dl {
        width: 44%;
    }
    .pgpAbout-dic dd {
        line-height: 1.8;
        margin: 2em 0 0;
        padding-right: 1em;
    }
}

.pgpAbout-price {
    margin: 6em auto 0;
    margin-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
    max-width: var(--width-content);
}
.pgpAbout-price table {
    border-collapse: collapse;
    border-spacing: 0;
    border: 0;
    border-top: 1px solid #CECDCA;
    border-left: 1px solid #CECDCA;
    margin: 0 auto;
    width: 100%;
    white-space: nowrap;
}
.pgpAbout-price table:not(:first-child),
.pgpAbout-price .table-wrap:not(:first-child) {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}

.pgpAbout-price th,
.pgpAbout-price td {
    border-right: 1px solid #CECDCA;
    border-bottom: 1px solid #CECDCA;
    font-weight: 400;
    padding: .6em;
    text-align: center;
    vertical-align: middle;
}
.pgpAbout-price th {
    background-color: #FFD760;
    color: #41413E;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    padding: 1.2em .6em;
}
.size-mark {
    display: block;
    font-size: 1.875em;
    font-size: 1.6em;
    font-size: var(--fsize-30);
    font-weight: 500;
}
.size-type {
    display: block;
    font-weight: 400;
    line-height: 1.3;
    margin-top: 1em;
}
.pgpAbout-price td {
}
.pgpAbout-price .caution-list {
    margin-top: .5em;
    li {
        font-size: var(--fsize-16);
    }
}

/* シートグレードアップ */
.seat-inner {
    padding: 5em 10px 0;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.seat-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.seat-title {
    background-color: #3C3C3C;
    border-radius: 1em;
    color: #fff;
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    margin: 0 auto;
    padding: .25em 1em;
    text-align: center;
}
.seat-desc {
    margin-top: 2em;
}
.seat-catch {
    color: #C43232;
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    text-align: center;
}
.seat-introtxt {
    font-size: 1.6875em;
    font-size: var(--fsize-27);
    font-weight: 500;
    margin: 1em 0 0;
    text-align: center;
}
.seat-txt {
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 500;
    margin: 1em 0 0;
}
@media (min-width: 768px) {
    .seat-title {
        padding: .25em 4em;
        width: fit-content;
    }
    .seat-txt {
        line-height: 2;
        margin: 1.5em 1em 0;
    }
}
.seat-spec {
    margin: 4em auto 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    max-width: var(--width-base);
    position: relative;
}
.seatSpec-inner {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
}
.seatSpec-price {
    padding: 0 10px;
}
.seatSpec-inner::after {
    aspect-ratio: 781/521;
    background: url(../images/service/seat001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em auto;
    width: 100%;
    max-width: 780px;
}
@media (min-width: 960px) {
    .seatSpec-inner {
        flex-direction: row;
    }
    .seatSpec-price {
        margin: 0 auto;
        padding: 0;
        padding-left: 9.73%;
        width: 42.9%;
    }
    .seatSpec-inner::after {
        margin: 0;
        width: 57.1%;
    }
}
.seatSpec-price {
    h3 {
        font-size: 2.375em;
        font-size: var(--fsize-38);
    }
    dl {
        margin: 1.5em 0 0;
    }
    dt {
        font-size: 1.5em;
        font-size: var(--fsize-24);
        font-weight: 500;
    }
    dd {

    }
}
.price-txt {
    font-size: 3.0625em;
    font-size: var(--fsize-49);
    font-weight: 600;
    line-height: 1.2;
}
.tax-txt {
    font-size: 1.75em;
    font-size: var(--fsize-28);
    font-weight: 500;
}
.seatSpec-price .caution-list {
    margin: 4.5em 0 0 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.seatSpec-price .caution-list li {
    font-size: 0.875em;
    font-size: var(--fsize-14);
    font-weight: 500;
}
@media (min-width: 1100px) {
    .seatSpec-price .caution-list {
        margin: 4.5em 5em 0 0;
        margin: clamp(2em, calc(1.091em + 3.879vw), 4em) clamp(2.5em, calc(1.364em + 4.848vw), 5em) 0 0;
    }
}
.seatSpec-detail {
    display: flex;
    flex-direction: column;
    margin-top: 2em;
}
.seatSpecDetail-name {
    background-color: #3C3C3C;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    padding: 2em 10px;
    width: 100%;
}
.seatSpecDetail-list {
    padding: 10px;
    max-width: 780px;
}
@media (min-width: 960px) {
    .seatSpec-detail {
        flex-direction: row;
        align-items: stretch;
        margin-top: 0;
    }
    .seatSpecDetail-name {
        background-color: #3C3C3C;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        padding-left: 9.73%;
        width: 42.9%;
    }
    .seatSpecDetail-list {
        padding: 0;
        padding-right: 9.73%;
        width: 57.1%;
    }
}
.seatSpecDetail-name p {
    color: #fff;
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: 500;
    margin: 0;
}
.seatSpecDetail-table {
    h3 {
        font-size: 1.5em;
        font-size: var(--fsize-24);
        font-weight: 600;
    }
    table {
        border: 0;
        border-collapse: collapse;
        border-spacing: 0;
        margin-top: 2.5em;
        margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
        width: 100%;
    }
    th,
    td {
        font-size: 1.0625em;
        font-size: var(--fsize-17);
        font-weight: 500;
        padding: 1px;
        text-align: left;
        width: 50%;
    }
    th {
    }
}
.seatSpecDetail-normallist {
    padding-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    h3 {
        font-size: 1.5em;
        font-size: var(--fsize-24);
        font-weight: 600;
    }
    ul {
        margin: 1em 0 0;
        padding-left: 1.5em;
    }
    li {
        font-size: 1.0625em;
        font-size: var(--fsize-17);
        font-weight: 500;
    }
}
@media (min-width: 960px) {
    .seatSpecDetail-table {
        padding: 4em 4em 0;
    }
    .seatSpecDetail-normallist {
        padding: 4em 4em 2em;
        padding: clamp(2em, calc(1.091em + 3.879vw), 4em) clamp(2em, calc(1.091em + 3.879vw), 4em) 2em;
        ul {
            margin: 1.5em 0 0;
            padding-left: 1.5em;
        }
    }

}

.seatSpec-option {
    margin: 0 auto;
    padding: 5em 10px 0;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
@media (min-width: 1100px) {
    .seatSpec-option {
        padding-left: 0;
        padding-right: 0;
    }
}
.seatSpec-option h3 {
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: 600;
}
.seatSpecOption-table {
    display: flex;
    flex-direction: column;
    table {
        order: 2;
    }
    .table-caution {
        font-size: 0.875em;
        font-size: var(--fsize-14);
        margin: 0 0 .25em 0;
        order: 1;
        text-align: right;
    }
    .table-caution::before {
        content: "●";
    }
    .caution-list {
        order: 3;
    }
}
.seatSpecOption-table table {
    border: 0;
    border-collapse: collapse;
    border-spacing: 0;
}
.seatSpecOption-table th,
.seatSpecOption-table td {
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
    padding: .5em 3em;
    padding: .5em clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    text-align: left;
}
.seatSpecOption-table tr:nth-of-type(2n+1) {
    background-color: #EAEAEA;
}
.seatSpecOption-table td {
    white-space: nowrap;
}
.seatSpecOption-table .caution-list li {
    font-size: var(--fsize-16);
}


    .seatSpecPrice-inner {
}
.seatSpec-detail {

}

/* 中古車販売 */
.used-section {
    padding: 7em 10px 0;
    padding-top: clamp(3em, calc(1.182em + 7.758vw), 7em);
}
.used-content {
    margin: 0 auto;
    max-width: var(--width-content);
}
.used-title {
    background-color: #C43232;
    border-radius: 1em;
    color: #fff;
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    margin: 0 auto;
    padding: .25em 1em;
    text-align: center;
}
@media (min-width: 768px) {
    .used-title {
        padding: .25em 4em;
        width: fit-content;
    }
}
.used-desc {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.used-desc::after {
    aspect-ratio: 1100/390;
    background: url(../images/service/used001.png) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1em 0 0;
    width: 100%;
}
.used-catch {
    font-size: 1.9375em;
    font-size: clamp(1.375rem, 1.1193rem + 1.0909vw, 1.9375rem);
    font-weight: 600;
    margin: 0;
    text-align: center;
}
.used-txt {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 600;
    margin: 2em 0 0;
    text-align: center;
}
.used-tag {
    border: 1px solid #29353A;
    border-radius: 8px;
    display: inline-block;
    margin-right: 1em;
    padding: 2px 1.25em;
}
.used-msg {
    font-size: 1.25em;
    font-size: var(--fsize-20);
    font-weight: 600;
    margin: 2em 0 0;
    text-align: center;
}

/* LPG */
.lpg-section {
    padding: 0 10px;
}
.lpg-desc {
    margin: 0 auto;
    padding-top: 7em;
    padding-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
    max-width: var(--width-content);
}
.lpg-catch {
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    margin: 0;
}
.lpg-txt {
    margin: 2em 0 0 0;
}
@media (min-width: 768px) {
    .lpg-txt {
        line-height: 2;
        margin: 2em 2em 0 0;
    }
}
.lpg-inner {
    margin: 0 auto;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.lpg-title {
    background-color: #C43232;
    color: #fff;
    font-size: 2.1875em;
    font-size: var(--fsize-35);
    font-weight: 700;
    margin: 0 auto;
}
.radiustitle {
    border-radius: 1em;
    padding: 3px 1em;
    text-align: center;
}
@media (min-width: 768px) {
    .radiustitle {
        padding: 3px 2em;
        width: fit-content;
    }
}
.radiustxt {
}
.lpg-feature {
    counter-reset: lpgfeature 0;
    margin-top: 7.5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);

}
.lpgFeature-item {
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    h3 {
        font-size: 1.875em;
        font-size: var(--fsize-30);
        font-size: clamp(1.375rem, 1.1164rem + 1.1034vw, 1.875rem);
        font-weight: 700;
        line-height: 1.3;
        padding-left: 3.5em;
        position: relative;
    }
    h3::before {
        color: #C43232;
        counter-increment: lpgfeature 1;
        content: counter(lpgfeature) "";
        font-family: "Outfit", sans-serif;
        font-size: 1em;
        font-size: var(--fsize-30);
        font-size: clamp(1.375rem, 1.1164rem + 1.1034vw, 1.875rem);
        font-weight: 500;
        line-height: 1;
        position: absolute;
        left: 1.25em;
        top: 1.25em;
        transform: translate(-50%, -50%);
    }
    h3::after {
        aspect-ratio: 1/1;
        border: 2px solid #C43232;
        border-radius: 1.5em;
        content: "";
        display: block;
        width: 2.5em;
        position: absolute;
        left: 0;
        top: 0;
    }
    p {
        font-size: 1.0625em;
        font-size: var(--fsize-17);
        font-weight: 500;
        margin: 1.5em 0 0;
        padding-left: 6.5em;
    }
}
@media (min-width: 768px) {
    .lpgFeature-item {
        p {
            line-height: 2;
        }
        p br.spb {
            display: none;
        }
    }
}
.lpgFeature-item:first-child {
    margin-top: 0;
}
.lpgFeature-item .caution-list {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    padding-left: 6.5em;
}
.lpgFeature-item:nth-child(2)::after {
    aspect-ratio: 704/448;
    background: url(../images/contents/lpg001.png) no-repeat center top/contain;
    content: "";
    display: block;
    margin: 1.5em auto 0;
    width: 100%;
    max-width: 704px;
}
.lpgFeature-item:nth-child(3) {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.lpgFeature-item:nth-child(3) h3 { grid-area: 1 / 1 / 2 / 2; }
.lpgFeature-detail { grid-area: 2 / 1 / 3 / 3; }
.lpgFeature-item:nth-child(3)::after { grid-area: 1 / 2 / 3 / 3; }

.lpgFeature-item:nth-child(3)::after {
    aspect-ratio: 338/333;
    background: url(../images/contents/lpg002.png) no-repeat center center/contain;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 338px;
}
@media (min-width: 768px) {
    .lpgFeature-item:nth-child(3) {
        display: grid;
        grid-template-columns: 1fr minmax(31%, 338px);
        grid-template-rows: auto 1fr;
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 0em 0%;
        grid-auto-flow: column;
        margin-top: 4em;
    }
    .lpgFeature-item:nth-child(3) h3 {
        margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    }
    .lpgFeature-item:nth-child(3)::after {
        margin: 0 0 0 auto;
    }
}
.lpgFeature-detail {
    margin-top: 7em;
    margin-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
    margin-top: 1.5em;
    padding-left: 5em;
    dl {
        margin: 1.5em 0 0;
    }
}
.lpgFeature-detail dl {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: repeat(3, auto);
    grid-auto-columns: 1fr;
    grid-auto-rows: 1fr;
    gap: 1em 3%;
    grid-auto-flow: column;
    grid-template-areas:
        "lpgFeatureDetail-title"
        "lpgFeatureDetail-thumb"
        "lpgFeatureDetail-txt";
}
.lpgFeature-detail dl::after { grid-area: lpgFeatureDetail-thumb; }
.lpgFeature-detail dt { grid-area: lpgFeatureDetail-title; }
.lpgFeature-detail dd { grid-area: lpgFeatureDetail-txt; }

.lpgFeature-detail dl::after {
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 232px;
    align-self: center;
}
.lpgFeature-detail dl:first-child::after {
    aspect-ratio: 232/297;
    background-image: url(../images/contents/lpg003.jpg);
}
.lpgFeature-detail dl:nth-child(2)::after {
    aspect-ratio: 232/167;
    background-image: url(../images/contents/lpg004.jpg);
}
.lpgFeature-detail dl:nth-child(3)::after {
    aspect-ratio: 232/167;
    background-image: url(../images/contents/lpg005.jpg);
}
.lpgFeature-detail dt {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 700;
    align-self: flex-end;
}
.lpgFeature-detail dd {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin: 0;
}
@media (min-width: 768px) {
    .lpgFeature-detail {
        margin-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
        padding-left: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
        dl {
            margin: 3.75em 0 0;
            margin-top: clamp(1.875em, calc(0.905em + 4.138vw), 3.75em);
        }
    }
    .lpgFeature-detail dl {
        display: grid;
        grid-template-columns: minmax(23%, 232px) 1fr;
        grid-template-rows: repeat(2, auto);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 1em 3%;
        grid-auto-flow: column;
        grid-template-areas:
            "lpgFeatureDetail-thumb lpgFeatureDetail-title"
            "lpgFeatureDetail-thumb lpgFeatureDetail-txt";
    }
    .lpgFeature-detail dd {
        line-height: 2;
    }
}
.lpgprice-section {
}
.lpg-price {
    margin: 0 auto;
    padding-top: 9em;
}
.lpgPrice-inner {
    display: flex;
    flex-direction: column-reverse;
}
.lpg-simuration {
    margin: 0 auto;
    padding: 0 10px;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.lpgPrice-inner::before {
    aspect-ratio: 1233/734;
    aspect-ratio: 1233/1394;
    background: url(../images/contents/lpg_price.jpg) no-repeat left top/190%;
    content: "";
    display: block;
    width: 100%;
}
.lpgPrice-inner::before { grid-area: 1 / 1 / 2 / 3; }
.lpgPrice-content { grid-area: 1 / 2 / 2 / 3; }
@media (min-width: 768px) {
    .lpgPrice-inner {
        display: grid; 
        grid-auto-flow: column; 
        grid-auto-columns: 1fr; 
        grid-auto-rows: 1fr; 
        grid-template-columns: 1fr 50%; 
        grid-template-rows: auto; 
        gap: 0em 0%; 
        margin: 0 auto;
        position: relative;
        max-width: var(--width-base);
    }
    .lpgPrice-inner::before {
        aspect-ratio: 1233/734;
        background: url(../images/contents/lpg_price.jpg) no-repeat left top/contain;
        width: 90%;
        max-width: 1233px;
    }
}
@media (min-width: 1100px) {
    .lpg-simuration {
        padding-left: 0;
        padding-right: 0;
    }
}

.lpgPrice-title {
    font-size: 2.8125em;
    font-size: var(--fsize-45);
    font-weight: 700;
    text-align: center;
}
.lpgPrice-content {
    margin-top: clamp(1em, calc(0.545em + 1.939vw), 2em);;
    padding: 0 10px;
    h3 {
        color: #C43232;
        font-size: 2.8125em;
        font-size: clamp(2rem, 1.6307rem + 1.5758vw, 2.8125rem);
        font-weight: 700;
    }
}
.lpgPrice-desc {
    font-size: 1.875em;
    font-size: var(--fsize-30);
    font-weight: 600;
    margin: 1.5em 0 0;
}
.lpgPrice-txt {
    display: inline-flex;
    flex-direction: column;
    font-size: 3.5em;
    font-size: var(--fsize-56);
    font-family: "Outfit", sans-serif;
    line-height: 1;
    margin: .25em 0 0;
}
.lpgPrice-tax {
    display: block;
    font-size: 0.4em;
    text-align: right;
}
.lpgPrice-msg {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin: 2em 0 0;
}
.lpgPrice-content .caution-list {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
}
@media (min-width: 768px) {
    .lpgPrice-content {
        margin-top: 0;
        padding: 0;
        align-self: center;
        h3 {
            color: #C43232;
            font-size: 2.8125em;
            font-size: clamp(2rem, 1.6307rem + 1.5758vw, 2.8125rem);
            font-weight: 700;
        }
    }
}
.lpg-simuration {
    h3 {
        color: #C43232;
        font-size: 1.75em;
        font-size: var(--fsize-28);
        font-weight: 700;
    }
}
.lpgSimuration-sample {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin: .5em 0 0;
}
.lpgSimuration-table {
    margin-top: 3em;
    margin-top: clamp(1.5rem, 0.8182rem + 2.9091vw, 3rem);
    table {
        border-top: 6px solid #fff;
        border-left: 6px solid #fff;
        border-spacing: 0;
        border-collapse: collapse;
        width: 100%;
    }
}
.lpgSimuration-table th,
.lpgSimuration-table td {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    padding: 2px .25em;
    text-align: center;
    vertical-align: middle;
}
.lpgSimuration-table .no-head {
    width: 20%;
}
.lpgSimuration-table .col-head {
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-size: clamp(0.8125rem, 0.4569rem + 1.5172vw, 1.5rem);
    font-weight: 600;
    width: 20%;
}
.lpgSimuration-table .row-head {
    background-color: #EAEAEA;
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
}
.lpgSimuration-table .catch-msg {
    width: auto;
}
.lpgSimuration-table td {
    background-color: #EAEAEA;
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
    white-space: nowrap;
}
.lpgSimuration-table .cell-diff {
    background-color: #C43232;
}
.lpgSimuration-table .cell-diff span {
    display: block;
    line-height: 1.2;
}
.lpgSimuration-table .simu-time {
    color: #fff;
    font-size: 1.2em;
}
.lpgSimuration-table .simu-price {
    color: #FFD760;
    font-size: 1.68em;
}
.lpgSimuration-table .simu-txt {
    color: #fff;
    font-size: 1.58em;
}
.lpgSimuration-attention {
    font-size: 2.125em;
    font-size: var(--fsize-34);
    font-size: clamp(1.375rem, 0.9871rem + 1.6552vw, 2.125rem);
    font-weight: 700;
    margin: 1em 0 0;
    padding-left: 1.25em;
    position: relative;
}
.lpgSimuration-attention::before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0;
}
.lpgSimuration-attention span {
    color: #C43232;
    display: inline-block;
    font-size: 1.4em;
    padding-right: 10px;
    padding-left: 10px;
}
@media (min-width: 768px) {
    .lpgSimuration-table th,
    .lpgSimuration-table td {
        border-right: 6px solid #fff;
        border-bottom: 6px solid #fff;
        padding: 6px 1em;
    }
    .lpgSimuration-table .cell-diff span {
        display: inline-block;
    }
    .lpgSimuration-attention::before {
        top: .5em;
    }
}

/* 運営会社 */
.company-catch {
    margin: 0 auto;
    padding-top: 3.5em;
    padding-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    max-width: var(--width-content);
    p {
        font-size: 2.375em;
        font-size: clamp(1.5rem, 1.1023rem + 1.697vw, 2.375rem);
        font-weight: 700;
        margin: 0;
        padding: 0 10px;
    }
}
@media (min-width: 960px) {
    .company-catch {
        p {
            padding-left: 45%;
        }
    }
}
@media (min-width: 1100px) {
    .company-catch {
        p {
            padding-left: 40%;
        }
    }
}
.company-table {
    margin: 0 auto;
    padding-top: 2em;
    max-width: var(--width-content);
}
@media (min-width: 960px) {
    .company-table {
        padding-top: clamp(5em, calc(2.414em + 11.034vw), 10em);
    }
}

.company-table::after {
    aspect-ratio: 1100/471;
    background: url(../images/contents/company001.jpg) no-repeat center center/contain;
    content: "";
    display: block;
    margin-top: 5em;
    width: 100%;
    max-width: 1100px;
}
.company-table dl {
    display: flex;
    flex-direction: column;
    margin: 0 auto;
    margin-top: .5em;
    width: 100%;
    max-width: 920px;
}
.company-table dl:not(:first-child) {
    border-top: 1px solid #A8A8A8;
}
.company-table dt,
.company-table dd {
    font-weight: 500;
    padding: .5em;
}
.company-table dt {
    padding-top: 1em;
}
.company-table dd {
    padding-left: 1em;
    padding-top: 0;
}

.company-table ul {
    padding-left: 1.25em;
}
@media (min-width: 768px) {
    .company-table dl {
        flex-direction: row;
        margin-top: 0;
    }
    .company-table dt,
    .company-table dd {
        padding: 1.5em;
    }
    .company-table dt {
        width: 32%;
    }
    .company-table dd {
        width: 68%;
    }
}
.company-access {
    margin: 0 auto;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
    h2 {
        font-family: "Outfit", sans-serif;
        font-size: 2.25em;
        font-size: var(--fsize-36);
        font-weight: 500;
        text-align: center;
    }
}
.companyAccess-address {
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
    margin: .5em 0 0;
    text-align: center;
}
.companyAccess-mapinner {
    aspect-ratio: 927/696;
    position: relative;
    margin: 2.5em auto 0;
    width: 100%;
    max-width: 927px;
}
.companyAccess-mapinner iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}

/* 採用情報 */
.recruit-section {
    padding: 0 10px;
}
.recruit-content {
    margin: 0 auto;
    padding-top: 6em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.recruit-title {
    font-size: 2.4375em;
    font-size: var(--fsize-39);
    font-weight: 700;
}
.yellitem {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25em;
}

.yellitem::before,
.yellitem::after {
    aspect-ratio: 24 / 48;
    content: "";
    display: block;
    width: 12px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}
.yellitem::before {
    background-image: url(../images/service/img_sub01.png);
}
.yellitem::after {
    background-image: url(../images/service/img_sub02.png);
}
@media (min-width: 768px) {
    .yellitem {
        gap: 2em;
    }
    .yellitem::before,
    .yellitem::after {
        width: 24px;
    }
}

.recruit-type {
    display: flex;
    flex-direction: column;
    gap: 1.625em;
    margin: 5em auto 0;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    width: 100%;
    max-width: 996px;
}
.recruitType-item {
    background-color: #C43232;
    border-radius: 1.5em;
    margin: 0;
    padding: 1em;
}
.recruitType-item dt {
    color: #FFD760;
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    text-align: center;
}
.recruitType-item dd {
    color: #fff;
    font-size: 0.875em;
    font-size: var(--fsize-14);
    font-weight: 500;
    margin: 1em 0 auto;
}
.recruitType-item:nth-child(4) dd {
    text-align: center;
}
@media (min-width: 768px) {
    .recruit-type {
        display: grid;
        grid-template-columns: repeat(2, 48.7%);
        grid-template-rows: repeat(2, auto);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: 1.625em 1.625em;
        grid-auto-flow: column;
        margin: 5em auto 0;
        margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
        width: 100%;
        max-width: 996px;
    }
    .recruitType-item {
        display: grid;
        grid-template-columns: subgrid;
        grid-column: span 1;
        grid-template-rows: auto auto;
        gap: 1em; /* dtとddの間の余白 */
        align-items: center; /* 天地中央揃え */
        padding: 2.5em;
    }
    .recruitType-item dt {
        display: flex;
        align-items: center; /* 複数行テキストの天地中央揃え */
        justify-content: center; /* 左右中央揃えも必要な場合 */
    }
    .recruitType-item dd {
        margin: 1.5em 0 auto;
    }
}


.office-content {
    margin: 0 auto;
    padding-top: 6em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.office-title {
    font-size: 2.375em;
    font-size: var(--fsize-38);
    font-weight: 700;
    text-align: center;
}
.dottedborder {
    margin: 0 auto;
    padding: 0;
}
.dottedborder::after {
    border-bottom: 8px dotted #C43232;
    content: "";
    display: block;
    margin-top: 0.5em;
    width: 100%;
}
@media (min-width: 768px) {
    .dottedborder {
        padding: 0 1em;
        width: fit-content;
    }
    .dottedborder::after {
        margin-left: -1em;
        width: calc(100% + 2em);
    }
    .dottedborder.office-title {
        padding: 0 2em;
    }
    .dottedborder.office-title::after {
        margin-left: -2em;
        width: calc(100% + 4em);
    }
}
.office-txt {
    font-size: 1.4375em;
    font-size: clamp(1.0625rem, 0.892rem + 0.7273vw, 1.4375rem);
    font-weight: 700;
    line-height: 1.7;
    margin: 2em 0 0;
    text-align: center;
}
.office-txt::after {
    aspect-ratio: 1003/679;
    background: url(../images/contents/recruit001.jpg) no-repeat center center/contain;
    content: "";
    display: block;
    margin: 2em auto 0;
    width: 100%;
    max-width: 1003px;
}
.office-youtube {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin: 4.5em auto 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    width: 100%;
    max-width: 1000px;
}
.officeYoutube-item {
    aspect-ratio: 492/356;
    position: relative;
    width: 100%;
}
.officeYoutube-item iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
@media (min-width: 768px) {
    .office-youtube {
        flex-direction: row;
        gap: 1.6%;
    }
    .officeYoutube-item {
        width: 49.2%;
        max-width: 492px;
    }
}
.interview-section {
    margin-top: 7em;
    margin-top: clamp(3.5em, calc(1.909em + 6.788vw), 7em);
    overflow-y: hidden;
    position: relative;
}
.interview-section::before {
    background-color: #F5F5F5;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 19%;
    top: clamp(7em, calc(2.909em + 17.455vw), 16em);
    height: 100%;
    width: 100%;
    z-index: -1;
}
@media (min-width: 768px) {
    .interview-section::before {
    }
}
.interview-title {
    color: #C43232;
    font-size: 1.4375em;
    font-size: var(--fsize-23);
    font-weight: 700;
    text-align: center;
}
.interview-title::before {
    content: attr(data-en);
    display: block;
    font-size: 2.1em;
    font-family: "Outfit", sans-serif;
}
.interview-inner {
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin: 3.5em auto 0;
    margin-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    max-width: var(--width-base);
}
.interview-person {
    margin: 0 auto 0 0;
    width: 100%;
    max-width: 675px;
}
.interview-inner::after {
    aspect-ratio: 691/433;
    background: url(../images/contents/recruit-i001.jpg) no-repeat center top/contain;
    content: "";
    display: block;
    width: 100%;
}
@media (min-width: 768px) {
    .interview-inner {
        flex-direction: row;
    }
    .interview-person {
        margin: 0 auto 0 0;
        padding-left: 9.73%;
        padding-right: 1em;
        width: 100%;
        max-width: 675px;
    }
    .interview-inner::after {
        max-width: 691px;
    }
}

.interview-catch {
    font-size: 2.375em;
    font-size: var(--fsize-38);
    font-weight: 700;
    margin: 0;
}
.interview-staff {
    display: flex;
    gap: 1.5em;
    align-items: baseline;
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.staff-position {
    font-size: 1.375em;
    font-size: 18px;
    font-weight: 500;
    margin: 0;
}
.staff-name {
    font-size: 2.375em;
    font-size: 30px;
    font-weight: 700;
}
@media (min-width: 768px) {
    .staff-position {
        font-size: 1.375em;
        font-size: var(--fsize-22);
        font-size: clamp(1.125rem, 0.5467rem + 1.2048vw, 1.375rem);
        font-weight: 500;
        margin: 0;
    }
    .staff-name {
        font-size: 2.375em;
        font-size: var(--fsize-38);
        font-size: clamp(1.875rem, 0.7184rem + 2.4096vw, 2.375rem);
        font-weight: 700;
    }
}
.interview-history {
    margin-top: 2em;
    padding-left: 1.5em;
    li {
        font-size: 1.125em;
        font-size: var(--fsize-18);
        font-weight: 500;
    }
}
.interview-detail {
    display: flex;
    flex-direction: column;
    margin: 4em auto 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
    max-width: var(--width-content);
}
.interview-qa {
}
.interview-timetable {
    margin-top: 2em;
}
@media (min-width: 768px) {
    .interview-detail {
        justify-content: space-between;
        flex-direction: row;
    }
    .interview-qa {
        padding-left: 1%;
        padding-right: 1em;
        width: 63.6%;
    }
    .interview-timetable {
        margin-top: 1em;
        width: 21.8%;
    }
}
.interviewQA-item {
    margin: 3.5em 0 0;
    margin-top: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
}
.interviewQA-item:first-child {
    margin: 0;
}
.interviewQA-item dt {
    color: #C43232;
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: 700;
    line-height: 1.4;
    padding-bottom: .5em;
    position: relative;
}
.interviewQA-item dt::before,
.interviewQA-item dt::after {
    content: "";
    display: block;
    height: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
}
.interviewQA-item dt::before {
    background-color: #D8D8D8;
    width: 78%;
}
.interviewQA-item dt::after {
    background-color: #C43232;
    width: 2em;
}
.interviewQA-item dd {
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 500;
    line-height: 1.8;
    margin: 1em 0 0;
}
.interview-timetable {
}
.interview-timetable dt {
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: 700;
}
.interview-timetable dd {
}
.interview-timetable ol {
    list-style-type: none;
    margin: 0;
    padding: 0;
}
.interview-timetable ol::after {
    background-color: #C43232;
    content: "";
    display: block;
    width: 2px;
    height: calc(100% - 14px);
    position: absolute;
    left: 6px;
    top: 7px;
}
.interview-timetable li {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    font-weight: 500;
    margin-top: 2em;
    position: relative;
    padding-left: 1.5em;
}
.interview-timetable li::before {
    background-color: #C43232;
    border-radius: 1em;
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}
.interview-msg {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.interview-msg::before {
    background-color: #C43232;
    content: "";
    display: block;
    width: 56.8%;
    height: 1px;
}
.interviewMsg-content {
    display: flex;
    gap: 1em;
    flex-direction: column;
    margin: 0 auto;
    padding: 4em 0;
    padding: clamp(2em, calc(1.091em + 3.879vw), 4em) 0;
    max-width: var(--width-content);
}
.interviewMsg-title {
    display: flex;
    flex-direction: column;
    font-size: 1.5em;
    font-size: var(--fsize-24);
    font-weight: 700;
    text-align: center;
}
.interviewMsg-txt {
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 500;
    line-height: 1.8;
    margin: 0;
}
@media (min-width: 768px) {
    .interviewMsg-content {
        flex-direction: row;
        align-items: center;
    }
    .interviewMsg-title {
        width: 33%;
    }
    .interviewMsg-txt {
        padding: 0 3em;
        width: 67%;
        .spb {
            display: none;
        }
    }
}
.interviewMsg-title::before {
    content: attr(data-en);
    color: #C43232;
    font-size: 2em;
    font-family: "Outfit", sans-serif;
    font-weight: 600;
}

.flow-content {
    margin: 0 auto;
    padding-top: 6em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.flowContent-title {
    font-size: 2em;
    font-size: var(--fsize-32);
    text-align: center;
}
.flowContent-table {
    margin: 2em auto 0;
}
.flowContent-table dl {
    display: flex;
    flex-direction: column;
    margin: 6px auto 0;
    width: 100%;
    max-width: 986px;
}
.flowContent-table dt,
.flowContent-table dd{
    font-size: var(--fsize-16);
    font-weight: 500;
    padding: .5em 1em;
    width: 100%;
}
.flowContent-table dt {
    background-color: #7B7B7B;
    color: #fff;
}
.flowContent-table dd {
    background-color: #F4F4F4;
}
.flowContent-contact {
    font-size: 0.9375em;
    font-size: var(--fsize-15);
    margin: .25em 0 0;
}
@media (min-width: 768px) {
    .flowContent-table dl {
        flex-direction: row;
        width: 90%;
    }
    .flowContent-table dt,
    .flowContent-table dd{
        padding: 1.5em 2.5em;
    }
    .flowContent-table dt {
        background-color: #7B7B7B;
        color: #fff;
        width: 30%;
    }
    .flowContent-table dd {
        background-color: #F4F4F4;
        width: 70%;
    }
    .flowContent-table dd .spb {
        display: none;
    }
}

/* topics */
.topics-section {
    border-top: 28px solid #D9D9D9;
    padding: 0 10px;
}
.topics-content {
    margin: 0 auto;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.topics-title {
    font-size: 2.625em;
    font-size: var(--fsize-42);
    font-weight: 700;
    margin: 0;
}
.topics-navi {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    list-style-type: none;
    margin: 1em 0 0;
    padding: 0;
    li {
    }
    a {
        background-color: #EAEAEA;
        border-radius: 1em;
        color: #29353A;
        font-size: 1.125em;
        font-size: var(--fsize-18);
        font-weight: 600;
        display: block;
        padding: 4px 1em;
        width: auto;
        text-align: center;
    }
    .current a {
        background-color: #C43232;
        color: #fff;
    }
}
@media (min-width: 768px) {
    .topics-navi {
        margin-top: 2em;
        a {
            width: 10em;
        }
    }
}
.topics-list {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.topics-item {
    border-bottom: 1px dashed #A2A0A0;
    padding: 1em .5em;
    a {
        display: grid;
        grid-template-columns: 6em 1fr;
        grid-template-rows: repeat(2, auto);
        grid-auto-columns: 1fr;
        grid-auto-rows: 1fr;
        gap: .5em 0em;
        grid-auto-flow: column;
        grid-template-areas:
            "topicsItem-date topicsItem-category"
            "topicsItem-title topicsItem-title";
    }
}
.topicsItem-date { grid-area: topicsItem-date; }
.topicsItem-category { grid-area: topicsItem-category; }
.topicsItem-title { grid-area: topicsItem-title; }

@media (min-width: 768px) {
    .topics-item {
        border-bottom: 1px dashed #A2A0A0;
        padding: 1em .5em;
        a {
            grid-template-columns: 7em auto 1fr;
            grid-template-rows: auto;
            gap: 0em 1em;
            grid-template-areas:
                "topicsItem-date topicsItem-category topicsItem-title";
            padding: 1em .5em;
        }
    }
}
.topicsItem-date {
    color: #29353A;
    font-family: "Outfit", sans-serif;
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
    margin: 0;
    order: 1;
}
.topicsItem-title {
    color: #29353A;
    font-size: 1.125em;
    font-size: var(--fsize-18);
    font-weight: 600;
    order: 3;
}
.topicsItem-category {
    list-style-type: none;
    margin: 0;
    padding: 0;
    order: 2;
    li {
        border: 1px solid #C43232;
        border-radius: 3px;
        color: #C43232;
        display: inline-block;
        font-size: .875em;
        font-weight: 600;
        padding: 1px 1em;
        text-align: center;
        width: 7em;
    }
}
.topics-pagination {
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: .5em;
        list-style-type: none;
        margin: 0 auto;
        padding: 0;
    }
    li a,
    li span {
        background-color: #EAEAEA;
        border-radius: 1em;
        color: #5C5C5C;
        font-family: "Outfit", sans-serif;
        font-size: 1.375em;
        font-size: var(--fsize-22);
        font-weight: 500;
        display: inline-flex;
        padding: .25em .75em;
    }
    li.first-item a,li.first-item span,
    li.prev-item a,li.prev-item span,
    li.next-item a,li.next-item span,
    li.last-item a,li.lasst-item span {
        background-color: transparent;
        padding: .25em;
    }
    li span.current {
        background-color: #C43232;
        color: #fff;
    }
}
@media (min-width: 768px) {
    .topics-pagination {
        ul {
            gap: 2em;
        }
    }
}

.topicsContent-head {
    display: flex;
    align-items: center;
}
.topicsContent-head .topics-title {
}
.topicsContent-head .topics-title::after {
    background-color: #C43232;
    content: "";
    display: block;
    margin: .5em 0 0;
    height: 8px;
    width: 4.5em;
}
.topics-backlink {
    margin: 0 0 0 auto;
    a {
        color: #29353A;
        display: inline-flex;
        font-size: 1.375em;
        font-size: var(--fsize-22);
        font-weight: 600;
        padding-left: 1.5em;
        position: relative;
    }
    a::before {
        aspect-ratio: 1/1;
        background-color: #C43232;
        border-radius: 1em;
        content: "";
        display: block;
        width: 1.25em;
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
    }
    a::after {
        border-top: solid 3px #fff;
        border-right: solid 3px #fff;
        content: "";
        width: 8px;
        height: 8px;
        position: absolute;
        left: .5em;
        top: 40%;
        transform: rotate(225deg);
    }
}
.topics-detail {
    margin-top: 3.5em;
}
.topicsDetail-head {
    text-align: center;
}
.topicsDetail-date {
    font-family: "Outfit", sans-serif;
    font-size: 1.1875em;
    font-size: var(--fsize-19);
    font-weight: 500;
    margin: 0;
}
.topicsDetail-title {
    font-size: 2.25em;
    font-size: var(--fsize-36);
    font-weight: 700;
    margin-top: 0.25em;
    padding: 0;
}
.topicsDetail-title::after {
    margin-left: 0;
    width: calc(100%);
}
.topicsDetail-body {
    min-height: 500px;
    margin: 4em auto 0;
    p {
        font-size: 1.125em;
        font-size: var(--fsize-18);
        font-weight: 600;
        margin: 0;
    }
    p:not(:first-child) {
        margin: 3em 0 0;
    }
}
@media (min-width: 768px) {
    .topicsDetail-title {
        font-size: 2.25em;
        font-size: var(--fsize-36);
        font-weight: 700;
        margin-top: 0.25em;
        padding: 0 2em;
    }
    .topicsDetail-title::after {
        margin-left: -2em;
        width: calc(100% + 4em);
    }
}

/* お問い合わせ */
.contact-inner {
}
.contact-head {
    background-color: #C43232;
    padding: clamp(2.375em, calc(2.091em + 1.212vw), 3em) 0.625em;
    text-align: center;
}
.contact-title {
    color: #fff;
    font-size: 2.75em;
    font-size: clamp(1.875rem, 1.4773rem + 1.697vw, 2.75rem);
}
.contact-body {
   padding: 0 10px; 
}
.contact-content {
    margin: 0 auto;
    padding-top: 4.5em;
    padding-top: clamp(2.25em, calc(1.227em + 4.364vw), 4.5em);
    max-width: var(--width-content);
}
.contact-msg {
    font-size: 1.0625em;
    font-size: var(--fsize-17);
    margin: 0 auto;
    padding: 0;
    text-align: center;
    width: fit-content;
}
.contact-msg::after {
    background-color: #707070;
    content: "";
    display: block;
    margin: 1em 0 0;
    height: 1px;
    width: 100%;
}
@media (min-width: 768px) {
    .contact-msg {
        padding: 0 2em;
    }
    .contact-msg::after {
        margin: 1em 0 0 -1em;
        height: 1px;
        width: calc(100% + 2em);
    }
}
.contact-form {
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    padding: 0 0 0 10px;
}
.contactForm-row {
    margin: 0;
}
@media (min-width: 768px) {
    .contact-form {
        padding: 0 9%;
    }
    .contactForm-row {
        display: flex;
        margin: 0;
    }
}
.contactForm-row:not(:first-child) {
    margin-top: 2.5em;
}
.cf-head,
.cf-body {
    font-size: 1.0625em;
    line-height: 1.5;
}
.cf-head {
    position: relative;
    p {
        margin: 0;
    }
}
.cf-head.require {
}
.cf-head.require::before {
    color: #C43232;
    content: "*";
    font-size: 0.9em;
    position: absolute;
    left: -.75em;
}
.cf-body {
}
.cf-body input,
.cf-body textarea {
    padding: 3px;
}
.cf-body input[type="text"],
.cf-body input[type="email"],
.cf-body input[type="tel"],
.cf-body textarea {
    border: 1px solid #A7A7A7;
    width: 100%;
}
.cf-body input[type="text"] {
}
.cf-body input[type="text"].zipcode {
    width: 8em;
}
.cf-body input[type="file"] {
}
.cf-body textarea {
    min-height: 10em;
}
@media (min-width: 768px) {
    .cf-head {
        width: 27%;
    }
    .cf-body {
        width: 73%;
    }
}
.input-line {
    p {
        margin: 0;
    }
}
.input-line:first-child {
    margin-top: 5px;
}
.input-line:not(:first-child) {
    margin-top: 10px;
}
@media (min-width: 768px) {
    .input-line:first-child {
        margin-top: 0;
    }
}
.contactForm-check {
    font-size: 0.9375em;
    font-weight: 500;
    margin: 3.5em 0 0;
    text-align: center;
}
.contactForm-check a {
    color: #29353A;
    display: inline-flex;
    gap: .5em;
    margin-right: .5em;
    text-decoration: underline;
}
.contactForm-check a::after {
    aspect-ratio: 1/1;
    background: url(../images/contents/icon_blank.png) no-repeat center center/contain;
    content: "";
    display: block;
    width: 14px;
}
.contact-submit {
    margin-top: 6em;
    margin-top: clamp(3em, calc(1.636em + 5.818vw), 6em);
    text-align: center;
    input {
        background-color: #C43232;
        border: 0;
        border-radius: .7em;
        color: #fff;
        font-size: 1.875em;
        font-size: var(--fsize-30);
        font-weight: 600;
        padding: .75em 2em;
        width: 100%;
        max-width: 430px;
    }
}

/* プライバシーポリシー */
.policy-section {
    padding: 0 10px;
}
.policy-section:first-child {
    border-top: 28px solid #D9D9D9;
}
.policy-content {
    margin: 0 auto;
    padding-top: 5em;
    padding-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    max-width: var(--width-content);
}
.policy-title {
    font-size: 2.625em;
    font-size: var(--fsize-42);
    font-weight: 700;
}
.policy-title::after {
    background-color: #C43232;
    content: "";
    display: block;
    margin: .5em 0 0;
    height: 8px;
    width: 4.5em;
}
.privacypolicy-detail {
    counter-reset: ppnumber 0;
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em)
}
.policyDetail-title {
    font-size: 2.5em;
    font-size: var(--fsize-40);
    font-weight: 700;
    text-align: center;
}
.privacypolicy-item {
    margin: 4em 0 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.privacyPolicy-title {
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-weight: 700;
    position: relative;
    border-left: 4px solid #C43232;
    padding-left: .6em;
}
.privacyPolicy-title::before {
    counter-increment: ppnumber 1;
    content: counter(ppnumber) ".";
}
.privacyPolicy-content {
    p {
        font-size: var(--fsize-16);
        font-weight: 500;
        margin: 1.5em 0 0;
    }
}
.privacyPolicyItem-detail {
    margin: 1.5em 0 0 2.5em;
    dt {
        display: flex;
        align-items: center;
        gap: .5em;
        font-size: var(--fsize-16);
        font-weight: 700;
    }
    dt::before {
        content: "●";
        font-size: .5em;
    }
    dt:not(:first-child) {
        margin-top: 1em;
    }
    ul {
        margin-top: .5em;
    }
    li {
        font-size: var(--fsize-16);
        font-weight: 500;
    }
    p {
        margin: .5em 0 0 1em;
    }
}
.policy-section:nth-child(2) {
    
}
.guide-content {
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
    position: relative;
}
.guide-content::before {
    border-top: 8px dotted #727272;
    content: "";
    display: block;
    width: 45.5%;
    position: absolute;
    top: 0;
}
.guide-item {
    margin-top: 4em;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.guide-item h2 {
    background-color: #EDEDED;
    border-radius: 1em;
    font-size: 1.3125em;
    font-size: var(--fsize-21);
    font-weight: 700;
    padding: .25em 1em;
}
.guide-item p {
    font-size: var(--fsize-16);
    font-weight: 500;
    margin: 1.5em 0 0;
}
.guide-item a {
    color: #29353A;
}
@media (min-width: 768px) {
    .guide-item h2 {
        padding: .25em 2em;
        width: fit-content;
        min-width: 60%;
    }
}
.guide-contact {
    margin: 1em 0 0;
}
.guide-contact dt,
.guide-contact dd {
    font-size: var(--fsize-16);
    font-weight: 500;
}
.guide-contact dt::before {
    content: "【";
    margin-right: .5em;
}
.guide-contact dt::after {
    content: "】";
    margin-left: 0.5em;
}
.sitepolicy-detail {
    margin-top: 5em;
    margin-top: clamp(2.5em, calc(1.364em + 4.848vw), 5em);
}
.sitepolicy-item {
    margin: 4em 0 0;
    margin-top: clamp(2em, calc(1.091em + 3.879vw), 4em);
}
.sitePolicy-title {
    font-size: 1.625em;
    font-size: var(--fsize-26);
    font-weight: 700;
    position: relative;
    border-left: 4px solid #C43232;
    padding-left: .6em;
}
.sitePolicy-content {
    p {
        font-size: var(--fsize-16);
        font-weight: 500;
        margin: 1.5em 0 0;
    }
    ol {
        counter-reset: spnumber 0;
        list-style-type: none;
        margin: 1.5em 0 0;
        padding-left: clamp(0px, calc(-18.182px + 4.848vw), 40px);
    }
    li {
        font-size: var(--fsize-16);
        font-weight: 500;
        margin-top: 1.5em;
        position: relative;
        padding-left: 1.5em;
    }
    li:first-child {
        margin-top: 0;
    }
    li::before {
        counter-increment: spnumber 1;
        content: counter(spnumber) " ）";
        position: absolute;
        left: 0;
    }
}


/* CALL */
.call-action {
    display: flex;
    flex-direction: column;
    gap: 3.5em;
    gap: clamp(1.75em, calc(0.955em + 3.394vw), 3.5em);
    margin-top: 6.875em;
    margin-top: clamp(3.438em, calc(1.875em + 6.667vw), 6.875em);
    padding: 0 10px;
}
@media (min-width: 768px) {
    .call-action {
        gap: 3.5em;
    }
}
.callAction-btn {
    a {
        background-color: #C43232;
        border-radius: 10px;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.5625em;
        font-size: var(--fsize-25);
        font-weight: 600;
        margin: 0 auto;
        padding: .75em;
        text-align: center;
        max-width: 500px;
    }
    a::before {
        aspect-ratio: 36/24;
        background: url(../images/common/icon-mail.png) no-repeat center center/cover;
        content: "";
        display: block;
        margin-right: 1em;
        width: 36px;
    }
}
.callAction-tell {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    dt {
        color: #C43232;
        font-size: 2.125em;
        font-size: clamp(1.25rem, 0.8523rem + 1.697vw, 2.125rem);
        font-weight: 600;
    }
    dd {
    }
}
.callAction-number {
    font-family: "Outfit", sans-serif;
    font-size: 4.1875em;
    font-size: var(--fsize-67);
    font-weight: 500;
    line-height: 1.2;
    margin: 10px 0 0;
}
.callAction-caution {
    font-size: 1.3125em;
    font-size: clamp(0.875rem, 0.6761rem + 0.8485vw, 1.3125rem);
    margin: .5em 0 0;
    text-align: center;
}
.recruit-action .callAction-tell {
    dt {
        color: #29353A;
        font-size: 1.8125em;
        font-size: var(--fsize-29);
    }
}





.caution-list {
    list-style-type: none;
    margin: 1em 0 0;
    padding: 0;
    li {
        font-weight: 500;
        padding-left: 1.5em;
        position: relative;
    }
    li::before {
        content: "※";
        position: absolute;
        left: 0;
    }
}

.gotop {
    position: relative;
    z-index: 100;
}
.gotop a {
    background-color: #29353A;
    color: #fff;
    display: inline-block;
    padding: .5em 1em;
    position: fixed;
    right: 0;
    bottom: 0;

}