@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Arsenal:ital,wght@1,700&display=swap";
section.key {
    position: relative;
    z-index: 1;
    padding: calc(40 / 390 * 100vw) calc(20 / 390 * 100vw) calc(10 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.key {
        aspect-ratio: 1440/700;
        padding: calc(116 / 1440 * 100vw) calc(80 / 1440 * 100vw) calc(68 / 1440 * 100vw);
    }
}
section.key .key-img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
}
section.key .section-title {
    font-size: calc(28 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.1;
    text-shadow: 0 0 calc(12 / 390 * 100vw) #fff;
}
@media (min-width: 768px) {
    section.key .section-title {
        font-size: calc(70 / 1440 * 100vw);
        text-shadow: 0 0 calc(12 / 1440 * 100vw) #fff;
    }
}
section.key .production-name {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1;
    text-shadow: 0 0 calc(12 / 390 * 100vw) #fff;
}
@media (min-width: 768px) {
    section.key .production-name {
        margin-top: calc(40 / 1440 * 100vw);
        font-size: calc(48 / 1440 * 100vw);
        line-height: 1.2;
        text-shadow: 0 0 calc(12 / 1440 * 100vw) #fff;
    }
}
section.key .production-img {
    width: calc(70 / 390 * 100vw);
    margin-top: calc(4 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.key .production-img {
        position: absolute;
        top: calc(290 / 1440 * 100vw);
        left: calc(470 / 1440 * 100vw);
        width: calc(164 / 1440 * 100vw);
    }
    section.key .production-img.athlete,
    section.key .production-img.senior {
        width: calc(200 / 1440 * 100vw);
        top: calc(292 / 1440 * 100vw);
    }
}
section.recommend {
    padding-top: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend {
        padding-top: calc(40 / 1440 * 100vw);
    }
}
section.recommend .common-inner {
    padding: calc(16 / 390 * 100vw) calc(20 / 390 * 100vw) calc(20 / 390 * 100vw);
    background-color: #e3f5ff;
    border-radius: calc(12 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner {
        max-width: calc(750 / 1440 * 100vw);
        padding: calc(40 / 1440 * 100vw) calc(45 / 1440 * 100vw);
        border-radius: calc(12 / 1440 * 100vw);
    }
}
section.recommend .common-inner .section-title {
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.3;
    color: #2c2c2c;
    text-align: center;
}
@media (min-width: 768px) {
    section.recommend .common-inner .section-title {
        font-size: calc(48 / 1440 * 100vw);
    }
}
section.recommend .common-inner .section-title .small {
    font-size: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .section-title .small {
        font-size: calc(36 / 1440 * 100vw);
    }
}
section.recommend .common-inner .section-title-sub {
    margin-top: calc(8 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    font-weight: bold;
    color: #2c2c2c;
    text-align: center;
}
@media (min-width: 768px) {
    section.recommend .common-inner .section-title-sub {
        margin-top: calc(6 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}
section.recommend .common-inner .img-wrap {
    width: calc(155 / 390 * 100vw);
    margin-top: calc(10 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .img-wrap {
        width: calc(400 / 1440 * 100vw);
        margin-top: calc(10 / 1440 * 100vw);
    }
}
section.recommend .common-inner .labels {
    position: absolute;
    top: calc(100 / 390 * 100vw);
    right: calc(20 / 390 * 100vw);
    z-index: -1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: calc(8 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .labels {
        top: calc(200 / 1440 * 100vw);
        right: calc(40 / 1440 * 100vw);
        gap: calc(10 / 1440 * 100vw);
    }
}
section.recommend .common-inner .labels .label {
    display: inline-block;
    padding: calc(6 / 390 * 100vw) calc(12 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
    background-color: #fff;
    border-radius: calc(4 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .labels .label {
        padding: calc(6 / 1440 * 100vw) calc(18 / 1440 * 100vw);
        font-size: calc(16 / 1440 * 100vw);
        border-radius: calc(4 / 1440 * 100vw);
    }
}
section.recommend .common-inner > .price {
    position: absolute;
    top: calc(135 / 390 * 100vw);
    right: calc(20 / 390 * 100vw);
    font-family: "Inter", sans-serif;
    color: #f93f3f;
}
@media (min-width: 768px) {
    section.recommend .common-inner > .price {
        top: calc(250 / 1440 * 100vw);
        right: calc(40 / 1440 * 100vw);
    }
}
section.recommend .common-inner > .price .price {
    font-size: calc(56 / 390 * 100vw);
    font-weight: bold;
    line-height: 1;
}
@media (min-width: 768px) {
    section.recommend .common-inner > .price .price {
        font-size: calc(80 / 1440 * 100vw);
    }
}
section.recommend .common-inner > .price .tax-included-price {
    font-size: calc(12 / 390 * 100vw);
    text-align: right;
}
@media (min-width: 768px) {
    section.recommend .common-inner > .price .tax-included-price {
        font-size: calc(16 / 1440 * 100vw);
    }
}
section.recommend .common-inner .annotation {
    margin-top: calc(6 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    color: #2c2c2c;
}
@media (min-width: 768px) {
    section.recommend .common-inner .annotation {
        position: absolute;
        top: calc(350 / 1440 * 100vw);
        right: calc(40 / 1440 * 100vw);
        margin-top: calc(10 / 1440 * 100vw);
        font-size: calc(12 / 1440 * 100vw);
    }
}
section.recommend .common-inner .btns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(14 / 390 * 100vw);
    margin-top: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .btns {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: calc(20 / 1440 * 100vw);
        margin-top: calc(20 / 1440 * 100vw);
    }
}
section.recommend .common-inner .btns .btn-wrap {
    border-radius: calc(8 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.recommend .common-inner .btns .btn-wrap {
        width: calc(320 / 1440 * 100vw);
        border-radius: calc(8 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.recommend .common-inner .btns .btn-wrap .btn .text::after {
        right: calc(-20 / 1440 * 100vw);
        border-top: calc(5 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-bottom: calc(5 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-left: calc(8 / 1440 * 100vw) solid #fff;
    }
}
section.recommend .common-inner .btns .btn-wrap.trial .btn {
    background-color: #f93f3f;
    border: 1px solid #f93f3f;
}
section.recommend .common-inner .btns .btn-wrap.trial .btn:hover {
    color: #f93f3f;
    background-color: #fff;
}
section.recommend .common-inner .btns .btn-wrap.trial .btn:hover .text::after {
    border-left-color: #f93f3f;
}
section.recommend .common-inner .btns .btn-wrap.normal {
    background-color: #00367d;
    border: 1px solid #00367d;
}
section.recommend .common-inner .btns .btn-wrap.normal .btn .text::after {
    top: 30%;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
section.recommend .common-inner .btns .btn-wrap.normal .btn:hover {
    color: #00367d;
    background-color: #fff;
}
section.recommend .common-inner .btns .btn-wrap.normal .btn:hover .text::after {
    border-left-color: #00367d;
}
section.toc {
    padding-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.toc {
        padding-top: calc(70 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.toc .common-inner {
        max-width: calc(1120 / 1440 * 100vw);
    }
}
section.toc .section-title {
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
}
@media (min-width: 768px) {
    section.toc .section-title {
        font-size: calc(24 / 1440 * 100vw);
    }
}
section.toc .toc-content {
    margin-top: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.toc .toc-content {
        margin-top: calc(20 / 1440 * 100vw);
    }
}
section.feature {
    padding-top: calc(40 / 390 * 100vw);
}
@media (max-width: 768px) {
    section.feature {
        padding-top: calc(120 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.feature .common-inner {
        max-width: calc(800 / 1440 * 100vw);
    }
}
section.feature .section-title {
    position: relative;
    margin: 0 auto;
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.6;
    text-align: center;
}
@media (min-width: 768px) {
    section.feature .section-title {
        font-size: calc(36 / 1440 * 100vw);
    }
}
section.feature .section-title span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(0%, #3bc6f7));
    background: -webkit-linear-gradient(transparent 70%, #3bc6f7 0%);
    background: linear-gradient(transparent 70%, #3bc6f7 0%);
}
section.feature .feature-content {
    padding-top: calc(10 / 390 * 100vw);
    margin-top: calc(45 / 390 * 100vw);
    counter-increment: number 1;
    border-top: 1px solid #e8ecf0;
}
@media (min-width: 768px) {
    section.feature .feature-content {
        padding-top: calc(10 / 1440 * 100vw);
        margin-top: calc(80 / 1440 * 100vw);
    }
}
section.feature .feature-content:first-of-type {
    margin-top: calc(16 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.feature .feature-content:first-of-type {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.feature .feature-content > * {
    margin-top: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.feature .feature-content > * {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.feature .feature-content .content-title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    font-size: calc(16 / 390 * 100vw);
    font-weight: bold;
}
@media (min-width: 768px) {
    section.feature .feature-content .content-title {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-size: calc(24 / 1440 * 100vw);
    }
}
section.feature .feature-content .content-title::before {
    margin-right: calc(8 / 390 * 100vw);
    font-family: "Arsenal", sans-serif;
    font-size: calc(36 / 390 * 100vw);
    font-style: italic;
    font-weight: 700;
    line-height: 1;
    color: #3bc6f7;
    content: "0" counter(number);
}
@media (min-width: 768px) {
    section.feature .feature-content .content-title::before {
        margin-right: calc(10 / 1440 * 100vw);
        font-size: calc(60 / 1440 * 100vw);
    }
}
section.feature .feature-content h4 {
    margin: calc(20 / 390 * 100vw) auto 0;
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    section.feature .feature-content h4 {
        margin: calc(80 / 1440 * 100vw) auto calc(20 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.feature .feature-content .img-wrap {
        width: calc(640 / 1440 * 100vw);
        margin-right: auto;
        margin-left: auto;
    }
}
section.feature .feature-content .img-capture {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    section.feature .feature-content .img-capture {
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.feature .feature-content p {
        font-size: calc(18 / 1440 * 100vw);
    }
}
section.feature .feature-content p.not-margin {
    margin-top: 0;
}
section.product-info {
    padding: calc(40 / 390 * 100vw) 0 calc(120 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info {
        padding: calc(120 / 1440 * 100vw) 0;
    }
}
section.product-info .section-title {
    padding: calc(10 / 390 * 100vw) 0;
    font-size: calc(32 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.25;
    color: #fff;
    text-align: center;
    background-color: #00367d;
}
@media (min-width: 768px) {
    section.product-info .section-title {
        padding: calc(30 / 1440 * 100vw) 0;
        font-size: calc(40 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.product-info .common-inner {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        max-width: calc(1040 / 1440 * 100vw);
    }
}
section.product-info .production {
    margin-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production {
        width: calc(480 / 1440 * 100vw);
        margin-top: calc(80 / 1440 * 100vw);
    }
}
section.product-info .production.packing-30 {
    margin-top: calc(25 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production.packing-30 {
        margin-top: calc(80 / 1440 * 100vw);
    }
}
section.product-info .production.packing-30 .production-img {
    position: relative;
    width: calc(312 / 390 * 100vw);
    margin: calc(36 / 390 * 100vw) auto calc(60 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production.packing-30 .production-img {
        width: calc(424 / 1440 * 100vw);
        margin: calc(65 / 1440 * 100vw) auto calc(80 / 1440 * 100vw);
    }
}
section.product-info .production.packing-30 .production-img .amount {
    right: 0;
    bottom: calc(-14 / 390 * 100vw);
    left: unset;
    text-align: right;
}
@media (min-width: 768px) {
    section.product-info .production.packing-30 .production-img .amount {
        right: 0;
        bottom: calc(-45 / 1440 * 100vw);
        left: unset;
    }
}
@media (min-width: 768px) {
    section.product-info .production.packing-30 .production-price:not(.one-time) {
        margin-top: calc(20 / 1440 * 100vw);
    }
}
section.product-info .production .production-label {
    display: inline-block;
    padding: calc(4 / 390 * 100vw) calc(12 / 390 * 100vw) calc(2 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.25;
    color: #00367d;
    border: 1px solid #00367d;
    border-radius: calc(4 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-label {
        padding: calc(10 / 1440 * 100vw) calc(15 / 1440 * 100vw);
        font-size: calc(18 / 1440 * 100vw);
        border-radius: calc(8 / 1440 * 100vw);
    }
}
section.product-info .production .production-name {
    margin-top: calc(12 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.2;
}
@media (min-width: 768px) {
    section.product-info .production .production-name {
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(32 / 1440 * 100vw);
    }
}
@media (max-width: 768px) {
    section.product-info .production .production-name br:last-child {
        display: none;
    }
}
section.product-info .production .production-img {
    position: relative;
    width: calc(130 / 390 * 100vw);
    margin: calc(20 / 390 * 100vw) auto 0;
}
@media (min-width: 768px) {
    section.product-info .production .production-img {
        width: calc(166 / 1440 * 100vw);
        margin-top: calc(60 / 1440 * 100vw);
    }
}
section.product-info .production .production-img .amount {
    position: absolute;
    bottom: calc(8 / 390 * 100vw);
    left: calc(100% + 6 / 390 * 100vw);
    width: 100%;
    font-size: calc(8 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-img .amount {
        bottom: 0;
        left: calc(100% + 12 / 1440 * 100vw);
        font-size: calc(12 / 1440 * 100vw);
    }
}
section.product-info .production .production-description {
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(16 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-description {
        margin-top: calc(40 / 1440 * 100vw);
        font-size: calc(16 / 1440 * 100vw);
    }
}
@media (max-width: 768px) {
    section.product-info .production .production-description br:last-child {
        display: none;
    }
}
section.product-info .production .production-price {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: calc(20 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-price {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.product-info .production .production-price .labels {
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: calc(6 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-price .labels {
        gap: calc(8 / 1440 * 100vw);
    }
}
section.product-info .production .production-price .label {
    display: inline-block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: calc(8 / 390 * 100vw) calc(10 / 390 * 100vw);
    font-size: calc(12 / 390 * 100vw);
    font-weight: normal;
    line-height: 1;
    border-radius: calc(4 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-price .label {
        padding: calc(8 / 1440 * 100vw) calc(10 / 1440 * 100vw);
        font-size: calc(12 / 1440 * 100vw);
        border-radius: calc(4 / 1440 * 100vw);
    }
}
section.product-info .production .production-price .label.discount {
    color: #ae2920;
    background-color: #fae0e3;
}
section.product-info .production .production-price .label.free_shipping {
    color: #1f3d93;
    background-color: #e6f5fc;
}
section.product-info .production .production-price .price {
    font-family: "Inter", sans-serif;
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1;
    color: #f93f3f;
    text-align: right;
}
@media (min-width: 768px) {
    section.product-info .production .production-price .price {
        font-size: calc(36 / 1440 * 100vw);
    }
}
section.product-info .production .production-price .price .tax-included-price {
    margin-left: calc(5 / 390 * 100vw);
    font-family: "kinto-sans", sans-serif;
    font-size: calc(10 / 390 * 100vw);
    font-weight: normal;
    color: #424242;
}
@media (min-width: 768px) {
    section.product-info .production .production-price .price .tax-included-price {
        font-size: calc(12 / 1440 * 100vw);
    }
}
section.product-info .production .production-price.one-time {
    margin-top: calc(25 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-price.one-time {
        margin-top: calc(46 / 1440 * 100vw);
    }
}
section.product-info .production .production-price.one-time .price {
    color: #424242;
}
section.product-info .production .btn-wrap {
    margin-top: calc(10 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .btn-wrap {
        margin-top: calc(20 / 1440 * 100vw);
    }
}
section.product-info .production .btn-wrap .btn.subscription {
    padding-bottom: calc(7 / 390 * 100vw);
    background: -webkit-gradient(linear, left top, right top, color-stop(-2.14%, #065162), to(#009393));
    background: -webkit-linear-gradient(left, #065162 -2.14%, #009393 100%);
    background: linear-gradient(90deg, #065162 -2.14%, #009393 100%);
}
@media (min-width: 768px) {
    section.product-info .production .btn-wrap .btn.subscription {
        padding-bottom: calc(10 / 1440 * 100vw);
    }
}
section.product-info .production .btn-wrap .btn.one-time {
    background: -webkit-gradient(linear, left top, right top, from(#00ba99), to(#00c6c6));
    background: -webkit-linear-gradient(left, #00ba99 0%, #00c6c6 100%);
    background: linear-gradient(90deg, #00ba99 0%, #00c6c6 100%);
}
section.product-info .production .btn-wrap .btn .text::after {
    right: calc(-20 / 390 * 100vw);
    content: "";
    border-top: calc(5 / 390 * 100vw) solid rgba(0, 0, 0, 0);
    border-bottom: calc(5 / 390 * 100vw) solid rgba(0, 0, 0, 0);
    border-left: calc(8 / 390 * 100vw) solid #fff;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
@media (min-width: 768px) {
    section.product-info .production .btn-wrap .btn .text::after {
        right: calc(-30 / 1440 * 100vw);
        border-top: calc(6 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-bottom: calc(6 / 1440 * 100vw) solid rgba(0, 0, 0, 0);
        border-left: calc(8 / 1440 * 100vw) solid #fff;
    }
}
section.product-info .production .btn-wrap .btn .sub-text {
    font-size: calc(10 / 390 * 100vw);
    font-weight: normal;
}
@media (min-width: 768px) {
    section.product-info .production .btn-wrap .btn .sub-text {
        font-size: calc(10 / 1440 * 100vw);
    }
}
section.product-info .production .btn-wrap .btn:hover {
    opacity: 0.8;
}
section.product-info .production .production-delivery {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-delivery {
        margin-top: calc(20 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}
section.product-info .production .production-delivery .list-item {
    position: relative;
    padding-left: calc(16 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-delivery .list-item {
        padding-left: calc(16 / 1440 * 100vw);
    }
}
section.product-info .production .production-delivery .list-item::before {
    position: absolute;
    top: calc(5 / 390 * 100vw);
    left: 0;
    display: block;
    width: calc(12 / 390 * 100vw);
    aspect-ratio: 1/1;
    margin-right: calc(4 / 390 * 100vw);
    content: "";
    background-color: #424242;
}
@media (min-width: 768px) {
    section.product-info .production .production-delivery .list-item::before {
        top: calc(5 / 1440 * 100vw);
        width: calc(12 / 1440 * 100vw);
        margin-right: calc(4 / 1440 * 100vw);
    }
}
section.product-info .production .detail-link {
    text-align: right;
}
section.product-info .production .detail-link .link {
    margin-top: calc(10 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    color: #00367d;
    text-decoration: underline;
}
@media (min-width: 768px) {
    section.product-info .production .detail-link .link {
        margin-top: calc(10 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}
section.product-info .raw-material {
    width: 100%;
    padding: calc(10 / 390 * 100vw) calc(20 / 390 * 100vw);
    margin-top: calc(80 / 390 * 100vw);
    background-color: #e8ecf0;
    border-radius: calc(4 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .raw-material {
        padding: calc(40 / 1440 * 100vw);
        margin-top: calc(80 / 1440 * 100vw);
        border-radius: calc(4 / 1440 * 100vw);
    }
}
section.product-info .raw-material.open .toggle::after {
    background-image: url("../new-img/basic/basic-top/production-info/minus-icon.svg");
}
section.product-info .raw-material.open .toggle-inner {
    display: block;
}
@media (min-width: 768px) {
    section.product-info .raw-material.open .toggle-inner {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
    }
}
section.product-info .raw-material .toggle {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
    cursor: pointer;
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle {
        font-size: calc(18 / 1440 * 100vw);
    }
}
section.product-info .raw-material .toggle::after {
    display: inline-block;
    width: calc(40 / 390 * 100vw);
    aspect-ratio: 1/1;
    content: "";
    background-image: url("../new-img/basic/basic-top/production-info/plus-icon.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle::after {
        width: calc(40 / 1440 * 100vw);
    }
}
section.product-info .raw-material .toggle-inner {
    display: none;
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle-inner {
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: calc(36 / 1440 * 100vw);
        font-size: calc(14 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle-inner .column {
        width: calc(440 / 1440 * 100vw);
    }
}
section.product-info .raw-material .toggle-inner .column:not(:first-child) {
    margin-top: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle-inner .column:not(:first-child) {
        margin-top: 0;
    }
}
section.product-info .raw-material .toggle-inner .column h4 {
    font-weight: bold;
}
section.product-info .raw-material .toggle-inner .column h4:not(:first-child) {
    margin-top: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle-inner .column h4:not(:first-child) {
        margin-top: calc(14 / 1440 * 100vw);
    }
}
section.product-info .raw-material .toggle-inner .column p.small {
    font-size: calc(12 / 390 * 100vw);
    line-height: 1.8;
}
@media (min-width: 768px) {
    section.product-info .raw-material .toggle-inner .column p.small {
        font-size: calc(12 / 1440 * 100vw);
    }
}
section.product-info .athlete-info {
    padding-bottom: calc(40 / 390 * 100vw);
    margin-top: calc(64 / 390 * 100vw);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
@media (min-width: 768px) {
    section.product-info .athlete-info {
        width: calc(480 / 1440 * 100vw);
        padding-top: calc(40 / 1440 * 100vw);
        padding-bottom: 0;
        margin-top: calc(120 / 1440 * 100vw);
        border-top: 1px solid #e8ecf0;
    }
}
section.product-info .athlete-info .title {
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    section.product-info .athlete-info .title {
        font-size: calc(38 / 1440 * 100vw);
    }
}
section.product-info .athlete-info .row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: calc(20 / 390 * 100vw);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.4;
}
@media (min-width: 768px) {
    section.product-info .athlete-info .row {
        gap: calc(20 / 1440 * 100vw);
        margin-top: calc(24 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}
section.product-info .athlete-info .row:first-child {
    margin-top: calc(46 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .athlete-info .row:first-child {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.product-info .athlete-info .row .img-wrap {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 100%;
}
section.product-info .athlete-info .btn-wrap {
    margin-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .athlete-info .btn-wrap {
        margin-top: auto;
    }
}
section.product-info .athlete-info .btn-wrap .btn {
    color: #424242;
    background-color: #e8ecf0;
}
section.product-info .athlete-info .btn-wrap .btn .text::after {
    display: none;
}
section.product-info .athlete-info .btn-wrap .btn:hover {
    color: #fff;
    background-color: #0062e0;
    opacity: 1;
}
section.product-info .recommend-drinking {
    padding-top: calc(40 / 390 * 100vw);
    padding-bottom: calc(40 / 390 * 100vw);
    border-top: 1px solid #e8ecf0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking {
        width: calc(480 / 1440 * 100vw);
        padding-top: calc(40 / 1440 * 100vw);
        padding-bottom: 0;
        margin-top: calc(120 / 1440 * 100vw);
        border-top: 1px solid #e8ecf0;
    }
}
section.product-info .recommend-drinking .title {
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking .title {
        font-size: calc(40 / 1440 * 100vw);
    }
}
section.product-info .recommend-drinking .row {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: calc(20 / 390 * 100vw);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: calc(20 / 390 * 100vw);
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.4;
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking .row {
        gap: calc(20 / 1440 * 100vw);
        margin-top: calc(24 / 1440 * 100vw);
        font-size: calc(24 / 1440 * 100vw);
    }
}
section.product-info .recommend-drinking .row:first-child {
    margin-top: calc(46 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking .row:first-child {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.product-info .recommend-drinking .row .img-wrap {
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: calc(100 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking .row .img-wrap {
        width: calc(230 / 1440 * 100vw);
    }
}
section.product-info .recommend-drinking .btn-wrap {
    margin-top: calc(40 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .recommend-drinking .btn-wrap {
        margin-top: calc(20 / 1440 * 100vw);
    }
}
section.product-info .recommend-drinking .btn-wrap .btn {
    color: #424242;
    background-color: #e8ecf0;
}
section.product-info .recommend-drinking .btn-wrap .btn .text::after {
    display: none;
}
section.product-info .recommend-drinking .btn-wrap .btn:hover {
    color: #fff;
    background-color: #0062e0;
    opacity: 1;
}
section.product-info .customer-voice {
    padding-top: calc(40 / 390 * 100vw);
    border-top: 1px solid #e8ecf0;
}
@media (min-width: 768px) {
    section.product-info .customer-voice {
        width: calc(480 / 1440 * 100vw);
        padding-top: calc(40 / 1440 * 100vw);
        margin-top: calc(120 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .title {
    font-size: calc(24 / 390 * 100vw);
    font-weight: bold;
    text-align: center;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .title {
        font-size: calc(40 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
}
section.product-info .customer-voice .voice:nth-of-type(1) {
    margin-top: calc(28 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(1) {
        margin-top: calc(40 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice:nth-of-type(1) .balloon {
    margin-top: calc(10 / 390 * 100vw);
    margin-left: auto;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(1) .balloon {
        margin-top: 0;
    }
}
section.product-info .customer-voice .voice:nth-of-type(2) {
    margin-top: calc(60 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(2) {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        margin-top: calc(60 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice:nth-of-type(2) .voice-title {
    margin-left: auto;
    text-align: right;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(2) .voice-title {
        width: calc(240 / 1440 * 100vw);
    }
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(2) .balloon {
        width: calc(348 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice:nth-of-type(2) .balloon::before {
    left: calc(180 / 390 * 100vw);
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1);
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice:nth-of-type(2) .balloon::before {
        left: calc(100 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice .voice-title {
    font-size: calc(18 / 390 * 100vw);
    font-weight: bold;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice .voice-title {
        font-size: calc(18 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice .balloon {
    position: relative;
    width: calc(240 / 390 * 100vw);
    padding: calc(15 / 390 * 100vw);
    font-size: calc(14 / 390 * 100vw);
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    background-color: #0062e0;
    border-radius: calc(12 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice .balloon {
        width: calc(300 / 1440 * 100vw);
        padding: calc(22 / 1440 * 100vw);
        font-size: calc(13 / 1440 * 100vw);
        border-radius: calc(12 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .voice .balloon::before {
    position: absolute;
    top: 100%;
    left: calc(20 / 390 * 100vw);
    z-index: -1;
    display: block;
    width: calc(30 / 390 * 100vw);
    aspect-ratio: 1/1;
    content: "";
    background-image: url("../new-img/basic/foods-with-function-claims/balloon-triangle.svg");
    background-repeat: no-repeat;
    background-size: contain;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice .balloon::before {
        top: unset;
        bottom: calc(-40 / 1440 * 100vw);
        left: calc(80 / 1440 * 100vw);
        width: calc(60 / 1440 * 100vw);
        -webkit-transform: rotate(10deg);
        transform: rotate(10deg);
    }
}
section.product-info .customer-voice .voice .balloon .customer {
    margin-top: calc(4 / 390 * 100vw);
    text-align: right;
}
@media (min-width: 768px) {
    section.product-info .customer-voice .voice .balloon .customer {
        margin-top: calc(10 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .btn-wrap {
    margin-top: calc(60 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .customer-voice .btn-wrap {
        margin-top: calc(58 / 1440 * 100vw);
    }
}
section.product-info .customer-voice .btn-wrap .btn {
    color: #424242;
    background-color: #e8ecf0;
}
section.product-info .customer-voice .btn-wrap .btn .text::after {
    display: none;
}
section.product-info .customer-voice .btn-wrap .btn:hover {
    color: #fff;
    background-color: #0062e0;
    opacity: 1;
}
section.product-info .production .production-description span {
    font-size: calc(14 / 390 * 100vw);
}
@media (min-width: 768px) {
    section.product-info .production .production-description span {
        font-size: calc(14 / 1440 * 100vw);
    }
}

.about-link.product {
    width: calc(350 / 390 * 100vw);
    margin: calc(30 / 390 * 100vw) auto 0;
    display: block;
    filter: drop-shadow(0 0 11px rgba(0, 0, 0, 0.1));
}
@media (min-width: 768px) {
    .about-link.product {
        width: calc(600 / 1440 * 100vw);
        margin: calc(60 / 1440 * 100vw) auto 0;
    }
}
