@charset "utf-8";* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

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

body {
    line-height: 1;
    -webkit-text-size-adjust: 100%
}

article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
    display: block
}

li,ul {
    list-style: none
}

blockquote,q {
    quotes: none
}

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

a {
    background: 0 0;
    font-size: 100%;
    margin: 0;
    padding: 0;
    text-decoration: none;
    vertical-align: baseline
}

img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: 100%;
    vertical-align: bottom
}

main {
    display: block
}

ins {
    text-decoration: none
}

ins,mark {
    background-color: #ff9;
    color: #000
}

mark {
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

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

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

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

input,select {
    margin: 0;
    padding: 0;
    vertical-align: middle
}

h1,h2,h3 {
    text-transform: none
}

button {
    background-color: transparent;
    border: 0;
    cursor: pointer;
    font-size: 100%;
    padding: 0
}

button:focus {
    outline: 0
}

.js-inview[data-inview-animation=fadeInUp] {
    opacity: 0;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: opacity .8s,-webkit-transform .8s;
    transition: opacity .8s,-webkit-transform .8s;
    transition: opacity .8s,transform .8s;
    transition: opacity .8s,transform .8s,-webkit-transform .8s
}

.js-inview[data-inview-animation=fadeInUp].js-inviewActive {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.--anim-shiny {
    -webkit-animation: shine 32s infinite;
    animation: shine 32s infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: #d92027;
    background: -webkit-linear-gradient(331.57deg,#007eec 30%,#96cbf1 60%,#007eec 70%);
    background: linear-gradient(118.43deg,#007eec 30%,#96cbf1 60%,#007eec 70%);
    background-size: 1000% 100%
}

@-webkit-keyframes shine {
    0% {
        background-position-x: 400%
    }

    50% {
        background-position-x: 0
    }

    to {
        background-position-x: -400%
    }
}

@keyframes shine {
    0% {
        background-position-x: 400%
    }

    50% {
        background-position-x: 0
    }

    to {
        background-position-x: -400%
    }
}

.h-opacity {
    opacity: 1;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

html {
    color: #000;
    font-family: "Noto Serif JP",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-size: 16px
}

body {
    letter-spacing: .1em;
    position: relative
}

small,sup {
    display: inline-block
}

sup {
    font-size: .6em!important;
    -webkit-transform: translateY(-.1em);
    transform: translateY(-.1em)
}

.halfIndent {
    text-indent: -.5em
}

.halfIndent,.indent {
    display: inline-block
}

.indent {
    text-indent: -1em
}

.ojf-img {
    font-family: "object-fit: cover; object-position: center;";
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center
}

img {
    height: auto;
    pointer-events: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

video {
    max-width: 100%
}

a img {
    pointer-events: auto;
    -webkit-user-select: initial;
    -moz-user-select: initial;
    -ms-user-select: initial;
    user-select: auto
}

.jsDisableClick {
    cursor: default;
    pointer-events: none
}

.nowrap {
    display: inline-block;
    white-space: nowrap
}

.hidden-text {
    border: 0;
    font-size: 0;
    height: 1px;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    width: 1px
}

.dnd-column {
    position: relative
}

.dnd-section>.row-fluid:has(>.span6) {
    display: -ms-grid;
    display: grid;
    position: relative
}

.dnd-section>.row-fluid:has(>.span6)>div:last-of-type {
    position: relative
}

.dnd-section>.row-fluid:has(>.span6)>div:last-of-type:after {
    background-color: #d2d2d2;
    content: "";
    display: block;
    position: absolute;
    top: 0
}

.about-section .oembed_container {
    display: block;
    height: auto;
    position: static;
    width: auto
}

.about-section .iframe_wrapper {
    height: auto;
    padding-bottom: 0;
    padding-top: 0;
    position: static
}

.about-section .oembed_container_iframe {
    left: auto;
    top: auto
}

.section-footer {
    background-color: rgba(57,78,125,.6)
}

.section-footer.--red {
    background-color: rgba(14,125,207,.2)
}

.section-footer.--red h2 {
    color: #0041bf!important
}

.section-footer-inner {
    margin-inline:auto}

.section-footer hgroup h2 {
    color: #fff;
    font-weight: 700;
    letter-spacing: .2em;
    text-align: center
}

.section-footer-banner {
    display: -ms-grid;
    display: grid
}

.section-footer-banner,.section-footer-banner .phone-number {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.section-footer-banner .phone-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    letter-spacing: .02em;
    line-height: 1;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    white-space: nowrap
}

.section-footer-banner .phone-number:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-phone_black.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    margin-bottom: -.05em
}

.section-footer-banner .phone-number a {
    color: inherit
}

.section-footer-banner li,.section-footer-banner ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.section-footer-banner li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.section-footer-banner li:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block
}

.flow-container .flow-inner {
    position: relative
}

.flow-container .badge {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 1;
    background-color: #fff;
    border: 1px solid #394e7d;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 1
}

.flow-container .badge p {
    color: #394e7d;
    font-weight: 700;
    letter-spacing: .2em
}

.flow-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative
}

.flow-container li {
    position: relative
}

.flow-container li:has(+li):after {
    background-color: #394e7d;
    content: "";
    display: block;
    position: absolute
}

.flow-container li:last-of-type:after {
    background-color: #ebedf2;
    content: "";
    display: block;
    position: absolute
}

.flow-container .flow-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.flow-container .step {
    border: 1px solid #394e7d;
    color: #394e7d;
    font-weight: 700;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative
}

.flow-container .step:before {
    background-color: #fff;
    content: "";
    height: calc(100% + 4px);
    left: 50%;
    position: absolute;
    top: -2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.flow-container .step:after {
    background-color: #fff;
    content: "";
    left: -2px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(100% + 4px)
}

.flow-container .step-inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(57,78,125,.1);
    color: #394e7d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 1
}

.flow-container .step small {
    font-weight: 400;
    line-height: 1
}

.flow-container .step span {
    line-height: 1
}

.flow-container h4 {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.flow-container .img-box {
    -webkit-box-shadow: 5px 5px 10px 0 rgba(0,0,0,.102);
    box-shadow: 5px 5px 10px 0 rgba(0,0,0,.102)
}

.flow-container .img-box img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.flow-container .caption {
    letter-spacing: .1em;
    line-height: 1.5
}

.flow-container .caption,.footer {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.footer {
    position: relative
}

.footer ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.footer ul,.footer ul a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.footer ul a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #000;
    opacity: 1;
    text-decoration: underline;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

.footer ul a:after {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-external.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block
}

.footer small {
    display: block;
    text-align: center
}

.footer .back_to_top {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 1;
    background-color: #333;
    border-radius: 50%;
    color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: fixed;
    z-index: 90
}

.footer .back_to_top:before {
    aspect-ratio: 1;
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-arrow-up.png);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block
}

.footer .back_to_top span {
    line-height: 1.2;
    text-align: center
}

.custom-footer.footer .back_to_top svg {
    display: none
}

.footer.footer_section__2 .footer-section-1 .col-section.num2 {
    width: 100%
}

.footer.footer_section__2 .footer-section-1 {
    padding-block:0!important}

.ribbon {
    background-color: #d2d2d2;
    position: relative;
    z-index: 90
}

.ribbon-text {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .02em;
    line-height: 1.2;
    margin-inline:auto;width: 100%
}

.header {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background-color: hsla(0,0%,100%,.7);
    left: 0;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 100
}

.header.--is-sticky {
    position: fixed
}

.header-container {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-inline:auto;width: 100%
}

.header-container,.header-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.header-inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.header-logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.header-logo {
    -webkit-transition: width .1s cubic-bezier(.46,.03,.52,.96);
    transition: width .1s cubic-bezier(.46,.03,.52,.96)
}

.header-logo-tosho {
    -webkit-transition: opacity .1s cubic-bezier(.46,.03,.52,.96),width .1s cubic-bezier(.46,.03,.52,.96);
    transition: opacity .1s cubic-bezier(.46,.03,.52,.96),width .1s cubic-bezier(.46,.03,.52,.96)
}

.header.--is-sticky .header-logo-tosho {
    opacity: 0;
    width: 0
}

.header-contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-transition: flex-direction .1s cubic-bezier(.46,.03,.52,.96),-webkit- 2009flex-direction cubic-bezier(.46,.03,.52,.96) .1s;
    transition: flex-direction .1s cubic-bezier(.46,.03,.52,.96),-webkit- 2009flex-direction cubic-bezier(.46,.03,.52,.96) .1s;
    transition: flex-direction .1s cubic-bezier(.46,.03,.52,.96);
    transition: flex-direction .1s cubic-bezier(.46,.03,.52,.96),-webkit- 2009flex-direction cubic-bezier(.46,.03,.52,.96) .1s,-ms-flex-direction .1s cubic-bezier(.46,.03,.52,.96)
}

.header-contact-bottom p,.header-contact-top p {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    text-align: center
}

.header-contact-bottom p {
    font-weight: 700;
    -webkit-transition: text-align .1s cubic-bezier(.46,.03,.52,.96),font-size .1s cubic-bezier(.46,.03,.52,.96);
    transition: text-align .1s cubic-bezier(.46,.03,.52,.96),font-size .1s cubic-bezier(.46,.03,.52,.96)
}

.header-contact-bottom p br.sticky {
    display: none
}

.header-contact .phone-number a {
    color: inherit
}

.header-contact .tel-button {
    background-color: #0041bf
}

.header-contact .tel-button:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-phone_24h.svg);
    height: 4.8vw;
    width: 5.33vw
}

.header-contact .mail-button {
    background-color: #394e7d
}

.header-contact .mail-button:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-mail.svg);
    height: 3.47vw;
    width: 4.53vw
}

.header .button-box span.sticky {
    display: none
}

.header.--is-sticky .button-box span.sticky {
    display: inline
}

.header.--is-sticky .button-box span.default {
    display: none
}

.phone-box {
    background-color: #394e7d
}

.phone-box .copy {
    color: #fff;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    line-height: 1.5;
    text-align: center
}

.phone-box .number {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: .02em;
    line-height: 1;
    text-align: center
}

.phone-box .number:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-phone.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.phone-box .number a {
    color: inherit
}

.slider-container {
    position: relative
}

.swiper-button-next,.swiper-button-prev {
    aspect-ratio: 1;
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-navigation.svg);
    background-repeat: no-repeat;
    background-size: contain;
    cursor: pointer;
    position: absolute;
    z-index: 1
}

.swiper-button-next:after,.swiper-button-prev:after {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-navigation_hover.svg);
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    width: 100%
}

.product-slider-thumb {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.product-slider-thumb .swiper-slide {
    cursor: pointer;
    width: auto!important;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: auto
}

.product-slider-thumb .swiper-slide-thumb-active p {
    background-color: #9b9b9b;
    border-color: #9b9b9b;
    color: #fff;
    -webkit-transform: translateY(6px);
    transform: translateY(6px)
}

.product-slider-thumb .tab-button {
    height: 100%;
    position: relative
}

.product-slider-thumb .tab-button:after {
    background-color: #394e7d;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: -1
}

.product-slider-thumb p {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.63;
    text-align: center
}

.product-slider .slide-content h4,.product-slider-thumb p {
    color: #394e7d;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.product-slider .slide-inner .slide-header {
    background-color: #e9ecee;
    display: -ms-grid;
    display: grid;
    grid-area: header;
    overflow: hidden
}

.product-slider .slide-inner .slide-header-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%
}

.product-slider .slide-inner .slide-header-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.product-slider .slide-inner .slide-header-content-badge {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    line-height: 1.63
}

.product-slider .slide-inner .slide-header-content-badge span {
    background-color: #394e7d
}

.product-slider .slide-inner .slide-header-content-headline {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    text-align: left
}

.product-slider .slide-inner .slide-header-content-headline span {
    color: #d92027
}

.product-slider .slide-inner .slide-header-content-caption {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.product-slider .slide-inner .product-info {
    grid-area: info
}

.product-slider .slide-inner hgroup {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.product-slider .slide-inner hgroup img {
    width: auto
}

.product-slider .slide-inner h5 {
    letter-spacing: .05em
}

.product-slider .slide-inner h5,.product-slider .slide-inner h6 {
    color: #373737;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700
}

.product-slider .slide-inner h6 {
    letter-spacing: .1em;
    line-height: 1.63
}

.product-slider .slide-inner h6 span {
    color: #394e7d
}

.product-slider .slide-inner p {
    color: #373737;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em
}

.product-slider .slide-inner ul {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4,1fr)
}

.product-slider .slide-inner li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e9ecee;
    color: #394e7d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 500;
    letter-spacing: .1em;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center
}

.product-slider .slide-inner li.--blue {
    background-color: #394e7d;
    color: #fff
}

.three-view-slider .swiper-pagination {
    bottom: 0!important;
    line-height: 1
}

.three-view-slider .swiper-pagination-bullet {
    background-color: #cdcdcd;
    opacity: 1
}

.three-view-slider .swiper-pagination-bullet-active {
    background-color: #dc483f
}

.three-view-slider h4 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #394e7d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    letter-spacing: .05em
}

.three-view-slider img {
    width: 100%
}

.banner {
    position: relative
}

.banner:before {
    background-color: #007EEC;
    z-index: 0
}

