@charset "UTF-8";
/*==================================================================================================
	TOP
==================================================================================================*/
#top .mv {
    position: relative;
    overflow: clip;
    height: 100svh;
    background-color: #EFF0F0;
}
#top .mv_inner {
    position: relative;
    height: 100%;
    container-type: inline-size;
    container-name: mv;
}
#top .mv_img {
    position: absolute;
    left: 50%;
    top: 52.5%;
    z-index: 5;
    width: min(70%, 70svh, 700px);
    translate: -50% -50%;
    opacity: 0;
    scale: 0;
    -webkit-transform-origin: center center;
    transform-origin: center center;
}
#top .mv_img.-active:not(.-done) {
    -webkit-animation: mv-img 2s linear forwards;
    animation: mv-img 2s linear forwards;
}
#top .mv_img.-done {
    opacity: 1;
    scale: 1;
    -webkit-animation: none;
    animation: none;
}
@media (prefers-reduced-motion: reduce) {
    #top .mv_img {
        opacity: 1;
        scale: 1;
        -webkit-animation: none;
        animation: none;
    }
}
#top .mv_copy {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 10;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    max-width: none;
    padding: 0.25em 0.5em 0.15em;
    background-color: #FBD249;
    font-size: clamp(1rem, 3cqw, 3.2rem);
    line-height: 1.4;
    font-weight: 900;
    white-space: nowrap;
    opacity: 0;
    scale: 1.5;
    translate: -50% -50%;
    -webkit-transform-origin: center center;
    transform-origin: center center;
}
#top .mv_copy.-active:not(.-done) {
    opacity: 1;
    -webkit-animation: mv-copy 2s linear forwards;
    animation: mv-copy 2s linear forwards;
}
#top .mv_copy.-done {
    opacity: 1;
    scale: 1;
    translate: calc(-50% + min(300px, 16vw)) calc(-50% + min(100px, 10svh));
    -webkit-animation: none;
    animation: none;
}
@media (prefers-reduced-motion: reduce) {
    #top .mv_copy {
        opacity: 1;
        scale: 1;
        translate: calc(-50% + min(300px, 16vw)) calc(-50% + min(100px, 10svh));
        -webkit-animation: none;
        animation: none;
    }
}
#top .mv_scrolltxt {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    width: 100%;
    height: 48px;
    overflow: hidden;
    background-color: #fff;
    border-top: 3px solid #000;
    border-bottom: 3px solid #000;
    translate: 0 200px;
}
#top .mv_scrolltxt .scrolltxt_track {
    display: flex;
    align-items: center;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -webkit-animation: ft-scrolltxt 80s linear infinite;
    animation: ft-scrolltxt 80s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    #top .mv_scrolltxt .scrolltxt_track {
        -webkit-animation: none;
        animation: none;
    }
}
#top .mv_scrolltxt .scrolltxt_unit {
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    flex-shrink: 0;
    padding-right: 0.75em;
}
#top .mv_scrolltxt .scrolltxt_txt {
    flex-shrink: 0;
    font-family: "Poppins", sans-serif;
    font-size: 1.125em;
    line-height: 1;
    text-transform: capitalize;
    white-space: nowrap;
}
#top .mv_scrolltxt .scrolltxt_icon {
    display: block;
    flex-shrink: 0;
    width: 1.5em;
    height: 1.5em;
    -o-object-fit: contain;
    object-fit: contain;
}
#top .mv_scrolltxt.-done {
    translate: 0;
    -webkit-animation: none;
    animation: none;
}
#top .mv_stickers {
    position: absolute;
    z-index: 2;
    width: min(40%, 746.6666666667px);
    aspect-ratio: 16/9;
    height: auto;
    pointer-events: none;
}
@media (max-width: 840px) {
    #top .mv_stickers {
        width: 100%;
    }
}
@media (max-width: 540px) {
    #top .mv_stickers {
        width: 130%;
    }
}
#top .mv_stickers .mv_sticker {
    position: absolute;
    height: auto;
    opacity: 0;
    scale: 1.1;
    transition: 0.5s opacity, 0.5s scale cubic-bezier(0.34, 1.4, 0.64, 1);
}
#top .mv_stickers .mv_sticker.-active {
    opacity: 1;
    scale: 1;
}
@media (prefers-reduced-motion: reduce) {
    #top .mv_stickers .mv_sticker {
        opacity: 1;
        scale: 1;
        transition: none;
    }
}
#top .mv_stickers.-tl {
    top: 0;
    left: 0;
}
#top .mv_stickers.-tl .mv_sticker.-s_01 {
    top: 0%;
    left: -10%;
    width: 40%;
    rotate: -23deg;
    z-index: 3;
}
#top .mv_stickers.-tl .mv_sticker.-s_02 {
    top: 6%;
    left: 30%;
    width: 39%;
    rotate: 0deg;
    z-index: 4;
}
#top .mv_stickers.-tl .mv_sticker.-s_03 {
    top: 2%;
    left: 57%;
    width: 28%;
    rotate: 9deg;
    z-index: 8;
}
#top .mv_stickers.-tl .mv_sticker.-s_04 {
    top: 36%;
    left: -15%;
    width: 39%;
    rotate: -14deg;
    z-index: 6;
}
#top .mv_stickers.-tl .mv_sticker.-s_05 {
    top: 25%;
    left: 19%;
    width: 30%;
    rotate: 0deg;
    z-index: 5;
}
#top .mv_stickers.-tl .mv_sticker.-s_06 {
    top: 48%;
    left: 24%;
    width: 30%;
    rotate: 9deg;
    z-index: 7;
}
#top .mv_stickers.-tl .mv_sticker.-s_07 {
    top: 44%;
    left: 42%;
    width: 28%;
    rotate: 13deg;
    z-index: 1;
}
#top .mv_stickers.-tl .mv_sticker.-s_08 {
    top: 50%;
    left: -6%;
    width: 40%;
    rotate: -10deg;
    z-index: 2;
}
#top .mv_stickers.-tr {
    top: 0;
    right: 0;
}
@media (max-width: 840px) {
    #top .mv_stickers.-tr {
        display: none;
    }
}
#top .mv_stickers.-tr .mv_sticker.-s_01 {
    top: 0%;
    left: -6%;
    width: 30%;
    rotate: 16deg;
    z-index: 6;
}
#top .mv_stickers.-tr .mv_sticker.-s_02 {
    top: 15%;
    left: 9%;
    width: 39%;
    rotate: -21deg;
    z-index: 2;
}
#top .mv_stickers.-tr .mv_sticker.-s_03 {
    top: -5%;
    left: 39%;
    width: 30%;
    rotate: 24deg;
    z-index: 1;
}
#top .mv_stickers.-tr .mv_sticker.-s_04 {
    top: 40%;
    left: 39%;
    width: 28%;
    rotate: 9deg;
    z-index: 7;
}
#top .mv_stickers.-tr .mv_sticker.-s_05 {
    top: 5%;
    left: 62%;
    width: 40%;
    rotate: 4deg;
    z-index: 3;
}
#top .mv_stickers.-tr .mv_sticker.-s_06 {
    top: 48%;
    left: 62%;
    width: 39%;
    rotate: -12deg;
    z-index: 4;
}
#top .mv_stickers.-tr .mv_sticker.-s_07 {
    top: 73%;
    left: 75%;
    width: 28%;
    rotate: -5deg;
    z-index: 5;
}
#top .mv_stickers.-bl {
    bottom: 0;
    left: 0;
}
@media (max-width: 840px) {
    #top .mv_stickers.-bl {
        display: none;
    }
}
#top .mv_stickers.-bl .mv_sticker.-s_01 {
    top: 9%;
    left: -7%;
    width: 28%;
    rotate: 9deg;
    z-index: 4;
}
#top .mv_stickers.-bl .mv_sticker.-s_02 {
    top: 29%;
    left: -10%;
    width: 39%;
    rotate: -21deg;
    z-index: 3;
}
#top .mv_stickers.-bl .mv_sticker.-s_03 {
    top: 33%;
    left: 11%;
    width: 40%;
    rotate: 9deg;
    z-index: 2;
}
#top .mv_stickers.-bl .mv_sticker.-s_04 {
    top: 53%;
    left: -7%;
    width: 30%;
    rotate: -17deg;
    z-index: 1;
}
#top .mv_stickers.-bl .mv_sticker.-s_05 {
    top: 71%;
    left: 14%;
    width: 39%;
    rotate: -8deg;
    z-index: 5;
}
#top .mv_stickers.-bl .mv_sticker.-s_06 {
    top: 57%;
    left: 36%;
    width: 30%;
    rotate: -28deg;
    z-index: 6;
}
#top .mv_stickers.-bl .mv_sticker.-s_07 {
    top: 76%;
    left: 51%;
    width: 28%;
    rotate: 8deg;
    z-index: 7;
}
#top .mv_stickers.-br {
    bottom: 0;
    right: 0;
}
#top .mv_stickers.-br .mv_sticker.-s_01 {
    top: 9%;
    left: 75%;
    width: 30%;
    rotate: -9deg;
    z-index: 6;
}
#top .mv_stickers.-br .mv_sticker.-s_02 {
    top: 28%;
    left: 64%;
    width: 40%;
    rotate: 11deg;
    z-index: 1;
}
#top .mv_stickers.-br .mv_sticker.-s_03 {
    top: 78%;
    left: 0%;
    width: 39%;
    rotate: 16deg;
    z-index: 5;
}
#top .mv_stickers.-br .mv_sticker.-s_04 {
    top: 54%;
    left: 17%;
    width: 40%;
    rotate: -7deg;
    z-index: 4;
}
#top .mv_stickers.-br .mv_sticker.-s_05 {
    top: 54%;
    left: 43%;
    width: 30%;
    rotate: 14deg;
    z-index: 2;
}
#top .mv_stickers.-br .mv_sticker.-s_06 {
    top: 68%;
    left: 60%;
    width: 39%;
    rotate: 8deg;
    z-index: 3;
}
@-webkit-keyframes mv-img {
    0% {
        opacity: 0;
        scale: 0;
    }
    48.75% {
        opacity: 0;
        scale: 0;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    55.75% {
        opacity: 1;
    }
    78.25%, 100% {
        opacity: 1;
        scale: 1;
    }
}
@keyframes mv-img {
    0% {
        opacity: 0;
        scale: 0;
    }
    48.75% {
        opacity: 0;
        scale: 0;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    55.75% {
        opacity: 1;
    }
    78.25%, 100% {
        opacity: 1;
        scale: 1;
    }
}
@-webkit-keyframes mv-copy {
    0% {
        scale: 1.5;
        translate: -50% -50%;
    }
    44.5% {
        scale: 1.5;
        translate: -50% -50%;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    76.75%, 100% {
        scale: 1;
        translate: calc(-50% + min(300px, 16vw)) calc(-50% + min(100px, 10svh));
    }
}
@keyframes mv-copy {
    0% {
        scale: 1.5;
        translate: -50% -50%;
    }
    44.5% {
        scale: 1.5;
        translate: -50% -50%;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    76.75%, 100% {
        scale: 1;
        translate: calc(-50% + min(300px, 16vw)) calc(-50% + min(100px, 10svh));
    }
}
@-webkit-keyframes mv-hd {
    0% {
        translate: 0 -200px;
    }
    42.5% {
        translate: 0 -200px;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    74.75%, 100% {
        translate: 0;
    }
}
@keyframes mv-hd {
    0% {
        translate: 0 -200px;
    }
    42.5% {
        translate: 0 -200px;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    74.75%, 100% {
        translate: 0;
    }
}
@-webkit-keyframes mv-scrolltxt {
    0% {
        translate: 0 200px;
    }
    44.5% {
        translate: 0 200px;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    76.75%, 100% {
        translate: 0;
    }
}
@keyframes mv-scrolltxt {
    0% {
        translate: 0 200px;
    }
    44.5% {
        translate: 0 200px;
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }
    76.75%, 100% {
        translate: 0;
    }
}
#top .news-services {
    background-image: url(../img/cmn/bg_bk.jpg);
    background-size: 1.25em;
    background-position: center;
    background-repeat: repeat;
    border-radius: 0 0 min(5vw, 50px) min(5vw, 50px);
    position: relative;
    z-index: 5;
    padding-bottom: clamp(1.5em, 4vw, 2.5em);
}
#top .news {
    margin-top: 0;
    z-index: 2;
}
#top .news.-empty {
    visibility: hidden;
    height: clamp(3.6em, 8vw, 7.5em);
    overflow: hidden;
}
#top .news_inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 5% 5%;
    padding: calc(clamp(1.5em, 4vw, 2.5em) * 1.5) min(5vw, 7.5em);
}
#top .news_inner::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background-color: #EFF0F0;
    border: 2px solid #000;
    border-radius: min(5vw, 30px);
    rotate: -2deg;
}
@media (max-width: 1280px) {
    #top .news_inner {
        flex-direction: column;
        gap: 2em 0;
    }
}
@media (max-width: 840px) {
    #top .news_inner {
        padding-inline: 10%;
    }
}
#top .news_head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5em 0;
    flex-shrink: 0;
    width: 20%;
    min-width: 11em;
}
@media (max-width: 1280px) {
    #top .news_head {
        display: contents;
    }
}
#top .news_secttl {
    margin-bottom: 0;
}
@media (max-width: 1280px) {
    #top .news_secttl {
        order: 1;
    }
}
#top .news_morebtn {
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.35em 0.75em;
    border: 2px solid #000;
    border-radius: 0;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s border-color, 0.5s color;
}
#top .news_morebtn span:not(.icon) {
    font-family: "Poppins", sans-serif;
    line-height: 1.2;
    white-space: nowrap;
}
#top .news_morebtn .icon {
    flex-shrink: 0;
    display: block;
    overflow: hidden;
    width: calc(0.65em * 53 / 12);
    height: 0.65em;
}
#top .news_morebtn .icon::before {
    content: "";
    display: block;
    width: calc(0.65em * 74 / 12 * 2);
    height: 100%;
    background-color: #fff;
    -webkit-mask-image: url("../img/cmn/arrow_continuous.svg");
    mask-image: url("../img/cmn/arrow_continuous.svg");
    -webkit-mask-size: calc(0.65em * 74 / 12) 100%;
    mask-size: calc(0.65em * 74 / 12) 100%;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: left center;
    mask-position: left center;
    translate: calc(0.65em * -19 / 12) 0;
    transition: 0.5s translate, 0.5s background-color;
}
#top .news_morebtn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #FBD249;
}
#top .news_morebtn:hover .icon::before {
    background-color: #FBD249;
    translate: 0;
}
@media (max-width: 1280px) {
    #top .news_morebtn {
        order: 3;
    }
}
#top .news_list {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 1em 0;
}
@media (max-width: 1280px) {
    #top .news_list {
        order: 2;
        width: 100%;
    }
}
#top .news_link {
    display: flex;
    align-items: center;
    gap: 0 1.25em;
    padding: 0.15em 0.15em;
    color: #000;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s color;
}
#top .news_link:hover {
    background-color: #000;
    color: #FBD249;
}
#top .news_link:hover .news_date::before {
    translate: 0.25em 0;
}
#top .news_link:hover .news_tax {
    border-color: currentColor;
}
#top .news_link:hover .news_ttl {
    color: #FBD249;
}
@media (max-width: 1024px) {
    #top .news_link {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 0.35em 0;
    }
}
#top .news_content {
    display: flex;
    align-items: center;
    gap: 0 1.25em;
    flex: 1;
    min-width: 0;
    width: 100%;
}
@media (max-width: 540px) {
    #top .news_content {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35em 0;
    }
}
#top .news_date {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0 0.75em;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.125em;
    translate: 0 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}
