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

article, aside, figure, footer, header, nav, section, details, summary {
    display:block
}

html {
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

*, *:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing:inherit
}

img, object, embed {
    max-width:100%
}

html {
    overflow-y:scroll
}

ul {
    list-style:none
}

blockquote, q {
    quotes:none
}

blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content:none
}

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background:rgba(0, 0, 0, 0)
}

del {
    text-decoration:line-through
}

abbr[title], dfn[title] {
    border-bottom: 1px dotted #000;
    cursor:help
}

table {
    border-collapse: collapse;
    border-spacing:0
}

th {
    font-weight: bold;
    vertical-align:bottom
}

td {
    font-weight: normal;
    vertical-align:top
}

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

input, select {
    vertical-align:middle
}

pre {
    white-space: pre;
    white-space: pre-wrap;
    white-space: pre-line;
    word-wrap:break-word
}

input[type=radio] {
    vertical-align:text-bottom
}

input[type=checkbox] {
    vertical-align:bottom
}

.ie7 input[type=checkbox] {
    vertical-align:baseline
}

.ie6 input {
    vertical-align:text-bottom
}

select, input, textarea {
    font:99% sans-serif
}

table {
    font-size: inherit;
    font:100%
}

small {
    font-size:85%
}

strong {
    font-weight:bold
}

td, td img {
    vertical-align:top
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position:relative
}

sup {
    top:-0.5em
}

sub {
    bottom:-0.25em
}

pre, code, kbd, samp {
    font-family:monospace, sans-serif
}

.clickable, label, input[type=button], input[type=submit], input[type=file], button {
    cursor:pointer
}

button, input, select, textarea {
    margin:0
}

button, input[type=button] {
    width: auto;
    overflow:visible
}

.ie7 img {
    -ms-interpolation-mode:bicubic
}

.clearfix:before, .clearfix:after {
    content: " ";
    display: block;
    height: 0;
    overflow:hidden
}

.clearfix:after {
    clear:both
}

.clearfix {
    zoom:1
}

html {
    font-size: 62.5%;
    scroll-behavior: smooth;
    height: auto;
    overflow: visible;
    scroll-padding-top:200px
}

@media screen and (max-width: 768px) {
    html {
        scroll-padding-top:140px
    }
}

body {
    font-family: "Noto Sans JP", "Zen Kaku Gothic New", sans-serif;
    font-size: 16px;
    font-size: 1.6rem;
    color: #2b2b2b;
    font-weight: 400;
    line-height: 1.8;
    background-color:#f7f8f8
}

@media screen and (max-width: 768px) {
    body {
        font-size: 14px;
        font-size:1.4rem
    }
}

body.isFixed {
    overflow: hidden;
    height: 100%;
    position:static
}

body.is_show {
    overflow: hidden;
    height: 100%;
    position:static
}

body.is_show .main {
    position:relative
}

body.is_show .main:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(255, 255, 255, .85);
    width: 100%;
    height: 100%;
    z-index:3
}

body:after {
    content: "" !important;
    display: block !important;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    -webkit-transition: opacity .8s ease;
    transition:opacity .8s ease
}

body.fade:after {
    opacity:1
}

*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

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

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: opacity .3s ease;
    transition:opacity .3s ease
}

input, button, select, textarea {
    font-family: inherit;
    font-size: inherit;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance:none
}

button {
    cursor:pointer
}

.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding:0 40px
}

@media screen and (max-width: 768px) {
    .container {
        padding:0 20px
    }
}

@media screen and (max-width: 768px) {
    .pcOnly {
        display:none !important
    }
}

.spOnly {
    display:none !important
}

@media screen and (max-width: 768px) {
    .spOnly {
        display:block !important
    }
}

.ctaBtn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    background-color: #2b2b2b;
    color: #fff;
    padding: 16px 32px;
    border-radius: 50px;
    font-size: 1.6rem;
    font-weight: 700;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

.ctaBtn:hover {
    opacity: 1;
    background-color:#454545
}