.banner:after,.banner:before {
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.banner:after {
    -webkit-animation: shine 20s infinite;
    animation: shine 20s infinite;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear;
    background: #007EEC;
    background: -webkit-linear-gradient(331.57deg,#007EEC 30%,#cde5ff 60%,#007EEC 70%);
    background: linear-gradient(118.43deg,#007EEC 30%,#cde5ff 60%,#007EEC 70%);
    background-size: 600% 100%;
    z-index: 1
}

.banner-content {
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    z-index: 2
}

.banner .headline {
    line-height: 1
}

.banner .subheadline {
    font-weight: 700
}

.banner .caption,.banner .subheadline {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    text-align: center
}

.banner .caption {
    letter-spacing: .02em
}

.banner .limit {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    position: relative;
    text-align: center
}

.banner .limit:before {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 49%;
    width: 100%;
    z-index: 1
}

.banner .limit span {
    background-color: #fff;
    display: inline-block;
    position: relative;
    z-index: 2
}

.banner .date {
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    line-height: 1;
    text-align: center
}

.banner .date span {
    letter-spacing: .02em;
    line-height: 1.63
}

.banner .date span,.banner .price-container {
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-weight: 700
}

.banner .price-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    color: #0041BF;
    line-height: 1.1;
    margin-bottom: 12px
}

.banner .price-container .type {
    margin: 0 .15em .25em 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.banner .price-container .unit {
    margin-bottom: .25em
}

.banner .c-button {
    margin-inline:auto}

.banner.typeD {
    -webkit-box-shadow: 10px 10px 0 0 rgba(0,0,0,.251);
    box-shadow: 10px 10px 0 0 rgba(0,0,0,.251)
}

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

.banner.typeA {
    -webkit-box-shadow: 10px 10px 0 0 rgba(0,0,0,.251);
    box-shadow: 10px 10px 0 0 rgba(0,0,0,.251)
}

.banner .discount-copy {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1
}

.banner .discount-copy .strong {
    color: #0041bf;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1;
    margin-bottom: .4em;
    text-align: center;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl
}

.banner .discount-copy .value {
    color: #0041bf;
    display: inline-block;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    letter-spacing: .05em;
    line-height: 1
}

.banner .discount-copy .value:after {
    content: "%"
}

.banner .discount-copy .unit {
    color: #0041bf;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    letter-spacing: .05em;
    line-height: 1;
    margin-bottom: .07em
}

.banner.typeB {
    -webkit-box-shadow: 10px 10px 0 0 rgba(0,0,0,.251);
    box-shadow: 10px 10px 0 0 rgba(0,0,0,.251)
}

.banner.typeB .headline {
    line-height: 1.5
}

.banner.typeB .subheadline {
    letter-spacing: .1em
}

.banner.typeB .banner-image {
    background-color: #e9ecee;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center
}

.banner.typeC .banner-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%
}

.banner.typeC .limit {
    padding: 0
}

.l-container {
    margin-inline:auto;width: 100%
}

.l-container[data-layout=wide] {
    max-width: none
}

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

.c-button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    overflow: hidden;
    position: relative;
    text-align: center;
    -webkit-transition: background .3s cubic-bezier(.46,.03,.52,.96);
    transition: background .3s cubic-bezier(.46,.03,.52,.96)
}

.c-button:before {
    background-color: #2f6b9f;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    width: 100%;
    z-index: 1
}

.c-button:not(.--anim-shiny) {
    background: #d92027
}

.c-button:not(.--arrow-relative): after {
    background-color:#fff;
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
}

.c-button span {
    position: relative;
    z-index: 2
}

.c-button.--arrow-relative span {
    display: inline-block;
    position: relative;
    z-index: 2
}

.c-button.--arrow-relative span: after {
    background-color:#fff;
    content: "";
    display: inline-block;
    position: absolute;
    top: 52%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
}

.c-button.--arrow-relative span+.c-button: after {
    display:none
}

.c-button.--wide {
    width: 100%
}

.form-item {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.form-item span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.form-item:has(>.select-box) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.form-item label {
    letter-spacing: .1em
}

.form-item input,.form-item label,.form-item select {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.form-item input,.form-item select {
    background-color: #fff;
    border: 1px solid #9b9b9b;
    color: #000;
    width: 100%
}

.form-item input::-webkit-input-placeholder,.form-item select::-webkit-input-placeholder {
    color: #4c4c4c
}

.form-item input::-moz-placeholder,.form-item select::-moz-placeholder {
    color: #4c4c4c
}

.form-item input:-ms-input-placeholder,.form-item select:-ms-input-placeholder {
    color: #4c4c4c
}

.form-item input::-ms-input-placeholder,.form-item select::-ms-input-placeholder {
    color: #4c4c4c
}

.form-item input::placeholder,.form-item select::placeholder {
    color: #4c4c4c
}

.form-item select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #000;
    width: 100%
}

.form-item .select-box {
    position: relative
}

.form-item .select-box:after {
    background-color: #4c4c4c;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

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

.form-checkbox,.form-checkbox label {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.form-checkbox label {
    letter-spacing: .1em;
    line-height: 1.63
}

.form-checkbox label:hover {
    cursor: pointer
}

.form-checkbox a {
    color: #000;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    line-height: 1.63;
    text-decoration: underline;
    text-underline-offset: 2px
}

.form-checkbox a:hover {
    text-decoration: none
}

form .submit span {
    display: block;
    position: relative;
    width: 100%;
    z-index: 2
}

form .submit span:after {
    background-color: #fff;
    content: "";
    display: inline-block;
    position: absolute;
    top: 52%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1
}

form .submit span input {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #ff7e00;
    border: 0;
    color: #fff;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    justify-content: center;
    letter-spacing: .1em;
    overflow: hidden;
    position: relative;
    text-align: center;
    -webkit-transition: background .3s cubic-bezier(.46,.03,.52,.96);
    transition: background .3s cubic-bezier(.46,.03,.52,.96);
    width: 100%
}

#about .form-item input {
    background-color: #e9ecee
}

#about .form-item input::-ms-input-placeholder {
    color: #999
}

#about .form-item input::-webkit-input-placeholder {
    color: #999
}

#about .form-item input::-moz-placeholder {
    color: #999
}

#about .form-item input:-ms-input-placeholder {
    color: #999
}

#about .form-item input::placeholder {
    color: #999
}

.cmn-headline_lv2 {
    text-align: center
}

.cmn-headline_lv2,.cmn-headline_lv3 {
    font-weight: 700;
    letter-spacing: .2em
}

.cmn-headline_lv4,.cmn-headline_lv5 {
    font-weight: 700;
    letter-spacing: .2em;
    text-align: center
}

.cmn-headline_lv6 {
    font-weight: 700;
    letter-spacing: .05em
}

[class^=cmn-headline].--blue {
    color: #394e7d
}

[class^=cmn-headline].--darkGray {
    color: #373737
}

[class^=cmn-headline].--red {
    color: #0041bf
}

[class^=cmn-headline].--white {
    color: #fff
}

[class^=cmn-headline].--center {
    text-align: center
}

[class^=cmn-headline].--right {
    text-align: right
}

input:focus-visible,select:focus-visible,textarea:focus-visible {
    border-color: $orange!important;
    -webkit-box-shadow: 0 0 0 3px $orange;
    box-shadow: 0 0 0 3px $orange;
    outline: 0
}

.modal-link:after {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/common/icon-modal.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: relative;
    top: .15em
}

.c-paragraph_s {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em
}

.c-paragraph_s.--center {
    text-align: center
}

.hero-section {
    overflow: hidden;
    position: relative
}

.hero-bg {
    position: absolute
}

.hero-bg,.hero-bg img {
    height: 100%;
    width: 100%
}

.hero-bg img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center
}

.hero-wrapper {
    position: relative;
    z-index: 1
}

.hero-container {
    display: -ms-grid;
    display: grid
}

.hero-inner.content-intro {
    grid-area: intro
}

.hero-inner.content-banner {
    grid-area: banner
}

.hero-inner.content-image {
    grid-area: image
}

.hero-inner.content-feature {
    grid-area: feature
}

.hero-section .logos {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.hero-section .logos img {
    width: auto
}

.hero-section .content-feature .feeFeatures li {
    background-color: #fff
}

.hero-section .content-feature .feeFeatures dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.hero-section .content-feature .feeFeatures dt {
    border: 1px solid #394e7d;
    color: #394e7d;
    font-weight: 700;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative
}

.hero-section .content-feature .feeFeatures dt:before {
    background-color: #fff;
    content: "";
    height: calc(100% + 4px);
    left: 50%;
    position: absolute;
    top: -2px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.hero-section .content-feature .feeFeatures dt:after {
    background-color: #fff;
    content: "";
    left: -2px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: calc(100% + 4px)
}

.hero-section .content-feature .feeFeatures .list-headline-inner {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(57,78,125,.1);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    height: 100%;
    justify-content: center;
    position: relative;
    z-index: 1
}

.hero-section .content-feature .feeFeatures .list-headline-inner:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-check_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute
}

.hero-section .content-feature .feeFeatures h4 {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    text-align: center
}

.hero-section .content-feature .feeFeatures dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.hero-section .content-feature .feeFeatures .list-content-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

.hero-section .content-feature .feeFeatures h5 {
    background-color: #e9ecee;
    border-radius: 100vmax;
    color: #373737;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    font-weight: 700;
    position: relative;
    text-align: center
}

.hero-section .content-feature .feeFeatures h5[data-icon]:before {
    aspect-ratio: 1;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.hero-section .content-feature .feeFeatures h5[data-icon=full]:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-fullcolor.svg)
}

.hero-section .content-feature .feeFeatures h5[data-icon=mono]:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-mono.svg)
}

.hero-section .content-feature .feeFeatures p {
    color: #0041bf;
    font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    line-height: 1;
    text-align: center;
    white-space: nowrap
}

.hero-section .content-feature .feeFeatures p span {
    color: #373737;
    font-weight: 700
}

.hero-section .content-feature li img {
    width: auto
}

.about-section .headline-badge {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 1;
    border: 1px solid #0041bf;
    border-radius: 50%;
    color: #0041bf;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: .05em;
    position: absolute;
    right: 0
}

.about-section .about-headline span {
    color: #394e7d
}

.about-section .content-video .content-wrapper {
    position: relative
}

.about-section .content-video hgroup {
    background-color: #e9ecee
}

.about-section .content-video hgroup span {
    color: #fff;
    font-family: Playfair Display,游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    white-space: nowrap
}

.about-section .content-video hgroup h2 {
    color: #394e7d;
    font-weight: 700;
    letter-spacing: .2em
}

.about-section .content-video .video-box {
    bottom: 0;
    position: absolute;
    right: 0
}

.about-section .content-video iframe {
    aspect-ratio: 16/9;
    height: auto;
    position: relative
}

.point-container.bg-container {
    background-repeat: no-repeat;
    background-size: cover
}

.point-section .content-header hgroup {
    position: relative;
    text-align: center
}

.point-section .content-header hgroup span {
    color: #e9ecee;
    display: inline-block;
    font-family: Playfair Display,游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-weight: 500;
    left: 50%;
    letter-spacing: .05em;
    line-height: 1;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.point-section .content-header hgroup h2 {
    position: relative;
    z-index: 1
}

.point-section .content-list ul {
    display: -ms-grid;
    display: grid
}

.point-section .content-list ul li a {
    background-color: #fff;
    color: #000;
    display: block;
    height: 100%;
    position: relative;
    -webkit-transition: background-color .3s cubic-bezier(.46,.03,.52,.96),-webkit-box-shadow .3s cubic-bezier(.46,.03,.52,.96);
    transition: background-color .3s cubic-bezier(.46,.03,.52,.96),-webkit-box-shadow .3s cubic-bezier(.46,.03,.52,.96);
    transition: background-color .3s cubic-bezier(.46,.03,.52,.96),box-shadow .3s cubic-bezier(.46,.03,.52,.96);
    transition: background-color .3s cubic-bezier(.46,.03,.52,.96),box-shadow .3s cubic-bezier(.46,.03,.52,.96),-webkit-box-shadow .3s cubic-bezier(.46,.03,.52,.96)
}

.point-section .content-list ul li a:after {
    background-color: #394e7d;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.point-section .content-list ul li .card-thumb {
    display: block;
    position: relative
}

.point-section .content-list ul li img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%
}

.point-section .content-list ul li hgroup {
    position: relative;
    text-align: center;
    z-index: 1
}

.point-section .content-list ul li hgroup span {
    color: rgba(57,78,125,.1);
    font-family: Playfair Display,游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-weight: 500;
    left: 50%;
    letter-spacing: .03em;
    line-height: 1;
    position: absolute;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    white-space: nowrap
}

.main-contents-wrapper {
    position: relative
}

.main-contents-wrapper .bg-container {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: -1
}

.main-contents-wrapper .bg-container ul {
    height: 100vh;
    left: 0;
    position: sticky;
    top: 0;
    width: 100%
}

.main-contents-wrapper .bg-container li {
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    -webkit-transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    transition: opacity .3s cubic-bezier(.46,.03,.52,.96);
    width: 100%
}

.main-contents-wrapper .bg-container li.active {
    opacity: 1
}

.main-contents-wrapper .bg-container .bg-cost {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-cost.jpg)
}

.main-contents-wrapper .bg-container .bg-lineup {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-lineup.jpg)
}

.main-contents-wrapper .bg-container .bg-speed {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-speed.jpg)
}

.main-contents-wrapper .bg-container .bg-support {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-support.jpg)
}

.main-contents-wrapper .bg-container .bg-maintenance {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-maintenance.jpg)
}

.main-contents-wrapper .bg-container .bg-set {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-set.jpg)
}

.contact-section .content-header,.main-contents-wrapper .content-header,.qanda-section .content-header,.voice-section .content-header {
    position: relative
}

.contact-section .content-header hgroup,.main-contents-wrapper .content-header hgroup,.qanda-section .content-header hgroup,.voice-section .content-header hgroup {
    position: relative;
    z-index: 1
}

.contact-section .content-header hgroup span,.main-contents-wrapper .content-header hgroup span,.qanda-section .content-header hgroup span,.voice-section .content-header hgroup span {
    color: hsla(0,0%,100%,.5);
    display: inline-block;
    font-family: Playfair Display,游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    position: absolute
}

.contact-section .content-header hgroup h2,.main-contents-wrapper .content-header hgroup h2,.qanda-section .content-header hgroup h2,.voice-section .content-header hgroup h2 {
    position: relative;
    z-index: 1
}

.main-contents-wrapper .content-header.--reverse hgroup span {
    color: rgba(57,78,125,.1)
}

.main-contents-wrapper .body-container {
    background-color: #fff
}

.main-contents-wrapper .body-inner {
    position: relative;
    z-index: 2
}

.main-contents-wrapper .body-inner.column-2 {
    display: -ms-grid;
    display: grid
}

.main-contents-wrapper .content-body-subheadline {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    position: relative
}

.main-contents-wrapper .content-body-subheadline:after,.main-contents-wrapper .content-body-subheadline:before {
    background-color: #394e7d;
    content: "";
    height: 1px;
    width: 100%
}

.main-contents-wrapper .content-body-subheadline span {
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    position: relative;
    z-index: 1
}

.cost-section .body-inner.column-2>div {
    position: relative
}

.cost-section .body-inner.column-2 li+li {
    border-top: 1px solid #d2d2d2
}

.cost-section .badge {
    aspect-ratio: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: .05em;
    position: absolute;
    text-align: center
}

.cost-section .badge:not(.--anim-shiny) {
    background: #d92027
}

.cost-section .badge span {
    display: block;
    position: relative;
    z-index: 1
}

.cost-section .cost-lead {
    line-height: 2;
    text-align: center
}

.cost-section .cost-lead span {
    background-color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.cost-section .compare,.cost-section .result {
    text-align: center
}

.lineup-section .body-inner .lineup-information {
    border-top: 1px solid #cdcdcd
}

.lineup-section .body-inner .lineup-information strong {
    color: #dc483f
}

.lineup-section .body-inner .lineup-information ul {
    display: -ms-grid;
    display: grid
}

.lineup-section .body-inner .lineup-information ul li {
    background-color: #e9ecee;
    color: #394e7d;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative
}

.lineup-section .body-inner .lineup-information ul li:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-check_white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    position: absolute
}

.lineup-section .lineup-lead {
    line-height: 2;
    text-align: center
}

.lineup-section .lineup-lead span {
    background-color: #394e7d;
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.speed-section .content-body picture {
    display: block
}

.speed-section .speed-lead {
    line-height: 2;
    text-align: center
}

.speed-section .speed-lead span {
    background-color: #394e7d;
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.support-section .support-lists {
    display: -ms-grid;
    display: grid
}

.support-section .support-lists li h4 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.support-section .support-lists li h4:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block
}

.support-section .support-lists li .support-lists-image img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    width: 100%
}

.support-section .support-lists li p {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em;
    line-height: 1.5
}

.support-section .support-lead {
    line-height: 2;
    text-align: center
}