@media (max-width: 840px) {
    #top .news_date {
        font-size: 1em;
    }
}
#top .news_date::before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 0.5em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url("../img/cmn/news_icon.svg");
    mask-image: url("../img/cmn/news_icon.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: 0.5s background-color, 0.5s translate;
}
#top .news_ttl {
    flex: 1;
    min-width: 0;
    font-size: 1.125em;
    line-height: 1.4;
    color: inherit;
    transition: 0.5s color;
}
@media (max-width: 840px) {
    #top .news_ttl {
        font-size: 1em;
    }
}
#top .news_tax {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5em;
    padding: 0.15em 0.75em;
    margin-left: auto;
    border: 1px solid currentColor;
    border-radius: 100px;
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s border-color, 0.5s color;
}
@media (max-width: 1024px) {
    #top .news_tax {
        margin-left: 0;
        font-size: 0.85em;
    }
}
#top .news_nopost {
    flex: 1;
    min-width: 0;
}
#top .services {
    position: relative;
    z-index: 1;
    margin-top: -2.5em;
    padding: clamp(3.6em, 8vw, 7.5em) min(5vw, 7.5em) 0;
    background-color: #fff;
    border-radius: min(5vw, 50px);
}
@media (max-width: 840px) {
    #top .services {
        padding-top: calc(clamp(3.6em, 8vw, 7.5em) * 1.75);
    }
}
#top .services_secttl {
    text-align: center;
}
#top .services_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5em min(1.5vw, 2em);
}
#top .services_item {
    width: calc((100% - min(1.5vw, 2em) * 1) / 2);
}
@media (max-width: 840px) {
    #top .services_item {
        width: 100%;
    }
}
#top .services_link {
    position: relative;
    display: block;
    min-height: 300px;
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    overflow: hidden;
    background-color: #EFF0F0;
    border: 3px solid #000;
    border-radius: min(5vw, 30px);
    color: #000;
    text-decoration: none;
}
@media (max-width: 840px) {
    #top .services_link {
        min-height: 260px;
    }
}
@media (max-width: 540px) {
    #top .services_link {
        min-height: 220px;
    }
}
#top .services_link:hover {
    background-color: #1738A6;
    rotate: 2.5deg;
}
#top .services_link:hover .services_ttl .ja,
#top .services_link:hover .services_ttl .en {
    color: #fff;
}
#top .services_link:hover .services_btn::before {
    translate: 0.35em -0.35em;
}
#top .services_link:hover .services_btn::after {
    rotate: 15deg;
}
#top .services_ttl {
    position: relative;
    z-index: 1;
}
@media (max-width: 840px) {
    #top .services_ttl {
        margin-top: calc(clamp(1.5em, 4vw, 2.5em) * 0.35);
    }
}
#top .services_ttl .ja {
    display: block;
    font-size: calc(clamp(2.6rem, 3.5vw, 3.2rem) * 1.25);
    line-height: 1.35;
    transition: 0.5s color;
    font-weight: 900;
}
#top .services_ttl .en {
    display: block;
    margin-top: 0.25em;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: clamp(2.6rem, 3.5vw, 3.2rem);
    line-height: 1.2;
    color: #636969;
    text-transform: lowercase;
    transition: 0.5s color;
}
#top .services_img {
    position: absolute;
    right: -20%;
    top: 50%;
    translate: 0 -50%;
    z-index: 0;
    width: 70%;
    pointer-events: none;
}
@media (max-width: 540px) {
    #top .services_img {
        right: -30%;
    }
}
#top .services_btn {
    position: absolute;
    right: 5%;
    bottom: 10%;
    z-index: 1;
    display: block;
    width: 7.5em;
    height: 7.5em;
}
#top .services_btn::before {
    content: "";
    position: absolute;
    inset: 0;
    scale: 0.25;
    z-index: 1;
    background-color: #000;
    -webkit-mask-image: url("../img/cmn/arrow_diagonal.svg");
    mask-image: url("../img/cmn/arrow_diagonal.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: 0.5s translate;
}
#top .services_btn::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/top/services_btn.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: 0.5s rotate;
}
@media (max-width: 840px) {
    #top .services_btn {
        width: 5em;
        height: 5em;
    }
}
#top .services_nav {
    position: relative;
    z-index: 1;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#top .services_nav .nav_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1em min(1.5vw, 2em);
}
#top .services_nav .nav_item {
    width: calc((100% - min(1.5vw, 2em) * 3) / 4);
}
@media (max-width: 1280px) {
    #top .services_nav .nav_item {
        width: calc((100% - min(1.5vw, 2em)) / 2);
    }
}
@media (max-width: 840px) {
    #top .services_nav .nav_item {
        width: 100%;
    }
}
#top .services_nav .nav_link {
    display: flex;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 2em 1.5em;
    border: 2px solid #000;
    border-radius: min(5vw, 30px);
    text-decoration: none;
    background-color: #000;
    color: #fff;
}
#top .services_nav .nav_link span:not(.icon) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0;
    line-height: 1.2;
    padding: 0 0.75em;
    padding-left: calc(0.75em + 0.65em);
}
#top .services_nav .nav_link .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow_diagonal.svg");
    mask-image: url("../img/cmn/arrow_diagonal.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: 0.5s translate, 0.5s background-color;
}
#top .services_nav .nav_link:hover {
    background-color: #FBD249;
    border-color: #000;
    color: #000;
}
#top .services_nav .nav_link:hover .icon {
    background-color: #000;
    translate: 0.25em -0.25em;
}
#top .services_nav .nav_link {
    width: 100%;
    justify-content: space-between;
}
#top .services_nav .nav_link span:not(.icon) {
    padding: 0;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    letter-spacing: 0.03em;
    text-align: center;
}
#top .services_nav .nav_link .icon {
    width: 1.25em;
    height: 1.25em;
}
#top .services_bnr {
    margin-top: clamp(1.5em, 4vw, 2.5em);
    max-width: 1024px;
    margin-inline: auto;
}
#top .services_bnr .bnr_txt {
    text-align: center;
    margin-top: 0.5em;
}
#top .services_accent {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    font-size: 100vw;
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: 19vw;
    line-height: 0.85;
    color: rgba(0, 0, 0, 0.06);
    text-align: center;
    text-transform: lowercase;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#top .voice_line {
    position: absolute;
    left: 50%;
    top: -30%;
    z-index: 0;
    width: 100%;
    translate: -50% 0;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