.ctaBtn__icon {
    width: 24px;
    height: 24px;
    background-image: url("../images/icon_mail.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position:center
}

.ctaBtn_type_footer {
    background-color: #fff255;
    color:#2b2b2b
}

.ctaBtn_type_footer:hover {
    background-color:#fff03c
}

.ctaBtn_type_fixed {
    padding: 12px 24px;
    font-size:1.4rem
}

@media screen and (max-width: 768px) {
    .ctaBtn_type_fixed {
        width: 100%;
        padding:16px 20px
    }
}

.yellowBtn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #fff255;
    color: #2b2b2b;
    padding: 16px 40px;
    border-radius: 50px;
    font-size: 1.6rem;
    font-weight: 700;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

.yellowBtn:hover {
    opacity: 1;
    background-color:#fff03c
}

@media screen and (max-width: 768px) {
    .yellowBtn {
        padding: 14px 32px;
        font-size:1.4rem
    }
}

.stripedBg {
    background:repeating-linear-gradient(-45deg, #fff255, #fff255 10px, #2b2b2b 10px, #2b2b2b 20px)
}

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform:translateY(20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform:translateY(0)
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        -webkit-transform: translateY(20px);
        transform:translateY(20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform:translateY(0)
    }
}

@-webkit-keyframes slideIn {
    from {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        transform:translateX(-20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform:translateX(0)
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        -webkit-transform: translateX(-20px);
        transform:translateX(-20px)
    }

    to {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform:translateX(0)
    }
}

@-webkit-keyframes scaleIn {
    from {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform:scale(0.9)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform:scale(1)
    }
}

@keyframes scaleIn {
    from {
        opacity: 0;
        -webkit-transform: scale(0.9);
        transform:scale(0.9)
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform:scale(1)
    }
}

.fadeIn {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: opacity .6s ease, -webkit-transform .6s ease;
    transition: opacity .6s ease, -webkit-transform .6s ease;
    transition: opacity .6s ease, transform .6s ease;
    transition:opacity .6s ease, transform .6s ease, -webkit-transform .6s ease
}

.fadeIn.isVisible {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform:translateY(0)
}

.fadeInUp {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, transform .8s ease;
    transition:opacity .8s ease, transform .8s ease, -webkit-transform .8s ease
}

.fadeInUp.isVisible {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform:translateY(0)
}

.slideInLeft {
    opacity: 0;
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
    -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, transform .8s ease;
    transition:opacity .8s ease, transform .8s ease, -webkit-transform .8s ease
}

.slideInLeft.isVisible {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform:translateX(0)
}

.slideInRight {
    opacity: 0;
    -webkit-transform: translateX(40px);
    transform: translateX(40px);
    -webkit-transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, -webkit-transform .8s ease;
    transition: opacity .8s ease, transform .8s ease;
    transition:opacity .8s ease, transform .8s ease, -webkit-transform .8s ease
}

.slideInRight.isVisible {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform:translateX(0)
}

.delay1 {
    -webkit-transition-delay: 0.1s;
    transition-delay:0.1s
}

.delay2 {
    -webkit-transition-delay: 0.2s;
    transition-delay:0.2s
}

.delay3 {
    -webkit-transition-delay: 0.3s;
    transition-delay:0.3s
}

.delay4 {
    -webkit-transition-delay: 0.4s;
    transition-delay:0.4s
}

.delay5 {
    -webkit-transition-delay: 0.5s;
    transition-delay:0.5s
}

.delay6 {
    -webkit-transition-delay: 0.6s;
    transition-delay:0.6s
}

.delay7 {
    -webkit-transition-delay: 0.7s;
    transition-delay:0.7s
}

.delay8 {
    -webkit-transition-delay: 0.8s;
    transition-delay:0.8s
}

.delay9 {
    -webkit-transition-delay: 0.9s;
    transition-delay:0.9s
}

.delay10 {
    -webkit-transition-delay: 1s;
    transition-delay:1s
}

.cMoreBtn, .topProductsList__moreBtn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #2b2b2b;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    text-decoration: none;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 382px;
    height: 66px;
    font-weight: 500;
    position:relative
}

@media screen and (max-width: 768px) {
    .cMoreBtn, .topProductsList__moreBtn {
        width: 100%;
        height: 50px;
        font-size: 1.6rem;
        border-radius:50px
    }
}

.cMoreBtn:after, .topProductsList__moreBtn:after {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff255%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%232b2b2b%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E5%95%86%E5%93%81%22%20data-name%3D%22%E5%95%86%E5%93%81%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2211.91%2015.59%2014.76%2012.93%2011.91%2010.26%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/cover;
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform:translateY(-50%)
}

@media screen and (max-width: 768px) {
    .cMoreBtn:after, .topProductsList__moreBtn:after {
        width: 22px;
        height: 22px;
        right:11px
    }
}

.cMoreBtn:hover, .topProductsList__moreBtn:hover {
    background: #fff255;
    color: #2b2b2b;
    opacity:1
}

.cMoreBtn:hover:after, .topProductsList__moreBtn:hover:after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%232b2b2b%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff255%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E5%95%86%E5%93%81%22%20data-name%3D%22%E5%95%86%E5%93%81%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2211.91%2015.59%2014.76%2012.93%2011.91%2010.26%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/cover
}

.cQuantitySelect, .topContact__formQuantitySelect {
    padding: 13px 32px 14px 32px;
    font-size: 1.6rem;
    color: #2b2b2b;
    background: #f7f8f8;
    border: 1px solid #dcdddd;
    border-radius: 5px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("../images/icon_secelt.svg");
    background-repeat: no-repeat;
    background-position: right 7px center;
    background-size: 10.1962px 23.547px;
    width:96px
}

@media screen and (max-width: 768px) {
    .cQuantitySelect, .topContact__formQuantitySelect {
        width: 86px;
        padding: 10px 20px;
        background-position: right 8px center;
        background-size: 7.74295px 18.91305px;
        border-radius:3px
    }
}

.cQuantitySelect:hover, .topContact__formQuantitySelect:hover {
    border-color:#bbb
}

.cQuantitySelect:focus, .topContact__formQuantitySelect:focus {
    outline: none;
    border-color:#2b2b2b
}

.cQuantitySelect option, .topContact__formQuantitySelect option {
    color: #2b2b2b;
    background:#fff
}

.sectionLabel {
    font-size: 1.6rem;
    color: #2b2b2b;
    font-family: "Jost", sans-serif;
    position: relative;
    z-index: 1;
    letter-spacing: .05em;
    text-indent: -1em;
    font-weight:500
}

@media screen and (max-width: 768px) {
    .sectionLabel {
        font-size:1.4rem
    }
}

.sectionLabel::before {
    content: "／";
    font-size: 1.2rem;
    margin-right:.6em
}

.container {
    padding-left: 30px;
    padding-right: 30px;
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
    position:relative
}

@media screen and (max-width: 960px) {
    .container {
        padding-left: 30px;
        padding-right:30px
    }
}

@media screen and (max-width: 768px) {
    .container {
        padding-left: 30px;
        padding-right:30px
    }
}

.pcnon {
    display:none
}

@media screen and (max-width: 768px) {
    .pcnon {
        display:block
    }
}

.spnon {
    display:block
}

@media screen and (max-width: 768px) {
    .spnon {
        display:none
    }
}

.sectionTtl {
    font-size: 4.4rem;
    font-weight:700
}

@media screen and (max-width: 768px) {
    .sectionTtl {
        font-size: 2.5rem;
        line-height:1.6
    }
}

.sectionSubTtl {
    font-size: 2.4rem;
    font-weight: 300;
    letter-spacing: .1em;
    line-height:1.8333333333
}

@media screen and (max-width: 768px) {
    .sectionSubTtl {
        font-size: 1.8rem;
        line-height:1.6666666667
    }
}

.footer {
    width:100%
}

@media screen and (max-width: 960px) {
    .footer {
        overflow:hidden
    }
}

.footer__yellow {
    background-color: #fff255;
    position:relative
}

.footer__stripeTop {
    height: 10px;
    background-image:repeating-linear-gradient(-45deg, transparent 0, transparent 8px, #f7f8f8 8px, #f7f8f8 16px)
}

@media screen and (max-width: 768px) {
    .footer__stripeTop {
        height: 6px;
        background-image:repeating-linear-gradient(-45deg, transparent 0, transparent 3px, #f7f8f8 3px, #f7f8f8 6px)
    }
}

.footer__stripeBottom {
    height: 10px;
    background-image:repeating-linear-gradient(-45deg, transparent 0, transparent 8px, #2b2b2b 8px, #2b2b2b 16px)
}

@media screen and (max-width: 768px) {
    .footer__stripeBottom {
        height: 6px;
        background-image:repeating-linear-gradient(-45deg, transparent 0, transparent 3px, #2b2b2b 3px, #2b2b2b 6px)
    }
}

.footer__content {
    max-width: 100%;
    margin: 0 auto;
    padding: 115px 0 129px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

@media screen and (max-width: 1060px) {
    .footer__content {
        width: 100%;
        padding:80px 0
    }
}

@media screen and (max-width: 960px) {
    .footer__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 40px 0 50px;
        gap:32px
    }
}

@media screen and (max-width: 768px) {
    .footer__content {
        padding: 85px 0 80px;
        gap:50px
    }
}

.footer__logo {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 282px;
    margin-right: 90px;
    text-align:center
}

@media screen and (max-width: 1260px) {
    .footer__logo {
        width: 240px;
        margin-right:45px
    }
}

@media screen and (max-width: 1060px) {
    .footer__logo {
        width:220px
    }
}

@media screen and (max-width: 960px) {
    .footer__logo {
        width: 200px;
        margin-right:0
    }
}

.footer__logoLink {
    display: inline-block;
    margin-bottom:16px
}

@media screen and (max-width: 768px) {
    .footer__logoLink {
        margin-bottom:8px
    }
}

.footer__logoImg {
    width: 282px;
    height: auto;
    display:block
}

@media screen and (max-width: 1060px) {
    .footer__logoImg {
        width:220px
    }
}

@media screen and (max-width: 768px) {
    .footer__logoImg {
        width:180px
    }
}

.footer__tagline {
    font-size: 1.76rem;
    color: #2b2b2b;
    line-height: 1.5;
    font-weight: 600;
    font-style:italic
}

@media screen and (max-width: 1060px) {
    .footer__tagline {
        font-size:1.5rem
    }
}

@media screen and (max-width: 768px) {
    .footer__tagline {
        font-size: 1.1rem;
        line-height:1.9090909091
    }
}

.footer__navWrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    background-color: #fff;
    border-radius: 10px;
    padding: 45px 48px 51px 53px;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1
}

@media screen and (max-width: 1060px) {
    .footer__navWrap {
        padding:24px 30px
    }
}

@media screen and (max-width: 960px) {
    .footer__navWrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 24px;
        background-color: rgba(0, 0, 0, 0);
        padding: 0;
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .footer__navWrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 24px;
        background-color: rgba(0, 0, 0, 0);
        padding: 0;
        width:100%
    }
}

.footer__nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap:60px
}

@media screen and (max-width: 1060px) {
    .footer__nav {
        gap:40px
    }
}

@media screen and (max-width: 960px) {
    .footer__nav {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0px 40px;
        width: 320px;
        margin: 0 auto;
        -webkit-box-align: start;
        -webkit-align-items: start;
        -ms-flex-align: start;
        align-items:start
    }
}

@media screen and (max-width: 768px) {
    .footer__nav {
        width: 240px;
        gap:0px 30px
    }
}

@media screen and (max-width: 960px) {
    .footer__navCol {
        display:contents
    }
}

@media screen and (max-width: 768px) {
    .footer__navCol {
        display:contents
    }
}

.footer__navCol_type_about {
    width:175px
}

@media screen and (max-width: 960px) {
    .footer__navCol_type_about {
        width:auto
    }
}

@media screen and (max-width: 768px) {
    .footer__navCol_type_about {
        width:auto
    }
}

.footer__navCol_type_links {
    width:112px
}

@media screen and (max-width: 960px) {
    .footer__navCol_type_links {
        width:auto
    }
}

@media screen and (max-width: 768px) {
    .footer__navCol_type_links {
        width:auto
    }
}

.footer__navTtl {
    font-size: 1.6rem;
    font-weight: 500;
    color: #2b2b2b;
    margin-bottom: 15px;
    line-height:1.2
}

@media screen and (max-width: 768px) {
    .footer__navTtl {
        font-size: 1.5rem;
        margin-bottom:12px
    }
}

.footer__navList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:15px
}

@media screen and (max-width: 768px) {
    .footer__navList {
        gap:12px
    }
}

@media screen and (max-width: 960px) {
    .footer__navList {
        display: contents;
        gap:0
    }
}

@media screen and (max-width: 768px) {
    .footer__navList {
        display: contents;
        gap:0
    }
}

@media screen and (max-width: 960px) {
    .footer__navList_type_low {
        display:none
    }
}

@media screen and (max-width: 768px) {
    .footer__navList_type_low {
        display:none
    }
}

.footer__navList_type_low .footer__navLink {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-weight:400
}

.footer__navList_type_low .footer__navLink:before {
    content: "-";
    margin-right:.5em
}

@media screen and (max-width: 960px) {
    .footer__navItem {
        display:contents
    }

    .footer__navItem .footer__navLink {
        margin-bottom:15px
    }

    .footer__navItem:nth-last-of-type .footer__navLink {
        margin-bottom:0
    }
}

.footer__navLink {
    font-size: 1.6rem;
    font-weight: 500;
    color: #2b2b2b;
    display: block;
    line-height: 1.2;
    -webkit-transition: opacity .3s ease;
    transition:opacity .3s ease
}

.footer__navLink:hover {
    opacity:.7
}

@media screen and (max-width: 768px) {
    .footer__navLink {
        font-size:1.4rem
    }
}

.footer__cta {
    margin-left: 56px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top:4px
}

@media screen and (max-width: 1060px) {
    .footer__cta {
        margin-left:30px
    }
}

@media screen and (max-width: 960px) {
    .footer__cta {
        margin-left: 0;
        margin-top: 0;
        width: min(520px, 100%);
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content:center
    }
}

@media screen and (max-width: 768px) {
    .footer__cta {
        margin-left: 0;
        margin-top: 0;
        width: min(520px, 100%);
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content:center
    }
}

.footer__ctaBtn {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    background-color: #2b2b2b;
    color: #fff;
    border-radius: 25px;
    font-size: 1.6rem;
    font-weight: 500;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 189px;
    height:50px
}

.footer__ctaBtn:hover {
    background-color: #fff255;
    color: #2b2b2b;
    opacity:1
}

@media screen and (max-width: 960px) {
    .footer__ctaBtn {
        width: 320px;
        height:48px
    }
}

@media screen and (max-width: 768px) {
    .footer__ctaBtn {
        width: 265px;
        height:50px
    }
}

.footer__ctaBtnIcon {
    width: 15px;
    height: 11px;
    background-image: url("../images/icon_mail_yellow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    top:1px
}

.footer__ctaBtn:hover .footer__ctaBtnIcon {
    background-image: url("../images/icon_mail_dark.svg")
}

.footer__ctaBtnText {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1;
    white-space:nowrap
}

@media screen and (max-width: 768px) {
    .footer__ctaBtnText {
        font-size:1.4rem
    }
}

.footer__bottom {
    background-color: #2b2b2b;
    height: 113px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items:center
}

@media screen and (max-width: 768px) {
    .footer__bottom {
        height: auto;
        padding:16px 0
    }
}

.footer__bottomInner {
    width: 1440px;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 40px 0 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

@media screen and (max-width: 1060px) {
    .footer__bottomInner {
        padding:0 40px
    }
}

@media screen and (max-width: 960px) {
    .footer__bottomInner {
        padding:0 30px
    }
}

.footer__bottomLeft {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:4px
}

@media screen and (max-width: 960px) {
    .footer__bottomLeft {
        display:none
    }
}

.footer__companyRow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap:16px
}

@media screen and (max-width: 768px) {
    .footer__companyRow {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap:4px
    }
}

.footer__companyLabel {
    font-size: 1.5rem;
    color: #fff;
    font-weight: 500;
    line-height:1.2
}

@media screen and (max-width: 768px) {
    .footer__companyLabel {
        font-size:1.3rem
    }
}

.footer__companyValue {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:4px
}

.footer__companyName {
    font-size: 1.5rem;
    color: #fff;
    font-weight: 400;
    line-height:1.2
}

@media screen and (max-width: 768px) {
    .footer__companyName {
        font-size:1.2rem
    }
}

.footer__companyAddress {
    font-size: 1.5rem;
    color: #fff;
    font-weight: 400;
    line-height:1.2
}

@media screen and (max-width: 768px) {
    .footer__companyAddress {
        font-size:1.2rem
    }
}

.footer__bottomRight {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap:4px
}

@media screen and (max-width: 960px) {
    .footer__bottomRight {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .footer__bottomRight {
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items:center
    }
}

.footer__privacy {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 400;
    line-height: 1.2;
    -webkit-transition: opacity .3s ease;
    transition:opacity .3s ease
}

.footer__privacy:hover {
    text-decoration:underline
}

@media screen and (max-width: 768px) {
    .footer__privacy {
        font-size:1.2rem
    }
}

.footer__copyright {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 400;
    line-height:1.2
}

@media screen and (max-width: 768px) {
    .footer__copyright {
        font-size:1.2rem
    }
}

.fixedCta {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index:90
}

@media screen and (max-width: 768px) {
    .fixedCta {
        bottom: 0;
        right: 0;
        left: 0;
        padding: 12px 16px;
        background-color: rgba(255, 255, 255, .95);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        -webkit-box-shadow: 0 -4px 20px rgba(0, 0, 0, .1);
        box-shadow:0 -4px 20px rgba(0, 0, 0, .1)
    }
}

.fixedCta__btn {
    -webkit-box-shadow: 0 4px 20px rgba(0, 0, 0, .2);
    box-shadow:0 4px 20px rgba(0, 0, 0, .2)
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    padding:0 30px 0 40px
}

@media screen and (max-width: 1260px) {
    .header {
        padding:0 25px 0 25px
    }
}

@media screen and (max-width: 768px) {
    .header {
        padding:0 30px 0 30px
    }
}

.header::before {
    content:none
}

.header__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto;
    padding:35px 0 0 0
}

@media screen and (max-width: 768px) {
    .header__inner {
        padding:20px 0 0 0
    }
}

.header__logo {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

@media screen and (max-width: 960px) {
    .header__logo {
        position: relative;
        z-index:3
    }
}

.header__logoLink {
    display:block
}

.header__logoImg {
    width: 227.3513px;
    height:auto
}

@media screen and (max-width: 1260px) {
    .header__logoImg {
        width:180px
    }
}

@media screen and (max-width: 1060px) {
    .header__logoImg {
        width:150px
    }
}

@media screen and (max-width: 768px) {
    .header__logoImg {
        width:84px
    }
}

@media screen and (max-width: 768px) {
    .header__nav {
        display:none
    }
}

.header__ham {
    display: none;
    z-index:3
}

@media screen and (max-width: 768px) {
    .header__ham {
        display:block
    }
}

.gNav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    position:relative
}

@media screen and (max-width: 960px) {
    .gNav {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        position: absolute;
        width: 100%;
        height: 100vh;
        min-height: 100dvh;
        top: 0;
        left: 0;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        -webkit-transition: opacity .3s ease, visibility .3s ease;
        transition:opacity .3s ease, visibility .3s ease
    }
}

.gNav__spInfo {
    display:none
}

.gNav.isActive {
    z-index:2
}

@media screen and (max-width: 960px) {
    .gNav.isActive {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        background-color: #fff255;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow: scroll;
        padding-bottom:45px
    }

    .gNav.isActive::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 10px;
        background-image: repeating-linear-gradient(-45deg, #fff255 0, #fff255 8px, #f7f8f8 8px, #f7f8f8 16px);
        z-index:1
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive::after {
        height: 8px;
        background-image:repeating-linear-gradient(-45deg, #fff255 0, #fff255 3px, #f7f8f8 3px, #f7f8f8 6px)
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__bar {
        background-color: #f7f8f8;
        display: block;
        width: 100%;
        padding: 120px 30px 60px;
        border-radius:0
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__bar {
        padding-top: 78px;
        padding-bottom:48px
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__list {
        display:block
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__item {
        border-bottom: 1px solid #efefef;
        display:block
    }

    .gNav.isActive .gNav__item:after {
        display:none !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__link {
        color: #2b2b2b;
        padding: 20px 10px;
        display: block;
        width: 100%;
        position:relative
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__link {
        padding: 15px 10px 15px 20px !important;
        line-height:1 !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__link:before {
        content: "";
        display: block;
        aspect-ratio: 4.8603/9.1033;
        width: 8px;
        height: auto;
        background: url("../images/icon_nav_arrow_right.svg") no-repeat center center;
        position: absolute;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform:translateY(-50%)
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__link:before {
        width: 4.8603px !important;
        right:23px
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__itemSub {
        position: static !important;
        width: 100% !important;
        display: block !important;
        background-color: rgba(0, 0, 0, 0) !important;
        visibility: visible !important;
        opacity:1 !important
    }

    .gNav.isActive .gNav__itemSub::before {
        display:none !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__itemSubList {
        display: block !important;
        background-color: rgba(0, 0, 0, 0) !important;
        opacity: 1 !important;
        padding:0 !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__itemSubItem {
        display: block !important;
        border-bottom: none !important;
        border-top:1px solid #efefef !important
    }

    .gNav.isActive .gNav__itemSubItem:first-of-type {
        display:none !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__itemSubLink {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-pack: start !important;
        -webkit-justify-content: flex-start !important;
        -ms-flex-pack: start !important;
        justify-content: flex-start !important;
        padding: 20px 10px 20px 2em !important;
        color: #2b2b2b !important;
        position:relative
    }

    .gNav.isActive .gNav__itemSubLink::before {
        content: "・";
        margin-right:.5em
    }

    .gNav.isActive .gNav__itemSubLink:after {
        content: "";
        display: block;
        aspect-ratio: 4.8603/9.1033;
        width: 8px;
        height: auto;
        background: url("../images/icon_nav_arrow_right.svg") no-repeat center center;
        position: absolute;
        right: 20px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform:translateY(-50%)
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__itemSubLink:after {
        width: 4.8603px !important;
        right:23px
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__itemSubLink {
        padding: 15px 10px 15px 20px !important;
        line-height:1 !important
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__cta {
        width: 100%;
        background-color: #2b2b2b;
        height: 64px;
        border-radius: 64px;
        margin-top:30px
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__cta {
        height: 50px;
        border-radius: 50px;
        margin-top:38px
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__cta:hover {
        background-color:#2b2b2b
    }

    .gNav.isActive .gNav__cta:hover:before {
        background-image: url("../images/icon_mail_yellow.svg")
    }

    .gNav.isActive .gNav__cta:hover .gNav__ctaText {
        color:#fff
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__ctaText {
        color:#fff
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__spInfo {
        display: block;
        width: 100%;
        height: 100%;
        background-color: #fff255;
        padding: 90px 0;
        position:relative
    }

    .gNav.isActive .gNav__spInfo:before {
        content: "";
        position: absolute;
        top: -10px;
        left: 0;
        width: 100%;
        height: 10px;
        background-image: repeating-linear-gradient(-45deg, #fff255 0, #fff255 8px, #f7f8f8 8px, #f7f8f8 16px);
        z-index:1
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__spInfo:before {
        height: 6px;
        background-image: repeating-linear-gradient(-45deg, #fff255 0, #fff255 3px, #f7f8f8 3px, #f7f8f8 6px);
        top:-6px
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__spInfo {
        padding:40px 0
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__spInfoLogo {
        width: 240px;
        height: auto;
        margin:0 auto 20px
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__spInfoLogo {
        width: 150px;
        margin-bottom:12px
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__spInfoLogoImg {
        width: 100%;
        height:auto
    }
}

@media screen and (max-width: 960px) {
    .gNav.isActive .gNav__spInfoTagline {
        font-size: 1.6rem;
        font-weight: 600;
        font-style: italic;
        text-align: center;
        margin:0 auto
    }
}

@media screen and (max-width: 960px) and(max-width: 768px) {
    .gNav.isActive .gNav__spInfoTagline {
        font-size: 1rem;
        line-height:1.9444444444
    }
}

.gNav__stripeTop, .gNav__stripeBottom {
    display:none
}

.gNav__bar {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #2b2b2b;
    border-radius: 100px;
    padding: 19px 25px 19px 43px;
    gap: 30px;
    position: relative;
    top:3px
}

@media screen and (max-width: 1260px) {
    .gNav__bar {
        padding:19px 20px 19px 30px
    }
}

@media screen and (max-width: 1060px) {
    .gNav__bar {
        padding: 19px 15px 19px 25px;
        gap:15px
    }
}

@media screen and (max-width: 960px) {
    .gNav__bar {
        border-radius:0
    }
}

.gNav__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap:0
}

.gNav__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    position:relative
}

.gNav__item:after {
    content: "｜";
    color: #fff;
    padding: 0 15px;
    font-size:.9rem
}

@media screen and (max-width: 1260px) {
    .gNav__item:after {
        padding:0 10px
    }
}

@media screen and (max-width: 1060px) {
    .gNav__item:after {
        padding:0 8px
    }
}

.gNav__item:last-of-type:after {
    display:none
}

.gNav__item:hover .gNav__itemSub, .gNav__item:focus-within .gNav__itemSub, .gNav__item .gNav__itemSub:hover, .gNav__item.isSubOpen .gNav__itemSub {
    visibility: visible;
    pointer-events:auto
}

.gNav__item:hover .gNav__itemSubList, .gNav__item:focus-within .gNav__itemSubList, .gNav__item .gNav__itemSub:hover .gNav__itemSubList, .gNav__item.isSubOpen .gNav__itemSubList {
    opacity:1
}

.gNav__link {
    font-size: 1.6rem;
    font-weight: 500;
    color: #fff;
    white-space: nowrap;
    -webkit-transition: opacity .3s ease;
    transition:opacity .3s ease
}

.gNav__link:hover {
    opacity:.7
}

.gNav__itemSub {
    position: absolute;
    left: -43px;
    top: 68px;
    width: 323px;
    visibility: hidden;
    pointer-events: none;
    -webkit-transition: none;
    transition:none
}

.gNav__itemSub::before {
    content: "";
    position: absolute;
    top: -100px;
    left: 0;
    width: 100%;
    height: 100px;
    pointer-events:auto
}

.gNav__itemSubList {
    background-color: #2b2b2b;
    border-radius: 40px;
    padding: 17px 33px;
    opacity: 0;
    -webkit-transition: none;
    transition:none
}

.gNav__itemSubItem {
    border-bottom:1px solid #fff
}

.gNav__itemSubItem:last-of-type {
    border-bottom:none
}

.gNav__itemSubLink {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 15px 0;
    color: #fff;
    font-weight: 500;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

.gNav__itemSubLink:hover {
    opacity:.7
}

.gNav__itemSubLink:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background: url("../images/icon_arrow_right.svg") no-repeat center center
}

.gNav__itemSubLink:last-of-type {
    border-bottom:none
}

.gNav__separator {
    font-size: .9rem;
    color: #fff;
    padding: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select:none
}

.gNav__cta {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    background-color: #fff;
    border-radius: 25px;
    padding: 0 24px;
    width: 189px;
    height: 50px;
    margin-left: auto;
    -webkit-transition: background-color .3s ease, color .3s ease;
    transition: background-color .3s ease, color .3s ease;
    font-weight:500
}

@media screen and (max-width: 1060px) {
    .gNav__cta {
        width:160px
    }
}

.gNav__cta::before {
    content: "";
    width: 15px;
    height: 11px;
    background-image: url("../images/icon_mail_yellow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    position: relative;
    top:1px
}

.gNav__cta:hover {
    background-color: #fff255;
    opacity:1
}

.gNav__cta:hover::before {
    background-image: url("../images/icon_mail_dark.svg")
}

.gNav__cta:hover .gNav__ctaText {
    color:#2b2b2b
}

.gNav__ctaText {
    font-size: 1.5rem;
    font-weight: 500;
    color: #2b2b2b;
    white-space: nowrap;
    line-height: 1;
    -webkit-transition: color .3s ease;
    transition:color .3s ease
}

.ham {
    width: 48px;
    height: 48px;
    border-radius: 48px;
    position: relative;
    cursor: pointer;
    z-index: 110;
    padding: 16px 14px;
    background-color:#2b2b2b
}

@media screen and (max-width: 960px) {
    .ham {
        display:block
    }
}

@media screen and (max-width: 768px) {
    .ham {
        width: 35px;
        height: 35px;
        padding:10px
    }
}

.ham__inner {
    width: 100%;
    height: 100%;
    position:relative
}

.ham__bar {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff255;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

.ham__bar:nth-child(1) {
    top:0
}

.ham__bar:nth-child(2) {
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform:translateY(-50%)
}

.ham__bar:nth-child(3) {
    bottom:0
}

.ham.isActive .ham__bar:nth-child(1) {
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform:translateY(-50%) rotate(45deg)
}

.ham.isActive .ham__bar:nth-child(2) {
    opacity:0
}

.ham.isActive .ham__bar:nth-child(3) {
    bottom: 50%;
    -webkit-transform: translateY(50%) rotate(-45deg);
    transform:translateY(50%) rotate(-45deg)
}

.main {
    display: block;
    position:relative
}

@media screen and (max-width: 960px) {
    .main {
        overflow:hidden
    }
}

.main::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 10px;
    background-image: repeating-linear-gradient(-45deg, #fff255 0, #fff255 8px, #fff 8px, #fff 16px);
    z-index:1
}

@media screen and (max-width: 768px) {
    .main::after {
        height: 6px;
        background-image:repeating-linear-gradient(-45deg, #fff255 0, #fff255 3px, #fff 3px, #fff 6px)
    }
}

.main > * {
    position: relative;
    z-index:1
}

.lowMain {
    padding-top:260px
}

.lowMain:after {
    background-image: repeating-linear-gradient(-45deg, #fff255 0, #fff255 8px, #f7f8f8 8px, #f7f8f8 16px);
    z-index:1
}

@media screen and (max-width: 768px) {
    .lowMain:after {
        height: 6px;
        background-image:repeating-linear-gradient(-45deg, #fff255 0, #fff255 3px, #f7f8f8 3px, #f7f8f8 6px)
    }
}

@media screen and (max-width: 960px) {
    .lowMain {
        padding-top:120px
    }
}

@media screen and (max-width: 768px) {
    .lowMain {
        padding-top:100px
    }
}

.topMv {
    background-color: #fff255;
    position: relative;
    overflow: hidden;
    padding:190px 0 145px 0
}

@media screen and (max-width: 768px) {
    .topMv {
        padding:70px 0 0
    }
}

.topMv::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff255 url(../images/bg_mv_pc.svg);
    z-index: 0;
    pointer-events:none
}

@media screen and (max-width: 960px) {
    .topMv::before {
        background:#fff255 url(../images/bg_mv_sp.svg)
    }
}

.topMv__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: relative;
    z-index: 1;
    padding:0 65px
}

@media screen and (max-width: 1260px) {
    .topMv__inner {
        padding:0 30px
    }
}

@media screen and (max-width: 920px) and(min-width: 871px) {
    .topMv__inner {
        padding:0 3.3vw
    }
}

@media screen and (max-width: 960px) {
    .topMv__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 3.5vw;
        gap:3vw
    }
}

@media screen and (max-width: 768px) {
    .topMv__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 0 21px;
        gap:4.5vw 2.7vw
    }
}

.topMv__productLeft, .topMv__productRight {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:40px
}

@media screen and (max-width: 920px) and(min-width: 871px) {
    .topMv__productLeft, .topMv__productRight {
        gap:4.3vw
    }
}

@media screen and (max-width: 960px) {
    .topMv__productLeft, .topMv__productRight {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        display:contents
    }
}

@media screen and (max-width: 768px) {
    .topMv__productLeft, .topMv__productRight {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content:space-between
    }
}

.topMv__productCard {
    background: rgba(0, 0, 0, 0);
    padding: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
    position:relative
}

@media screen and (max-width: 960px) {
    .topMv__productCard {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(50% - 1.5vw);
        -ms-flex: 0 0 calc(50% - 1.5vw);
        flex: 0 0 calc(50% - 1.5vw);
        height:auto
    }
}

@media screen and (max-width: 768px) {
    .topMv__productCard {
        -webkit-box-flex: 0;
        -webkit-flex: 0 0 calc(50% - 8px);
        -ms-flex: 0 0 calc(50% - 8px);
        flex: 0 0 calc(50% - 8px);
        height:auto
    }
}

.topMv__productCard_more {
    background: rgba(0, 0, 0, 0);
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    min-height:181px
}

@media screen and (max-width: 960px) {
    .topMv__productCard_order_01 {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order:1
    }
    .topMv__productCard_order_02 {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order:2
    }
    .topMv__productCard_order_03 {
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
        -ms-flex-order: 4;
        order:4
    }
    .topMv__productCard_order_04 {
        -webkit-box-ordinal-group: 6;
        -webkit-order: 5;
        -ms-flex-order: 5;
        order:5
    }
    .topMv__productCard_order_05 {
        -webkit-box-ordinal-group: 7;
        -webkit-order: 6;
        -ms-flex-order: 6;
        order:6
    }
    .topMv__productCard_order_06 {
        -webkit-box-ordinal-group: 8;
        -webkit-order: 7;
        -ms-flex-order: 7;
        order:7
    }
}

.topMv__productCheckbox {
    position: absolute;
    top: 27px;
    left: 27px;
    width: 29px;
    height: 29px;
    border: 2px solid #2b2b2b;
    border-radius: 4px;
    background: #fff;
    z-index:1
}

.topMv__productImage {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0);
    border-radius: 8px;
    padding: 0;
    width: 320px;
    height:auto
}

@media screen and (max-width: 1260px) {
    .topMv__productImage {
        width:290px
    }
}

@media screen and (max-width: 1060px) {
    .topMv__productImage {
        width:280px
    }
}

@media screen and (max-width: 920px) and(min-width: 871px) {
    .topMv__productImage {
        width:27vw
    }
}

@media screen and (max-width: 960px) {
    .topMv__productImage {
        width:100%
    }
}

.topMv__productImg {
    width: 100%;
    max-width: 100%;
    height: auto;
    -webkit-filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.04));
    filter:drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.04))
}

@media screen and (max-width: 768px) {
    .topMv__productImg {
        -webkit-filter: drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.04));
        filter:drop-shadow(7px 7px 5px rgba(0, 0, 0, 0.04))
    }
}

.topMv__productName {
    position: absolute;
    bottom: 6px;
    left: 8px;
    font-size: 1.5rem;
    color: #2b2b2b;
    text-align: left;
    font-weight: 500;
    line-height: 1.4;
    font-weight:500
}

@media screen and (max-width: 1260px) {
    .topMv__productName {
        font-size:1.3rem
    }
}

@media screen and (max-width: 920px) and(min-width: 871px) {
    .topMv__productName {
        font-size:1.4vw
    }
}

@media screen and (max-width: 960px) {
    .topMv__productName {
        font-size: 1.8vw;
        left: 1vw;
        bottom:.8vw
    }
}

@media screen and (max-width: 768px) {
    .topMv__productName {
        left: .8vw;
        bottom: 1vw;
        letter-spacing:-0.05em
    }
}

.topMv__productMore {
    text-align:center
}

.topMv__productMoreText {
    font-size: 1.4rem;
    color: #2b2b2b;
    font-weight: 500;
    line-height:1.4
}

.topMv__center {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding:0
}

@media screen and (max-width: 960px) {
    .topMv__center {
        grid-column: 1/-1;
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order:3
    }
}

@media screen and (max-width: 768px) {
    .topMv__center {
        margin-bottom:4vw
    }
}

.topMv__catch {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 42px;
    padding-top:95px
}

@media screen and (max-width: 1260px) {
    .topMv__catch {
        gap:25px
    }
}

@media screen and (max-width: 1060px) {
    .topMv__catch {
        gap:20px
    }
}

@media screen and (max-width: 960px) {
    .topMv__catch {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 4.7vw;
        padding-top:2vw
    }
}

.topMv__catchColumn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    padding: 0 8px;
    white-space: nowrap;
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn {
        -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        text-orientation: mixed;
        padding:0
    }
}

.topMv__catchColumn_left {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
    -ms-flex-order: 1;
    order:1
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn_left {
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
        -ms-flex-order: 3;
        order:3
    }
}

.topMv__catchColumn_center {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
    -ms-flex-order: 2;
    order: 2;
    position: relative;
    top:-15px
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn_center {
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order: 2;
        top:0
    }
}

.topMv__catchColumn_center:before {
    content: "";
    width: 33.9555px;
    height: 33.425px;
    border-top: 2px solid #2b2b2b;
    border-right: 2px solid #2b2b2b;
    border-radius: 2px;
    position: absolute;
    right: -1px;
    top:-10px
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn_center:before {
        right: auto;
        left: -10px;
        border-right: none;
        border-left:2px solid #2b2b2b
    }
}

@media screen and (max-width: 768px) {
    .topMv__catchColumn_center:before {
        width: 5.19vw;
        height: 5.272386665vw;
        left: -2vw;
        top:-2vw
    }
}

.topMv__catchColumn_center:after {
    content: "";
    width: 33.9555px;
    height: 33.425px;
    border-top: 2px solid #2b2b2b;
    border-right: 2px solid #2b2b2b;
    border-radius: 2px;
    position: absolute;
    left: 0px;
    bottom: -10px;
    -webkit-transform: rotate(180deg);
    transform:rotate(180deg)
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn_center:after {
        left: auto;
        right: -10px;
        border-right: 2px solid #2b2b2b;
        border-left: none;
        -webkit-transform: rotate(90deg);
        transform:rotate(90deg)
    }
}

@media screen and (max-width: 768px) {
    .topMv__catchColumn_center:after {
        width: 5.19vw;
        height: 5.272386665vw;
        right: -2vw;
        bottom:-2vw
    }
}

.topMv__catchColumn_right {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
    -ms-flex-order: 3;
    order:3
}

@media screen and (max-width: 960px) {
    .topMv__catchColumn_right {
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order:1
    }
}

.topMv__catchText {
    font-size: 10rem;
    font-weight: 900;
    color: #2b2b2b;
    line-height:1.05
}

@media screen and (max-width: 1260px) {
    .topMv__catchText {
        font-size:8rem
    }
}

@media screen and (max-width: 1060px) {
    .topMv__catchText {
        font-size:6rem
    }
}

@media screen and (max-width: 768px) {
    .topMv__catchText {
        font-size:12.5vw
    }
}

.topMv__catchText_type_icon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
    position: relative;
    top:-11px
}

.topMv__catchText_type_icon picture {
    font-size:0
}

@media screen and (max-width: 768px) {
    .topMv__catchText_type_icon picture {
        position: relative;
        top:2px
    }
}

@media screen and (max-width: 768px) {
    .topMv__catchText_type_icon {
        top:0
    }
}

.topMv__catchIconImg {
    width: 95.6709px;
    height: auto;
    margin-bottom:5px
}

@media screen and (max-width: 768px) {
    .topMv__catchIconImg {
        width: 13.9773066667vw;
        margin-bottom:0px
    }
}

.topMv__catchHighlight {
    font-size: 10rem;
    font-weight: 900;
    color: #fff255;
    background-color: #2b2b2b;
    line-height: 1.05;
    border-radius: 4px;
    padding:15px 10px 15px 10px
}

@media screen and (max-width: 1260px) {
    .topMv__catchHighlight {
        font-size:8rem
    }
}

@media screen and (max-width: 1060px) {
    .topMv__catchHighlight {
        font-size:6rem
    }
}

@media screen and (max-width: 768px) {
    .topMv__catchHighlight {
        font-size: 12.5vw;
        padding:2.5vw 3vw
    }
}

.topMv__catchBracket {
    font-size: 4.8rem;
    font-weight: 900;
    color: #2b2b2b;
    line-height:1
}

@media screen and (max-width: 768px) {
    .topMv__catchBracket {
        font-size:2.4rem
    }
}

.topMv__catchBracket_open {
    margin-bottom:2px
}

.topMv__catchBracket_close {
    margin-top:2px
}

.topAbout {
    position: relative;
    background-color:#fff
}

.topAbout:after {
    content: "";
    display: block;
    width: 100%;
    height: var(--topAboutBgHeight, calc(100% - 169px));
    background-color: #fff255;
    position: absolute;
    top: 0;
    left: 0;
    z-index:0
}

@media screen and (max-width: 960px) {
    .topAbout {
        padding:40px 0
    }
}

@media screen and (max-width: 768px) {
    .topAbout {
        padding:48px 0 10px
    }
}

.topAbout__inner {
    margin: 0 auto;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 110px;
    min-height: calc((50vw - 60px) * 773/655);
    position: relative;
    z-index:2
}

@media screen and (max-width: 1260px) {
    .topAbout__inner {
        gap:60px
    }
}

@media screen and (max-width: 768px) {
    .topAbout__inner {
        padding: 0 30px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        min-height:auto
    }
}

.topAbout__left {
    max-width: 485px;
    width: 33.68055556vw;
    width:485px
}

@media screen and (max-width: 960px) {
    .topAbout__left {
        max-width: 100%;
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .topAbout__left {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        width:100%
    }
}

.topAbout__right {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: absolute;
    right: calc(-50vw + 50%);
    top: 0;
    z-index: 1;
    width:calc(50vw - 66px)
}

@media screen and (max-width: 1060px) {
    .topAbout__right {
        width:calc(100vw - 435px - 120px)
    }
}

@media screen and (max-width: 960px) {
    .topAbout__right {
        position: static;
        width: calc(100% + 30px);
        margin-bottom:27px
    }
}

.topAbout__label {
    margin-bottom:30px
}

@media screen and (max-width: 1060px) {
    .topAbout__label {
        text-indent:0
    }
}

@media screen and (max-width: 768px) {
    .topAbout__label {
        margin-bottom:12px
    }
}

.topAbout__heading {
    margin-bottom: 36px;
    position: relative;
    z-index:1
}

@media screen and (max-width: 768px) {
    .topAbout__heading {
        margin-bottom:26px
    }
}

.topAbout__logo {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index:1
}

.topAbout__logoImg {
    height: 94px;
    width:auto
}

@media screen and (max-width: 768px) {
    .topAbout__logoImg {
        height:55px
    }
}

.topAbout__title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 0;
    font-size: 4.4rem;
    font-weight: 600;
    color: #2b2b2b;
    line-height: 1;
    position: relative;
    z-index:1
}

@media screen and (max-width: 768px) {
    .topAbout__title {
        font-size:3rem
    }
}

.topAbout__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.75em;
    position: relative;
    z-index:1
}

@media screen and (max-width: 768px) {
    .topAbout__content {
        gap:25px
    }
}

.topAbout__text {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height: 1.75;
    text-align: left;
    letter-spacing:0
}

@media screen and (max-width: 768px) {
    .topAbout__text {
        font-size: 1.4rem;
        letter-spacing:.1em
    }

    .topAbout__text br {
        display:none
    }
}

.topAbout__scroll {
    overflow: hidden;
    border-radius: 40px 0 0 40px;
    width: 100%;
    height: 53.6805555556vw;
    background-image: url("../images/img_section_01_01_scroll_pc.jpg");
    background-repeat: repeat-x;
    background-position: 0 50%;
    background-size:auto 100%
}

@media screen and (max-width: 768px) {
    .topAbout__scroll {
        border-radius: 5px 0 0 5px;
        height:64.5333333333vw
    }
}

.topAbout__scrollTrack {
    display:none
}

.topAbout__productsImg {
    display:none
}

.topFeatures {
    background: #fff;
    padding-bottom: 154px;
    padding-top:170px
}

@media screen and (max-width: 768px) {
    .topFeatures {
        padding:60px 0 42px
    }
}

.topFeatures__inner {
    padding-left: 55px;
    padding-right:55px
}

@media screen and (max-width: 768px) {
    .topFeatures__inner {
        padding:0 30px
    }
}

.topFeatures__label {
    text-align: center;
    margin-bottom:16px
}

@media screen and (max-width: 768px) {
    .topFeatures__label {
        margin-bottom:8px
    }
}

.topFeatures__labelSlash {
    color:#fff255
}

.topFeatures__title {
    text-align: center;
    margin-bottom:30px
}

@media screen and (max-width: 768px) {
    .topFeatures__title {
        margin-bottom:20px
    }
}

.topFeatures__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap:54px 90px
}

@media screen and (max-width: 960px) {
    .topFeatures__grid {
        grid-template-columns: 1fr;
        gap:35px
    }
}

.topFeatures__card {
    background:rgba(0, 0, 0, 0)
}

.topFeatures__cardHeader {
    height: 124px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    margin-bottom:32px
}

@media screen and (max-width: 768px) {
    .topFeatures__cardHeader {
        width: 100%;
        height: 82px;
        margin-bottom:26px
    }
}

.topFeatures__cardHeader::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 23px;
    height: 100%;
    border-left: 1px solid #2b2b2b;
    border-top: 1px solid #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
    border-radius:3px 0 0 3px
}

@media screen and (max-width: 768px) {
    .topFeatures__cardHeader::before {
        width:16px
    }
}

.topFeatures__cardHeader::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 23px;
    height: 100%;
    border-right: 1px solid #2b2b2b;
    border-top: 1px solid #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
    border-radius:0 3px 3px 0
}

@media screen and (max-width: 768px) {
    .topFeatures__cardHeader::after {
        width:16px
    }
}

.topFeatures__cardHeaderInner {
    width: calc(100% - 20px);
    margin-left: auto;
    margin-right: auto;
    height: 104px;
    background: #fff255;
    border-radius: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    position:relative
}

@media screen and (max-width: 768px) {
    .topFeatures__cardHeaderInner {
        width: calc(100% - 12px);
        height: auto;
        padding:14px 0
    }
}

.topFeatures__cardHeaderInner_type_row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items:center
}

@media screen and (max-width: 768px) {
    .topFeatures__cardHeaderInner_type_row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction:column
    }
}

.topFeatures__cardSubtitle {
    font-size: 1.8rem;
    color: #2b2b2b;
    font-weight: 500;
    line-height:1.5
}

@media screen and (max-width: 768px) {
    .topFeatures__cardSubtitle {
        font-size: 1.4rem;
        line-height: 1;
        margin-bottom:10px
    }
}

.topFeatures__cardTitle {
    font-size: 3rem;
    font-weight: 600;
    color:#2b2b2b
}

@media screen and (max-width: 768px) {
    .topFeatures__cardTitle {
        font-size: 2rem;
        line-height:1
    }
}

.topFeatures__cardBody {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap:22px
}

.topFeatures__cardIcon {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

.topFeatures__cardIconImg {
    width: 400px;
    height:400px
}

@media screen and (max-width: 768px) {
    .topFeatures__cardIconImg {
        width: 60.5333333333vw;
        height:auto
    }
}

.topFeatures__cardText {
    font-size: 1.5rem;
    color: #2b2b2b;
    line-height: 1.8666666667;
    text-align:left
}

@media screen and (max-width: 768px) {
    .topFeatures__cardText {
        font-size: 1.6rem;
        line-height:1.5625
    }

    .topFeatures__cardText br {
        display:none
    }
}

.topStrengths {
    position: relative;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    padding-bottom: 130px;
    background-color:#fff
}

@media screen and (max-width: 768px) {
    .topStrengths {
        padding-bottom:48px
    }
}

.topStrengths::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: calc(100% - 210px);
    background: #fff255;
    z-index:0
}

@media screen and (max-width: 768px) {
    .topStrengths::before {
        height:calc(100% - 33vw)
    }
}

.topStrengths__inner {
    position: relative;
    z-index: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items:center
}

@media screen and (max-width: 960px) {
    .topStrengths__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 40px 0;
        width: 100%;
        padding-right: 20px;
        gap:36px
    }
}

@media screen and (max-width: 768px) {
    .topStrengths__inner {
        padding:0 0
    }
}

.topStrengths__left {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: calc(-50vw + 50% - 30px);
    min-width:0
}

@media screen and (max-width: 960px) {
    .topStrengths__left {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        width: calc(100% + 60px);
        margin-bottom:0
    }
}

@media screen and (max-width: 768px) {
    .topStrengths__left {
        width: calc(100% + 30px);
        margin-left:-30px
    }
}

.topStrengths__image {
    width: 100%;
    overflow:hidden
}

.topStrengths__img {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 0 40px 40px 0;
    display:block
}

@media screen and (max-width: 768px) {
    .topStrengths__img {
        border-radius:0 20px 20px 0
    }
}

.topStrengths__right {
    width: 635px;
    padding-left:100px
}

@media screen and (max-width: 1060px) {
    .topStrengths__right {
        padding-left:60px
    }
}

@media screen and (max-width: 960px) {
    .topStrengths__right {
        width: 100%;
        padding-left:0
    }
}

.topStrengths__label {
    margin-bottom: 16px;
    text-indent:0
}

@media screen and (max-width: 768px) {
    .topStrengths__label {
        margin-bottom:7px
    }
}

.topStrengths__labelSlash {
    color:#2b2b2b
}

.topStrengths__title {
    margin-bottom: 34px;
    line-height: 1.5;
    text-align:left
}

@media screen and (max-width: 768px) {
    .topStrengths__title {
        margin-bottom:28px
    }
}

.topStrengths__content {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:24px
}

.topStrengths__text {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.8
}

@media screen and (max-width: 768px) {
    .topStrengths__text {
        line-height:1.5625
    }

    .topStrengths__text br {
        display:none
    }
}

.topReasons {
    position: relative;
    overflow: hidden;
    padding-top: 120px;
    padding-bottom: 125px;
    background-color:#fff
}

@media screen and (max-width: 768px) {
    .topReasons {
        padding:37px 0 37px
    }
}

.topReasons__bg {
    position: absolute;
    top: 56%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 948px;
    height: 948px;
    z-index: 0;
    pointer-events:none
}

.topReasons__bg svg {
    width: 100%;
    height:100%
}

@media screen and (max-width: 768px) {
    .topReasons__bg {
        width: 500px;
        height:500px
    }
}

@media screen and (max-width: 768px) {
    .topReasons__bg {
        display:none
    }
}

.topReasons__inner {
    position: relative;
    z-index:1
}

.topReasons__header {
    text-align: center;
    margin-bottom:33px
}

@media screen and (max-width: 768px) {
    .topReasons__header {
        margin-bottom:26px
    }
}

.topReasons__label {
    color: #2b2b2b;
    margin-bottom:12px
}

@media screen and (max-width: 768px) {
    .topReasons__label {
        margin-bottom:4px
    }
}

.topReasons__labelSlash {
    font-size: 1.4rem;
    color:#2b2b2b
}

.topReasons__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:70px
}

@media screen and (max-width: 768px) {
    .topReasons__list {
        gap:34px
    }
}

.topReasons__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap:70px
}

@media screen and (max-width: 1060px) {
    .topReasons__item {
        gap:30px
    }
}

@media screen and (max-width: 960px) {
    .topReasons__item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap:24px
    }
}

.topReasons__item_type_02 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
    flex-direction:row-reverse
}

@media screen and (max-width: 960px) {
    .topReasons__item_type_02 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction:column
    }
}

@media screen and (max-width: 768px) {
    .topReasons__item_type_02 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction:column
    }
}

.topReasons__itemImage {
    width: 503px;
    border-radius: 8px;
    overflow: hidden;
    position:relative
}

@media screen and (max-width: 1060px) {
    .topReasons__itemImage {
        width:400px
    }
}

@media screen and (max-width: 960px) {
    .topReasons__itemImage {
        max-width: 100%;
        width:100%
    }
}

.topReasons__itemImg {
    width: 100%;
    height: auto;
    display: block;
    border-radius:20px
}

@media screen and (max-width: 768px) {
    .topReasons__itemImg {
        border-radius:10px
    }
}

.topReasons__itemCaption {
    position: absolute;
    bottom: 16px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    font-size: 1.3rem;
    color: #fff;
    white-space:nowrap
}

.topReasons__itemContent {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding:20px 0
}

@media screen and (max-width: 768px) {
    .topReasons__itemContent {
        padding:0
    }
}

.topReasons__itemHeader {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 16px;
    margin-bottom:24px
}

@media screen and (max-width: 768px) {
    .topReasons__itemHeader {
        margin-bottom:17px
    }
}

.topReasons__itemNumberWrap {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 84px;
    height: 84px;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

@media screen and (max-width: 768px) {
    .topReasons__itemNumberWrap {
        width: 50px;
        height: 50px;
        border-radius:2px
    }
}

.topReasons__itemNumberWrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    border-left: 1px solid #2b2b2b;
    border-top: 1px solid #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
    border-radius:3px 0 0 3px
}

@media screen and (max-width: 768px) {
    .topReasons__itemNumberWrap::before {
        width: 4px;
        border-radius:2px 0 0 2px
    }
}

.topReasons__itemNumberWrap::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 10px;
    height: 100%;
    border-right: 1px solid #2b2b2b;
    border-top: 1px solid #2b2b2b;
    border-bottom: 1px solid #2b2b2b;
    border-radius:0 3px 3px 0
}

@media screen and (max-width: 768px) {
    .topReasons__itemNumberWrap::after {
        width: 4px;
        border-radius:0 2px 2px 0
    }
}

.topReasons__itemNumber {
    font-family: "Jost", sans-serif;
    font-size: 2.6rem;
    font-weight: 500;
    color: #2b2b2b;
    line-height: 1;
    background: #fff255;
    width: 70px;
    height: 70px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0;
    border-radius:4px
}

@media screen and (max-width: 768px) {
    .topReasons__itemNumber {
        width: 40px;
        height: 40px;
        border-radius: 2px;
        font-size:2rem
    }
}

.topReasons__itemTitle {
    font-size: 2.6rem;
    font-weight: 600;
    color: #2b2b2b;
    line-height:1.5
}

@media screen and (max-width: 768px) {
    .topReasons__itemTitle {
        font-size: 2rem;
        margin-top:-4px
    }
}

.topReasons__itemText {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.8
}

@media screen and (max-width: 768px) {
    .topReasons__itemText {
        font-size:1.4rem
    }

    .topReasons__itemText br {
        display:none
    }
}

.topProducts {
    background: #fff;
    position: relative;
    z-index:1
}

@media screen and (max-width: 768px) {
    .topProducts {
        padding:0px 0 50px
    }
}

.topProducts::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 421px;
    background: #f7f8f8;
    z-index: 0;
    pointer-events:none
}

.topProducts__inner {
    z-index:1
}

.topProducts__header {
    text-align: center;
    margin-bottom:34px
}

@media screen and (max-width: 768px) {
    .topProducts__header {
        margin-bottom:25px
    }
}

.topProducts__label {
    color: #2b2b2b;
    margin-bottom:12px
}

@media screen and (max-width: 768px) {
    .topProducts__label {
        margin-bottom:0
    }
}

.topProducts__labelSlash {
    color:#2b2b2b
}

.topProducts__title {
    font-size:4.4rem
}

@media screen and (max-width: 768px) {
    .topProducts__title {
        font-size:2.5rem
    }
}

.topProducts__card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 20px;
    overflow: hidden;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding:64px 70px 60px 70px
}

@media screen and (max-width: 1060px) {
    .topProducts__card {
        padding:30px
    }
}

@media screen and (max-width: 768px) {
    .topProducts__card {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        padding:24px
    }
}

.topProducts__cardImage {
    width: 470px;
    position: relative;
    background:rgba(0, 0, 0, 0)
}

@media screen and (max-width: 1060px) {
    .topProducts__cardImage {
        width:400px
    }
}

@media screen and (max-width: 768px) {
    .topProducts__cardImage {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        max-width:100%
    }
}

.topProducts__slider {
    width:100%
}

.topProducts__slider .swiper-slide {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

.topProducts__cardImg {
    width: 100%;
    height: auto;
    display:block
}

@media screen and (max-width: 768px) {
    .topProducts__cardImg {
        border-radius:5px
    }
}

.topProducts__pagination.swiper-pagination {
    position: absolute !important;
    bottom: 25px !important;
    right: 25px !important;
    left: auto !important;
    width: auto !important;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 10px;
    z-index:10
}

@media screen and (max-width: 768px) {
    .topProducts__pagination.swiper-pagination {
        bottom: 10px !important;
        right: 10px !important;
        gap:7px
    }
}

.topProducts__pagination.swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0, 0, 0, .2);
    opacity: 1;
    margin: 0 !important;
    cursor: pointer;
    -webkit-transition: background .3s ease;
    transition:background .3s ease
}

@media screen and (max-width: 768px) {
    .topProducts__pagination.swiper-pagination .swiper-pagination-bullet {
        width: 7.5px;
        height: 7.5px;
        border-radius:7.5px
    }
}

.topProducts__pagination.swiper-pagination .swiper-pagination-bullet-active {
    background:#fff255
}

.topProducts__cardContent {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 0 0 0 60px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction:column
}

@media screen and (max-width: 1060px) {
    .topProducts__cardContent {
        padding-left:30px
    }
}

@media screen and (max-width: 768px) {
    .topProducts__cardContent {
        padding:24px 0 0 0
    }
}

.topProducts__cardTitle {
    font-size: 2.8rem;
    font-weight: 600;
    margin-bottom: 6px;
    line-height:1.5
}

@media screen and (max-width: 768px) {
    .topProducts__cardTitle {
        font-size:2rem
    }
}

.topProducts__cardDesc {
    font-size: 1.6rem;
    line-height: 1.8;
    margin-bottom:18px
}

@media screen and (max-width: 768px) {
    .topProducts__cardDesc {
        font-size:1.4rem
    }
}

.topProducts__cardSpecs {
    padding: 15px 25px 17px 25px;
    background-color: #f7f8f8;
    margin-bottom: 32px;
    border-radius:10px
}

@media screen and (max-width: 768px) {
    .topProducts__cardSpecs {
        padding: 11px 15px 10px 15px;
        border-radius: 5px;
        margin-bottom:28px
    }
}

.topProducts__cardSpecsTitle {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom:5px
}

@media screen and (max-width: 768px) {
    .topProducts__cardSpecsTitle {
        font-size: 1.4rem;
        margin-bottom:7px
    }
}

.topProducts__cardSpecsList {
    margin:0
}

.topProducts__cardSpecsRow {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -webkit-align-items: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.75
}

@media screen and (max-width: 768px) {
    .topProducts__cardSpecsRow {
        font-size: 1.4rem;
        line-height: 1.5714285714;
        margin-bottom:6px
    }

    .topProducts__cardSpecsRow:last-of-type {
        margin-bottom:0
    }
}

.topProducts__cardSpecsLabel {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 80px;
    -ms-flex: 0 0 80px;
    flex: 0 0 80px;
    font-weight:400
}

.topProducts__cardSpecsValue {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:flex
}

.topProducts__cardSpecsValue:before {
    content: "：";
    display:block
}

.topProducts__cardCta {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    background: #2b2b2b;
    color: #fff;
    padding: 20px 32px;
    border-radius: 50px;
    text-decoration: none;
    font-size: 1.6rem;
    font-weight: 400;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

@media screen and (max-width: 768px) {
    .topProducts__cardCta {
        height: 50px;
        position:relative
    }
}

.topProducts__cardCta:hover {
    background: #fff255;
    color: #2b2b2b;
    opacity:1
}

.topProducts__cardCta:hover .topProducts__cardCtaIcon path {
    stroke:#2b2b2b
}

.topProducts__cardCtaText {
    text-align:center
}

.topProducts__cardCtaIcon {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

@media screen and (max-width: 768px) {
    .topProducts__cardCtaIcon {
        position: absolute;
        top: 50%;
        right: 17px;
        -webkit-transform: translateY(-50%);
        transform:translateY(-50%)
    }
}

.topProducts__cardCtaIcon path {
    stroke:#fff255
}

.topProductsList {
    padding: 125px 0 125px;
    background:#f7f8f8
}

@media screen and (max-width: 768px) {
    .topProductsList {
        padding:0px 0 45px
    }
}

.topProductsList__label {
    color: #2b2b2b;
    text-align: center;
    margin-bottom:12px
}

@media screen and (max-width: 768px) {
    .topProductsList__label {
        margin-bottom:0px
    }
}

.topProductsList__labelSlash {
    color:#2b2b2b
}

.topProductsList__title {
    font-size: 4.4rem;
    text-align: center;
    margin-bottom:36px
}

@media screen and (max-width: 768px) {
    .topProductsList__title {
        font-size: 2.5rem;
        margin-bottom:26px
    }
}

.topProductsList__mainTabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    overflow: hidden;
    max-width: 950px;
    gap: 20px;
    position: relative;
    z-index: 2;
    bottom:-1px
}

@media screen and (max-width: 1060px) {
    .topProductsList__mainTabs {
        max-width:800px
    }
}

@media screen and (max-width: 768px) {
    .topProductsList__mainTabs {
        gap:14px
    }
}

.topProductsList__mainTab {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    font-size: 1.6rem;
    font-weight: 400;
    border: none;
    background: #2b2b2b;
    color: #fff;
    border-bottom: none;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    text-align: center;
    padding: 17px 50px;
    border: 1px solid #2b2b2b;
    border-bottom: none;
    border-radius:10px 10px 0 0
}

.topProductsList__mainTab_active {
    color: #2b2b2b;
    background: #fff;
    position:relative
}

.topProductsList__mainTab_active:after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background:#fff
}

.topProductsList__mainTab_active .topProductsList__mainTabText {
    position:relative
}

.topProductsList__mainTab_active .topProductsList__mainTabText::after {
    content: "";
    display: block;
    position: absolute;
    bottom: -4px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 1px;
    background:#2b2b2b
}

@media screen and (max-width: 768px) {
    .topProductsList__mainTab {
        padding: 6px 20px;
        font-size: 1.4rem;
        border-radius:5px 5px 0 0
    }
}

.topProductsList__mainTabText {
    position: relative;
    z-index: 1;
    font-size: 2rem;
    font-weight:600
}

@media screen and (max-width: 768px) {
    .topProductsList__mainTabText {
        font-size:1.4rem
    }
}

.topProductsList__main {
    border: 1px solid #2b2b2b;
    border-radius: 10px;
    background-color: #fff;
    padding: 45px 55px 73px 55px;
    position:relative
}

@media screen and (max-width: 768px) {
    .topProductsList__main {
        border-radius: 0 0 5px 5px;
        padding:30px 25px
    }
}

.topProductsList__mainContents {
    display:none
}

.topProductsList__mainContents.isActive {
    display:block
}

.topProductsList__categoryTabs {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 6px;
    max-width: 950px;
    margin: 0 auto;
    margin-bottom:32px
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTabs {
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        gap: 10px;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        width: calc(100% + 12px);
        margin-bottom:12px
    }
}

.topProductsList__categoryTab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 500;
    color: #2b2b2b;
    background: #fff;
    border: 1px solid #2b2b2b;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    border-radius: 100px;
    position:relative
}

.topProductsList__categoryTab:hover {
    background: #2b2b2b;
    color: #fff;
    border-color:#2b2b2b
}

.topProductsList__categoryTab:hover:after {
    border-right-color: #fff;
    border-bottom-color:#fff
}

.topProductsList__categoryTab_active {
    background: #2b2b2b;
    color: #fff;
    border-color:#2b2b2b
}

.topProductsList__categoryTab_active:after {
    border-right-color: #fff;
    border-bottom-color:#fff
}

.topProductsList__categoryTab:after {
    content: "";
    display: block;
    width: 5.6px;
    height: 5.6px;
    border-right: 1.5px solid #898989;
    border-bottom: 1.5px solid #898989;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
    position: absolute;
    right: 17px;
    top:calc(50% - 1px)
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTab:after {
        right: 15px;
        top:calc(50% - 1.5px)
    }
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTab {
        width:calc(50% - 10px)
    }
}

.topProductsList__categoryTabLink {
    padding: 8.5px 10px;
    font-size:1.6rem
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTabLink {
        padding:4px 10px
    }
}

.topProductsList__desc {
    text-align: center;
    margin-bottom:41px
}

@media screen and (max-width: 768px) {
    .topProductsList__desc {
        text-align: left;
        line-height: 1.5625;
        margin-bottom:25px
    }
}

.topProductsList__descText {
    font-size: 1.6rem;
    color: #2b2b2b;
    margin-bottom:5px
}

@media screen and (max-width: 768px) {
    .topProductsList__descText {
        margin-bottom:10px
    }
}

.topProductsList__descSm {
    line-height: 1;
    margin-bottom:10px
}

.topProductsList__descSmText {
    font-size:1.2rem
}

.topProductsList__descHighlight {
    display: inline;
    font-size: 1.6rem;
    color: #f60;
    text-decoration: none;
    border-bottom: 1px solid #f60;
    padding-bottom: 6px;
    font-weight:500
}

@media screen and (max-width: 768px) {
    .topProductsList__descHighlight {
        text-align: left;
        padding-bottom: 2px;
        font-size: 1.5;
        line-height:2
    }
}

.topProductsList__content {
    position:relative
}

.topProductsList__category {
    margin-bottom:70px
}

.topProductsList__category:last-of-type {
    margin-bottom:0
}

@media screen and (max-width: 768px) {
    .topProductsList__category {
        margin-bottom:30px
    }
}

.topProductsList__categoryTitle {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 40px;
    padding: 0 7px;
    height:68px
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTitle {
        padding: 0 4px;
        height: 45px;
        margin-bottom:20px
    }
}

.topProductsList__categoryTitleInner {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    font-size: 2rem;
    font-weight: 500;
    color: #2b2b2b;
    background: #fff255;
    padding: 12px 40px;
    text-align: center;
    border-radius: 4px;
    line-height:1.5
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTitleInner {
        font-size: 1.6rem;
        padding:6px 10px
    }
}

.topProductsList__categoryTitle_type_add .topProductsList__categoryTitleInner {
    background: #868686;
    color:#fff
}

.topProductsList__categoryTitle::before, .topProductsList__categoryTitle::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 12px;
    border:1px solid #2b2b2b
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTitle::before, .topProductsList__categoryTitle::after {
        width:16px
    }
}

.topProductsList__categoryTitle::before {
    left: 0;
    border-right: none;
    border-radius:3px 0 0 3px
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTitle::before {
        border-radius:2px 0 0 2px
    }
}

.topProductsList__categoryTitle::after {
    right: 0;
    border-left: none;
    border-radius:0 3px 3px 0
}

@media screen and (max-width: 768px) {
    .topProductsList__categoryTitle::after {
        border-radius:0 2px 2px 0
    }
}

.topProductsList__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 40px;
    -moz-column-gap: 40px;
    column-gap: 40px;
    row-gap: 0;
    margin-bottom:-40px
}

