@charset "UTF-8";


/* -- font
-------------------------------------------------------------------------------- */
@font-face {
    font-family: 'AquawaxPro';
    src: url('./font/AquawaxPro-ExtraLight.woff2') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'AquawaxPro';
    src: url('./font/AquawaxPro-Medium.woff2') format('woff');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'AquawaxPro';
    src: url('./font/AquawaxPro-DemiBold.woff2') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'AquawaxPro';
    src: url('./font/AquawaxPro-Bold.woff2') format('woff');
    font-weight: bold;
    font-style: normal;
}


/* -- Base and Reset
-------------------------------------------------------------------------------- */
html {
    font-size: 62.5%;
	width: 100%;
}
body {
	font: 1rem/1.5 'AquawaxPro', 'Zen Kaku Gothic New', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	text-align: left;
    color: #282c2e;
	width: 100%;
}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure {
	margin: 0;
	padding: 0;
}
caption,th,td {
	font-weight: normal;
	text-align: left;
}
input,textarea,select {
	font-family: 'AquawaxPro', 'Zen Kaku Gothic New', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
	vertical-align: middle;
}
textarea {
	resize: vertical;
}
h1,h2,h3,h4,h5,h6 { font-size: 100%; }
ul,ol { list-style: none; }
fieldset,img { border: 0; vertical-align: top; }
iframe {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}
input{
    color: #282c2e;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
label{
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a{
    text-decoration:none;
    color:inherit;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:focus{
    outline:none;
}
select::-ms-expand {
    display: none;
}
img{
    pointer-events: none;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-text-size-adjust: 100%;
    -webkit-touch-callout;
}
.jp-font {
	font-family: 'Zen Kaku Gothic New', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Meiryo, メイリオ, sans-serif;
}
.sp-br{
    display: none;
}
@media (max-width: 767px){
    .sp-br{
        display: block;
    }
}
:root {
    --col-bg1: #d53f50;
    --col-bg2: #d53f50;
    --col-bg3: #ffdd02;
    --col-bg4: #555;
    --col-bg5: #a2a7a9;
    --col-bg6: #fbe6e2;
    --col-bg7: #fff5f0;
    --col-bg8: #f0f6f9;
    --mg-xxxl: 16rem;
    --mg-xxl: 12rem;
    --mg-xl: 10rem;
    --mg-l: 8rem;
    --mg-m: 6rem;
    --mg-s: 4.8rem;
    --mg-xs: 4rem;
    --mg-xxs: 3.2rem;
    --mg-xxxs: 2.4rem;
}
@media (max-width: 767px){
    :root {
        --mg-xxxl: 12rem;
        --mg-xxl: 10rem;
        --mg-xl: 8rem;
        --mg-l: 6rem;
        --mg-m: 4.8rem;
        --mg-s: 4rem;
        --mg-xs: 3.2rem;
        --mg-xxs: 2.8rem;
        --mg-xxxs: 2.4rem;
    }
}
@media (max-width: 1600px){
    html {
        font-size: 0.625vw;
    }
}
@media (max-width: 1440px){
    html {
        font-size: 56.25%;
    }
}
@media (max-width: 1200px){
    html {
        font-size: 0.75vw;
    }
}
@media (max-width: 767px){
    html {
        font-size: 56.25%;
    }
}
@media (max-width: 430px){
    html {
        font-size: 2.093023vw;
    }
}


/* -- header
-------------------------------------------------------------------------------- */
header{
    width: 100%;
    height: 9rem;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    transition: background 0.15s ease, transform 0.3s ease;
}
header.min-body-head{
    background: #fff;
    transition: transform 0.3s ease;
}
header.bg,
.scroll-stop header{
    background: #fff;
}
body:not(.nav-open) header.hide{
    transform: translateY(-100%);
}
header .logo{
    display: block;
    height: 4.8rem;
}
header .logo img{
    height: 100%;
}
header .header-inner{
    height: 100%;
    padding: 0 4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
header nav{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
header nav ul,
header .nav-box{
    display: flex;
    align-items: center;
}
header nav li a,
header .nav-box li a{
    font-size: 1.5rem;
    color: var(--col-bg4);
    transition: color 0.1s ease;
}
header nav ul.gnav{
    flex: 1;
    flex-wrap: wrap;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 0.4rem 4rem;
    height: 5.1rem;
    margin-right: 4rem;
}
header nav ul.gnav li{
    white-space: nowrap;
}
header nav ul.gnav li a{
    transition: color 0.1s ease;
}
@media (min-width: 1221px){
    header nav ul.gnav li a:hover{
        color: var(--col-bg1);
    }
}
header .nav-box.tab-show{
    display: none;
    padding-right: 5rem;
}
header .nav-box .box + .box{
    margin-left: 0.8rem;
}
header .nav-box li.box a{
    display: block;
}
header .nav-box li.box a span{
    display: block;
    background: var(--col-bg2);
    font-weight: bold;
    color: #fff;
    padding: 0.1rem 2.4rem 0;
    line-height: 5.1rem;
    border-radius: 4rem;
    transition: transform 0.15s ease;
}
header .nav-box li.box.box-2 a span{
    background: var(--col-bg3);
    color: var(--col-bg4);
}
@media (min-width: 1025px){
    header .nav-box li:not(.box) a:hover{
        color: var(--col-bg1);
    }
    header .nav-box li.box a:hover span{
        transform: scale(0.95);
    }
}
header .nav-btn{
    width: 7rem;
    height: 7rem;
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 200;
    display: none;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
header .nav-btn .bar{
    display: block;
    width: 2.4rem;
    border-top: solid 2px var(--col-bg4);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: 0.3s ease;
}
header .nav-btn .bar.bar-1{
    transform: translate(-50%, calc(-50% - 0.6rem));
    transition-delay: 0.3s;
}
header .nav-btn .bar.bar-2{
    margin-top: 0;
    transition-delay: 0.3s;
}
header .nav-btn .bar.bar-3{
    transform: translate(-50%, calc(-50% + 0.6rem));
    transition-delay: 0.3s;
}
header .nav-btn .bar.bar-4{
    width: 0;
    transform: translate(-50%,-50%) rotate(-45deg);
}
header .nav-btn .bar.bar-5{
    width: 0;
    transform: translate(-50%,-50%) rotate(45deg);
}
.nav-open header .nav-btn .bar.bar-1,
.nav-open header .nav-btn .bar.bar-2,
.nav-open header .nav-btn .bar.bar-3{
    width: 0;
    transition-delay: 0s;
}
.nav-open header .nav-btn .bar.bar-4,
.nav-open header .nav-btn .bar.bar-5{
    width: 2.4rem;
    transition-delay: 0.3s;
}
@media (max-width: 1220px) and (min-width: 1025px) {
    header nav ul.gnav li a:hover{
        color: var(--col-bg5);
    }
}
@media (max-width: 1220px){
    header .nav-box.tab-show{
        display: flex;
    }
    header .nav-btn{
        display: block;
    }
    header nav{
        display: block;
        width: 32rem;
        height: calc(100svh - 9rem);
        padding: 4rem 0;
        position: absolute;
        top: 9rem;
        right: 0;
        background: var(--col-bg4);
        z-index: 100;
        transform: translateX(100%);
        transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    }
    .nav-open header nav{
        transform: translateX(0);
    }
    header nav ul.gnav{
        display: block;
        height: auto;
        margin-right: 0;
        padding: 0 4rem;
    }
    header nav ul.gnav li + li{
        margin-top: 2.4rem;
    }
    header nav ul.gnav li a{
        font-size: 1.7rem;
        color: #fff;
    }
    header nav .nav-box {
        display: block;
        padding: 0 2.4rem;
        margin-top: 4rem;
        border-top: solid 1px rgba(255, 255, 255, 0.15);
        padding-top: 3.2rem;
    }
    header nav .nav-box .box {
        text-align: center;
    }
    header nav .nav-box .box + .box {
        margin-left: 0;
        margin-top: 1.6rem;
    }
    header nav .nav-box li a {
        font-size: 1.8rem;
    }
    header nav .nav-box li.box a span {
        line-height: 6rem;
    }
}
@media (max-width: 767px){
    header .nav-box.tab-show{
        display: none;
    }
    header {
        height: 8rem;
    }
    header .header-inner {
        padding: 0 2rem;
    }
    header nav{
        width: auto;
        height: calc(100svh - 8rem);
        top: 8rem;
    }
    header .logo {
        height: 4.4rem;
    }
    header .nav-box li a {
        font-size: 1.9rem;
    }
    header .nav-box li.box a span {
        padding: 0 0;
        width: 26rem;
        line-height: 6.4444444rem;
        padding-top: 0.1111111rem;
    }
    header .nav-btn{
        width: 6rem;
        height: 6rem;
    }
}


/* -- main
-------------------------------------------------------------------------------- */
main{
    display: block;
    transition: transform 0.3s ease;
}
@media (max-width: 1220px){
    .nav-open main{
        transform: translateX(-32rem);
    }
}
@media (max-width: 767px){
    .nav-open main{
        transform: translateX(-30.8rem);
    }
}


/* -- mv
-------------------------------------------------------------------------------- */
.mv {
    position: relative;
}
.mv::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_mv.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.loaded .mv::before{
    opacity: 1;
}
.mv .section-inner{
    max-width: 120rem;
    margin: 0 auto;
    padding: 9rem 6% var(--mg-l);
    position: relative;
}
.mv .ttl-wrap{
    padding-top: var(--mg-m);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.mv .ttl-item{
}
.mv .ttl{
    font-size: 3.6rem;
    letter-spacing: 0.1em;
}
.mv .ttl > span{
    display: block;
    opacity: 0;
    transform: translateY(3.2rem) rotate(3deg) skewY(3deg);
    transform-origin: top left;
    transition: opacity 1s ease, transform 1s ease;
}
.loaded .mv .ttl > span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
.mv .ttl > span + span{
    margin-top: -0.5em;
    transition-delay: 0.3s;
}
.mv .ttl span span{
    display: inline-block;
    background: #fff;
    padding: 0.9rem 1.2rem 1.1rem 1.6rem;
    position: relative;
}
.mv .sub-ttl{
    width: 100%;
    white-space: nowrap;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 1.2rem;
    color: var(--col-bg1);
    display: flex;
    justify-content: center;
    opacity: 0;
    transform: translateY(-2rem);
    transition: opacity 1s ease, transform 1s ease;
}
.loaded .mv .sub-ttl{
    opacity: 1;
    transform: translateY(0);
}
.mv .sub-ttl > span{
    position: relative;
}
.mv .sub-ttl > span::before,
.mv .sub-ttl > span::after{
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 2.8rem;
    border-left: solid 1px;
    transform: translateY(-1px) rotate(-15deg);
}
.mv .sub-ttl > span::after{
    transform: translateY(-1px) rotate(15deg);
}
.mv .sub-ttl > span span{
    padding: 0 1.2rem 0 1.3rem;
}
.mv .catch{
    font-size: 1.8rem;
    letter-spacing: 0.1em;
}
.mv .catch > span{
    display: block;
    opacity: 0;
    transform: translateY(3.2rem) rotate(3deg) skewY(3deg);
    transform-origin: top left;
    transition: opacity 1s ease, transform 1s ease;
}
.loaded .mv .catch > span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
.mv .catch span + span{
    margin-top: -0.5em;
    transition-delay: 0.3s;
}
.mv .catch span span{
    display: inline-block;
    background: var(--col-bg1);
    color: #fff;
    font-weight: bold;
    padding: 0.9rem 1.2rem 1.1rem 1.4rem;
    position: relative;
}
.mv .car-img{
    width: 100%;
    display: flex;
    justify-content: center;
    margin: var(--mg-m) 0 0.8rem;
}
.mv .car-img li{
    width: 30%;
    margin: 0 -4.8rem;
    opacity: 0;
    transform: translateY(-4.8rem);
    transition: opacity 1s ease, transform 1s ease;
}
.loaded .mv .car-img li{
    opacity: 1;
    transform: translateY(0);
}
.loaded .mv .car-img li:nth-child(2){
    transition-delay: 0.1s;
}
.loaded .mv .car-img li:nth-child(3){
    transition-delay: 0.2s;
}
.loaded .mv .car-img li:nth-child(4){
    transition-delay: 0.3s;
}
.mv .car-img li figure{
    width: 100%;
}
.mv .car-img li figure img{
    width: 100%;
}
.mv .main-ttl,
footer .main-ttl,
.min-body .main-ttl{
    width: 100%;
    font-size: 14rem;
    font-weight: 300;
    line-height: 1;
    color: var(--col-bg1);
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
}
@media (max-width: 1242px){
    .mv .main-ttl{
        font-size: 10vw;
    }
}
.mv .main-ttl > span,
footer .main-ttl > span,
.min-body .main-ttl p > span{
    letter-spacing: 0.3em;
    margin-right: -0.3em;
    display: flex;
}
.mv .main-ttl > span span{
    opacity: 0;
    transform-origin: top left;
    transform: translateY(50%) rotate(3deg) skewY(3deg);
    transition: opacity 1s ease, transform 1s ease;
}
.loaded .mv .main-ttl > span span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
.mv .main-ttl > span:nth-child(1) span:nth-child(2),
.mv .main-ttl-sp .en p:nth-child(1) span:nth-child(2){
    transition-delay: 0.1s;
}
.mv .main-ttl > span:nth-child(1) span:nth-child(3),
.mv .main-ttl-sp .en p:nth-child(1) span:nth-child(3){
    transition-delay: 0.2s;
}
.mv .main-ttl > span:nth-child(3) span:nth-child(2),
.mv .main-ttl-sp .en p:nth-child(2) span:nth-child(2){
    transition-delay: 0.075s;
}
.mv .main-ttl > span:nth-child(3) span:nth-child(3),
.mv .main-ttl-sp .en p:nth-child(2) span:nth-child(3){
    transition-delay: 0.15s;
}
.mv .main-ttl > span:nth-child(3) span:nth-child(4),
.mv .main-ttl-sp .en p:nth-child(2) span:nth-child(4){
    transition-delay: 0.225s;
}
.mv .main-ttl > span:nth-child(3) span:nth-child(5),
.mv .main-ttl-sp .en p:nth-child(2) span:nth-child(5){
    transition-delay: 0.3s;
}
.mv .main-ttl .jp,
footer .main-ttl .jp,
.min-body .main-ttl .jp{
    font-size: 2.1rem;
    font-size: 0.15em;
    letter-spacing: 0.075em;
    font-weight: bold;
    white-space: nowrap;
    overflow: hidden;
    position: relative;
}
.mv .main-ttl .jp span{
    display: block;
    opacity: 0;
    transform: translateY(100%) rotate(10deg) skewY(10deg);
    transform-origin: top left;
    transition: opacity 1s ease, transform 1s ease;
    transition-delay: 0.3s;
}
.loaded .mv .main-ttl .jp span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
.mv .main-ttl-sp{
    display: none;
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    .mv {
        height: 100svh;
        min-height: 85rem;
        max-height: 90rem;
        display: flex;
        align-items: center;
        overflow: hidden;
    }
    .mv::before {
        height: 80%;
        background-image: url(../img/img_mv_sp.jpg);
    }
    .mv .section-inner {
        width: 100%;
        box-sizing: border-box;
        padding: 8rem 5% var(--mg-l);
    }
    .mv .ttl-wrap {
        padding-top: var(--mg-xs);
    }
    .mv .ttl {
        font-size: 2.8rem;
    }
    .mv .sub-ttl {
        font-size: 1.3rem;
    }
    .mv .sub-ttl > span::before,
    .mv .sub-ttl > span::after{
        height: 2.4rem;
    }
    .mv .main-ttl{
        display: none;
    }
    .mv .main-ttl-sp{
        display: block;
        font-size: 8rem;
    }
    .mv .main-ttl-sp .en p{
        overflow: hidden;
    }
    .mv .main-ttl-sp .en span{
        display: block;
        opacity: 0;
        transform-origin: top left;
        transform: translateY(50%) rotate(3deg) skewY(3deg);
        transition: opacity 1s ease, transform 1s ease;
    }
    .loaded .mv .main-ttl-sp .en span{
        opacity: 1;
        transform: translateY(0) rotate(0) skewY(0);
    }
    .mv .main-ttl-sp .jp {
        font-size: 1.6rem;
        text-indent: -0.05em;
        overflow: hidden;
    }
    .mv .main-ttl-sp .jp span {
        display: block;
        opacity: 0;
        transform: translateY(100%) rotate(10deg) skewY(10deg);
        transform-origin: top left;
        transition: opacity 1s ease, transform 1s ease;
        transition-delay: 0.3s;
    }
    .loaded .mv .main-ttl-sp .jp span {
        opacity: 1;
        transform: translateY(0) rotate(0) skewY(0);
    }
    .mv .catch {
        font-size: 1.4rem;
        position: absolute;
        top: 24%;
        right: 5%;
        display: flex;
        flex-direction: row-reverse;
    }
    .mv .catch > span {
        writing-mode: vertical-rl;
    }
    .mv .catch span + span {
        margin-right: -0.5em;
        margin-top: 0;
    }
    .mv .catch span span {
        padding: 1.3rem 1rem 1.2rem 1rem;
    }
    .mv .car-img{
        display: block;
        width: 50vw;
        height: calc(50vw * 0.8);
        max-width: 280px;
        max-height: calc(280px * 0.8);
        margin: var(--mg-s) auto var(--mg-l);
        position: relative;
        transform: translateX(-1.5%);
    }
    .mv .car-img li {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        margin: 0;
    }
    .mv .car-img li figure {
        transform: translateX(-50%);
    }
    .mv .car-img li:nth-child(1) {
        top: 0;
        left: 0;
    }
    .mv .car-img li:nth-child(2) {
        top: 30%;
        left: 33.333333%;
    }
    .mv .car-img li:nth-child(3) {
        top: 64%;
        left: 66.666666%;
    }
    .mv .car-img li:nth-child(4) {
        top: 100%;
        left: 100%;
    }
    .mv .car-img li:nth-child(1) figure img {
        transform: scale(0.85);
    }
    .mv .car-img li:nth-child(2) figure img {
        transform: scale(0.90);
    }
    .mv .car-img li:nth-child(3) figure img {
        transform: scale(0.95);
    }
    .mv .car-img li:nth-child(4) figure img {
        transform: scale(1);
    }
}


/* -- section
-------------------------------------------------------------------------------- */
section.bg{
    background: #f4f5f6;
}
section.bg-img{
    background: #e2e7e9;
    position: relative;
}
section.bg-img::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/img_min_body.jpg) no-repeat center;
    background-size: cover;
    background-attachment: fixed;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0.8;
}
section .section-inner{
    padding: var(--mg-xxxl) 6%;
}
section .section-inner.pb-none{
    padding-bottom: 0;
}
section .section-box{
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
}
section .section-box + .section-box{
    margin-top: var(--mg-xxl);
}
section .section-ttl-wrap{
    margin-bottom: var(--mg-m);
}
section .section-ttl{
    font-size: 3.6rem;
    text-align: center;
    letter-spacing: 0.05em;
    border-bottom: solid 1px rgba(0, 0, 0, 0.15);
    padding-bottom: var(--mg-xxxs);
}
section .section-ttl .jp{
    display: flex;
    justify-content: center;
    overflow: hidden;
    position: relative;
}
section .section-ttl .jp span{
    opacity: 0;
    transform-origin: top left;
    transform: translateY(100%) rotate(10deg) skewY(10deg);
    transition: opacity 1s ease, transform 1s ease;
}
section .section-ttl .jp span:nth-child(2){
    transition-delay: 0.03s;
}
section .section-ttl .jp span:nth-child(3){
    transition-delay: 0.06s;
}
section .section-ttl .jp span:nth-child(4){
    transition-delay: 0.09s;
}
section .section-ttl .jp span:nth-child(5){
    transition-delay: 0.12s;
}
section .section-ttl .jp span:nth-child(6){
    transition-delay: 0.15s;
}
section .section-ttl .jp span:nth-child(7){
    transition-delay: 0.18s;
}
section .section-ttl .jp span:nth-child(8){
    transition-delay: 0.21s;
}
section .section-ttl .jp span:nth-child(9){
    transition-delay: 0.24s;
}
section .section-ttl .jp span:nth-child(10){
    transition-delay: 0.27s;
}
section .section-ttl .jp span:nth-child(11){
    transition-delay: 0.3s;
}
section .section-ttl .jp span:nth-child(12){
    transition-delay: 0.33s;
}
section .section-ttl .jp span:nth-child(13){
    transition-delay: 0.36s;
}
section .section-ttl.show .jp span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
section .section-ttl .en{
    display: flex;
    justify-content: center;
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    font-weight: 600;
    color: var(--col-bg5);
    overflow: hidden;
    position: relative;
}
section .section-ttl .en span{
    display: block;
    opacity: 0;
    transform-origin: top left;
    transform: translateY(100%) rotate(10deg) skewY(10deg);
    transition: opacity 1s ease 0.3s, transform 1s ease 0.3s;
}
section .section-ttl.show .en span{
    opacity: 1;
    transform: translateY(0) rotate(0) skewY(0);
}
section .section-sub-ttl{
    font-size: 2.8rem;
    letter-spacing: 0.05em;
    line-height: 1.75;
}
section .section-sub-ttl.center{
    text-align: center;
}
section .section-sub-ttl .txt{
    display: block;
}
section .section-sub-ttl .txt + .txt{
    margin-top: var(--mg-xxs);
}
section .section-sub-ttl .col{
    color: var(--col-bg1);
}
section .section-sub-ttl .col span{
    display: inline-block;
    font-size: 14rem;
    line-height: 0.85;
    transform: translateY(0.03em);
    margin: 0 0.2rem;
}
section .section-sub-ttl.bg{
    margin-bottom: var(--mg-xxxs);
    font-size: 2.2rem;
    line-height: 1.5;
    background: var(--col-bg6);
    text-align: center;
    padding: 2rem 2.4rem;
    border-radius: 2rem;
}
section .section-lead{
    margin-top: var(--mg-xxs);
}
section .section-lead p{
    font-size: 1.8rem;
    line-height: 1.75;
    text-align: center;
    color: var(--col-bg4);
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    section .section-box + .section-box{
        margin-top: var(--mg-xl);
    }
    section .section-inner {
        padding: var(--mg-xxl) 5%;
    }
    section .section-ttl {
        font-size: 3rem;
    }
    section .section-sub-ttl {
        font-size: 2.2rem;
    }
    section .section-sub-ttl .col span {
        font-size: 12rem;
    }
    section .section-sub-ttl.bg {
        font-size: 2rem;
        padding: 1.6rem 2rem;
        border-radius: 1.2rem;
    }
    section .section-lead.sp-justify p {
        text-align: justify;
    }
    section .section-lead.sp-justify br {
        display: none;
    }
}


/* -- item
-------------------------------------------------------------------------------- */
.link-item{
    display: flex;
    justify-content: center;
    margin-top: var(--mg-s);
    position: relative;
    user-select: none;
}
.link-item a{
    display: block;
}
.link-item a .body{
    display: block;
    padding: 0 3.2rem;
    border-radius: 3rem;
    line-height: 6rem;
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    background: var(--col-bg1);
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.15s ease;
}
@media (min-width: 1025px){
    .link-item a:hover .body{
        transform: scale(0.95);
    }
}
.link-item a .arrow{
    width: 1.2rem;
    height: 1.2rem;
    margin-left: 1.6rem;
}
.arrow{
    overflow: hidden;
    position: relative;
}
.link-item a .arrow svg{
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
}
@media (min-width: 1025px){
    .link-item a:hover .arrow svg{
        animation: svg-arrow 0.3s ease;
    }
}
@keyframes svg-arrow {
    0% {
        transform: translateX(0);
        opacity: 1;
    }
    49% {
        opacity: 1;
    }
    50% {
        transform: translateX(100%);
        opacity: 0;
    }
    51% {
        transform: translateX(-100%);
        opacity: 0;
    }
    52% {
        opacity: 1;
    }
    100% {
        transform: translateX(0%);
        opacity: 1;
    }
}
.circle-link-item{
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 100%;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 2.4rem;
    bottom: 2.4rem;
}
.circle-link-item .arrow{
    width: 1.4rem;
    height: 1.4rem;
}
.circle-link-item .arrow svg{
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--col-bg1);
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
}
.link-panel-item{
    max-width: 96rem;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    gap: 2rem;
}
.link-panel-item.min{
    max-width: 72rem;
}
.link-panel-item li{
    width: 50%;
}
.link-panel-item li.wide{
    width: 100%;
}
.link-panel-item li .link-panel-body{
    height: 100%;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    background: var(--col-bg1);
    padding: 4rem 4rem 4.8rem 4.8rem;
    border-radius: 2rem;
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: transform 0.15s ease;
}
.link-panel-item li .link-panel-body .body{
    flex: 1;
    padding-right: calc(3.2rem + 3.2rem);
    color: #fff;
}
.link-panel-item li .link-panel-body .ttl{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.75;
    white-space: nowrap;
}
.link-panel-item li .link-panel-body .txt{
    font-size: 1.7rem;
    line-height: 1.75;
    margin-top: 1.2rem;
}
.link-panel-item li .link-panel-body span{
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1.75;
}
.link-panel-item li.panel-col-1 .link-panel-body{
    background: var(--col-bg2);
}
.link-panel-item li.panel-col-1 .arrow svg{
    stroke: var(--col-bg2);
}
.link-panel-item li.panel-col-2 .link-panel-body{
    background: var(--col-bg3);
}
.link-panel-item li.panel-col-2 .link-panel-body .body{
    color: var(--col-bg4);
}
.link-panel-item li.panel-col-2 .arrow svg{
    stroke: var(--col-bg4);
}
.link-panel-item li.panel-col-3 .link-panel-body{
    background: var(--col-bg6);
}
.link-panel-item li.panel-col-3 .arrow svg{
    stroke: var(--col-bg6);
}
@media (min-width: 1025px){
    .link-panel-item li a:hover .link-panel-body,
    .link-panel-item li .page-link:hover .link-panel-body{
        transform: scale(0.97);
    }
    .link-panel-item li a:hover .arrow svg,
    .link-panel-item li .page-link:hover .arrow svg{
        animation: svg-arrow 0.3s ease;
    }
}
.link-panel-item .page-link{
    display: inline;
}
.link-panel-item .link-panel-body.img-panel{
    align-items: stretch;
    padding: 0;
    position: relative;
}
.link-panel-item .link-panel-body.img-panel figure{
    width: 18rem;
    height: 100%;
    box-sizing: border-box;
    padding: 0.8rem 0 0.8rem 0.8rem;
}
.link-panel-item .link-panel-body.img-panel figure span{
    display: block;
    height: 100%;
    border-radius: 1.2rem;
    overflow: hidden;
    position: relative;
}
.link-panel-item .link-panel-body.img-panel figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.link-panel-item .link-panel-body.img-panel .body{
    padding: 4.8rem;
    display: flex;
    align-items: center;
}
.link-panel-item .link-panel-body.img-panel .body span span{
    display: block;
    font-size: 1.8rem;
}
.link-panel-item li:not(.wide) .link-panel-body.img-panel .circle-link-item{
    width: 3.4rem;
    height: 3.4rem;
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
}
.link-panel-item li:not(.wide) .link-panel-body.img-panel .circle-link-item .arrow {
    width: 1.2rem;
    height: 1.2rem;
}
.link-panel-item .page-link .link-panel-body.img-panel .circle-link-item .arrow {
    transform: rotate(90deg);
}
.link-panel-item .wide .link-panel-body.img-panel figure{
    width: 28rem;
}
.link-panel-item .wide .link-panel-body.img-panel .body{
    padding: 6rem calc(7.2rem + 4rem) 6rem 6rem;
}
.lead-item p{
    font-size: 1.7rem;
    line-height: 1.75;
    text-align: justify;
    color: var(--col-bg4);
}
.lead-item p + p{
    margin-top: 1em;
}
.list-item li{
    font-size: 1.7rem;
    color: var(--col-bg4);
    line-height: 1.75;
    padding-left: 1.2em;
    position: relative;
}
.list-item li::before{
    content: "";
    display: block;
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 100%;
    background: var(--col-bg1);
    position: absolute;
    top: 0.6em;
    left: 1px;
}
.list-item li + li{
    margin-top: 0.6rem;
}
.list-item li b{
    color: var(--col-bg1);
}
.plan-item{
    margin-top: var(--mg-xs);
}
.plan-item ul{
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.plan-item li{
    font-size: 1.6rem;
    color: var(--col-bg4);
    font-weight: bold;
    width: calc(50% - 0.5rem);
    background: var(--col-bg7);
    box-sizing: border-box;
    padding: 2rem 0;
    border-radius: 1.2rem;
    text-align: center;
}
.plan-item li b{
    color: var(--col-bg1);
}
.plan-item li span:not(.note){
    display: inline-block;
    width: 0.33em;
}
.plan-item li .note{
    display: inline-block;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.85rem;
    color: var(--col-bg4);
    transform: translateY(-1px);
}
.table-item{
    border: solid 2px var(--col-bg5);
    border-radius: 2rem;
    overflow: hidden;
    position: relative;
}
.table-item table{
    border-collapse: collapse;
    width: 100%;
}
.table-item table th,
.table-item table td{
    width: 29%;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    color: var(--col-bg4);
    padding: 2.4rem 2rem;
    text-align: center;
    background: #fff;
    border-top: solid 1px #e0e0e0;
    border-left: solid 1px #e0e0e0;
}
.table-item table tr:first-child th,
.table-item table tr:first-child td{
    border-top: none;
}
.table-item table th:nth-child(1),
.table-item table td:nth-child(1){
    width: 13%;
    border-left: none;
}
.table-item table thead th{
    padding: 2rem 2rem;
    font-size: 1.7rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: var(--col-bg8);
    border-top: none;
    border-bottom: solid 1px #e0e0e0;
}
.table-item table tbody + thead th:nth-child(1){
    border-top: solid 1px #e0e0e0;
}
.table-item table thead .col{
    background: var(--col-bg1);
    color: #fff;
}
.table-item table tbody .col{
    color: var(--col-bg1);
}
.table-item table tbody .bold{
    font-weight: bold;
    background: var(--col-bg7);
}
.table-item table tbody .left{
    text-align: left;
}
.table-item table tbody th{
    font-weight: bold;
    background: #fafafa;
}
.table-item table tbody span:not(.col){
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0;
    font-weight: normal;
    margin-top: 0.4rem;
}
.table-item .list-item li {
    font-size: 1.6rem;
    line-height: 1.5;
    padding-left: 1em;
}
.table-item .list-item li::before {
    width: 0.5rem;
    height: 0.5rem;
    top: 0.5em;
}
.figure-item{
    background: #f0f0f0;
    margin-top: var(--mg-l);
}
.speech-item{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: var(--mg-l);
    margin-bottom: var(--mg-xxxs);
}
.speech-item:first-child{
    margin-top: 0;
}
.speech-item .speech-item-inner{
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--col-bg1);
    border-radius: 4rem;
    padding: 2.8rem 3.6rem 2.8rem 4rem;
    margin-bottom: 3.2rem;
    position: relative;
}
.speech-item .speech-item-inner::after{
    content: "";
    display: block;
    border-right: solid 3.3rem var(--col-bg1);
    border-bottom: solid 3.3rem transparent;
    position: absolute;
    bottom: -3.2rem;
    left: 10rem;
}
.speech-item.reverse .speech-item-inner::after{
    border-left: solid 3.3rem var(--col-bg1);
    border-right: none;
    right: 10rem;
    left: auto;
}
.speech-item p{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 2;
    color: #fff;
    flex: 1;
}
.speech-item figure{
    width: 12rem;
    height: 12rem;
    background: var(--col-bg7);
    border-radius: 100%;
    margin-right: 4rem;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
}
.speech-item figure.speech-1{
    padding: 1.2rem 1.4rem 2.4rem;
}
.speech-item figure.speech-3{
    padding: 0.8rem 1.2rem 1.2rem;
}
.speech-item figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.panel-list-item ul{
    display: flex;
    gap: 2rem;
}
.panel-list-item ul li{
    width: calc(100% / 3);
}
.panel-list-item .body{
    height: 100%;
    background: #f4f5f6;
    border-radius: 2rem;
    box-sizing: border-box;
    padding: 4rem 3.2rem;
}
.panel-list-item figure{
    width: 100%;
    box-sizing: border-box;
    padding: 0 2rem;
}
.panel-list-item figure img{
    width: 100%;
}
.panel-list-item dl{
    margin-top: var(--mg-xxs);
    text-align: center;
}
.panel-list-item dl dt{
    font-size: 2rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    line-height: 1.75;
}
.panel-list-item dl dt span{
    color: var(--col-bg1);
}
.panel-list-item dl dd{
    font-size: 1.6rem;
    line-height: 1.75;
    color: var(--col-bg4);
    margin-top: 0.8rem;
}
.panel-list-item dl dd .note{
    display: block;
    font-size: 1.3rem;
    line-height: 1.5;
    margin-top: 0.8rem;
}
.box-data-list-item{
}
.box-data-list-item ul{
    display: flex;
    width: 100%;
    gap: 2rem;
}
.box-data-list-item li{
    flex: 1;
}
.box-data-list-item li .body{
    background: #f4f5f6;
    border-radius: 2rem;
    padding: 3.2rem 3.2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    box-sizing: border-box;
}
.box-data-list-item li .body .body-inner{
    display: flex;
    justify-content: space-between;
    color: var(--col-bg1);
    font-weight: 600;
    text-align: center;
}
.box-data-list-item li .body p .ttl{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
}
.box-data-list-item li .body p .num{
    display: block;
    font-size: 3.2rem;
    letter-spacing: 0.02em;
    line-height: 1.25;
}
.box-data-list-item li dl{
    margin-top: 0.8rem;
}
.box-data-list-item li figure{
    width: 10rem;
    height: 10rem;
    background: #fff;
    padding: 2.2rem;
    box-sizing: border-box;
    border-radius: 100%;
    margin: 0 0 0 auto;
}
.box-data-list-item li figure img{
    width: 100%;
}
.box-data-list-item dt{
    font-size: 2.2rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.75;
    color: var(--col-bg1);
    display: flex;
    align-items: flex-end;
}
.box-data-list-item dd{
    font-size: 1.7rem;
    line-height: 1.75;
    color: var(--col-bg4);
    white-space: nowrap;
    margin-top: 0.8rem;
}
.attention-item{
    display: flex;
}
.attention-item dl{
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0.02em;
    background: #fff;
    padding: 1.2rem 2rem 1.2rem 1.6rem;
    border-radius: 4rem;
}
.attention-item dt{
    width: 2.4rem;
    height: 2.3rem;
    font-size: 1.6rem;
    line-height: 2.3rem;
    padding-top: 0.1rem;
    font-weight: bold;
    background: #fff;
    border: solid 2px;
    text-align: center;
    border-radius: 100%;
    color: var(--col-bg1);
    margin-right: 1.2rem;
}
.note-item{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    margin-top: 2rem;
}
.note-item .note{
    font-size: 1.4rem;
    line-height: 1.75;
    color: var(--col-bg4);
    display: flex;
    gap: 0.4rem;
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    section.bg-img::before{
        background-attachment: scroll;
    }
    .panel-list-item ul {
        display: block;
    }
    .panel-list-item ul li {
        width: 100%;
    }
    .panel-list-item ul li + li {
        margin-top: 2rem;
    }
    .panel-list-item figure{
        padding: 0 4rem;
    }
    .circle-link-item {
        width: 4rem;
        height: 4rem;
        right: 2rem;
        bottom: 2rem;
    }
    .circle-link-item .arrow {
        width: 1.2rem;
        height: 1.2rem;
    }
    .speech-item .speech-item-inner::after {
        border-right: solid 2.5rem var(--col-bg1);
        border-bottom: solid 2.5rem transparent;
        bottom: -2.4rem;
        left: 8rem;
    }
    .speech-item.reverse .speech-item-inner::after {
        right: 8rem;
    }
    .speech-item .speech-item-inner {
        padding: 2.4rem 2rem 2.4rem 2.8rem;
        margin-bottom: 2.4rem;
    }
    .speech-item figure {
        width: 9rem;
        height: 9rem;
        margin-right: 2.4rem;
    }
    .speech-item figure.speech-1 {
        padding: 1rem 1.2rem 2rem;
    }
    .speech-item p {
        font-size: 1.7rem;
    }
    .plan-item ul {
        display: block;
    }
    .plan-item li {
        font-size: 1.7rem;
        width: 100%;
    }
    .plan-item li + li {
        margin-top: 1rem;
    }
    .link-panel-item{
        display: block;
    }
    .link-panel-item li {
        width: 100%;
    }
    .link-panel-item li + li {
        margin-top: 2rem;
    }
    .link-panel-item .link-panel-body.img-panel figure {
        width: 16rem;
    }
    .link-panel-item .link-panel-body.img-panel .body {
        padding: 2.4rem 4rem;
    }
    .link-panel-item li .link-panel-body span {
        font-size: 2rem;
        white-space: nowrap;
    }
    .link-panel-item li:not(.wide) .link-panel-body.img-panel .circle-link-item {
        right: 1.2rem;
        bottom: 1.2rem;
    }
    .link-panel-item li .link-panel-body:not(.img-panel){
        height: auto;
        display: block;
        padding: 3.2rem 3.2rem 3.2rem 4rem;
    }
    .link-panel-item .wide .link-panel-body.img-panel {
        display: block;
    }
    .link-panel-item .wide .link-panel-body.img-panel figure {
        width: 100%;
        padding: 0.8rem 0.8rem 0;
    }
    .link-panel-item .wide .link-panel-body.img-panel figure span{
        height: auto;
        padding-top: 56.25%;
        position: relative;
    }
    .link-panel-item .wide .link-panel-body.img-panel figure span img{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    .link-panel-item li .link-panel-body .body {
        padding-right: calc(2.8rem + 2rem);
    }
    .link-panel-item .wide .link-panel-body.img-panel .body {
        padding: 3.2rem calc(6rem + 2rem) 4.8rem 4rem;
    }
    .link-panel-item.min {
        max-width: 40rem;
    }
    .box-data-list-item ul {
        display: block;
    }
    .box-data-list-item li {
        width: 100%;
    }
    .box-data-list-item li + li {
        margin-top: 2rem;
    }
    .box-data-list-item li::before {
        font-size: 2.8rem;
    }
    .box-data-list-item li .body {
        padding: 2.4rem 2.4rem;
    }
    .table-item table thead th{
        padding: 1.6rem 1.6rem;
        font-size: 1.6rem;
    }
    .table-item table th, 
    .table-item table td {
        font-size: 1.6rem;
        padding: 2rem 1.6rem;
    }
    .table-item table td br {
        display: none;
    }
    .table-item.sp-scroll{
        overflow: auto;
    }
    .table-item.sp-scroll table{
        width: 175%;
    }
}


/* -- car-list
-------------------------------------------------------------------------------- */
.car-list-wrap{
    overflow: hidden;
}
.car-list{
    position: relative;
}
.car-list ul{
    display: flex;
    margin-left: -1rem;
    margin-right: -1rem;
}
.car-list ul li{
    width: calc(100% / 4);
    box-sizing: border-box;
    padding: 0 1rem;
}
.car-list.swiper{
    margin-left: -6vw;
    margin-right: -6vw;
    padding: 0 calc(6vw - 2rem) 0 6vw;
    position: relative;
}
.car-list.swiper ul{
}
.car-list.swiper ul li{
}
.car-list.swiper ul li + li{
}
.car-list .car-list-item{
    display: block;
}
.car-list .car-list-item .body{
    background: #fff;
    overflow: hidden;
    border-radius: 2rem;
    position: relative;
    transition: transform 0.15s ease;
}
.car-list .car-list-item figure{
    width: 100%;
    padding-top: 66.666666%;
    position: relative;
}
.car-list .car-list-item figure span{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.car-list .car-list-item figure span::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: #e9eaeb;
    background: url(../img/img_car_bg.jpg) no-repeat center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    mix-blend-mode: darken;
    opacity: 0.85;
}
.car-list .car-list-item figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    box-sizing: border-box;
    padding: 2rem;
}
.car-list .car-list-item .txt-item{
    padding: 3.2rem;
}
.car-list .car-list-item .manufacturer{
    display: block;
    font-size: 1.6rem;
}
.car-list .car-list-item .car-name{
    display: block;
    font-size: 2.4rem;
}
.car-list .car-list-item .price-wrap{
    margin-top: 2rem;
}
.car-list .car-list-item .price-wrap .txt{
    font-size: 1.5rem;
    color: var(--col-bg4);
}
.car-list .car-list-item .price-wrap .price{
    font-size: 1.6rem;
    margin-top: 0.4rem;
}
.car-list .car-list-item .price-wrap .price span{
    font-size: 2.4rem;
    letter-spacing: 0.02em;
    line-height: 1.25;
    font-weight: bold;
    color: var(--col-bg1);
    margin-right: 0.1em;
}
.car-list .car-list-item .circle-link-item{
    width: 4rem;
    height: 4rem;
    background: var(--col-bg1);
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
}
.car-list .car-list-item .circle-link-item{
    width: 4rem;
    height: 4rem;
    background: var(--col-bg2);
    position: absolute;
    right: 1.6rem;
    bottom: 1.6rem;
}
.car-list .car-list-item .circle-link-item .arrow{
    width: 1.2rem;
    height: 1.2rem;
}
.car-list .car-list-item .circle-link-item .arrow svg{
    stroke: #fff;
}
@media (min-width: 1025px){
    .car-list .car-list-item:hover .body{
        transform: scale(0.97);
    }
    .car-list .car-list-item:hover .arrow svg{
        animation: svg-arrow 0.3s ease;
    }
}
@media (max-width: 767px){
}


/* -- swiper
-------------------------------------------------------------------------------- */
.swiper{
    overflow: hidden;
}
.swiper .swiper-wrapper .swiper-slide{
    flex-shrink: 0;
}
.swiper-button-wrap{
    display: flex;
    padding: 0.6rem;
    background: #fff;
    border-radius: 3rem;
    position: absolute;
    top: 0;
    right: 0;
}
.swiper-button{
    display: block;
    width: 4.8rem;
    height: 4.8rem;
    border-radius: 100%;
    background: var(--col-bg4);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: background 0.15s ease;
}
.swiper-button.swiper-button-disabled{
    background: var(--col-bg5);
}
.swiper-button + .swiper-button{
    margin-left: 0.8rem;
}
.swiper-button .arrow {
    display: block;
    width: 1.2rem;
    height: 1.2rem;
}
.swiper-button.swiper-button-prev .arrow {
    transform: scale(-1,1);
}
.swiper-button .arrow svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
}
@media (min-width: 1025px){
    .swiper-button:not(.swiper-button-disabled):hover .arrow svg{
        animation: svg-arrow 0.3s ease;
    }
}
@media (max-width: 767px){
    .swiper-button-wrap{
        display: none;
    }
}


/* -- merit
-------------------------------------------------------------------------------- */
.merit-wrap .merit{
    background: #fff;
    border-radius: 3.2rem;
}
.merit-wrap .merit + .merit{
    margin-top: var(--mg-xxxs);
}
.merit-wrap .merit figure{
    display: block;
    width: 40%;
    background: var(--col-bg8);
    box-sizing: border-box;
    padding: 4rem 4.8rem;
    border-radius: 2rem;
    overflow: hidden;
}
.merit-wrap .merit figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.merit-wrap .merit .body{
    padding: 4rem;
}
.merit-wrap .merit .body .body-inner{
    display: flex;
    align-items: center;
}
.merit-wrap .merit .txt-wrap{
    flex: 1;
    padding: 2rem 4rem 2rem 8rem;
}
.merit-wrap .merit:nth-child(odd) .body .body-inner{
    flex-direction: row-reverse;
}
.merit-wrap .merit:nth-child(odd) .txt-wrap{
    padding: 2rem 8rem 2rem 4rem;
}
.merit-wrap .ttl{
    display: flex;
}
.merit-wrap .ttl .number{
    display: block;
    font-size: 1.8rem;
    font-weight: 600;
    width: 4rem;
    height: 4rem;
    background: var(--col-bg1);
    border-radius: 100%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2rem;
    transform: translateY(-0.2rem);
}
.merit-wrap .ttl .number span{
    display: block;
    transform: translateY(1px);
}
.merit-wrap .ttl .txt{
    flex: 1;
    display: block;
    font-size: 2.6rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
.merit-wrap .ttl .txt sup{
    font-size: 1.5rem;
    line-height: 0;
}
.merit-wrap .lead-item,
.merit-wrap .list-item{
    margin-top: var(--mg-xxs);
}
.merit-wrap .note-item + .list-item{
    margin-top: 2rem;
}
.merit-wrap .merit .body .merit-content-wrap{
    margin-top: var(--mg-xs);
}
.merit-wrap .merit .body .merit-content-wrap + .merit-content-wrap{
    margin-top: 2.4rem;
}
.merit-wrap .merit .body .merit-content-wrap.flex{
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    align-items: stretch;
    gap: 2.4rem;
}
.merit-wrap .merit-content{
    width: 100%;
    box-sizing: border-box;
    padding: 4rem;
    background: #f4f5f6;
    border-radius: 2rem;
}
.merit-wrap .merit .body .merit-content-wrap.flex .merit-content{
    width: 50%;
}
.merit-wrap .merit-content .ttl{
    font-size: 2rem;
    letter-spacing: 0.05em;
    color: var(--col-bg1);
    display: flex;
}
.merit-wrap .merit-content .ttl span{
    border-bottom: solid 1px;
}
.merit-wrap .merit-content .attention-item{
    margin-top: var(--mg-xxs);
}
.merit-wrap .details-describe{
    margin-top: var(--mg-xs);
    margin-bottom: var(--mg-xs);
    display: flex;
    justify-content: space-between;
}
.merit-wrap .details-describe .arrow-wrap{
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.merit-wrap .details-describe .arrow-wrap .arrow{
    width: 3.6rem;
    height: 2.4rem;
}
.merit-wrap .details-describe .arrow-wrap .arrow svg{
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--col-bg1);
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
}
.merit-wrap .details-describe .describe-item{
    background: var(--col-bg6);
    padding: 2rem;
    border-radius: 2.4rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}
.merit-wrap .details-describe .describe-item.item-1{
    width: calc(27% - 3.2rem);
}
.merit-wrap .details-describe .describe-item.item-2{
    width: calc(73% - 3.2rem);
}
.merit-wrap .details-describe .describe-item .ttl{
    font-size: 1.8rem;
    justify-content: center;
    margin-bottom: 2rem;
}
.merit-wrap .details-describe .describe-item .describe-item-inner{
    display: flex;
    justify-content: space-between;
}
.merit-wrap .details-describe .describe-item .describe-item-box{
    background: #fff;
    padding: 2.4rem;
    box-sizing: border-box;
    border-radius: 1.2rem;
    flex: 1;
}
.merit-wrap .details-describe .describe-item .describe-item-inner .describe-item-box{
    width: calc(50% - 0.6rem);
    flex: none;
}
.merit-wrap .details-describe .describe-item dl{
    text-align: center;
}
.merit-wrap .details-describe .describe-item .ico {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0 1.2rem;
    margin: 3.2rem auto 0;
}
.merit-wrap .details-describe .describe-item .ico img {
    width: 100%;
}
.merit-wrap .details-describe .describe-item .border{
    display: block;
    border-top: 2px dotted #b5b5b5;
    margin: 2.4rem 0 2.8rem;
    position: relative;
}
.merit-wrap .details-describe .describe-item .border .arrow{
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    background: #fff;
    padding: 0.8rem;
    transform: rotate(90deg);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%) rotate(90deg);
}
.merit-wrap .details-describe .describe-item .border .arrow svg{
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--col-bg1);
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
}
.merit-wrap .details-describe .describe-item dt{
    display: block;
    font-size: 1.4rem;
    letter-spacing: 0.05em;
    color: var(--col-bg4);
}
.merit-wrap .details-describe .describe-item dd{
    display: block;
    font-size: 1.6rem;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-top: 0.6rem;
}
.merit-wrap .details-describe .describe-item dd span:not(.col){
    font-size: 2em;
    letter-spacing: 0.02em;
    line-height: 1;
    color: var(--col-bg1);
}
.merit-wrap .details-describe .describe-item dd span.col{
    color: var(--col-bg1);
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    .merit-wrap .merit .body {
        padding: 1.2rem 1.2rem;
    }
    .merit-wrap .merit .body .body-inner {
        display: block;
    }
    .merit-wrap .merit figure {
        width: 100%;
        padding: 4rem 4.8rem;
    }
    .merit-wrap .ttl .number {
        font-size: 1.6rem;
        width: 3.6rem;
        height: 3.6rem;
        margin-right: 1.6rem;
        transform: translateY(-0.1rem);
    }
    .merit-wrap .ttl .txt {
        font-size: 2.2rem;
    }
    .merit-wrap .merit .txt-wrap,
    .merit-wrap .merit:nth-child(odd) .txt-wrap {
        padding: 2.4rem 2rem;
        margin-top: 1.2rem;
    }
    .merit-wrap .merit-content {
        padding: 3.2rem 3.2rem;
    }
    .merit-wrap .merit .body .merit-content-wrap.flex {
        display: block;
    }
    .merit-wrap .merit .body .merit-content-wrap.flex .merit-content {
        width: 100%;
        padding: 3.2rem 3.2rem 4rem;
    }
    .merit-wrap .merit .body .merit-content-wrap.flex .merit-content + .merit-content {
        margin-top: 2.4rem;
    }
    .merit-wrap .merit .body .merit-content-wrap {
        margin-top: var(--mg-xxxs);
    }
    .merit-wrap .details-describe {
        display: block;
    }
    .merit-wrap .details-describe .describe-item.item-1 {
        width: 100%;
    }
    .merit-wrap .details-describe .describe-item.item-2 {
        width: 100%;
    }
    .merit-wrap .details-describe .describe-item .describe-item-inner {
        display: block;
    }
    .merit-wrap .details-describe .describe-item {
        padding: 1.6rem 1.2rem 1.2rem;
    }
    .merit-wrap .details-describe .describe-item .ttl {
        margin-bottom: 1.6rem;
    }
    .merit-wrap .details-describe .describe-item .describe-item-box{
        border-radius: 1.6rem;
    }
    .merit-wrap .details-describe .describe-item .describe-item-inner .describe-item-box {
        width: 100%;
    }
    .merit-wrap .details-describe .describe-item .describe-item-inner .describe-item-box + .describe-item-box {
        margin-top: 1.2rem;
    }
    .merit-wrap .details-describe .describe-item .ico {
        padding: 0 4rem;
        margin: 2.4rem auto 0.8rem;
    }
    .merit-wrap .details-describe .arrow-wrap {
        padding: 2rem 0;
    }
    .merit-wrap .details-describe .arrow-wrap .arrow {
        transform: rotate(90deg);
    }
}


/* -- faq-wrap
-------------------------------------------------------------------------------- */
.faq-wrap {
}
.faq-wrap .faq-item dl {
}
.faq-wrap .faq-item dl + dl {
    padding-top: var(--mg-s);
    margin-top: var(--mg-s);
    border-top: solid 1px rgba(0, 0, 0, 0.15);
}
.faq-wrap .faq-item dt {
    display: flex;
    align-items: center;
    position: relative;
    padding-right: 8rem;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.faq-wrap .faq-item dt .q {
    font-size: 2rem;
    font-weight: 600;
    width: 4.8rem;
    height: 4.8rem;
    background: var(--col-bg1);
    color: #fff;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.faq-wrap .faq-item dt .txt {
    flex: 1;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.75;
    letter-spacing: 0.05em;
    padding-left: 3.2rem;
}
.faq-wrap .faq-item dt .trigger {
    width: 4.8rem;
    height: 4.8rem;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.15s ease;
}
.faq-wrap .faq-item dt .trigger::before,
.faq-wrap .faq-item dt .trigger::after {
    content: "";
    display: block;
    width: 2.4rem;
    border-top: solid 3px var(--col-bg4);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    transition: transform 0.3s ease, border 0.15s ease;
}
.faq-wrap .faq-item dt .trigger::after {
    transform: translate(-50%,-50%) rotate(-90deg);
}
.faq-wrap .faq-item dl.active dt .trigger{
    transform: translateY(-50%) rotate(90deg);
}
.faq-wrap .faq-item dl.active dt .trigger::before {
    transform: translate(-50%,-50%) rotate(90deg);
}
@media (min-width: 1025px){
    .faq-wrap .faq-item dl:hover dt .trigger{
        transform: translateY(-50%) rotate(90deg);
    }
    .faq-wrap .faq-item dl:hover dt .trigger::before,
    .faq-wrap .faq-item dl:hover dt .trigger::after{
        border-color: var(--col-bg1);
    }
}
.faq-wrap .faq-item dd {
    padding-top: 2rem;
    padding-left: 8rem;
    display: none;
}
.faq-wrap .faq-item dd p:not(.note) {
    font-size: 1.7rem;
    line-height: 1.75;
    color: var(--col-bg4);
}
.faq-wrap .faq-item dd p:not(.note) + p:not(.note) {
    margin-top: 1em;
}
.faq-wrap .faq-item dd sup{
    line-height: 1;
}
.faq-wrap .faq-item dd p + .list-item{
    margin-top: var(--mg-xxxs);
}
.faq-wrap .faq-item dd .list-item.num ul{
    list-style-type: decimal;
    padding-left: 3.4em;
}
.faq-wrap .faq-item dd .list-item.num li{
    padding-left: 0;
}
.faq-wrap .faq-item dd .list-item.num li b{
    color: #333;
}
.faq-wrap .faq-item dd .list-item.num li::before{
    display: none;
}
.faq-wrap .faq-item dd .list-item.num li .note {
    font-size: 1.4rem;
    line-height: 1.75;
    color: var(--col-bg4);
    display: flex;
    gap: 0.4rem;
    margin-top: 1.2rem;
}
@media (max-width: 767px){
    .faq-wrap .faq-item dt {
        padding-right: 4.8rem;
    }
    .faq-wrap .faq-item dt .q {
        font-size: 1.6rem;
        width: 4rem;
        height: 4rem;
    }
    .faq-wrap .faq-item dt .txt {
        font-size: 1.8rem;
        padding-left: 2rem;
    }
    .faq-wrap .faq-item dt .trigger {
        width: 4rem;
        height: 4rem;
    }
    .faq-wrap .faq-item dt .trigger::before, 
    .faq-wrap .faq-item dt .trigger::after {
        width: 2rem;
        border-top: solid 2px var(--col-bg4);
    }
    .faq-wrap .faq-item dd {
        padding-left: 6rem;
    }
}


/* -- step-wrap
-------------------------------------------------------------------------------- */
.step-wrap {
}
.step-wrap .step-item {
    max-width: 72rem;
    border-radius: 4rem;
    margin: 0 auto;
}
.step-wrap .step-item .step-item-body {
    position: relative;
}
.step-wrap .step-item .step-item-body::before{
    content: "";
    display: block;
    border-left: dotted 2px var(--col-bg5);
    margin-left: -1px;
    position: absolute;
    top: 7rem;
    bottom: 7rem;
    left: 7rem;
}
.step-wrap .step-item dl{
    display: flex;
    align-items: center;
    gap: 0 6rem;
    position: relative;
}
.step-wrap .step-item dl + dl{
    margin-top: var(--mg-l);
}
.step-wrap .step-item dt{
    font-size: 2rem;
    font-weight: 600;
    width: 14rem;
    height: 14rem;
    border-radius: 100%;
    background: #fff;
    border: solid 1px;
    color: var(--col-bg1);
    display: flex;
    justify-content: center;
    align-items: center;
}
.step-wrap .step-item dd{
    flex: 1;
}
.step-wrap .step-item dd .ttl{
    font-size: 2.4rem;
    letter-spacing: 0.1em;
    line-height: 1.75;
    margin-bottom: 1.6rem;
}
.step-wrap .step-item dd .ttl span{
    font-weight: normal;
}
.step-wrap .step-item dd p{
    font-size: 1.7rem;
    line-height: 1.75;
    text-align: justify;
    color: var(--col-bg4);
}
.step-wrap .step-item dd p + p{
    margin-top: 1em;
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    .step-wrap .step-item dl {
        gap: 0 3.2rem;
    }
    .step-wrap .step-item dl + dl {
        margin-top: var(--mg-m);
    }
    .step-wrap .step-item dt {
        font-size: 1.5rem;
        width: 9rem;
        height: 9rem;
    }
    .step-wrap .step-item dd .ttl {
        font-size: 2rem;
        letter-spacing: 0.05em;
        margin-bottom: 1.2rem;
    }
    .step-wrap .step-item .step-item-body::before {
        top: 9rem;
        bottom: 9rem;
        left: 4.5rem;
    }
}


/* -- breadcrumbs
-------------------------------------------------------------------------------- */
.breadcrumbs {
    padding: 9rem 6% 1.6rem;
    background: #f4f5f6;
}
.breadcrumbs ul {
    padding-top: var(--mg-xxxs);
    display: flex;
}
.breadcrumbs li {
    font-size: 1.4rem;
}
.breadcrumbs li + li {
}
.breadcrumbs li + li::before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    width: 0.5rem;
    height: 0.5rem;
    border-top: solid 1px var(--col-bg4);
    border-right: solid 1px var(--col-bg4);
    transform: rotate(45deg);
    margin: -0.4rem 1.2rem 0 0.9rem;
}
.breadcrumbs li a {
    display: inline-block;
    color: var(--col-bg4);
    transition: color 0.1s ease;
}
@media (min-width: 1025px){
    .breadcrumbs li a:hover {
        color: var(--col-bg1);
    }
}
.breadcrumbs li p {
    display: inline-block;
    color: var(--col-bg5);
}


/* -- lineup
-------------------------------------------------------------------------------- */
.lineup .section-inner{
    padding-top: 0;
}
.lineup .section-box {
    max-width: none;
}
.lineup .section-ttl{
    font-size: 4rem;
    padding-top: var(--mg-xs);
}
.lineup .car-list ul {
    flex-wrap: wrap;
    margin: -2rem -1rem 0;
}
.lineup .car-list li {
    width: calc(100% / 4);
    padding: 2rem 1rem 0;
}
@media (max-width: 1400px){
    .lineup .car-list li {
        width: calc(100% / 3);
    }
}
@media (min-width: 1025px){
}
@media (max-width: 767px){
    .breadcrumbs {
        padding: 8rem 5% 1.6rem;
    }
    .breadcrumbs ul {
        padding-top: 0.8rem;
    }
    .lineup .section-ttl{
        font-size: 3.2rem;
        padding-top: var(--mg-xs);
    }
    .lineup .car-list ul {
        margin: -1rem -0.6rem 0;
    }
    .lineup .car-list li {
        width: calc(100% / 2);
        padding: 1rem 0.6rem 0;
    }
    .lineup .car-list .car-list-item .body {
        border-radius: 1.2rem;
    }
    .lineup .car-list .car-list-item .manufacturer {
        font-size: 1.5rem;
    }
    .lineup .car-list .car-list-item figure img {
        padding: 1.2rem;
    }
    .lineup .car-list .car-list-item .txt-item {
        padding: 1.6rem 1.6rem;
    }
    .lineup .car-list .car-list-item .car-name {
        font-size: 2rem;
    }
    .lineup .car-list .car-list-item .price-wrap .txt {
        font-size: 1.3rem;
    }
    .lineup .car-list .car-list-item .price-wrap .price {
        font-size: 1.4rem;
        margin-top: 0.4rem;
    }
    .lineup .car-list .car-list-item .price-wrap .price span {
        font-size: 2.2rem;
    }
    .lineup .car-list .car-list-item .circle-link-item {
        width: 3rem;
        height: 3rem;
        right: 0.8rem;
        bottom: 0.8rem;
    }
    .lineup .car-list .car-list-item .circle-link-item .arrow {
        width: 1rem;
        height: 1rem;
    }
}


/* -- details
-------------------------------------------------------------------------------- */
.details .details-item{
    max-width: none;
    background: #fff;
    border-radius: 3.2rem;
    display: flex;
    align-items: flex-start;
}
.details .section-inner{
    padding-top: 0;
}
.details-item .ttl-area{
    width: 50%;
    padding: 8rem;
    padding-right: 4rem;
    box-sizing: border-box;
    position: sticky;
    top: 0;
}
.details-item .ttl-area .ttl-wrap{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.details-item .ttl-area .ttl{
    display: flex;
    align-items: center;
}
.details-item .ttl-area .ttl .manufacturer{
    display: block;
    font-size: 2.4rem;
    margin-right: 0.32em;
}
.details-item .ttl-area .ttl .car-name{
    display: block;
    font-size: 3.6rem;
    line-height: 1.25;
}
.details-item .ttl-area .number{
    display: flex;
    align-items: center;
    background: var(--col-bg7);
    padding: 0.8rem;
    border-radius: 0.8rem;
    margin-top: 1.6rem;
}
.details-item .ttl-area .number dt{
    font-size: 1.4rem;
    font-weight: bold;
    color: var(--col-bg1);
    padding: 0 1.2rem 0 0.8rem;
}
.details-item .ttl-area .number dd{
    font-size: 1.8rem;
    color: var(--col-bg1);
    font-weight: 600;
    letter-spacing: 0.02em;
    background: #fff;
    padding: 0.6rem 1rem;
    border-radius: 0.4rem;
}
.details-item .ttl-area figure{
    width: 100%;
    padding-top: 50%;
    margin: var(--mg-s) 0;
    position: relative;
}
.details-item .ttl-area figure img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: contain;
}
.details-item .ttl-area .link-btn{
    display: flex;
}
.details-item .ttl-area .link-btn a{
    font-size: 1.5rem;
    padding: 1.6rem 2.4rem;
    background: var(--col-bg8);
    color: var(--col-bg4);
    border-radius: 4rem;
    display: flex;
    align-items: center;
    transition: color 0.1s ease;
}
.details-item .ttl-area .link-btn a svg{
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    fill: var(--col-bg4);
    fill-rule: evenodd;
    overflow: visible;
    margin-left: 0.6rem;
    transform: translateY(-1px);
    transition: fill 0.1s ease;
}
@media (min-width: 1025px){
    .details-item .ttl-area .link-btn a:hover{
        color: var(--col-bg2);
    }
    .details-item .ttl-area .link-btn a:hover svg{
        fill: var(--col-bg2);
    }
}
.details-item .txt-area{
    padding: 8rem;
    padding-left: 4rem;
    flex: 1;
}
.details-item .txt-area .ttl{
    font-size: 2rem;
    letter-spacing: 0.05em;
    margin-top: var(--mg-s);
    margin-bottom: 1.6rem;
}
.details-item .txt-area .ttl:first-child{
    margin-top: 0;
}
.details-item .txt-area .sub-ttl{
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    margin-top: var(--mg-s);
    margin-bottom: 2rem;
    margin-left: -0.6em;
}
.details-item .txt-area > p{
    font-size: 1.6rem;
    line-height: 1.75;
    color: var(--col-bg4);
}
.details-item .table-item + p{
    margin-top: var(--mg-xxs);
}
.details-item .grade-list {
}
.details-item .grade-list ul {
    display: flex;
    margin-top: -0.6rem;
    margin-left: -0.6rem;
}
.details-item .grade-list li {
    font-size: 1.5rem;
    font-weight: bold;
    color: var(--col-bg1);
    border: solid 1px;
    padding: 0.8rem 1.2rem;
    margin-top: 0.6rem;
    margin-left: 0.6rem;
    border-radius: 0.4rem;
}
.details-item .color-list {
    margin-top: var(--mg-xxs);
}
.details-item .color-list ul {
    display: flex;
    flex-flow: wrap;
    gap: 0.8rem 2rem;
}
.details-item .color-list li {
    width: calc(50% - 1rem);
}
.details-item .color-list li dl {
    display: flex;
}
.details-item .color-list li dt {
    width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.2rem;
    text-align: center;
    font-weight: 600;
    background: var(--col-bg1);
    color: #fff;
    border-radius: 100%;
    transform: translateY(0.1rem);
}
.details-item .color-list li dd {
    flex: 1;
    font-size: 1.6rem;
    font-weight: bold;
    color: var(--col-bg4);
    padding-left: 0.8rem;
}
.details-item .table-item {
    border: solid 1px #e0e0e0;
    border-radius: 1.2rem;
    margin-top: var(--mg-xxs);
}
.details-item .table-item table thead th {
    font-size: 1.5rem;
    padding: 1.2rem 1.2rem;
}
.details-item .table-item table th,
.details-item .table-item table td{
    font-size: 1.5rem;
    padding: 1.6rem 1.2rem;
}
.details-item .table-item table th {
    width: 40%;
}
.details-item .table-item table td {
    width: 60%;
}
.details-item .table-item table tbody td {
    color: #282c2e;
}
.details-item .table-item table tbody td span {
    display: inline;
    font-size: 2rem;
    font-weight: bold;
    color: var(--col-bg1);
    letter-spacing: 0.02em;
    margin-top: 0;
    margin-right: 0.1em;
}
.details-item .list-item {
}
.details-item .list-item li {
    font-size: 1.6rem;
}
.note-item.min{
    max-width: 72rem;
    margin: var(--mg-xs) auto 0;
}
@media (max-width: 767px){
    .details .details-item {
        display: block;
    }
    .details-item .ttl-area figure {
        padding-top: 56.25%;
    }
    .details-item .ttl-area .ttl .manufacturer {
        font-size: 2rem;
    }
    .details-item .ttl-area .ttl .car-name {
        font-size: 3rem;
    }
    .details-item .ttl-area {
        width: 100%;
        padding-right: 0;
        padding: 4.8rem 3.2rem 4rem;
        position: relative;
    }
    .details-item .txt-area {
        padding-left: 0;
        padding: 4rem 3.2rem 4.8rem;
        border-top: solid 1px rgba(0,0,0,0.1);
    }
    .details-item .ttl-area .link-btn {
        justify-content: flex-end;
    }
    .details-item .ttl-area .link-btn a {
        padding: 1.2rem 2rem;
    }
    .details-item .color-list ul {
        display: block;
    }
    .details-item .color-list li {
        width: 100%;
    }
    .details-item .color-list li + li {
        margin-top: 1.2rem;
    }
    .details .note-item.min {
        max-width: 40rem;
    }
    .details-item .table-item table th {
        width: 30%;
    }
}


/* -- min-body
-------------------------------------------------------------------------------- */
.min-body{
    font-size: 10px;
    background: #e2e7e9;
    position: relative;
}
.min-body::before,
.min-body::after{
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background: url(../img/img_min_body.jpg) no-repeat center;
    background-size: cover;
    opacity: 0.8;
}
.min-body::after{
    left: auto;
    right: 0;
}
.min-body .body-left,
.min-body .body-right{
    width: calc(50% - 240px);
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1;
}
.min-body .body-right{
    right: 0;
    left: auto;
}
.main-ttl-sp{
    font-size: 4vw;
    color: var(--col-bg1);
}
.main-ttl-sp .en{
    font-size: 1em;
    font-weight: 300;
    line-height: 1.25;
    letter-spacing: 0.3em;
    margin-right: -0.3em;
}
.main-ttl-sp .en p{
    display: flex;
}
.main-ttl-sp .jp{
    font-size: 0.21875em;
    letter-spacing: 0.075em;
    font-weight: bold;
    line-height: 1.25;
    text-indent: -0.1em;
}
@media (max-width: 1350px){
    .main-ttl-sp{
        font-size: 6rem;
    }
    .main-ttl-sp .jp{
        font-size: 1.4rem;
    }
}
.min-body .min-body-inner{
    max-width: 480px;
    box-sizing: border-box;
    padding: calc(9rem + 1.2rem) 1.2rem 1.2rem;
    margin: 0 auto;
    background: #f4f5f6;
    position: relative;
    z-index: 2;
}
.min-body .min-body-inner main{
    background: #fff;
    border-radius: 2rem;
}
.min-body section .section-inner{
    padding: 8em 8%;
}
.min-body section p{
    font-size: 1.6em;
    color: var(--col-bg4);
    line-height: 1.75;
}
.min-body section .section-ttl{
    font-size: 2.8em;
    margin-bottom: 4rem;
    margin-bottom: calc(1em * (4 / 2.8));
    padding-bottom: calc(1em * (2.4 / 2.8));
}
.min-body section .section-ttl .col{
    display: block;
    font-size: 0.71428571em;
    color: var(--col-bg1);
    margin-bottom: calc(1em * (1.2 / 2));
}
.min-body section .section-sub-ttl{
    font-size: 2em;
    line-height: 1.5;
    color: var(--col-bg1);
    margin-bottom: calc(1em * (1.6 / 2));
    margin-top: calc(1em * (4 / 2));
}
.min-body section .section-sub-ttl + .form-item{
    margin-top: 2.4em;
}
.min-body .section-sub-ttl:first-child{
    margin-top: 0;
}
.min-body section .section-sub-ttl.bg{
    font-size: 1.8em;
    border-radius: 1em;
    border-radius: calc(1em * (1 / 1.8));
    padding: 1.6em 2.4em;
    padding: calc(1em * (1.6 / 1.8)) calc(1em * (2.4 / 1.8));
    margin-bottom: 2em;
    margin-bottom: calc(1em * (2 / 1.8));
}
.min-body section .section-sub-ttl + .section-sub-ttl.bg{
    margin-top: calc(1em * (3.2 / 1.8));
}
.min-body section .section-sub-ttl + form{
    margin-top: 3.2em;
}
.min-body section .section-min-ttl{
    font-size: 1.8em;
    margin-top: calc(1em * (2.4 / 1.8));
    margin-bottom: calc(1em * (1.2 / 1.8));
}
.min-body section .section-box + .section-box,
.min-body section .add-btn + .section-box{
    margin-top: 4em;
    padding-top: 4em;
    border-top: solid 1px rgba(0, 0, 0, 0.15);
}
.min-body section .section-lead {
    margin-top: 2.4em;
}
.min-body section .section-lead + .form-item {
    margin-top: 3.2em;
}
.min-body section .section-lead:first-child {
    margin-top: 0;
}
.min-body section .section-lead p{
    font-size: 1.6em;
    text-align: justify;
}
.min-body section .section-lead.center p{
    text-align: center;
}
.min-body section .section-lead p + p{
    margin-top: 1em;
}
.min-body section .section-lead p .col{
    color: var(--col-bg1);
}
.min-body section .section-sub-ttl + .section-lead {
    margin-top: 1.6em;
}
.min-body .link-item a .body {
    font-size: 1.6em;
    padding: 0 3.2em;
    padding: 0 calc(1em * (3.2 / 1.6));
    border-radius: 3em;
    border-radius: calc(1em * (3 / 1.6));
    line-height: 6em;
    line-height: calc(1em * (6 / 1.6));
}
.min-body .link-item a .arrow {
    width: 1.4em;
    width: calc(1em * (1.4 / 1.6));
    height: 1.4em;
    height: calc(1em * (1.4 / 1.6));
    margin-left: 1.6em;
    margin-left: calc(1em * (1.6 / 1.6));
}
.min-body .note-item {
    gap: 0.4em;
    margin-top: 2em;
}
.min-body section .note{
    font-size: 1.3em;
}
.min-body section .list-item{
    margin-top: 2.4em;
}
.min-body section .list-item .number li{
    display: flex;
    padding-left: 0;
}
.min-body .list-item .number li::before{
    display: none;
}
.min-body section .list-item .number .num{
    width: 2em;
}
.min-body section .list-item .number .txt{
    flex: 1;
}
.min-body section .link-item-wrap{
    display: flex;
    justify-content: center;
}
.min-body section .link-item-wrap .submit-item{
    margin-top: 0;
    margin-left: 1em;
}
.min-body section .link-item{
    margin-top: 4em;
}
.min-body section .link-item:first-child{
    margin-top: 0;
}
.min-body section .link-item .bl .body{
    background: var(--col-bg4);
}
.min-body section .link-item.min{
    margin-top: 2em;
}
.min-body .link-item.min a .body {
    font-size: 1.4em;
    background: transparent;
    font-weight: normal;
    color: var(--col-bg4);
    border: solid 1px rgba(0, 0, 0, 0.15);
    padding: calc(1em * (0.1 / 1.4)) calc(1em * (1.6 / 1.4)) 0;
    border-radius: calc(1em * (4 / 1.4));
    line-height: calc(1em * (3.7 / 1.4));
    transition: border 0.1s ease;
}
@media (min-width: 1025px){
    .min-body .link-item.min a:hover .body {
        transform: none;
        border-color: var(--col-bg4);
    }
}
.min-body .list-item li {
    font-size: 1.6em;
}
.min-body .list-item li::before {
    width: 0.7em;
    width: calc(1em * (0.7 / 1.6));
    height: 0.7em;
    height: calc(1em * (0.7 / 1.6));
}
.min-body .list-item li + li {
    margin-top: 0.6em;
    margin-top: calc(1em * (0.6 / 1.6));
}
.min-body form:first-child{
    margin-top: 0;
}
.min-body .user-check{
    padding: 1.2em 1.2em 3.2em;
    background: #f4f5f6;
    border-radius: 1em;
    text-align: center;
    margin-bottom: 3.2em;
}
.min-body .user-check .checkbox-item{
    display: flex;
    justify-content: center;
}
.min-body .user-check .checkbox-item label{
    font-weight: bold;
    letter-spacing: 0.05em;
}
.min-body .user-check .txt-box{
    margin-bottom: 3.2em;
    height: 40rem;
    background: #fff;
    padding: 2em;
    border-radius: 0.4em;
    overflow: auto;
    text-align: justify;
    word-break: break-all;
}
.min-body .user-check .txt-box p{
    font-size: 1.4em;
}
.min-body .user-check .txt-box a{
    text-decoration: underline;
    color: var(--col-bg5);
}
.min-body .user-check .txt-box .ta-r{
    text-align: right;
}
.min-body .user-check .txt-box li{
    font-size: 1.4em;
    line-height: 1.75;
    padding-left: 1em;
    text-indent: -1em;
}
.min-body .user-check .txt-box .ind-2 li{
    padding-left: 2em;
    text-indent: -2em;
}
.min-body .user-check .txt-box h4{
    font-size: 1.8em;
    margin-bottom: calc(1em * (1.6 / 1.8));
}
.min-body .user-check .txt-box h5{
    font-size: 1.6em;
    margin-top: calc(1em * (2.4 / 1.6));
}
.min-body .user-check .txt-box h5::after{
    content: "";
    display: block;
    width: calc(1em * (2 / 1.6));
    border-top: solid 1px var(--col-bg1);
    margin-top: calc(1em * (1.6 / 1.6));
    margin-bottom: calc(1em * (2 / 1.6));
}
.min-body .user-check .txt-box h6{
    font-size: 1.5em;
    margin-top: calc(1em * (2 / 1.5));
    margin-bottom: calc(1em * (2 / 1.5));
}
.min-body .user-check .txt-link{
    display: flex;
    justify-content: center;
    margin-top: 1.2em;
}
.min-body .user-check .txt-link a{
    font-size: 1.5em;
    color: var(--col-bg4);
    padding-right: calc(1em * (1.8 / 1.5));
    position: relative;
    transition: color 0.1s ease;
}
.min-body .user-check .txt-link a[target="_blank"] svg {
    display: block;
    width: calc(1em * (1.2 / 1.5));
    height: calc(1em * (1.2 / 1.5));
    fill: var(--col-bg4);
    fill-rule: evenodd;
    overflow: visible;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: -1px;
    transition: 0.1s ease;
}
@media (min-width: 1025px){
    .min-body .user-check .txt-link a:hover{
        color: var(--col-bg1);
    }
    .min-body .user-check .txt-link a[target="_blank"]:hover svg {
        fill: var(--col-bg1);
    }
}
.min-body .select-car-item figure{
    width: 100%;
    padding-top: 56.25%;
    border-radius: 2em;
    position: relative;
}
.min-body .select-car-item figure img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: contain;
}
.min-body .select-car-item .table-item{
    margin-top: 4em;
}
.min-body .table-item{
    margin-top: 2em;
    border-radius: 1.2em;
    border: solid 1px #e0e0e0;
}
.min-body .table-item{
    margin-top: 2.4em;
}
.min-body .table-item table th, 
.min-body .table-item table td{
    font-size: 1.5em;
    padding: calc(1em * (2 / 1.5)) calc(1em * (2 / 1.5));
}
.min-body .table-item table th{
    padding-top: calc(1em * (1.2 / 1.4));
    padding-bottom: calc(1em * (1.2 / 1.4));
    padding-left: calc(1em * (1.6 / 1.4));
    padding-right: calc(1em * (1.6 / 1.4));
}
.min-body .table-item table thead th:nth-child(1){
    width: calc(1em * (12 / 1.5));
}
.min-body .table-item table tbody th:nth-child(1){
    width: calc(1em * (12 / 1.4));
}
.min-body .table-item table td{
    width: auto;
    text-align: left;
}
.min-body figure.cut-img{
    width: 100%;
    margin: 3.2em 0;
    box-sizing: border-box;
}
.min-body figure.cut-img img{
    width: 100%;
}
.min-body figure.cut-img.estimate-llust-2{
    padding: 0 1.6rem;
}
.min-body figure.cut-img.estimate-llust-3{
    width: auto;
    height: 11rem;
    text-align: center;
    margin: 4.8em 0 6em;
}
.min-body figure.cut-img.estimate-llust-3 img{
    width: auto;
    height: 100%;
}
.min-body figure.cut-img.entry-llust-1{
    height: 24rem;
    text-align: center;
}
.min-body figure.cut-img.entry-llust-1 img{
    width: auto;
    height: 100%;
}
.min-body .contact-item{
    background: var(--col-bg6);
    padding: 2rem;
    margin-top: 4em;
    border-radius: 2.4rem;
    box-sizing: border-box;
}
.min-body section .contact-item .section-sub-ttl{
    font-size: 1.8em;
    text-align: center;
    margin-bottom: calc(1em * (2 / 1.8));
}
.min-body .contact-item .contact-item-body{
    padding: 2.4rem;
    background: #fff;
    border-radius: 1.2rem;
}
.min-body .contact-item .ttl{
    font-size: 1.8em;
    letter-spacing: 0.05em;
    line-height: 1.25;
    margin-top: calc(1em * (3.2 / 1.7));
    margin-bottom: calc(1em * (0.8 / 1.7));
    white-space: nowrap;
}
.min-body .contact-item .section-lead p{
    font-size: 1.5em;
}
.min-body .contact-item .section-sub-ttl + .section-lead {
    margin-top: 0;
}
.min-body .contact-item .tel{
    font-size: 1.2em;
    font-weight: bold;
    letter-spacing: 0.05em;
    display: flex;
    align-items: center;
    white-space: nowrap;
}
.min-body .contact-item .tel span{
    font-size: 2.5em;
    font-weight: 600;
    letter-spacing: 0.03em;
    line-height: 1.25;
    color: var(--col-bg1);
}
.min-body .contact-item .tel span span{
    font-size: inherit;
    display: inline-block;
    transform: translateY(-0.0666666em);
}
.min-body .contact-item .time{
    font-size: 1.2em;
    white-space: nowrap;
    text-indent: 1px;
}
.min-body .contact-item .nav-wrap {
    margin-top: 2.4em;
    padding-top: 2em;
    border-top: solid 1px rgba(0,0,0,0.15);
}
.min-body .contact-item .nav {
    display: flex;
    flex-wrap: wrap;
    margin-top: -0.6em;
    margin-left: -2em;
}
.min-body .contact-item .nav li {
    margin-left: 2em;
    margin-top: 0.8em;
}
.min-body .contact-item .nav li a,
.min-body .contact-item .nav li p {
    font-size: 1.3em;
    transition: color 0.1s ease;
    position: relative;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: color 0.1s ease;
}
.min-body .contact-item .nav li svg {
    display: block;
    width: 1rem;
    height: 1rem;
    fill: var(--col-bg4);
    fill-rule: evenodd;
    overflow: visible;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: -1px;
    transition: fill 0.1s ease;
}
@media (min-width: 1025px){
    .min-body .contact-item .nav li a:hover,
    .min-body .contact-item .nav li p:hover {
        color: var(--col-bg1);
    }
    .min-body .contact-item .nav li a:hover svg {
        fill: var(--col-bg1);
    }
}
.min-body .add-btn{
    display: flex;
    margin-top: 3.2em;
}
.min-body .add-btn .add-btn-inner{
    display: flex;
    align-items: center;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.min-body .add-btn .ico{
    display: block;
    width: 4.6em;
    height: 4.6em;
    border: solid 1px var(--col-bg1);
    border-radius: 100%;
    position: relative;
    margin-right: 1.6em;
    transition: background 0.1s ease;
}
@media (min-width: 1025px){
    .min-body .add-btn .add-btn-inner:hover .ico{
        background: var(--col-bg7);
    }
}
.min-body .add-btn .ico::before,
.min-body .add-btn .ico::after{
    content: "";
    display: block;
    width: 1.6em;
    border-top: solid 2px var(--col-bg1);
    margin-top: -1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
}
.min-body .add-btn .ico::after{
    transform: translateX(-50%) rotate(90deg);
}
.min-body .add-btn .txt{
    display: block;
    font-size: 1.5em;
}
.min-body .add-btn + .section-box{
    display: none;
}
.min-body .add-btn + .section-box + .add-btn{
    display: none;
}
.min-body .add-btn.active{
    display: none!important;
}
.min-body .add-btn.active + .section-box{
    display: block;
}
.min-body .add-btn.active + .section-box + .add-btn{
    display: block;
}
.min-body .form-wrap .form-item span.error,
.min-body .form-wrap .form-item label.error{
    display: inline-block;
    font-size: 1.2em;
    color: var(--col-bg1);
    padding: 0;
    margin-top: calc(1em * (0.8 / 1.2));
}
.min-body .form-wrap .form-item-wrap .form-item.item-ttl-wrap label.error{
    padding-left: 5.83333333em;
}
@media (max-width: 1024px){
    .min-body .body-left,
    .min-body .body-right{
        display: none;
    }
}
@media (max-width: 767px){
    .min-body{
        font-size: 9px;
    }
    .min-body::before, 
    .min-body::after{
        display: none;
    }
    .min-body .min-body-inner {
        max-width: none;
        padding-top: calc(8rem + 1.2rem);
    }
    .min-body section .section-inner {
        padding: 4.8em 2.4rem 6em;
    }
    .min-body section .link-item-wrap{
        flex-direction: column-reverse;
    }
    .min-body section .link-item-wrap .link-item{
    }
    .min-body section .link-item-wrap .link-item a{
        width: 26em;
    }
    .min-body section .link-item-wrap .submit-item {
        margin-left: 0;
        margin-bottom: 1.6em;
    }
    .min-body section .link-item-wrap .submit-item input{
        width: calc(1em * (26 / 1.6));
        text-align: center;
        padding-left: 0;
        padding-right: 0;
    }
    .min-body .contact-item {
        padding: 2rem 1.2rem 1.2rem;
    }
}
@media (max-width: 390px){
    .min-body{
        font-size: 2.307692vw;
    }
}


/* -- file-item
-------------------------------------------------------------------------------- */
.file-item {
    position: relative;
}
.file-item .label-wrap {
    display: flex;
    justify-content: center;
    margin-top: 2em;
    position: relative;
}
.file-item .label-wrap.clear {
    display: none;
}
.file-item.active .label-wrap.select {
    display: none;
}
.file-item.active .label-wrap.clear {
    display: flex;
}
.file-item .label-wrap label {
    font-size: 1.4em;
    color: var(--col-bg1);
    border: solid 1px;
    padding: calc(1em * (0.1 / 1.4)) calc(1em * (1.6 / 1.4)) 0;
    border-radius: calc(1em * (4 / 1.4));
    line-height: calc(1em * (3.7 / 1.4));
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    transition: background 0.1s ease;
}
.file-item .label-wrap label + label {
    margin-left: calc(1em * (1 / 1.4));
}
@media (min-width: 1025px){
    .file-item .label-wrap label:hover {
        background: var(--col-bg7);
    }
}
.file-item input[type="file"] {
    display: none;
}
.file-item figure{
    display: block;
    width: 100%;
    padding-top: 66.666666%;
    background: #f4f5f6;
    border-radius: 0.8rem;
    overflow: hidden;
    position: relative;
}
.file-item figure::before{
    content: "";
    display: block;
    width: 8rem;
    height: 8rem;
    background: url(../img/ico_camera.svg) no-repeat center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 0.15;
}
.file-item.active figure::before{
    display: none;
}
.file-item figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}


/* -- form-step-item
-------------------------------------------------------------------------------- */
.form-step-item {
    position: relative;
}
.form-step-item::before {
    content: "";
    display: block;
    border-left: dotted 2px var(--col-bg5);
    margin-left: -1px;
    position: absolute;
    top: 5em;
    bottom: 5em;
    left: 5em;
}
.form-step-item dl {
    display: flex;
    align-items: center;
    gap: 0 3.2em;
    position: relative;
}
.form-step-item dl + dl {
    margin-top: 4em;
}
.form-step-item dl dt {
    width: calc(1em * (10 / 1.5));
    height: calc(1em * (10 / 1.5));
    font-size: 1.5em;
    font-weight: 600;
    color: var(--col-bg1);
    border: solid 1px var(--col-bg1);
    background: #fff;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.form-step-item dl dd {
    flex: 1;
}
.form-step-item dl dd .section-sub-ttl {
    font-size: 1.8em;
    margin-bottom: 0;
}
.form-step-item dl dd .section-sub-ttl + .section-lead{
    margin-top: 1.2em;
}
.form-step-item dl dd .section-lead p {
    font-size: 1.5em;
}


/* -- flow-step
-------------------------------------------------------------------------------- */
.flow-step {
    display: flex;
    margin-top: -2em;
    padding: 1.6em;
    background: #f4f5f6;
    border-radius: 1em;
}
.flow-step ul {
    display: flex;
    justify-content: center;
    gap: 0.8em;
    margin: 0 auto;
}
.flow-step li {
    width: 5.4em;
    height: 5.4em;
    font-size: 1em;
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--col-bg5);
    border: solid 1px rgba(0,0,0,0.15);
    border-radius: 100%;
    background: #fff;
    padding-top: 0.1em;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
}
.flow-step li + li::before {
    content: "";
    display: block;
    width: calc(1em * (0.8 / 1));
    border-top: solid 1px rgba(0,0,0,0.15);
    position: absolute;
    top: 50%;
    left: calc(-1em * (0.8 / 1) - 1px);
}
.flow-step li.active {
    background: var(--col-bg1);
    border-color: var(--col-bg1);
    color: #fff;
}
.flow-step li.comp {
    border-color: var(--col-bg1);
    color: var(--col-bg1);
}
.flow-step li + li.active::before,
.flow-step li + li.comp::before {
    border-color: var(--col-bg1);
}
.flow-step li span {
    display: block;
    font-size: calc(1em * (1.6 / 1));
    line-height: 1.25;
    letter-spacing: 0;
}
@media (max-width: 430px){
    .flow-step {
        font-size: 2.093023vw;
    }
}