#top .voice_line svg {
    display: block;
    width: 100%;
    height: auto;
}
@media (max-width: 840px) {
    #top .voice_line {
        top: 0;
    }
}
#top .voice_line_path {
    fill: none;
    stroke: #FBD249;
    stroke-width: 300;
    stroke-linejoin: bevel;
    stroke-dasharray: 1;
    stroke-dashoffset: 1;
    transition: stroke-dashoffset 1s ease-out;
}
#top .voice.-play .voice_line_path {
    stroke-dashoffset: 0;
}
#top .voice.-play .voice_sticker {
    opacity: 1;
    scale: 1;
    transition-delay: 0.55s;
}
#top .voice_inner {
    position: relative;
    z-index: 1;
    padding: 0 min(5vw, 7.5em);
}
#top .voice_head {
    position: relative;
    z-index: 2;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
}
#top .voice_morebtn {
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.35em 0.75em;
    border: 2px solid #000;
    border-radius: 0;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s border-color, 0.5s color;
}
#top .voice_morebtn span:not(.icon) {
    font-family: "Poppins", sans-serif;
    line-height: 1.2;
    white-space: nowrap;
}
#top .voice_morebtn .icon {
    flex-shrink: 0;
    display: block;
    overflow: hidden;
    width: calc(0.65em * 53 / 12);
    height: 0.65em;
}
#top .voice_morebtn .icon::before {
    content: "";
    display: block;
    width: calc(0.65em * 74 / 12 * 2);
    height: 100%;
    background-color: #fff;
    -webkit-mask-image: url("../img/cmn/arrow_continuous.svg");
    mask-image: url("../img/cmn/arrow_continuous.svg");
    -webkit-mask-size: calc(0.65em * 74 / 12) 100%;
    mask-size: calc(0.65em * 74 / 12) 100%;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: left center;
    mask-position: left center;
    translate: calc(0.65em * -19 / 12) 0;
    transition: 0.5s translate, 0.5s background-color;
}
#top .voice_morebtn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #FBD249;
}
#top .voice_morebtn:hover .icon::before {
    background-color: #FBD249;
    translate: 0;
}
#top .voice_morebtn {
    margin-top: 2em;
}
#top .voice_slider {
    --voice-slide-w: 38vw;
    --voice-gap: 6vw;
    position: relative;
    z-index: 1;
    padding: 2.5em 0;
    overflow: visible;
}
@media (max-width: 840px) {
    #top .voice_slider {
        --voice-slide-w: 75vw;
        --voice-gap: 4vw;
        padding: 2.5em 0 4em;
    }
}
#top .voice_slider .slider_list {
    align-items: center;
}
#top .voice_slider .slider_item {
    width: var(--voice-slide-w);
    height: auto;
}
#top .voice_slider .slider_prev, #top .voice_slider .slider_next {
    top: 50%;
    z-index: 3;
    width: 3em;
    height: 3em;
    margin-top: 0;
    color: #000;
    translate: -50% -50%;
    transition: 0.5s color;
}
#top .voice_slider .slider_prev::after, #top .voice_slider .slider_next::after {
    font-size: 2em;
    font-weight: 700;
}
#top .voice_slider .slider_prev:hover, #top .voice_slider .slider_next:hover {
    color: #1738A6;
}
@media (max-width: 840px) {
    #top .voice_slider .slider_prev, #top .voice_slider .slider_next {
        top: auto;
        bottom: 0.25em;
        left: 50%;
        right: auto;
        width: 2.5em;
        height: 2.5em;
    }
    #top .voice_slider .slider_prev::after, #top .voice_slider .slider_next::after {
        font-size: 1.5em;
    }
}
#top .voice_slider .slider_prev {
    left: calc(50% - var(--voice-slide-w) / 2 - var(--voice-gap) / 2);
}
@media (max-width: 840px) {
    #top .voice_slider .slider_prev {
        left: 50%;
        translate: calc(-100% - 0.5em) 0;
    }
}
#top .voice_slider .slider_next {
    left: calc(50% + var(--voice-slide-w) / 2 + var(--voice-gap) / 2);
    right: auto;
}
@media (max-width: 840px) {
    #top .voice_slider .slider_next {
        left: 50%;
        translate: 0.5em 0;
    }
}
#top .voice_unit {
    display: block;
    transition: 0.5s scale;
}
#top .voice_unit:hover {
    scale: 1.1;
}
#top .voice_sticker {
    position: absolute;
    top: -30%;
    right: min(-3.5vw, -5em);
    z-index: 1;
    width: min(40%, 600px);
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    rotate: 3deg;
    opacity: 0;
    scale: 1.2;
    transition: 0.45s opacity ease-out, 0.45s scale linear;
}
@media (max-width: 840px) {
    #top .voice_sticker {
        top: -10%;
        right: -3.5%;
    }
}
#top .recruit_scrolltxt {
    position: absolute;
    left: 50%;
    z-index: 0;
    display: flex;
    align-items: center;
    width: 140%;
    height: clamp(55px, 6vw, 90px);
    overflow: hidden;
    background-color: #fff;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    translate: -50% 0;
}
#top .recruit_scrolltxt.-top {
    top: 30%;
    rotate: 8deg;
}
#top .recruit_scrolltxt.-bottom {
    top: 48%;
    rotate: -6deg;
}
#top .recruit_scrolltxt.-bottom .scrolltxt_track {
    animation-direction: reverse;
    -webkit-animation-duration: 50s;
    animation-duration: 50s;
}
#top .recruit_scrolltxt .scrolltxt_track {
    display: flex;
    align-items: center;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    -webkit-animation: ft-scrolltxt 40s linear infinite;
    animation: ft-scrolltxt 40s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
    #top .recruit_scrolltxt .scrolltxt_track {
        -webkit-animation: none;
        animation: none;
    }
}
#top .recruit_scrolltxt .scrolltxt_unit {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding-right: 0.5em;
}
#top .recruit_scrolltxt .scrolltxt_txt {
    flex-shrink: 0;
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: clamp(2.4rem, 4vw, 5.8rem);
    line-height: 1;
    color: #FBD249;
    text-transform: lowercase;
    white-space: nowrap;
}
#top .recruit_inner {
    position: relative;
    z-index: 1;
}
#top .recruit_link {
    display: block;
    color: #fff;
    text-decoration: none;
}
#top .recruit_link:hover {
    rotate: -2deg;
}
#top .recruit_link:hover .recruit_icon::before {
    translate: 0.5em -0.5em;
}
#top .recruit_frame {
    position: relative;
    padding: clamp(20px, 2.5vw, 30px);
    background-color: #fff;
    border: 3px solid #1738A6;
    border-radius: min(8vw, 64px);
}
@media (max-width: 840px) {
    #top .recruit_frame {
        padding: 20px;
        border-radius: min(10vw, 40px);
    }
}
#top .recruit_bordertxt {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
    pointer-events: none;
}
#top .recruit_bordertxt .bordertxt_txt {
    fill: #1738A6;
    font-weight: 600;
    font-size: clamp(1.2rem, 1.8vw, 1.4rem);
    word-spacing: 0.85em;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    dominant-baseline: central;
}
#top .recruit_bordertxt .bordertxt_txt textPath {
    font-family: "Poppins", sans-serif;
}
@media (max-width: 540px) {
    #top .recruit_bordertxt .bordertxt_txt {
        font-size: 0.75em;
    }
}
#top .recruit_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 3.5em 0;
    min-height: clamp(255px, 28vw, 350px);
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 7.5em);
    overflow: hidden;
    background-color: #1738A6;
    border: 4px solid #1738A6;
    border-radius: min(5vw, 30px);
    container-type: inline-size;
}
@media (max-width: 840px) {
    #top .recruit_content {
        gap: 1.5em 0;
        min-height: 0;
        padding: 2em 1.5em;
    }
}
#top .recruit_secttl {
    position: relative;
    z-index: 1;
    margin-bottom: 0;
}
#top .recruit_secttl .en,
#top .recruit_secttl .ja {
    color: #fff;
}
#top .recruit_txt {
    position: relative;
    z-index: 1;
    font-size: 1.125em;
    color: #fff;
}
@media (max-width: 840px) {
    #top .recruit_txt {
        font-size: 1em;
    }
}
#top .recruit_icon {
    position: absolute;
    top: clamp(1.5em, 4vw, 2.5em);
    right: min(5vw, 7.5em);
    z-index: 1;
    display: block;
    width: 4.5em;
    height: 4.5em;
    border: 3px solid #fff;
    border-radius: min(5vw, 20px);
}
#top .recruit_icon::before {
    content: "";
    position: absolute;
    inset: 0;
    scale: 0.35;
    background-color: #fff;
    -webkit-mask-image: url("../img/cmn/arrow_diagonal.svg");
    mask-image: url("../img/cmn/arrow_diagonal.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: 0.5s translate;
}
@media (max-width: 840px) {
    #top .recruit_icon {
        width: 3.5em;
        height: 3.5em;
    }
}
#top .recruit_accent {
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 0;
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: 28cqw;
    line-height: 0.65;
    color: rgba(255, 255, 255, 0.1);
    white-space: nowrap;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    translate: -50% 0;
}

body.top:not(.-mv_skip) .hd_inner {
    translate: 0 -200px;
}
body.top:not(.-mv_skip).-mv_play .hd_inner:not(.-done) {
    -webkit-animation: mv-hd 2s linear forwards;
    animation: mv-hd 2s linear forwards;
}
body.top:not(.-mv_skip).-mv_play #top .mv_scrolltxt:not(.-done) {
    -webkit-animation: mv-scrolltxt 2s linear forwards;
    animation: mv-scrolltxt 2s linear forwards;
}
body.top.-mv_skip .hd_inner {
    translate: 0;
}
body.top.-mv_skip #top .mv_scrolltxt {
    translate: 0;
    -webkit-animation: none;
    animation: none;
}
body.top .hd_inner.-done {
    translate: 0;
    -webkit-animation: none;
    animation: none;
}

/*==================================================================================================
	お知らせ（一覧・詳細）
==================================================================================================*/
#news .archive_list {
    display: flex;
    flex-direction: column;
    gap: 0.75em 0;
    width: 100%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    position: relative;
    z-index: 5;
}
#news .archive_link {
    display: flex;
    align-items: center;
    gap: 0 1.25em;
    width: 100%;
    padding: 1em 0.75em 1em 1.25em;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 4px;
    color: #000;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s color;
}
#news .archive_link:hover {
    background-color: #000;
    color: #FBD249;
}
#news .archive_link:hover .archive_date::before {
    translate: 0.25em 0;
}
#news .archive_link:hover .archive_tax {
    border-color: currentColor;
}
#news .archive_link:hover .archive_ttl {
    color: #FBD249;
}
@media (max-width: 1024px) {
    #news .archive_link {
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 0.35em 0;
        padding: 1em;
    }
}
#news .archive_content {
    display: flex;
    align-items: center;
    gap: 0 1.25em;
    flex: 1;
    min-width: 0;
    width: 100%;
}
@media (max-width: 540px) {
    #news .archive_content {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.35em 0;
    }
}
#news .archive_date {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 0 0.75em;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.125em;
    translate: 0 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
}
@media (max-width: 840px) {
    #news .archive_date {
        font-size: 1em;
    }
}
#news .archive_date::before {
    content: "";
    flex-shrink: 0;
    display: block;
    width: 0.5em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url("../img/cmn/news_icon.svg");
    mask-image: url("../img/cmn/news_icon.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    transition: 0.5s background-color, 0.5s translate;
}
#news .archive_ttl {
    flex: 1;
    min-width: 0;
    font-size: 1.125em;
    line-height: 1.4;
    color: inherit;
    transition: 0.5s color;
}
@media (max-width: 840px) {
    #news .archive_ttl {
        font-size: 1em;
    }
}
#news .archive_tax {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 7.5em;
    padding: 0.15em 0.75em;
    margin-left: auto;
    border: 1px solid currentColor;
    border-radius: 100px;
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
    transition: 0.5s border-color, 0.5s color;
}
@media (max-width: 1024px) {
    #news .archive_tax {
        margin-left: 0;
        font-size: 0.85em;
    }
}
#news .archive_sticker {
    position: absolute;
    pointer-events: none;
}
#news .archive_sticker.-s_01 {
    right: -10%;
    top: 5%;
    width: 22.5%;
    rotate: -8deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #news .archive_sticker.-s_01 {
        right: -5%;
        width: 25%;
    }
}
@media (max-width: 840px) {
    #news .archive_sticker.-s_01 {
        display: none;
    }
}
#news .archive_sticker.-s_02 {
    left: -10%;
    bottom: 5%;
    width: 18%;
    rotate: -5deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #news .archive_sticker.-s_02 {
        left: -5%;
        width: 20%;
    }
}
@media (max-width: 840px) {
    #news .archive_sticker.-s_02 {
        display: none;
    }
}
#news .archive_nopost {
    display: block;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    text-align: center;
}
#news .article_unit {
    position: relative;
    z-index: 2;
    width: 100%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 20px);
}
#news .article_info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5em 1em;
    margin-bottom: 1em;
}
#news .article_date {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.125em;
    color: #818181;
    line-height: 1.2;
    text-transform: uppercase;
}
@media (max-width: 840px) {
    #news .article_date {
        font-size: 1em;
    }
}
#news .article_tax {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 6.25em;
    padding: 0.1em 0.75em;
    border: 1px solid #000;
    border-radius: min(10vw, 100px);
    font-family: "Unbounded", sans-serif;
    font-weight: 600;
    font-size: 0.875em;
    line-height: 1.4;
    text-align: center;
    text-transform: uppercase;
}
#news .article_ttl {
    margin-bottom: 1.5em;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.35;
}
#news .article_content {
    display: flex;
    flex-direction: column;
    gap: 1.5em 0;
    width: 100%;
}
#news .article_content p {
    margin: 0;
}
#news .article_content p + p {
    margin-top: 0.75em;
}
#news .article_content img {
    width: auto;
}
#news .article_backbtn {
    display: flex;
    align-items: center;
    gap: 0 0.25em;
    border-bottom: 2px solid currentColor;
    color: #000;
    padding-bottom: 0.15em;
    line-height: 1.35;
    text-decoration: none;
}
#news .article_backbtn span:not(.icon) {
    line-height: 1.35;
}
#news .article_backbtn .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow.svg");
    mask-image: url("../img/cmn/arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    rotate: 180deg;
    background-color: currentColor;
    transition: 0.5s translate, 0.5s background-color;
    margin-top: 0.15em;
}
#news .article_backbtn:hover {
    color: #FBD249;
}
#news .article_backbtn:hover .icon {
    translate: -0.25em 0;
}
#news .article_backbtn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: clamp(1.5em, 4vw, 2.5em) auto 0;
}
#news .article_sticker {
    position: absolute;
    pointer-events: none;
}
#news .article_sticker.-s_01 {
    right: -8%;
    top: 12.5%;
    width: 18%;
    rotate: 8deg;
    z-index: 3;
}
@media (max-width: 1280px) {
    #news .article_sticker.-s_01 {
        right: -2.5%;
        width: 20%;
    }
}
@media (max-width: 840px) {
    #news .article_sticker.-s_01 {
        display: none;
    }
}
#news .article_sticker.-s_02 {
    left: -8%;
    bottom: 15%;
    width: 16%;
    rotate: -5deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #news .article_sticker.-s_02 {
        left: -2.5%;
        width: 18%;
    }
}
@media (max-width: 840px) {
    #news .article_sticker.-s_02 {
        display: none;
    }
}