.support-section .support-lead span {
    background-color: #394e7d;
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.maintenance-section .lead-box {
    position: relative
}

.maintenance-section .lead-box img {
    position: absolute
}

.maintenance-section .maintenance-lead {
    color: #394e7d;
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 2;
    text-align: center
}

.maintenance-section .maintenance-lead span {
    background-color: #394e7d;
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.set-section .set-lead {
    line-height: 2;
    text-align: center
}

.set-section .set-lead span {
    background-color: #394e7d;
    color: #fff;
    display: inline-block;
    line-height: 1.5;
    margin-right: .5em;
    padding-inline:.33em}

.voice-section {
    background-color: #dde1ea
}

.voice-section .content-header.voice-inner hgroup span {
    color: rgba(57,78,125,.2);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.voice-section .content-header.voice-inner hgroup h2 {
    padding-left: 0;
    text-align: center
}

.voice-section .body-inner {
    background-color: #fff
}

.voice-section .body-inner li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.voice-section .body-inner li:before {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-good.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.voice-section .body-inner li p {
    text-align: left
}

.voice-section .body-inner li span {
    color: #0041bf;
    display: inline;
    margin-inline:.2em}

.voice-section .body-inner li span.yakuhan-adjust {
    margin-left: -.005em
}

.qanda-section {
    background-color: #dde1ea
}

.qanda-section .content-header.qanda-inner hgroup span {
    color: rgba(57,78,125,.2);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.qanda-section .content-header.qanda-inner hgroup h2 {
    padding-left: 0;
    text-align: center
}

.qanda-section .accordion-container {
    background-color: #fff
}

.qanda-section .accordion-container dl {
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.qanda-section .accordion-container dt {
    cursor: pointer;
    position: relative
}

.qanda-section .accordion-container dt:after {
    aspect-ratio: 1;
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-open.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.qanda-section .accordion-container dt.initial-open:after,.qanda-section .accordion-container dt.is-active:after {
    background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-close.svg)
}

.qanda-section .accordion-container dt.initial-open+dd {
    display: block
}

.qanda-section .accordion-container dd {
    display: none
}

.qanda-section .accordion-container h3 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif
}

.qanda-section .accordion-container h3 img {
    -ms-flex-negative: 0;
    flex-shrink: 0
}

.qanda-section .accordion-container p {
    border-top: 1px solid #9b9b9b;
    font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
    letter-spacing: .1em
}

.contact-section {
    background-color: #e9ecee
}

.contact-section .content-header.contact-inner hgroup span {
    color: rgba(57,78,125,.2);
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.contact-section .content-header.contact-inner hgroup h2 {
    padding-left: 0;
    text-align: center
}

.contact-section .headline-badge {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    aspect-ratio: 1;
    border: 1px solid #0041bf;
    border-radius: 50%;
    color: #0041bf;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: .05em;
    position: absolute;
    right: 0
}

@media (min-width: 768px) {
    body {
        line-height:1.63
    }

    br.forPC,img.forPC {
        display: inline
    }

    br.forSP,br.forSP_small,br.forTAB,img.forSP,img.forSP_small,img.forTAB {
        display: none
    }

    .forSP {
        display: none!important
    }

    .dnd-section>.row-fluid:has(>.span6) {
        -ms-grid-columns: 1fr 1fr;
        gap: 120px;
        grid-template-columns: 1fr 1fr;
        padding-inline:60px}

    .dnd-section>.row-fluid:has(>.span6)>div:last-of-type:after {
        height: 100%;
        left: -60px;
        width: 1px
    }

    .section-footer {
        padding-block:70px}

    .section-footer-inner {
        max-width: 970px
    }

    .section-footer hgroup {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        gap: 14px;
        justify-content: center;
        margin-bottom: 26px
    }

    .section-footer hgroup span img {
        width: 232px
    }

    .section-footer hgroup h2 {
        font-size: 1.88rem;
        line-height: 1.5
    }

    .section-footer-banner {
        background-color: #fff;
        -ms-grid-columns: auto 365px;
        gap: 30px;
        grid-template-columns: auto 365px;
        padding: 40px 50px
    }

    .section-footer-banner .phone-number {
        font-size: 4.63rem
    }

    .section-footer-banner .phone-number:before {
        height: 49px;
        width: 53px
    }

    .section-footer-banner ul {
        gap: 20px;
        margin-top: 20px
    }

    .section-footer-banner li {
        gap: 8px
    }

    .section-footer-banner li:before {
        height: 22px;
        width: 24px
    }

    .flow-container {
        margin-top: 40px
    }

    .flow-container .flow-inner+.flow-inner {
        margin-top: 30px
    }

    .flow-container .badge {
        left: 0;
        position: absolute;
        top: 105px;
        width: 113px
    }

    .flow-container .badge p {
        font-size: 1.63rem
    }

    .flow-container .badge span {
        font-size: 1.25rem
    }

    .flow-container ul {
        gap: 38px;
        padding-left: 153px
    }

    .flow-inner:nth-of-type(2) {
        margin-left: 168px
    }

    .flow-inner:nth-of-type(2) li:last-of-type:after {
        display: none
    }

    .flow-container li {
        width: 282px
    }

    .flow-container li:before {
        background-color: #ebedf2;
        content: "";
        display: block;
        height: 113px;
        position: absolute;
        right: 100%;
        top: 105px;
        width: 96px;
        z-index: -1
    }

    .flow-container li:has(+li):after {
        -webkit-clip-path: polygon(14px 50%,0 0,0 26px);
        clip-path: polygon(14px 50%,0 0,0 26px);
        height: 26px;
        right: -26px;
        top: 150px;
        width: 14px
    }

    .flow-container li:last-of-type:after {
        -webkit-clip-path: polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);
        clip-path: polygon(0 0,55% 0,100% 50%,55% 100%,0 100%);
        height: 113px;
        left: 100%;
        top: 105px;
        width: 67px
    }

    .flow-container .flow-header {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 14px
    }

    .flow-container .step {
        height: 74px;
        padding: 4px;
        width: 74px
    }

    .flow-container .step:before {
        width: calc(100% - 24px)
    }

    .flow-container .step:after {
        height: calc(100% - 24px)
    }

    .flow-container .step small {
        font-size: .75rem
    }

    .flow-container .step span {
        font-size: 2.25rem
    }

    .flow-container .img-box {
        aspect-ratio: 282/164;
        margin-top: 12px
    }

    .flow-container .caption {
        font-size: .88rem;
        margin-top: 12px
    }

    .footer {
        padding-block:80px 40px}

    .footer ul {
        gap: 20px
    }

    .footer ul a {
        font-size: .88rem;
        line-height: 1.71
    }

    .footer ul a:after {
        height: 15px;
        margin-left: 6px;
        width: 17px
    }

    .footer small {
        font-size: .88rem;
        line-height: 1.71;
        margin-top: 13px
    }

    .footer .back_to_top {
        bottom: 100px;
        font-size: .69rem;
        gap: 2px;
        right: 20px;
        width: 80px
    }

    .footer .back_to_top:before {
        margin-top: -6px;
        width: 25px
    }

    .ribbon-text {
        font-size: .63rem;
        max-width: 1440px;
        padding: 10px 20px;
        text-align: right
    }

    .header-container {
        gap: 20px;
        max-width: 1440px;
        padding: 12px 40px
    }

    .header-inner {
        -webkit-column-gap: 40px;
        -moz-column-gap: 40px;
        column-gap: 40px
    }

    .header-logos {
        -webkit-column-gap: 20px;
        -moz-column-gap: 20px;
        column-gap: 20px
    }

    .header.--is-sticky .header-logo {
        width: 137px
    }

    .header-contact {
        row-gap: 6px
    }

    .header.--is-sticky .header-contact {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-column-gap: 6px;
        -moz-column-gap: 6px;
        column-gap: 6px
    }

    .header-contact-top p {
        font-size: .88rem;
        line-height: 1.5
    }

    .header-contact-middle {
        margin-top: -.1em
    }

    .header-contact-bottom p {
        color: #394e7d;
        font-size: 1rem
    }

    .header.--is-sticky .header-contact-bottom p {
        font-size: .75rem;
        text-align: left
    }

    .header.--is-sticky .header-contact-bottom p br.sticky {
        display: block
    }

    .header-contact .phone-number {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        color: #0041bf;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-family: "DM Serif Text",游明朝,YuMincho,Hiragino Mincho ProN W3,ヒラギノ明朝 ProN W3,Hiragino Mincho ProN,HG明朝E,ＭＳ Ｐ明朝,ＭＳ 明朝,serif;
        font-size: 2.5rem;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        letter-spacing: .02em;
        line-height: 1;
        text-align: center
    }

    .header-contact .phone-number:before {
        background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/icon-phone_red.svg);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: inline-block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        height: 28px;
        width: 30px
    }

    .header-contact-buttons {
        display: none
    }

    .header.--is-sticky .button-box .c-button.--medium {
        padding: 6px 30px
    }

    .phone-box {
        padding: 20px 30px
    }

    .phone-box .number {
        font-size: 2.5rem;
        margin-top: 10px
    }

    .phone-box .number:before {
        height: 27px;
        width: 29px
    }

    .swiper-button-next,.swiper-button-prev {
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        width: 50px
    }

    .swiper-button-prev {
        left: 75px;
        -webkit-transform: scaleX(-1) translateY(-50%);
        transform: scaleX(-1) translateY(-50%)
    }

    .swiper-button-next {
        right: 75px
    }

    .product-slider-thumb {
        padding-bottom: 6px!important
    }

    .product-slider-thumb .swiper-wrapper {
        gap: 12px
    }

    .product-slider-thumb .tab-button {
        min-height: 80px
    }

    .product-slider-thumb .tab-button:after {
        border-radius: 10px;
        top: 6px
    }

    .product-slider-thumb p {
        border: 2px solid #394e7d;
        border-radius: 10px;
        padding: 12px 4px
    }

    .product-slider .slide-content {
        background-color: #fff;
        padding: 30px 40px 65px
    }

    .product-slider .slide-content h4 {
        border-bottom: 1px solid #cdcdcd;
        padding-bottom: 20px
    }

    .product-slider .slide-inner {
        display: -ms-grid;
        display: grid;
        grid-template-areas: "header header" "image info";
        -ms-grid-columns: 275px 32px auto;
        -webkit-column-gap: 32px;
        -moz-column-gap: 32px;
        column-gap: 32px;
        grid-template-columns: 275px auto;
        padding-block:40px}

    .product-slider .slide-inner:has(.slide-header) {
        row-gap: 30px
    }

    .product-slider .slide-inner .slide-header {
        border-radius: 10px;
        -ms-grid-columns: 340px auto;
        grid-template-columns: 340px auto
    }

    .product-slider .slide-inner .slide-header-image {
        aspect-ratio: 340/200
    }

    .product-slider .slide-inner .slide-header-content {
        padding: 10px 30px
    }

    .product-slider .slide-inner .slide-header-content-badge {
        font-size: 1rem;
        margin-bottom: 10px
    }

    .product-slider .slide-inner .slide-header-content-badge span {
        border-radius: 100px;
        padding: 2px 15px
    }

    .product-slider .slide-inner .slide-header-content-headline {
        font-size: 1.25rem;
        letter-spacing: .05em;
        line-height: 1.4;
        margin-bottom: 4px
    }

    .product-slider .slide-inner>img {
        grid-area: image;
        height: auto;
        width: 100%
    }

    .product-slider .slide-inner hgroup {
        gap: 10px;
        margin-bottom: 20px
    }

    .product-slider .slide-inner hgroup img {
        height: 29px
    }

    .product-slider .slide-inner h5 {
        font-size: 1.25rem;
        line-height: 1.4
    }

    .product-slider .slide-inner h6 {
        margin-block:20px 4px}

    .product-slider .slide-inner p {
        font-size: .88rem;
        line-height: 1.5
    }

    .product-slider .slide-inner ul {
        gap: 4px
    }

    .product-slider .slide-inner li {
        font-size: .88rem;
        line-height: 1.5;
        min-height: 60px;
        padding: 14px 20px
    }

    .three-view-slider+.swiper-button-next {
        right: -94px
    }

    .three-view-slider+.swiper-button-next+.swiper-button-prev {
        left: -94px
    }

    .three-view-slider {
        padding-bottom: 30px!important
    }

    .three-view-slider .swiper-pagination-bullet {
        height: 10px;
        margin: 0 6px!important;
        width: 10px
    }

    .three-view-slider h4 {
        font-size: 1.25rem;
        gap: 10px;
        line-height: 1.4
    }

    .three-view-slider h4:before {
        background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/blue_icon-check.svg);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: inline-block;
        height: 22px;
        width: 24px
    }

    .three-view-slider img {
        margin-top: 12px
    }

    .banner {
        padding: 14px
    }

    .banner .subheadline {
        font-size: 1.63rem;
        letter-spacing: .2em;
        line-height: 1.38
    }

    .banner .caption {
        font-size: .75rem;
        line-height: 1.33
    }

    .banner .limit {
        font-size: .88rem;
        line-height: 1.5;
        padding-block:4px}

    .banner .limit span {
        padding-inline:10px}

    .banner .date {
        font-size: 2.5rem
    }

    .banner .date span {
        font-size: 1rem
    }

    .banner .price-container .type {
        font-size: 3.00rem
    }

    .banner .price-container .price {
        font-size: 8rem
    }

    .banner .price-container .unit {
        font-size: 2.20rem
    }

    .banner .c-button {
        height: 38px;
        margin-top: 14px;
        width: 180px
    }

    .banner.typeD .banner-content {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        gap: 10px;
        justify-content: center;
        padding: 25px 25px 20px
    }

    .banner.typeA .banner-content {
        gap: 10px;
        padding: 30px 25px
    }

    .banner.typeA .banner-header {
        width: 62.7%
    }

    .banner .discount-copy .strong {
        font-size: 2.13rem;
        line-height: 1.09;
        margin-right: 7px
    }

    .banner .discount-copy .value {
        font-size: 6.63rem
    }

    .banner .discount-copy .value:after {
        font-size: 2.13rem
    }

    .banner .discount-copy .unit {
        font-size: 4.38rem
    }

    .banner.typeB .banner-content {
        gap: 14px
    }

    .banner.typeB .banner-inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .banner.typeB .caption {
        margin-top: 10px;
        text-align: left
    }

    .banner.typeB .banner-image {
        padding: 23px;
        width: 29.23%
    }

    .banner.typeB .banner-image img {
        height: 151px
    }

    .banner.typeB .banner-header {
        padding-left: 10px;
        padding-block:25px;width: 34.57%
    }

    .banner.typeB .banner-description {
        padding-right: 20px;
        padding-block:25px;width: 34.72%
    }

    .banner.typeC .banner-content {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 90px 25px 68px;
        row-gap: 40px
    }

    .banner.typeC .discount-copy {
        margin-top: -10px
    }

    .banner.typeC .discount-copy .strong {
        font-size: 2.69rem;
        line-height: 1.09
    }

    .banner.typeC .discount-copy .value {
        font-size: 8.44rem
    }

    .banner.typeC .discount-copy .value:after {
        font-size: 2.69rem
    }

    .banner.typeC .discount-copy .unit {
        font-size: 5.56rem
    }

    .banner.typeC .limit {
        font-size: 1rem;
        line-height: 1.63
    }

    .banner.typeC .subheadline {
        font-size: 2.13rem;
        line-height: 1.5
    }

    .l-container {
        max-width: 1440px;
        padding-inline:90px}

    .l-inner {
        padding-inline:108px}

    .button-box.forSP {
        display: none
    }

    .c-button {
        border-radius: 100px;
        font-size: 1.25rem;
        line-height: 1.4
    }

    .c-button:not(.--arrow-relative): after {
        -webkit-clip-path:polygon(50% 6px,0 0,12px 0);
        clip-path: polygon(50% 6px,0 0,12px 0);
        height: 6px;
        right: 12px;
        width: 12px
    }

    .c-button.--arrow-relative span: after {
        -webkit-clip-path:polygon(6px 50%,0 0,0 12px);
        clip-path: polygon(6px 50%,0 0,0 12px);
        height: 12px;
        right: -16px;
        width: 6px
    }

    .c-button.--small {
        font-size: 1rem;
        line-height: 1.63;
        padding: 6px 32px
    }

    .c-button.--medium {
        padding: 14px 30px
    }

    .c-button.--large {
        padding: 18px 30px 18px 22px
    }

    .c-button.--large: not(:has(>span)):after {
        right:14px
    }

    .form-item span {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        gap: 12px;
        justify-content: space-between
    }

    .form-item:has(>.select-box) {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        gap: 12px;
        justify-content: space-between
    }

    .form-item+.form-item {
        margin-top: 16px
    }

    .form-item label {
        font-size: .88rem;
        line-height: 1.5
    }

    .form-item .select-box,.form-item input {
        width: 382px;
        -ms-flex-negative: 0;
        flex-shrink: 0
    }

    .form-item input,.form-item select {
        border-radius: 6px;
        font-size: 1rem;
        padding: 12px 16px
    }

    .form-item .select-box:after {
        -webkit-clip-path: polygon(50% 6px,0 0,12px 0);
        clip-path: polygon(50% 6px,0 0,12px 0);
        height: 6px;
        right: 16px;
        width: 12px
    }

    .form-checkbox {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 26px
    }

    .form-checkbox input {
        margin-right: 6px;
        margin-top: 2px;
        -webkit-transform: scale(1.8) translateX(-.4em);
        transform: scale(1.8) translateX(-.4em)
    }

    form .submit {
        margin-top: 20px
    }

    form .submit span:after {
        -webkit-clip-path: polygon(6px 50%,0 0,0 12px);
        clip-path: polygon(6px 50%,0 0,0 12px);
        height: 12px;
        right: 140px;
        width: 6px
    }

    form .submit span input {
        border-radius: 100px;
        font-size: 1.25rem;
        line-height: 1.4;
        padding: 14px 30px
    }

    .cmn-headline_lv2 {
        font-size: 2.75rem;
        line-height: 1.41
    }

    .cmn-headline_lv3 {
        font-size: 2.13rem;
        line-height: 1.5
    }

    .cmn-headline_lv4 {
        font-size: 1.88rem;
        line-height: 1.5
    }

    .cmn-headline_lv5 {
        font-size: 1.63rem;
        line-height: 1.38
    }

    .cmn-headline_lv6 {
        font-size: 1.25rem;
        line-height: 1.4
    }

    .modal-link:after {
        height: 16px;
        margin-left: 6px;
        width: 16px
    }

    .c-paragraph_s {
        font-size: .88rem;
        line-height: 1.5
    }

    .hero-section {
        margin-top: -110px
    }

    .hero-wrapper {
        padding-block:170px 52px}

    .hero-container {
        -ms-grid-columns: 722px auto;
        grid-template-areas: "intro image" "banner image" "feature feature";
        grid-template-columns: 722px auto
    }

    .hero-container>img {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 2
    }

    .product-slider .slide-inner .slide-header {
        -ms-grid-column: 1;
        -ms-grid-row: 1;
        -ms-grid-column-span: 3
    }

    .product-slider .slide-inner>img {
        -ms-grid-column: 1;
        -ms-grid-row: 2
    }

    .product-slider .slide-inner .product-info {
        -ms-grid-column: 3;
        -ms-grid-row: 2
    }

    .hero-inner.content-intro {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .hero-inner.content-banner,.hero-inner.content-image {
        -ms-grid-column: 1;
        -ms-grid-row: 2
    }

    .hero-container>.hero-inner.content-image {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 2
    }

    .hero-inner.content-feature {
        -ms-grid-column: 1;
        -ms-grid-row: 3;
        -ms-grid-column-span: 2
    }

    .hero-section .logos {
        -webkit-column-gap: 14px;
        -moz-column-gap: 14px;
        column-gap: 14px;
        margin-block:15px;row-gap: 12px
    }

    .hero-section .logos li {
        -webkit-box-shadow: 0 5px 5px 0 rgba(0,0,0,.102);
        box-shadow: 0 5px 5px 0 rgba(0,0,0,.102)
    }

    .hero-section .logos img {
        height: 59px
    }

    .hero-section .content-image {
        margin-top: 40px
    }

    .hero-section .content-feature {
        margin-top: 20px
    }

    .hero-section .content-feature .feeFeatures,.hero-section .content-feature ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 10px;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .hero-section .content-feature .feeFeatures li {
        padding: 20px
    }

    .hero-section .content-feature .feeFeatures dl {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 22px
    }

    .hero-section .content-feature .feeFeatures dt {
        min-width: 98px;
        padding: 3px
    }

    .hero-section .content-feature .feeFeatures dt:before {
        width: calc(100% - 24px)
    }

    .hero-section .content-feature .feeFeatures dt:after {
        height: calc(100% - 24px)
    }

    .hero-section .content-feature .feeFeatures .list-headline-inner:before {
        height: 19px;
        left: 4px;
        top: 4px;
        width: 21px
    }

    .hero-section .content-feature .feeFeatures h4 {
        padding: 17px
    }

    .hero-section .content-feature .feeFeatures dd {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        gap: 10px;
        justify-content: space-between
    }

    .hero-section .content-feature .feeFeatures .list-content-inner {
        gap: 4px
    }

    .hero-section .content-feature .feeFeatures h5 {
        min-width: 150px;
        padding: 2px 15px 2px 35px
    }

    .hero-section .content-feature .feeFeatures h5[data-icon]:before {
        left: 4px;
        width: 22px
    }

    .hero-section .content-feature .feeFeatures h5+p {
        font-size: 3.88rem
    }

    .hero-section .content-feature .feeFeatures h5+p span {
        font-size: 1.25rem
    }

    .hero-section .content-feature .feeFeatures p {
        font-size: 5.63rem
    }

    .hero-section .content-feature .feeFeatures p span {
        font-size: 1.63rem;
        margin-left: 10px
    }

    .hero-section .content-feature li img {
        height: 136px
    }

    .about-wrapper {
        padding-top: 60px
    }

    .about-section .content-intro {
        padding-bottom: 60px
    }

    .about-section .headline-badge {
        font-size: 1.25rem;
        top: 0;
        width: 92px
    }

    .about-section .content-form {
        padding-block:60px}

    .about-section .about-headline span {
        font-size: 2.13rem;
        line-height: 1.5
    }

    .about-section .about-result-image {
        margin-top: 28px
    }

    .about-section .content-form .widget-span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .about-section .content-form .cmn-headline_lv5 {
        margin-bottom: 30px
    }

    .about-section .content-form .phone-box {
        margin-top: 30px
    }

    .about-section .content-video {
        padding-block:60px}

    .about-section .content-video .content-wrapper {
        padding-bottom: 185px
    }

    .about-section .content-video hgroup {
        height: 345px;
        padding: 20px 40px;
        width: 630px
    }

    .about-section .content-video hgroup span {
        font-size: 7.5rem
    }

    .about-section .content-video hgroup h2 {
        font-size: 2.13rem;
        line-height: 1.5;
        margin-top: -27px;
        padding-left: 12px
    }

    .about-section .content-video iframe {
        width: 614px
    }

    .about-section .content-video .button-box {
        margin-top: 25px
    }

    .point-wrapper {
        padding-top: 60px
    }

    .point-container.bg-container {
        background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-point.jpg)
    }

    .point-section .content-header hgroup {
        margin-bottom: 52px;
        padding-top: 84px
    }

    .point-section .content-header hgroup span {
        bottom: 23px;
        font-size: 8.75rem
    }

    .point-section .content-list {
        padding-block:80px 90px}

    .point-section .content-list ul {
        gap: 32px;
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3,1fr)
    }

    .point-section .content-list ul li a {
        -webkit-box-shadow: 0 20px 10px 0 rgba(0,0,0,.102);
        box-shadow: 0 20px 10px 0 rgba(0,0,0,.102);
        padding: 10px 10px 44px
    }

    .point-section .content-list ul li a:after {
        bottom: 10px;
        -webkit-clip-path: polygon(50% 11px,0 0,22px 0);
        clip-path: polygon(50% 11px,0 0,22px 0);
        height: 11px;
        width: 22px
    }

    .point-section .content-list ul li .card-thumb {
        aspect-ratio: 378/150;
        margin-bottom: 16px
    }

    .point-section .content-list ul li hgroup span {
        bottom: 14px;
        font-size: 3.75rem
    }

    .point-section .content-list ul li p {
        margin-top: 14px
    }

    .body-container-wrapper.--is-sticky-header {
        padding-top: 64px
    }

    .main-contents-wrapper>div[class$=-section] {
        padding-top: 60px
    }

    .contact-section .content-header hgroup,.main-contents-wrapper .content-header hgroup,.qanda-section .content-header hgroup,.voice-section .content-header hgroup {
        margin-bottom: 100px;
        padding-top: 90px
    }

    .contact-section .content-header hgroup span,.main-contents-wrapper .content-header hgroup span,.qanda-section .content-header hgroup span,.voice-section .content-header hgroup span {
        font-size: 8.75rem;
        left: 0;
        top: 12px
    }

    .contact-section .content-header hgroup h2,.main-contents-wrapper .content-header hgroup h2,.qanda-section .content-header hgroup h2,.voice-section .content-header hgroup h2 {
        padding-left: 106px;
        text-align: left
    }

    .main-contents-wrapper .content-header.--reverse hgroup span {
        left: auto;
        right: 0
    }

    .main-contents-wrapper .content-header.--reverse hgroup h2 {
        padding-inline: 0 106px;
        text-align: right
    }

    .contact-section .content-header-image,.main-contents-wrapper .content-header-image,.qanda-section .content-header-image,.voice-section .content-header-image {
        -webkit-box-shadow: -20px 20px 20px 0 rgba(0,0,0,.1);
        box-shadow: -20px 20px 20px 0 rgba(0,0,0,.1);
        position: absolute;
        right: -90px;
        top: 0
    }

    .main-contents-wrapper .content-header.--reverse .content-header-image {
        -webkit-box-shadow: 20px 20px 20px 0 rgba(0,0,0,.1);
        box-shadow: 20px 20px 20px 0 rgba(0,0,0,.1);
        left: -90px;
        right: auto
    }

    .contact-section .content-header-image img,.main-contents-wrapper .content-header-image img,.qanda-section .content-header-image img,.voice-section .content-header-image img {
        width: 703px
    }

    .main-contents-wrapper .body-container {
        padding: 60px
    }

    .main-contents-wrapper .body-inner.column-2 {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2,1fr)
    }

    .main-contents-wrapper .content-body-subheadline {
        margin-block:80px 40px}

    .main-contents-wrapper .content-body-subheadline span {
        padding-inline:14px}

    .main-contents-wrapper .content-body-subheadline small {
        font-size: 1.25rem;
        margin-left: 14px
    }

    .cost-inner.content-body {
        padding-bottom: 80px
    }

    .cost-section .body-inner.column-2 {
        -ms-grid-columns: 446px auto;
        gap: 32px;
        grid-template-columns: 446px auto
    }

    .cost-section .body-inner.column-2 ul {
        margin-block:38px 20px}

    .cost-section .body-inner.column-2 li+li {
        margin-top: 20px;
        padding-top: 20px
    }

    .cost-section .body-inner.column-2 li img {
        width: 446px
    }

    .cost-section .caption {
        padding-left: 130px
    }

    .cost-section .badge {
        font-size: 1.25rem;
        line-height: 1.4;
        top: -16px;
        width: 168px
    }

    .cost-section .result {
        margin-top: 20px
    }

    .cost-section .result img {
        width: 340px
    }

    .cost-section .compare {
        margin-top: 40px
    }

    .cost-section .compare img {
        width: 930px
    }

    .lineup-inner.content-body {
        padding-bottom: 80px
    }

    .lineup-section .body-inner .lineup-information {
        margin-top: 40px;
        padding-top: 40px
    }

    .lineup-section .body-inner .lineup-information strong {
        font-size: 2.75rem;
        margin-inline:.3em}

    .lineup-section .body-inner .lineup-information p {
        margin-block:20px}

    .lineup-section .body-inner .lineup-information ul {
        gap: 10px;
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3,1fr)
    }

    .lineup-section .body-inner .lineup-information ul li {
        padding: 12px 20px
    }

    .lineup-section .body-inner .lineup-information ul li:before {
        height: 19px;
        left: 9px;
        top: 8px;
        width: 21px
    }

    .lineup-section .slider-container {
        padding-inline:108px}

    .lineup-section .slider-container+.slider-container {
        margin-top: 40px
    }

    .lineup-section .lineup-lead {
        margin-top: 80px
    }

    .speed-inner.content-body {
        padding-bottom: 80px
    }

    .speed-section .content-body picture,.speed-section .speed-lead {
        margin-top: 40px
    }

    .support-inner.content-body {
        padding-bottom: 80px
    }

    .support-section .support-lists {
        -ms-grid-columns: (1fr)[3];
        gap: 40px;
        grid-template-columns: repeat(3,1fr);
        margin-top: 40px
    }

    .support-section .support-lists li h4 {
        gap: 10px
    }

    .support-section .support-lists li h4:before {
        height: 22px;
        width: 24px
    }

    .support-section .support-lists li .support-lists-image {
        aspect-ratio: 282/164;
        margin-top: 12px
    }

    .support-section .support-lists li p {
        font-size: .88rem;
        margin-top: 12px
    }

    .support-section .support-lead {
        margin-top: 40px
    }

    .maintenance-inner.content-body {
        padding-bottom: 80px
    }

    .maintenance-inner .body-container {
        padding: 60px 0 0
    }

    .maintenance-inner .body-inner {
        padding-inline:60px}

    .maintenance-section .content-body .body-image {
        margin-top: 40px
    }

    .maintenance-section .content-body .result-image {
        margin-bottom: 60px
    }

    .maintenance-section .lead-box+.lead-box {
        margin-top: 40px
    }

    .maintenance-section .lead-box .maintenance-bgimage_01 {
        bottom: -40px;
        right: -16px;
        width: 212px
    }

    .maintenance-section .lead-box .maintenance-bgimage_02 {
        left: 16px;
        top: -10px;
        width: 197px
    }

    .maintenance-section .maintenance-lead {
        font-size: 1.63rem
    }

    .set-inner.content-body {
        padding-bottom: 80px
    }

    .set-section .set-lead,.set-section .slider-container {
        margin-top: 40px
    }

    .voice-section {
        padding-top: 70px
    }

    .voice-inner.content-body {
        padding-bottom: 40px
    }

    .voice-section .content-header.voice-inner hgroup {
        margin-bottom: 40px;
        padding-top: 104px
    }

    .voice-section .body-inner {
        padding: 60px 150px
    }

    .voice-section .body-inner h3 {
        margin-bottom: 30px
    }

    .voice-section .body-inner li {
        gap: 10px
    }

    .voice-section .body-inner li:before {
        height: 26px;
        width: 28px
    }

    .voice-section .body-inner li+li {
        margin-top: 20px
    }

    .qanda-section {
        padding-top: 50px
    }

    .qanda-inner.content-body {
        padding-bottom: 120px
    }

    .qanda-section .content-header.qanda-inner hgroup {
        margin-bottom: 40px;
        padding-top: 104px
    }

    .qanda-section .content-header.qanda-inner hgroup span {
        top: 2px
    }

    .qanda-section .accordion-container+.accordion-container {
        margin-top: 10px
    }

    .qanda-section .accordion-container dt {
        padding: 20px 76px 20px 24px
    }

    .qanda-section .accordion-container dt:after {
        right: 24px;
        width: 32px
    }

    .qanda-section .accordion-container dd {
        padding: 0 24px 20px
    }

    .qanda-section .accordion-container h3 {
        gap: 14px
    }

    .qanda-section .accordion-container p {
        font-size: .88rem;
        line-height: 1.5;
        padding-top: 20px
    }

    .qanda-section .accordion-container .button-box {
        margin-top: 10px
    }

    .contact-section {
        padding-top: 50px
    }

    .contact-inner.content-body {
        padding-bottom: 180px
    }

    .contact-section .content-header.contact-inner hgroup {
        margin-bottom: 80px;
        padding-top: 104px
    }

    .contact-section .headline-badge {
        font-size: 1.25rem;
        top: 0;
        width: 92px
    }

    .contact-section .content-form .widget-span {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }

    .contact-section .content-form .cmn-headline_lv5 {
        margin-bottom: 30px
    }

    .contact-section .content-form .phone-box {
        margin-top: 30px
    }
}