@media screen and (max-width: 1060px) {
    .topProductsList__grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .topProductsList__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        -webkit-column-gap: 10px;
        -moz-column-gap: 10px;
        column-gap: 10px;
        row-gap: 10px;
        margin-bottom:0
    }
}

.topProductsList__item {
    margin-bottom: 40px;
}

@media screen and (max-width: 768px) {
    .topProductsList__item {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
    }
}

.topProductsList__itemCard {
    position: relative;
    background: #fff;
    border: 1px solid #2b2b2b;
    border-radius: 10px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
    box-shadow:2px 2px 4px rgba(0, 0, 0, .1)
}

@media screen and (max-width: 768px) {
    .topProductsList__itemCard {
        width: 100%;
        border-radius:5px
    }
}

.topProductsList__itemModalLink {
  margin-top: 10px;
  font-size: 1.4rem;
  cursor: pointer;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .topProductsList__itemModalLink {
        margin-top: 5px;
        font-size: 1.1rem;
    }
}

.topProductsList__itemModalLink:hover {
  text-decoration: none;
}

.topProductsList__itemContent {
    padding: 0 0 21px;
    margin: 0 30px;
    border-bottom:1px solid #2b2b2b
}

@media screen and (max-width: 768px) {
    .topProductsList__itemContent {
        margin: 10px;
        max-width: calc(50vw - 80px);
        padding-bottom:12px
    }
}

