@charset 'UTF-8';
*,
*::before,
*::after
{
    box-sizing: border-box;
}

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
figure,
blockquote
{
    margin: 0;
    padding: 0;
}

body
{
    line-height: 1.6;

    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

ul,
ol
{
    list-style: none;
}

img
{
    max-width: 100%;
    height: auto;

    vertical-align: bottom;
}

a
{
    text-decoration: none;

    color: inherit;
}

button
{
    font: inherit;

    padding: 0;

    cursor: pointer;

    color: inherit;
    border: none;
    background: none;
}

input,
textarea,
select
{
    font: inherit;

    color: inherit;
}

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

[hidden]
{
    display: none;
}

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

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

a:visited
{
    color: inherit;
}

body.add-set
{
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
}

@media screen and (max-width: 768px)
{
    body.add-set
    {
        min-width: auto;
    }
}
body
{
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-weight: 400;
    line-height: 1;

    letter-spacing: .04em;

    color: #2c2c2c;
}

.c-btn
{
    font: inherit;
    line-height: 1;

    display: inline-flex;

    margin: 0;
    padding: 0;

    cursor: pointer;
    text-align: center;
    text-decoration: none;

    color: inherit;
    border: 0;
    background: none;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
    align-items: center;
    justify-content: center;
}

.c-btn--main
{
    font-size: 20px;
    line-height: 18px;

    width: 318px;
    height: 57px;

    color: #2c2c2c;
    border: 0;
    border: 2px solid #f7f0e2;
    border-radius: 90px;
    background: #f7f0e2;
}
.c-btn--main:visited
{
    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-btn--main
    {
        font-size: 4.8vw;
        line-height: 4.8vw;

        width: 100%;
        max-width: 70.9333333333vw;
        height: 12.5333333333vw;

        border-radius: 24vw;
    }
}
.c-btn--main:hover,
.c-btn--main:active,
.c-btn--main:focus-visible
{
    opacity: 1;
    border: 2px solid #f7f0e2;
    background: transparent;
}

.c-btn--cta
{
    font-size: 20px;
    line-height: 18px;

    width: 318px;
    height: 57px;

    color: #fff;
    border: 0;
    border: 2px solid #c91c37;
    border-radius: 90px;
    background: #c91c37;
}
.c-btn--cta:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .c-btn--cta
    {
        font-size: 4.8vw;
        line-height: 4.8vw;

        width: 100%;
        max-width: 70.9333333333vw;
        height: 12.5333333333vw;

        border-radius: 24vw;
    }
}
.c-btn--cta:hover,
.c-btn--cta:active,
.c-btn--cta:focus-visible
{
    color: #c91c37;
    border: 2px solid #c91c37;
    background: #fff;
}

.c-btn--withIcon
{
    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .c-btn--withIcon
    {
        gap: 3.2vw;
    }
}
.c-btn--withIcon svg
{
    width: 20px;
    height: 20px;

    stroke: currentColor;
    fill: none;
    stroke-width: 1.8;
}
@media screen and (max-width: 768px)
{
    .c-btn--withIcon svg
    {
        width: 5.3333333333vw;
        height: 5.3333333333vw;
    }
}

.c-btn--login
{
    font-size: 20px;
    line-height: 18px;

    width: 318px;
    height: 57px;

    color: #2c2c2c;
    border: 0;
    border: 2px solid #f7f0e2;
    border-radius: 90px;
    background: #f7f0e2;
}
.c-btn--login:visited
{
    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-btn--login
    {
        font-size: 4.8vw;
        line-height: 4.8vw;

        width: 100%;
        max-width: 70.9333333333vw;
        height: 12.5333333333vw;

        border-radius: 24vw;
    }
}
.c-btn--login:hover,
.c-btn--login:active,
.c-btn--login:focus-visible
{
    opacity: 1;
    border: 2px solid #f7f0e2;
    background: transparent;
}

.c-btn--white
{
    font-size: 20px;
    line-height: 18px;

    width: 318px;
    height: 57px;

    color: #2c2c2c;
    border: 0;
    border-radius: 90px;
    background: #fff;
}
.c-btn--white:visited
{
    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-btn--white
    {
        font-size: 4.8vw;
        line-height: 4.8vw;

        width: 100%;
        max-width: 70.9333333333vw;
        height: 12.5333333333vw;

        border-radius: 24vw;
    }
}
.c-btn--white:hover,
.c-btn--white:active,
.c-btn--white:focus-visible
{
    background: #fff;
}