/*==================================================================================================
	販売
==================================================================================================*/
#sales .archive_list {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
    width: 100%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    position: relative;
    z-index: 5;
}
#sales .archive_link {
    display: flex;
    align-items: center;
    gap: 0 2.75em;
    width: 100%;
    padding: min(5vw, 1.5em) min(5vw, 1.5em);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 20px);
    color: #000;
    text-decoration: none;
    transition: 0.5s border-color, 0.5s color;
}
#sales .archive_link:hover {
    border-color: #FBD249;
}
#sales .archive_link:hover .archive_ttl {
    color: #FBD249;
}
@media (max-width: 1024px) {
    #sales .archive_link {
        flex-direction: column;
        align-items: stretch;
        gap: 1.25em 0;
        padding: 1.25em;
    }
}
#sales .archive_img {
    flex-shrink: 0;
    width: 215px;
    aspect-ratio: 4/3;
    overflow: hidden;
}
#sales .archive_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: top;
}
@media (max-width: 1024px) {
    #sales .archive_img {
        width: 100%;
    }
}
#sales .archive_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.5em 0;
    flex: 1;
    min-width: 0;
    width: 100%;
    container-type: inline-size;
    container-name: sales-card;
}
#sales .archive_ttl {
    width: 100%;
    overflow: hidden;
    color: #1738A6;
    font-size: 1.375em;
    line-height: 1.25;
    text-decoration: underline;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: 0.5s color;
}
@media (max-width: 1024px) {
    #sales .archive_ttl {
        font-size: 1.125em;
        white-space: normal;
        display: -webkit-box;
        -webkit-line-clamp: 2;
    }
}
#sales .archive_unit {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: clamp(1em, 3.5vw, 1.5em) 5%;
    width: 100%;
}
@container sales-card (max-width: 82rem) {
    #sales .archive_unit {
        flex-wrap: wrap;
    }
}
#sales .archive_price {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0 1.25em;
    flex: 1 1 auto;
    min-width: 0;
}
@container sales-card (max-width: 82rem) {
    #sales .archive_price {
        flex: 1 1 100%;
        width: 100%;
    }
}
@media (max-width: 840px) {
    #sales .archive_price {
        gap: 1em 1.5em;
    }
}
#sales .archive .sales_total,
#sales .archive .sales_vehicle,
#sales .archive .sales_cost {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5em 0;
}
#sales .archive .sales_total {
    margin-right: 1em;
}
@media (max-width: 840px) {
    #sales .archive .sales_total {
        margin-right: 0;
    }
}
#sales .archive .total_label,
#sales .archive .vehicle_label,
#sales .archive .cost_label,
#sales .archive .data_term {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5em;
    height: 1.25em;
    padding: 0 0.75em;
    background-color: #EFF0F0;
    border-radius: min(10vw, 100px);
    color: #363636;
    font-size: 0.875em;
    line-height: 1.25;
    white-space: nowrap;
}
#sales .archive .total_num,
#sales .archive .vehicle_num,
#sales .archive .cost_num {
    display: flex;
    align-items: flex-end;
    gap: 0 0.25em;
    margin: 0;
    line-height: 1;
}
#sales .archive .total_num .num,
#sales .archive .vehicle_num .num,
#sales .archive .cost_num .num {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
}
#sales .archive .total_num .unit,
#sales .archive .vehicle_num .unit,
#sales .archive .cost_num .unit {
    color: #000;
    font-size: 0.875em;
    line-height: 1;
    padding-bottom: 0.1em;
    translate: 0 -0.3em;
}
#sales .archive .total_num .num {
    color: #f1303a;
    font-size: clamp(3.2rem, 5vw, 4.8rem);
    line-height: 0.9;
}
#sales .archive .vehicle_num .num,
#sales .archive .cost_num .num {
    color: #000;
    font-size: clamp(2.6rem, 3.5vw, 3.2rem);
    line-height: 1;
}
#sales .archive_data {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: auto auto auto auto;
    grid-template-columns: auto auto auto auto;
    gap: 0.5em 1.25em;
    align-items: center;
    flex: 0 0 auto;
    min-width: 0;
}
@container sales-card (max-width: 82rem) {
    #sales .archive_data {
        flex: 1 1 100%;
        width: 100%;
    }
}
@media (max-width: 840px) {
    #sales .archive_data {
        width: 100%;
        -ms-grid-columns: auto 1fr;
        grid-template-columns: auto 1fr;
    }
}
#sales .archive .data_item {
    display: contents;
}
#sales .archive .data_desc {
    font-size: 1em;
    line-height: 1.25;
    min-width: 0;
    white-space: nowrap;
}
#sales .archive_sticker {
    position: absolute;
    pointer-events: none;
}
#sales .archive_sticker.-s_01 {
    left: -10%;
    top: 15%;
    width: 18%;
    rotate: -8deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .archive_sticker.-s_01 {
        left: -5%;
        width: 20%;
    }
}
@media (max-width: 840px) {
    #sales .archive_sticker.-s_01 {
        display: none;
    }
}
#sales .archive_sticker.-s_02 {
    right: -8%;
    top: 45%;
    width: 14%;
    rotate: 10deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .archive_sticker.-s_02 {
        right: -3%;
        width: 16%;
    }
}
@media (max-width: 840px) {
    #sales .archive_sticker.-s_02 {
        display: none;
    }
}
#sales .archive_sticker.-s_03 {
    left: -8%;
    bottom: 10%;
    width: 16%;
    rotate: -12deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .archive_sticker.-s_03 {
        left: -3%;
        width: 18%;
    }
}
@media (max-width: 840px) {
    #sales .archive_sticker.-s_03 {
        display: none;
    }
}
#sales .form {
    position: sticky;
    top: 70px;
    z-index: 100;
    box-sizing: border-box;
    width: auto;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 1em 0;
    background-color: #EFF0F0;
    border-bottom: 3px solid transparent;
    transition: 0.35s background-color, 0.35s border-color;
}
@media (max-width: 840px) {
    #sales .form {
        font-size: 1.5vw;
    }
}
@media (max-width: 540px) {
    #sales .form {
        font-size: 2.25vw;
    }
}
#sales .form.-stuck {
    background-color: #fff;
    border-bottom-color: #000;
}
#sales .form_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75em 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0;
}
#sales .form_reset {
    margin: 0 min(5vw, 7.5em);
    padding: 0;
    border: none;
    background: none;
    color: #363636;
    font: inherit;
    text-decoration: underline;
    cursor: pointer;
}
#sales .form_reset:hover {
    opacity: 0.7;
}
#sales .form_content {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 2em;
    box-sizing: border-box;
    width: 100%;
    padding: 0 0 0.5em min(5vw, 7.5em);
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(0, 0, 0, 0.35) transparent;
}
#sales .form_content::after {
    content: "";
    flex-shrink: 0;
    width: min(5vw, 7.5em);
}
#sales .form_content::-webkit-scrollbar {
    height: 5px;
}
#sales .form_content::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.06);
    border-radius: min(10vw, 100px);
}
#sales .form_content::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.35);
    border-radius: min(10vw, 100px);
}
#sales .form_content::-webkit-scrollbar-thumb:hover {
    background-color: rgba(0, 0, 0, 0.55);
}
#sales .form_unit {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 1em;
    flex-shrink: 0;
}
#sales .form_ttl {
    position: relative;
    flex-shrink: 0;
    padding-right: 1em;
    color: #818181;
    font-size: 1.125em;
    line-height: 1.4;
    white-space: nowrap;
}
#sales .form_ttl::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 1.25em;
    background-color: #818181;
    translate: 0 -50%;
}
#sales .form_select {
    position: relative;
    flex-shrink: 0;
}
#sales .form_btn,
#sales .form .sort_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0 0.5em;
    flex-shrink: 0;
    height: 2.5em;
    padding: 0 1.5em;
    background-color: #fff;
    border: 1px dashed #818181;
    border-radius: min(10vw, 100px);
    color: #818181;
    font: inherit;
    font-size: 1.125em;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    transition: 0.35s border-color, 0.35s color, 0.35s border-style;
}
#sales .form_btn .icon,
#sales .form .sort_btn .icon {
    flex-shrink: 0;
    display: block;
    width: 0.45em;
    height: 0.45em;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    rotate: -45deg;
    transition: 0.35s rotate;
}
#sales .form_btn.-active, #sales .form_btn[data-state=asc], #sales .form_btn[data-state=desc],
#sales .form .sort_btn.-active,
#sales .form .sort_btn[data-state=asc],
#sales .form .sort_btn[data-state=desc] {
    border-style: solid;
    border-color: #000;
    border-width: 2px;
    color: #000;
}
#sales .form_btn.-open {
    border-style: solid;
    border-color: #000;
    border-width: 2px;
    color: #000;
}
#sales .form_btn.-open .icon {
    rotate: 45deg;
}
#sales .form .sort_btn[data-icon=up] .icon {
    rotate: -135deg;
}
#sales .form .sort_btn[data-icon=down] .icon {
    rotate: 45deg;
}
#sales .form .select_list {
    position: absolute;
    top: calc(100% + 0.5em);
    left: 0;
    z-index: 30;
    display: flex;
    flex-direction: column;
    gap: 0.15em 0;
    min-width: 100%;
    max-height: 16em;
    margin: 0;
    padding: 0.5em 0;
    overflow-y: auto;
    -ms-scroll-chaining: none;
    overscroll-behavior: contain;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 10px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
#sales .form .select_item {
    width: 100%;
}
#sales .form .select_btn {
    display: block;
    width: 100%;
    padding: 0.5em 1.25em;
    border: none;
    background: none;
    color: #000;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