.topProductsList__itemBodyBottom {
    padding:10px 30px 30px
}

@media screen and (max-width: 768px) {
    .topProductsList__itemBodyBottom {
        max-width: calc(50vw - 60px);
        padding:0 10px 15px
    }
}

.topProductsList__item.isChecked:not(.topProductsList__item_type_set) .topProductsList__itemCard::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(43, 43, 43, .5);
    pointer-events: none;
    z-index:1
}

@media screen and (min-width: 769px) {
    .topProductsList__item:not(.isChecked):not(.topProductsList__item_type_set) .topProductsList__itemCard:hover::after {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(43, 43, 43, .25);
        border-radius: 10px;
        pointer-events: none;
        z-index:1
    }
}

@media screen and (max-width: 768px) {
    .topProductsList__item:not(.isChecked):not(.topProductsList__item_type_set) .topProductsList__itemCard:hover::after {
        border-radius:5px
    }
}

.topProductsList__itemFig {
    position: relative;
    border-radius: 10px 10px 0 0;
    margin-bottom: 22px;
    overflow: hidden;
    width: 100%;
    display: block;
    min-width:0
}

@media screen and (max-width: 768px) {
    .topProductsList__itemFig {
        max-width: 100%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border-radius: 5px 5px 0 0;
        margin-bottom: 0;
        max-width:calc(50vw - 60px)
    }
}