/* -- form-wrap
-------------------------------------------------------------------------------- */
button, input, optgroup, select, textarea {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    outline: 0;
    box-shadow: none;
    align-items: center;
    border: solid 1px transparent;
    border-radius: 0;
    text-align: inherit;
}
button, [type="button"], [type="reset"], [type="submit"] {
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
}
input[type="radio"],
input[type="checkbox"]{
    display: none;
}
input::placeholder{
    color: #999;
}
input::-ms-input-placeholder{
    color: #999;
}
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}
.row {
    display: flex;
}
.row .radio-item + .radio-item,
.row .checkbox-item + .checkbox-item{
    margin-left: 3.2em;
}
.radio-item label,
.checkbox-item label {
    display: block;
    font-size: 1.6em;
    line-height: 1.5;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    padding-left: 3rem;
    padding-left: calc(1em * (3 / 1.6));
    position: relative;
}
.radio-item label::before,
.checkbox-item label::before {
    content: "";
    background-color: #fff;
    border: solid 2px #ccc;
    border-radius: 100%;
    box-sizing: border-box;
    margin: 0;
    position: absolute;
    left: 0;
    top: 50%;
    width: 2rem;
    width: calc(1em * (2 / 1.6));
    height: 2rem;
    height: calc(1em * (2 / 1.6));
    transform: translateY(calc(-50% - 1px));
    transition: 0.1s ease;
}
.radio-item label::after,
.checkbox-item label::after {
    content: "";
    box-sizing: border-box;
    margin: 0;
    position: absolute;
    opacity: 0;
    transition: opacity 0.1s ease;
}
.radio-item label::after {
    background-color: var(--col-bg1);
    border-radius: 50%;
    left: 0.5rem;
    left: calc(1em * (0.5 / 1.6));
    top: 50%;
    width: 1rem;
    width: calc(1em * (1 / 1.6));
    height: 1rem;
    height: calc(1em * (1 / 1.6));
    transform: translateY(calc(-50% - 1px));
}
.radio-item input:checked + label::after,
.checkbox-item input:checked + label::after {
    opacity: 1;
}
.radio-item input:checked + label::before {
    border-color: var(--col-bg1);
}
.checkbox-item label::before {
    border-radius: 2px;
}
.checkbox-item label::after {
    background-color: transparent;
    border-radius: 0;
    left: 4px;
    left: calc(1em * (0.4 / 1.6));
    top: 50%;
    margin-top: -6px;
    margin-top: calc(-1em * (0.6 / 1.6));
    width: 1.2rem;
    width: calc(1em * (1.2 / 1.6));
    height: 0.6rem;
    height: calc(1em * (0.6 / 1.6));
    border-bottom: solid 2px #fff;
    border-left: solid 2px #fff;
    transform: rotate(-45deg);
}
.checkbox-item input:checked + label::before {
    border-color: var(--col-bg1);
    background-color: var(--col-bg1);
}
.checkbox-item input:disabled + label {
    color: #aaa;
    cursor: default;
}
.checkbox-item input:disabled + label::before {
    border-color: #eee;
}
.select-item{
    position: relative;
}
.select-item::before{
    content: "";
    display: block;
    border-top: solid 0.6em var(--col-bg4);
    border-left: solid 0.4em transparent;
    border-right: solid 0.4em transparent;
    pointer-events: none;
    position: absolute;
    right: 2em;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}