#sales .form .select_btn:hover, #sales .form .select_btn.-active {
    background-color: #EFF0F0;
}
#sales .form .sort_list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0 1em;
    flex-shrink: 0;
}
#sales .article_unit {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: clamp(1.5em, 4vw, 2.5em) 0;
    width: 100%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 20px);
}
#sales .article_head {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 2em 2.5%;
    width: 100%;
}
@media (max-width: 1024px) {
    #sales .article_head {
        flex-direction: column;
        flex-wrap: nowrap;
        gap: 1.5em 0;
    }
}
#sales .article_gallery {
    flex: 1 1 48%;
    min-width: 0;
    max-width: 630px;
}
@media (max-width: 1024px) {
    #sales .article_gallery {
        order: 1;
        flex: 0 0 auto;
        max-width: none;
        width: 100%;
    }
}
#sales .article_gallery .gallery_slider {
    position: relative;
    width: 100%;
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: min(5vw, 10px);
}
#sales .article_gallery .gallery_slider .slider_list {
    height: 100%;
}
#sales .article_gallery .gallery_slider .slider_item {
    height: 100%;
}
#sales .article_gallery .gallery_slider .slider_item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: top;
}
#sales .article_gallery .gallery_slider .slider_prev, #sales .article_gallery .gallery_slider .slider_next {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 74px;
    margin: 0;
    padding: 0;
    background-color: #1738A6;
    background-image: none;
    border: none;
    color: #fff;
    cursor: pointer;
    translate: 0 -50%;
}
#sales .article_gallery .gallery_slider .slider_prev::after, #sales .article_gallery .gallery_slider .slider_next::after {
    content: "";
    display: block;
    margin: 0;
    background-image: none;
    border: none;
    font-family: "Poppins", sans-serif;
    font-size: 1.25em;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}
#sales .article_gallery .gallery_slider .slider_prev.swiper-button-disabled, #sales .article_gallery .gallery_slider .slider_next.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}
#sales .article_gallery .gallery_slider .slider_prev {
    left: 0;
    border-radius: 0 min(10vw, 100px) min(10vw, 100px) 0;
}
#sales .article_gallery .gallery_slider .slider_prev::after {
    content: "<";
}
#sales .article_gallery .gallery_slider .slider_next {
    right: 0;
    border-radius: min(10vw, 100px) 0 0 min(10vw, 100px);
}
#sales .article_gallery .gallery_slider .slider_next::after {
    content: ">";
}
#sales .article_gallery .gallery_slider .slider_fraction {
    position: absolute;
    right: 1.25em;
    bottom: 1.25em;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 5.5em;
    height: 2em;
    padding: 0 0.75em;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(10vw, 100px);
    font-family: "Unbounded", sans-serif;
    font-weight: 400;
    font-size: 1em;
    line-height: 1;
}
#sales .article_gallery .gallery_slider .slider_fraction .fraction_current {
    color: #1738A6;
    font-family: "Unbounded", sans-serif;
}
#sales .article_gallery .gallery_slider .slider_fraction .fraction_total {
    color: #818181;
    font-family: "Unbounded", sans-serif;
}
#sales .article_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.25em 0;
    flex: 1 1 42%;
    min-width: 0;
    max-width: 540px;
}
@media (max-width: 1024px) {
    #sales .article_content {
        display: contents;
    }
}
#sales .article_ttl {
    color: #1738A6;
    font-size: 1.75em;
    line-height: 1.15;
}
@media (max-width: 1024px) {
    #sales .article_ttl {
        order: 3;
        font-size: 1.5em;
    }
}
#sales .article .sales_sub {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 3;
    line-height: 1.25;
}
@media (max-width: 1024px) {
    #sales .article .sales_sub {
        order: 4;
    }
}
#sales .article_price {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0 1.5em;
}
@media (max-width: 1024px) {
    #sales .article_price {
        order: 5;
    }
}
#sales .article .sales_total,
#sales .article .sales_vehicle,
#sales .article .sales_cost {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5em 0;
}
#sales .article .sales_total {
    margin-right: 1em;
}
@media (max-width: 840px) {
    #sales .article .sales_total {
        margin-right: 0;
    }
}
#sales .article .total_label,
#sales .article .vehicle_label,
#sales .article .cost_label,
#sales .article .data_term {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 4.5em;
    height: 1.25em;
    padding: 0 0.75em;
    background-color: #EFF0F0;
    border-radius: min(10vw, 100px);
    color: #363636;
    font-size: 0.875em;
    line-height: 1.25;
    white-space: nowrap;
}
#sales .article .total_num,
#sales .article .vehicle_num,
#sales .article .cost_num {
    display: flex;
    align-items: flex-end;
    gap: 0 0.25em;
    margin: 0;
    line-height: 1;
}
#sales .article .total_num .num,
#sales .article .vehicle_num .num,
#sales .article .cost_num .num {
    font-family: "Poppins", sans-serif;
    font-weight: 600;
}
#sales .article .total_num .unit,
#sales .article .vehicle_num .unit,
#sales .article .cost_num .unit {
    color: #000;
    font-size: 1em;
    line-height: 1;
    padding-bottom: 0.1em;
    translate: 0 -0.3em;
}
#sales .article .total_num .num {
    color: #f1303a;
    font-size: 3.5em;
    line-height: 0.9;
}
#sales .article .vehicle_num .num,
#sales .article .cost_num .num {
    color: #000;
    font-size: 2.25em;
    line-height: 1;
}
#sales .article_data {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (auto 1fr)[2];
    grid-template-columns: repeat(2, auto 1fr);
    gap: 1em 1.25em;
    align-items: center;
    min-width: 0;
}
@media (max-width: 1024px) {
    #sales .article_data {
        order: 6;
    }
}
@media (max-width: 840px) {
    #sales .article_data {
        -ms-grid-columns: auto 1fr;
        grid-template-columns: auto 1fr;
    }
}
#sales .article .data_item {
    display: contents;
}
#sales .article .data_desc {
    min-width: 0;
    line-height: 1.25;
}
#sales .article .content_slider {
    position: relative;
    width: 100%;
    padding: 0 28px;
    overflow: hidden;
    border-radius: min(5vw, 10px);
}
@media (max-width: 1024px) {
    #sales .article .content_slider {
        order: 2;
    }
}
#sales .article .content_slider .slider_item {
    height: 70px;
    cursor: pointer;
}
#sales .article .content_slider .slider_item img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    vertical-align: top;
}
#sales .article .content_slider .slider_item.swiper-slide-thumb-active {
    position: relative;
}
#sales .article .content_slider .slider_item.swiper-slide-thumb-active::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.4);
    pointer-events: none;
}
#sales .article .content_slider .slider_prev, #sales .article .content_slider .slider_next {
    position: absolute;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 70px;
    margin: 0;
    padding: 0;
    background-color: #1738A6;
    background-image: none;
    border: none;
    color: #fff;
    cursor: pointer;
}
#sales .article .content_slider .slider_prev::after, #sales .article .content_slider .slider_next::after {
    content: "";
    display: block;
    margin: 0;
    background-image: none;
    border: none;
    font-family: "Poppins", sans-serif;
    font-size: 1.125em;
    font-weight: 600;
    line-height: 1;
    color: #fff;
}
#sales .article .content_slider .slider_prev.swiper-button-disabled, #sales .article .content_slider .slider_next.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}
#sales .article .content_slider .slider_prev {
    left: 0;
    border-radius: min(5vw, 10px) 0 0 min(5vw, 10px);
}
#sales .article .content_slider .slider_prev::after {
    content: "<";
}
#sales .article .content_slider .slider_next {
    right: 0;
    border-radius: 0 min(5vw, 10px) min(5vw, 10px) 0;
}
#sales .article .content_slider .slider_next::after {
    content: ">";
}
#sales .article .sales_situation,
#sales .article .sales_spec {
    width: 100%;
}
#sales .article .situation_ttl,
#sales .article .spec_ttl {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.35em 1.5em;
    background-color: #1738A6;
    border: 1px solid #000;
    border-bottom: none;
    border-radius: min(5vw, 10px) min(5vw, 10px) 0 0;
    color: #fff;
    font-size: 1.125em;
}
#sales .article .situation_list,
#sales .article .spec_list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    border: 1px solid #000;
    border-radius: 0 0 min(5vw, 10px) min(5vw, 10px);
}
@media (max-width: 840px) {
    #sales .article .situation_list,
    #sales .article .spec_list {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        padding: 0 min(5vw, 1.5em);
    }
}
#sales .article .situation_item,
#sales .article .spec_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em 5%;
    min-height: 60px;
    padding: 0.75em 1.5em;
    border-bottom: 1px solid #cfcfcf;
}
@media (max-width: 840px) {
    #sales .article .situation_item,
    #sales .article .spec_item {
        padding: 0.75em 0;
    }
}
#sales .article .situation_item:nth-child(odd),
#sales .article .spec_item:nth-child(odd) {
    border-right: 1px solid #cfcfcf;
}
@media (max-width: 840px) {
    #sales .article .situation_item:nth-child(odd),
    #sales .article .spec_item:nth-child(odd) {
        border-right: none;
    }
}
#sales .article .situation_item:nth-last-child(-n+2),
#sales .article .spec_item:nth-last-child(-n+2) {
    border-bottom: none;
}
@media (max-width: 840px) {
    #sales .article .situation_item:nth-last-child(-n+2),
    #sales .article .spec_item:nth-last-child(-n+2) {
        border-bottom: 1px solid #cfcfcf;
    }
}
@media (max-width: 840px) {
    #sales .article .situation_item:last-child,
    #sales .article .spec_item:last-child {
        border-bottom: none;
    }
}
#sales .article .situation_item.-empty,
#sales .article .spec_item.-empty {
    min-height: 60px;
    pointer-events: none;
}
@media (max-width: 840px) {
    #sales .article .situation_item.-empty,
    #sales .article .spec_item.-empty {
        display: none;
    }
}
#sales .article .situation_item.-note,
#sales .article .spec_item.-note {
    grid-column: 1/-1;
    align-items: flex-start;
    min-height: 90px;
    border-right: none;
    border-bottom: none;
}
#sales .article .situation_term,
#sales .article .spec_term {
    flex-shrink: 0;
    width: 8.5em;
    color: #808080;
}
@media (max-width: 840px) {
    #sales .article .situation_term,
    #sales .article .spec_term {
        width: 100%;
    }
}
#sales .article .situation_desc,
#sales .article .spec_desc {
    flex: 1;
    min-width: 0;
}
#sales .article_backbtn {
    display: flex;
    align-items: center;
    gap: 0 0.25em;
    border-bottom: 2px solid currentColor;
    color: #000;
    padding-bottom: 0.15em;
    line-height: 1.35;
    text-decoration: none;
}
#sales .article_backbtn span:not(.icon) {
    line-height: 1.35;
}
#sales .article_backbtn .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow.svg");
    mask-image: url("../img/cmn/arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    rotate: 180deg;
    background-color: currentColor;
    transition: 0.5s translate, 0.5s background-color;
    margin-top: 0.15em;
}
#sales .article_backbtn:hover {
    color: #FBD249;
}
#sales .article_backbtn:hover .icon {
    translate: -0.25em 0;
}
#sales .article_backbtn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: clamp(1.5em, 4vw, 2.5em) auto 0 auto;
}
#sales .article_sticker {
    position: absolute;
    pointer-events: none;
}
#sales .article_sticker.-s_01 {
    left: -10%;
    top: 8%;
    width: 18%;
    rotate: -8deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .article_sticker.-s_01 {
        left: -5%;
        width: 20%;
    }
}
@media (max-width: 840px) {
    #sales .article_sticker.-s_01 {
        display: none;
    }
}
#sales .article_sticker.-s_02 {
    right: -8%;
    top: 35%;
    width: 14%;
    rotate: 10deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .article_sticker.-s_02 {
        right: -3%;
        width: 16%;
    }
}
@media (max-width: 840px) {
    #sales .article_sticker.-s_02 {
        display: none;
    }
}
#sales .article_sticker.-s_03 {
    left: -8%;
    bottom: 15%;
    width: 14%;
    rotate: -5deg;
    z-index: 1;
}
@media (max-width: 1280px) {
    #sales .article_sticker.-s_03 {
        left: -3%;
        width: 16%;
    }
}
@media (max-width: 840px) {
    #sales .article_sticker.-s_03 {
        display: none;
    }
}