.topProductsList__itemCheck {
    position: absolute;
    top: 18px;
    left: 18px;
    z-index: 2;
    cursor:pointer
}

@media screen and (max-width: 768px) {
    .topProductsList__itemCheck {
        top: 10px;
        left:10px
    }
}

.topProductsList__item_type_set .topProductsList__itemCheck {
    display:none
}

.topProductsList__item_type_set {
    cursor:default
}

.topProductsList__item_type_set::before {
    content: attr(dara-set-name);
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    background-color: #fff;
    color: #2b2b2b;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    padding: 0 0 1px 0;
    border-radius: 5px;
    width: 42px;
    min-width: 42px;
    height: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 5px;
    border:1px solid #2b2b2b
}

@media screen and (max-width: 768px) {
    .topProductsList__item_type_set::before {
        top: 6px;
        left: 6px;
        font-size: 1.1rem;
        padding: 0 0 1px 0;
        width: 30px;
        min-width: 30px;
        height: 17px;
        border-radius:3px
    }
}

.topProductsList__itemCheckInput {
    position: absolute;
    opacity: 0;
    pointer-events:none
}

.topProductsList__itemCheckInput:checked + .topProductsList__itemCheckBox {
    opacity: 1;
    background-image: url("../images/icon_check_square.svg");
    background-size: 28px 28px;
    background-repeat: no-repeat;
    background-position: center;
    border:none
}

@media screen and (max-width: 768px) {
    .topProductsList__itemCheckInput:checked + .topProductsList__itemCheckBox {
        background-size:18px 18px
    }
}

.topProductsList__itemCheckBox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: rgba(0, 0, 0, 0);
    border: 2px solid #fff255;
    border-radius: 4px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    opacity: 0;
    background-size: 28px 28px;
    cursor:pointer
}

@media screen and (max-width: 768px) {
    .topProductsList__itemCheckBox {
        width: 18px;
        height: 18px;
        background-size: 18px 18px;
        border-radius:2px
    }
}

@media screen and (min-width: 769px) {
    .topProductsList__item:not(.topProductsList__item_type_set):hover .topProductsList__itemCheckBox {
        opacity:1
    }
}

.topProductsList__itemImg {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px 10px 0 0;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -o-object-fit: cover;
    object-fit:cover
}

@media screen and (max-width: 768px) {
    .topProductsList__itemImg {
        min-width: 0 !important;
        max-width: calc(50vw - 60px);
        aspect-ratio: 255/210;
        height: auto;
        -o-object-fit: cover;
        object-fit: cover;
        border-radius:5px 5px 0 0
    }
}

.topProductsList__itemTitle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 8px;
    font-size: 1.8rem;
    line-height: 1.4444444444;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 2px;
    line-height: 1.5;
    position: relative;
    padding-left:16px
}

@media screen and (max-width: 768px) {
    .topProductsList__itemTitle {
        font-size: 1.3rem;
        padding-left: 10px;
        margin-bottom:10px
    }
}

.topProductsList__itemTitle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 9px;
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #fff255;
    border-radius: 50%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

@media screen and (max-width: 768px) {
    .topProductsList__itemTitle::before {
        width: 5px;
        height: 5px;
        top:8px
    }
}

.topProductsList__itemDesc {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.625
}

@media screen and (max-width: 768px) {
    .topProductsList__itemDesc {
        font-size: 1.1rem;
        line-height:1.5
    }
}