.select-item select{
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
.form-wrap{
}
.form-wrap input,
.form-wrap textarea,
.form-wrap select{
    font-size: 1.6em;
    width: 100%;
    background: #fafafa;
    border: solid 1px #e0e0e0;
    padding: calc(1em * (1.7 / 1.6)) calc(1em * (1.6 / 1.6));
    box-sizing: border-box;
    border-radius: calc(1em * (0.8 / 1.6));
}
.form-wrap textarea{
    height: 16em;
}
.form-wrap input:focus,
.form-wrap textarea:focus,
.form-wrap select:focus{
    border-color: var(--col-bg4);
}
.form-wrap .form-item{
    width: 100%;
}
.form-wrap .form-item + .form-item,
.form-wrap .note-item + .form-item,
.form-wrap .form-item + .form-item-wrap,
.form-wrap .note-item + .form-item-wrap,
.form-wrap .form-item-wrap + .form-item,
.form-wrap .form-item-wrap + .note-item{
    margin-top: 2.4em;
}
.form-wrap .form-item .item-flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 -0.4em;
}
.form-wrap .form-item .item-body{
    width: 100%;
}
.form-wrap .form-item-wrap .form-item + .form-item{
    margin-top: 1.2em;
}
.form-wrap .form-item .item-flex .item{
    padding: 0 0.4em;
    flex: 1;
}
.form-wrap .form-item .item-flex .item.wide{
    flex: 1;
}
.form-wrap .form-item .item-flex .item.address-min{
    width: 35%;
}
.form-wrap .form-item .item-flex span{
    font-size: 1.5em;
    color: var(--col-bg4);
    padding: 0 calc(1em * (0.4 / 1.6));
}
.form-wrap .label{
    display: block;
    font-size: 1.5em;
    letter-spacing: 0.05em;
    margin-bottom: 1.2rem;
    margin-bottom: calc(1.2em * (1 / 1.6));
}
.form-wrap .label span{
    font-size: 0.8em;
    letter-spacing: 0;
}
.form-wrap .label span.col{
    color: var(--col-bg1);
}
.form-wrap .submit-item{
    display: flex;
    justify-content: center;
    margin-top: 4em;
}
.form-wrap .submit-item:first-child{
    margin-top: 0;
}
.form-wrap .submit-item .body{
    transition: transform 0.15s ease;
    position: relative;
}
.form-wrap .submit-item [type="submit"]{
    width: auto;
    font-weight: bold;
    background: var(--col-bg1);
    border: none;
    color: #fff;
    padding: 0 calc(1em * (3.2 / 1.6) + 1.75em) 0 calc(1em * (3.2 / 1.6));
    border-radius: calc(1em * (3 / 1.6));
    line-height: calc(1em * (6 / 1.6));
    transition: color 0.15s ease, background 0.15s ease;
}
.form-wrap .submit-item .arrow {
    font-size: 1.6em;
    width: calc(1em * (1.2 / 1.6));
    height: calc(1em * (1.2 / 1.6));
    margin-left: calc(1em * (1.6 / 1.6));
    position: absolute;
    top: 50%;
    right: calc(1em * (3.2 / 1.6));
    transform: translateY(-50%);
}
.form-wrap .submit-item .arrow svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: #fff;
    stroke-miterlimit: 10;
    stroke-width: 4px;
    overflow: visible;
    transition: stroke 0.15s ease;
}
@media (min-width: 1025px){
    .form-wrap .submit-item:not(.disable):hover .arrow svg{
        animation: svg-arrow 0.3s ease;
    }
    .form-wrap .submit-item:not(.disable):hover .body {
        transform: scale(0.95);
    }
}
.form-wrap .submit-item.disable [type="submit"]{
    color: var(--col-bg5);
    background: #ececec;
    cursor: default;
}
.form-wrap .submit-item.disable .arrow svg{
    stroke: var(--col-bg5);
}
.form-wrap .select-item select{
    padding-right: 4.8rem;
    padding-right: calc(1em * (4.8/ 1.6));
}
.form-wrap .select-item select[name="year"],
.form-wrap .select-item .select-item-year{
    min-width: calc(1em * (12 / 1.6));
}
.form-wrap .form-item .item-ttl{
    width: 4em;
    font-size: 1.4em;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
    padding-right: calc(1em * (1 / 1.4));
    padding-left: calc(1em * (0.4 / 1.4));
}
.form-wrap .form-item .item + .item-ttl{
    width: auto;
    padding-left: calc(1em * (1 / 1.4));
    padding-right: calc(1em * (0.4 / 1.4));
}
.form-wrap .form-item .address-search{
    font-size: 1.4em;
    white-space: nowrap;
    height: calc(1em * (4/ 1.4));
    line-height: calc(1em * (4/ 1.4));
    background: var(--col-bg4);
    color: #fff;
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
    padding: 0 calc(1em * (1.2 / 1.4));
    border-radius: calc(1em * (0.4 / 1.4));
    margin-left: calc(1em * (0.6 / 1.4));
    margin-right: calc(1em * (0.4 / 1.4));
    transition: background 0.1s ease;
}
@media (min-width: 1025px){
    .form-wrap .form-item .address-search:hover{
        background: #333;
    }
}