/*==================================================================================================
	お問い合わせ
==================================================================================================*/
#contact .bnr_content {
    position: relative;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#contact .bnr_tip {
    position: relative;
    z-index: 2;
    width: min(450px, 70%);
    margin: 0 auto -0.5em;
}
#contact .bnr_link {
    display: block;
    overflow: hidden;
    border-radius: min(5vw, 20px);
}
#contact .bnr_link img {
    width: 100%;
    height: auto;
    vertical-align: top;
}
#contact .bnr_link:hover {
    opacity: 0.9;
}
#contact .tel {
    margin: calc(clamp(3.6em, 8vw, 7.5em) * 0.75) auto;
}
#contact .tel_ttl {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.85em min(5vw, 3.5em);
    background-color: #1738A6;
    border: 1px solid #000;
    border-bottom: none;
    border-radius: min(5vw, 20px) min(5vw, 20px) 0 0;
    color: #fff;
    font-size: 1.125em;
    text-align: left;
    position: relative;
    z-index: 5;
}
#contact .tel_content {
    position: relative;
    border: 1px solid #000;
    border-radius: 0 0 min(5vw, 20px) min(5vw, 20px);
    background-color: #fff;
    padding: 1em 0;
    z-index: 5;
}
@media (max-width: 1280px) {
    #contact .tel_content {
        padding: 0 min(5vw, 3.5em);
    }
}
#contact .tel_list {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    position: relative;
    z-index: 5;
}
@media (max-width: 1280px) {
    #contact .tel_list {
        flex-direction: column;
    }
}
#contact .tel_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.5em 0;
    width: 50%;
    padding: clamp(1em, 3.5vw, 1.5em) min(5vw, 3.5em);
    text-align: center;
}
#contact .tel_item:not(:last-child) {
    border-right: 1px solid #cfcfcf;
}
@media (max-width: 1280px) {
    #contact .tel_item {
        width: 100%;
        min-height: 170px;
    }
    #contact .tel_item:not(:last-child) {
        border-right: none;
        border-bottom: 1px solid #cfcfcf;
    }
}
@media (max-width: 540px) {
    #contact .tel_item {
        min-height: 140px;
    }
}
#contact .tel_label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 30px;
    border: 1px solid #000;
    border-radius: min(10vw, 100px);
    font-family: "Unbounded", sans-serif;
    font-weight: 400;
    font-size: 1.125em;
    line-height: 1;
}
#contact .tel_body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5em 0;
}
#contact .tel_num {
    display: block;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: clamp(2.6rem, 3.5vw, 3.2rem);
    line-height: 1;
    color: #000;
    text-decoration: none;
    white-space: nowrap;
}
@media (max-width: 540px) {
    #contact .tel_num {
        white-space: normal;
        font-size: clamp(1.6rem, 7cqw, 2.4rem);
    }
}
#contact .tel_num:hover {
    color: #FBD249;
}
#contact .tel_note {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 0 0.75em;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-size: 1.125em;
    line-height: 1.2;
}
#contact .tel_note span {
    font-family: YakuHanJP, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 700;
    font-size: 0.85em;
}
#contact .tel_link {
    display: flex;
    align-items: center;
    gap: 0 0.25em;
    border-bottom: 2px solid currentColor;
    color: #000;
    padding-bottom: 0.15em;
    line-height: 1.35;
    text-decoration: none;
}
#contact .tel_link span:not(.icon) {
    line-height: 1.35;
}
#contact .tel_link .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow_diagonal.svg");
    mask-image: url("../img/cmn/arrow_diagonal.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: currentColor;
    transition: 0.5s translate, 0.5s background-color;
    margin-top: 0.15em;
}
#contact .tel_link:hover {
    color: #FBD249;
}
#contact .tel_link:hover .icon {
    translate: 0.25em -0.25em;
}
#contact .tel_link {
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    white-space: nowrap;
}
@media (max-width: 540px) {
    #contact .tel_link {
        white-space: normal;
        font-size: clamp(1.4rem, 6cqw, 2rem);
    }
}
#contact .tel_sticker {
    position: absolute;
    pointer-events: none;
}
#contact .tel_sticker.-s_01 {
    right: -8%;
    top: -5%;
    width: 20%;
    rotate: 28deg;
    z-index: 10;
}
#contact .tel_sticker.-s_02 {
    left: -19%;
    bottom: 0;
    width: 26%;
    rotate: -19deg;
    z-index: 1;
}
#contact .form_ttl {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.85em min(5vw, 3.5em);
    background-color: #1738A6;
    border: 1px solid #000;
    border-bottom: none;
    border-radius: min(5vw, 20px) min(5vw, 20px) 0 0;
    color: #fff;
    text-align: left;
    position: relative;
    z-index: 5;
}
#contact .form_content {
    position: relative;
    border: 1px solid #000;
    border-radius: 0 0 min(5vw, 20px) min(5vw, 20px);
    background-color: #fff;
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    z-index: 5;
}
#contact .form_unit {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5em, 4vw, 2.5em) 0;
}
#contact .form_sticker {
    position: absolute;
    pointer-events: none;
}
#contact .form_sticker.-s_01 {
    left: -15%;
    bottom: 26%;
    width: 20%;
    rotate: 10deg;
    z-index: 1;
}
#contact .form_sticker.-s_02 {
    right: -12%;
    bottom: 4%;
    width: 25%;
    rotate: -7deg;
    z-index: 1;
}
#contact .form_sticker.-s_03 {
    right: -12%;
    bottom: -3%;
    width: 25%;
    rotate: -18deg;
    z-index: 6;
}

/*==================================================================================================
	買取
==================================================================================================*/
#purchase .bnr_content {
    position: relative;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#purchase .bnr_img {
    overflow: hidden;
}
#purchase .form {
    margin-top: calc(clamp(3.6em, 8vw, 7.5em) * 0.75);
}
#purchase .form_ttl {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.85em min(5vw, 3.5em);
    background-color: #1738A6;
    border: 1px solid #000;
    border-bottom: none;
    border-radius: min(5vw, 20px) min(5vw, 20px) 0 0;
    color: #fff;
    text-align: left;
}
#purchase .form_content {
    position: relative;
    border: 1px solid #000;
    border-radius: 0 0 min(5vw, 20px) min(5vw, 20px);
    background-color: #fff;
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    z-index: 5;
}
#purchase .form_unit {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5em, 4vw, 2.5em) 0;
}
#purchase .form_sticker {
    position: absolute;
    pointer-events: none;
}
#purchase .form_sticker.-s_01 {
    right: -12%;
    top: 22%;
    width: 18%;
    rotate: -10deg;
    z-index: 6;
}
#purchase .form_sticker.-s_02 {
    left: -17%;
    bottom: 18%;
    width: 24%;
    rotate: 8deg;
    z-index: 1;
}
#purchase .form_sticker.-s_03 {
    right: -12%;
    bottom: -5%;
    width: 27%;
    rotate: -8deg;
    z-index: 6;
}
@media (max-width: 540px) {
    #purchase .form_sticker.-s_03 {
        bottom: -1%;
    }
}
#purchase .services_list {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.5em, 4vw, 2.5em) 3.5%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#purchase .services_item {
    width: 48.25%;
}
@media (max-width: 840px) {
    #purchase .services_item {
        width: 100%;
    }
}
#purchase .services_link {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.5em 0;
    min-height: 260px;
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
    background-color: #FBD249;
    border: 3px solid #000;
    border-radius: min(5vw, 20px);
    color: #000;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s rotate;
}
#purchase .services_link:hover {
    rotate: 1.5deg;
}
#purchase .services_link:hover .services_morebtn {
    background-color: #fff;
    border-color: #fff;
    color: #FBD249;
}
#purchase .services_link:hover .services_morebtn .icon::before {
    background-color: #FBD249;
    translate: 0;
}
#purchase .services_content {
    position: relative;
    z-index: 2;
}
#purchase .services_ttl {
    margin-bottom: 0.75em;
    font-size: clamp(2.6rem, 3.5vw, 3.2rem);
    line-height: 1.35;
}
#purchase .services_txt {
    margin: 0;
}
#purchase .services_morebtn {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 0 0.75em;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.35em 0.75em;
    border: 2px solid #000;
    border-radius: 0;
    background-color: #000;
    color: #fff;
    text-decoration: none;
    transition: 0.5s background-color, 0.5s border-color, 0.5s color;
}
#purchase .services_morebtn span:not(.icon) {
    font-family: "Poppins", sans-serif;
    line-height: 1.2;
    white-space: nowrap;
}
#purchase .services_morebtn .icon {
    flex-shrink: 0;
    display: block;
    overflow: hidden;
    width: calc(0.65em * 53 / 12);
    height: 0.65em;
}
#purchase .services_morebtn .icon::before {
    content: "";
    display: block;
    width: calc(0.65em * 74 / 12 * 2);
    height: 100%;
    background-color: #fff;
    -webkit-mask-image: url("../img/cmn/arrow_continuous.svg");
    mask-image: url("../img/cmn/arrow_continuous.svg");
    -webkit-mask-size: calc(0.65em * 74 / 12) 100%;
    mask-size: calc(0.65em * 74 / 12) 100%;
    -webkit-mask-repeat: repeat-x;
    mask-repeat: repeat-x;
    -webkit-mask-position: left center;
    mask-position: left center;
    translate: calc(0.65em * -19 / 12) 0;
    transition: 0.5s translate, 0.5s background-color;
}
#purchase .services_morebtn:hover {
    background-color: #fff;
    border-color: #fff;
    color: #FBD249;
}
#purchase .services_morebtn:hover .icon::before {
    background-color: #FBD249;
    translate: 0;
}
#purchase .services_sticker {
    position: absolute;
    pointer-events: none;
}
#purchase .services_sticker.-s_01 {
    right: 0%;
    bottom: -15%;
    width: 50%;
    rotate: 10deg;
    z-index: 1;
}
@media (max-width: 840px) {
    #purchase .services_sticker.-s_01 {
        right: -2.5%;
        bottom: 5%;
        width: 40%;
    }
}
#purchase .services_sticker.-s_02 {
    right: -10%;
    bottom: -15%;
    width: 50%;
    rotate: -10deg;
    z-index: 1;
}
@media (max-width: 840px) {
    #purchase .services_sticker.-s_02 {
        right: -2.5%;
        bottom: 5%;
        width: 36%;
    }
}

.confirm_custom_ttl {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.85em min(5vw, 3.5em);
    background-color: #1738A6;
    border: 1px solid #000;
    border-bottom: none;
    border-radius: min(5vw, 20px) min(5vw, 20px) 0 0;
    color: #fff;
    text-align: left;
}
.confirm_custom_content {
    position: relative;
    border: 1px solid #000;
    border-radius: 0 0 min(5vw, 20px) min(5vw, 20px);
    background-color: #fff;
    padding: clamp(1.5em, 4vw, 2.5em) min(5vw, 3.5em);
}
.confirm_custom_unit {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: clamp(1.5em, 4vw, 2.5em) 0;
    width: 100%;
}
.confirm_custom_error {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5em 0;
    width: 100%;
    text-align: center;
}
.confirm_custom_txt {
    margin: 0;
}
.confirm_custom_sticker {
    position: absolute;
    pointer-events: none;
    display: none;
}
.confirm_custom_sticker.-s_01 {
    right: -5%;
    top: -12.5%;
    width: 22.5%;
    rotate: 15deg;
    z-index: 2;
}
@media (max-width: 1280px) {
    .confirm_custom_sticker.-s_01 {
        right: -2.5%;
        top: -10%;
        width: 25%;
    }
}
@media (max-width: 840px) {
    .confirm_custom_sticker.-s_01 {
        display: none;
    }
}

.confirm-items {
    width: 100%;
    border-collapse: collapse;
}
.confirm-items tbody {
    width: 100%;
}
.confirm-items tbody tr {
    display: flex;
    flex-direction: column;
    gap: 0.5em 0;
    margin-bottom: 1.5em;
}
.confirm-items tbody tr:last-child {
    margin-bottom: 0;
}
.confirm-items tbody th {
    display: block;
    text-align: left;
}
.confirm-items tbody td {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 3em;
    padding: 0.75em min(3vw, 1.5em);
    border-radius: 4px;
    background-color: #EFF0F0;
    text-align: left;
    word-break: break-all;
}