.topProductsList__itemSpecs {
    list-style: none;
    padding: 0;
    margin:0 0 12px 0
}

.topProductsList__itemSpec {
    font-size: 1.4rem;
    color: #2b2b2b;
    line-height: 1.7;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:flex
}

.topProductsList__itemSpec:before {
    content: "・";
    display:block
}

@media screen and (max-width: 768px) {
    .topProductsList__itemSpec {
        font-size: 1.1rem;
        line-height:1.5
    }
}

.topProductsList__itemBtn {
    display: block;
    padding: 7px 23px;
    background: #f7f8f8;
    color: #2b2b2b;
    border: 1px solid #2b2b2b;
    border-radius: 50px;
    font-size: 1.4rem;
    font-weight: 400;
    margin-top:auto
}

@media screen and (max-width: 768px) {
    .topProductsList__itemBtn {
        font-size: 1rem;
        padding: 5px 12px;
        border-radius: 20px;
        line-height:1.3
    }
}

.topProductsList__more {
    text-align: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin:68px auto 0
}

@media screen and (max-width: 768px) {
    .topProductsList__more {
        margin-top:25px
    }
}

.topProductsList .setIntro {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 45px;
    margin-bottom:60px
}

@media screen and (max-width: 1060px) {
    .topProductsList .setIntro {
        gap:30px
    }
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap:20px
    }
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro {
        margin-bottom:40px
    }
}

.topProductsList .setIntro__text {
    min-width: 445px;
    width:445px
}

@media screen and (max-width: 1060px) {
    .topProductsList .setIntro__text {
        min-width: 350px;
        width:350px
    }
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__text {
        width: 100%;
        min-width: 100%;
        -webkit-box-ordinal-group: 3;
        -webkit-order: 2;
        -ms-flex-order: 2;
        order:2
    }
}

.topProductsList .setIntro__textCatch {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom:12px
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textCatch {
        font-size: 1.4rem;
        margin-bottom:8px
    }
}

.topProductsList .setIntro__textTtl {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 15px;
    line-height:1
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textTtl {
        font-size: 2rem;
        margin-bottom:20px
    }
}

.topProductsList .setIntro__textDesc {
    margin-bottom:17px
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textDesc {
        margin-bottom:20px
    }
}

.topProductsList .setIntro__textDescPara {
    line-height: 1.75;
    margin-bottom:1.5em
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textDescPara {
        line-height:1.5625
    }
}

.topProductsList .setIntro__textDescPara:last-of-type {
    margin-bottom:0
}

.topProductsList .setIntro__textDescLink:hover {
    text-decoration:underline
}

.topProductsList .setIntro__textDl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 10px;
    margin-bottom:10px
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textDl {
        gap: 8px;
        margin-bottom:10px
    }
}

.topProductsList .setIntro__textCaution {
    font-size: 1.2rem;
    margin-bottom:20px
}

.topProductsList .setIntro__textSelectWrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap:10px
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textSelectWrap {
        gap:8px
    }
}

.topProductsList .setIntro__textInput {
    padding: 13px 13px 14px 13px;
    font-size: 1.6rem;
    color: #2b2b2b;
    background: #f7f8f8;
    border: 1px solid #dcdddd;
    border-radius: 5px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width:160px
}

.topProductsList .setIntro__textInput::-webkit-input-placeholder {
    color:#b5b5b5
}

.topProductsList .setIntro__textInput::-moz-placeholder {
    color:#b5b5b5
}

.topProductsList .setIntro__textInput:-ms-input-placeholder {
    color:#b5b5b5
}

.topProductsList .setIntro__textInput::-ms-input-placeholder {
    color:#b5b5b5
}

.topProductsList .setIntro__textInput::placeholder {
    color:#b5b5b5
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__textInput {
        width: 86px;
        padding: 10px 15px;
        border-radius:3px
    }
}

.topProductsList .setIntro__textBtn {
    max-width:100%
}

@media screen and (max-width: 1060px) {
    .topProductsList .setIntro__textBtn {
        width:100%
    }
}

.topProductsList .setIntro__images {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    position: relative;
    max-width:458px
}

@media screen and (max-width: 1060px) {
    .topProductsList .setIntro__images {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex: none;
        width:calc(100% - 380px)
    }
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__images {
        width: 100%;
        max-width: 100%;
        -webkit-box-ordinal-group: 2;
        -webkit-order: 1;
        -ms-flex-order: 1;
        order:1
    }
}

.topProductsList .setIntro__imagesSlider {
    width:100%
}

.topProductsList .setIntro__imagesSliderItem {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

.topProductsList .setIntro__imagesSliderItemImg {
    border-radius:10px
}

@media screen and (max-width: 768px) {
    .topProductsList .setIntro__imagesSliderItemImg {
        border-radius:5px
    }
}

.topProductsList .setIntro__pagination.swiper-pagination {
    position: absolute !important;
    bottom: 25px !important;
    right: 25px !important;
    left: auto !important;
    width: auto !important;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -webkit-justify-content: flex-end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 10px;
    z-index:10
}

.topProductsList .setIntro__pagination.swiper-pagination .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #dadbdb;
    opacity: 1;
    margin: 0 !important;
    cursor: pointer;
    -webkit-transition: background .3s ease;
    transition:background .3s ease
}

.topProductsList .setIntro__pagination.swiper-pagination .swiper-pagination-bullet-active {
    background:#fff255
}

.topProductsList__addArea {
    margin-top:70px
}

@media screen and (max-width: 768px) {
    .topProductsList__addArea {
        margin-top:40px
    }
}

.topProductsList__addAreaTtl {
    margin-bottom:24px
}

@media screen and (max-width: 768px) {
    .topProductsList__addAreaTtl {
        margin-bottom:16px
    }
}

.topProductsList__addAreaDesc {
    text-align: center;
    line-height: 1.625;
    margin-bottom:27px
}

@media screen and (max-width: 768px) {
    .topProductsList__addAreaDesc {
        text-align: left;
        line-height: 1.5625;
        margin-bottom:20px
    }
}

.topProductsList__addAreaItems {
    display: none;
    margin-bottom:38px
}

.topProductsList__setBtnWrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

.topProductsList__setBtn {
    width: 240px;
    height: 66px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 66px;
    border: 1px solid #2b2b2b;
    background-color: #fff;
    font-weight: 500;
    position:relative
}

@media screen and (max-width: 768px) {
    .topProductsList__setBtn {
        width: 100%;
        height: 50px;
        border-radius:50px
    }
}

.topProductsList__setBtn:after {
    content: "";
    display: block;
    width: 26px;
    height: 26px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%232b2b2b%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%A1%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%A1%E3%82%A4%E3%83%B3%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2210.41%2011.91%2013.07%2014.76%2015.74%2011.91%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/cover;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform:translateY(-50%)
}

@media screen and (max-width: 768px) {
    .topProductsList__setBtn:after {
        width: 23px;
        height: 23px;
        right:11px
    }
}

@media screen and (min-width: 769px) {
    .topProductsList__setBtn:hover {
        background-color: #2b2b2b;
        color:#fff
    }
}

@media screen and (min-width: 769px) {
    .topProductsList__setBtn:hover:after {
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%232b2b2b%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%A1%E3%82%A4%E3%83%B3%22%20data-name%3D%22%E3%83%A1%E3%82%A4%E3%83%B3%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2210.41%2011.91%2013.07%2014.76%2015.74%2011.91%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center center/cover
    }
}

.topProductsList__setBtn.isOpen::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform:translateY(-50%) rotate(180deg)
}

.topProductsList__notice {
    text-align: center;
    padding:60px 0 45px
}

@media screen and (max-width: 768px) {
    .topProductsList__notice {
        padding: 40px 0 25px;
        text-align:left
    }
}

.topProductsList__noticeTitle {
    font-size: 2.8rem;
    font-weight: 600;
    color: #2b2b2b;
    margin-bottom:8px
}

@media screen and (max-width: 768px) {
    .topProductsList__noticeTitle {
        font-size: 2rem;
        line-height: 1.65;
        margin-bottom:18px
    }
}

.topProductsList__noticeText {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.8
}

@media screen and (max-width: 768px) {
    .topProductsList__noticeText {
        line-height:1.5625
    }
}

.topProductsList__packaging {
    border: 1px solid #2b2b2b;
    border-radius: 10px;
    background-color: #fff;
    padding:40px
}

@media screen and (max-width: 768px) {
    .topProductsList__packaging {
        padding: 25px 25px 25px 25px;
        border-radius:5px
    }
}

.topProductsList__packagingGrid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap:33px 43px
}

@media screen and (max-width: 1060px) {
    .topProductsList__packagingGrid {
        grid-template-columns:repeat(2, 1fr)
    }
}

@media screen and (max-width: 768px) {
    .topProductsList__packagingGrid {
        grid-template-columns: 1fr;
        gap:19px
    }
}

.topProductsList__packagingFig {
    margin-bottom:10px
}

.topProductsList__packagingImg {
    border-radius:10px
}

.topProductsList__packagingTitle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    font-size: 1.8rem;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 3px;
    position: relative;
    padding-left:16px
}

@media screen and (max-width: 768px) {
    .topProductsList__packagingTitle {
        font-size:1.6rem
    }
}

.topProductsList__packagingTitle::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #fff255;
    border-radius: 50%;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

.topProductsList__packagingDesc {
    font-size: 1.4rem;
    color: #2b2b2b;
    line-height:1.8
}

@media screen and (max-width: 768px) {
    .topProductsList__packagingDesc {
        font-size: 1.6rem;
        line-height:1.5625
    }
}

.topAchievements {
    padding: 131px 0 130px;
    background: #fff;
    overflow:hidden
}

@media screen and (max-width: 768px) {
    .topAchievements {
        padding:45px 0
    }
}

@media screen and (max-width: 768px) {
    .topAchievements__inner {
        padding: 0 30px;
        max-width: 100%;
        overflow:hidden
    }
}

.topAchievements__label {
    text-align: center;
    margin-bottom: 16px;
    text-indent:0
}

@media screen and (max-width: 768px) {
    .topAchievements__label {
        margin-bottom:2px
    }
}

.topAchievements__labelSlash {
    margin-right:2px
}

.topAchievements__title {
    font-size: 4.4rem;
    font-weight: 700;
    color: #2b2b2b;
    text-align: center;
    margin-bottom:29px
}

@media screen and (max-width: 768px) {
    .topAchievements__title {
        font-size: 2.5rem;
        margin-bottom:21px
    }
}

.topAchievements__sliderWrap {
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    overflow:visible
}

@media screen and (max-width: 768px) {
    .topAchievements__sliderWrap {
        overflow: hidden;
        max-width:100%
    }
}

.topAchievements__navPrev, .topAchievements__navNext {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: #fff;
    border: 1px solid #2b2b2b;
    border-radius: 50%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    z-index:10
}

@media screen and (max-width: 1060px) {
    .topAchievements__navPrev, .topAchievements__navNext {
        width: 36px;
        height:36px
    }
}

.topAchievements__navPrev:hover, .topAchievements__navNext:hover {
    background:#2b2b2b
}

.topAchievements__navPrev:hover .topAchievements__navArrow, .topAchievements__navNext:hover .topAchievements__navArrow {
    border-color:#fff
}

.topAchievements__navPrev {
    left:calc(50% - 602px)
}

@media screen and (max-width: 1060px) {
    .topAchievements__navPrev {
        left:calc(50% - 407px)
    }
}

.topAchievements__navNext {
    right:calc(50% - 602px)
}

@media screen and (max-width: 1060px) {
    .topAchievements__navNext {
        right:calc(50% - 407px)
    }
}

.topAchievements__navArrow {
    width: 8px;
    height: 8px;
    border-top: 1px solid #2b2b2b;
    border-right: 1px solid #2b2b2b;
    -webkit-transition: border-color .3s ease;
    transition:border-color .3s ease
}

.topAchievements__navPrev .topAchievements__navArrow {
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    margin-left:3px
}

.topAchievements__navNext .topAchievements__navArrow {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-right:3px
}

.topAchievements__slider {
    overflow: visible;
    width: 100%;
    max-width: 100%;
    min-width:0
}

@media screen and (max-width: 768px) {
    .topAchievements__slider {
        width: 100%;
        max-width: 100%;
        overflow:hidden
    }
}

.topAchievements__slider .swiper-wrapper {
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items:stretch
}

.topAchievements__slide {
    height: auto;
    width: 1060px !important;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display:flex
}

@media screen and (max-width: 1060px) {
    .topAchievements__slide {
        width:720px !important
    }
}

@media screen and (max-width: 768px) {
    .topAchievements__slide {
        width:100% !important
    }
}

.topAchievements__card {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    background: #fff;
    border: 1px solid #2b2b2b;
    border-radius: 20px;
    overflow: hidden;
    width: 1060px;
    height: 100%;
    padding:50px 50px 45px
}

@media screen and (max-width: 1060px) {
    .topAchievements__card {
        padding: 30px;
        max-width:720px
    }
}

@media screen and (max-width: 960px) {
    .topAchievements__card {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%;
        height: auto;
        gap:30px
    }
}

@media screen and (max-width: 768px) {
    .topAchievements__card {
        border-radius: 5px;
        padding: 25px 20px;
        gap:5px
    }
}

.topAchievements__cardLeft {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction:column
}

@media screen and (max-width: 768px) {
    .topAchievements__cardLeft {
        -webkit-box-flex: 0;
        -webkit-flex: none;
        -ms-flex: none;
        flex:none
    }
}

.topAchievements__cardImage {
    width: 400px;
    margin-bottom:20px
}

@media screen and (max-width: 1060px) {
    .topAchievements__cardImage {
        width:300px
    }
}