@media (min-width: 768px) and (max-width:1439px) {
    html {
        font-size:clamp(.63rem,1.11vw,1rem)
    }

    .dnd-section>.row-fluid:has(>.span6)>div:last-of-type:after {
        left: -4.17vw
    }

    .dnd-section>.row-fluid:has(>.span6) {
        gap: 8.33vw;
        padding-inline:4.17vw}

    .section-footer-inner {
        max-width: 67.36vw
    }

    .section-footer hgroup span img {
        width: 16.11vw
    }

    .section-footer hgroup h2 {
        font-size: 2.08vw
    }

    .section-footer hgroup {
        gap: .97vw;
        margin-bottom: 1.81vw
    }

    .section-footer-banner .phone-number:before {
        height: 3.4vw;
        width: 3.68vw
    }

    .section-footer-banner .phone-number {
        font-size: 5.14vw
    }

    .section-footer-banner ul {
        gap: 1.39vw;
        margin-top: 1.39vw
    }

    .section-footer-banner li:before {
        height: 1.53vw;
        width: 1.67vw
    }

    .section-footer-banner li {
        gap: .56vw
    }

    .section-footer-banner {
        -ms-grid-columns: auto 25.35vw;
        gap: 2.08vw;
        grid-template-columns: auto 25.35vw;
        padding: 2.78vw 3.47vw
    }

    .section-footer {
        padding-block:4.86vw}

    .flow-container .flow-inner+.flow-inner {
        margin-top: 2.08vw
    }

    .flow-container .badge p {
        font-size: 1.81vw
    }

    .flow-container .badge span {
        font-size: 1.39vw
    }

    .flow-container .badge {
        top: 7.29vw;
        width: 7.85vw
    }

    .flow-inner:nth-of-type(2) {
        margin-left: 11.67vw
    }

    .flow-container ul {
        gap: 2.64vw;
        padding-left: 10.63vw
    }

    .flow-container li:before {
        height: 7.85vw;
        top: 7.29vw;
        width: 6.67vw
    }

    .flow-container li:has(+li):after {
        -webkit-clip-path: polygon(.97vw 50%,0 0,0 1.81vw);
        clip-path: polygon(.97vw 50%,0 0,0 1.81vw);
        height: 1.81vw;
        right: -1.81vw;
        top: 10.42vw;
        width: .97vw
    }

    .flow-container li:last-of-type:after {
        height: 7.85vw;
        top: 7.29vw;
        width: 4.65vw
    }

    .flow-container li {
        width: 19.58vw
    }

    .flow-container .flow-header {
        gap: .97vw
    }

    .flow-container .step:before {
        width: calc(100% - 1.67vw)
    }

    .flow-container .step:after {
        height: calc(100% - 1.67vw)
    }

    .flow-container .step small {
        font-size: .83vw
    }

    .flow-container .step span {
        font-size: 2.5vw
    }

    .flow-container .step {
        height: 5.14vw;
        padding: .28vw;
        width: 5.14vw
    }

    .flow-container .img-box {
        margin-top: .83vw
    }

    .flow-container .caption {
        font-size: .97vw;
        margin-top: .83vw
    }

    .flow-container {
        margin-top: 2.78vw
    }

    .footer ul a:after {
        height: 1.04vw;
        margin-left: .42vw;
        width: 1.18vw
    }

    .footer ul a {
        font-size: .97vw
    }

    .footer ul {
        gap: 1.39vw
    }

    .footer small {
        font-size: .97vw;
        margin-top: .9vw
    }

    .footer .back_to_top:before {
        margin-top: -.42vw;
        width: 1.74vw
    }

    .footer .back_to_top {
        bottom: 6.94vw;
        font-size: .76vw;
        gap: .14vw;
        right: 1.39vw;
        width: 5.56vw
    }

    .footer {
        padding-block:5.56vw 2.78vw}

    .ribbon-text {
        font-size: .69vw;
        max-width: 100vw;
        padding: .69vw 1.39vw
    }

    .header-container {
        gap: 1.39vw;
        max-width: 100vw;
        padding: .83vw 2.78vw
    }

    .header-inner {
        -webkit-column-gap: 2.78vw;
        -moz-column-gap: 2.78vw;
        column-gap: 2.78vw
    }

    .header-logos {
        -webkit-column-gap: 1.39vw;
        -moz-column-gap: 1.39vw;
        column-gap: 1.39vw
    }

    .header.--is-sticky .header-logo {
        width: 9.51vw
    }

    .header-logo-tosho {
        width: 3.54vw
    }

    .header-logo {
        width: 15.76vw
    }

    .header.--is-sticky .header-contact {
        -webkit-column-gap: .42vw;
        -moz-column-gap: .42vw;
        column-gap: .42vw
    }

    .header-contact-top p {
        font-size: .97vw
    }

    .header.--is-sticky .header-contact-bottom p {
        font-size: .83vw
    }

    .header-contact-bottom p {
        font-size: 1.11vw
    }

    .header-contact .phone-number {
        font-size: 2.78vw
    }

    .header-contact .phone-number:before {
        height: 1.94vw;
        width: 2.08vw
    }

    .header-contact {
        row-gap: .42vw
    }

    .header.--is-sticky .button-box .c-button.--medium {
        padding: .42vw 2.08vw
    }

    .phone-box .number:before {
        height: 1.88vw;
        width: 2.01vw
    }

    .phone-box .number {
        font-size: 2.78vw;
        margin-top: .69vw
    }

    .phone-box {
        padding: 1.39vw 2.08vw
    }

    .swiper-button-next,.swiper-button-prev {
        width: 3.47vw
    }

    .swiper-button-prev {
        left: 5.21vw
    }

    .swiper-button-next {
        right: 5.21vw
    }

    .product-slider-thumb .swiper-wrapper {
        gap: .83vw
    }

    .product-slider-thumb .tab-button {
        min-height: 5.56vw
    }

    .product-slider-thumb p {
        padding: .83vw .28vw
    }

    .product-slider .slide-content h4 {
        padding-bottom: 1.39vw
    }

    .product-slider .slide-content {
        padding: 2.08vw 2.78vw 4.51vw
    }

    .product-slider .slide-inner:has(.slide-header) {
        row-gap: 2.08vw
    }

    .product-slider .slide-inner .slide-header-content-badge span {
        border-radius: 6.94vw;
        padding: .14vw 1.04vw
    }

    .product-slider .slide-inner .slide-header-content-badge {
        font-size: 1.11vw;
        margin-bottom: .69vw
    }

    .product-slider .slide-inner .slide-header-content-headline {
        font-size: 1.39vw;
        margin-bottom: .28vw
    }

    .product-slider .slide-inner .slide-header-content {
        padding: .69vw 2.08vw
    }

    .product-slider .slide-inner .slide-header {
        border-radius: .69vw;
        -ms-grid-columns: 23.61vw auto;
        grid-template-columns: 23.61vw auto
    }

    .product-slider .slide-inner hgroup img {
        height: 2.01vw
    }

    .product-slider .slide-inner hgroup {
        gap: .69vw;
        margin-bottom: 1.39vw
    }

    .product-slider .slide-inner h5 {
        font-size: 1.39vw
    }

    .product-slider .slide-inner h6 {
        margin-block:1.39vw .28vw}

    .product-slider .slide-inner p {
        font-size: .97vw
    }

    .product-slider .slide-inner ul {
        gap: .28vw
    }

    .product-slider .slide-inner li {
        font-size: .97vw;
        min-height: 4.17vw;
        padding: .97vw 1.39vw
    }

    .product-slider .slide-inner {
        -ms-grid-columns: 19.1vw auto;
        -webkit-column-gap: 2.22vw;
        -moz-column-gap: 2.22vw;
        column-gap: 2.22vw;
        grid-template-columns: 19.1vw auto;
        padding-block:2.78vw}

    .three-view-slider+.swiper-button-next+.swiper-button-prev {
        left: -6.53vw
    }

    .three-view-slider+.swiper-button-next {
        right: -6.53vw
    }

    .three-view-slider h4:before {
        height: 1.53vw;
        width: 1.67vw
    }

    .three-view-slider h4 {
        font-size: 1.39vw;
        gap: .69vw
    }

    .three-view-slider img {
        margin-top: .83vw
    }

    .banner .subheadline {
        font-size: 1.81vw
    }

    .banner .caption {
        font-size: .83vw
    }

    .banner .limit span {
        padding-inline:.69vw}

    .banner .limit {
        font-size: .97vw;
        padding-block:.28vw}

    .banner .date span {
        font-size: 1.11vw
    }

    .banner .date {
        font-size: 2.78vw
    }

    .banner .price-container .type {
        font-size: 2.36vw
    }

    .banner .price-container .price {
        font-size: 6.25vw
    }

    .banner .price-container .unit {
        font-size: 1.94vw
    }

    .banner .c-button {
        height: 2.64vw;
        margin-top: .97vw;
        width: 12.5vw
    }

    .banner.typeD .banner-content {
        gap: .69vw;
        padding: 1.74vw 1.74vw 1.39vw
    }

    .banner.typeD {
        -webkit-box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251);
        box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251)
    }

    .banner.typeA .banner-content {
        gap: .69vw;
        padding: 2.08vw 1.74vw
    }

    .banner.typeA {
        -webkit-box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251);
        box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251)
    }

    .banner .discount-copy .strong {
        font-size: 2.36vw;
        margin-right: .49vw
    }

    .banner .discount-copy .value:after {
        font-size: 2.36vw
    }

    .banner .discount-copy .value {
        font-size: 7.36vw
    }

    .banner .discount-copy .unit {
        font-size: 4.86vw
    }

    .banner.typeB .banner-content {
        gap: .97vw
    }

    .banner.typeB .caption {
        margin-top: .69vw
    }

    .banner.typeB .banner-image img {
        height: 10.49vw
    }

    .banner.typeB .banner-image {
        padding: 1.6vw
    }

    .banner.typeB .banner-header {
        padding-left: .69vw;
        padding-block:1.74vw}

    .banner.typeB .banner-description {
        padding-right: 1.39vw;
        padding-block:1.74vw}

    .banner.typeB {
        -webkit-box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251);
        box-shadow: .69vw .69vw 0 0 rgba(0,0,0,.251)
    }

    .banner.typeC .banner-content {
        padding: 6.25vw 1.74vw 4.72vw;
        row-gap: 2.78vw
    }

    .banner.typeC .discount-copy .strong,.banner.typeC .discount-copy .value:after {
        font-size: 2.99vw
    }

    .banner.typeC .discount-copy .value {
        font-size: 9.38vw
    }

    .banner.typeC .discount-copy .unit {
        font-size: 6.18vw
    }

    .banner.typeC .discount-copy {
        margin-top: -.69vw
    }

    .banner.typeC .limit {
        font-size: 1.11vw
    }

    .banner.typeC .subheadline {
        font-size: 2.36vw
    }

    .banner {
        padding: .97vw
    }

    .l-container {
        max-width: 100vw;
        padding-inline:6.25vw}

    .l-inner {
        padding-inline:7.5vw}

    .c-button:not(.--arrow-relative): after {
        -webkit-clip-path:polygon(50% .42vw,0 0,.83vw 0);
        clip-path: polygon(50% .42vw,0 0,.83vw 0);
        height: .42vw;
        right: .83vw;
        width: .83vw
    }

    .c-button.--arrow-relative span: after {
        -webkit-clip-path:polygon(.42vw 50%,0 0,0 .83vw);
        clip-path: polygon(.42vw 50%,0 0,0 .83vw);
        height: .83vw;
        right: -1.11vw;
        width: .42vw
    }

    .c-button.--small {
        font-size: 1.11vw;
        padding: .42vw 2.22vw
    }

    .c-button.--medium {
        padding: .97vw 2.08vw
    }

    .c-button.--large: not(:has(>span)):after {
        right:.97vw
    }

    .c-button.--large {
        padding: 1.25vw 2.08vw 1.25vw 1.53vw
    }

    .c-button {
        font-size: 1.39vw
    }

    .form-item span {
        gap: .83vw
    }

    .form-item:has(>.select-box) {
        gap: .83vw
    }

    .form-item+.form-item {
        margin-top: 1.11vw
    }

    .form-item label {
        font-size: .97vw
    }

    .form-item .select-box,.form-item input {
        width: 26.53vw
    }

    .form-item input,.form-item select {
        border-radius: .42vw;
        font-size: 1.11vw;
        padding: .83vw 1.11vw
    }

    .form-item .select-box:after {
        -webkit-clip-path: polygon(50% .42vw,0 0,.83vw 0);
        clip-path: polygon(50% .42vw,0 0,.83vw 0);
        height: .42vw;
        right: 1.11vw;
        width: .83vw
    }

    .form-checkbox input {
        margin-right: .42vw
    }

    .form-checkbox {
        margin-top: 1.81vw
    }

    form .submit span:after {
        -webkit-clip-path: polygon(.42vw 50%,0 0,0 .83vw);
        clip-path: polygon(.42vw 50%,0 0,0 .83vw);
        height: .83vw;
        right: 9.72vw;
        width: .42vw
    }

    form .submit span input {
        font-size: 1.39vw;
        padding: .97vw 2.08vw
    }

    form .submit {
        margin-top: 1.39vw
    }

    .cmn-headline_lv2 {
        font-size: 3.06vw
    }

    .cmn-headline_lv3 {
        font-size: 2.36vw
    }

    .cmn-headline_lv4 {
        font-size: 2.08vw
    }

    .cmn-headline_lv5 {
        font-size: 1.81vw
    }

    .cmn-headline_lv6 {
        font-size: 1.39vw
    }

    .modal-link:after {
        height: 1.11vw;
        margin-left: .42vw;
        width: 1.11vw
    }

    .c-paragraph_s {
        font-size: .97vw
    }

    .hero-section {
        margin-top: -7.64vw
    }

    .hero-wrapper {
        padding-block:11.81vw 3.61vw}

    .hero-container {
        -ms-grid-columns: 50.14vw auto;
        grid-template-columns: 50.14vw auto
    }

    .hero-section .logos li {
        -webkit-box-shadow: 0 .35vw .35vw 0 rgba(0,0,0,.102);
        box-shadow: 0 .35vw .35vw 0 rgba(0,0,0,.102)
    }

    .hero-section .logos img {
        height: 4.1vw
    }

    .hero-section .logos {
        -webkit-column-gap: .97vw;
        -moz-column-gap: .97vw;
        column-gap: .97vw;
        margin-block:1.04vw;row-gap: .83vw
    }

    .hero-section .content-image {
        margin-top: 2.78vw
    }

    .hero-section .content-feature .feeFeatures,.hero-section .content-feature ul {
        gap: .69vw
    }

    .hero-section .content-feature .feeFeatures li {
        padding: 1.39vw
    }

    .hero-section .content-feature .feeFeatures dl {
        gap: 1.53vw
    }

    .hero-section .content-feature .feeFeatures dt {
        min-width: 6.81vw;
        padding: .21vw
    }

    .hero-section .content-feature .feeFeatures .list-headline-inner:before {
        height: 1.32vw;
        left: .28vw;
        top: .28vw;
        width: 1.46vw
    }

    .hero-section .content-feature .feeFeatures h4 {
        padding: 1.18vw
    }

    .hero-section .content-feature .feeFeatures dd {
        gap: .69vw
    }

    .hero-section .content-feature .feeFeatures .list-content-inner {
        gap: .28vw
    }

    .hero-section .content-feature .feeFeatures h5[data-icon]:before {
        left: .28vw;
        width: 1.53vw
    }

    .hero-section .content-feature .feeFeatures h5+p span {
        font-size: 1.39vw
    }

    .hero-section .content-feature .feeFeatures h5+p {
        font-size: 4.31vw
    }

    .hero-section .content-feature .feeFeatures h5 {
        min-width: 10.42vw;
        padding: .14vw 1.04vw .14vw 2.43vw
    }

    .hero-section .content-feature .feeFeatures p span {
        font-size: 1.81vw;
        margin-left: .69vw
    }

    .hero-section .content-feature .feeFeatures p {
        font-size: 6.25vw
    }

    .hero-section .content-feature li img {
        height: 9.44vw
    }

    .hero-section .content-feature {
        margin-top: 1.39vw
    }

    .about-wrapper {
        padding-top: 4.17vw
    }

    .about-section .content-intro {
        padding-bottom: 4.17vw
    }

    .about-section .headline-badge {
        font-size: 1.39vw;
        width: 6.39vw
    }

    .about-section .content-form {
        padding-block:4.17vw}

    .about-section .about-headline span {
        font-size: 2.36vw
    }

    .about-section .about-result-image {
        margin-top: 1.94vw
    }

    .about-section .content-form .cmn-headline_lv5 {
        margin-bottom: 2.08vw
    }

    .about-section .content-form .phone-box {
        margin-top: 2.08vw
    }

    .about-section .content-video .content-wrapper {
        padding-bottom: 12.85vw
    }

    .about-section .content-video hgroup span {
        font-size: 8.33vw
    }

    .about-section .content-video hgroup h2 {
        font-size: 2.36vw;
        margin-top: -1.87vw;
        padding-left: .83vw
    }

    .about-section .content-video hgroup {
        height: 23.96vw;
        padding: 1.39vw 2.78vw;
        width: 43.75vw
    }

    .about-section .content-video iframe {
        width: 42.64vw
    }

    .about-section .content-video .button-box {
        margin-top: 1.74vw
    }

    .about-section .content-video {
        padding-block:4.17vw}

    .point-wrapper {
        padding-top: 4.17vw
    }

    .point-section .content-header hgroup span {
        bottom: 1.6vw;
        font-size: 9.72vw
    }

    .point-section .content-header hgroup {
        margin-bottom: 3.61vw;
        padding-top: 5.83vw
    }

    .point-section .content-list ul li a:after {
        bottom: .69vw;
        -webkit-clip-path: polygon(50% .76vw,0 0,1.53vw 0);
        clip-path: polygon(50% .76vw,0 0,1.53vw 0);
        height: .76vw;
        width: 1.53vw
    }

    .point-section .content-list ul li a {
        padding: .69vw .69vw 3.06vw
    }

    .point-section .content-list ul li .card-thumb {
        margin-bottom: 1.11vw
    }

    .point-section .content-list ul li hgroup span {
        bottom: .97vw;
        font-size: 4.17vw
    }

    .point-section .content-list ul li p {
        margin-top: .97vw
    }

    .point-section .content-list ul {
        gap: 2.22vw
    }

    .point-section .content-list {
        padding-block:5.56vw 6.25vw}

    .body-container-wrapper.--is-sticky-header {
        padding-top: 4.44vw
    }

    .main-contents-wrapper>div[class$=-section] {
        padding-top: 4.17vw
    }

    .contact-section .content-header hgroup span,.main-contents-wrapper .content-header hgroup span,.qanda-section .content-header hgroup span,.voice-section .content-header hgroup span {
        font-size: 9.72vw;
        top: .83vw
    }

    .main-contents-wrapper .content-header.--reverse hgroup h2 {
        padding-inline: 0 7.36vw
    }

    .contact-section .content-header hgroup h2,.main-contents-wrapper .content-header hgroup h2,.qanda-section .content-header hgroup h2,.voice-section .content-header hgroup h2 {
        padding-left: 7.36vw
    }

    .contact-section .content-header hgroup,.main-contents-wrapper .content-header hgroup,.qanda-section .content-header hgroup,.voice-section .content-header hgroup {
        margin-bottom: 6.94vw;
        padding-top: 6.25vw
    }

    .main-contents-wrapper .content-header.--reverse .content-header-image {
        left: -6.25vw
    }

    .contact-section .content-header-image img,.main-contents-wrapper .content-header-image img,.qanda-section .content-header-image img,.voice-section .content-header-image img {
        width: 48.82vw
    }

    .contact-section .content-header-image,.main-contents-wrapper .content-header-image,.qanda-section .content-header-image,.voice-section .content-header-image {
        right: -6.25vw
    }

    .main-contents-wrapper .body-container {
        padding: 4.17vw
    }

    .main-contents-wrapper .content-body-subheadline span {
        padding-inline:.97vw}

    .main-contents-wrapper .content-body-subheadline small {
        font-size: 1.39vw;
        margin-left: .97vw
    }

    .main-contents-wrapper .content-body-subheadline {
        margin-block:5.56vw 2.78vw}

    .cost-inner.content-body {
        padding-bottom: 5.56vw
    }

    .cost-section .body-inner.column-2 ul {
        margin-block:2.64vw 1.39vw}

    .cost-section .body-inner.column-2 li+li {
        margin-top: 1.39vw;
        padding-top: 1.39vw
    }

    .cost-section .body-inner.column-2 li img {
        width: 30.97vw
    }

    .cost-section .body-inner.column-2 {
        -ms-grid-columns: 30.97vw auto;
        gap: 2.22vw;
        grid-template-columns: 30.97vw auto
    }

    .cost-section .caption {
        padding-left: 9.03vw
    }

    .cost-section .badge {
        font-size: 1.39vw;
        top: -1.11vw;
        width: 11.67vw
    }

    .cost-section .result img {
        width: 23.61vw
    }

    .cost-section .result {
        margin-top: 1.39vw
    }

    .cost-section .compare img {
        width: 64.58vw
    }

    .cost-section .compare {
        margin-top: 2.78vw
    }

    .lineup-inner.content-body {
        padding-bottom: 5.56vw
    }

    .lineup-section .body-inner .lineup-information strong {
        font-size: 3.06vw
    }

    .lineup-section .body-inner .lineup-information p {
        margin-block:1.39vw}

    .lineup-section .body-inner .lineup-information ul li:before {
        height: 1.32vw;
        left: .63vw;
        top: .56vw;
        width: 1.46vw
    }

    .lineup-section .body-inner .lineup-information ul li {
        padding: .83vw 1.39vw
    }

    .lineup-section .body-inner .lineup-information ul {
        gap: .69vw
    }

    .lineup-section .body-inner .lineup-information {
        margin-top: 2.78vw;
        padding-top: 2.78vw
    }

    .lineup-section .slider-container+.slider-container {
        margin-top: 2.78vw
    }

    .lineup-section .slider-container {
        padding-inline:7.5vw}

    .lineup-section .lineup-lead {
        margin-top: 5.56vw
    }

    .speed-inner.content-body {
        padding-bottom: 5.56vw
    }

    .speed-section .content-body picture,.speed-section .speed-lead {
        margin-top: 2.78vw
    }

    .support-inner.content-body {
        padding-bottom: 5.56vw
    }

    .support-section .support-lists li h4:before {
        height: 1.53vw;
        width: 1.67vw
    }

    .support-section .support-lists li h4 {
        gap: .69vw
    }

    .support-section .support-lists li .support-lists-image {
        margin-top: .83vw
    }

    .support-section .support-lists li p {
        font-size: .97vw;
        margin-top: .83vw
    }

    .support-section .support-lists {
        gap: 2.78vw;
        margin-top: 2.78vw
    }

    .support-section .support-lead {
        margin-top: 2.78vw
    }

    .maintenance-inner.content-body {
        padding-bottom: 5.56vw
    }

    .maintenance-inner .body-container {
        padding: 4.17vw 0 0
    }

    .maintenance-inner .body-inner {
        padding-inline:4.17vw}

    .maintenance-section .content-body .body-image {
        margin-top: 2.78vw
    }

    .maintenance-section .content-body .result-image {
        margin-bottom: 4.17vw
    }

    .maintenance-section .lead-box+.lead-box {
        margin-top: 2.78vw
    }

    .maintenance-section .lead-box .maintenance-bgimage_01 {
        bottom: -2.78vw;
        right: -1.11vw;
        width: 14.72vw
    }

    .maintenance-section .lead-box .maintenance-bgimage_02 {
        left: 1.11vw;
        top: -.69vw;
        width: 13.68vw
    }

    .maintenance-section .maintenance-lead {
        font-size: 1.81vw
    }

    .set-inner.content-body {
        padding-bottom: 5.56vw
    }

    .set-section .set-lead,.set-section .slider-container {
        margin-top: 2.78vw
    }

    .voice-section {
        padding-top: 4.86vw
    }

    .voice-inner.content-body {
        padding-bottom: 2.78vw
    }

    .voice-section .content-header.voice-inner hgroup {
        margin-bottom: 2.78vw;
        padding-top: 7.22vw
    }

    .voice-section .body-inner h3 {
        margin-bottom: 2.08vw
    }

    .voice-section .body-inner li:before {
        height: 1.81vw;
        width: 1.94vw
    }

    .voice-section .body-inner li+li {
        margin-top: 1.39vw
    }

    .voice-section .body-inner li {
        gap: .69vw
    }

    .voice-section .body-inner {
        padding: 4.17vw 10.42vw
    }

    .qanda-section {
        padding-top: 3.47vw
    }

    .qanda-inner.content-body {
        padding-bottom: 8.33vw
    }

    .qanda-section .content-header.qanda-inner hgroup span {
        top: .14vw
    }

    .qanda-section .content-header.qanda-inner hgroup {
        margin-bottom: 2.78vw;
        padding-top: 7.22vw
    }

    .qanda-section .accordion-container+.accordion-container {
        margin-top: .69vw
    }

    .qanda-section .accordion-container dt:after {
        right: 1.67vw;
        width: 2.22vw
    }

    .qanda-section .accordion-container dt {
        padding: 1.39vw 5.28vw 1.39vw 1.67vw
    }

    .qanda-section .accordion-container dd {
        padding: 0 1.67vw 1.39vw
    }

    .qanda-section .accordion-container h3 img {
        width: 2.78vw
    }

    .qanda-section .accordion-container h3 {
        gap: .97vw
    }

    .qanda-section .accordion-container p {
        font-size: .97vw;
        padding-top: 1.39vw
    }

    .qanda-section .accordion-container .button-box {
        margin-top: .69vw
    }

    .contact-section {
        padding-top: 3.47vw
    }

    .contact-inner.content-body {
        padding-bottom: 12.5vw
    }

    .contact-section .content-header.contact-inner hgroup {
        margin-bottom: 5.56vw;
        padding-top: 7.22vw
    }

    .contact-section .headline-badge {
        font-size: 1.39vw;
        width: 6.39vw
    }

    .contact-section .content-form .cmn-headline_lv5 {
        margin-bottom: 2.08vw
    }

    .contact-section .content-form .phone-box {
        margin-top: 2.08vw
    }
}