.error-items {
    width: 100%;
    margin-top: 0.5em;
}
.error-items .error-item {
    display: flex;
    flex-wrap: wrap;
    padding: 1em;
    background-color: #EFF0F0;
    border-radius: 4px;
}
.error-items .error-item:not(:last-child) {
    margin-bottom: 0.5em;
}
.error-items .error-item-label {
    display: block;
    width: 10em;
}
@media (max-width: 840px) {
    .error-items .error-item-label {
        width: 100%;
    }
}
.error-items .error-item-body {
    display: block;
    width: calc(100% - 10em);
    padding-left: 1em;
    word-break: break-all;
    color: #f1303a;
}
@media (max-width: 840px) {
    .error-items .error-item-body {
        width: 100%;
        padding-left: 0;
    }
}

.error_messe {
    margin-top: 1em;
    text-align: center;
    color: #f1303a;
}

.confirm-btns {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5em 0;
    width: 100%;
}

.confirm-btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font: inherit;
    cursor: pointer;
    text-decoration: none;
}
.confirm-btn.confirm-btn-back {
    display: flex;
    align-items: center;
    gap: 0 0.25em;
    border-bottom: 2px solid currentColor;
    color: #000;
    padding-bottom: 0.15em;
    line-height: 1.35;
    text-decoration: none;
}
.confirm-btn.confirm-btn-back span:not(.icon) {
    line-height: 1.35;
}
.confirm-btn.confirm-btn-back .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow.svg");
    mask-image: url("../img/cmn/arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    rotate: 180deg;
    background-color: currentColor;
    transition: 0.5s translate, 0.5s background-color;
    margin-top: 0.15em;
}
.confirm-btn.confirm-btn-back:hover {
    color: #FBD249;
}
.confirm-btn.confirm-btn-back:hover .icon {
    translate: -0.25em 0;
}
.confirm-btn.confirm-btn-back {
    margin: 0;
    background-color: transparent;
    border-radius: 0;
    border-top: none;
    border-left: none;
    border-right: none;
}
.confirm-btn.confirm-btn-submit {
    display: flex;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.35em 1em;
    border: 2px solid #000;
    border-radius: min(10vw, 100px);
    text-decoration: none;
    background-color: #1738A6;
    border-color: #1738A6;
    color: #fff;
}
.confirm-btn.confirm-btn-submit span:not(.icon) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0;
    line-height: 1.2;
    padding: 0 0.75em;
    padding-left: calc(0.75em + 0.65em);
}
.confirm-btn.confirm-btn-submit .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow.svg");
    mask-image: url("../img/cmn/arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: 0.5s translate, 0.5s background-color;
}
.confirm-btn.confirm-btn-submit:hover {
    background-color: #FBD249;
    border-color: #000;
    color: #000;
}
.confirm-btn.confirm-btn-submit:hover .icon {
    background-color: #000;
    translate: 0.25em 0;
}
.confirm-btn.confirm-btn-submit {
    margin: 0;
}

/*==================================================================================================
	プライバシーポリシー
==================================================================================================*/
/*==================================================================================================
	軽貨物カーリース
==================================================================================================*/
#leasing .feature_list {
    display: flex;
    flex-wrap: wrap;
    gap: clamp(1.5em, 4vw, 2.5em) 2.5%;
}
@media (max-width: 540px) {
    #leasing .feature_list {
        gap: 1.5em 2.5%;
    }
}
#leasing .feature_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 23.125%;
    min-height: 210px;
    padding: clamp(1em, 3.5vw, 1.5em) min(5vw, 1.5em);
    background-color: #FBD249;
    border-radius: min(5vw, 20px);
    text-align: center;
    container-type: inline-size;
}
@media (max-width: 840px) {
    #leasing .feature_item {
        width: 48.75%;
    }
}
@media (max-width: 540px) {
    #leasing .feature_item {
        width: 100%;
    }
}
#leasing .feature_ttl {
    font-size: 15cqw;
    line-height: 1.35;
    font-weight: 900;
}
@media (max-width: 840px) {
    #leasing .feature_ttl {
        font-size: 12cqw;
    }
}
@media (max-width: 540px) {
    #leasing .feature_ttl {
        font-size: min(10cqw, 3.2rem);
    }
}
#leasing .feature_txt {
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#leasing .feature_copy {
    margin-top: 0.75em;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
}
#leasing .flow_inner {
    overflow: visible;
}
#leasing .flow_list {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: clamp(1.5em, 4vw, 2.5em) 0;
    z-index: 5;
}
#leasing .flow_list::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50px;
    bottom: 50px;
    z-index: 0;
    width: 2px;
    background-color: #1738A6;
    translate: -50% 0;
}
@media (max-width: 840px) {
    #leasing .flow_list::before {
        left: 10px;
        top: 35px;
        bottom: 35px;
    }
}
#leasing .flow_item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 0 5%;
}
@media (max-width: 840px) {
    #leasing .flow_item {
        gap: 0 15px;
    }
}
#leasing .flow_item.-active .flow_marker {
    background-color: #1738A6;
}
#leasing .flow_item.-active .flow_unit {
    border-color: #1738A6;
}
#leasing .flow_marker {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    margin-top: 35px;
    border: 2px solid #1738A6;
    border-radius: 50%;
    background-color: #fff;
    transition: 0.5s background-color;
}
@media (max-width: 840px) {
    #leasing .flow_marker {
        width: 20px;
        height: 20px;
        margin-top: 25px;
    }
}
#leasing .flow_unit {
    flex: 1;
    min-width: 0;
    padding: clamp(1em, 3.5vw, 1.5em) min(5vw, 1.5em);
    background-color: #fff;
    border: 2px solid transparent;
    border-radius: min(5vw, 20px);
    transition: 0.5s border-color;
}
@media (max-width: 840px) {
    #leasing .flow_unit {
        padding: 1.25em min(5vw, 3.5em);
    }
}
#leasing .flow_ttl {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 1em;
    margin-bottom: 0.25em;
    color: #1738A6;
    font-size: 1em;
}
#leasing .flow_num {
    font-family: "Poppins", sans-serif;
    font-weight: 700;
    line-height: 1.25;
    translate: 0 0.1em;
}
#leasing .flow_txt {
    padding-left: 2.25em;
}
@media (max-width: 840px) {
    #leasing .flow_txt {
        padding-left: 0;
    }
}
#leasing .flow_docs {
    margin-top: 1em;
    padding-left: 2.25em;
}
@media (max-width: 840px) {
    #leasing .flow_docs {
        padding-left: 0;
    }
}
#leasing .flow_label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.25em;
    padding: 0.25em 1.25em;
    border-radius: min(10vw, 100px);
    background-color: #1738A6;
    color: #fff;
    font-size: 0.85em;
}
#leasing .flow_desc {
    padding-left: 0.5em;
    font-weight: 500;
    font-size: 0.85em;
}
#leasing .flow_note {
    margin-top: 1em;
    padding-left: 2.52em;
    font-weight: 500;
}
@media (max-width: 840px) {
    #leasing .flow_note {
        padding-left: 0;
    }
}
#leasing .flow_sticker {
    position: absolute;
    pointer-events: none;
}
#leasing .flow_sticker.-s_01 {
    top: 0;
    right: -5%;
    width: 25%;
    rotate: 15deg;
    z-index: 1;
}
#leasing .flow_sticker.-s_02 {
    top: 44%;
    right: -8%;
    width: 30%;
    rotate: 13deg;
    z-index: 10;
}
#leasing .flow_sticker.-s_03 {
    bottom: -2%;
    right: -5%;
    width: 20%;
    rotate: -6deg;
    z-index: 10;
}

/*==================================================================================================
	レッカー事業
==================================================================================================*/
#towing .area_map {
    position: relative;
}
#towing .area_map > img {
    border-radius: min(5vw, 20px);
}
#towing .area_sticker {
    position: absolute;
    pointer-events: none;
}
#towing .area_sticker.-s_01 {
    top: -5%;
    right: -5%;
    width: 20%;
    rotate: 8deg;
    z-index: 2;
}
#towing .area_sticker.-s_02 {
    left: -10%;
    bottom: 5%;
    width: 30%;
    rotate: -8deg;
    z-index: 2;
}
#towing .area_content {
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#towing .area_ttl {
    margin-bottom: 0.75em;
    font-size: clamp(2rem, 3.2vw, 2.4rem);
    line-height: 1.4;
    font-weight: 900;
}
#towing .pricing_content {
    position: relative;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#towing .pricing_content + .pricing_content {
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#towing .pricing_table {
    overflow-x: auto;
    position: relative;
    width: 100%;
    z-index: 5;
}
#towing .pricing_table > table {
    width: 100%;
    min-width: 48em;
    border-collapse: separate;
    border-spacing: 0;
    background-color: transparent;
}
#towing .pricing_table th,
#towing .pricing_table td {
    padding: 0.75em 0.5em;
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
    font-size: 1.4rem;
    line-height: 1.4;
    text-align: center;
    vertical-align: middle;
}
#towing .pricing_table th:first-child,
#towing .pricing_table td:first-child {
    border-left: 1px solid #cfcfcf;
}
#towing .pricing_table thead tr:first-child th {
    border-top: 1px solid #cfcfcf;
}
#towing .pricing_table thead th {
    background-color: #1738A6;
    color: #fff;
    font-weight: 700;
}
#towing .pricing_table thead tr:first-child th:first-child {
    border-top-left-radius: min(5vw, 20px);
}
#towing .pricing_table thead tr:first-child th:last-child {
    border-top-right-radius: min(5vw, 20px);
}
#towing .pricing_table tbody tr:last-child th:first-child {
    border-bottom-left-radius: min(5vw, 20px);
}
#towing .pricing_table tbody tr:last-child td:last-child {
    border-bottom-right-radius: min(5vw, 20px);
}
#towing .pricing_table tbody th {
    width: 35%;
    background-color: #EFF0F0;
    font-weight: 700;
}
#towing .pricing_table tbody td {
    background-color: #fff;
}
#towing .pricing_sticker {
    position: absolute;
    pointer-events: none;
}
#towing .pricing_sticker.-s_01 {
    top: -5%;
    left: -10%;
    width: 20%;
    rotate: -10deg;
    z-index: 2;
}
#towing .pricing_sticker.-s_02 {
    right: -10%;
    bottom: 2.5%;
    width: 20%;
    rotate: -8deg;
    z-index: 6;
}
@media (max-width: 840px) {
    #towing .pricing_sticker.-s_02 {
        z-index: 2;
    }
}
#towing .pricing_list {
    margin-top: clamp(1.5em, 4vw, 2.5em);
    padding-left: 1.25em;
    list-style: disc;
}
#towing .pricing_item {
    font-size: 1.4rem;
}
#towing .pricing_item + .pricing_item {
    margin-top: 0.25em;
}
#towing .pricing_note {
    margin-top: 1em;
    font-size: 1.4rem;
}

/*==================================================================================================
	整備車検
==================================================================================================*/
#maintenance .maintenance_content,
#maintenance .inspection_content {
    position: relative;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#maintenance .maintenance_content + .maintenance_content, #maintenance .maintenance_content + .inspection_content,