.c-link--more
{
    font-size: 12px;

    position: relative;

    overflow: visible;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    padding-right: 24px;
    padding-bottom: 4px;

    border-bottom: 1px solid #828282;
}
.c-link--more::after
{
    position: absolute;
    top: 50%;
    right: 3px;

    width: 6px;
    height: 6px;

    content: '';
    transition: .3s;
    transform: translateY(-50%) rotate(-45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
.c-link--more:hover::after
{
    transform: translate(10px, -50%) rotate(-45deg);
}
@media screen and (max-width: 768px)
{
    .c-link--more
    {
        font-size: 3.2vw;

        padding-right: 6.4vw;
        padding-bottom: 1.0666666667vw;
    }
    .c-link--more::after
    {
        right: .8vw;

        width: 1.6vw;
        height: 1.6vw;

        border-right: .2666666667vw solid #828282;
        border-bottom: .2666666667vw solid #828282;
    }
    .c-link--more:hover::after
    {
        transform: translate(2.6666666667vw, -50%) rotate(-45deg);
    }
}

.c-link--text
{
    text-decoration: underline;
}

.u-bg-sky
{
    background: #bae5ff;
}

.u-bg-sky2
{
    background: #dbf1ff;
}

.u-bg-beige
{
    background: #f7f0e2;
}

.u-text-primary
{
    color: #6cc7ff;
}

.u-text-cta
{
    color: #c91c37;
}

.u-text-gray
{
    color: #828282;
}

.u-text-red2
{
    color: #ff807f;
}

.marker-text-primary
{
    background: linear-gradient(transparent 70%, #6cc7ff 70%);
}

.marker-text-sky3
{
    position: relative;
    z-index: 1;

    display: inline-block;

    padding: 0 .1rem;
}
.marker-text-sky3::after
{
    position: absolute;
    z-index: -1;
    bottom: .2em;
    left: 0;

    width: 100%;
    height: .4em;

    content: '';

    border-radius: 99px;
    background: #d8f0ff;
}

.text-center
{
    text-align: center;
}

.text-right
{
    text-align: right;
}

#breadcrumb
{
    font-size: 12px;
    font-weight: 200;

    margin: 80px 0 32px;
    padding: 0;
}
@media screen and (max-width: 768px)
{
    #breadcrumb
    {
        font-size: 2.6666666667vw;

        margin: 8vw 0 6.4vw;
    }
}
@media screen and (max-width: 768px)
{
    #breadcrumb ul
    {
        width: auto;
    }
}

.lp-breadcrumb--overlay
{
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;

    width: 100%;
}

.lp-breadcrumb--white
{
    color: #fff;
}
.lp-breadcrumb--white a
{
    color: #fff;
}

.c-heading
{
    margin-bottom: 40px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .c-heading
    {
        margin-bottom: 5.3333333333vw;
    }
}
.c-heading--left
{
    margin-bottom: 0;
}
@media screen and (min-width: 769px)
{
    .c-heading--left
    {
        text-align: left;
    }
    .c-heading--left .c-heading__en
    {
        text-align: left;
    }
    .c-heading--left .c-heading__jp
    {
        text-align: left;
    }
}
.c-heading__en
{
    font-family: 'din-2014', sans-serif;
    font-size: 60px;
    font-weight: 500;
    line-height: 1.2;

    margin: 0;

    text-align: center;
    letter-spacing: 0;

    color: #bae5ff;
}
@media screen and (max-width: 768px)
{
    .c-heading__en
    {
        font-size: 16vw;
    }
}
.c-heading__en--white
{
    color: #fff;
}
.c-heading__jp
{
    font-family: 'Zen Kaku Gothic Antique', sans-serif;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;

    letter-spacing: .05rem;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-heading__jp
    {
        font-size: 4.2666666667vw;
    }
}

.l-container
{
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 40px;
}
@media screen and (max-width: 768px)
{
    .l-container
    {
        padding: 0 5.3333333333vw;
    }
}

.index-section
{
    padding-top: 0;
    padding-bottom: 120px;
}
@media screen and (max-width: 768px)
{
    .index-section
    {
        padding-bottom: 21.3333333333vw;
    }
}

.js-spOnlySlider__list
{
    display: flex;

    gap: 10px;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .js-spOnlySlider__list
    {
        padding-top: 10.6666666667vw;

        gap: 2.6666666667vw;
    }
    .js-spOnlySlider__list .slick-list
    {
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 5.3333333333vw;
    }
    .js-spOnlySlider__list .slick-slide
    {
        padding-left: 4vw;
    }
    .js-spOnlySlider__list .slick-slide:first-child
    {
        padding-left: 5.3333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .js-spOnlySlider__item
    {
        display: block;
    }
}
.js-spOnlySlider__thumb
{
    display: block;
    overflow: hidden;

    text-decoration: none;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .js-spOnlySlider__thumb
    {
        border-radius: 1.3333333333vw;
    }
}
.js-spOnlySlider__thumb img
{
    display: block;

    width: 100%;

    transition: .4s;

    -o-object-fit: cover;

       object-fit: cover;
}
.js-spOnlySlider__thumb:hover img
{
    transform: scale(1.05);
}

.slick-arrow-base
{
    position: absolute;
    z-index: 10;
    top: -60px;

    width: 36px;
    height: 36px;

    cursor: pointer;

    border: 1px solid #000;
    border-radius: 50%;
}
@media screen and (max-width: 768px)
{
    .slick-arrow-base
    {
        top: -2.1333333333vw;

        width: 8.8vw;
        height: 8.8vw;
    }
}
.slick-arrow-base::before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 8px;
    height: 8px;

    content: '';

    border-top: 1px solid #333;
    border-right: 1px solid #333;
}
@media screen and (max-width: 768px)
{
    .slick-arrow-base::before
    {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.slick-arrow-base--prev
{
    right: 56px;
}
@media screen and (max-width: 768px)
{
    .slick-arrow-base--prev
    {
        right: 12.8vw;
    }
}
.slick-arrow-base--prev::before
{
    transform: translate(-30%, -50%) rotate(-135deg);
}
.slick-arrow-base--next
{
    right: 0;
}
.slick-arrow-base--next::before
{
    transform: translate(-70%, -50%) rotate(45deg);
}
.slick-arrow-base.slick-disabled
{
    pointer-events: none;

    opacity: .3;
}

#Head
{
    background-color: #fff;
}

.js-searchHome
{
    display: contents;
}

.header
{
    position: relative;
}
.header__inner
{
    position: fixed;
    z-index: 20;
    top: 0;
    left: 0;

    display: flex;

    width: 100%;
    padding: clamp(17px, 2vw, 24px) clamp(37px, 4vw, 50px) 0;

    transition: .5s;

    background: #fff;

    align-items: center;
    justify-content: space-between;
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .header__inner
    {
        padding: 2.1333333333vw 5.3333333333vw .5333333333vw 5.3333333333vw;

        gap: 2.1333333333vw;
    }
}
@media screen and (min-width: 769px)
{
    .header__inner > *
    {
        min-width: 0;
    }
}
@media screen and (min-width: 769px)
{
    .header__inner .header__tel,
    .header__inner .header__utility-item--cart
    {
        flex: 0 0 auto;
    }
}
.header__inner::before
{
    position: absolute;
    z-index: 99;
    top: 100%;
    bottom: 0;
    left: 50%;

    width: 100%;
    height: 100px;

    content: '';
    transform: translateX(-50%);
    pointer-events: none;

    background: url('../img/common/bg-mega-wave.png') no-repeat bottom center;
    background-size: 100% auto;
}
@media screen and (max-width: 768px)
{
    .header__inner::before
    {
        bottom: 0vw;

        height: 14.6666666667vw;

        background: url('../img/common/bg-mega-wave_sp.png') no-repeat -1px center/100% auto;
    }
}
@media screen and (min-width: 1500px)
{
    .header__inner::before
    {
        top: 100%;
        bottom: 0;

        height: 6.5vw;
    }
}
.header.hide
{
    top: -100%;

    transition: 1s;
}
.header__logo
{
    display: flex;
    flex-direction: column;

    align-items: flex-start;
    gap: 16px;
}
.header__logo img
{
    width: 214px;
}
@media screen and (max-width: 768px)
{
    .header__logo img
    {
        width: 28vw;
    }
}
@media screen and (min-width: 769px)
{
    .header__logo a
    {
        display: inline-block;
    }
}
.header__badge
{
    font-size: 12px;
    font-weight: 400;

    display: inline-flex;

    width: 100%;
    height: 28px;
    margin-top: 0;
    padding: 0 14px;

    text-align: center;
    white-space: nowrap;

    color: #828282;
    border: 1px solid #828282;
    border-radius: 5px;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .header__badge
    {
        display: none;

        border-radius: 1.3333333333vw;
    }
}
.header__nav
{
    display: flex;
    flex-direction: column-reverse;

    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
}
@media screen and (max-width: 768px)
{
    .header__nav
    {
        flex-direction: row;

        flex: none;
        align-items: center;
        gap: 4.2666666667vw;
        justify-content: flex-end;
    }
}
.header__menu
{
    font-size: 14px;

    display: flex;

    flex-wrap: wrap;
    gap: 16px 19px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .header__menu
    {
        display: none;
    }
}
.header__menu .has-child
{
    position: relative;

    padding-right: 16px;

    cursor: pointer;
}
@media screen and (max-width: 768px)
{
    .header__menu .has-child
    {
        padding-right: 4.2666666667vw;
    }
}
.header__menu .has-child::after
{
    position: absolute;
    top: 4px;
    right: 0;

    width: 8px;
    height: 8px;

    content: '';
    transform: rotate(45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .header__menu .has-child::after
    {
        top: 1.0666666667vw;

        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.header__menu .has-child.is-active::after
{
    top: 10px;

    transform: rotate(-135deg);
}
@media screen and (max-width: 768px)
{
    .header__menu .has-child.is-active::after
    {
        top: 2.6666666667vw;
    }
}
.header__menuItem--icon a img
{
    width: 20px;
    height: 20px;
}
.header__menu-child
{
    position: absolute;
    z-index: 0;
    top: 100%;
    left: 0;

    display: none;

    width: 100%;
    padding: 82px 0 70px;

    background-color: #fff;
}
@media screen and (max-width: 768px)
{
    .header__menu-child
    {
        position: static;

        padding: 0;
    }
}
.header__menu-child .common-container
{
    display: flex;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .header__menu-child .common-container
    {
        width: 100%;
        padding: 0;
    }
}
.header__mega
{
    display: grid;

    max-width: 620px;

    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
}
@media screen and (max-width: 768px)
{
    .header__mega
    {
        width: 100%;
        padding: 2.6666666667vw 5.3333333333vw 0;

        grid-template-columns: 1fr;
        gap: 5.3333333333vw;
    }
}
.header__megaCard
{
    display: block;

    text-decoration: none;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .header__megaCard
    {
        padding-bottom: 2.6666666667vw;
    }
}
.header__megaCard:hover
{
    opacity: .6;
}
@media screen and (max-width: 768px)
{
    .header__megaCard:first-child
    {
        border-bottom: 1px solid #fff;
    }
}
.header__megaHead
{
    display: flex;

    align-items: center;
}
@media screen and (min-width: 769px)
{
    .header__megaHead
    {
        min-height: 43px;
    }
}
.header__megaLogo
{
    display: block;

    width: auto;
    height: 34px;
}
@media screen and (max-width: 768px)
{
    .header__megaLogo
    {
        height: 7.2vw;
    }
}
.header__megaLogo--kazoku
{
    height: 43px;
}
@media screen and (max-width: 768px)
{
    .header__megaLogo--kazoku
    {
        height: 9.3333333333vw;
    }
}
.header__megaLead
{
    font-size: 12px;
    line-height: 1.6;

    margin: 18px 0 0;

    text-align: left;
    letter-spacing: .1em;
}
@media screen and (max-width: 768px)
{
    .header__megaLead
    {
        font-size: 3.2vw;
        font-weight: 300;

        margin: 2.6666666667vw 0 0;
    }
}
.header__megaRule
{
    width: 100%;
    height: 1px;
    margin: 20px 0 0;

    background: #828282;
}
@media screen and (max-width: 768px)
{
    .header__megaRule
    {
        margin: 2.6666666667vw 0 0;
    }
}
.header__megaTitle
{
    font-size: 14px;
    line-height: 2.2;

    margin: 20px 0 0;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .header__megaTitle
    {
        font-size: 3.7333333333vw;
        font-weight: 400;

        margin: 2.6666666667vw 0 0;
    }
}
.header__item
{
    display: grid;

    grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 769px)
{
    .header__item
    {
        gap: 16px 40px;
    }
}
.header__item > li
{
    border-bottom: 1px solid #ccc;
}
.header__item a
{
    display: flex;

    padding-bottom: 16px;

    align-items: center;
    gap: 16px;
}
.header__item a span
{
    flex: 1;
}
.header__utility
{
    display: flex;

    align-items: center;
    gap: clamp(4px, .77vw, 10px);
}
@media screen and (max-width: 768px)
{
    .header__utility
    {
        gap: 4vw;
    }
}
@media screen and (min-width: 769px)
{
    .header__utility .search
    {
        display: none;
    }
}
.header__utility-item--cart .header__cartLink
{
    display: inline-flex;
    flex-direction: column;

    text-decoration: none;

    color: #828282;

    align-items: center;
    gap: 0;
}
.header__utility-item--cart .header__cartLink img
{
    width: 39px;
    height: 39px;
}
@media screen and (max-width: 768px)
{
    .header__utility-item--cart .header__cartLink img
    {
        width: 9.3333333333vw;
        height: 9.3333333333vw;
    }
}
.header__utility-item--cart .header__cartText
{
    font-size: 12px;
    line-height: 1;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .header__utility-item--cart .header__cartText
    {
        font-size: 2.6666666667vw;
    }
}
.header__tel
{
    display: flex;
    flex-direction: column;

    margin-right: clamp(4px, 1.5vw, 18px);

    gap: 4px;
}
@media screen and (max-width: 768px)
{
    .header__tel
    {
        display: none;
    }
}
.header__telNum
{
    font-size: 28px;
    font-weight: 700;

    display: inline-flex;

    text-decoration: none;
    letter-spacing: .02em;
    pointer-events: none;

    color: #6cc7ff;

    align-items: baseline;
    gap: 6px;
}
.header__telNum:hover
{
    opacity: 1;
    color: #6cc7ff;
}
.header__telNote
{
    font-size: 12px;

    color: #2c2c2c;
}
.header__telIcon
{
    width: 30px;
    height: 20px;

    filter: brightness(0) saturate(100%) invert(83%) sepia(20%) saturate(5075%) hue-rotate(176deg) brightness(103%) contrast(101%);
}
.header__btn
{
    font-size: 16px;

    display: inline-flex;

    height: 42px;
    padding: 0 24px;

    white-space: nowrap;
    text-decoration: none;

    border-radius: 999px;

    align-items: center;
    justify-content: center;
    gap: 4px;
}
@media screen and (max-width: 768px)
{
    .header__btn
    {
        font-size: 3.2vw;

        flex-direction: column;

        height: auto;
        padding: 0;

        border-radius: 1.3333333333vw;
    }
}
.header__btnIcon
{
    width: 26px;
    height: 26px;
}
@media screen and (max-width: 768px)
{
    .header__btnIcon
    {
        width: 9.3333333333vw;
        height: 9.3333333333vw;
    }
}
.header__btn--ghost
{
    color: #2c2c2c;
    border: 2px solid #f7f0e2;
    background: #f7f0e2;
}
.header__btn--ghost:visited
{
    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .header__btn--ghost
    {
        font-size: 2.6666666667vw;

        border: none;
        background-color: transparent;
    }
}
.header__btn--ghost:hover
{
    opacity: 1;
    border-color: #f7f0e2;
    background-color: transparent;
}
.header__btn--cta
{
    color: #fff;
    border: 2px solid #c91c37;
    background: #c91c37;

    padding-inline: 38px;
}
.header__btn--cta:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .header__btn--cta
    {
        line-height: 1.3;

        padding: 2.1333333333vw;

        text-align: center;
    }
}
.header__btn--cta:hover
{
    color: #c91c37;
    border-color: #c91c37;
    background-color: transparent;
}
.header__btn--cta:hover .header__btnIcon
{
    filter: brightness(0) saturate(100%) invert(12%) sepia(82%) saturate(3904%) hue-rotate(341deg) brightness(103%) contrast(93%);
}
.header__btn--cta .header__btnIcon
{
    width: 22px;
    height: 22px;
}
@media screen and (max-width: 768px)
{
    .header__btn--cta .header__btnIcon
    {
        display: none;
    }
}
@media screen and (max-width: 768px)
{
    .header .header__cartimg
    {
        width: 9.3333333333vw;
        height: 9.3333333333vw;
    }
}
@media screen and (min-width: 769px)
{
    .header .hamburger-menu
    {
        display: none;
    }
}

#HeadSearch
{
    position: relative;

    float: none;

    width: 213px;
    height: auto;
    padding: 0;
}
@media screen and (max-width: 768px)
{
    #HeadSearch
    {
        width: 100%;
        padding: 4.2666666667vw;

        background: #fff;
    }
}

#HeadSearch .wrapSearch,
#HeadSearch .textBox
{
    width: 100%;
}

#HeadSearch .textBox input
{
    font-size: 12px;

    width: 100%;
    height: 40px;
    padding: 0 44px 0 16px;

    color: #2c2c2c;
    border: 1px solid #2c2c2c;
    border-radius: 999px;
}
@media screen and (max-width: 768px)
{
    #HeadSearch .textBox input
    {
        font-size: 3.2vw;

        height: 10.6666666667vw;
        padding: 0 11.7333333333vw 0 4.2666666667vw;
    }
}
#HeadSearch .textBox input::-moz-placeholder
{
    color: #828282;
}
#HeadSearch .textBox input:-ms-input-placeholder
{
    color: #828282;
}
#HeadSearch .textBox input::placeholder
{
    color: #828282;
}

#HeadSearch .textBox input::-webkit-input-placeholder
{
    color: #999;
}

#HeadSearch .btnSearch
{
    line-height: 0;

    position: absolute;
    top: 50%;
    right: 24px;

    width: auto;

    transform: translateY(-50%);
}
@media screen and (max-width: 768px)
{
    #HeadSearch .btnSearch
    {
        right: 10.6666666667vw;
    }
}

#HeadSearch .btnSearch a
{
    display: inline-block;
}

#HeadSearch .btnSearch a img
{
    width: 16px;
}

#HeadCartView
{
    position: relative;

    float: none;

    width: auto;
    height: auto;
    margin: 0 18px 0 8px;
    padding: 0;
}
@media screen and (max-width: 768px)
{
    #HeadCartView
    {
        margin: 0vw 0vw 0vw 2.1333333333vw;
    }
}
#HeadCartView .num
{
    font-size: 10px;

    position: absolute;
    top: 2px;
    right: -2px;

    display: flex;

    width: 16px;
    height: 16px;

    color: #fff;
    border-radius: 50%;
    background-color: #c91c37;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    #HeadCartView .num
    {
        font-size: 2.6666666667vw;

        top: .5333333333vw;
        right: -.5333333333vw;

        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
#HeadCartView .menu
{
    position: absolute;
    z-index: 1;
    top: calc(100% + 16px);
    right: 0;

    min-width: 220px;

    border-radius: 5px;
    background-color: #f0f0f0;
}
@media screen and (max-width: 768px)
{
    #HeadCartView .menu
    {
        display: none !important;
    }
}
#HeadCartView .dvMiniCart
{
    background: none;
}

#HeadCartView > a
{
    line-height: 1;

    height: auto;
}

.dvMiniCart
{
    padding: 8px;

    border-radius: 5px;
}
.dvMiniCart .miniCart
{
    display: flex;

    margin: 16px 0;

    gap: 16px;
}
.dvMiniCart .miniCart__img
{
    width: 30%;
}
.dvMiniCart .miniCart__text
{
    flex: 1;
}

.dvMiniCart ul li.productInfo .productName,
.dvMiniCart ul li.productInfo .productPrice
{
    display: block;
    float: none;

    width: 200px;
    margin-bottom: 4px;
}

@media screen and (max-width: 768px)
{
    .hamburger-menu .menu-trigger
    {
        position: relative;

        width: 8.5333333333vw;
        height: 8.5333333333vw;
    }
    .hamburger-menu .menu-trigger span
    {
        position: absolute;
        left: 50%;

        width: 6.4vw;
        height: .5333333333vw;

        transition: .3s ease;
        transform: translateX(-50%);

        border-radius: .5333333333vw;
        background: #333;
    }
    .hamburger-menu .menu-trigger span:first-child
    {
        top: 1.3333333333vw;
    }
    .hamburger-menu .menu-trigger span:nth-child(2)
    {
        top: 4vw;
    }
    .hamburger-menu .menu-trigger span:last-child
    {
        top: 6.6666666667vw;
    }
    .hamburger-menu .menu-trigger.active span:first-child
    {
        top: 50%;

        transform: translate(-50%, -50%) rotate(45deg);
    }
    .hamburger-menu .menu-trigger.active span:nth-child(2)
    {
        opacity: 0;
    }
    .hamburger-menu .menu-trigger.active span:last-child
    {
        top: 50%;

        transform: translate(-50%, -50%) rotate(-45deg);
    }
    .hamburger-menu .menu-content
    {
        position: fixed;
        z-index: 98;
        top: 16vw;
        left: 0;

        visibility: hidden;
        overflow-y: auto;

        width: 100%;
        height: calc(100% - 16vw);
        padding: 4.8vw 4.2666666667vw 6.4vw;

        transition: transform .28s ease, opacity .28s ease;
        transform: translateY(-4.2666666667vw);
        pointer-events: none;

        opacity: 0;
        background: #fff;

        -webkit-overflow-scrolling: touch;
    }
    .hamburger-menu .menu-content.open
    {
        visibility: visible;

        transform: translateY(0);
        pointer-events: auto;

        opacity: 1;
    }
    .hamburger-menu .menu-content #HeadSearch
    {
        margin: 4.8vw auto;
    }
    .hamburger-menu .menu-content #HeadSearch .wrapSearch
    {
        position: relative;

        display: flex;

        padding: 1.0666666667vw 3.7333333333vw;

        border: 1px solid rgba(0, 0, 0, .35);
        border-radius: 999px;
        background: #fff;

        align-items: center;
        gap: 2.1333333333vw;
    }
    .hamburger-menu .menu-content #HeadSearch .textBox
    {
        flex: 1;
    }
    .hamburger-menu .menu-content #HeadSearch .textBox input
    {
        font-size: 3.7333333333vw;

        width: 100%;

        border: 0;
        outline: none;
        background: transparent;
    }
    .hamburger-menu .menu-content #HeadSearch .btnSearch a
    {
        display: grid;

        width: 7.4666666667vw;
        height: 7.4666666667vw;

        place-items: center;
    }
    .hamburger-menu .menu-content #HeadSearch .btnSearch img
    {
        width: 6.4vw;
        height: 6.4vw;
    }
    .hamburger-menu .menu-content .header__menu
    {
        display: grid;

        width: 100%;
        margin: 0;
        padding: 10.6666666667vw 0 0 0;

        list-style: none;

        border-top: 0;

        gap: 2.6666666667vw;
    }
    .hamburger-menu .menu-content .header__menu > li
    {
        border-bottom: 0;
        border-radius: 1.0666666667vw;
        background: #eaf6ff;
    }
    .hamburger-menu .menu-content .header__menu > li > a
    {
        font-size: 3.7333333333vw;
        line-height: 1.6;

        display: flex;

        padding: 3.2vw 5.3333333333vw;

        text-decoration: none;

        align-items: center;
        justify-content: space-between;
    }
    .hamburger-menu .menu-content .header__menu-child
    {
        padding: 0vw 0 2.1333333333vw;

        border-radius: 2.6666666667vw;
        background: #e9f7ff;
    }
    .hamburger-menu .menu-content > div > ul
    {
        display: flex;

        margin: 10.6666666667vw 0;
        padding: 0;

        list-style: none;

        justify-content: center;
        gap: 11.2vw;
    }
    .hamburger-menu .menu-content > div > ul img
    {
        width: 7.7333333333vw;
        height: 7.7333333333vw;
    }
    .hamburger-menu .menu-content .header__tel
    {
        display: block;

        margin: 0;

        text-align: center;
    }
    .hamburger-menu .menu-content .header__tel .header__telNum
    {
        font-size: 8.5333333333vw;
        font-weight: 700;

        display: inline-flex;

        pointer-events: auto;

        color: #6cc7ff;

        align-items: center;
        gap: 2.6666666667vw;
        text-underline-offset: 1.6vw;
    }
    .hamburger-menu .menu-content .header__tel .header__telIcon
    {
        width: 11.7333333333vw;
        height: 7.4666666667vw;
    }
    .hamburger-menu .menu-content .header__tel .header__telNote
    {
        font-size: 3.7333333333vw;

        margin-top: 2.6666666667vw;
    }
    .hamburger-menu .btn-wrap
    {
        margin-top: 0;
        padding: 8.5333333333vw 4.2666666667vw;
    }
    .hamburger-menu .header__menu .has-child
    {
        display: block;

        width: 100%;
        padding: 3.2vw 4.2666666667vw;
    }
    .hamburger-menu .header__menu .has-child::after
    {
        top: 4.8vw;
        right: 4.2666666667vw;
    }
    .hamburger-menu .header__menu .has-child.is-active::after
    {
        top: 4.2666666667vw;
    }
    .hamburger-menu .header__item
    {
        margin-top: 0;

        grid-template-columns: 1fr;
    }
    .hamburger-menu .header__item > li
    {
        border-top: 1px solid #ddd;
        border-bottom: none;
    }
    .hamburger-menu .header__item a
    {
        padding: 2.1333333333vw 4.2666666667vw;

        gap: 2.1333333333vw;
    }
    .hamburger-menu .header__category
    {
        margin-top: 0;

        grid-template-columns: 1fr;
        gap: 0;
    }
    .hamburger-menu .header__category li
    {
        display: block;

        padding-bottom: 0;

        border-bottom: none;
    }
    .hamburger-menu .header__category-parent
    {
        display: none;
    }
    .hamburger-menu .header__category-list
    {
        display: block;
    }
    .hamburger-menu .header__category-list a
    {
        position: relative;

        display: flex;

        padding: 3.2vw 4.2666666667vw;

        border-right: none;
        border-bottom: 1px solid rgba(0, 0, 0, .1);

        align-items: center;
        gap: 2.1333333333vw;
    }
    .hamburger-menu .header__category-list a:not(.header__category-parent)
    {
        padding-left: 14.9333333333vw;
    }
    .hamburger-menu .header__category-list a:not(.header__category-parent)::before
    {
        position: absolute;
        top: 4.2666666667vw;
        left: 8.5333333333vw;

        width: 2.1333333333vw;
        height: 2.1333333333vw;

        content: '';

        border-bottom: 1px solid #333;
        border-left: 1px solid #333;
    }
    .hamburger-menu .menu-content__list li
    {
        padding: 0 4.2666666667vw;

        border-bottom: 1px solid #333;
    }
    .hamburger-menu .menu-content__list li a
    {
        font-size: 4.2666666667vw;

        display: block;

        padding-top: 3.2vw;
        padding-bottom: 3.2vw;
    }
}
.mv
{
    position: relative;

    height: 610px;
}
@media screen and (max-width: 768px)
{
    .mv
    {
        height: 141.3333333333vw;
    }
}
.mv::after
{
    position: absolute;
    z-index: 4;
    bottom: -1%;
    left: 0;

    width: 100%;
    height: 50px;

    content: '';
    pointer-events: none;

    background: url('../img/common/bg-wave.png') no-repeat top center;
    background-size: cover;

    aspect-ratio: 2800/565;
}
@media screen and (min-width: 1500px)
{
    .mv::after
    {
        height: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .mv::after
    {
        height: 13.3333333333vw;
    }
}
.mv__slider
{
    position: relative;
    z-index: 1;
}
.mv .mv__slider a:hover
{
    opacity: 1;
}
.mv .mv__slider img
{
    display: block;

    width: 100%;
    height: 610px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .mv .mv__slider img
    {
        height: 141.3333333333vw;
    }
}
.mv__dots
{
    position: absolute;
    z-index: 10;
    bottom: -32px;
    left: 50%;

    display: inline-flex;

    width: auto;

    transform: translateX(-50%);

    align-items: center;
    justify-content: center;
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .mv__dots
    {
        bottom: -2.1333333333vw;

        gap: 4.2666666667vw;
    }
}
.mv__dots .slick-arrow
{
    position: static;

    width: 10px;
    height: 10px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: 0;
    background: transparent;
}
@media screen and (max-width: 768px)
{
    .mv__dots .slick-arrow
    {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.mv__dots .slick-arrow::before
{
    display: block;

    width: 10px;
    height: 10px;
    margin: 0 auto;

    content: '';

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .mv__dots .slick-arrow::before
    {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.mv__dots .slick-prev::before
{
    transform: rotate(135deg);
}
.mv__dots .slick-next::before
{
    transform: rotate(-45deg);
}
.mv__dots .slick-dots
{
    position: static;

    display: flex !important;

    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;

    align-items: center;
    justify-content: center !important;
    gap: 9px;
    order: 2;
}
@media screen and (max-width: 768px)
{
    .mv__dots .slick-dots
    {
        gap: 2.4vw;
    }
}
.mv__dots .slick-prev
{
    order: 1;
}
.mv__dots .slick-next
{
    order: 3;
}
.mv__dots .slick-dots li
{
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;

    flex: 0 0 auto !important;
}
.mv__dots .slick-dots li button
{
    font-size: 0;
    line-height: 0;

    width: 8px;
    height: 8px;
    padding: 0;

    cursor: pointer;

    color: transparent;
    border: 0;
    border-radius: 999px;
    background: rgba(44, 44, 44, .18);
}
@media screen and (max-width: 768px)
{
    .mv__dots .slick-dots li button
    {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.mv__dots .slick-dots li button::before
{
    content: none !important;
}
.mv__dots .slick-dots li.slick-active button
{
    position: relative;
    bottom: 1px;

    width: 10px;
    height: 10px;

    background: #6cc7ff;
}
@media screen and (max-width: 768px)
{
    .mv__dots .slick-dots li.slick-active button
    {
        bottom: .2666666667vw;

        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.mv__content
{
    position: absolute;
    z-index: 2;

    display: flex;
    flex-direction: column;

    height: 100%;
    padding-bottom: 100px;

    pointer-events: none;

    color: #fff;

    inset: 0;
    justify-content: center;
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .mv__content
    {
        padding: 0 0 21.3333333333vw;
    }
}
.mv__title
{
    font-size: 40px;
    font-weight: 100;
    line-height: 1.6;

    margin-bottom: 20px;

    letter-spacing: .05rem;
}
@media screen and (max-width: 768px)
{
    .mv__title
    {
        font-size: 8.5333333333vw;

        margin-bottom: 5.3333333333vw;
    }
}
.mv__sub
{
    font-size: 24px;
    font-weight: 300;
    line-height: 1.6;

    letter-spacing: .05rem;
}
@media screen and (max-width: 768px)
{
    .mv__sub
    {
        font-size: 4.8vw;
    }
}

.index-campaign
{
    padding-top: 92px;
    padding-bottom: 0;
}
@media screen and (max-width: 768px)
{
    .index-campaign
    {
        padding-top: 21.3333333333vw;
        padding-bottom: 0vw;
    }
}
.index-campaign__list
{
    display: flex;

    gap: 10px;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-campaign__list
    {
        padding-top: 10.6666666667vw;

        gap: 2.6666666667vw;
    }
    .index-campaign__list .slick-list
    {
        margin-right: -20px;
        margin-left: -20px;
        padding-right: 5.3333333333vw;
    }
    .index-campaign__list .slick-slide
    {
        padding-left: 4vw;
    }
    .index-campaign__list .slick-slide:first-child
    {
        padding-left: 5.3333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .index-campaign__item
    {
        display: block;
    }
}
.index-campaign__thumb
{
    display: block;
    overflow: hidden;

    text-decoration: none;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .index-campaign__thumb
    {
        border-radius: 1.3333333333vw;
    }
}
.index-campaign__thumb img
{
    display: block;

    width: 100%;

    transition: .4s;

    -o-object-fit: cover;

       object-fit: cover;
}
.index-campaign__thumb:hover img
{
    transform: scale(1.05);
}

.index-about
{
    padding-top: 92px;
    padding-bottom: 162px;
}
@media screen and (max-width: 768px)
{
    .index-about
    {
        padding-top: 21.3333333333vw;
        padding-bottom: 26.6666666667vw;
    }
}
.index-about__lead
{
    text-align: center;
}
.index-about__lead p
{
    font-size: 16px;
    line-height: 1.92;

    margin: 0 auto;

    text-align: center;

    color: rgba(0, 0, 0, .8);
}
@media screen and (max-width: 768px)
{
    .index-about__lead p
    {
        font-size: 3.7333333333vw;
    }
}
.index-about__cards
{
    display: grid;

    margin-top: 112px;

    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .index-about__cards
    {
        margin-top: 21.3333333333vw;

        grid-template-columns: 1fr;
        gap: 3.7333333333vw;
    }
}
.index-about__card
{
    position: relative;

    display: grid;

    padding: 0 40px 32px;

    text-decoration: none;

    color: inherit;
    border-radius: 5px;
    background: rgba(219, 241, 255, .6);
}
@media screen and (max-width: 768px)
{
    .index-about__card
    {
        padding: 0vw 0vw 5.3333333333vw 6.4vw;

        border-radius: 1.3333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .index-about__card--kazoku
    {
        margin-top: 18.6666666667vw;
    }
}
.index-about__card:hover
{
    opacity: .95;
}
.index-about__header
{
    display: grid;

    margin-top: -15%;

    grid-template-columns: 1fr 2fr;
    align-items: end;
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .index-about__header
    {
        margin-top: -13.3333333333vw;

        grid-template-columns: 1.25fr 2fr;
        gap: 4.2666666667vw;
    }
}
.index-about__product
{
    width: 190px;
}
@media screen and (max-width: 768px)
{
    .index-about__product
    {
        width: 37.3333333333vw;
    }
}
.index-about__brand
{
    display: flex;
    flex-direction: column;

    max-width: 291px;
}
@media screen and (max-width: 768px)
{
    .index-about__brand
    {
        width: 100%;

        align-items: flex-start;
    }
}
.index-about__logo
{
    display: block;

    width: auto;
    height: 56px;
}
@media screen and (max-width: 768px)
{
    .index-about__logo
    {
        width: 90%;
        height: auto;
    }
}
.index-about__catch
{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;

    margin: 16px 0 0;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .index-about__catch
    {
        font-size: 3.7333333333vw;

        margin: 3.2vw 0 0;
    }
}
.index-about__body
{
    display: flex;
    flex-direction: column;

    justify-content: space-between;
    margin-block: 16px;
}
@media screen and (max-width: 768px)
{
    .index-about__body
    {
        margin: 4.2666666667vw 5.3333333333vw 5.3333333333vw 0vw;
    }
}
.index-about .c-link--more
{
    margin: auto 0 0 auto;
}
@media screen and (max-width: 768px)
{
    .index-about .c-link--more
    {
        margin-right: 5.3333333333vw;
    }
}
.index-about__list
{
    padding: 0;

    list-style: none;
}
.index-about__list li
{
    font-size: 16px;
    line-height: 2;

    position: relative;

    padding-left: 18px;

    letter-spacing: .02em;

    color: rgba(0, 0, 0, .8);
}
@media screen and (max-width: 768px)
{
    .index-about__list li
    {
        font-size: 3.7333333333vw;
        line-height: 1.72;

        padding-left: 4.8vw;
    }
}
.index-about__list li::before
{
    position: absolute;
    top: 0;
    left: 0;

    content: '—';

    color: #828282;
}
.index-about__more
{
    font-size: 12px;

    display: flex;

    margin-top: 18px;

    letter-spacing: .04em;

    color: #828282;

    justify-content: flex-end;
    align-items: center;
    gap: 10px;
}
.index-about__more::after
{
    font-size: 16px;
    line-height: 1;

    content: '›';
    transform: translateY(-1px);
}
@media screen and (max-width: 768px)
{
    .index-about__more
    {
        font-size: 3.2vw;

        margin-top: 3.7333333333vw;

        gap: 2.6666666667vw;
    }
    .index-about__more::after
    {
        font-size: 4.2666666667vw;
    }
}
.index-about__card--kazoku .about__product
{
    left: 18px;
}
@media screen and (max-width: 768px)
{
    .index-about__card--kazoku .about__product
    {
        left: 3.2vw;
    }
}
.index-about__card--kazoku .index-about__catch
{
    margin-top: 0;
}
@media screen and (max-width: 768px)
{
    .index-about__card--kazoku .index-about__logo
    {
        width: 100%;
    }
}

.index-feature
{
    position: relative;

    padding: 22px 0 46px;

    background: #dbf1ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .index-feature
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .index-feature
    {
        --wave-offset: 5.3333333333vw;
    }
}
.index-feature::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .index-feature::before
    {
        height: 5.3333333333vw;
    }
}
.index-feature::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .index-feature::after
    {
        height: 5.3333333333vw;
    }
}
.index-feature > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .index-feature
    {
        padding: 5.3333333333vw 0vw 5.3333333333vw;
    }
}
@media screen and (min-width: 769px)
{
    .index-feature__cards
    {
        display: grid;

        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}
@media screen and (max-width: 768px)
{
    .index-feature__cards
    {
        margin-right: -5.3333333333vw;
        padding-top: 10.6666666667vw;
    }
    .index-feature__cards .slick-list
    {
        height: auto;
        padding-right: 2.6666666667vw;
    }
    .index-feature__cards .slick-slide
    {
        margin-right: 2.6666666667vw;
    }
}
.index-feature__card
{
    display: block;

    padding: 20px 18px 30px 18px;

    text-decoration: none;

    color: #2c2c2c;
    border-radius: 5px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .index-feature__card
    {
        display: flex;
        flex-direction: column;

        width: 100%;
        height: 100%;
        padding: 5.3333333333vw 5.3333333333vw 6.4vw;

        border-radius: 1.3333333333vw;
    }
}
.index-feature__thumb
{
    overflow: hidden;

    border-radius: 4px;
}
@media screen and (max-width: 768px)
{
    .index-feature__thumb
    {
        border-radius: 1.0666666667vw;
    }
}
.index-feature__thumb img
{
    display: block;

    width: 100%;
    height: 160px;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .index-feature__thumb img
    {
        height: 48vw;
    }
}
.index-feature__title
{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;

    margin: 20px 0 0;

    text-align: center;
    letter-spacing: .02em;
}
@media screen and (max-width: 768px)
{
    .index-feature__title
    {
        font-size: 4.2666666667vw;

        margin-top: 5.3333333333vw;
    }
}
.index-feature__text
{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;

    margin: 10px 0 0;
}
@media screen and (max-width: 768px)
{
    .index-feature__text
    {
        font-size: 3.7333333333vw;

        margin-top: 2.6666666667vw;

        flex: 1;
    }
}
.index-feature__cta
{
    display: flex;

    margin-top: 60px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-feature__cta
    {
        margin-top: 10.6666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .index-feature .feature-arrow
    {
        margin-right: 5.3333333333vw;
    }
}

.index-price
{
    padding: 122px 0 138px;
}
@media screen and (max-width: 768px)
{
    .index-price
    {
        padding: 21.3333333333vw 0 32vw;
    }
}
.index-price__tabs
{
    margin-top: 32px;
}
@media screen and (max-width: 768px)
{
    .index-price__tabs
    {
        margin-top: 6.4vw;
    }
}
.index-price__tabInput
{
    position: absolute !important;

    pointer-events: none;

    opacity: 0;
}
.index-price__tabList
{
    display: grid;

    max-width: 580px;
    margin: 0 auto;

    border-bottom: 3px solid #e7e7e7;

    grid-template-columns: 1fr 1fr;
    align-items: end;
}
@media screen and (max-width: 768px)
{
    .index-price__tabList
    {
        max-width: 100%;
    }
}
.index-price__tab
{
    font-size: 18px;
    font-weight: 400;

    position: relative;

    padding: 14px 10px 12px;

    cursor: pointer;
    text-align: center;
    letter-spacing: .06em;

    color: #828282;
}
@media screen and (max-width: 768px)
{
    .index-price__tab
    {
        font-size: 3.7333333333vw;

        padding: 3.7333333333vw 0vw 3.2vw;
    }
}
.index-price #priceTabServer:checked ~ .index-price__tabList label[for=priceTabServer],
.index-price #priceTabPet:checked ~ .index-price__tabList label[for=priceTabPet]
{
    font-size: 20px;
    font-weight: 700;

    color: #6cc7ff;
}
@media screen and (max-width: 768px)
{
    .index-price #priceTabServer:checked ~ .index-price__tabList label[for=priceTabServer],
    .index-price #priceTabPet:checked ~ .index-price__tabList label[for=priceTabPet]
    {
        font-size: 4.8vw;

        letter-spacing: 0;
    }
}
.index-price #priceTabServer:checked ~ .index-price__tabList label[for=priceTabServer]::after,
.index-price #priceTabPet:checked ~ .index-price__tabList label[for=priceTabPet]::after
{
    position: absolute;
    bottom: -3px;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';

    background: #6cc7ff;
}
.index-price__tabPanels
{
    line-height: 1.4;

    margin-top: 45px;
}
@media screen and (max-width: 768px)
{
    .index-price__tabPanels
    {
        margin-top: 10.6666666667vw;
    }
}
.index-price__panel
{
    display: none;
}
.index-price .index-price__panel--pet .index-price__merits
{
    grid-template-columns: repeat(1, 1fr);
}
.index-price #priceTabServer:checked ~ .index-price__tabPanels .index-price__panel--server
{
    display: block;
}
.index-price #priceTabPet:checked ~ .index-price__tabPanels .index-price__panel--pet
{
    display: block;
}
.index-price__title
{
    font-size: 24px;
    font-weight: 400;

    margin-bottom: 20px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .index-price__title
    {
        font-size: 5.3333333333vw;

        margin-bottom: 2.6666666667vw;
    }
}
.index-price__text
{
    font-size: 16px;

    margin-bottom: 24px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .index-price__text
    {
        font-size: 3.7333333333vw;

        margin-bottom: 4.8vw;
    }
}
.index-price__note
{
    font-size: 24px;
    font-weight: 400;

    margin-bottom: 56px;

    text-align: center;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .index-price__note
    {
        font-size: 4.8vw;

        margin-bottom: 7.4666666667vw;
    }
}
.index-price__noteStrong
{
    color: #ff807f;
}
.index-price__merits
{
    display: grid;

    max-width: 570px;
    margin: 56px auto 60px;
    padding: 0;

    list-style: none;

    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .index-price__merits
    {
        max-width: 100%;
        margin-top: 0vw;
        margin-bottom: 10.6666666667vw;

        grid-template-columns: 1fr 1fr 1fr 1.4fr;
        gap: 1.0666666667vw;
    }
}
.index-price__merit
{
    display: grid;

    text-align: center;

    justify-items: center;
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .index-price__merit
    {
        gap: 1.6vw;
    }
}
.index-price__meritIcon
{
    width: auto;
    max-width: 90px;
    height: 70px;

    -o-object-fit: contain;

       object-fit: contain;
}
@media screen and (max-width: 768px)
{
    .index-price__meritIcon
    {
        max-width: 14.6666666667vw;
        height: 12.8vw;
    }
}
.index-price__meritText
{
    font-size: 16px;
    line-height: 1.5;

    letter-spacing: .06em;

    color: #6cc7ff;
}
@media screen and (max-width: 768px)
{
    .index-price__meritText
    {
        font-size: 3.4666666667vw;
    }
}
.index-price__cards
{
    display: grid;

    max-width: 900px;
    margin: 0 auto;

    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .index-price__cards
    {
        max-width: 100%;

        grid-template-columns: 1fr;
        gap: 3.7333333333vw;
    }
}
.index-price__card
{
    padding: 40px;

    border-radius: 5px;
    background: #fafafa;
}
@media screen and (max-width: 768px)
{
    .index-price__card
    {
        padding: 9.0666666667vw 4.2666666667vw;

        border-radius: 1.3333333333vw;
    }
}
.index-price__cardHead
{
    display: flex;

    align-items: baseline;
}
.index-price__size
{
    font-size: 24px;
    font-weight: 200;
    line-height: 1;

    display: inline-flex;

    min-width: 83px;
    padding: 5px 8px;

    letter-spacing: 0;

    color: #fff;
    border-radius: 5px;
    background: rgba(108, 199, 255, .8);

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-price__size
    {
        font-size: 4.8vw;

        min-width: 17.3333333333vw;
        padding: 1.3333333333vw 1.0666666667vw;

        border-radius: 1.3333333333vw;
    }
}
.index-price__set
{
    font-size: 18px;

    margin-left: auto;
}
@media screen and (max-width: 768px)
{
    .index-price__set
    {
        font-size: 4.2666666667vw;
    }
}
.index-price__price
{
    font-family: 'din-2014', sans-serif;
    font-size: 30px;
    font-weight: 200;

    margin-left: 10px;

    white-space: nowrap;
    letter-spacing: .02em;

    color: #ff807f;
}
@media screen and (max-width: 768px)
{
    .index-price__price
    {
        font-size: 6.4vw;

        margin-left: 1.0666666667vw;
    }
}
.index-price__tax
{
    font-size: 12px;
    font-weight: 400;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .index-price__tax
    {
        font-size: 3.2vw;
    }
}
.index-price__bottles
{
    display: grid;

    margin-top: 16px;

    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .index-price__bottles
    {
        margin-top: 8vw;

        gap: 4.2666666667vw;
    }
}
.index-price__bottle
{
    display: grid;

    justify-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .index-price__bottle
    {
        gap: 2.6666666667vw;
    }
}
.index-price__bottle img
{
    width: auto;
    height: 218px;
}
@media screen and (max-width: 768px)
{
    .index-price__bottle img
    {
        height: 58.1333333333vw;
    }
}
.index-price__or
{
    font-size: 24px;

    color: #828282;
}
@media screen and (max-width: 768px)
{
    .index-price__or
    {
        font-size: 5.0666666667vw;
    }
}
.index-price__cta
{
    display: flex;

    margin-top: 60px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-price__cta
    {
        margin-top: 10.6666666667vw;
    }
}

.index-limited
{
    position: relative;
    position: relative;
    z-index: 0;

    padding: 30px 0 16px;

    background-color: #dbf1ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .index-limited
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .index-limited
    {
        --wave-offset: 5.3333333333vw;
    }
}
.index-limited::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .index-limited::before
    {
        height: 5.3333333333vw;
    }
}
.index-limited::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .index-limited::after
    {
        height: 5.3333333333vw;
    }
}
.index-limited > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .index-limited
    {
        padding: 7.4666666667vw 0vw 13.8666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .index-limited .c-heading__en--white
    {
        font-size: 12.2666666667vw;
    }
}
.index-limited__grid
{
    display: grid;

    grid-template-columns: repeat(4, 1fr);
    gap: 0;
}
@media screen and (min-width: 769px)
{
    .index-limited__grid
    {
        padding-inline: 24px;
    }
}
@media screen and (max-width: 768px)
{
    .index-limited__grid
    {
        margin-top: 10.6666666667vw;

        grid-template-columns: repeat(2, 1fr);
        gap: 5.3333333333vw 0;
    }
}
.index-limited__item
{
    position: relative;

    display: grid;

    padding: 24px 16px 24px;

    cursor: pointer;

    border: 0;
    background: transparent;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
    justify-items: center;
    gap: 20px;
}
@media screen and (max-width: 768px)
{
    .index-limited__item
    {
        padding: 5.3333333333vw 0vw 8.5333333333vw;

        gap: 3.2vw;
    }
}
.index-limited__item:focus-visible
{
    border-radius: 10px;
    outline: 2px solid #6cc7ff;
    outline-offset: 4px;
}
@media screen and (max-width: 768px)
{
    .index-limited__item:focus-visible
    {
        border-radius: 2.6666666667vw;
        outline-offset: 1.0666666667vw;
    }
}
.index-limited__item::after
{
    position: absolute;
    top: 0;
    right: 0;

    width: 1px;
    height: 100%;

    content: '';

    background: #828282;
}
@media screen and (min-width: 769px)
{
    .index-limited__item:first-child::before
    {
        position: absolute;
        top: 0;
        left: 0;

        width: 1px;
        height: 100%;

        content: '';

        background: #828282;
    }
}
@media screen and (max-width: 768px)
{
    .index-limited__item:nth-child(odd)::before
    {
        position: absolute;
        top: 0;
        left: 0;

        width: 1px;
        height: 100%;

        content: '';

        background: #828282;
    }
}
.index-limited__icon
{
    display: grid;

    width: auto;
    max-height: 77px;

    place-items: center;
}
@media screen and (max-width: 768px)
{
    .index-limited__icon
    {
        max-width: 13.6vw;
        height: 18.6666666667vw;
    }
}
.index-limited__icon img
{
    width: 100%;
    height: 100%;

    -o-object-fit: contain;

       object-fit: contain;
}
.index-limited__text
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;

    margin-top: 8px;

    text-align: center;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .index-limited__text
    {
        font-size: 3.7333333333vw;

        margin-top: 3.2vw;
    }
}
.index-limited__plus
{
    position: relative;

    width: 24px;
    height: 24px;

    border: 1px solid #2c2c2c;
    border-radius: 999px;
}
@media screen and (max-width: 768px)
{
    .index-limited__plus
    {
        width: 4.8vw;
        height: 4.8vw;
    }
}
.index-limited__plus::before,
.index-limited__plus::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    content: '';
    transform: translate(-50%, -50%);

    border-radius: 2px;
    background: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .index-limited__plus::before,
    .index-limited__plus::after
    {
        border-radius: .5333333333vw;
    }
}
.index-limited__plus::before
{
    width: 10px;
    height: 2px;
}
@media screen and (max-width: 768px)
{
    .index-limited__plus::before
    {
        width: 1.8666666667vw;
        height: .2666666667vw;
    }
}
.index-limited__plus::after
{
    width: 2px;
    height: 10px;
}
@media screen and (max-width: 768px)
{
    .index-limited__plus::after
    {
        width: .2666666667vw;
        height: 1.8666666667vw;
    }
}

.c-modal
{
    position: fixed;
    z-index: 9999;

    display: none;

    inset: 0;
}
.c-modal.is-open
{
    display: block;
}
.c-modal__backdrop
{
    position: absolute;

    background: rgba(0, 0, 0, .55);

    inset: 0;
}
.c-modal__dialog
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: min(600px, calc(100% - 48px));

    transform: translate(-50%, -50%);

    border-radius: 5px;
    background: #fff;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .25);
}
@media screen and (max-width: 768px)
{
    .c-modal__dialog
    {
        width: calc(100% - 10.6666666667vw);

        border-radius: 2.6666666667vw;
    }
}
.c-modal__close
{
    position: absolute;
    top: -20px;
    right: -20px;

    width: 36px;
    height: 36px;

    cursor: pointer;

    border: 0;
    border-radius: 999px;
    background: #dbf1ff;
}
@media screen and (max-width: 768px)
{
    .c-modal__close
    {
        top: -2.1333333333vw;
        right: -2.1333333333vw;

        width: 6.4vw;
        height: 6.4vw;
    }
}
.c-modal__close::before,
.c-modal__close::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 25px;
    height: 2px;

    content: '';
    transform-origin: center;

    border-radius: 2px;
    background: #828282;
}
@media screen and (max-width: 768px)
{
    .c-modal__close::before,
    .c-modal__close::after
    {
        width: 4.2666666667vw;
        height: .2666666667vw;

        border-radius: .5333333333vw;
    }
}
.c-modal__close::before
{
    transform: translate(-50%, -50%) rotate(45deg);
}
.c-modal__close::after
{
    transform: translate(-50%, -50%) rotate(-45deg);
}
.c-modal__body
{
    padding: 40px;
}
@media screen and (max-width: 768px)
{
    .c-modal__body
    {
        padding: 7.4666666667vw 4.8vw 16vw;
    }
}
.c-modal__body .c-link--more
{
    margin: auto auto 0 auto;
}
.c-modal__title
{
    font-size: 16px;
    font-weight: 400;
    font-weight: 300;
    line-height: 1.6;

    padding-bottom: 20px;

    text-align: center;

    color: #2c2c2c;
    border-bottom: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .c-modal__title
    {
        font-size: 4.2666666667vw;

        padding-bottom: 5.3333333333vw;
    }
}
.c-modal__media
{
    width: min(200px, 100%);
    margin: 16px auto 20px;
}
@media screen and (max-width: 768px)
{
    .c-modal__media
    {
        width: 100%;
        margin: 4.2666666667vw auto 2.6666666667vw;
    }
}
.c-modal__img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .c-modal__img
    {
        border-radius: 1.3333333333vw;
    }
}
.c-modal__text
{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.6;

    text-align: center;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-modal__text
    {
        font-size: 3.7333333333vw;
    }
}
.c-modal__note
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;

    margin-top: 14px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .c-modal__note
    {
        font-size: 2.6666666667vw;

        margin-top: 2.6666666667vw;
    }
}
.c-modal__nav
{
    position: absolute;
    right: 40px;
    bottom: 24px;

    display: flex;

    gap: 35px;
}
@media screen and (max-width: 768px)
{
    .c-modal__nav
    {
        right: auto;
        bottom: 6.4vw;
        left: 50%;

        transform: translateX(-50%);

        gap: 9.3333333333vw;
    }
}
.c-modal__arrow
{
    position: relative;

    width: 10px;
    height: 10px;

    cursor: pointer;
}
@media screen and (max-width: 768px)
{
    .c-modal__arrow
    {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.c-modal__arrow::before
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 10px;
    height: 10px;

    content: '';
    transform: translate(-50%, -50%) rotate(135deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .c-modal__arrow::before
    {
        width: 2.6666666667vw;
        height: 2.6666666667vw;
    }
}
.c-modal__arrow--next::before
{
    transform: translate(-50%, -50%) rotate(-45deg);
}
.c-modal__link
{
    display: block;

    text-align: center;
}
.c-modal__link span
{
    font-size: 10px;
}
@media screen and (max-width: 768px)
{
    .c-modal__link span
    {
        font-size: 2.6666666667vw;
    }
}

.index-reviews
{
    padding: 186px 0 271px;
}
@media screen and (max-width: 768px)
{
    .index-reviews
    {
        padding: 20.2666666667vw 0 50.1333333333vw;
    }
}
.index-reviews__grid
{
    display: grid;

    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__grid
    {
        grid-template-columns: 1fr;
        gap: 5.3333333333vw;
    }
}
.index-reviews__card
{
    width: 100%;
    padding: 0;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: #fafafa;
}
.index-reviews__card:active
{
    transform: translateY(1px);
}
.index-reviews__head
{
    display: grid;

    padding: 28px 28px 18px;

    grid-template-columns: 200px 1fr;
    gap: 22px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__head
    {
        padding: 5.3333333333vw 2.6666666667vw 2.6666666667vw;

        grid-template-columns: 37.3333333333vw 1fr;
        gap: 2.6666666667vw;
    }
}
.index-reviews__photo
{
    overflow: hidden;

    height: 140px;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__photo
    {
        height: 25.6vw;

        border-radius: 1.3333333333vw;
    }
}
.index-reviews__photo img
{
    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.index-reviews__meta
{
    display: flex;
    flex-direction: column;

    padding-top: 6px;

    gap: 10px;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-reviews__meta
    {
        padding-top: 1.6vw;

        gap: 1.8666666667vw;
    }
}
.index-reviews__title
{
    font-size: 16px;
    line-height: 1.4;

    margin: 0;
}
@media screen and (max-width: 768px)
{
    .index-reviews__title
    {
        font-size: 4.2666666667vw;
    }
}
.index-reviews__name
{
    font-size: 12px;
    font-weight: 300;

    margin: 0;
}
@media screen and (max-width: 768px)
{
    .index-reviews__name
    {
        font-size: 3.2vw;
    }
}
.index-reviews__excerpt
{
    font-size: 14px;
    line-height: 1.6;

    display: -webkit-box;
    overflow: hidden;

    margin: 0;
    padding: 0 28px 18px;

    color: rgba(0, 0, 0, .65);

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
@media screen and (max-width: 768px)
{
    .index-reviews__excerpt
    {
        font-size: 3.7333333333vw;

        padding: 0 4.2666666667vw 3.7333333333vw;

        -webkit-line-clamp: 4;
    }
}
.index-reviews__more
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;

    display: flex;

    padding: 18px 0 24px;

    align-items: center;
    justify-content: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__more
    {
        font-size: 3.2vw;

        padding: 2.6666666667vw 0 6.4vw;

        gap: 2.1333333333vw;
    }
}
.index-reviews__more i
{
    position: relative;

    width: 18px;
    height: 18px;

    border: 1px solid rgba(0, 0, 0, .35);
    border-radius: 50%;
}
@media screen and (max-width: 768px)
{
    .index-reviews__more i
    {
        width: 4.2666666667vw;
        height: 4.2666666667vw;
    }
}
.index-reviews__more i::before,
.index-reviews__more i::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    content: '';
    transform: translate(-50%, -50%);

    background: rgba(0, 0, 0, .35);
}
.index-reviews__more i::before
{
    width: 8px;
    height: 1px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__more i::before
    {
        width: 2.1333333333vw;
        height: .2666666667vw;
    }
}
.index-reviews__more i::after
{
    width: 1px;
    height: 8px;
}
@media screen and (max-width: 768px)
{
    .index-reviews__more i::after
    {
        width: .2666666667vw;
        height: 2.1333333333vw;
    }
}
.index-reviews .index-reviews__photo .js-reviewImages img
{
    display: none;
}
.index-reviews .index-reviews__photo .js-reviewImages img:first-child
{
    display: block;

    width: 100%;
    height: auto;
}

.c2-modal
{
    position: fixed;
    z-index: 200;

    visibility: hidden;

    transition: opacity .2s ease, visibility .2s ease;
    pointer-events: none;

    opacity: 0;

    inset: 0;
}
.c2-modal.is-open
{
    visibility: visible;

    pointer-events: auto;

    opacity: 1;
}
.c2-modal__photos
{
    display: grid;

    margin-bottom: 20px;

    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .c2-modal__photos
    {
        margin-bottom: 5.3333333333vw;
    }
}
.c2-modal__photo img
{
    display: block;

    width: 100%;
    height: auto;
}
.c2-modal__backdrop
{
    position: absolute;

    background: rgba(0, 0, 0, .55);

    inset: 0;
}
.c2-modal__dialog
{
    position: absolute;
    top: 50%;
    left: 50%;

    display: flex;
    flex-direction: column;

    width: min(1100px, calc(100% - 40px));
    max-height: 90vh;

    transform: translate(-50%, -50%);

    border-radius: 10px;
    background: #fff;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .25);
}
@media screen and (max-width: 768px)
{
    .c2-modal__dialog
    {
        width: calc(100% - 10.6666666667vw);

        border-radius: 2.6666666667vw;
    }
}
.c2-modal__title
{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;

    margin: 0 0 10px 0;
}
@media screen and (max-width: 768px)
{
    .c2-modal__title
    {
        font-size: 4.2666666667vw;

        margin-bottom: 2.6666666667vw;
    }
}
.c2-modal__name
{
    font-size: 12px;
    font-weight: 300;

    margin: 0 0 30px 0;
}
@media screen and (max-width: 768px)
{
    .c2-modal__name
    {
        font-size: 3.2vw;

        margin-bottom: 8vw;
    }
}
.c2-modal__body
{
    overflow-y: auto;

    min-height: 0;
    padding: 40px 90px;

    flex: 1 1 auto;
    -webkit-overflow-scrolling: touch;
}
@media screen and (max-width: 768px)
{
    .c2-modal__body
    {
        padding: 7.4666666667vw 4.2666666667vw 8.5333333333vw;
    }
}
.c2-modal__content
{
    font-size: 14px;
    line-height: 1.6;
}
@media screen and (max-width: 768px)
{
    .c2-modal__content
    {
        font-size: 3.7333333333vw;
    }
}

.index-topics
{
    position: relative;

    padding-top: 94px;
    padding-bottom: 94px;

    background: #dbf1ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .index-topics
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .index-topics
    {
        --wave-offset: 5.3333333333vw;
    }
}
.index-topics::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .index-topics::before
    {
        height: 5.3333333333vw;
    }
}
.index-topics::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .index-topics::after
    {
        height: 5.3333333333vw;
    }
}
.index-topics > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .index-topics
    {
        padding-top: 4.5333333333vw;
        padding-bottom: 20.2666666667vw;
    }
}
.index-topics .c-heading
{
    text-align: center;
}
.index-topics__inner
{
    display: grid;

    grid-template-columns: 240px 1fr;
    gap: 56px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .index-topics__inner
    {
        grid-template-columns: 1fr;
        gap: 2.6666666667vw;
        align-items: start;
    }
}
.index-topics__list
{
    margin: 0;
    padding: 0;

    list-style: none;
}
.index-topics__item
{
    border-bottom: 1px solid rgba(44, 44, 44, .18);
}
.index-topics__link
{
    font-size: 16px;
    line-height: 1.9;

    position: relative;

    display: block;
    overflow: visible;

    padding: 20px 40px 20px 0;

    text-decoration: none;
    letter-spacing: .14rem;
}
@media screen and (max-width: 768px)
{
    .index-topics__link
    {
        font-size: 4.2666666667vw;

        padding: 5.3333333333vw 8.5333333333vw 5.3333333333vw 0;
    }
}
.index-topics__link::after
{
    position: absolute;
    top: 50%;
    right: 3px;

    width: 6px;
    height: 6px;

    content: '';
    transition: .3s;
    transform: translateY(-50%) rotate(-45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;
}
.index-topics__link:hover::after
{
    transform: translate(10px, -50%) rotate(-45deg);
}
.index-topics__link--accent
{
    color: #ff807f;
}

.index-faq
{
    padding-top: 170px;
    padding-bottom: 0;
}
@media screen and (max-width: 768px)
{
    .index-faq
    {
        padding: 21.3333333333vw 0 0vw;
    }
}
.index-faq__grid
{
    display: grid;

    margin-top: 36px;

    grid-template-columns: 1fr 1fr;
    gap: 22px 56px;
}
@media screen and (max-width: 768px)
{
    .index-faq__grid
    {
        margin-top: 0;

        grid-template-columns: 1fr;
        gap: 0;
    }
}
@media screen and (max-width: 768px)
{
    .index-faq__item
    {
        margin-bottom: 8vw;
    }
}
.index-faq__q
{
    display: flex;

    width: 100%;
    padding: 18px 0;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: transparent;

    align-items: center;
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .index-faq__q
    {
        padding: 0 0 0vw 0;

        gap: 0vw;
    }
}
.index-faq__q.is-active .index-faq__chev
{
    top: 2px;

    transform: rotate(-135deg);
}
@media screen and (max-width: 768px)
{
    .index-faq__q.is-active .index-faq__chev
    {
        top: .5333333333vw;
    }
}
.index-faq__qIcon
{
    font-size: 18px;
    font-weight: 400;

    display: grid;

    width: 28px;
    height: 28px;
    padding-bottom: 1px;

    color: #fff;
    border-radius: 999px;
    background: #8fd0f3;

    flex: 0 0 28px;
    place-items: center;
}
@media screen and (max-width: 768px)
{
    .index-faq__qIcon
    {
        font-size: 4.8vw;

        width: 7.4666666667vw;
        height: 7.4666666667vw;

        flex: 0 0 7.4666666667vw;
    }
}
.index-faq__qText
{
    font-size: 16px;
    line-height: 1.6;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .index-faq__qText
    {
        font-size: 3.7333333333vw;
        line-height: 1.4;

        padding: 0 6.4vw 0 2.1333333333vw;
    }
}
.index-faq__chev
{
    position: relative;
    top: -2px;

    width: 10px;
    height: 10px;

    transition: .2s ease;
    transform: rotate(45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;

    flex: 0 0 10px;
}
@media screen and (max-width: 768px)
{
    .index-faq__chev
    {
        top: -.5333333333vw;

        width: 2.6666666667vw;
        height: 2.6666666667vw;

        flex: 0 0 2.6666666667vw;
    }
}
.index-faq__a
{
    padding: 0 0 18px;
}
@media screen and (max-width: 768px)
{
    .index-faq__a
    {
        padding-bottom: 4.8vw;
    }
}
.index-faq__aInner
{
    font-size: 14px;
    line-height: 1.9;

    padding-left: 32px;
}
@media screen and (max-width: 768px)
{
    .index-faq__aInner
    {
        font-size: 3.7333333333vw;

        padding-top: 2.1333333333vw;
        padding-left: 9.0666666667vw;
    }
}
.index-faq__btn
{
    display: flex;

    margin-top: 40px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-faq__btn
    {
        margin-top: 2.6666666667vw;
    }
}

.index-news
{
    padding-top: 120px;
    padding-bottom: 0;
}
@media screen and (max-width: 768px)
{
    .index-news
    {
        padding-top: 21.3333333333vw;
    }
}
.index-news__list
{
    margin-top: 60px;
}
@media screen and (max-width: 768px)
{
    .index-news__list
    {
        margin-top: 0;
    }
}
.index-news__list .index-news__item:nth-child(n+6)
{
    display: none;
}
.index-news__item
{
    border-bottom: 1px solid rgba(0, 0, 0, .1);
}
.index-news__link
{
    position: relative;

    display: flex;

    padding: 26px 0;

    text-decoration: none;

    color: #2c2c2c;

    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .index-news__link
    {
        padding: 3.7333333333vw 0;

        gap: 6.4vw;
    }
}
.index-news__date
{
    font-size: 10px;

    letter-spacing: .08em;

    flex: 0 0 100px;
}
@media screen and (max-width: 768px)
{
    .index-news__date
    {
        font-size: 2.6666666667vw;

        flex: none;
    }
}
.index-news__title
{
    font-size: 14px;

    letter-spacing: .14rem;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .index-news__title
    {
        font-size: 3.7333333333vw;
        line-height: 5.3333333333vw;
    }
}

.index-banner
{
    padding-block: 130px;
}
@media screen and (max-width: 768px)
{
    .index-banner
    {
        padding: 42.6666666667vw 0 26.6666666667vw;
    }
}
.index-banner__grid
{
    display: flex;

    gap: 10px;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .index-banner__grid
    {
        flex-direction: column;

        gap: 5.3333333333vw;
    }
}
.index-banner__item
{
    position: relative;

    display: block;
    overflow: hidden;

    text-decoration: none;

    border-radius: 5px;
}
@media screen and (min-width: 769px)
{
    .index-banner__item
    {
        width: 370px;
        height: 168px;
    }
}
@media screen and (max-width: 768px)
{
    .index-banner__item
    {
        border-radius: 1.3333333333vw;
    }
}
.index-banner__item img
{
    display: block;

    width: 100%;

    transition: .4s;

    -o-object-fit: cover;

       object-fit: cover;
}
.index-banner__item:hover img
{
    transform: scale(1.05);
}
.index-banner__label
{
    font-size: 14px;
    font-weight: 300;
    line-height: 22px;

    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;

    padding: 8px 16px;

    letter-spacing: .05em;

    color: #fff;
    background: rgba(0, 0, 0, .4);
}
@media screen and (max-width: 768px)
{
    .index-banner__label
    {
        font-size: 3.2vw;
        line-height: 5.0666666667vw;

        padding: 3.2vw 2.6666666667vw;
    }
}
.index-banner__label-strong
{
    font-size: 16px;
    font-weight: 400;

    padding-right: 4px;
}
@media screen and (max-width: 768px)
{
    .index-banner__label-strong
    {
        font-size: 4.2666666667vw;
    }
}

.c-floatingBanner
{
    position: fixed;
    z-index: 10;
    bottom: 28px;
    left: clamp(37px, 4vw, 50px);

    box-sizing: border-box;
    width: 182px;
    padding: 10px 16px 10px;

    border-radius: 5px;
    background: #f7f0e2;
}
@media screen and (max-width: 768px)
{
    .c-floatingBanner
    {
        bottom: 4.2666666667vw;
        left: 5.3333333333vw;

        width: 38.9333333333vw;
        padding: 2.6666666667vw 3.2vw 3.2vw;

        border-radius: 1.3333333333vw;
    }
}
.c-floatingBanner__link
{
    display: block;

    text-decoration: none;
}
.c-floatingBanner__title
{
    font-size: 20px;
    line-height: 1.3;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .c-floatingBanner__title
    {
        font-size: 4.2666666667vw;
    }
}
.c-floatingBanner .c-link--more
{
    font-size: 12px;

    display: block;

    margin: 8px auto 0;
}
.c-floatingBanner .c-link--more > span
{
    display: block;
}
.c-floatingBanner .c-link--more > span::after
{
    right: 2px;
}
@media screen and (max-width: 768px)
{
    .c-floatingBanner .c-link--more
    {
        font-size: 3.2vw;

        margin: 2.1333333333vw auto 0;
    }
    .c-floatingBanner .c-link--more > span::after
    {
        right: .5333333333vw;
    }
}
.c-floatingBanner__close
{
    position: absolute;
    top: -10px;
    right: -10px;

    width: 22px;
    height: 22px;

    cursor: pointer;

    border: 0;
    border-radius: 50%;
    background: #828282;
}
@media screen and (max-width: 768px)
{
    .c-floatingBanner__close
    {
        top: -2.1333333333vw;
        right: -2.1333333333vw;

        width: 5.3333333333vw;
        height: 5.3333333333vw;
    }
}
.c-floatingBanner__close::before,
.c-floatingBanner__close::after
{
    position: absolute;
    top: 50%;
    left: 50%;

    width: 12px;
    height: 1px;

    content: '';

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .c-floatingBanner__close::before,
    .c-floatingBanner__close::after
    {
        width: 2.6666666667vw;
    }
}
.c-floatingBanner__close::before
{
    transform: translate(-50%, -50%) rotate(45deg);
}
.c-floatingBanner__close::after
{
    transform: translate(-50%, -50%) rotate(-45deg);
}

.c-pageTop
{
    position: fixed;
    z-index: 10;
    right: clamp(37px, 4vw, 50px);
    bottom: 28px;

    width: 56px;
    height: 56px;

    border-radius: 50%;
    background: #f7f0e2;
}
@media screen and (max-width: 768px)
{
    .c-pageTop
    {
        right: 4.2666666667vw;
        bottom: 4.2666666667vw;

        width: 14.9333333333vw;
        height: 14.9333333333vw;
    }
}
.c-pageTop::before
{
    position: absolute;
    top: 60%;
    left: 50%;

    width: 20px;
    height: 20px;

    content: '';
    transform: translate(-50%, -50%) rotate(45deg);

    border-top: 1px solid #828282;
    border-left: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .c-pageTop::before
    {
        width: 5.3333333333vw;
        height: 5.3333333333vw;
    }
}

#Foot
{
    clear: both;

    width: 100%;
    padding: 0;

    border-top: none;
}

.footer
{
    position: relative;

    color: #2c2c2c;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .footer
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .footer
    {
        --wave-offset: 5.3333333333vw;
    }
}
.footer::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #e9f7ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .footer::before
    {
        height: 5.3333333333vw;
    }
}
.footer > *
{
    position: relative;
    z-index: 2;
}
.footer__main
{
    padding: 50px 0 16px;

    background: #e9f7ff;
}
@media screen and (max-width: 768px)
{
    .footer__main
    {
        padding: 13.3333333333vw 0 8.5333333333vw;
    }
}
.footer__inner
{
    max-width: 1100px;
}
.footer__top
{
    display: grid;

    margin-bottom: 60px;

    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .footer__top
    {
        display: flex;
        flex-direction: column;

        margin-bottom: 10.6666666667vw;

        justify-items: center;
        gap: 10.6666666667vw;
    }
}
.footer__tel
{
    display: flex;

    color: #828282;

    align-items: center;
    gap: 16px;
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .footer__tel
    {
        gap: 4.2666666667vw;
        justify-content: center;
    }
}
.footer__telIcon
{
    width: 56px;
    height: 56px;
}
@media screen and (max-width: 768px)
{
    .footer__telIcon
    {
        width: 14.9333333333vw;
        height: 14.9333333333vw;
    }
    .footer__telIcon img
    {
        width: 100%;
    }
}
.footer__telNum
{
    font-size: 32px;
    font-weight: 700;

    display: flex;

    text-decoration: none;
    letter-spacing: .02em;
    pointer-events: none;

    align-items: flex-end;
    gap: 4px;
}
@media screen and (max-width: 768px)
{
    .footer__telNum
    {
        font-size: 8.5333333333vw;

        pointer-events: auto;

        gap: 2.1333333333vw;
    }
}
.footer__telNum img
{
    width: 36px;
    height: auto;

    filter: brightness(0) saturate(100%) invert(63%) sepia(0%) saturate(1923%) hue-rotate(293deg) brightness(82%) contrast(80%);
}
@media screen and (max-width: 768px)
{
    .footer__telNum img
    {
        width: 9.6vw;
    }
}
.footer__telNum:hover
{
    opacity: .75;
}
.footer__telNote
{
    font-size: 12px;

    margin: 6px 0 0;

    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .footer__telNote
    {
        font-size: 3.2vw;

        margin-top: 2.6666666667vw;
    }
}
.footer__divider
{
    width: 1px;
    height: 48px;

    background-color: rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .footer__divider
    {
        display: none;
    }
}
.footer__mail
{
    font-size: 12px;

    display: inline-flex;

    padding: 20px 32px;

    text-decoration: none;

    border: 2px solid #f7f0e2;
    border-radius: 999px;
    background-color: #f7f0e2;

    justify-self: start;
    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .footer__mail
    {
        font-size: 3.2vw;

        padding: 5.3333333333vw 8.5333333333vw;

        gap: 2.6666666667vw;
    }
}
.footer__mail:hover
{
    opacity: 1;
    border-color: #f7f0e2;
    background-color: #fff;
}
.footer__mailIcon
{
    display: inline-block;

    width: 18px;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .footer__mailIcon
    {
        width: 4.8vw;
    }
}
.footer__mailIcon img
{
    display: block;

    width: 100%;
    height: 100%;
}
.footer__nav
{
    display: grid;

    margin-bottom: 44px;

    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media screen and (min-width: 769px)
{
    .footer__nav
    {
        padding-inline: 40px;
    }
}
@media screen and (max-width: 768px)
{
    .footer__nav
    {
        margin-bottom: 8vw;

        grid-template-columns: -webkit-max-content;

        grid-template-columns: max-content;
        gap: 5.3333333333vw;
    }
}
.footer__colTitle
{
    font-size: 12px;

    margin: 0 0 14px;
    padding-bottom: 10px;

    letter-spacing: .08em;

    border-bottom: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .footer__colTitle
    {
        font-size: 3.2vw;
        font-weight: 400;

        margin-bottom: 2.1333333333vw;
        padding-bottom: 2.6666666667vw;
    }
}
.footer__list
{
    display: grid;

    margin: 0;
    padding: 0;

    list-style: none;

    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .footer__list
    {
        gap: 2.1333333333vw;
    }
}
.footer__link
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.7;

    text-decoration: none;
}
@media screen and (max-width: 768px)
{
    .footer__link
    {
        font-size: 3.2vw;
    }
}
.footer__link:hover
{
    opacity: .75;
}
.footer__link--ext
{
    padding-right: 18px;

    background: url('/assets/img/common/icon_link.svg') no-repeat right 2px center;
    background-size: 10px 10px;
}
@media screen and (max-width: 768px)
{
    .footer__link--ext
    {
        padding-right: 4.8vw;

        background-position: right .5333333333vw center;
        background-size: 2.6666666667vw 2.6666666667vw;
    }
}
.footer__legal
{
    line-height: 2.5;

    display: flex;

    flex-wrap: wrap;
    gap: 26px 34px;
}
@media screen and (max-width: 768px)
{
    .footer__legal
    {
        flex-direction: column;

        gap: 0vw;
    }
}
.footer__legalLink
{
    font-size: 11px;

    text-decoration: none;
}
@media screen and (max-width: 768px)
{
    .footer__legalLink
    {
        font-size: 2.9333333333vw;
    }
}
.footer__legalLink:hover
{
    opacity: .75;
}
.footer__bottom
{
    position: relative;

    max-width: 1100px;
    margin: 0 auto;
    padding: 20px 0 24px;

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .footer__bottom
    {
        padding: 5.3333333333vw 0 6.4vw;
    }
}
.footer__bottomInner
{
    display: grid;

    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 18px;
}
@media screen and (max-width: 768px)
{
    .footer__bottomInner
    {
        text-align: center;

        grid-template-columns: 1fr;
        justify-items: center;
        gap: 2.6666666667vw;
    }
}
.footer__brand img
{
    display: block;

    width: auto;
    height: 22px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .footer__brand img
    {
        height: 5.8666666667vw;
    }
}
.footer__copy
{
    font-size: 10px;

    position: absolute;
    top: 50%;
    right: 0;

    transform: translateY(-50%);
    text-align: right;
}
@media screen and (max-width: 768px)
{
    .footer__copy
    {
        font-size: 2.6666666667vw;

        position: static;

        margin-top: 2.6666666667vw;

        transform: none;
        text-align: center;
    }
}

.p-campaign__inner
{
    padding-top: 0;
}
@media screen and (max-width: 768px)
{
    .p-campaign__inner
    {
        padding-top: 0vw;
    }
}
.p-campaign__title
{
    font-size: 24px;
    line-height: 1.4;

    text-align: center;
    letter-spacing: .14em;
}
@media screen and (max-width: 768px)
{
    .p-campaign__title
    {
        font-size: 5.3333333333vw;
    }
}
.p-campaign__mainBanner
{
    width: 638px;
    margin: 32px auto 0;
}
@media screen and (max-width: 768px)
{
    .p-campaign__mainBanner
    {
        width: 100%;
        margin-top: 8.5333333333vw;
    }
}
.p-campaign__mainBanner img
{
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 638/842;
    -o-object-fit: cover;
       object-fit: cover;
}
.p-campaign__overviewInner
{
    max-width: 900px;
    margin: auto;
}
.p-campaign__overview
{
    position: relative;

    margin-top: 170px;
    padding: 38px 0 46px;

    background: #dbf1ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .p-campaign__overview
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .p-campaign__overview
    {
        --wave-offset: 5.3333333333vw;
    }
}
.p-campaign__overview::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-campaign__overview::before
    {
        height: 5.3333333333vw;
    }
}
.p-campaign__overview::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .p-campaign__overview::after
    {
        height: 5.3333333333vw;
    }
}
.p-campaign__overview > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .p-campaign__overview
    {
        margin-top: 16vw;
        padding: 8.5333333333vw 5.3333333333vw 5.3333333333vw;
    }
}
.p-campaign__heading
{
    font-size: 20px;

    margin-bottom: 20px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-campaign__heading
    {
        font-size: 5.3333333333vw;

        margin-bottom: 5.3333333333vw;
    }
}
.p-campaign__summary
{
    display: grid;

    margin-top: 40px;

    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-campaign__summary
    {
        margin-top: 10.6666666667vw;

        gap: 5.3333333333vw;
    }
}
.p-campaign__summaryLabel
{
    font-size: 16px;
    line-height: 26px;

    padding: 10px 20px;

    text-align: center;

    color: #fff;
    border-radius: 5px 5px 0 0;
    background: #4bbbff;
}
@media screen and (max-width: 768px)
{
    .p-campaign__summaryLabel
    {
        font-size: 4.2666666667vw;
        line-height: 5.8666666667vw;

        padding: 2.6666666667vw 4.2666666667vw;

        border-radius: 1.3333333333vw 1.3333333333vw 0 0;
    }
}
.p-campaign__summaryBody
{
    display: flex;

    min-height: 90px;
    margin: 0 auto;
    padding: 20px;

    text-align: center;

    border-radius: 0 0 5px 5px;
    background: #fff;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-campaign__summaryBody
    {
        width: 100%;
        min-height: auto;
        padding: 5.3333333333vw;

        border-radius: 0 0 1.3333333333vw 1.3333333333vw;
    }
}
.p-campaign__summaryBody p
{
    font-size: 16px;
    line-height: 26px;

    margin: 0;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-campaign__summaryBody p
    {
        font-size: 3.7333333333vw;
        line-height: 5.8666666667vw;
    }
}
.p-campaign__notes
{
    margin-top: 40px;
}
@media screen and (max-width: 768px)
{
    .p-campaign__notes
    {
        margin-top: 8.5333333333vw;
    }
}
.p-campaign__notesTitle
{
    font-size: 16px;
    line-height: 26px;

    margin: 32px 0 72px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-campaign__notesTitle
    {
        font-size: 3.7333333333vw;
        line-height: 5.8666666667vw;

        margin: 8vw 0 2.6666666667vw;
    }
}
.p-campaign__notesList
{
    font-size: 12px;
    line-height: 1.8;

    margin: 0;
    padding: 0;

    list-style: none;
}
@media screen and (max-width: 768px)
{
    .p-campaign__notesList
    {
        font-size: 3.2vw;
        line-height: 5.3333333333vw;
    }
}
.p-campaign__notesList li
{
    position: relative;

    padding-left: 1em;
}
.p-campaign__notesList li::before
{
    position: absolute;
    left: 0;

    content: '・';
}
.p-campaign__cta
{
    margin-top: 60px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-campaign__cta
    {
        margin-top: 10.6666666667vw;
    }
}
.p-campaign__others
{
    padding: 162px 0 0;
}
@media screen and (max-width: 768px)
{
    .p-campaign__others
    {
        padding: 26.6666666667vw 0vw 0;
    }
}
.p-campaign__otherBanners
{
    display: grid;

    margin-top: 20px;

    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}
@media screen and (max-width: 768px)
{
    .p-campaign__otherBanners
    {
        margin-top: 6.4vw;

        grid-template-columns: repeat(2, 1fr);
        gap: 3.2vw;
    }
}
.p-campaign__otherBanner
{
    display: block;
}
.p-campaign__otherBanner img
{
    display: block;

    width: 100%;
    height: auto;

    -o-object-fit: cover;

       object-fit: cover;
}

.accordion-trigger::after
{
    display: none;
}

.c-pageAnchorNav
{
    display: flex;

    margin-top: 80px;

    justify-content: center;
    gap: 72px;
}
@media screen and (max-width: 768px)
{
    .c-pageAnchorNav
    {
        margin-top: 10.6666666667vw;
        padding: 0 11.7333333333vw;

        gap: 2.6666666667vw;
        flex-wrap: wrap;
    }
}
.c-pageAnchorNav__item
{
    font-size: 16px;

    transition: color .3s ease;
    text-align: center;
    text-decoration: none;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-pageAnchorNav__item
    {
        font-size: 3.7333333333vw;

        width: calc(50% - 2.6666666667vw);
    }
}
.c-pageAnchorNav__item:hover
{
    color: #6cc7ff;
}
.c-pageAnchorNav__label
{
    line-height: 28px;

    display: block;
}
@media screen and (max-width: 768px)
{
    .c-pageAnchorNav__label
    {
        line-height: 1.6;
    }
}
.c-pageAnchorNav__icon
{
    position: relative;

    display: grid;

    width: 19px;
    height: 19px;
    margin: 4px auto 0;

    border-radius: 999px;
    background: #6cc7ff;

    place-items: center;
}
@media screen and (max-width: 768px)
{
    .c-pageAnchorNav__icon
    {
        width: 4.8vw;
        height: 4.8vw;
        margin-top: 2.1333333333vw;
    }
}
.c-pageAnchorNav__icon::after
{
    position: absolute;
    top: 5px;
    right: 0;
    left: 0;

    width: 6px;
    height: 6px;
    margin: auto;

    content: '';
    transform: rotate(45deg);

    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px)
{
    .c-pageAnchorNav__icon::after
    {
        top: 1.3333333333vw;

        width: 1.6vw;
        height: 1.6vw;
    }
}

.c-pageTitle
{
    padding-top: 24px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .c-pageTitle
    {
        padding-top: 7.4666666667vw;

        padding-inline: 5.3333333333vw;
    }
}
.c-pageTitle__jp
{
    font-size: 30px;
    font-weight: 400;

    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .c-pageTitle__jp
    {
        font-size: 6.4vw;
        line-height: 1.5;
    }
}

.c-pageTitle--withEn .c-pageTitle__jp
{
    font-size: 24px;
}
@media screen and (max-width: 768px)
{
    .c-pageTitle--withEn .c-pageTitle__jp
    {
        font-size: 6.4vw;
    }
}
.c-pageTitle--withEn .c-pageTitle__en
{
    font-family: 'din-2014', sans-serif;
    font-size: 20px;
    line-height: 1.6;

    text-align: center;

    color: #bae5ff;
}
@media screen and (max-width: 768px)
{
    .c-pageTitle--withEn .c-pageTitle__en
    {
        font-size: 5.3333333333vw;
    }
}

.c-sectionTitle
{
    position: relative;

    margin: 0 auto;
    padding: 0 0 40px;
}
@media screen and (max-width: 768px)
{
    .c-sectionTitle
    {
        padding-bottom: 10.6666666667vw;

        padding-inline: 0vw;
    }
}
.c-sectionTitle__en
{
    font-family: 'din-2014', sans-serif;
    font-size: 100px;
    font-weight: 500;
    line-height: 1.1;

    display: flex;

    width: 100%;

    white-space: nowrap;
    letter-spacing: .02em;

    color: rgba(186, 229, 255, .5);

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .c-sectionTitle__en
    {
        font-size: 14.4vw;
        line-height: 1.3;

        white-space: normal;
    }
}
@media screen and (min-width: 769px)
{
    .c-sectionTitle__en::after
    {
        min-width: 20px;
        height: 1px;
        margin-top: 30px;
        margin-left: 32px;

        content: '';

        background: rgba(0, 0, 0, .3);

        flex: 1 1 auto;
    }
}
.c-sectionTitle__jp
{
    font-size: 24px;
    font-weight: 300;
}
@media screen and (max-width: 768px)
{
    .c-sectionTitle__jp
    {
        font-size: 4.2666666667vw;

        margin-top: 0vw;
    }
}

.c-subTitle
{
    font-size: 14px;
    font-weight: 400;

    margin-top: 36px;

    text-align: center;
    letter-spacing: .12em;
}

.p-price
{
    font-family: 'Zen Kaku Gothic Antique', sans-serif;

    color: #2c2c2c;
    background: #fff;
}
.p-price__block
{
    padding-top: 120px;
}
@media screen and (max-width: 768px)
{
    .p-price__block
    {
        padding-top: 10.6666666667vw;
    }
}
.p-price__block--faq
{
    padding-top: 40px;
}
@media screen and (max-width: 768px)
{
    .p-price__block--faq
    {
        padding-top: 7.4666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-price__block--bottle
    {
        padding-top: 21.3333333333vw;
    }
}
.p-price__lead
{
    font-size: 16px;

    margin-top: 16px;

    text-align: center;
    letter-spacing: .06em;

    color: rgba(0, 0, 0, .8);
}
@media screen and (max-width: 768px)
{
    .p-price__lead
    {
        font-size: 3.7333333333vw;
        line-height: 1.8;

        margin-top: 3.2vw;
    }
}
.p-price__leadRed
{
    font-weight: 700;

    color: #ff807f;
}
.p-price__note
{
    font-size: 14px;
    font-weight: 300;
    line-height: 26px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-price__note
    {
        font-size: 3.7333333333vw;
        line-height: 1.8;
    }
}
.p-price__featureGrid
{
    display: grid;

    max-width: 900px;
    margin: 34px auto 0;

    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-price__featureGrid
    {
        margin-top: 5.3333333333vw;

        gap: 3.2vw;
    }
}
.p-price__feature
{
    display: grid;

    padding: 20px 32px;

    border: 1px solid #6cc7ff;
    border-radius: 5px;
    background: #fff;

    grid-template-columns: 86px 1fr;
    gap: 16px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-price__feature
    {
        padding: 3.2vw;

        border-radius: 1.3333333333vw;

        grid-template-columns: 1fr;
        gap: 2.6666666667vw;
        justify-content: center;
        justify-items: center;
    }
}
@media screen and (max-width: 768px)
{
    .p-price__featureBody
    {
        margin: 0 0 auto 0;
    }
}
.p-price__blockTitle
{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;

    margin-bottom: 20px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-price__blockTitle
    {
        font-size: 5.3333333333vw;

        margin-bottom: 2.6666666667vw;

        text-align: center;
    }
}
.p-price #plastic-bottle .p-price__featureGrid
{
    display: flex;

    margin: 34px auto 40px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-price #plastic-bottle .p-price__featureGrid
    {
        margin: 6.4vw auto 10.6666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-price #plastic-bottle .p-price__feature
    {
        padding: 3.2vw;

        grid-template-columns: 22.9333333333vw 1fr;
        gap: 2.6666666667vw;
        justify-content: center;
        justify-items: center;
    }
}
.p-price #plastic-bottle .p-price__featureTitle
{
    text-align: left;
}
@media screen and (max-width: 768px)
{
    .p-price #plastic-bottle .p-price__featureIcon img
    {
        max-width: 17.3333333333vw;
    }
}
.p-price__featurenote
{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.4;

    margin-bottom: 16px;

    text-align: center;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .p-price__featurenote
    {
        font-size: 4.8vw;

        margin-bottom: 2.6666666667vw;
    }
}
.p-price__featurenoteStrong
{
    color: #ff807f;
}
.p-price__featureIcon
{
    display: flex;

    max-width: 86px;
    max-height: 70px;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-price__featureIcon
    {
        max-width: 22.9333333333vw;
        max-height: 13.3333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-price__featureIcon img
    {
        max-width: 22.9333333333vw;
        max-height: 13.3333333333vw;
    }
}
.p-price__featureTitle
{
    font-size: 16px;

    color: #6cc7ff;
}
@media screen and (max-width: 768px)
{
    .p-price__featureTitle
    {
        font-size: 3.7333333333vw;

        text-align: center;
    }
}
.p-price__featureText
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.7;

    margin-top: 6px;
}
@media screen and (max-width: 768px)
{
    .p-price__featureText
    {
        font-size: 3.2vw;
        line-height: 1.5;

        margin-top: 2.6666666667vw;
    }
    .p-price__featureText--small
    {
        font-size: 2.6666666667vw;
    }
}
.p-price__centerText
{
    font-size: 16px;

    margin-top: 60px;
    margin-bottom: 10px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-price__centerText
    {
        font-size: 4.2666666667vw;
        line-height: 1.8;

        margin-top: 10.6666666667vw;
        margin-bottom: 2.6666666667vw;
    }
}
.p-price__productcards
{
    display: grid;

    max-width: 900px;
    margin: 20px auto 40px;

    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-price__productcards
    {
        max-width: 100%;

        grid-template-columns: 1fr;
        gap: 5.3333333333vw;
    }
}
.p-price__productcard
{
    padding: 40px;

    border-radius: 5px;
    background: #fafafa;
}
@media screen and (max-width: 768px)
{
    .p-price__productcard
    {
        padding: 9.0666666667vw 4.2666666667vw;

        border-radius: 1.3333333333vw;
    }
}
.p-price__productcardHead
{
    display: flex;

    align-items: baseline;
}
.p-price__productsize
{
    font-size: 24px;
    font-weight: 200;
    line-height: 1;

    display: inline-flex;

    min-width: 83px;
    padding: 5px 8px;

    letter-spacing: 0;

    color: #fff;
    border-radius: 5px;
    background: rgba(108, 199, 255, .8);

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-price__productsize
    {
        font-size: 4.8vw;

        min-width: 16vw;
        padding: 1.3333333333vw 1.0666666667vw;

        border-radius: 1.3333333333vw;
    }
}
.p-price__productset
{
    font-size: 18px;

    margin-left: auto;
}
@media screen and (max-width: 768px)
{
    .p-price__productset
    {
        font-size: 4.2666666667vw;
    }
}
.p-price__productprice
{
    font-family: 'din-2014', sans-serif;
    font-size: 30px;
    font-weight: 200;

    margin-left: 10px;

    white-space: nowrap;
    letter-spacing: .02em;

    color: #ff807f;
}
@media screen and (max-width: 768px)
{
    .p-price__productprice
    {
        font-size: 6.4vw;

        margin-left: 1.0666666667vw;
    }
}
.p-price__producttax
{
    font-size: 12px;
    font-weight: 400;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .p-price__producttax
    {
        font-size: 3.2vw;
    }
}
.p-price__productbottles
{
    display: grid;

    margin-top: 16px;

    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .p-price__productbottles
    {
        margin-top: 8vw;

        gap: 4.2666666667vw;
    }
}
.p-price__productbottle
{
    display: grid;

    justify-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-price__productbottle
    {
        gap: 2.6666666667vw;
    }
}
.p-price__productbottle img
{
    width: auto;
    height: 218px;
}
@media screen and (max-width: 768px)
{
    .p-price__productbottle img
    {
        height: 45.3333333333vw;
    }
}
.p-price__productor
{
    font-size: 24px;

    color: #828282;
}
@media screen and (max-width: 768px)
{
    .p-price__productor
    {
        font-size: 5.0666666667vw;
    }
}
.p-price__period
{
    display: flex;

    margin: 22px 0 80px;

    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}
@media screen and (max-width: 768px)
{
    .p-price__period
    {
        display: grid;

        margin: 4.8vw 0 13.8666666667vw;

        grid-template-columns: repeat(2, auto);
        justify-content: center;
        gap: 2.6666666667vw;
    }
}
.p-price__pill
{
    font-size: 14px;
    font-weight: 300;
    line-height: 26px;

    padding: 0 20px;

    cursor: pointer;

    border: 1px solid #6cc7ff;
    border-radius: 5px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-price__pill
    {
        font-size: 3.7333333333vw;
        line-height: 7.4666666667vw;

        padding: 0 5.3333333333vw;

        border-radius: 1.3333333333vw;
    }
}
.p-price__smallText
{
    font-size: 16px;
    line-height: 26px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-price__smallText
    {
        font-size: 4.2666666667vw;
        line-height: 1.8;
    }
}
.p-price__option
{
    position: relative;

    max-width: 900px;
    margin: 0 auto 80px;
    padding: 24px;

    border: 2px solid #dbf1ff;
    border-radius: 5px;
    background-color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-price__option
    {
        width: 100%;
        margin: 0 auto 0vw;
        padding: 4.8vw;

        border-radius: 1.3333333333vw;
    }
}
.p-price__optiontitle
{
    font-size: 24px;
    font-weight: 400;

    position: absolute;
    top: -14px;
    left: 50%;

    padding: 0 24px;

    transform: translateX(-50%);

    background-color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-price__optiontitle
    {
        font-size: 5.3333333333vw;

        top: -3.2vw;

        padding: 0 3.7333333333vw;

        white-space: nowrap;
    }
}
.p-price__optionInner
{
    display: flex;

    gap: 24px;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-price__optionInner
    {
        display: grid;

        grid-template-columns: 29.3333333333vw 1fr;
        -moz-column-gap: 5.3333333333vw;
             column-gap: 5.3333333333vw;
        row-gap: 3.2vw;
        justify-content: start;
        align-items: center;
    }
}
@media screen and (max-width: 768px)
{
    .p-price__optionBody
    {
        display: contents;
    }
}
.p-price__optionImg
{
    display: flex;

    width: 110px;
    height: 110px;

    border-radius: 50%;
    background: #dbf1ff;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-price__optionImg
    {
        width: 29.3333333333vw;
        height: 29.3333333333vw;
    }
}
.p-price__optionImg img
{
    max-width: 59px;
}
@media screen and (max-width: 768px)
{
    .p-price__optionImg img
    {
        max-width: 15.7333333333vw;
    }
}
.p-price__optionName
{
    font-size: 16px;
}
@media screen and (max-width: 768px)
{
    .p-price__optionName
    {
        font-size: 4.2666666667vw;

        grid-column: 2;
        grid-row: 1;
    }
}
.p-price__optionPrice
{
    font-size: 16px;

    margin-left: 16px;
}
@media screen and (max-width: 768px)
{
    .p-price__optionPrice
    {
        font-size: 3.7333333333vw;

        display: inline-block;

        margin-top: 2.1333333333vw;
        margin-left: 0vw;
    }
}
.p-price__tax
{
    font-size: 12px;

    margin-left: 4px;
}
@media screen and (max-width: 768px)
{
    .p-price__tax
    {
        font-size: 3.2vw;
    }
}
.p-price__optionText
{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;

    margin-top: 16px;
}
@media screen and (max-width: 768px)
{
    .p-price__optionText
    {
        font-size: 3.7333333333vw;

        width: 100%;
        margin-top: 0;

        grid-column: 1/-1;
        grid-row: 2;
    }
    .p-price__optionText span
    {
        font-size: 2.6666666667vw;
    }
}
.p-price__attention
{
    font-size: 14px;

    max-width: 900px;
    margin: 26px auto 0;
    padding-top: 14px;
}
@media screen and (max-width: 768px)
{
    .p-price__attention
    {
        font-size: 3.7333333333vw;

        margin-top: 8vw;
        padding-top: 2.6666666667vw;
    }
}
.p-price__attentionTitle
{
    font-size: 14px;

    margin-bottom: 20px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-price__attentionTitle
    {
        font-size: 3.7333333333vw;

        margin-bottom: 3.7333333333vw;
    }
}
.p-price__attentionList
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;
}
@media screen and (max-width: 768px)
{
    .p-price__attentionList
    {
        font-size: 3.2vw;
    }
}
.p-price__cta
{
    display: flex;

    margin-top: 40px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-price__cta
    {
        margin-top: 10.6666666667vw;
    }
}

.c-accordion
{
    max-width: 900px;
    margin: 0 auto;
}
.c-accordion__item
{
    padding: 0 0 40px;
}
@media screen and (max-width: 768px)
{
    .c-accordion__item
    {
        padding-bottom: 6.4vw;
    }
}
.c-accordion__trigger
{
    display: flex;

    width: 100%;
    padding: 0 0;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: transparent;

    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .c-accordion__trigger
    {
        padding: 0 0 0vw 0;

        gap: 4.2666666667vw;
    }
}
.c-accordion__trigger.is-active .c-accordion__chev
{
    transform: rotate(225deg);
}
.c-accordion__trigger::after
{
    display: none;
}
.c-accordion__icon
{
    font-size: 18px;
    font-weight: 400;

    display: grid;

    width: 28px;
    height: 28px;
    padding-bottom: 2px;

    color: #fff;
    border-radius: 999px;
    background: #8fd0f3;

    flex: 0 0 28px;
    place-items: center;
}
@media screen and (max-width: 768px)
{
    .c-accordion__icon
    {
        font-size: 4.8vw;

        width: 7.4666666667vw;
        height: 7.4666666667vw;

        flex: 0 0 7.4666666667vw;
    }
}
.c-accordion__question
{
    font-size: 16px;
    line-height: 1.8;

    flex: 1;
}
@media screen and (max-width: 768px)
{
    .c-accordion__question
    {
        font-size: 4.2666666667vw;
        line-height: 1.4;

        padding: 0 6.4vw 0 0vw;
    }
}
.c-accordion__chev
{
    position: relative;
    top: -2px;

    width: 10px;
    height: 10px;

    transition: transform .2s ease;
    transform: rotate(45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;

    flex: 0 0 10px;
}
@media screen and (max-width: 768px)
{
    .c-accordion__chev
    {
        top: -.5333333333vw;

        width: 2.6666666667vw;
        height: 2.6666666667vw;

        flex: 0 0 2.6666666667vw;
    }
}
.c-accordion__answerIcon
{
    font-size: 18px;
    font-weight: 400;

    display: grid;

    width: 28px;
    height: 28px;
    padding-bottom: 2px;

    color: #8fd0f3;
    border: 1px solid;
    border-radius: 999px;

    flex: 0 0 28px;
    place-items: center;
}
@media screen and (max-width: 768px)
{
    .c-accordion__answerIcon
    {
        font-size: 4.8vw;

        width: 7.4666666667vw;
        height: 7.4666666667vw;

        flex: 0 0 7.4666666667vw;
    }
}
.c-accordion__answer
{
    font-size: 14px;
    line-height: 1.6;
}
@media screen and (max-width: 768px)
{
    .c-accordion__answer
    {
        font-size: 3.7333333333vw;
    }
}
.c-accordion__content
{
    padding-top: 16px;
}
@media screen and (max-width: 768px)
{
    .c-accordion__content
    {
        padding-top: 4.2666666667vw;
    }
}
.c-accordion__inner
{
    display: flex;

    width: 100%;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: transparent;

    align-items: center;
    gap: 10px;
    align-items: stretch;
}
@media screen and (max-width: 768px)
{
    .c-accordion__inner
    {
        font-size: 3.7333333333vw;

        gap: 2.6666666667vw;
    }
}

.p-faq .c-pageAnchorNav
{
    padding-bottom: 40px;

    row-gap: 4px;
    -moz-column-gap: 40px;
         column-gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-faq .c-pageAnchorNav
    {
        margin-bottom: 21.3333333333vw;
        padding: 0 0vw;

        -moz-column-gap: 0;

             column-gap: 0;
        row-gap: 10.6666666667vw;
    }
}
.p-faq .c-pageAnchorNav__item
{
    display: flex;
    flex-direction: column;

    justify-content: space-between;
}
@media screen and (max-width: 768px)
{
    .p-faq .c-pageAnchorNav__item
    {
        display: flex;
        flex-direction: column;

        width: calc(33% - 0vw);

        justify-content: space-between;
    }
}
.p-faq .c-pageAnchorNav .c-pageAnchorNav__label
{
    line-height: 1.4;

    margin: auto 0;
}
@media screen and (max-width: 768px)
{
    .p-faq .c-pageAnchorNav .c-pageAnchorNav__label
    {
        margin: auto 0;
    }
}

.p-faq__faqSection
{
    margin-top: 80px;
    padding: 40px 0;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection
    {
        margin-top: 0vw;
        padding: 21.3333333333vw 0 21.3333333333vw;
    }
}
.p-faq__faqSection--blue
{
    position: relative;

    padding: 40px 0 60px;

    background: #f1f9ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .p-faq__faqSection--blue
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection--blue
    {
        --wave-offset: 5.3333333333vw;
    }
}
.p-faq__faqSection--blue::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #f1f9ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection--blue::before
    {
        height: 5.3333333333vw;
    }
}
.p-faq__faqSection--blue::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #f1f9ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection--blue::after
    {
        height: 5.3333333333vw;
    }
}
.p-faq__faqSection--blue > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection--blue
    {
        margin-top: 0vw;
        padding: 8vw 0 10.6666666667vw;
    }
}
.p-faq__faqSection .p-faq__faqTitle
{
    font-size: 20px;
    font-weight: 400;

    margin-bottom: 0;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection .p-faq__faqTitle
    {
        font-size: 5.3333333333vw;

        margin-bottom: 5.3333333333vw;
    }
}
.p-faq__faqSection .c-accordion__trigger
{
    display: flex;

    width: 100%;
    padding: 0 0;
    padding: 40px 0 20px 0;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: transparent;

    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection .c-accordion__trigger
    {
        padding: 5.3333333333vw 0 5.3333333333vw 0;

        gap: 2.6666666667vw;
    }
}
.p-faq__faqSection .c-accordion__item
{
    padding: 0;
    padding-bottom: 20px;

    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection .c-accordion__item
    {
        padding-bottom: 0vw;
    }
}
.p-faq__faqSection .c-accordion__content
{
    padding-top: 0;
    padding-bottom: 20px;
}
@media screen and (max-width: 768px)
{
    .p-faq__faqSection .c-accordion__content
    {
        padding-bottom: 5.3333333333vw;
    }
}

.p-faq__links
{
    display: flex;
    flex-direction: column;

    margin-top: 16px;

    align-items: flex-start;
    gap: 14px;
}
@media screen and (max-width: 768px)
{
    .p-faq__links
    {
        margin-top: 2.6666666667vw;

        gap: 3.7333333333vw;
    }
}
.p-faq__links .c-link--more
{
    font-size: 12px;
    line-height: 1;
}
@media screen and (max-width: 768px)
{
    .p-faq__links .c-link--more
    {
        font-size: 3.2vw;
    }
}

.p-interview
{
    position: relative;

    background: linear-gradient(186deg, #fff 20%, rgba(219, 241, 255, .6) 45%, #f7f0e2 100%);
}
.p-interview__mvMedia
{
    width: calc(50vw + 550px);
}
@media screen and (max-width: 768px)
{
    .p-interview__mvMedia
    {
        width: 100%;
    }
}
.p-interview__mvImg
{
    display: block;

    width: 100%;

    border-radius: 0 0 86px 0;
}
@media screen and (max-width: 768px)
{
    .p-interview__mvImg
    {
        width: auto;
        height: 449px;

        -o-object-fit: cover;

           object-fit: cover;
    }
}
.p-interview__mvTitle
{
    line-height: 1.4;

    display: flex;
    flex-direction: column;

    width: 100%;
    margin: -92px auto 0;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-interview__mvTitle
    {
        margin: -14.9333333333vw auto 0;
    }
}
.p-interview__mvEn
{
    font-family: 'din-2014', sans-serif;
    font-size: 100px;
    font-weight: 400;
    line-height: .9;

    color: #bae5ff;
}
@media screen and (max-width: 768px)
{
    .p-interview__mvEn
    {
        font-size: 16vw;
    }
}
.p-interview__mvMeta
{
    font-size: 20px;
    font-weight: 300;

    margin-top: 16px;
}
@media screen and (max-width: 768px)
{
    .p-interview__mvMeta
    {
        font-size: 4.2666666667vw;

        margin-top: 2.1333333333vw;
    }
}
.p-interview__mvJp
{
    font-size: 30px;
    font-weight: 300;

    letter-spacing: .14em;
}
@media screen and (max-width: 768px)
{
    .p-interview__mvJp
    {
        font-size: 5.3333333333vw;

        margin-top: 1.0666666667vw;
    }
}
.p-interview__catch
{
    padding: 112px 0 0;
}
@media screen and (max-width: 768px)
{
    .p-interview__catch
    {
        padding-top: 10.6666666667vw;
    }
}
.p-interview__catchText
{
    font-size: 30px;
    line-height: 1.7;

    text-align: center;
    letter-spacing: .36em;
}
@media screen and (max-width: 768px)
{
    .p-interview__catchText
    {
        font-size: 4.8vw;
    }
}
.p-interview .heading-highlight
{
    display: inline;

    background: linear-gradient(transparent 60%, #dff3ff 60%);
}
.p-interview__body
{
    line-height: 1.5;

    margin-top: 50px;
    padding: 40px 0;
}
@media screen and (max-width: 768px)
{
    .p-interview__body
    {
        margin-top: 0vw;
        padding: 10.6666666667vw 0 0;
    }
}
.p-interview__grid
{
    display: grid;

    max-width: 900px;
    margin: auto;

    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-interview__grid
    {
        grid-template-columns: auto;
        gap: 5.3333333333vw;
    }
}
.p-interview__grid--reverse
{
    margin-top: 40px;

    grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 768px)
{
    .p-interview__grid--reverse
    {
        margin-top: 10.6666666667vw;

        grid-template-columns: auto;
    }
    .p-interview__grid--reverse > *:first-child
    {
        order: 2;
    }
    .p-interview__grid--reverse > *:last-child
    {
        order: 1;
    }
}
.p-interview__photoLabel
{
    font-family: 'din-2014', sans-serif;
    font-size: 20px;

    margin-top: 18px;

    text-align: center;
}
.p-interview__kicker
{
    font-size: 20px;

    margin-bottom: 16px;
    padding-bottom: 20px;

    color: #6cc7ff;
    border-bottom: 1px solid rgba(130, 130, 130, .3);
}
@media screen and (max-width: 768px)
{
    .p-interview__kicker
    {
        font-size: 4.2666666667vw;

        margin-bottom: 2.6666666667vw;
        padding-bottom: 2.6666666667vw;
    }
}
.p-interview__text
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.8;
}
@media screen and (max-width: 768px)
{
    .p-interview__text
    {
        font-size: 3.7333333333vw;
    }
}
.p-interview__text p + p
{
    margin-top: 12px;
}
@media screen and (max-width: 768px)
{
    .p-interview__text p + p
    {
        margin-top: 3.2vw;
    }
}
.p-interview__hl
{
    color: #ff807f;
}
.p-interview__qline
{
    font-size: 20px;

    margin-bottom: 12px;
    padding-bottom: 10px;

    letter-spacing: .08em;

    color: #6cc7ff;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
.p-interview__hl2
{
    font-weight: 700;

    color: #ff807f;
}
.p-interview__col--img
{
    display: grid;

    place-items: center;
}
.p-interview__img
{
    display: block;

    width: 100%;
    max-width: 520px;
    height: auto;
}
.p-interview__movie
{
    padding: 40px 0 120px;
}
@media screen and (max-width: 768px)
{
    .p-interview__movie
    {
        padding: 10.6666666667vw 0 18.6666666667vw;
    }
}
.p-interview__movieTitle
{
    font-size: 20px;
    font-weight: 300;

    text-align: center;
}
.p-interview__movieGrid
{
    display: grid;

    max-width: 900px;
    margin: auto;
    margin-top: 40px;

    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-interview__movieGrid
    {
        margin-top: 5.3333333333vw;

        gap: 5.3333333333vw;
    }
}
.p-interview__ytPh
{
    display: grid;

    width: 100%;

    aspect-ratio: 16/9;
    place-items: center;
}
.p-interview__ytPh iframe
{
    width: 100%;
    height: 100%;

    border: 0;
}

.p-resettime
{
    position: relative;
}
.p-resettime__softwater
{
    position: relative;

    margin-top: 60px;
    padding: 40px 0 20px;

    background-color: #faf3e7;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .p-resettime__softwater
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater
    {
        --wave-offset: 5.3333333333vw;
    }
}
.p-resettime__softwater::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #faf3e7;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater::before
    {
        height: 5.3333333333vw;
    }
}
.p-resettime__softwater::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #faf3e7;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater::after
    {
        height: 5.3333333333vw;
    }
}
.p-resettime__softwater > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater
    {
        margin-top: 0;
        padding: 5.3333333333vw 0 6.4vw;
    }
}
.p-resettime__softwater-inner
{
    display: grid;

    grid-template-columns: 1.3fr 1fr;
    gap: 60px;
    align-items: end;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-inner
    {
        grid-template-columns: 1fr;
        gap: 3.2vw;
        align-items: center;
    }
}
@media screen and (min-width: 769px)
{
    .p-resettime__softwater-content
    {
        margin-bottom: 120px;
    }
}
.p-resettime__softwater-title
{
    font-size: 24px;
    font-weight: 400;

    width: -webkit-fit-content;

    width: -moz-fit-content;

    width: fit-content;
    margin-bottom: 40px;
    padding-bottom: 12px;

    border-bottom: 5px dotted #fff;
}
.p-resettime__softwater-title span
{
    font-size: 32px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-title span
    {
        font-size: 8vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-title
    {
        font-size: 5.3333333333vw;
        line-height: 1.4;

        width: 100%;
        margin-bottom: 5.3333333333vw;
        padding-bottom: 4.2666666667vw;

        border-bottom: 1.3333333333vw dotted #fff;
    }
}
.p-resettime__softwater-text p
{
    font-size: 14px;
    line-height: 2;

    margin-bottom: 8px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-text p
    {
        font-size: 3.7333333333vw;
        line-height: 1.6;

        margin-bottom: 2.1333333333vw;
    }
}
.p-resettime__softwater-image
{
    position: relative;
}
.p-resettime__softwater-image img
{
    position: relative;
    z-index: 2;

    width: 100%;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-image img
    {
        border-radius: 1.3333333333vw;
    }
}
.p-resettime__softwater-image::after
{
    position: absolute;
    z-index: 1;
    right: -10px;
    bottom: -10px;

    width: 100%;
    height: 100%;

    content: '';

    border-radius: 5px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__softwater-image
    {
        order: 2;
    }
    .p-resettime__softwater-image::after
    {
        right: -2.1333333333vw;
        bottom: -2.1333333333vw;

        border-radius: 1.3333333333vw;
    }
}
.p-resettime__mv
{
    position: relative;

    height: 605px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mv
    {
        height: 144vw;
    }
}
.p-resettime__mv::after
{
    position: absolute;
    z-index: 3;
    bottom: -1%;
    left: 0;

    width: 100%;
    height: 70px;

    content: '';
    pointer-events: none;

    background: #e9f7ff;

    -webkit-mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
            mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mv::after
    {
        bottom: -2%;
    }
}
.p-resettime__mvImg
{
    height: 100%;
}
.p-resettime__mvImg img
{
    position: relative;
    z-index: 0;

    display: block;

    width: 100%;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-resettime__mvImg::after
{
    position: absolute;
    z-index: 1;

    content: '';
    pointer-events: none;

    background: rgba(0, 0, 0, .4);

    inset: 0;
}
.p-resettime__mvContent
{
    position: absolute;
    z-index: 10;

    display: flex;
    flex-direction: column;

    height: 100%;
    padding-bottom: 120px;

    pointer-events: none;

    color: #fff;

    inset: 0;
    justify-content: center;
    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvContent
    {
        padding: 0 0 42.6666666667vw;
    }
}
.p-resettime__mvInner
{
    position: relative;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvInner
    {
        padding: 0 0 0 5.0666666667vw;
    }
}
.p-resettime__mvTitle
{
    font-size: 30px;
    font-weight: 100;
    line-height: 1.7;

    margin-bottom: 20px;

    letter-spacing: .11em;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvTitle
    {
        font-size: 5.3333333333vw;

        margin-bottom: 5.3333333333vw;
    }
}
.p-resettime__mvLead
{
    font-size: 20px;
    font-weight: 300;
    line-height: 1;

    position: relative;

    display: flex;

    padding-bottom: 26px;

    letter-spacing: .05em;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvLead
    {
        font-size: 3.7333333333vw;

        padding-bottom: 3.2vw;
    }
}
.p-resettime__mvLead::before
{
    min-width: 33px;
    height: 1px;
    margin-right: 10px;

    content: '';

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvLead::before
    {
        min-width: 4.5333333333vw;
        margin-right: .5333333333vw;
    }
}
.p-resettime__mvSub
{
    font-size: 20px;
    font-weight: 300;
    line-height: 1.7;

    letter-spacing: .05rem;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvSub
    {
        font-size: 3.7333333333vw;
    }
}
.p-resettime__mvProducts
{
    position: absolute;
    z-index: 4;
    right: 40px;
    bottom: -170px;

    display: flex;

    align-items: flex-end;
    gap: 22px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvProducts
    {
        right: 3.7333333333vw;
        bottom: -40vw;

        gap: 3.2vw;
    }
}
.p-resettime__mvProduct
{
    display: block;

    width: auto;
    height: 256px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__mvProduct
    {
        height: 38.9333333333vw;
    }
}
.p-resettime__point
{
    padding: 100px 0 100px;

    text-align: center;
    letter-spacing: .1em;

    background: #e9f7ff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__point
    {
        padding: 6.4vw 0 17.0666666667vw;
    }
}
.p-resettime__pointTitle
{
    font-size: 20px;
    font-weight: 400;

    display: inline-block;

    margin-bottom: 40px;
    padding: 16px 80px;

    border-radius: 999px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointTitle
    {
        font-size: 4.8vw;
        line-height: 1.4;

        width: 100%;
        margin-bottom: 5.3333333333vw;
        padding: 2.1333333333vw 10.6666666667vw;
    }
}
.p-resettime__pointHead
{
    line-height: 1.8;

    margin-bottom: 40px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointHead
    {
        font-size: 3.7333333333vw;

        margin-bottom: 5.3333333333vw;
    }
}
.p-resettime__pointCopy
{
    font-size: 24px;
    font-weight: 400;

    margin-bottom: 24px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointCopy
    {
        font-size: 4.8vw;

        margin-bottom: 6.4vw;
    }
}
.p-resettime__pointLead
{
    text-align: center;
}
@media screen and (min-width: 769px)
{
    .p-resettime__pointLead
    {
        font-size: 16px;
        line-height: 2;
    }
}
.p-resettime__pointGrid
{
    display: grid;

    max-width: 630px;
    margin: auto;

    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    align-items: start;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointGrid
    {
        max-width: 100%;

        gap: 2.1333333333vw;
    }
}
.p-resettime__pointItem
{
    display: grid;

    transition: opacity .8s ease, transform .8s ease;
    transform: translateY(40px);

    opacity: 0;

    justify-items: center;
    gap: 24px;
}
.p-resettime__pointItem.is-show
{
    transform: translateX(0);

    opacity: 1;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointItem
    {
        gap: 4.2666666667vw;
    }
}
.p-resettime__pointItem:nth-child(2)
{
    transition-delay: .2s;
}
.p-resettime__pointItem:nth-child(3)
{
    transition-delay: .4s;
}
.p-resettime__pointIcon
{
    display: grid;

    width: 130px;
    height: 130px;

    border-radius: 999px;
    background: #fff;

    place-items: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointIcon
    {
        width: 18.6666666667vw;
        height: 18.6666666667vw;
    }
}
.p-resettime__pointIcon img
{
    max-width: 56px;
    max-height: 73px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointIcon img
    {
        max-width: 8vw;
        max-height: 12vw;
    }
}
.p-resettime__pointText
{
    font-size: 16px;
    line-height: 1.3;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pointText
    {
        font-size: 3.2vw;
    }
}
.p-resettime__quality
{
    padding: 0 0 110px;

    background: linear-gradient(180deg, #e9f7ff 0%, #fff 90%);
}
@media screen and (max-width: 768px)
{
    .p-resettime__quality
    {
        padding-bottom: 18.6666666667vw;
    }
}
.p-resettime__qGrid
{
    display: grid;

    margin-top: 46px;

    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px;
    align-items: end;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qGrid
    {
        display: block;

        margin-top: 10.6666666667vw;
        padding-top: 10.6666666667vw;
    }
}
.p-resettime__qCard
{
    position: relative;

    display: block;
    overflow: hidden;

    height: 380px;

    text-decoration: none;

    color: #fff;
    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qCard
    {
        height: 112vw;
        min-height: 112vw;
        margin-right: 8px;

        border-radius: 1.3333333333vw;
    }
}
.p-resettime__qCard::before
{
    position: absolute;
    z-index: 1;

    content: '';
    transition: opacity .4s ease;
    pointer-events: none;

    opacity: 0;
    background: rgba(0, 0, 0, .5);

    inset: 0;
}
@media screen and (min-width: 769px)
{
    .p-resettime__qCard:hover::before
    {
        opacity: .7;
    }
    .p-resettime__qCard:hover .p-resettime__qImg img
    {
        transform: scale(1.06);
    }
    .p-resettime__qCard:hover .p-resettime__qCap
    {
        height: 100%;

        transform: translateY(-8px);

        background-color: transparent;
    }
    .p-resettime__qCard:hover .p-resettime__qTitle
    {
        transform: translateY(-4px);
    }
    .p-resettime__qCard:hover .p-resettime__qBody
    {
        max-height: 320px;
        margin-top: 10px;

        transform: translateY(0);

        opacity: 1;
    }
}
.p-resettime__qImg
{
    position: absolute;
    z-index: 0;

    inset: 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qImg
    {
        position: relative;

        inset: auto;
        aspect-ratio: 270/320;
    }
}
.p-resettime__qImg img
{
    display: block;

    width: 100%;
    height: 100%;

    transition: transform .6s ease;

    -o-object-fit: cover;

       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qImg img
    {
        transition: none;
    }
}
.p-resettime__qCap
{
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    left: 0;

    display: flex;
    flex-direction: column;

    height: 80px;
    padding: 10px 8px;

    transition: height .35s ease, background-color .35s ease, padding .35s ease, transform .35s ease;

    border-radius: 5px;
    background-color: rgba(0, 0, 0, .5);

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qCap
    {
        position: relative;
        top: 0;
        right: auto;
        left: auto;

        height: 64vw !important;
        margin-top: 0;
        padding: 2.6666666667vw 2.6666666667vw;

        transition: none;
        transform: none;

        border-radius: 0vw;
        background-color: #000;

        justify-content: flex-start;
    }
}
.p-resettime__qTitle
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;

    transition: transform .35s ease, opacity .35s ease;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qTitle
    {
        font-size: 4.2666666667vw;

        position: absolute;
        top: -24vw;
        left: 0;

        display: flex;

        width: 100%;
        height: 24vw;
        padding: 2.1333333333vw 2.6666666667vw;

        transition: none;

        border-radius: 5px 5px 0 0;
        background-color: rgba(0, 0, 0, .5);

        justify-content: center;
        align-items: center;
    }
}
.p-resettime__qBody
{
    font-size: 10px;
    line-height: 1.7;

    overflow: hidden;

    max-height: 0;
    margin-top: 0;

    transition: opacity .35s ease, transform .35s ease, max-height .35s ease, margin-top .35s ease;
    transform: translateY(12px);
    letter-spacing: .06em;

    opacity: 0;
    color: rgba(255, 255, 255, .92);
}
@media screen and (max-width: 768px)
{
    .p-resettime__qBody
    {
        max-height: none;
        margin-top: 1.6vw;

        transition: none;
        transform: none;

        opacity: 1;
    }
}
.p-resettime__qBody p
{
    font-size: 14px;
    font-weight: 300;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qBody p
    {
        font-size: 3.4666666667vw;
    }
}
.p-resettime__qBody p.p-resettime__qNote
{
    font-size: 10px;
    font-weight: 300;
    line-height: 1.6;
}
@media screen and (max-width: 768px)
{
    .p-resettime__qBody p.p-resettime__qNote
    {
        font-size: 2.9333333333vw;
    }
}
.p-resettime__safety
{
    position: relative;

    overflow: hidden;

    padding: 70px 0 100px;

    color: #fff;
    background: url('../img/resettime/safety-bg.png') no-repeat top/100% 100%;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safety
    {
        min-height: 200vw;
        padding: 10.6666666667vw 0;

        background: url('../img/resettime/safety-bg-sp.png') no-repeat center/auto 100%;
    }
}
.p-resettime__safety::before
{
    position: absolute;
    z-index: 3;
    top: -1%;
    left: 0;

    width: 100%;
    height: 70px;

    content: '';
    pointer-events: none;

    -webkit-mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
            mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
}
.p-resettime__safety::after
{
    position: absolute;
    z-index: 3;
    bottom: -1%;
    left: 0;

    width: 100%;
    height: 70px;

    content: '';
    pointer-events: none;

    background: #fff;

    -webkit-mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
            mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
}
.p-resettime__safetyHead
{
    display: grid;

    padding-bottom: 8px;

    border-bottom: 1px solid #fff;

    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 20px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyHead
    {
        padding-bottom: 0;

        gap: 2.6666666667vw;
    }
}
.p-resettime__safetyEn
{
    font-family: 'din-2014', sans-serif;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.4;

    margin: 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyEn
    {
        font-size: 10.6666666667vw;
    }
}
.p-resettime__safetyCatch
{
    font-size: 16px;
    font-weight: 300;

    white-space: nowrap;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyCatch
    {
        font-size: 3.7333333333vw;
        line-height: 1.2;

        white-space: normal;
    }
}
.p-resettime__safetySlider
{
    min-height: 310px;
    margin-top: 40px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetySlider
    {
        overflow: hidden;

        height: auto;
        margin-top: 5.3333333333vw;
    }
}
.p-resettime__safetySlider .slick-list
{
    overflow: visible;

    padding-right: 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetySlider .slick-list
    {
        padding: 0;
    }
}
.p-resettime__safetySlider .slick-slide
{
    height: auto;
}
.p-resettime__safetyGrid
{
    display: grid;

    min-height: 280px;

    grid-template-columns: 378px 1fr 0;
    gap: 40px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyGrid
    {
        text-align: center;

        grid-template-columns: 1fr;
        gap: 5.3333333333vw;
    }
}
.p-resettime__safetyPhotoInner
{
    display: flex;

    justify-content: center;
    align-items: center;
}
.p-resettime__safetyPhotoImg
{
    display: block;

    width: auto;
    height: auto;
    max-height: 280px;

    border-radius: 5px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyPhotoImg
    {
        width: 100%;
        max-height: none;
    }
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyPhotoImg--small
    {
        width: auto;
        max-height: 53.3333333333vw;
    }
}
.p-resettime__safetyNo
{
    font-family: 'din-2014', sans-serif;
    font-size: 40px;
    font-weight: 400;

    margin: 0 0 16px;

    color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyNo
    {
        font-size: 8vw;

        margin: 0 0;
    }
}
.p-resettime__safetyNoto
{
    font-size: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyNoto
    {
        font-size: 2.6666666667vw;
    }
}
.p-resettime__safetyTitle
{
    font-size: 24px;
    font-weight: 300;
    line-height: 1.5;

    margin: 0 0 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyTitle
    {
        font-size: 4.8vw;

        margin: 1.0666666667vw 0 2.6666666667vw;

        text-align: left;
    }
}
.p-resettime__safetyText
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.8;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyText
    {
        font-size: 3.7333333333vw;
    }
}
.p-resettime__safetyText p + p
{
    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyText p + p
    {
        margin-top: 2.6666666667vw;
    }
}
.p-resettime__safetyLink
{
    font-size: 14px;

    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyLink
    {
        font-size: 3.7333333333vw;

        margin-top: 2.6666666667vw;
    }
}
.p-resettime__safetyNav
{
    display: flex;

    width: 100px;
    margin: 0 0 0 auto;
    margin-top: 0;

    justify-content: flex-end;
    gap: 12px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyNav
    {
        display: none;

        margin-top: 6.4vw;

        justify-content: center;
    }
}
.p-resettime .p-resettime__safetyNav
{
    gap: 16px;
}
.p-resettime .p-resettime__safetyArrow
{
    width: 33px;
    height: 33px;
}
.p-resettime .p-resettime__safetyArrow::after
{
    width: 10px;
    height: 10px;

    border-right: 1px solid rgba(255, 255, 255, .95);
    border-bottom: 1px solid rgba(255, 255, 255, .95);
}
.p-resettime__safetyArrow
{
    position: relative;

    width: 42px;
    height: 42px;

    cursor: pointer;

    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 999px;
    background: transparent;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyArrow
    {
        width: 11.2vw;
        height: 11.2vw;
    }
}
.p-resettime__safetyArrow::after
{
    position: absolute;

    width: 8px;
    height: 8px;
    margin: auto;

    content: '';

    border-right: 2px solid rgba(255, 255, 255, .95);
    border-bottom: 2px solid rgba(255, 255, 255, .95);

    inset: 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime__safetyArrow::after
    {
        width: 2.1333333333vw;
        height: 2.1333333333vw;
    }
}
.p-resettime__safetyArrow--prev::after
{
    transform: rotate(135deg);
}
.p-resettime__safetyArrow--next::after
{
    transform: rotate(-45deg);
}
.p-resettime__safetyArrow:hover
{
    background: rgba(255, 255, 255, .12);
}
.p-resettime__server
{
    padding-top: 80px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__server
    {
        padding-top: 5.3333333333vw;
    }
}
.p-resettime .c-mediaAccordion
{
    display: grid;

    margin-top: 20px;

    grid-template-columns: 1fr 243px;
    gap: 44px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion
    {
        margin-top: 10.6666666667vw;

        grid-template-columns: 1fr;
        gap: 6.4vw;
    }
}
.p-resettime .c-mediaAccordion--reverse
{
    grid-template-columns: 243px 1fr;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion--reverse
    {
        grid-template-columns: 1fr;
    }
}
.p-resettime .c-mediaAccordion__list
{
    display: grid;

    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__list
    {
        gap: 3.2vw;
    }
}
.p-resettime .c-mediaAccordion__item
{
    line-height: 1.4;

    overflow: hidden;

    border-radius: 4px;
    background: #f7f0e2;
}
.p-resettime .c-mediaAccordion__q
{
    display: grid;

    width: 100%;
    padding: 20px 40px;

    cursor: pointer;
    text-align: left;

    border: 0;
    background: transparent;

    grid-template-columns: 1fr 18px;
    grid-template-rows: auto auto;
    -moz-column-gap: 14px;
         column-gap: 14px;
    row-gap: 4px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__q
    {
        padding: 5.3333333333vw 2.6666666667vw;

        -moz-column-gap: 2.6666666667vw;

             column-gap: 2.6666666667vw;
        row-gap: 1.0666666667vw;
    }
}
.p-resettime .c-mediaAccordion__label
{
    font-size: 12px;
    font-weight: 300;

    grid-column: 1/2;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__label
    {
        font-size: 3.2vw;
    }
}
.p-resettime .c-mediaAccordion__title
{
    font-size: 16px;

    grid-column: 1/2;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__title
    {
        font-size: 4.2666666667vw;
        line-height: 1.4;
    }
}
.p-resettime .c-mediaAccordion__note
{
    font-size: 10px;
    font-weight: 300;

    margin-left: 4px;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__note
    {
        font-size: 2.6666666667vw;
    }
}
.p-resettime .c-mediaAccordion__chev
{
    position: relative;

    width: 18px;
    height: 18px;

    grid-column: 2/3;
    grid-row: 1/3;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__chev
    {
        width: 4.8vw;
        height: 4.8vw;
    }
}
.p-resettime .c-mediaAccordion__chev::after
{
    position: absolute;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: transform .25s ease;
    transform: rotate(45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;

    inset: 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__chev::after
    {
        width: 1.8666666667vw;
        height: 1.8666666667vw;
    }
}
.p-resettime .c-mediaAccordion__aInner
{
    font-size: 14px;
    font-weight: 300;

    padding: 20px 0 20px;

    border-top: 1px solid #fff;

    margin-inline: 40px;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__aInner
    {
        font-size: 3.7333333333vw;
        line-height: 1.7;

        padding: 4.2666666667vw 0 4.2666666667vw;

        margin-inline: 2.6666666667vw;
    }
}
.p-resettime .c-mediaAccordion__item.is-open .c-mediaAccordion__chev::after
{
    transform: rotate(-135deg);
}
.p-resettime .c-mediaAccordion__media
{
    top: 120px;

    height: 768px;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__media
    {
        display: none;
    }
}
.p-resettime .c-mediaAccordion__media--sp
{
    display: none;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__media--sp
    {
        display: block;
    }
}
.p-resettime .c-mediaAccordion__img
{
    display: block;

    width: 100%;
    max-height: 100%;

    -o-object-fit: contain;

       object-fit: contain;
}
.p-resettime .c-mediaAccordion__temp
{
    margin-bottom: 10px;
}
.p-resettime .c-mediaAccordion__temp img
{
    max-width: 262px;
}
.p-resettime .c-mediaAccordion__noteText
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.8;

    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__noteText
    {
        font-size: 2.9333333333vw;

        margin-top: 2.6666666667vw;
    }
}
.p-resettime .c-mediaAccordion__more
{
    margin-top: 5px;

    text-align: right;
}
@media screen and (max-width: 768px)
{
    .p-resettime .c-mediaAccordion__more
    {
        margin-top: 1.6vw;
    }
}
.p-resettime .c-mediaAccordion .c-mediaAccordion__q.is-active .c-mediaAccordion__chev::after
{
    transform: rotate(-135deg);
}
.p-resettime__pet
{
    padding-top: 80px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__pet
    {
        padding-top: 16vw;
    }
}
.p-resettime__pet .c-mediaAccordion--reverse
{
    margin-top: 40px;
}
.p-resettime .p-resettime__lead
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-resettime .p-resettime__lead
    {
        font-size: 3.7333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-resettime__leadWrap
    {
        display: grid;

        grid-template-columns: 3fr 1fr;
        gap: 5.3333333333vw;
        align-items: center;
    }
    .p-resettime__leadWrap .p-resettime__lead
    {
        text-align: left;
    }
}
.p-resettime__bannerGrid
{
    display: grid;

    max-width: 1000px;
    margin: 120px auto 0;

    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-resettime__bannerGrid
    {
        margin-top: 21.3333333333vw;

        grid-template-columns: 1fr;
        gap: 2.6666666667vw;
    }
}
.p-resettime__bannerItem img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 5px;
}

#pet-bottle .c-mediaAccordion__media
{
    height: 446px;
}

.p-resettime-kazoku .p-resettime__mv::after
{
    position: absolute;
    z-index: 3;
    bottom: -1%;
    left: 0;

    width: 100%;
    height: 70px;

    content: '';
    pointer-events: none;

    background: #f7f0e2;

    -webkit-mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
            mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__mv::after
    {
        bottom: -2%;
    }
}
.p-resettime-kazoku .p-resettime__point
{
    background: #f7f0e2;
}
.p-resettime-kazoku .p-resettime__quality
{
    background: linear-gradient(180deg, #f7f0e2 0%, #fff 100%);
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__quality
    {
        padding-bottom: 26.6666666667vw;
    }
}
.p-resettime-kazoku .p-resettime__qCap
{
    height: 90px;

    background-color: rgba(145, 133, 111, .6);
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__qCap
    {
        height: 74.6666666667vw !important;

        background-color: #91856f;
    }
}
.p-resettime-kazoku .p-resettime__qCard::before
{
    background-color: rgba(145, 133, 111, .6);
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__qTitle
    {
        background-color: rgba(145, 133, 111, .6);
    }
}
.p-resettime-kazoku .p-resettime__pointIcon img
{
    max-width: 56px;
    max-height: 73px;
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__pointIcon img
    {
        max-width: 13.3333333333vw;
        max-height: 12vw;
    }
}
.p-resettime-kazoku .p-resettime__bannerGrid
{
    margin: 180px auto 0;
}
@media screen and (max-width: 768px)
{
    .p-resettime-kazoku .p-resettime__bannerGrid
    {
        margin-top: 21.3333333333vw;
    }
}

.p-stockpile__mv
{
    position: relative;

    display: flex;

    height: 430px;

    background-color: #f9c03b;

    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__mv
    {
        height: auto;
    }
}
.p-stockpile__mv::after
{
    position: absolute;
    z-index: 3;
    bottom: -1%;
    left: 0;

    width: 100%;
    height: 70px;

    content: '';
    pointer-events: none;

    background: #fff;

    -webkit-mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
            mask: url(../img/common/bg-wave.png) no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__mv::after
    {
        bottom: -2%;

        height: 5.3333333333vw;
    }
}
.p-stockpile__mvContent
{
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__mvContent
    {
        padding: 5.3333333333vw;
    }
}
.p-stockpile__mvContent img
{
    position: relative;
    top: 16px;
    right: 32px;

    max-width: 1167px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__mvContent img
    {
        top: 0;
        right: 0;

        width: 100%;
        max-width: 100%;
        height: auto;
    }
}
.p-stockpile__introText
{
    font-size: 18px;
    line-height: 1.6;

    padding: 32px 0 0;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__introText
    {
        font-size: 4.2666666667vw;
        line-height: 1.8;

        padding: 10.6666666667vw 0vw 0vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile .c-pageAnchorNav
    {
        padding: 10.6666666667vw 5.3333333333vw 0vw;

        gap: 0;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile .c-pageAnchorNav__item
    {
        width: 50%;
    }
}
.p-stockpile__resettime
{
    padding: 72px 0 50px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__resettime
    {
        padding: 10.6666666667vw 0 26.6666666667vw;
    }
}
.p-stockpile__resettimeHead
{
    display: grid;

    grid-template-columns: .85fr 1.2fr .85fr;
    -moz-column-gap: 76px;
         column-gap: 76px;
    align-items: start;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__resettimeHead
    {
        grid-template-columns: 1fr;
        row-gap: 6.4vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__img
    {
        padding-inline: 5.3333333333vw;
    }
}
.p-stockpile__img img
{
    display: block;

    width: 100%;
    height: auto;
    margin: 0 auto 0 0;

    border-radius: 0 5px 5px 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__img img
    {
        display: none;

        margin: 0 auto;

        border-radius: 1.3333333333vw 1.3333333333vw;
    }
}
.p-stockpile__img--right
{
    width: 100%;
    margin: 113px 0 0 auto;
    padding-left: 50px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__img--right
    {
        display: none;

        margin-top: 0;
    }
}
.p-stockpile__img--right img
{
    border-radius: 5px 0 0 5px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__img--right img
    {
        border-radius: 1.3333333333vw 0 0 1.3333333333vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__img
    {
        max-width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile .p-stockpile__resettimeSlider .p-stockpile__img img
    {
        display: block;
    }
}
.p-stockpile__resettimeText
{
    position: relative;
    left: 50%;

    padding-top: 122px;

    transform: translateX(-50%);
    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__resettimeText
    {
        padding-top: 0;

        order: -1;
    }
}
.p-stockpile__lead
{
    font-size: 24px;
    line-height: 1.8;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__lead
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile__title
{
    font-size: 32px;
    font-weight: 400;

    margin-top: 4px;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__title
    {
        font-size: 6.4vw;

        margin-top: 1.0666666667vw;
    }
}
.p-stockpile__sub
{
    font-size: 24px;
    font-weight: 300;
    line-height: 1.6;

    margin-top: 40px;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__sub
    {
        font-size: 4.2666666667vw;

        margin-top: 2.6666666667vw;
    }
}
.p-stockpile__need
{
    margin-top: 36px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__need
    {
        margin-top: 13.8666666667vw;
    }
}
.p-stockpile__needTitle
{
    font-size: 24px;
    font-weight: 300;
    line-height: 1.4;

    position: relative;

    width: 100%;
    max-width: 513px;
    margin: 0 auto;
    padding: 24px 20px;

    text-align: center;

    color: #fff;
    border-radius: 18px;
    background: #f9c03b;
}
.p-stockpile__needTitle::after
{
    position: absolute;
    bottom: -26px;
    left: 50%;

    width: 48px;
    height: 26px;

    content: '';
    transform: translateX(-50%);

    background-image: url('../img/stockpile/bottom_arrow.svg');
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__needTitle
    {
        font-size: 4.8vw;

        max-width: 100%;
        padding: 4.2666666667vw 4.2666666667vw;

        border-radius: 3.7333333333vw;
    }
    .p-stockpile__needTitle::after
    {
        bottom: -6.9333333333vw;

        width: 12.8vw;
        height: 6.9333333333vw;
    }
}
.p-stockpile__needWrap
{
    display: grid;

    margin-top: 46px;

    grid-template-columns: 1fr 490px;
    gap: 64px;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__needWrap
    {
        margin-top: 9.6vw;

        grid-template-columns: 1fr;
        gap: 7.4666666667vw;
    }
}
.p-stockpile__needText
{
    font-size: 16px;
    line-height: 2.1;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__needText
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile__calc
{
    position: relative;

    padding: 18px 24px;

    border-radius: 4px;
    background: #f4f4f4;
}
@media screen and (min-width: 769px)
{
    .p-stockpile__calc
    {
        margin-right: 24px;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__calc
    {
        padding: 2.1333333333vw 4.2666666667vw 5.3333333333vw 4.2666666667vw;

        border-radius: 1.0666666667vw;
    }
}
.p-stockpile__calcBadge
{
    display: flex;

    justify-content: center;
}
.p-stockpile__calcBadge span
{
    font-size: 14px;
    line-height: 1.4;

    position: relative;

    min-width: 56px;
    margin: 0 auto;
    padding: 2px 8px;

    text-align: center;

    border-radius: 5px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__calcBadge span
    {
        font-size: 3.7333333333vw;

        top: 2.6666666667vw;

        min-width: 13.8666666667vw;
        padding: .8vw 2.1333333333vw;

        border-radius: 1.3333333333vw;
    }
}
.p-stockpile__calcBadge span::after
{
    position: absolute;
    top: 50%;
    right: -35px;

    display: block;

    width: 25px;
    height: 25px;

    content: '';
    transform: translateY(-50%);

    background-image: url('../img/stockpile/icon-use.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__calcBadge span::after
    {
        right: -9.3333333333vw;

        width: 6.6666666667vw;
        height: 6.6666666667vw;
    }
}
.p-stockpile__calcHead
{
    font-size: 20px;
    line-height: 1.6;

    padding-top: 10px;
    padding-bottom: 20px;

    text-align: center;

    border-bottom: 1px solid #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__calcHead
    {
        font-size: 5.3333333333vw;

        padding-top: 4.2666666667vw;
        padding-bottom: 3.7333333333vw;
    }
}
.p-stockpile__calcValue
{
    font-size: 24px;
    line-height: 1.4;

    display: flex;

    margin-top: 16px;

    letter-spacing: .24em;

    justify-content: center;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0;
}
.p-stockpile__calcValue .num
{
    font-size: 30px;
    font-weight: 400;
    line-height: 1;

    letter-spacing: .24em;
}
.p-stockpile__calcValue .unit
{
    font-size: 20px;
    line-height: 1.2;

    letter-spacing: .24em;
}
.p-stockpile__calcValue .sign
{
    font-size: 20px;
    line-height: 1;

    margin: 0 12px;

    letter-spacing: .24em;
}
.p-stockpile__calcValue .num--accent,
.p-stockpile__calcValue .unit--accent
{
    color: #f08d8d;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__calcValue
    {
        font-size: 4.8vw;

        margin-top: 4.2666666667vw;

        gap: 0 1.0666666667vw;
    }
    .p-stockpile__calcValue .num
    {
        font-size: 9.0666666667vw;
    }
    .p-stockpile__calcValue .unit
    {
        font-size: 4.8vw;
    }
    .p-stockpile__calcValue .sign
    {
        font-size: 5.8666666667vw;

        margin: 0 .5333333333vw;
    }
}
.p-stockpile__desc
{
    font-size: 16px;
    line-height: 2.1;

    margin-top: 80px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__desc
    {
        font-size: 4.2666666667vw;
        line-height: 2.1;

        margin-top: 10.6666666667vw;
    }
}
.p-stockpile__recommend
{
    font-size: 40px;
    line-height: 1.4;

    position: relative;

    max-width: 950px;
    margin: 80px auto 115px;
    padding: 0 24px;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__recommend
    {
        font-size: 6.4vw;

        margin: 12.2666666667vw auto 0vw;
        padding: 0 8.5333333333vw;
    }
}
.p-stockpile__recommend::before,
.p-stockpile__recommend::after
{
    position: absolute;
    top: 50%;

    width: 52px;
    height: 153px;

    content: '';
    transform: translateY(-50%);

    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__recommend::before,
    .p-stockpile__recommend::after
    {
        width: 9.3333333333vw;
        height: 27.4666666667vw;
    }
}
.p-stockpile__recommend::before
{
    left: 20px;

    background-image: url('../img/stockpile/recommend-mark-left.svg');
}
@media screen and (max-width: 768px)
{
    .p-stockpile__recommend::before
    {
        left: 0;
    }
}
.p-stockpile__recommend::after
{
    right: 20px;

    transform: translateY(-50%) scaleX(-1);

    background-image: url('../img/stockpile/recommend-mark-left.svg');
}
@media screen and (max-width: 768px)
{
    .p-stockpile__recommend::after
    {
        right: 0;

        transform: translateY(-50%) scaleX(-1);
    }
}
.p-stockpile__feature
{
    position: relative;

    padding: 22px 0 46px;

    background: #f9c03b;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .p-stockpile__feature
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__feature
    {
        --wave-offset: 5.3333333333vw;
    }
}
.p-stockpile__feature::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #f9c03b;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__feature::before
    {
        height: 5.3333333333vw;
    }
}
.p-stockpile__feature::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #f9c03b;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__feature::after
    {
        height: 5.3333333333vw;
    }
}
.p-stockpile__feature > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__feature
    {
        padding: 5.3333333333vw 0 5.3333333333vw;
    }
}
@media screen and (min-width: 769px)
{
    .p-stockpile__featureCards
    {
        display: grid;

        grid-template-columns: repeat(3, 1fr);
        gap: 10px;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__featureCards
    {
        margin-right: -5.3333333333vw;
        padding-top: 10.6666666667vw;
    }
    .p-stockpile__featureCards .slick-list
    {
        height: auto;
        padding-right: 2.6666666667vw;
    }
    .p-stockpile__featureCards .slick-slide
    {
        margin-right: 2.6666666667vw;
    }
}
.p-stockpile__featureCards .slick-arrow-base
{
    margin-right: 5.3333333333vw;
}
.p-stockpile__featureCard
{
    padding: 20px 18px 30px;

    border-radius: 5px;
    background: #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__featureCard
    {
        display: flex;
        flex-direction: column;

        height: 100%;
        padding: 5.3333333333vw 5.3333333333vw 6.4vw;

        border-radius: 1.3333333333vw;
    }
}
.p-stockpile__featureThumb
{
    overflow: hidden;

    border-radius: 4px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__featureThumb
    {
        border-radius: 1.0666666667vw;
    }
}
.p-stockpile__featureThumb img
{
    display: block;

    width: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}
.p-stockpile__featureTitle
{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;

    margin-top: 20px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__featureTitle
    {
        font-size: 4.2666666667vw;

        margin-top: 5.3333333333vw;
    }
}
.p-stockpile__featureText
{
    font-size: 14px;
    font-weight: 300;
    line-height: 1.7;

    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__featureText
    {
        font-size: 3.7333333333vw;

        margin-top: 2.6666666667vw;

        flex: 1;
    }
}
.p-stockpile__note
{
    font-size: 12px;
    line-height: 1.6;

    display: block;

    margin-top: 6px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__note
    {
        font-size: 3.2vw;

        margin-top: 1.6vw;
    }
}
.p-stockpile__sectionTitle
{
    font-size: 24px;
    font-weight: 400;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__sectionTitle
    {
        font-size: 6.4vw;
    }
}
.p-stockpile__lineup
{
    padding: 130px 0 120px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__lineup
    {
        padding: 26.6666666667vw 0 21.3333333333vw;
    }
}
.p-stockpile__lineupItems
{
    display: grid;

    max-width: 764px;
    margin-top: 40px;

    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-inline: auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__lineupItems
    {
        margin-top: 5.3333333333vw;

        grid-template-columns: 1fr;
        gap: 10.6666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productCard
    {
        width: 100%;
        margin: 0 auto;
    }
}
.p-stockpile__productImage
{
    display: flex;

    align-items: center;
    justify-content: center;
}
.p-stockpile__productImage img
{
    display: block;

    max-width: 100%;
    height: auto;

    border-radius: 5px;

    -o-object-fit: contain;

       object-fit: contain;
}
.p-stockpile__productName
{
    font-size: 20px;
    line-height: 1.6;

    margin-top: 16px;

    letter-spacing: .08em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productName
    {
        font-size: 5.3333333333vw;

        margin-top: 2.6666666667vw;
    }
}
.p-stockpile__productPrice
{
    font-size: 20px;
    line-height: 1.5;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productPrice
    {
        font-size: 5.3333333333vw;

        margin-bottom: 2.6666666667vw;
    }
}
.p-stockpile .p-stockpile__productPriceUnit
{
    font-size: 16px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile .p-stockpile__productPriceUnit
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile .p-stockpile__productPriceNote
{
    font-size: 12px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile .p-stockpile__productPriceNote
    {
        font-size: 3.2vw;
    }
}
.p-stockpile__productBtnWrap
{
    margin-top: 18px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productBtnWrap
    {
        margin-top: 2.6666666667vw;
    }
}
.p-stockpile__productBtn
{
    font-size: 20px;
    line-height: 20px;

    width: 100%;
    height: 57px;

    color: #fff;
    border: 0;
    border: 2px solid #f9c03b;
    border-radius: 90px;
    background: #f9c03b;
}
.p-stockpile__productBtn:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productBtn
    {
        font-size: 5.3333333333vw;
        line-height: 5.3333333333vw;

        width: 100%;
        height: 15.2vw;

        border-radius: 24vw;
    }
}
.p-stockpile__productBtn:hover
{
    opacity: 1;
    color: #2c2c2c;
    border: 2px solid #f9c03b;
    background: transparent;
}
.p-stockpile__productDiscount
{
    display: flex;

    margin-top: 16px;

    align-items: center;
    justify-content: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productDiscount
    {
        margin-top: 10.6666666667vw;

        gap: 2.1333333333vw;
    }
}
.p-stockpile__productDiscount
{
    position: relative;

    display: flex;

    align-items: flex-end;
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productDiscount
    {
        gap: 1.6vw;
    }
}
.p-stockpile__productDiscount::before,
.p-stockpile__productDiscount::after
{
    width: 30px;
    height: 2px;
    margin-bottom: 10px;

    content: '';

    background: #f9c03b;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productDiscount::before,
    .p-stockpile__productDiscount::after
    {
        width: 8vw;
        height: .5333333333vw;
        margin-bottom: 3.2vw;
    }
}
.p-stockpile__productDiscount::before
{
    transform: rotate(70deg);
}
.p-stockpile__productDiscount::after
{
    transform: rotate(-70deg);
}
.p-stockpile__productDiscountText
{
    font-size: 16px;
    line-height: 1.4;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productDiscountText
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile__productDiscountRate
{
    font-size: 30px;
    line-height: 1.2;

    color: #f08d8d;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productDiscountRate
    {
        font-size: 8vw;
    }
}
.p-stockpile__officeLead
{
    font-size: 30px;
    font-weight: 300;
    line-height: 1.6;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeLead
    {
        font-size: 5.3333333333vw;

        letter-spacing: .04em;
    }
}
.p-stockpile__officeTitle
{
    font-size: 40px;
    font-weight: 300;
    line-height: 1.5;

    margin-top: 8px;

    text-align: center;
    letter-spacing: .24em;
}
.p-stockpile__officeTitle span
{
    font-weight: 400;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeTitle
    {
        font-size: 6.4vw;
        line-height: 1.6;

        margin-top: 0vw;

        letter-spacing: .04em;
    }
}
.p-stockpile__officeTitle::after
{
    display: block;

    width: 713px;
    height: 55px;
    margin: 14px auto 0;

    content: '';

    background: url('../img/stockpile/office-line.svg') no-repeat center/contain;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeTitle::after
    {
        width: 88.2666666667vw;
        height: 6.9333333333vw;
        margin-top: 0vw;
    }
}
.p-stockpile__officeHeading
{
    margin-top: 40px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeHeading
    {
        margin-top: 10.6666666667vw;
    }
}
.p-stockpile__officeHeadingMain
{
    font-size: 24px;
    line-height: 1.6;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeHeadingMain
    {
        font-size: 5.3333333333vw;
    }
}
.p-stockpile__officeHeadingSub
{
    font-size: 16px;
    line-height: 1.6;

    margin-top: 4px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeHeadingSub
    {
        font-size: 3.2vw;

        margin-top: 1.0666666667vw;
    }
}
.p-stockpile__officeCards
{
    display: grid;

    margin-top: 64px;

    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCards
    {
        margin-top: 6.4vw;

        grid-template-columns: 1fr;
        gap: 5.3333333333vw;
    }
}
.p-stockpile__officeCard
{
    overflow: hidden;

    border-radius: 5px;
    background: #f4f4f4;
}
.p-stockpile__officeCardHead
{
    font-size: 20px;
    line-height: 1.4;

    padding: 10px 16px 8px;

    text-align: center;

    color: #fff;
    background: #0dcbca;
}
.p-stockpile__officeCardHead span
{
    font-size: 16px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCardHead span
    {
        font-size: 4.2666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCardHead
    {
        font-size: 5.3333333333vw;

        padding: 2.1333333333vw 3.2vw;
    }
}
.p-stockpile__officeCardBody
{
    padding: 20px 16px 30px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCardBody
    {
        padding: 5.3333333333vw 3.2vw 8vw;
    }
}
.p-stockpile__officeCardTitle
{
    font-size: 20px;
    line-height: 1.5;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCardTitle
    {
        font-size: 5.3333333333vw;
    }
}
.p-stockpile__officeFormula
{
    margin-top: 12px;
    padding-top: 8px;

    text-align: center;

    border-top: 1px solid #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeFormula
    {
        margin-top: 3.7333333333vw;
        padding-top: 3.2vw;
    }
}
.p-stockpile__officeFormula img
{
    max-width: 282px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeFormula img
    {
        max-width: 75.2vw;
    }
}
.p-stockpile__officeCaseList
{
    margin-top: 24px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCaseList
    {
        margin-top: 6.4vw;
    }
}
.p-stockpile__officeCaseItem
{
    display: grid;

    padding: 10px 24px;

    background: #fff;

    grid-template-columns: 1fr .25fr 1.5fr;
    align-items: center;
    gap: 8px;
}
.p-stockpile__officeCaseItem + .p-stockpile__officeCaseItem
{
    margin-top: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCaseItem
    {
        padding: 2.6666666667vw 2.6666666667vw;

        grid-template-columns: 1fr .25fr 1.5fr;
        gap: 2.1333333333vw;
    }
    .p-stockpile__officeCaseItem + .p-stockpile__officeCaseItem
    {
        margin-top: 2.1333333333vw;
    }
}
.p-stockpile__officeCaseLabel
{
    font-size: 16px;
    line-height: 1.5;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCaseLabel
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile__officeCaseArrow
{
    font-size: 12px;
    line-height: 1;

    text-align: center;

    color: #0dcbca;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCaseArrow
    {
        font-size: 3.2vw;
    }
}
.p-stockpile__officeCaseValue
{
    font-size: 16px;
    line-height: 1.5;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeCaseValue
    {
        font-size: 4.2666666667vw;
    }
}
.p-stockpile__ordinance
{
    margin-top: 80px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__ordinance
    {
        margin-top: 9.6vw;
    }
}
.p-stockpile__ordinanceTitle
{
    font-size: 20px;
    line-height: 1.6;

    position: relative;

    display: inline-block;

    padding-bottom: 10px;

    padding-inline: 8px;
}
.p-stockpile__ordinanceTitle::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 10px;

    content: '';

    background: repeating-linear-gradient(-60deg, #0dcbca 0, #0dcbca 5px, transparent 5px, transparent 10px);
    background-size: 12px 10px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__ordinanceTitle
    {
        font-size: 4.2666666667vw;

        width: 100%;
        padding-bottom: 2.1333333333vw;

        text-align: center;

        padding-inline: 2.1333333333vw;
    }
    .p-stockpile__ordinanceTitle::after
    {
        height: 2.1333333333vw;

        background: repeating-linear-gradient(-60deg, #0dcbca 0, #0dcbca 1.3333333333vw, transparent 1.3333333333vw, transparent 2.6666666667vw);
        background-size: 2.6666666667vw 2.6666666667vw;
    }
}
.p-stockpile__ordinanceText
{
    font-size: 16px;
    line-height: 2.1;

    margin-top: 12px;

    text-align: center;
}
.p-stockpile__ordinanceText span
{
    color: #f08d8d;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__ordinanceText
    {
        font-size: 4.2666666667vw;
        line-height: 1.6;

        margin-top: 4.2666666667vw;

        text-align: left;
    }
}
.p-stockpile__cta
{
    display: flex;

    margin-top: 80px;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__cta
    {
        margin-top: 0vw;
    }
}
.p-stockpile__ctaBtn
{
    font-size: 20px;
    line-height: 18px;

    width: 100%;
    max-width: 363px;
    height: 57px;
    margin-top: 40px;

    color: #fff;
    border: 0;
    border: 2px solid #f9c03b;
    border-radius: 90px;
    background: #f9c03b;
}
.p-stockpile__ctaBtn:visited
{
    color: #fff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__ctaBtn
    {
        font-size: 5.3333333333vw;
        line-height: 4.8vw;

        width: 100%;
        max-width: 100%;
        height: 15.2vw;

        border-radius: 24vw;
    }
}
.p-stockpile__ctaBtn:hover
{
    opacity: 1;
    color: #2c2c2c;
    border: 2px solid #f9c03b;
    background: transparent;
}
.p-stockpile__other
{
    padding: 80px 0 120px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__other
    {
        padding: 23.4666666667vw 0 21.3333333333vw;
    }
}
.p-stockpile__otherItems
{
    display: grid;

    margin-top: 80px;

    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherItems
    {
        margin-top: 16vw;

        grid-template-columns: 1fr;
        gap: 16vw;
    }
}
.p-stockpile__otherCard
{
    position: relative;

    padding: 40px 20px 40px 20px;

    border-radius: 5px;
    background: #fffaed;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCard
    {
        padding: 7.4666666667vw 4.2666666667vw 4.2666666667vw;

        border-radius: 1.3333333333vw;
    }
}
.p-stockpile__otherCardTitle
{
    position: absolute;
    top: -20px;
    right: 0;
    left: 0;

    display: flex;

    margin: auto;

    align-items: flex-start;
    justify-content: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardTitle
    {
        top: -5.3333333333vw;

        gap: 2.1333333333vw;
    }
}
.p-stockpile__otherCardTitleText
{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardTitleText
    {
        font-size: 5.6vw;
    }
}
.p-stockpile__otherCardTitleMark
{
    position: relative;

    width: 18px;
    height: 18px;
    margin-top: 4px;

    flex: 0 0 auto;
}
.p-stockpile__otherCardTitleMark::before
{
    position: absolute;
    top: -20px;
    left: -10px;

    width: 30px;
    height: 30px;

    content: '';

    background-image: url('../img/stockpile/stockpile-titlemark.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardTitleMark::before
    {
        top: -5.3333333333vw;
        left: -2.6666666667vw;

        width: 8vw;
        height: 8vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardTitleMark
    {
        width: 4.8vw;
        height: 4.8vw;
        margin-top: 1.0666666667vw;
    }
}
.p-stockpile__otherCardBody
{
    display: grid;

    grid-template-columns: 1fr 130px;
    gap: 18px;
    align-items: start;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardBody
    {
        grid-template-columns: .8fr .2fr;
        gap: 4.2666666667vw;
        align-items: end;
    }
}
.p-stockpile__otherCardLink
{
    display: flex;

    justify-content: flex-end;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardLink
    {
        margin-top: 2.6666666667vw;
    }
}
.p-stockpile__otherCardText p
{
    font-size: 16px;
    line-height: 2;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardText p
    {
        font-size: 3.7333333333vw;
        line-height: 2;
    }
}
.p-stockpile__otherCardImage
{
    margin-bottom: 40px;

    text-align: center;
}
.p-stockpile__otherCardImage img
{
    display: block;

    width: 100%;
    max-width: 64px;
    height: auto;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__otherCardImage
    {
        margin-bottom: 3.2vw;
    }
    .p-stockpile__otherCardImage img
    {
        max-width: 10.6666666667vw;
    }
}
.p-stockpile__izameshiIntro
{
    padding: 0 0 80px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntro
    {
        padding: 0vw 0 10.6666666667vw;
    }
}
.p-stockpile__izameshiIntroHead
{
    display: grid;

    grid-template-columns: .85fr 1.2fr .85fr;
    align-items: center;
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroHead
    {
        grid-template-columns: 1fr;
        gap: 6.4vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroImage
    {
        padding-inline: 5.3333333333vw;
    }
}
.p-stockpile__izameshiIntroImage img
{
    display: block;

    width: 100%;
    height: auto;
    margin: 0 auto 0 0;

    border-radius: 0 5px 5px 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroImage img
    {
        display: none;

        max-height: 80vw;
        margin: 0 auto;

        border-radius: 5px;

        -o-object-fit: cover;

           object-fit: cover;
    }
}
.p-stockpile__izameshiIntroImage--right
{
    width: 100%;
    margin: 113px 0 0 auto;
    padding-left: 50px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroImage--right
    {
        display: none;

        margin-top: 0;
    }
}
.p-stockpile__izameshiIntroImage--right img
{
    border-radius: 5px 0 0 5px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroImage--right img
    {
        border-radius: 1.3333333333vw 0 0 1.3333333333vw;
    }
}
.p-stockpile__izameshiIntroCenter
{
    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroCenter
    {
        order: -1;
    }
}
.p-stockpile__izameshiIntroTitle
{
    font-size: 32px;
    font-weight: 400;
    line-height: 1.8;

    margin-bottom: 30px;

    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroTitle
    {
        font-size: 6.4vw;

        margin-top: 0vw;
        margin-bottom: 5.3333333333vw;

        letter-spacing: .04em;
    }
}
.p-stockpile__izameshiLogo
{
    margin-top: 24px;
}
.p-stockpile__izameshiLogo img
{
    display: block;

    width: 100%;
    max-width: 218px;
    height: auto;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiLogo
    {
        margin-top: 3.2vw;
    }
    .p-stockpile__izameshiLogo img
    {
        max-width: 40vw;
    }
}
.p-stockpile__izameshiIntroText
{
    margin-top: 40px;
}
.p-stockpile__izameshiIntroText p
{
    font-size: 18px;
    line-height: 1.9;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiIntroText
    {
        margin-top: 10.6666666667vw;
    }
    .p-stockpile__izameshiIntroText p
    {
        font-size: 4.8vw;
        line-height: 1.7;
    }
}
.p-stockpile__izameshiFoods
{
    overflow: hidden;

    margin-top: 80px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiFoods
    {
        margin-top: 9.0666666667vw;
    }
}
.p-stockpile__izameshiFoods .slick-list
{
    margin: 0 -5px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiFoods .slick-list
    {
        margin: 0 -vw(4);
    }
}
.p-stockpile__izameshiFoods .slick-track
{
    display: flex;

    align-items: stretch;
}
.p-stockpile__izameshiFoods .slick-slide
{
    height: auto;
    padding: 0 5px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiFoods .slick-slide
    {
        padding: 0 1.0666666667vw;
    }
}
.p-stockpile__izameshiFoods .slick-slide > div
{
    height: 100%;
}
.p-stockpile__izameshiFood
{
    height: 100%;
}
.p-stockpile__izameshiFood img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 4px;

    aspect-ratio: 16/9;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiFood img
    {
        border-radius: 1.0666666667vw;

        aspect-ratio: 4/3;
    }
}
.p-stockpile__izameshiScene
{
    padding: 0 0 130px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiScene
    {
        padding: 0 0 26.6666666667vw;
    }
}
.p-stockpile__izameshiSceneItems
{
    display: grid;

    max-width: 840px;
    margin: auto;

    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiSceneItems
    {
        max-width: 100%;

        grid-template-columns: 1.5fr 1fr 1fr 1fr;
        gap: 2.1333333333vw;
    }
}
.p-stockpile__izameshiSceneItem
{
    text-align: center;
}
.p-stockpile__izameshiSceneLabel
{
    font-size: 18px;
    line-height: 1.6;

    display: flex;

    min-height: 50px;

    text-align: center;
    letter-spacing: .24em;

    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiSceneLabel
    {
        font-size: 3.2vw;

        height: 9.6vw;
        min-height: auto;
        margin-bottom: 2.6666666667vw;

        letter-spacing: .04em;
    }
}
.p-stockpile__izameshiSceneIcon
{
    display: flex;

    width: 160px;
    height: 160px;
    margin: 24px auto 0;

    border-radius: 50%;
    background: #0dcbca;

    align-items: center;
    justify-content: center;
}
.p-stockpile__izameshiSceneIcon img
{
    display: block;

    width: auto;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiSceneIcon
    {
        width: 16vw;
        height: 16vw;
        margin-top: 2.6666666667vw;
    }
    .p-stockpile__izameshiSceneIcon img
    {
        max-width: 11.7333333333vw;
        max-height: 9.6vw;
    }
}
@media screen and (min-width: 769px)
{
    .p-stockpile__izameshiFeature .p-stockpile__izameshi-featureCards
    {
        grid-template-columns: repeat(auto-fit, 360px);
        justify-content: center;
    }
}
.p-stockpile__izameshiLineup
{
    padding: 130px 0 110px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiLineup
    {
        padding: 26.6666666667vw 0 21.3333333333vw;
    }
}
.p-stockpile__izameshiProduct
{
    margin-top: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProduct
    {
        position: relative;

        margin-top: 10.6666666667vw;
        padding-bottom: 26.6666666667vw;
    }
}
.p-stockpile__izameshiProduct + .p-stockpile__izameshiProduct
{
    margin-top: 80px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProduct + .p-stockpile__izameshiProduct
    {
        margin-top: 21.3333333333vw;
    }
}
.p-stockpile__izameshiProductCatch
{
    display: flex;

    align-items: center;
    justify-content: center;
    gap: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductCatch
    {
        gap: 10.6666666667vw;
        justify-content: space-between;
    }
}
.p-stockpile__izameshiProductCatchLine
{
    position: relative;

    width: 87px;
    height: 16px;

    flex: 0 0 auto;
}
.p-stockpile__izameshiProductCatchLine::before,
.p-stockpile__izameshiProductCatchLine::after
{
    position: absolute;
    left: 0;

    width: 100%;
    height: 4px;

    content: '';

    border-radius: 999px;
    background: #0dcbca;
}
.p-stockpile__izameshiProductCatchLine::before
{
    top: 0;
}
.p-stockpile__izameshiProductCatchLine::after
{
    bottom: 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductCatchLine
    {
        width: 13.6vw;
        height: 3.7333333333vw;
    }
    .p-stockpile__izameshiProductCatchLine::before,
    .p-stockpile__izameshiProductCatchLine::after
    {
        height: 1.0666666667vw;
    }
}
.p-stockpile__izameshiProductCatchText
{
    font-size: 20px;
    font-weight: 600;
    line-height: 1.5;

    color: #0dcbca;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductCatchText
    {
        font-size: 5.3333333333vw;
    }
}
.p-stockpile__izameshiProductMain
{
    display: grid;

    margin-top: 40px;

    grid-template-columns: 360px 1fr;
    gap: 34px;
    align-items: start;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductMain
    {
        margin-top: 5.3333333333vw;

        grid-template-columns: 1fr;
        gap: 2.6666666667vw;
    }
}
.p-stockpile__izameshiProductImage img
{
    display: block;

    width: 100%;
    height: auto;

    border-radius: 4px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductImage img
    {
        border-radius: 1.0666666667vw;
    }
}
.p-stockpile__izameshiProductContent
{
    padding-top: 22px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductContent
    {
        padding-top: 0;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductContent .p-stockpile__ctaBtn
    {
        position: absolute;
        bottom: 0;
    }
}
.p-stockpile__izameshiProductTitle
{
    font-size: 24px;
    font-weight: 400;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductTitle
    {
        font-size: 6.4vw;
        line-height: 1.5;
    }
}
.p-stockpile__izameshiProductPrice
{
    font-size: 20px;
    line-height: 1.5;

    margin-top: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductPrice
    {
        font-size: 5.3333333333vw;

        margin-top: 1.6vw;
    }
    .p-stockpile__izameshiProductPrice span
    {
        font-size: 3.2vw;
    }
}
.p-stockpile__izameshiProductBadge
{
    font-size: 16px;
    line-height: 1.4;

    display: inline-flex;

    min-height: 34px;
    margin-top: 30px;
    padding: 4px 16px;

    color: #fff;
    border-radius: 5px;
    background: #0dcbca;

    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductBadge
    {
        font-size: 4.2666666667vw;

        min-height: 8vw;
        margin-top: 5.3333333333vw;
        padding: 1.0666666667vw 3.2vw;

        border-radius: 1.3333333333vw;
    }
}
.p-stockpile__izameshiProductText
{
    font-size: 16px;
    font-weight: 300;
    line-height: 1.6;

    margin-top: 16px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductText
    {
        font-size: 3.7333333333vw;

        margin-top: 5.3333333333vw;
    }
}
.p-stockpile__izameshiProductText span
{
    font-size: 12px;

    margin-top: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductText span
    {
        font-size: 3.2vw;

        margin-top: 2.1333333333vw;
    }
}
.p-stockpile__productBtn--izameshi
{
    max-width: 320px;
    margin-top: 34px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__productBtn--izameshi
    {
        max-width: 100%;
        margin-top: 5.3333333333vw;
    }
}
.p-stockpile__izameshiProductNote
{
    font-size: 14px;
    line-height: 1.8;

    margin-top: 8px;
    margin-bottom: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiProductNote
    {
        font-size: 3.2vw;

        margin-top: 5.3333333333vw;
        margin-bottom: 5.3333333333vw;
    }
}
.p-stockpile__izameshiShipping
{
    margin-top: 120px;
    padding: 32px;

    text-align: center;

    border: 1px solid #828282;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiShipping
    {
        margin-top: 10.6666666667vw;
        padding: 6.4vw 4.2666666667vw;
    }
}
.p-stockpile__izameshiShippingTitle
{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.5;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiShippingTitle
    {
        font-size: 4.8vw;
    }
}
.p-stockpile__izameshiShippingText
{
    font-size: 14px;
    line-height: 1.5;

    margin-top: 16px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiShippingText
    {
        font-size: 3.7333333333vw;
        line-height: 1.7;

        margin-top: 2.1333333333vw;

        text-align: left;
    }
}
.p-stockpile__officeUse
{
    padding: 0 0 80px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUse
    {
        padding: 0vw 0 0vw;
    }
}
.p-stockpile__officeUse .p-stockpile__ctaBtn
{
    line-height: 1.5;

    max-width: 446px;
    height: 90px;
    margin-top: 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUse .p-stockpile__ctaBtn
    {
        max-width: 100%;
        height: 26.6666666667vw;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUse .p-stockpile__izameshiProductCatch
    {
        padding-inline: 5.3333333333vw;
    }
}
.p-stockpile__officeUseCatchText
{
    font-size: 26px;
    font-weight: 700;
    line-height: 1.5;

    letter-spacing: .08em;

    color: #0dcbca;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseCatchText
    {
        font-size: 4.8vw;
    }
}
.p-stockpile__officeUseImages
{
    display: grid;

    margin-top: 32px;

    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseImages
    {
        margin-top: 10.6666666667vw;

        gap: 2.6666666667vw;
    }
}
.p-stockpile__officeUseImage img
{
    display: block;

    width: 100%;
    height: auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseImage img
    {
        height: 40vw;

        border-radius: 1.3333333333vw;
    }
}
.p-stockpile__officeUseImage--left img
{
    border-radius: 0 5px 5px 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseImage--left img
    {
        border-radius: 0 1.3333333333vw 1.3333333333vw 0;
    }
}
.p-stockpile__officeUseImage--right img
{
    border-radius: 5px 0 0 5px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseImage--right img
    {
        border-radius: 1.3333333333vw 0 0 1.3333333333vw;
    }
}
.p-stockpile__officeUseText
{
    margin-top: 40px;
}
.p-stockpile__officeUseText p
{
    font-size: 20px;
    line-height: 1.5;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeUseText
    {
        margin-top: 8.5333333333vw;
        margin-bottom: 10.6666666667vw;
    }
    .p-stockpile__officeUseText p
    {
        font-size: 3.7333333333vw;
    }
}
.p-stockpile__officeRecord
{
    max-width: 760px;
    margin-top: 120px;

    margin-inline: auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecord
    {
        margin-top: 21.3333333333vw;
    }
}
.p-stockpile__officeRecordTitle
{
    font-size: 24px;
    font-weight: 400;
    line-height: 1.5;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTitle
    {
        font-size: 6.4vw;
    }
}
.p-stockpile__officeRecordNote
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.6;

    margin-top: 8px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordNote
    {
        font-size: 3.2vw;

        margin-top: 2.1333333333vw;
    }
}
.p-stockpile__officeRecordInput
{
    position: absolute !important;

    pointer-events: none;

    opacity: 0;
}
.p-stockpile__officeRecordTabs
{
    display: grid;

    max-width: 580px;
    margin: 40px auto 0;

    border-bottom: 3px solid #e7e7e7;

    grid-template-columns: 1fr 1fr;
    align-items: end;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTabs
    {
        max-width: 100%;
    }
}
.p-stockpile__officeRecordTab
{
    font-size: 18px;
    font-weight: 400;

    position: relative;

    display: flex;

    padding: 14px 10px 12px;

    cursor: pointer;
    text-align: center;
    letter-spacing: .06em;

    color: #828282;

    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTab
    {
        font-size: 3.7333333333vw;

        padding: 3.7333333333vw 0vw 3.2vw;
    }
}
.p-stockpile__officeRecordPanels .p-stockpile__officeRecordNote
{
    font-weight: 300;

    max-width: 460px;
    margin-top: 8px;

    margin-inline: auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordPanels .p-stockpile__officeRecordNote
    {
        max-width: 100%;
        margin-top: 2.1333333333vw;
    }
}
.p-stockpile__officeRecordPanel
{
    display: none;
}
.p-stockpile__officeRecordTable
{
    width: 100%;
    margin-top: 40px;

    border-collapse: collapse;

    margin-inline: auto;
}
@media screen and (min-width: 769px)
{
    .p-stockpile__officeRecordTable
    {
        max-width: 460px;
    }
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTable
    {
        display: block;
        overflow-x: auto;

        margin-top: 4.8vw;

        -webkit-overflow-scrolling: touch;
    }
}
.p-stockpile__officeRecordTable tbody
{
    display: table;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTable tbody
    {
        width: -webkit-max-content;
        width: -moz-max-content;
        width: max-content;

        border-collapse: collapse;
    }
}
.p-stockpile__officeRecordTable tr
{
    font-weight: 300;

    display: table-row;

    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTable tr
    {
        font-size: 2.6666666667vw;
    }
}
.p-stockpile__officeRecordTable th,
.p-stockpile__officeRecordTable td
{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;

    display: table-cell;

    padding: 16px 10px;

    text-align: left;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTable th,
    .p-stockpile__officeRecordTable td
    {
        font-size: 3.2vw;

        padding: 3.2vw 1.0666666667vw;

        white-space: nowrap;
    }
}
.p-stockpile__officeRecordTable th
{
    width: 92px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__officeRecordTable th
    {
        width: auto;
    }
}
.p-stockpile #officeRecordWater:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordWater],
.p-stockpile #officeRecordIzameshi:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordIzameshi]
{
    font-size: 20px;
    font-weight: 700;

    color: #6cc7ff;
}
@media screen and (max-width: 768px)
{
    .p-stockpile #officeRecordWater:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordWater],
    .p-stockpile #officeRecordIzameshi:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordIzameshi]
    {
        font-size: 4.8vw;

        letter-spacing: 0;
    }
}
.p-stockpile #officeRecordWater:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordWater]::after,
.p-stockpile #officeRecordIzameshi:checked ~ .p-stockpile__officeRecordTabs label[for=officeRecordIzameshi]::after
{
    position: absolute;
    bottom: -3px;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';

    background: #6cc7ff;
}
.p-stockpile #officeRecordWater:checked ~ .p-stockpile__officeRecordPanels .p-stockpile__officeRecordPanel--water,
.p-stockpile #officeRecordIzameshi:checked ~ .p-stockpile__officeRecordPanels .p-stockpile__officeRecordPanel--izameshi
{
    display: block;
}
.p-stockpile__izameshiToggle
{
    font-size: 16px;

    display: flex;

    width: 100%;
    padding: 12px 16px;

    cursor: pointer;

    border: 0;
    background: #f4f4f4;

    justify-content: center;
    align-items: center;
    align-items: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiToggle
    {
        font-size: 3.2vw;

        padding: 2.1333333333vw 4.2666666667vw 2.1333333333vw 26.6666666667vw;

        gap: 12.8vw;
    }
}
.p-stockpile__izameshiToggleIcon
{
    position: relative;

    width: 18px;
    height: 18px;

    grid-column: 2/3;
    grid-row: 1/3;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiToggleIcon
    {
        width: 4.8vw;
        height: 4.8vw;
    }
}
.p-stockpile__izameshiToggleIcon::after
{
    position: absolute;

    width: 7px;
    height: 7px;
    margin: auto;

    content: '';
    transition: transform .25s ease;
    transform: rotate(45deg);

    border-right: 1px solid #828282;
    border-bottom: 1px solid #828282;

    inset: 0;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiToggleIcon::after
    {
        width: 1.8666666667vw;
        height: 1.8666666667vw;

        border-right: .2666666667vw solid #828282;
        border-bottom: .2666666667vw solid #828282;
    }
}
.is-active .p-stockpile__izameshiToggleIcon::after
{
    transform: rotate(-135deg);
}
.p-stockpile__izameshiAccordion
{
    padding: 24px 80px;

    background: #f4f4f4;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiAccordion
    {
        padding: 5.3333333333vw 3.2vw 10.6666666667vw;
    }
}
.p-stockpile__izameshiAccordionInner
{
    max-width: 900px;
    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiAccordionInner
    {
        max-width: 100%;
    }
}
.p-stockpile__izameshiSet
{
    text-align: center;
}
.p-stockpile__izameshiSetGroup--single
{
    margin-top: 40px;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiSetGroup--single
    {
        margin-top: 10.6666666667vw;
    }
}
.p-stockpile__izameshiNote
{
    font-size: 12px;

    margin-bottom: 24px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiNote
    {
        font-size: 3.2vw;

        margin-bottom: 4.2666666667vw;
    }
}
.p-stockpile__izameshiGrid
{
    display: flex;

    gap: 40px 10px;
    flex-wrap: wrap;
    justify-content: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiGrid
    {
        gap: 5.3333333333vw 2.1333333333vw;
    }
}
.p-stockpile__izameshiItem
{
    width: 100px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiItem
    {
        width: calc(33% - 2.1333333333vw);
    }
}
.p-stockpile__izameshiThumb
{
    display: flex;
    overflow: hidden;

    width: 100%;

    border-radius: 50%;
    background: #fff;

    aspect-ratio: 1/1;
    align-items: center;
    justify-content: center;
}
.p-stockpile__izameshiThumb img
{
    height: auto;

    -o-object-fit: contain;

       object-fit: contain;
}
.p-stockpile__izameshiName
{
    font-size: 12px;
    font-weight: 300;
    line-height: 1.4;

    margin-top: 10px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .p-stockpile__izameshiName
    {
        font-size: 2.9333333333vw;

        margin-top: 1.6vw;
    }
}

#dvGuideBox .index-faq
{
    padding-top: 140px;
    padding-bottom: 0;
}
@media screen and (max-width: 768px)
{
    #dvGuideBox .index-faq
    {
        padding-top: 26.6666666667vw;
    }
}

.c-pageHeader
{
    margin-bottom: 60px;
}
@media screen and (max-width: 768px)
{
    .c-pageHeader
    {
        margin-bottom: 10.6666666667vw;
    }
}
.c-pageHeader__title
{
    font-size: 30px;
    font-weight: 400;

    text-align: center;
    letter-spacing: .24em;
}
@media screen and (max-width: 768px)
{
    .c-pageHeader__title
    {
        font-size: 6.4vw;
    }
}

.c-guide
{
    padding: 0 0 140px;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-guide
    {
        padding: 0vw 0 26.6666666667vw;
    }
}

.c-guideTable
{
    display: grid;

    margin: 0;
    padding: 0;

    grid-template-columns: 200px 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
}
@media screen and (max-width: 768px)
{
    .c-guideTable
    {
        grid-template-columns: 1fr;
        -moz-column-gap: 0;
             column-gap: 0;
    }
}
.c-guideTable__th,
.c-guideTable__td
{
    font-size: 14px;
    line-height: 1.5;

    margin: 0;
    padding: 20px 0;
}
@media screen and (max-width: 768px)
{
    .c-guideTable__th,
    .c-guideTable__td
    {
        font-size: 3.7333333333vw;
        line-height: 1.5;

        padding: 5.3333333333vw 0;
    }
}
.c-guideTable__th
{
    font-weight: 400;

    position: relative;
}
@media screen and (min-width: 769px)
{
    .c-guideTable__th
    {
        display: flex;

        align-items: center;
    }
}
@media screen and (max-width: 768px)
{
    .c-guideTable__th
    {
        padding-bottom: 0;
    }
}
.c-guideTable__th::after
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 230px;
    height: 1px;

    content: '';

    background: rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .c-guideTable__th::after
    {
        display: none;
    }
}
.c-guideTable__td
{
    font-weight: 300;

    color: #2c2c2c;
    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .c-guideTable__td
    {
        padding-top: 2.1333333333vw;

        border-bottom: 1px solid rgba(0, 0, 0, .3);
    }
}
.c-guideTable__fee
{
    display: table;

    border-collapse: collapse;
}
.c-guideTable__fee tbody
{
    display: table-row-group;
}
.c-guideTable__fee tr
{
    display: table-row;
}
.c-guideTable__fee th,
.c-guideTable__fee td
{
    display: table-cell;

    padding-right: 24px;

    text-align: left;
}

@media screen and (max-width: 768px)
{
    .c-guideTable__th:first-of-type
    {
        padding-top: 0;
    }
}

.c-guide--company .c-guideTable
{
    display: grid;

    max-width: 900px;
    margin: auto;
    padding: 0;

    grid-template-columns: 80px 1fr;
    -moz-column-gap: 60px;
         column-gap: 60px;
}
@media screen and (max-width: 768px)
{
    .c-guide--company .c-guideTable
    {
        grid-template-columns: 1fr;
        -moz-column-gap: 0;
             column-gap: 0;
    }
}
.c-guide--company .c-guideTable__th::after
{
    width: 140px;
}
@media screen and (max-width: 768px)
{
    .c-guide--company .c-guideTable__th::after
    {
        display: none;
    }
}

.c-support
{
    position: relative;

    padding: 56px 0 64px;

    color: #2c2c2c;
    background: #dff1ff;

    --wave-offset: 50px;
}
@media screen and (min-width: 1500px)
{
    .c-support
    {
        --wave-offset: 70px;
    }
}
@media screen and (max-width: 768px)
{
    .c-support
    {
        --wave-offset: 5.3333333333vw;
    }
}
.c-support::before
{
    position: absolute;
    z-index: 1;
    top: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat top center/cover;
}
@media screen and (max-width: 768px)
{
    .c-support::before
    {
        height: 5.3333333333vw;
    }
}
.c-support::after
{
    position: absolute;
    z-index: 1;
    bottom: calc(-1 * var(--wave-offset));
    left: 0;

    width: 100%;
    height: 100px;

    content: '';
    pointer-events: none;

    background: #dbf1ff;

    -webkit-mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
            mask: url('../img/common/bg-wave.png') no-repeat bottom center/cover;
}
@media screen and (max-width: 768px)
{
    .c-support::after
    {
        height: 5.3333333333vw;
    }
}
.c-support > *
{
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 768px)
{
    .c-support
    {
        padding: 10.6666666667vw 0 12.8vw;
    }
}
.c-support__title
{
    font-size: 20px;
    font-weight: 400;

    max-width: 600px;
    margin: 0 auto 34px;

    text-align: center;
}
@media screen and (max-width: 768px)
{
    .c-support__title
    {
        font-size: 4.8vw;

        margin-bottom: 5.3333333333vw;
    }
}
.c-support__cols
{
    display: grid;

    max-width: 600px;
    margin: 0 auto;

    grid-template-columns: 1fr 1fr;
    gap: 56px;
}
@media screen and (max-width: 768px)
{
    .c-support__cols
    {
        grid-template-columns: 1fr;
        gap: 7.4666666667vw;
    }
}

.c-supportCol
{
    line-height: 1.6;
}
.c-supportCol__title
{
    font-size: 16px;

    height: 60px;
    margin: 0 0 20px;
    padding-bottom: 8px;

    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .c-supportCol__title
    {
        font-size: 4.2666666667vw;

        height: auto;
        margin-bottom: 5.3333333333vw;
        padding-bottom: 2.6666666667vw;
    }
}
.c-supportCol__titleNoto
{
    font-size: 12px;
    font-weight: 300;
}
@media screen and (max-width: 768px)
{
    .c-supportCol__titleNoto
    {
        font-size: 3.2vw;
    }
}

.c-linkList
{
    margin: 0;
    padding: 0;

    list-style: none;
}
.c-linkList__item + .c-linkList__item
{
    margin-top: 10px;
}
@media screen and (max-width: 768px)
{
    .c-linkList__item + .c-linkList__item
    {
        margin-top: 2.6666666667vw;
    }
}
.c-linkList__link
{
    font-size: 14px;
    line-height: 1.8;

    display: inline-flex;

    text-decoration: none;

    color: #2c2c2c;

    align-items: center;
    gap: 10px;
}
@media screen and (max-width: 768px)
{
    .c-linkList__link
    {
        font-size: 3.7333333333vw;

        gap: 2.6666666667vw;
    }
}
.c-linkList__link--ext
{
    padding-right: 18px;

    background: url('/assets/img/common/icon_link.svg') no-repeat right 2px center;
    background-size: 10px 10px;
}
@media screen and (max-width: 768px)
{
    .c-linkList__link--ext
    {
        padding-right: 4.8vw;

        background-position: right .5333333333vw center;
        background-size: 2.6666666667vw 2.6666666667vw;
    }
}

.c-terms
{
    padding: 0 0 140px;

    color: #2c2c2c;
}
@media screen and (max-width: 768px)
{
    .c-terms
    {
        line-height: 1.4;

        padding: 0vw 0 26.6666666667vw;
    }
}
.c-terms__header
{
    margin-bottom: 60px;
}
@media screen and (max-width: 768px)
{
    .c-terms__header
    {
        margin-bottom: 10.6666666667vw;
    }
}
.c-terms__title
{
    font-size: 32px;
    font-weight: 600;

    margin: 0;

    text-align: center;
    letter-spacing: .02em;
}
@media screen and (max-width: 768px)
{
    .c-terms__title
    {
        font-size: 6.9333333333vw;
    }
}
.c-terms__body
{
    font-size: 14px;
    line-height: 1.7;

    margin: 0 auto;
}
@media screen and (max-width: 768px)
{
    .c-terms__body
    {
        font-size: 3.7333333333vw;
        line-height: 1.5;

        max-width: 100%;
    }
}
.c-terms__body p
{
    font-size: 14px;
    font-weight: 300;
}
@media screen and (max-width: 768px)
{
    .c-terms__body p
    {
        font-size: 3.7333333333vw;
    }
}
.c-terms__lead
{
    margin-bottom: 20px;
}
@media screen and (max-width: 768px)
{
    .c-terms__lead
    {
        margin-bottom: 2.1333333333vw;
    }
}
.c-terms__heading
{
    font-size: 14px;
    font-weight: 400;

    margin-top: 20px;
    margin-bottom: 10px;
}
@media screen and (max-width: 768px)
{
    .c-terms__heading
    {
        font-size: 3.7333333333vw;

        margin-top: 5.3333333333vw;
        margin-bottom: 2.1333333333vw;
    }
}
.c-terms__list
{
    margin: 0 0 10px;
}

.c-termsSection
{
    padding: 0 0;
}
@media screen and (max-width: 768px)
{
    .c-termsSection
    {
        padding: 0vw 0;
    }
}
.c-termsSection__title
{
    font-size: 16px;
    font-weight: 400;

    margin: 0 0 20px;
    padding-bottom: 20px;

    border-bottom: 1px solid rgba(0, 0, 0, .3);
}
@media screen and (max-width: 768px)
{
    .c-termsSection__title
    {
        font-size: 3.7333333333vw;

        margin-bottom: 2.6666666667vw;
        padding-bottom: 2.6666666667vw;
    }
}
.c-termsSection__content p
{
    margin: 0;
}
.c-termsSection__content p + p
{
    margin-top: 14px;
}
@media screen and (max-width: 768px)
{
    .c-termsSection__content p + p
    {
        margin-top: 3.2vw;
    }
}
.c-termsSection + .c-termsSection
{
    margin-top: 40px;
}
@media screen and (max-width: 768px)
{
    .c-termsSection + .c-termsSection
    {
        margin-top: 5.3333333333vw;
    }
}

.c-termsList
{
    margin: 0;
}
.c-termsList--num
{
    list-style: decimal;
}

.c-mapEmbed
{
    overflow: hidden;

    width: 100%;
    max-width: 900px;
    height: 460px;
    margin: 60px auto 0;
}
@media screen and (max-width: 768px)
{
    .c-mapEmbed
    {
        aspect-ratio: 1/1;
    }
}
.c-mapEmbed iframe
{
    display: block;

    width: 100%;
    height: 100%;

    border: 0;
}