/* -- footer
-------------------------------------------------------------------------------- */
footer{
    background: #fff;
    position: relative;
    z-index: 3;
    transition: transform 0.3s ease;
}
footer .footer-inner{
    padding: var(--mg-l) 4% var(--mg-s);
}
footer .body{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}
footer .body .body-inner{
    padding-right: 4rem;
}
@media (max-width: 1280px){
    footer .body .body-inner{
        padding-right: 0;
    }
}
footer .main-ttl{
    flex: 1;
    width: auto;
    font-size: 9rem;
    justify-content: flex-start;
}
footer .main-ttl .jp {
    font-size: 1.6rem;
    margin: 0 1.4rem;
}
footer .main-ttl-sp{
    display: none;
}
footer .lead{
    font-size: 1.6rem;
    letter-spacing: 0.1em;
    line-height: 1.75;
    color: var(--col-bg4);
}
footer .contact{
    margin-top: var(--mg-m);
}
footer .contact .ttl{
    font-size: 2.1rem;
    letter-spacing: 0.05em;
    line-height: 1.25;
}
footer .contact .tel{
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    letter-spacing: 0.05em;
    margin-top: 0.8rem;
    color: var(--col-bg4);
}
footer .contact .tel span{
    font-size: 2.5em;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0.03em;
    color: var(--col-bg1);
}
footer .contact .tel span span{
    font-size: inherit;
    display: inline-block;
    transform: translateY(-0.0666666em);
}
footer .contact p{
    font-size: 1.4rem;
    color: var(--col-bg4);
    text-indent: 1px;
}
footer .foot{
    border-top: solid 1px rgba(0,0,0,0.15);
    margin-top: var(--mg-l);
    padding-top: var(--mg-xs);
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
footer .nav{
    display: flex;
}
footer .nav li{
    font-size: 1.5rem;
    color: var(--col-bg4);
}
footer .nav li + li{
    margin-left: 3.2rem;
}
footer .nav li p{
    transition: color 0.1s ease;
    position: relative;
    padding-right: 1.8rem;
}
footer .nav li svg{
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    fill: var(--col-bg4);
    fill-rule: evenodd;
    overflow: visible;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    margin-top: -1px;
    transition: 0.1s ease;
}
footer .nav li p{
    cursor: pointer;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
}
footer .nav li p.active{
    color: var(--col-bg1);
}
footer .nav li p.active svg{
    fill: var(--col-bg1);
    transform: translateY(-50%) scale(1,-1);
}
footer .copyright{
    font-size: 1.4rem;
    text-align: right;
    color: var(--col-bg5);
}
footer .transaction{
    display: none;
    background: #f2f2f2;
}
footer .transaction .transaction-inner{
    padding: var(--mg-l) 4% var(--mg-xl);
}
footer .transaction .ttl{
    font-size: 2.2rem;
    margin-bottom: var(--mg-s);
}
footer .transaction .data-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2.4rem 3rem;
}
footer .transaction .data-list dl{
    width: calc(50% - 3rem);
    font-size: 1.6rem;
    line-height: 1.75;
}
footer .transaction .data-list dt{
    font-weight: bold;
    margin-bottom: 0.8rem;
}
footer .transaction .data-list dd{
    text-align: justify;
}
footer .transaction .data-list ul{
    margin-top: 1.2rem;
}
footer .transaction .data-list li{
    font-size: 1.6rem;
    line-height: 1.75;
    padding-left: 1em;
    position: relative;
}
footer .transaction .data-list li + li{
    margin-top: 1.2rem;
}
footer .transaction .data-list li::before{
    content: "";
    display: block;
    width: 0.6rem;
    height: 0.6rem;
    border-radius: 100%;
    background: var(--col-bg5);
    position: absolute;
    top: 0.65em;
    left: 1px;
}
@media (min-width: 1025px){
    footer .nav li a:hover,
    footer .nav li p:hover{
        color: var(--col-bg1);
    }
    footer .nav li a:hover svg,
    footer .nav li p:hover svg{
        fill: var(--col-bg1);
    }
}
@media (max-width: 1220px){
    .nav-open footer{
        transform: translateX(-32rem);
    }
}
@media (max-width: 767px){
    .nav-open footer{
        transform: translateX(-30.8rem);
    }
    footer .footer-inner {
        padding-top: var(--mg-s);
        padding-left: 5%;
        padding-right: 5%;
    }
    footer .body {
        display: block;
    }
    footer .body .body-inner{
        margin-top: var(--mg-m);
    }
    footer .main-ttl{
        display: none;
    }
    footer .main-ttl-sp{
        display: block;
        font-size: 6.666667rem;
    }
    .main-ttl-sp .en {
        margin-right: 0;
    }
    .main-ttl-sp .jp {
        font-size: 1.5rem;
    }
    footer .foot {
        display: block;
        margin-top: var(--mg-s);
        padding-top: var(--mg-xxs);
        position: relative;
    }
    footer .copyright{
        position: absolute;
        right: 0;
    }
    footer .nav{
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }
    footer .nav li + li {
        margin-left: 0;
        margin-top: 1.6rem;
    }
    footer .transaction .transaction-inner {
        padding-left: 5%;
        padding-right: 5%;
    }
    footer .transaction .data-list{
        gap: 2.4rem 0;
    }
    footer .transaction .data-list dl{
        width: 100%;
    }
}