@media screen and (max-width: 960px) {
    .topAchievements__cardImage {
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .topAchievements__cardImage {
        margin-bottom:12px
    }
}

.topAchievements__cardImg {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    display:block
}

@media screen and (max-width: 768px) {
    .topAchievements__cardImg {
        border-radius:5px
    }
}

.topAchievements__cardCompany {
    display:block
}

.topAchievements__cardCompanyLabel {
    font-size: 1.6rem;
    display: block;
    font-weight:500
}

@media screen and (max-width: 768px) {
    .topAchievements__cardCompanyLabel {
        font-size: 1.4rem;
        margin-bottom:2px
    }
}

.topAchievements__cardCompanyName {
    font-size: 1.8rem;
    font-weight: 600;
    display:block
}

@media screen and (max-width: 768px) {
    .topAchievements__cardCompanyName {
        font-size:1.6rem
    }
}

.topAchievements__cardRight {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-left:45px
}

@media screen and (max-width: 1060px) {
    .topAchievements__cardRight {
        padding-left:30px
    }
}

@media screen and (max-width: 960px) {
    .topAchievements__cardRight {
        padding-left:0
    }
}

.topAchievements__cardTags {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
    margin-bottom:15px
}

@media screen and (max-width: 768px) {
    .topAchievements__cardTags {
        margin-bottom:17px
    }
}

.topAchievements__cardTag {
    padding: 1px 14px 2px;
    font-size: 1.5rem;
    font-weight: 500;
    display: block;
    text-align:center
}

.topAchievements__cardTag_label {
    background: #2b2b2b;
    color: #fff;
    border-radius:20px 0 0 20px
}

.topAchievements__cardTag_value {
    background: #fff255;
    color: #2b2b2b;
    border-radius: 0 20px 20px 0;
    min-width:83px
}

.topAchievements__cardTitle {
    font-size: 2.6rem;
    font-weight: 700;
    color: #2b2b2b;
    margin-bottom: 15px;
    line-height:1.5384615385
}

@media screen and (max-width: 768px) {
    .topAchievements__cardTitle {
        font-size: 2rem;
        line-height: 1.5;
        margin-bottom:17px
    }
}

.topAchievements__cardDescPara {
    line-height: 1.75;
    margin-bottom:1.5em
}

@media screen and (max-width: 768px) {
    .topAchievements__cardDescPara {
        line-height:1.5625
    }
}

.topAchievements__cardDescPara:last-of-type {
    margin-bottom:0
}

@media screen and (max-width: 768px) {
    .topAchievements__navBtns {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 30px;
        gap:25px
    }

    .topAchievements__navBtns .topAchievements__navNext {
        position: static;
        -webkit-transform: none;
        transform: none;
        width: 40px;
        height:40px
    }

    .topAchievements__navBtns .topAchievements__navPrev {
        position: static;
        -webkit-transform: none;
        transform: none;
        width: 40px;
        height:40px
    }
}

.topAchievements__pagination {
    display:none
}

@media screen and (max-width: 768px) {
    .topAchievements__pagination {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        position: static;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 9px;
        margin-top:18px
    }

    .topAchievements__pagination .swiper-pagination-bullet {
        margin: 0 !important;
        width: 8px !important;
        height: 8px !important;
        background-color: #e8e8e8 !important;
        opacity:1 !important
    }

    .topAchievements__pagination .swiper-pagination-bullet-active {
        background-color:#999 !important
    }
}

.topFlow {
    padding: 120px 0 0;
    background:#f7f8f8
}

@media screen and (max-width: 768px) {
    .topFlow {
        padding:45px 0 0
    }
}

.topFlow__inner {
    max-width:900px
}

@media screen and (max-width: 768px) {
    .topFlow__inner {
        padding:0 30px
    }
}

.topFlow__label {
    text-align: center;
    margin-bottom:16px
}

@media screen and (max-width: 768px) {
    .topFlow__label {
        text-indent: 0;
        margin-bottom:0
    }
}

.topFlow__labelSlash {
    margin-right:2px
}

.topFlow__title {
    text-align: center;
    margin-bottom:34px
}

@media screen and (max-width: 768px) {
    .topFlow__title {
        font-size: 2.5rem;
        margin-bottom:25px
    }
}

.topFlow__steps {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items:center
}

.topFlow__step {
    width: 100%;
    position:relative
}

.topFlow__step:after {
    content: "";
    display: block;
    width: 27.1436px;
    height: 15.7784px;
    background: url(../images/icon_step_arrow.svg) no-repeat center center/cover;
    margin:15px auto
}

.topFlow__step:last-of-type:after {
    display:none
}

.topFlow__stepNumber {
    position: absolute;
    top: 0;
    left: 32px;
    font-size: 1.6rem;
    font-weight: 400;
    color: #2b2b2b;
    background: rgba(0, 0, 0, 0);
    padding: 0 8px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
    font-family: "Jost", sans-serif
}

@media screen and (max-width: 768px) {
    .topFlow__stepNumber {
        font-size: 1.5rem;
        left:15px
    }
}

.topFlow__stepNumber::before {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    right: 0;
    bottom: 0;
    background: #fff;
    z-index:-1
}

.topFlow__stepNumberNum {
    font-size: 2.2rem;
    font-weight: 500;
    font-family: "Jost", sans-serif
}

@media screen and (max-width: 768px) {
    .topFlow__stepNumberNum {
        font-size:2rem
    }
}

.topFlow__stepCard {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 22px;
    padding: 40px 39px 35px 39px;
    background: #fff;
    border: 1px solid #2b2b2b;
    border-radius:20px
}

@media screen and (max-width: 768px) {
    .topFlow__stepCard {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 12px 15px;
        padding: 25px 25px 22px;
        -webkit-box-align: start;
        -webkit-align-items: start;
        -ms-flex-align: start;
        align-items: start;
        border-radius:15px
    }
}

@media screen and (max-width: 768px) {
    .topFlow__stepIcon {
        grid-row: 1;
        grid-column: 1;
        align-self:center
    }
}

.topFlow__stepIconImg {
    width: 94px;
    height: 94px;
    border-radius:10px
}

@media screen and (max-width: 768px) {
    .topFlow__stepIconImg {
        width: 50px;
        height: 50px;
        border-radius:5px
    }
}

.topFlow__stepContent {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-top:4px
}

@media screen and (max-width: 768px) {
    .topFlow__stepContent {
        display: contents;
        padding-top:0
    }
}

.topFlow__stepTitle {
    font-size: 2.6rem;
    font-weight: 700;
    margin-bottom: 5px;
    line-height:1.4
}

@media screen and (max-width: 768px) {
    .topFlow__stepTitle {
        font-size: 1.6rem;
        line-height: 1.5625;
        grid-row: 1;
        grid-column: 2;
        align-self: center;
        margin-bottom:0
    }
}

.topFlow__stepText {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height:1.75
}

@media screen and (max-width: 768px) {
    .topFlow__stepText {
        font-size: 1.6rem;
        line-height: 1.5625;
        grid-row: 2;
        grid-column:1/-1
    }

    .topFlow__stepText br {
        display:none
    }
}

.topFlow__arrow {
    width: 0;
    height: 0;
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-top: 12px solid #2b2b2b;
    margin:20px auto
}

.topFlow__productsImage {
    margin-top: 130px;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width:100vw
}

@media screen and (max-width: 768px) {
    .topFlow__productsImage {
        margin-top:50px
    }
}

.topFlow__productsImg {
    width: 100%;
    height: auto;
    display:block
}

.topFlow__productsImage {
    width: 100vw;
    margin-left:calc(50% - 50vw)
}

.topFlow__scroll {
    width: 100%;
    height: 33.75vw;
    background-image: url("../images/bg_section_08_scroll_pc.jpg");
    background-repeat: repeat-x;
    background-position: 0 50%;
    background-size:141vw auto
}

@media screen and (max-width: 768px) {
    .topFlow__scroll {
        height: 49vw;
        background-size:204vw auto
    }
}

.topCompany {
    padding: 120px 0 90px;
    background:#fff
}

@media screen and (max-width: 768px) {
    .topCompany {
        padding:45px 0
    }
}

.topCompany__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap:182px
}

@media screen and (max-width: 960px) {
    .topCompany__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap:30px
    }
}

@media screen and (max-width: 768px) {
    .topCompany__inner {
        gap:3px
    }
}

.topCompany__header {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

.topCompany__label {
    margin-bottom: 16px;
    text-indent:0
}

@media screen and (max-width: 768px) {
    .topCompany__label {
        margin-bottom:0
    }
}

.topCompany__labelSlash {
    margin-right:2px
}

.topCompany__title {
    font-size: 4.4rem;
    font-weight: 700;
    color:#2b2b2b
}

@media screen and (max-width: 768px) {
    .topCompany__title {
        font-size:2.5rem
    }
}

.topCompany__table {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-top:42px
}

@media screen and (max-width: 960px) {
    .topCompany__table {
        padding-top:0
    }
}

.topCompany__row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 24px 0 24px 0;
    border-bottom: 1px solid #efefef;
    position:relative
}

.topCompany__row:after {
    content: "";
    display: block;
    width: 158px;
    height: 1px;
    background-color: #fff255;
    position: absolute;
    left: 0;
    bottom:-0.5px
}

@media screen and (max-width: 768px) {
    .topCompany__row:after {
        width:100px
    }
}

@media screen and (max-width: 768px) {
    .topCompany__row {
        gap: 0px;
        padding: 16px 0;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items:center
    }
}

.topCompany__rowLabel {
    width: 170px;
    font-size: 1.6rem;
    font-weight: 500;
    line-height:1.625
}

@media screen and (max-width: 768px) {
    .topCompany__rowLabel {
        width:130px
    }
}

.topCompany__rowValue {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    line-height:1.625
}

.topCompany__map {
    margin-top:24px
}

.topCompany__mapFrame {
    display: block;
    width: 100%;
    height:250px
}

@media screen and (max-width: 768px) {
    .topCompany__mapFrame {
        height:148px
    }
}

.topContact {
    padding: 135px 0 125px;
    background:#f7f8f8
}

.topContact_type_confirm {
    padding-top:0 !important
}

.topContact_type_confirm .topContact__dt {
    width:206px
}

@media screen and (max-width: 768px) {
    .topContact_type_confirm .topContact__dt {
        width:100%
    }
}

.topContact_type_confirm .topContact__lead {
    margin-bottom:40px
}

@media screen and (max-width: 768px) {
    .topContact_type_confirm .topContact__lead {
        font-size: 1.6rem;
        line-height: 1.5625;
        margin-bottom: 20px;
        text-align:left
    }
}

.topContact_type_confirm .topContact__addItem {
    font-size:1.6rem
}

.topContact_type_thanks {
    padding-top:0
}

@media screen and (max-width: 768px) {
    .topContact {
        padding:45px 0 50px
    }
}

.topContact__inner {
    max-width:960px
}

.topContact__label {
    text-align: center;
    margin-bottom:16px
}

@media screen and (max-width: 768px) {
    .topContact__label {
        margin-bottom: 0;
        text-indent:0
    }
}

.topContact__labelSlash {
    margin-right:2px
}

.topContact__title {
    font-size: 4.4rem;
    font-weight: 700;
    color: #2b2b2b;
    text-align: center;
    text-align: center;
    margin-bottom:20px
}

@media screen and (max-width: 768px) {
    .topContact__title {
        font-size:2.5rem
    }
}

.topContact__lead {
    font-size: 1.6rem;
    color: #2b2b2b;
    text-align: center;
    margin-bottom:28px
}

@media screen and (max-width: 768px) {
    .topContact__lead {
        font-size: 1.6rem;
        line-height: 1.5625;
        margin-bottom: 20px;
        text-align:left
    }
}

.topContact__form_type_confirm .topContact__dl {
    padding:25px 0
}

.topContact__form_type_confirm .topContact__formProductList {
    margin-bottom: 0;
    background-color: #f7f8f8;
    border:none
}

.topContact__form_type_confirm .topContact__formInner {
    padding-bottom:50px
}

.topContact__formInner {
    background: #fff;
    padding: 55px 60px 50px 60px;
    position: relative;
    border-radius: 20px;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, .05);
    box-shadow:0 0 3px rgba(0, 0, 0, .05)
}

@media screen and (max-width: 960px) {
    .topContact__formInner {
        padding:40px 24px
    }
}

@media screen and (max-width: 768px) {
    .topContact__formInner {
        padding: 25px 25px 25px 25px;
        border-radius:3px
    }
}

.topContact__formMain {
    border-top:1px solid #dcdddd
}

.topContact__dl {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid #dcdddd;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding:20px 0
}

@media screen and (max-width: 768px) {
    .topContact__dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 12px;
        padding:16px 0 20px
    }
}

.topContact__dt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 8px;
    width: 260px;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-right: 21px;
    font-weight: 600;
    padding-left:16px
}

.topContact__dt_type_req:after {
    content: "必須";
    width: 38px;
    height: 22px;
    background-color: #2b2b2b;
    border-radius: 4px;
    color: #fff255;
    letter-spacing: .05em;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.3rem;
    font-weight:500
}

@media screen and (max-width: 768px) {
    .topContact__dt_type_req:after {
        font-size: 1rem;
        border-radius: 2px;
        width: 29px;
        height: 16px;
        padding-bottom:1px
    }
}

@media screen and (max-width: 960px) {
    .topContact__dt {
        width:200px
    }
}

@media screen and (max-width: 768px) {
    .topContact__dt {
        padding-left: 0;
        width: 100%;
        -webkit-box-pack: start;
        -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        gap:20px
    }
}

.topContact__dd {
    font-size: 1.6rem;
    font-weight: 400;
    color: #2b2b2b;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1
}

@media screen and (max-width: 768px) {
    .topContact__dd {
        width:100%
    }
}

.topContact__dd .form-err {
  margin-top: 5px;
  color: #f00;
}

.topContact__formHiddenInput {
    display: none;
}

.topContact__formRequired {
    font-size: 1.1rem;
    color: #2b2b2b;
    background: #fff255;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight:600
}

.topContact__formOptional {
    font-size: 1.1rem;
    color: #666;
    background: #e0e0e0;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight:600
}

.topContact__formField {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1
}

.topContact__formProductSection {
    margin-bottom:20px
}

.topContact__formQuantity {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 25px;
    margin-bottom:10px
}

.topContact__formQuantityInput {
    padding: 13px 13px 14px 13px;
    font-size: 1.6rem;
    color: #2b2b2b;
    background: #f7f8f8;
    border: 1px solid #dcdddd;
    border-radius: 5px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width:160px
}

.topContact__formQuantityInput::-webkit-input-placeholder {
    color:#b5b5b5
}

.topContact__formQuantityInput::-moz-placeholder {
    color:#b5b5b5
}

.topContact__formQuantityInput:-ms-input-placeholder {
    color:#b5b5b5
}

.topContact__formQuantityInput::-ms-input-placeholder {
    color:#b5b5b5
}

.topContact__formQuantityInput::placeholder {
    color:#b5b5b5
}

@media screen and (max-width: 768px) {
    .topContact__formQuantityInput {
        width: 86px;
        padding: 10px 15px;
        background-position: right 8px center;
        background-size: 7.74295px 18.91305px;
        border-radius:3px
    }
}

.topContact__formQuantityCaution {
    font-size: 1.2rem;
    margin-bottom:20px
}

.topContact__formQuantityLabel {
    font-size: 1.6rem;
    color:#2b2b2b
}

.topContact__formProductList {
    border: 1px solid #dcdddd;
    border-radius: 4px;
    padding: 10px 20px 15px;
    margin-bottom: 14px;
    counter-reset: product-counter;
    background-color:#f7f8f8
}

@media screen and (max-width: 768px) {
    .topContact__formProductList {
        padding: 6px 15px 12px 15px;
        border-radius:3px
    }
}

.topContact__formProductList.is-empty {
    padding:10px 20px
}

@media screen and (max-width: 768px) {
    .topContact__formProductList.is-empty {
        padding:10px 15px
    }
}

.topContact__dl--custom .topContact__formProductItem:not(.is-checked) {
    display: none;
}
.topContact__formProductList .topContact__formProductEmpty {
    display: none;
}
.topContact__formProductList.is-empty .topContact__formProductItem {
    display: none;
}
.topContact__formProductList.is-empty .topContact__formProductEmpty {
    display: block;
}

.topContact__formProductItemInput {
    opacity: 0;
    pointer-events: none;
    display: none;
}
.topContact__formProductItemInput:checked + .topContact__formProductItem {
    display: flex;
}

.topContact__formProductItem {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    border-bottom: 1px dashed #b5b5b5;
    font-size: 1.4rem;
    color: #2b2b2b;
    counter-increment: product-counter;
    padding: 3px 0;
    position: relative;
    padding-left:24px
}

@media screen and (max-width: 768px) {
    .topContact__formProductItem {
        line-height: 1.9642857143;
        padding: 5px 0 7px;
        padding-left:24px
    }
}

.topContact__formProductItem::before {
    content: counter(product-counter) ".";
    position: absolute;
    left: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width:24px
}

.topContact__formProductName {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1
}

@media screen and (max-width: 768px) {
    .topContact__formProductName {
        line-height:1.3571428571
    }
}