#maintenance .inspection_content + .maintenance_content,
#maintenance .inspection_content + .inspection_content {
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#maintenance .maintenance_table,
#maintenance .inspection_table {
    overflow-x: auto;
    position: relative;
    width: 100%;
    z-index: 5;
}
#maintenance .maintenance_table > table,
#maintenance .inspection_table > table {
    width: 100%;
    min-width: 48em;
    border-collapse: separate;
    border-spacing: 0;
    background-color: transparent;
}
#maintenance .maintenance_table.-oil thead tr:last-child th:first-child,
#maintenance .inspection_table.-oil thead tr:last-child th:first-child {
    border-bottom-left-radius: min(5vw, 20px);
}
#maintenance .maintenance_table.-oil thead tr:last-child th:last-child,
#maintenance .inspection_table.-oil thead tr:last-child th:last-child {
    border-bottom-right-radius: min(5vw, 20px);
}
#maintenance .maintenance_table th,
#maintenance .maintenance_table td,
#maintenance .inspection_table th,
#maintenance .inspection_table td {
    padding: 0.75em 0.5em;
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
    font-size: 1.4rem;
    line-height: 1.4;
    text-align: center;
    vertical-align: middle;
}
#maintenance .maintenance_table th:first-child,
#maintenance .maintenance_table td:first-child,
#maintenance .inspection_table th:first-child,
#maintenance .inspection_table td:first-child {
    border-left: 1px solid #cfcfcf;
}
#maintenance .maintenance_table thead tr:first-child th,
#maintenance .inspection_table thead tr:first-child th {
    border-top: 1px solid #cfcfcf;
}
#maintenance .maintenance_table thead th,
#maintenance .inspection_table thead th {
    background-color: #1738A6;
    color: #fff;
    font-weight: 700;
}
#maintenance .maintenance_table thead tr:first-child th:first-child,
#maintenance .inspection_table thead tr:first-child th:first-child {
    border-top-left-radius: min(5vw, 20px);
}
#maintenance .maintenance_table thead tr:first-child th:last-child,
#maintenance .inspection_table thead tr:first-child th:last-child {
    border-top-right-radius: min(5vw, 20px);
}
#maintenance .maintenance_table tbody tr:last-child th:first-child,
#maintenance .maintenance_table tbody tr:last-child td:first-child,
#maintenance .inspection_table tbody tr:last-child th:first-child,
#maintenance .inspection_table tbody tr:last-child td:first-child {
    border-bottom-left-radius: min(5vw, 20px);
}
#maintenance .maintenance_table tbody tr:last-child th:last-child,
#maintenance .maintenance_table tbody tr:last-child td:last-child,
#maintenance .inspection_table tbody tr:last-child th:last-child,
#maintenance .inspection_table tbody tr:last-child td:last-child {
    border-bottom-right-radius: min(5vw, 20px);
}
#maintenance .maintenance_table tbody th,
#maintenance .inspection_table tbody th {
    background-color: #EFF0F0;
    font-weight: 700;
}
#maintenance .maintenance_table tbody td,
#maintenance .inspection_table tbody td {
    background-color: #fff;
}
#maintenance .maintenance_table tbody tr.-total th,
#maintenance .maintenance_table tbody tr.-total td,
#maintenance .inspection_table tbody tr.-total th,
#maintenance .inspection_table tbody tr.-total td {
    background-color: #595959;
    color: #fff;
    font-weight: 700;
}
#maintenance .maintenance_note,
#maintenance .inspection_note {
    margin-top: 1em;
    font-size: 1.4rem;
}
#maintenance .maintenance_sticker,
#maintenance .inspection_sticker {
    position: absolute;
    pointer-events: none;
}
#maintenance .maintenance_sticker.-s_01 {
    top: -5%;
    right: -10%;
    width: 25%;
    rotate: 10deg;
    z-index: 2;
}
#maintenance .maintenance_sticker.-s_02 {
    left: -10%;
    top: 35%;
    width: 20%;
    rotate: -8deg;
    z-index: 2;
}
#maintenance .maintenance_sticker.-s_03 {
    right: -8%;
    bottom: 10%;
    width: 25%;
    rotate: 6deg;
    z-index: 2;
}

/*==================================================================================================
	板金塗装 / 他
==================================================================================================*/
#repair .about_point {
    position: relative;
    width: 100%;
    z-index: 5;
    margin-top: calc(clamp(1.5em, 4vw, 2.5em) * 1.5);
}
#repair .about_point .point_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25em 2.5%;
}
#repair .about_point .point_item {
    width: 31.6666666667%;
    overflow: hidden;
}
@media (max-width: 540px) {
    #repair .about_point .point_item {
        width: 100%;
    }
}
#repair .about_point .point_img {
    aspect-ratio: 5/3;
}
#repair .about_point .point_img img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
#repair .about_point .point_txt {
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#repair .insurance_content {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.25em 5%;
}
@media (max-width: 840px) {
    #repair .insurance_content {
        flex-direction: column;
        align-items: flex-start;
    }
}
#repair .insurance_unit {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.25em 5%;
    width: 50%;
    min-height: 220px;
    padding: 1.5em 5%;
    background-color: #fff;
}
@media (max-width: 840px) {
    #repair .insurance_unit {
        width: 100%;
        min-height: 0;
    }
}
#repair .insurance_img {
    width: 47.5%;
    max-width: 180px;
}
#repair .insurance_img img {
    width: 100%;
    height: auto;
}
#repair .insurance_txt {
    flex: 1;
    min-width: 0;
}
#repair .insurance_sticker {
    position: absolute;
    pointer-events: none;
}
#repair .insurance_sticker.-s_01 {
    top: -15%;
    right: -15%;
    width: 25%;
    rotate: 8deg;
    z-index: 2;
}

/*==================================================================================================
	会社概要
==================================================================================================*/
#company .company_list {
    position: relative;
    z-index: 5;
    padding: 0.75em min(5vw, 3.5em);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 20px);
}
#company .company_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em 5%;
    padding: 1.75em min(5vw, 3.5em);
}
#company .company_item + .company_item {
    border-top: 1px solid #cfcfcf;
}
@media (max-width: 840px) {
    #company .company_item {
        padding: 1.25em 0;
    }
}
#company .company_term {
    flex-shrink: 0;
    width: 7.5em;
    color: #808080;
}
@media (max-width: 840px) {
    #company .company_term {
        flex: 0 0 auto;
        width: 100%;
    }
}
#company .company_desc {
    flex: 1;
    min-width: 0;
}
@media (max-width: 840px) {
    #company .company_desc {
        flex: 0 0 auto;
        width: 100%;
    }
}
#company .company_sticker {
    position: absolute;
    pointer-events: none;
}
#company .company_sticker.-s_01 {
    top: 5%;
    left: -15%;
    width: 25%;
    rotate: -12deg;
    z-index: 2;
}
#company .company_sticker.-s_02 {
    top: 45%;
    right: -5%;
    width: 25%;
    rotate: 10deg;
    z-index: 6;
}
@media (max-width: 840px) {
    #company .company_sticker.-s_02 {
        right: 5%;
    }
}
#company .company_sticker.-s_03 {
    top: 58%;
    right: -6%;
    width: 19%;
    rotate: -8deg;
    z-index: 6;
}
@media (max-width: 840px) {
    #company .company_sticker.-s_03 {
        right: 3.5%;
        top: 51%;
    }
}
#company .company_sticker.-s_04 {
    bottom: 0;
    left: -16%;
    width: 20%;
    rotate: 8deg;
    z-index: 6;
}
@media (max-width: 840px) {
    #company .company_sticker.-s_04 {
        display: none;
    }
}
#company .company_sticker.-s_05 {
    bottom: -15%;
    right: 10%;
    width: 20%;
    rotate: 24deg;
    z-index: 3;
}

/*==================================================================================================
	採用情報
==================================================================================================*/
#recruit input[name=tab_radio] {
    display: none;
}
#recruit .joboffer_txt {
    margin: clamp(1.5em, 4vw, 2.5em) auto 0;
    text-align: center;
}
#recruit .joboffer .tab_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25em 2.5%;
    margin-top: clamp(1.5em, 4vw, 2.5em);
    position: relative;
    z-index: 10;
}
#recruit .joboffer .tab_item {
    flex: 1 1 0;
    min-width: 23.125%;
}
@media (max-width: 840px) {
    #recruit .joboffer .tab_item {
        flex: 1 1 48.75%;
        min-width: 48.75%;
    }
}
@media (max-width: 540px) {
    #recruit .joboffer .tab_item {
        flex: 1 1 100%;
        min-width: 100%;
        width: 100%;
    }
}
#recruit .joboffer .tab_link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 55px;
    padding: 0.75em 0.5em;
    margin: 0;
    background-color: #fff;
    border: 1px dashed #000;
    border-radius: min(10vw, 100px);
    color: #818181;
    font-size: 1.125em;
    text-align: center;
    cursor: pointer;
    transition: 0.5s color, 0.5s border-color, 0.5s background-color;
}
#recruit .joboffer .tab_link:hover {
    color: #1738A6;
    border-color: #1738A6;
}
#recruit .joboffer_pane {
    display: none;
    position: relative;
    z-index: 5;
    margin-top: clamp(1.5em, 4vw, 2.5em);
}
#recruit .joboffer_list {
    padding: 0.75em min(5vw, 3.5em);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: min(5vw, 20px);
}
#recruit .joboffer_item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25em 5%;
    padding: 0.85em min(5vw, 3.5em);
}
#recruit .joboffer_item + .joboffer_item {
    border-top: 1px solid #cfcfcf;
}
@media (max-width: 840px) {
    #recruit .joboffer_item {
        padding: 1em 0;
    }
}
#recruit .joboffer_term {
    flex-shrink: 0;
    width: 7.5em;
    color: #808080;
}
@media (max-width: 840px) {
    #recruit .joboffer_term {
        flex: 0 0 auto;
        width: 100%;
    }
}
#recruit .joboffer_desc {
    flex: 1;
    min-width: 0;
}
@media (max-width: 840px) {
    #recruit .joboffer_desc {
        flex: 0 0 auto;
        width: 100%;
    }
}
#recruit .joboffer_sticker {
    position: absolute;
    pointer-events: none;
}
#recruit .joboffer_sticker.-s_01 {
    top: 40%;
    left: -15%;
    width: 25%;
    rotate: -12deg;
    z-index: 2;
}
#recruit .joboffer_sticker.-s_02 {
    bottom: 5%;
    right: -12%;
    width: 22%;
    rotate: 10deg;
    z-index: 1;
}
#recruit .joboffer_sticker.-s_03 {
    bottom: -1.5%;
    right: -10%;
    width: 15%;
    rotate: 8deg;
    z-index: 6;
}
@media (max-width: 1024px) {
    #recruit .joboffer_sticker.-s_01 {
        left: -5%;
        width: 20%;
    }
    #recruit .joboffer_sticker.-s_02, #recruit .joboffer_sticker.-s_03 {
        right: -5%;
        width: 18%;
    }
}
#recruit.-ready .joboffer .tab_item.-active .tab_link {
    border: 3px solid #1738A6;
    color: #1738A6;
}
#recruit.-ready .joboffer_pane.-active {
    display: block;
}

/*==================================================================================================
	404,サンクスページ
==================================================================================================*/
#error .sec_ttl,
#thanks .sec_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.125em;
    margin-bottom: 1.5em;
    line-height: 1.4;
    text-align: center;
}
#error .sec_txt,
#thanks .sec_txt {
    text-align: center;
}
#error .sec_btn,
#thanks .sec_btn {
    display: flex;
    align-items: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.35em 1em;
    border: 2px solid #000;
    border-radius: min(10vw, 100px);
    text-decoration: none;
    background-color: #1738A6;
    border-color: #1738A6;
    color: #fff;
}
#error .sec_btn span:not(.icon),
#thanks .sec_btn span:not(.icon) {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-width: 0;
    line-height: 1.2;
    padding: 0 0.75em;
    padding-left: calc(0.75em + 0.65em);
}
#error .sec_btn .icon,
#thanks .sec_btn .icon {
    flex-shrink: 0;
    display: block;
    width: 0.65em;
    height: 0.65em;
    -webkit-mask-image: url("../img/cmn/arrow.svg");
    mask-image: url("../img/cmn/arrow.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: #fff;
    transition: 0.5s translate, 0.5s background-color;
}
#error .sec_btn:hover,
#thanks .sec_btn:hover {
    background-color: #FBD249;
    border-color: #000;
    color: #000;
}
#error .sec_btn:hover .icon,
#thanks .sec_btn:hover .icon {
    background-color: #000;
    translate: 0.25em 0;
}
#error .sec_btn,
#thanks .sec_btn {
    margin: clamp(1.5em, 4vw, 2.5em) auto;
}