@media (min-width: 768px) and (max-width:767px) {
    .header.--is-sticky .header-logo {
        width:28.27vw
    }
}

@media (max-width: 1439px) {
    br.forTAB,img.forTAB {
        display:inline
    }
}

@media (max-width: 767px) {
    html {
        font-size:4.27vw
    }

    br.forPC,img.forPC {
        display: none
    }

    br.forSP,img.forSP {
        display: inline
    }

    .forPC {
        display: none!important
    }

    .widget-span.forPC {
        display: none
    }

    .section-footer {
        padding-block:10.67vw}

    .section-footer hgroup {
        gap: 2.67vw;
        margin-bottom: 3.73vw
    }

    .section-footer hgroup span {
        display: block;
        text-align: center
    }

    .section-footer hgroup span img {
        width: 62.13vw
    }

    .section-footer hgroup h2 {
        font-size: 6.4vw;
        line-height: 1.5;
        margin-top: 3.73vw
    }

    .section-footer-banner {
        gap: 5.33vw
    }

    .section-footer-banner .section-footer-banner-inner:first-of-type {
        background-color: #fff;
        border-radius: 2.67vw;
        -webkit-box-shadow: 0 10px 10px 0 rgba(0,0,0,.2);
        box-shadow: 0 10px 10px 0 rgba(0,0,0,.2);
        padding: 10.67vw 2.67vw 8vw
    }

    .section-footer-banner .phone-number {
        font-size: 11.2vw
    }

    .section-footer-banner .phone-number:before {
        height: 8.53vw;
        width: 9.33vw
    }

    .section-footer-banner .phone-number:after {
        background-color: #000;
        -webkit-clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        content: "";
        display: inline-block;
        height: 3.2vw;
        margin-left: 2.67vw;
        width: 1.6vw
    }

    .section-footer-banner ul {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.13vw;
        margin-top: 5.33vw
    }

    .section-footer-banner li {
        gap: 1.6vw
    }

    .section-footer-banner li:before {
        height: 5.87vw;
        width: 6.4vw
    }

    .flow-container {
        margin-top: 10.67vw;
        padding-bottom: 15.47vw
    }

    .flow-container .flow-inner:before {
        background-color: #ebedf2;
        content: "";
        display: block;
        height: 100%;
        left: 50%;
        position: absolute;
        top: 14.67vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 30.13vw;
        z-index: -1
    }

    .flow-container .flow-inner+.flow-inner {
        margin-top: 5.33vw
    }

    .flow-container .flow-inner+.flow-inner:before {
        top: 0
    }

    .flow-container .badge {
        margin-inline:auto;position: relative;
        width: 30.13vw
    }

    .flow-container .badge p {
        font-size: 6.93vw
    }

    .flow-container .badge span {
        font-size: 5.33vw
    }

    .flow-container ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 13.33vw;
        margin-top: 5.33vw
    }

    .flow-inner:first-of-type li:last-of-type:after {
        display: none
    }

    .flow-container li {
        -webkit-column-gap: 5.33vw;
        -moz-column-gap: 5.33vw;
        column-gap: 5.33vw;
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: auto 54.67vw;
        grid-template-columns: auto 54.67vw;
        row-gap: 3.2vw
    }

    .flow-container li:has(+li):after {
        -webkit-clip-path: polygon(50% 3.73vw,0 0,6.93vw 0);
        clip-path: polygon(50% 3.73vw,0 0,6.93vw 0);
        height: 3.73vw;
        left: 50%;
        top: calc(100% + 4.8vw);
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 6.93vw
    }

    .flow-container li:last-of-type:after {
        -webkit-clip-path: polygon(0 0,100% 0,100% 48%,50% 100%,0 48%);
        clip-path: polygon(0 0,100% 0,100% 48%,50% 100%,0 48%);
        height: 15.2vw;
        left: 50%;
        top: 100%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 30.13vw
    }

    .flow-container .flow-header {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.13vw
    }

    .flow-container .step {
        height: 17.33vw;
        padding: 1.07vw;
        width: 17.33vw
    }

    .flow-container .step:before {
        width: calc(100% - 6.4vw)
    }

    .flow-container .step:after {
        height: calc(100% - 6.4vw)
    }

    .flow-container .step small {
        font-size: 3.2vw
    }

    .flow-container .step span {
        font-size: 9.6vw
    }

    .flow-container .img-box {
        aspect-ratio: 205/120
    }

    .flow-container .caption {
        font-size: 3.73vw;
        -ms-grid-column-span: 2;
        grid-column: span 2
    }

    .footer {
        padding-block:18.67vw}

    .footer ul {
        gap: 2.67vw
    }

    .footer ul a {
        font-size: 2.67vw;
        line-height: 1.4
    }

    .footer ul a:after {
        height: 3.2vw;
        margin-left: 1.33vw;
        width: 3.73vw
    }

    .footer small {
        font-size: 2.67vw;
        line-height: 1.4;
        margin-top: 2.67vw
    }

    .footer .back_to_top {
        bottom: 5.33vw;
        right: 5.33vw;
        width: 13.33vw
    }

    .footer .back_to_top:before {
        width: 6.67vw
    }

    .footer .back_to_top span {
        display: none
    }

    .ribbon-text {
        font-size: 2.67vw;
        padding: 1.6vw
    }

    .header-container {
        gap: 3.73vw;
        padding: 2.13vw 2.67vw
    }

    .header-inner,.header-logos {
        -webkit-column-gap: 2.67vw;
        -moz-column-gap: 2.67vw;
        column-gap: 2.67vw
    }

    .header-logo {
        width: 28.27vw
    }

    .header-logo-tosho {
        width: 6.4vw
    }

    .header-contact {
        row-gap: 1.07vw
    }

    .header-contact-top p {
        font-size: 2.67vw;
        line-height: 1.5
    }

    .header-contact-bottom p {
        color: #d92027;
        display: none;
        font-size: 2.67vw
    }

    .header.--is-sticky .header-contact-bottom p {
        font-size: 2.67vw
    }

    .header-contact .phone-number {
        display: none
    }

    .header-contact .mail-button,.header-contact .tel-button,.header-contact-buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 1.07vw
    }

    .header-contact .mail-button,.header-contact .tel-button {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-radius: 1.07vw;
        color: #fff;
        font-family: Noto Sans JP,ヒラギノ角ゴ ProN,Hiragino Kaku Gothic ProN,游ゴシック Medium,游ゴシック,Yu Gothic Medium,YuGothic,メイリオ,Meiryo,ＭＳ Ｐゴシック,sans-serif;
        font-size: 2.67vw;
        font-weight: 700;
        letter-spacing: .02em;
        line-height: 1.4;
        padding: 1.6vw
    }

    .header-contact .mail-button:before,.header-contact .tel-button:before {
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: inline-block
    }

    .header .button-box {
        display: none
    }

    .phone-box {
        border-radius: 2.67vw;
        -webkit-box-shadow: 0 10px 10px 0 rgba(0,0,0,.2);
        box-shadow: 0 10px 10px 0 rgba(0,0,0,.2);
        padding: 10.67vw 3.73vw 8vw
    }

    .phone-box .number {
        font-size: 11.2vw;
        margin-top: 2.67vw
    }

    .phone-box .number:before {
        height: 8.53vw;
        width: 9.33vw
    }

    .phone-box .number:after {
        background-color: #fff;
        -webkit-clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        content: "";
        display: inline-block;
        height: 3.2vw;
        margin-left: 2.67vw;
        width: 1.6vw
    }

    .swiper-button-next,.swiper-button-prev {
        top: 4.53vw;
        width: 10.67vw
    }

    .swiper-button-prev {
        left: -1.6vw;
        -webkit-transform: scaleX(-1);
        transform: scaleX(-1)
    }

    .swiper-button-next {
        right: -1.6vw
    }

    .product-slider-thumb {
        display: none!important
    }

    .product-slider .slide-content h4 {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: calc(3.5em + 5.33vw);
        padding-bottom: 5.33vw
    }

    .product-slider .slide-inner {
        background-color: #fff;
        padding: 5.33vw 4.27vw 10.67vw
    }

    .product-slider .slide-inner .slide-header {
        margin-bottom: 5.33vw
    }

    .product-slider .slide-inner .slide-header-image {
        aspect-ratio: 290/150
    }

    .product-slider .slide-inner .slide-header-content {
        padding: 5.33vw
    }

    .product-slider .slide-inner .slide-header-content-badge {
        font-size: 4.27vw;
        margin-bottom: 2.67vw
    }

    .product-slider .slide-inner .slide-header-content-badge span {
        border-radius: 26.67vw;
        padding: .53vw 4vw
    }

    .product-slider .slide-inner .slide-header-content-headline {
        font-size: 5.33vw;
        letter-spacing: .2em;
        line-height: 1.4;
        margin-bottom: 1.07vw
    }

    .product-slider .slide-inner .slide-header-content-caption {
        font-size: 3.73vw;
        line-height: 1.5
    }

    .product-slider .slide-inner>img {
        display: block;
        margin-inline:auto;width: 55.2vw
    }

    .product-slider .slide-inner hgroup {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-block:5.33vw}

    .product-slider .slide-inner hgroup img {
        height: 7.73vw
    }

    .product-slider .slide-inner h5 {
        font-size: 5.33vw;
        line-height: 1.4
    }

    .product-slider .slide-inner h6 {
        margin-top: 5.33vw
    }

    .product-slider .slide-inner p {
        font-size: 4.27vw;
        line-height: 1.63
    }

    .product-slider .slide-inner ul {
        gap: 1.07vw
    }

    .product-slider .slide-inner li {
        font-size: 3.73vw;
        line-height: 1.5;
        min-height: 18.67vw;
        padding: 3.73vw .53vw
    }

    .product-slider .slide-inner .button-box {
        margin-top: 5.33vw
    }

    .three-view-slider {
        padding-bottom: 8vw!important
    }

    .three-view-slider .swiper-pagination-bullet {
        height: 10px;
        margin: 0 1.6vw!important;
        width: 10px
    }

    .three-view-slider h4 {
        font-size: 5.33vw;
        line-height: 1.4;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: 3.5em
    }

    .banner {
        padding: 3.73vw
    }

    .banner-description {
        margin-inline:auto;width: 50.67vw
    }

    .banner .subheadline {
        font-size: 6.4vw;
        letter-spacing: .1em;
        line-height: 1.38
    }

    .banner .caption {
        font-size: 3.2vw;
        line-height: 1.33
    }

    .banner .limit {
        font-size: 4.27vw;
        line-height: 1.63;
        padding-block:1.07vw}

    .banner .limit span {
        padding-inline:2.67vw}

    .banner .date {
        font-size: 10.67vw
    }

    .banner .date span {
        font-size: 4.27vw
    }

    .banner .price-container .type {
        font-size: 6.93vw
    }

    .banner .price-container .price {
        font-size: 17.6vw
    }

    .banner .price-container .unit {
        font-size: 5.33vw
    }

    .banner .c-button {
        height: 10.13vw;
        margin-top: 3.73vw;
        width: 48vw
    }

    .banner.typeA .banner-content,.banner.typeD .banner-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5.33vw;
        padding: 5.33vw 2.67vw
    }

    .banner .discount-copy .strong {
        font-size: 7.47vw;
        line-height: 1.07;
        margin-right: 1.6vw
    }

    .banner .discount-copy .value {
        font-size: 22.93vw
    }

    .banner .discount-copy .value:after {
        font-size: 11.2vw
    }

    .banner .discount-copy .unit {
        font-size: 15.2vw
    }

    .banner.typeB .banner-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5.33vw;
        padding-bottom: 5.33vw
    }

    .banner.typeB .caption {
        margin-top: 2.67vw
    }

    .banner.typeB .banner-image {
        padding-block:3.47vw}

    .banner.typeB .banner-image img {
        height: 25.33vw
    }

    .banner.typeB .banner-header {
        padding-inline:2.67vw}

    .banner.typeC .banner-content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 5.33vw;
        padding: 5.33vw 2.67vw
    }

    .banner.typeC .discount-copy .unit {
        font-size: 15.2vw
    }

    .l-container {
        padding-inline:6.4vw}

    .button-box.forPC {
        display: none
    }

    .c-button {
        border-radius: 26.67vw;
        font-size: 4.8vw;
        line-height: 1.39
    }

    .c-button:not(.--arrow-relative): after {
        -webkit-clip-path:polygon(50% 1.6vw,0 0,3.2vw 0);
        clip-path: polygon(50% 1.6vw,0 0,3.2vw 0);
        height: 1.6vw;
        right: 3.2vw;
        width: 3.2vw
    }

    .c-button.--arrow-relative span: after {
        -webkit-clip-path:polygon(1.6vw 50%,0 0,0 3.2vw);
        clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        height: 3.2vw;
        right: -4.27vw;
        width: 1.6vw
    }

    .c-button.--small {
        font-size: 4.27vw;
        line-height: 1.56;
        padding: 1.6vw 8.53vw
    }

    .c-button.--medium {
        padding: 3.73vw 9.07vw
    }

    .c-button.--large {
        padding: 3.73vw 7.47vw 3.73vw 5.33vw
    }

    .c-button.--large: not(:has(>span)):after {
        right:2.67vw
    }

    .form-item span {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.67vw
    }

    .form-item:has(>.select-box) {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 4.27vw
    }

    .form-item+.form-item {
        margin-top: 4.8vw
    }

    .form-item label {
        font-size: 3.73vw;
        line-height: 1.5
    }

    .form-item .select-box,.form-item input {
        width: 100%
    }

    .form-item input,.form-item select {
        border-radius: 1.6vw;
        font-size: 4.27vw;
        padding: 3.2vw 4.27vw
    }

    .form-item .select-box:after {
        -webkit-clip-path: polygon(50% 1.6vw,0 0,3.2vw 0);
        clip-path: polygon(50% 1.6vw,0 0,3.2vw 0);
        height: 1.6vw;
        right: 4.27vw;
        width: 3.2vw
    }

    .form-checkbox {
        margin-top: 4vw
    }

    .form-checkbox input {
        -webkit-box-flex: 0;
        -ms-flex: 0;
        flex: 0;
        margin-right: 3.73vw;
        -webkit-transform: scale(2);
        transform: scale(2)
    }

    form .submit {
        margin-top: 5.33vw
    }

    form .submit span:after {
        -webkit-clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        clip-path: polygon(1.6vw 50%,0 0,0 3.2vw);
        height: 3.2vw;
        right: 15.47vw;
        width: 1.6vw
    }

    form .submit span input {
        border-radius: 26.67vw;
        font-size: 4.8vw;
        line-height: 1.39;
        padding: 3.73vw 9.07vw
    }

    .cmn-headline_lv2 {
        font-size: 7.47vw;
        line-height: 1.39
    }

    .cmn-headline_lv3 {
        font-size: 6.4vw;
        line-height: 1.5
    }

    .cmn-headline_lv4 {
        font-size: 5.87vw;
        line-height: 1.36
    }

    .cmn-headline_lv5 {
        font-size: 5.33vw;
        line-height: 1.5
    }

    .cmn-headline_lv6 {
        font-size: 4.8vw;
        line-height: 1.39
    }

    [class^=cmn-headline].--center-sp {
        text-align: center
    }

    .modal-link:after {
        height: 4.27vw;
        margin-left: 1.6vw;
        width: 4.27vw
    }

    .c-paragraph_s {
        font-size: 3.2vw;
        line-height: 1.42
    }

    .hero-section {
        margin-top: -24vw
    }

    .hero-wrapper {
        padding-block:34.67vw 10.67vw}

    .hero-container {
        -ms-grid-rows: auto 8vw auto 8vw auto 8vw auto;
        grid-template-areas: "intro" "image" "banner" "feature";
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        row-gap: 8vw
    }

    .hero-container>img {
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1
    }

    .hero-container>.hero-inner.content-intro {
        -ms-grid-column: 1;
        -ms-grid-row: 1
    }

    .hero-container>.hero-inner.content-banner {
        -ms-grid-column: 1;
        -ms-grid-row: 5
    }

    .hero-container>.hero-inner.content-image {
        -ms-grid-row: 3;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1
    }

    .hero-container>.hero-inner.content-feature {
        -ms-grid-column: 1;
        -ms-grid-row: 7;
        -ms-grid-column-span: 1
    }

    .hero-section .logos {
        gap: 1.6vw;
        margin-block:5.33vw}

    .hero-section .logos li {
        -webkit-box-shadow: 0 5px 5px 0 rgba(0,0,0,.102);
        box-shadow: 0 5px 5px 0 rgba(0,0,0,.102)
    }

    .hero-section .logos img {
        height: 10.4vw
    }

    .hero-section .content-image {
        margin-top: -5.33vw;
        text-align: center
    }

    .hero-section .content-image img {
        width: 73.87vw
    }

    .hero-section .content-feature {
        margin-top: 0
    }

    .hero-section .content-feature .feeFeatures,.hero-section .content-feature ul {
        -webkit-column-gap: 2.67vw;
        -moz-column-gap: 2.67vw;
        column-gap: 2.67vw;
        display: -ms-grid;
        display: grid;
        row-gap: 5.33vw
    }

    .hero-section .content-feature .feeFeatures li {
        padding: 1.07vw 1.07vw 3.2vw
    }

    .hero-section .content-feature .feeFeatures li:last-of-type {
        -ms-grid-column-span: 2;
        grid-column: span 2
    }

    .hero-section .content-feature .feeFeatures dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.67vw
    }

    .hero-section .content-feature .feeFeatures dt {
        padding: .8vw
    }

    .hero-section .content-feature .feeFeatures dt:before {
        width: calc(100% - 6.4vw)
    }

    .hero-section .content-feature .feeFeatures dt:after {
        height: calc(100% - 6.4vw)
    }

    .hero-section .content-feature .feeFeatures .list-headline-inner:before {
        height: 4vw;
        left: 1.33vw;
        top: 1.07vw;
        width: 4.27vw
    }

    .hero-section .content-feature .feeFeatures h4 {
        padding: 5.33vw 4.53vw
    }

    .hero-section .content-feature .feeFeatures dd {
        gap: 2.67vw;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .hero-section .content-feature .feeFeatures .list-content-inner {
        gap: 1.07vw
    }

    .hero-section .content-feature .feeFeatures h5 {
        min-width: 37.33vw;
        padding: 1.07vw 3.2vw 1.07vw 9.33vw
    }

    .hero-section .content-feature .feeFeatures h5[data-icon]:before {
        left: 1.07vw;
        width: 5.87vw
    }

    .hero-section .content-feature .feeFeatures p {
        font-size: 13.33vw
    }

    .hero-section .content-feature .feeFeatures p span {
        font-size: 3.73vw;
        margin-left: 1.07vw
    }

    .hero-section .content-feature li:first-of-type img,.hero-section .content-feature li:nth-of-type(2) img {
        height: 36vw
    }

    .hero-section .content-feature li:nth-of-type(3) img {
        height: 45.33vw
    }

    .about-wrapper {
        padding-top: 10.67vw
    }

    .about-section .content-intro {
        padding-bottom: 10.67vw
    }

    .about-section .headline-badge {
        font-size: 5.33vw;
        top: -5.33vw;
        width: 18.67vw
    }

    .about-section .content-form {
        padding-block:10.67vw}

    .about-section .content-form .container-fluid .row-fluid-wrapper .widget-span .dnd-section .row-fluid .dnd-column:first-child {
        display: none
    }

    .about-section .about-headline span {
        font-size: 6.4vw;
        line-height: 1.5
    }

    .about-section .about-result-image {
        margin-top: 7.47vw;
        width: 100%
    }

    .about-section .content-form .cmn-headline_lv5 {
        margin-bottom: 4vw
    }

    .about-section .content-form .phone-box {
        margin-top: 8vw
    }

    .about-section .content-video {
        padding-block:10.67vw}

    .about-section .content-video .content-wrapper {
        padding-bottom: 58.67vw
    }

    .about-section .content-video hgroup {
        height: 46.4vw;
        padding: 4.27vw;
        width: 81.07vw
    }

    .about-section .content-video hgroup span {
        font-size: 18.13vw
    }

    .about-section .content-video hgroup h2 {
        font-size: 6.4vw;
        line-height: 1.5;
        margin-top: -6.93vw;
        padding-left: 8vw
    }

    .about-section .content-video .video-box {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        width: 100%
    }

    .about-section .content-video iframe {
        margin-left: auto;
        width: 80vw
    }

    .about-section .content-video .button-box {
        margin-top: 9.33vw
    }

    .point-wrapper {
        padding-top: 9.07vw
    }

    .point-container.bg-container {
        background-image: url(https://21063233.fs1.hubspotusercontent-na1.net/hubfs/21063233/raw_assets/public/Copyki_Boilerplate_ASA/src/images/bg-point_sp.jpg)
    }

    .point-section .content-header hgroup {
        margin-bottom: 6.4vw;
        padding-top: 8.53vw
    }

    .point-section .content-header hgroup span {
        bottom: 3.2vw;
        font-size: 18.13vw
    }

    .point-section .content-list {
        padding-block:8vw 10.67vw}

    .point-section .content-list ul {
        gap: 2.67vw;
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2,1fr)
    }

    .point-section .content-list ul li a {
        -webkit-box-shadow: 0 20px 10px 0 rgba(0,0,0,.102);
        box-shadow: 0 20px 10px 0 rgba(0,0,0,.102);
        padding: 2.67vw 2.67vw 8vw
    }

    .point-section .content-list ul li a:after {
        bottom: 2.67vw;
        -webkit-clip-path: polygon(50% 2.93vw,0 0,5.87vw 0);
        clip-path: polygon(50% 2.93vw,0 0,5.87vw 0);
        height: 2.93vw;
        width: 5.87vw
    }

    .point-section .content-list ul li .card-thumb {
        aspect-ratio: 138/90;
        margin-bottom: 1.07vw
    }

    .point-section .content-list ul li hgroup span {
        font-size: 6.13vw;
        top: -3.2vw
    }

    .point-section .content-list ul li hgroup h3 {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: 2.77em
    }

    .point-section .content-list ul li p {
        margin-top: 1.07vw
    }

    .body-container-wrapper.--is-sticky-header {
        padding-top: 21.33vw
    }

    .main-contents-wrapper>div[class$=-section] {
        padding-top: 16vw
    }

    .contact-section .content-header hgroup,.main-contents-wrapper .content-header hgroup,.qanda-section .content-header hgroup,.voice-section .content-header hgroup {
        margin-bottom: 8vw;
        padding-top: 10.67vw
    }

    .contact-section .content-header hgroup span,.main-contents-wrapper .content-header hgroup span,.qanda-section .content-header hgroup span,.voice-section .content-header hgroup span {
        font-size: 18.13vw;
        left: 50%;
        top: -1.07vw;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%)
    }

    .contact-section .content-header hgroup h2,.main-contents-wrapper .content-header hgroup h2,.qanda-section .content-header hgroup h2,.voice-section .content-header hgroup h2 {
        text-align: center
    }

    .contact-section .content-header-image,.main-contents-wrapper .content-header-image,.qanda-section .content-header-image,.voice-section .content-header-image {
        -webkit-box-shadow: -20px 20px 20px 0 rgba(0,0,0,.102);
        box-shadow: -20px 20px 20px 0 rgba(0,0,0,.102);
        left: 50%;
        position: relative;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100vw
    }

    .contact-section .content-header-image img,.main-contents-wrapper .content-header-image img,.qanda-section .content-header-image img,.voice-section .content-header-image img {
        max-width: none;
        width: 100%
    }

    .main-contents-wrapper .body-container {
        margin-left: -6.4vw;
        padding: 10.67vw 6.4vw 16vw;
        width: calc(100% + 12.8vw)
    }

    .main-contents-wrapper .content-body-subheadline {
        margin-block:16vw 10.67vw}

    .main-contents-wrapper .content-body-subheadline span {
        padding-inline:3.73vw}

    .main-contents-wrapper .content-body-subheadline small {
        display: block;
        font-size: 4.8vw
    }

    .cost-inner.content-body {
        padding-bottom: 21.33vw
    }

    .cost-section .body-inner.column-2 {
        -ms-grid-columns: 1fr;
        gap: 8vw;
        grid-template-columns: 1fr
    }

    .cost-section .body-inner.column-2 ul {
        margin-bottom: 5.33vw
    }

    .cost-section .body-inner.column-2 li+li {
        margin-top: 5.33vw;
        padding-top: 5.33vw
    }

    .cost-section .body-inner.column-2 li img {
        width: 100%
    }

    .cost-section .caption {
        text-align: center
    }

    .cost-section .box-right {
        margin-inline:auto;width: 74.67vw
    }

    .cost-section .box-right img {
        width: 100%
    }

    .cost-section .badge {
        font-size: 4vw;
        line-height: 1.4;
        top: -2.67vw;
        width: 32.8vw
    }

    .cost-section .result {
        margin-top: 3.2vw
    }

    .cost-section .result img {
        width: 63.2vw
    }

    .cost-section .compare {
        margin-top: 10.67vw
    }

    .cost-section .compare img {
        width: 100%
    }

    .lineup-inner.content-body {
        margin-top: -15.47vw;
        padding-bottom: 16vw
    }

    .lineup-section .body-inner .lineup-information {
        margin-top: 8vw;
        padding-top: 8vw
    }

    .lineup-section .body-inner .lineup-information p {
        margin-block:5.33vw}

    .lineup-section .body-inner .lineup-information ul {
        gap: 2.67vw;
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2,1fr)
    }

    .lineup-section .body-inner .lineup-information ul li {
        padding: 3.2vw 5.33vw
    }

    .lineup-section .body-inner .lineup-information ul li:before {
        height: 5.07vw;
        left: 2.13vw;
        top: 1.87vw;
        width: 5.6vw
    }

    .lineup-section .lineup-lead {
        margin-top: 16vw
    }

    .speed-section .content-body picture {
        margin-top: 10.67vw
    }

    .speed-section .speed-lead {
        margin-top: 5.33vw
    }

    .support-section .support-lists {
        gap: 10.67vw;
        grid-template: repeat(1,1fr);
        margin-top: 10.67vw
    }

    .support-section .support-lists li {
        -webkit-column-gap: 5.33vw;
        -moz-column-gap: 5.33vw;
        column-gap: 5.33vw;
        display: -ms-grid;
        display: grid;
        row-gap: 3.2vw;
        -ms-grid-columns: auto 54.67vw;
        grid-template-columns: auto 54.67vw
    }

    .support-section .support-lists li h4 {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2.13vw;
        -ms-grid-column: 1;
        grid-column: 1;
        -ms-grid-row: 1;
        grid-row: 1;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .support-section .support-lists li h4:before {
        height: 5.87vw;
        width: 6.4vw
    }

    .support-section .support-lists li .support-lists-image {
        aspect-ratio: 205/120;
        -webkit-box-shadow: 5px 5px 10px 0 rgba(0,0,0,.102);
        box-shadow: 5px 5px 10px 0 rgba(0,0,0,.102);
        -ms-grid-column: 2;
        grid-column: 2;
        -ms-grid-row: 1;
        grid-row: 1
    }

    .support-section .support-lists li p {
        font-size: 3.73vw;
        -ms-grid-column: 1;
        -ms-grid-column-span: 2;
        grid-column: 1/span 2;
        -ms-grid-row: 2;
        grid-row: 2
    }

    .support-section .support-lead {
        margin-top: 16vw
    }

    .maintenance-inner .body-container {
        padding-bottom: 0
    }

    .maintenance-section .content-header hgroup {
        padding-top: 8vw
    }

    .maintenance-section .content-header hgroup span {
        font-size: 13.33vw
    }

    .maintenance-section .content-body .body-image {
        margin-top: 10.67vw
    }

    .maintenance-section .content-body .result-image {
        margin-bottom: 21.33vw
    }

    .maintenance-section .content-body .result-image img {
        width: 100%
    }

    .maintenance-section .content-body .body-footer-image {
        left: 50%;
        position: relative;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100vw
    }

    .maintenance-section .lead-box+.lead-box {
        margin-top: 32vw
    }

    .maintenance-section .lead-box img {
        width: 32vw
    }

    .maintenance-section .lead-box .maintenance-bgimage_01 {
        bottom: -16vw;
        right: -6.4vw
    }

    .maintenance-section .lead-box .maintenance-bgimage_02 {
        left: -6.4vw;
        top: -21.33vw
    }

    .maintenance-section .maintenance-lead {
        font-size: 5.87vw
    }

    .set-section .slider-container {
        margin-top: 10.67vw
    }

    .set-section .set-lead {
        margin-top: 16vw
    }

    .voice-section {
        padding-top: 16vw
    }

    .voice-container {
        padding-inline:0}

    .voice-section .body-inner {
        padding: 10.67vw 6.4vw
    }

    .voice-section .body-inner h3 {
        margin-bottom: 5.33vw
    }

    .voice-section .body-inner li {
        gap: 2.67vw
    }

    .voice-section .body-inner li:before {
        height: 6.93vw;
        width: 7.47vw
    }

    .voice-section .body-inner li+li {
        margin-top: 5.33vw
    }

    .qanda-section {
        padding-top: 24vw
    }

    .qanda-container {
        padding-inline:0}

    .qanda-section .accordion-container+.accordion-container {
        margin-top: 2.67vw
    }

    .qanda-section .accordion-container dt {
        padding: 5.33vw 20.27vw 5.33vw 6.4vw
    }

    .qanda-section .accordion-container dt:after {
        right: 6.4vw;
        width: 8.53vw
    }

    .qanda-section .accordion-container dd {
        padding: 0 6.4vw 5.33vw
    }

    .qanda-section .accordion-container h3 {
        gap: 3.73vw
    }

    .qanda-section .accordion-container h3 img {
        width: 10.67vw
    }

    .qanda-section .accordion-container p {
        font-size: 3.73vw;
        line-height: 1.5;
        padding-top: 5.33vw
    }

    .qanda-section .accordion-container .button-box {
        margin-top: 2.67vw
    }

    .contact-section {
        padding-top: 13.33vw
    }

    .contact-inner.content-body {
        padding-bottom: 16vw
    }

    .contact-inner .row-fluid {
        gap: 10.67vw
    }

    .contact-inner .widget-span:first-of-type {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .contact-section .content-header.contact-inner hgroup {
        margin-bottom: 11.73vw
    }

    .contact-section .headline-badge {
        font-size: 5.33vw;
        top: -5.33vw;
        width: 18.67vw
    }

    .contact-section .content-form .cmn-headline_lv5 {
        margin-bottom: 5.33vw
    }

    .contact-section .content-form .phone-box {
        margin-top: 8vw
    }
}

@media (max-width: 450px) {
    br.forSP_small,img.forSP_small {
        display:inline
    }
}

@media screen and (hover: hover) {
    .footer ul a:hover,.h-opacity:hover {
        opacity:.6
    }

    .swiper-button-next:hover:after,.swiper-button-prev:hover:after {
        opacity: 1
    }

    .product-slider-thumb .swiper-slide:not(.swiper-slide-thumb-active):hover p {
        background-color: #e9ecee;
        -webkit-transform: translateY(6px);
        transform: translateY(6px)
    }

    .c-button:hover:before {
        opacity: 1
    }

    form .submit span input:hover {
        background: #2f6b9f
    }

    .point-section .content-list ul li a:hover {
        background-color: #f6f7f8;
        -webkit-box-shadow: 0 20px 10px 0 transparent;
        box-shadow: 0 20px 10px 0 transparent
    }
}