.topContact__formProductQty {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

@media screen and (max-width: 768px) {
    .topContact__formProductQty {
        line-height:1
    }
}

.topContact__addList {
    counter-reset:add-item-counter
}

.topContact__dl--add .topContact__addItem:not(.is-checked) {
    display: none;
}
.topContact__addList .topContact__addItemEmpty {
    display: none;
}
.topContact__addList.is-empty .topContact__addItem {
    display: none;
}
.topContact__addList.is-empty .topContact__addItemEmpty {
    display: block;
}

.topContact__addItemInput {
    opacity: 0;
    pointer-events: none;
    display: none;
}
.topContact__addItemInput:checked + .topContact__addItem {
    display: flex;
}

.topContact__addItem {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    color: #2b2b2b;
    counter-increment: add-item-counter;
    position: relative;
    padding-left: 24px;
    padding-right:20px
}

.topContact__addItem::before {
    content: counter(add-item-counter) ".";
    position: absolute;
    left: 0;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width:24px
}

.topContact__addItemName {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1
}

.topContact__addItemQty {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink:0
}

.topContact__formUndecided {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 11px;
    font-size: 1.6rem;
    color: #2b2b2b;
    cursor:pointer
}

@media screen and (max-width: 768px) {
    .topContact__formUndecided {
        gap:15px
    }
}

.topContact__formUndecidedInput {
    width: 19px;
    height: 19px;
    min-width: 19px;
    border: 1px solid #2b2b2b;
    border-radius: 5px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

@media screen and (max-width: 768px) {
    .topContact__formUndecidedInput {
        width: 15px;
        min-width: 15px;
        height: 15px;
        border-radius: 2.5px;
        position: relative;
        top:1px
    }
}

.topContact__formUndecidedInput:checked {
    background: #2b2b2b;
    border-color:#2b2b2b
}

.topContact__formUndecidedInput:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 5px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: translate(-50%, -60%) rotate(45deg);
    transform:translate(-50%, -60%) rotate(45deg)
}

.topContact__formUndecidedInput:hover {
    border-color:#2b2b2b
}

.topContact__formUndecidedInput:focus {
    outline: none;
    -webkit-box-shadow: 0 0 0 2px rgba(43, 43, 43, .2);
    box-shadow:0 0 0 2px rgba(43, 43, 43, .2)
}

.topContact__formUndecidedText {
    font-size: 1.6rem;
    color:#2b2b2b
}

.topContact__formCheckboxGroup {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap:12px
}

.topContact__formCheckbox {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    padding: 16px;
    background: #fff;
    border: 1px solid #dcdddd;
    border-radius: 4px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

.topContact__formCheckbox:hover {
    border-color:#fff255
}

.topContact__formCheckboxInput {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    cursor:pointer
}

.topContact__formCheckboxLabel {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.4rem;
    color:#2b2b2b
}

.topContact__formCheckboxPrice {
    font-size: 1.4rem;
    color:#2b2b2b
}

.topContact__formInput {
    width: 100%;
    padding: 17.5px 16px 17.5px 25px;
    font-size: 1.6rem;
    color: #2b2b2b;
    background: #f7f8f8;
    border: 1px solid #dcdddd;
    border-radius: 5px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    line-height: 1.625;
    height: 63px;
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

@media screen and (max-width: 768px) {
    .topContact__formInput {
        border-radius: 3px;
        padding: 6px 15px;
        height:45px
    }
}

.topContact__formInput::-webkit-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formInput::-moz-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formInput:-ms-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formInput::-ms-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formInput::placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formInput:focus {
    outline: none;
    background:#eee
}

@media screen and (max-width: 768px) {
    .topContact__formInput_type_add {
        height:70px
    }
}

.topContact__formTextarea {
    width: 100%;
    padding: 19px 16px 19px 25px;
    font-size: 1.6rem;
    color: #2b2b2b;
    background: #f7f8f8;
    border: 1px solid #dcdddd;
    border-radius: 5px;
    resize: vertical;
    min-height: 162px;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    line-height: 1.625;
    -webkit-box-sizing: border-box;
    box-sizing:border-box
}

@media screen and (max-width: 768px) {
    .topContact__formTextarea {
        padding: 12px 15px;
        height: 145px;
        border-radius:3px
    }
}

.topContact__formTextarea::-webkit-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formTextarea::-moz-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formTextarea:-ms-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formTextarea::-ms-input-placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formTextarea::placeholder {
    color: #c9caca;
    font-size: 16px;
    line-height:1.625
}

.topContact__formTextarea:focus {
    outline: none;
    background:#eee
}

.topContact__formPrivacy {
    margin-bottom: 24px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 40px;
    font-size:1.6rem
}

@media screen and (max-width: 768px) {
    .topContact__formPrivacy {
        margin-top: 20px;
        margin-bottom:15px
    }
}

.topContact__formPrivacyLabel {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 11px;
    cursor:pointer
}

@media screen and (max-width: 768px) {
    .topContact__formPrivacyLabel {
        gap: 7px;
        -webkit-box-align: start;
        -webkit-align-items: flex-start;
        -ms-flex-align: start;
        align-items:flex-start
    }
}

.topContact__formPrivacyCheckbox {
    width: 19px;
    height: 19px;
    min-width: 19px;
    border: 1px solid #2b2b2b;
    border-radius: 5px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    position: relative;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: all .3s ease;
    transition:all .3s ease
}

@media screen and (max-width: 768px) {
    .topContact__formPrivacyCheckbox {
        width: 15px;
        min-width: 15px;
        height: 15px;
        border-radius: 2.5px;
        position: relative;
        top:5px
    }
}

.topContact__formPrivacyCheckbox:checked {
    background: #2b2b2b;
    border-color:#2b2b2b
}

.topContact__formPrivacyCheckbox:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 5px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: translate(-50%, -60%) rotate(45deg);
    transform:translate(-50%, -60%) rotate(45deg)
}

.topContact__formPrivacyCheckbox:hover {
    border-color:#2b2b2b
}

.topContact__formPrivacyCheckbox:focus {
    outline: none;
    -webkit-box-shadow: 0 0 0 2px rgba(43, 43, 43, .2);
    box-shadow:0 0 0 2px rgba(43, 43, 43, .2)
}

.topContact__formPrivacyText {
    font-size: 1.6rem;
    color:#2b2b2b
}

@media screen and (max-width: 768px) {
    .topContact__formPrivacyText {
        line-height:1.5625
    }
}

.topContact__formPrivacy .form-err {
  width: 100%;
  color: #f00;
  text-align: center;
}

.topContact__formRecaptcha {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom:40px
}

@media screen and (max-width: 768px) {
    .topContact__formRecaptcha {
        margin-bottom:30px
    }
}

.topContact__formRecaptchaBox .form-err-recaptcha {
  margin-top: 10px;
  color: #f00;
  text-align: center;
}

.topContact__formBtnList {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom:48px
}

@media screen and (max-width: 768px) {
    .topContact__formBtnList {
        margin-bottom:30px
    }
}

.topContact__formBtnList_type_confirm {
    margin-top: 80px;
    gap: 40px;
    margin-bottom:0 !important
}

@media screen and (max-width: 768px) {
    .topContact__formBtnList_type_confirm {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        margin-top: 30px;
        gap: 15px;
        padding-left: 25px;
        padding-right:25px
    }
}

.topContact__formBtnItem {
    position:relative
}

@media screen and (max-width: 768px) {
    .topContact__formBtnItem {
        width: 100%;
        max-width:260px
    }
}

.topContact__formBtnItem::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 26px;
    height: 26px;
    background-image: url("../images/icon_arrow_right.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index:1
}

.topContact__formBtnItem:hover::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%232b2b2b%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23fff255%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E5%95%86%E5%93%81%22%20data-name%3D%22%E5%95%86%E5%93%81%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2211.91%2015.59%2014.76%2012.93%2011.91%2010.26%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E")
}

.topContact__formBtnItem_type_back:after {
    right: auto;
    left: 20px;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%232b2b2b%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%23ffffff%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E5%95%86%E5%93%81%22%20data-name%3D%22%E5%95%86%E5%93%81%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2211.91%2015.59%2014.76%2012.93%2011.91%2010.26%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform:translateY(-50%) rotate(180deg)
}

.topContact__formBtnItem_type_back:hover .topContact__formSubmitBtn_type_back {
    background-color: #2b2b2b;
    color:#fff
}

.topContact__formBtnItem_type_back:hover:after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2026%2026%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23ffffff%3B%20%7D%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke%3A%20%232b2b2b%3B%20stroke-linecap%3A%20round%3B%20stroke-miterlimit%3A%2010%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E5%95%86%E5%93%81%22%20data-name%3D%22%E5%95%86%E5%93%81%22%3E%20%3Cg%3E%20%3Ccircle%20class%3D%22cls-1%22%20cx%3D%2213%22%20cy%3D%2213%22%20r%3D%2213%22%2F%3E%20%3Cpolyline%20class%3D%22cls-2%22%20points%3D%2211.91%2015.59%2014.76%2012.93%2011.91%2010.26%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") !important
}

.topContact__formSubmitBtn {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 12px;
    background: #2b2b2b;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    border: none;
    border-radius: 50px;
    cursor: pointer;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    width: 382px;
    height: 66px;
    position: relative;
    font-weight:500
}

@media screen and (max-width: 768px) {
    .topContact__formSubmitBtn {
        width: 100%;
        height: 50px;
        font-size: 1.6rem;
        border-radius:50px
    }
}

.topContact__formSubmitBtn:hover {
    background: #fff255;
    color: #2b2b2b;
    opacity:1
}

.topContact__formSubmitBtn:disabled {
    opacity: .5;
    cursor:not-allowed
}

.topContact__formSubmitBtn_type_back {
    background: #fff;
    color: #2b2b2b;
    border: 1px solid #2b2b2b;
    width:260px
}

.topContact__formSubmitBtn_type_submit {
    width:260px
}

.topContact__formSubmitText {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
    -ms-flex: 1;
    flex:1;
    text-align: center;
}

.topContact__privacySection {
    border-top: 1px solid #ddd;
    padding-top:32px
}

@media screen and (max-width: 768px) {
    .topContact__privacySection {
        padding-top:25px
    }
}

.topContact__privacyTitle {
    font-size: 1.6rem;
    font-weight: 600;
    color: #2b2b2b;
    margin-bottom:5px
}

@media screen and (max-width: 768px) {
    .topContact__privacyTitle {
        margin-bottom:10px
    }
}

.topContact__privacyText {
    font-size: 1.4rem;
    color: #2b2b2b;
    line-height: 1.57;
    margin-bottom:20px
}

@media screen and (max-width: 768px) {
    .topContact__privacyText {
        font-size: 1.6rem;
        line-height: 1.5625;
        margin-bottom:18px
    }
}

.topContact__privacyContents {
    background-color: #f7f8f8;
    border-radius: 10px;
    padding: 23px 30px 30px 30px;
    margin: 30px 0 25px;
    display:none
}

.topContact__privacyItem {
    margin-bottom:21px
}

.topContact__privacyItem:last-of-type {
    margin-bottom:0
}

.topContact__privacyItemTtl {
    font-weight: 600;
    margin-bottom:5px
}

.topContact__privacyItemDesc {
    font-size: 1.4rem;
    line-height:1.5714285714
}

.topContact__privacyToggle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content:center
}

.topContact__privacyToggleInner {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    font-size: 1.4rem;
    color: #2b2b2b;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    position:relative
}

@media screen and (max-width: 768px) {
    .topContact__privacyToggleInner {
        gap:12px
    }
}

.topContact__privacyToggleInner::before {
    content: "";
    width: 26px;
    height: 26px;
    background-image: url("../images/icon_arrow_down_02.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 26px 26px;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-transition: -webkit-transform .3s ease;
    transition: -webkit-transform .3s ease;
    transition: transform .3s ease;
    transition:transform .3s ease, -webkit-transform .3s ease
}

@media screen and (max-width: 768px) {
    .topContact__privacyToggleInner::before {
        width: 40px;
        height: 40px;
        background-size:40px 40px
    }
}

.topContact__privacyToggleInner:hover::before {
    background-image: url("../images/icon_arrow_down_02_hover.svg")
}

.topContact__privacyToggleInner.isActive::before {
    -webkit-transform: rotate(180deg);
    transform:rotate(180deg)
}

.topContact__privacyToggleText {
    font-size: 1.4rem;
    color:#2b2b2b
}

.topFixedBtn {
    position: fixed;
    bottom: 40px;
    right: 20px;
    display: none;
    opacity: 1;
    -webkit-transition: opacity .3s ease;
    transition: opacity .3s ease;
    z-index:100
}

@media screen and (max-width: 960px) {
    .topFixedBtn {
        display: block;
        width:100px
    }
}

@media screen and (max-width: 768px) {
    .topFixedBtn {
        width:60px
    }
}

.topFixedBtn.isHidden {
    opacity: 0;
    pointer-events:none
}

.thanksContents {
    background-color: #fff;
    border-radius: 20px;
    padding: 50px;
    margin-top: 40px;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .05);
    box-shadow:0 0 5px rgba(0, 0, 0, .05)
}

@media screen and (max-width: 768px) {
    .thanksContents {
        border-radius: 10px;
        padding: 20px 25px 25px 25px;
        margin-top:25px
    }
}

.thanksContents__desc {
    margin-bottom: 40px;
    max-width: 770px;
    margin:0 auto 0 auto
}

.thanksContents__descPara {
    font-size: 1.6rem;
    color: #2b2b2b;
    line-height: 1.625;
    margin-bottom:10px
}

@media screen and (max-width: 768px) {
    .thanksContents__descPara {
        line-height:1.875
    }
}

.thanksContents__descPara:last-of-type {
    margin-bottom:0
}

.thanksContents__descPara_type_caution {
    line-height:1.2857142857
}

.thanksContents__descParaSmall {
    font-size: 1.4rem;
    color: #2b2b2b;
    line-height:1.2857142857
}

@media screen and (max-width: 768px) {
    .thanksContents__descParaSmall {
        font-size: 1.2rem;
        line-height:1.625
    }
}

.thanksContents__btn {
    margin: 40px auto 0;
    height: 66px;
    width:260px
}

@media screen and (max-width: 768px) {
    .thanksContents__btn {
        width: 100%;
        margin-top: 25px;
        height: 50px
    }
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  display: none;
}
.modal * {
  box-sizing: border-box;
}
.modalOver {
  width: 100%;
  height: 100%;
  background-color: #2b2b2b;
  opacity: .7;
  position: absolute;
  top: 0;
  left: 0;
}
.modalWrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 720px;
  width: 90%;
}
.modalBox {
  position: relative;
  background: #fff;
}
.modalClose {
  display: block;
  width: 45px;
  height: 45px;
  background: url(../images/icon_close.svg) no-repeat center/contain;
  position: absolute;
  right: -20px;
  top: -20px;
  z-index: 2;
  cursor: pointer;
  font-size: 0;
  line-height: 0;
}
.modalClose:hover {
  opacity: .7;
}
.modalContents {
  max-height: calc(90vh - 40px);
  max-height: calc(90lvh - 40px);
  padding: 0;
  overflow-y: scroll;
  margin-top: 1px;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modalContents::-webkit-scrollbar {
  display: none;
}
.modalContentsFig {
  font-size: 0;
  line-height: 0;
}
.modalContentsFig img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 768px) {
  .modalClose {
    width: 35px;
    height: 35px;
    right: -17px;
    top: -17px;
  }
  .modalContents {
    max-height: calc(90vh - 40px);
    max-height: calc(90lvh - 40px);
  }
}
