@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
    margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
    display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    border-bottom: none;
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: 1em;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
    border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    /* 1 */
    font-size: 100%;
    /* 1 */
    line-height: 1.15;
    /* 1 */
    margin: 0;
    /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
    /* 1 */
    overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
    /* 1 */
    text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
    padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
    box-sizing: border-box;
    /* 1 */
    color: inherit;
    /* 2 */
    display: table;
    /* 1 */
    max-width: 100%;
    /* 1 */
    padding: 0;
    /* 3 */
    white-space: normal;
    /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    outline-offset: -2px;
    /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
    display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
    display: none;
}

* {
    box-sizing: border-box;
}

html,
body {
    font-family: "Noto Sans JP", sans-serif;
    -webkit-text-size-adjust: 100%;
}

figure,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dd {
    margin: 0;
}

ol,
ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

img {
    vertical-align: middle;
}

button {
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
}

a {
    text-decoration: none;
}

em {
    font-style: normal;
}

fieldset {
    padding: 0;
    margin: 0;
    border: 0;
}

table {
    border-spacing: 0;
}
.html {
    max-width: 768px;
    margin: 0 auto;
    container-type: inline-size;
}
header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 2;
    width: 100%;
    background: #fff;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    header {
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    }
}

.header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #fff;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .header-top {
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.04);
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-top {
        border-bottom: 1px solid #e1e6e7;
    }
}

.header-logo {
    display: block;
    width: 135px;
    margin-left: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-logo {
        width: 185px;
        margin-left: 43px;
    }
    .header-logo:hover {
        opacity: 0.7;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .header-logo {
        width: 120px;
        margin-left: 20px;
    }
}

@media (max-width: 374px) {
    .header-logo {
        width: 96px;
    }
}

.header-logo img {
    width: 100%;
}

.header-topRight {
    position: relative;
    display: flex;
    align-items: center;
}

.lang-btn {
    position: relative;
}

.lang-btn__wrapper {
    cursor: pointer;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .lang-btn__wrapper {
        display: flex;
        align-items: flex-end;
        justify-content: center;
        width: 40px;
        height: 45px;
        margin-right: 4px;
    }
    .lang-btn__wrapper.hover > span,
    .lang-btn__wrapper.hover::before {
        opacity: 0.4;
    }
}

@media (max-width: 374px) {
    .lang-btn__wrapper {
        height: 40px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lang-btn__wrapper {
        padding-right: 32px;
        padding-left: 25px;
        font-size: 13px;
        line-height: 2;
        color: #111;
    }
}

.lang-btn__wrapper::before {
    position: absolute;
    top: 4px;
    width: 24px;
    height: 24px;
    content: "";
    background: url(../images/icon/language-gray.svg) no-repeat center/contain;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lang-btn__wrapper::before {
        top: 50%;
        left: 0;
        content: "";
        background: url(../images/icon/language.svg) center/contain;
        transform: translateY(-50%);
    }
}

@media (max-width: 374px) {
    .lang-btn__wrapper::before {
        width: 16px;
        height: 16px;
    }
}

.lang-btn__wrapper > span {
    font-size: 8px;
    font-weight: bold;
    line-height: 1.45;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .lang-btn__wrapper > span {
        margin-bottom: 2px;
        color: #03141a;
    }
}

@media (max-width: 374px) {
    .lang-btn__wrapper > span {
        margin-bottom: 1px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lang-btn__wrapper > span {
        font-size: 13px;
        line-height: 2;
        color: #111;
    }
}

.header-lang {
    position: fixed;
    top: 60px;
    left: 0;
    display: none;
    width: 100%;
    padding: 24px 20px;
    font-size: 16px;
    line-height: 1.45;
    background: #fff;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-lang {
        position: absolute;
        top: 26px;
        z-index: 1;
        width: 96px;
        padding: 10px;
        font-size: 14px;
        line-height: 2;
        box-shadow: 0 4px 4px #dbe1e7;
    }
}

.header-lang > li {
    color: #03141a;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .header-lang > li.current {
        position: relative;
        padding: 8px 0 8px 8px;
        border-bottom: 1px solid #dbe8ed;
    }
    .header-lang > li.current::after {
        position: absolute;
        top: 50%;
        right: 2px;
        display: block;
        width: 6px;
        height: 6px;
        content: "";
        background: #111;
        border-radius: 50%;
        transform: translateY(-50%);
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-lang > li {
        color: #111;
        text-align: center;
    }
}

.header-lang a {
    display: block;
    height: 100%;
    color: #03141a;
    opacity: 0.4;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .header-lang a {
        position: relative;
        padding: 8px 0 8px 8px;
        border-bottom: 1px solid #dbe8ed;
    }
    .header-lang a::after {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        width: 12px;
        height: 12px;
        content: "";
        background: url(../images/icon/arrow-right.svg) no-repeat;
        transform: translateY(-50%);
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-lang a {
        color: #111;
    }
}

.header-lang a:hover {
    opacity: 1;
}

.header-lang .lang-close {
    padding: 16px 16px 0 16px;
    text-align: center;
    border-bottom: 0;
}

.header-lang .lang-close > span {
    position: relative;
    padding-left: 13px;
    cursor: pointer;
}

.header-lang .lang-close > span::before {
    position: absolute;
    top: 55%;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    content: "";
    background: url(../images/icon/close-black.svg) no-repeat center/cover;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .header-lang .lang-close {
        display: none;
    }
}

.nav-container {
    position: absolute;
    top: 60px;
    left: 0;
    display: none;
    width: 100%;
    padding: 0 20px;
    overflow: scroll;
    background: #fff;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-container {
        position: static;
        display: block;
        padding: 0;
        overflow: visible;
        background: #f0f2f4;
        border-bottom: 1px solid #e1e6e7;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .nav {
        margin-top: 14px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav {
        display: flex;
        align-items: center;
        height: 59px;
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav {
        align-items: flex-start;
    }
}

.nav > li {
    position: relative;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li {
        margin-left: 20px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li {
        margin-left: 10px;
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav > li {
        margin-top: 14px;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .nav > li:first-of-type > a {
        font-size: 18px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li:first-of-type {
        margin-left: 43px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li:first-of-type {
        margin-left: 20px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .nav > li:first-of-type {
        margin-left: 11px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li:last-of-type {
        margin-right: 20px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li:last-of-type {
        margin-right: 10px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.current > a::before {
        position: absolute;
        top: 0;
        left: 50%;
        display: block;
        width: 4px;
        height: 4px;
        content: "";
        background: #111;
        border-radius: 50%;
        transform: translate(-50%, -100%);
    }
}

.nav > li > a {
    position: relative;
    display: block;
    padding: 16px 12px 16px 0;
    font-size: 16px;
    line-height: 1.5;
    color: #111;
    border-bottom: 1px solid #dbe8ed;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li > a {
        padding: 0;
        margin: 0;
        font-size: 13px;
        font-weight: bold;
        border: 0;
    }
    .nav > li > a:hover {
        color: #5acce6;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li > a {
        font-size: 11px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) and (orientation: portrait), (min-width: 897px) and (max-width: 1024px) and (orientation: landscape) {
    .nav > li > a {
        font-size: 10px;
    }
}

.nav > li > a::after {
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 12px;
    height: 12px;
    content: "";
    background: url(../images/icon/arrow-right.svg) no-repeat;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li > a::after {
        content: none;
    }
}

.nav > li > a br {
    display: none;
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav > li > a br {
        display: block;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown {
        padding-right: 12px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(2) .nav-dropdown {
        left: 92px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(2) .nav-dropdown {
        left: 52px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(2) .nav-dropdown {
        left: 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(3) .nav-dropdown {
        left: 255px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(3) .nav-dropdown {
        left: 52px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(3) .nav-dropdown {
        left: 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(6) .nav-dropdown {
        left: 270px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li.is-dropdown:nth-of-type(6) .nav-dropdown {
        left: 50%;
        transform: translateX(-50%);
    }
}

.nav > li.is-dropdown > a {
    padding-right: 24px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown > a {
        padding-right: 0;
    }
}

.nav > li.is-dropdown > a::after {
    content: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav > li.is-dropdown:hover > a::after {
        position: absolute;
        top: auto;
        bottom: -29px;
        left: 50%;
        display: block;
        width: 22px;
        height: 18px;
        content: "";
        background: url(../images/icon/triangle.svg) no-repeat;
        transform: translateX(-50%);
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav > li.is-dropdown:hover > a::after {
        bottom: -30px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .nav > li.is-dropdown:hover > a::after {
        bottom: -22px;
    }
}

.nav-dropdown-btn {
    position: absolute;
    top: 4px;
    right: 0;
    width: 24px;
    height: 52px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown-btn {
        top: 0;
        width: 12px;
        height: 100%;
    }
}

.nav-dropdown-btn span {
    position: absolute;
    top: 20px;
    right: 0;
    width: 12px;
    height: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown-btn span {
        top: 50%;
        background: url(../images/icon/arrow-down.svg) no-repeat;
        transform: translateY(-50%);
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav-dropdown-btn span {
        top: 2px;
        transform: inherit;
    }
}

.nav-dropdown-btn span::before,
.nav-dropdown-btn span::after {
    position: absolute;
    display: block;
    content: "";
    background: #bacacf;
    transition: 0.4s;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown-btn span::before,
    .nav-dropdown-btn span::after {
        content: none;
    }
}

.nav-dropdown-btn span::before {
    top: 50%;
    left: 0;
    width: 12px;
    height: 2px;
    transform: translateY(-50%);
}

.nav-dropdown-btn span::after {
    top: 0;
    left: 50%;
    width: 2px;
    height: 12px;
    transform: translateX(-50%);
}

.nav-dropdown-btn.expanded span::after {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
}

.nav-dropdown {
    display: none;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .nav-dropdown {
        margin-bottom: 24px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown {
        position: fixed;
        top: 110px;
        width: 900px;
        max-width: calc(100vw - 20px);
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .nav-dropdown {
        top: 100px;
        max-width: calc(100vw - 100px);
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .nav-dropdown {
        top: 90px;
        max-width: calc(100vw - 40px);
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown > div {
        padding: 50px 60px;
        margin-top: 17px;
        text-align: left;
        background: #fff;
        border-radius: 10px;
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav-dropdown > div {
        padding: 50px 30px;
    }
}

.nav-dropdown > div > dt {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-dropdown > div > dt {
        display: block;
        padding-bottom: 13px;
        font-size: 20px;
        font-weight: normal;
        line-height: 1.46;
        color: #03141a;
        border-bottom: 1px solid #dbe8ed;
    }
    .nav-dropdown > div > dt br {
        display: none;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-children {
        display: flex;
        flex-wrap: wrap;
    }
}

.nav-children > li {
    margin-top: 16px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-children > li {
        width: 225px;
        margin-top: 20px;
    }
    .nav-children > li:not(:nth-child(3n)) {
        margin-right: 20px;
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .nav-children > li {
        width: 208px;
    }
}

.nav-children > li.w-auto {
    width: auto;
}

.nav-children > li > a {
    position: relative;
    display: inline-block;
    padding-left: 8px;
    font-size: 16px;
    line-height: 1.5;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-children > li > a {
        display: inline-flex;
        padding-left: 16px;
        font-size: 13px;
    }
    .nav-children > li > a:hover {
        color: gray;
    }
}

.nav-children > li > a::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "-";
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-children > li > a::before {
        top: 4px;
        width: 12px;
        height: 12px;
        content: "";
        background: url(../images/icon/list-marker.svg) no-repeat;
    }
}

.cart-inner-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 60px;
    margin-top: 30px;
    background: #00b5df;
    border-radius: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .cart-inner-btn {
        display: none;
    }
}

.cart-inner-btn span {
    position: relative;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.46;
    color: #fff;
}

.cart-inner-btn span::before {
    position: absolute;
    top: 50%;
    left: -32px;
    display: block;
    width: 24px;
    height: 24px;
    content: "";
    background: url(../images/icon/cart-white.svg) no-repeat;
    transform: translateY(-50%);
}

.nav-foot {
    margin: 30px 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-foot {
        display: none;
    }
}

.nav-foot > li {
    margin-top: 20px;
    text-align: center;
}

.nav-foot > li > a {
    font-size: 12px;
    line-height: 1.5;
    color: #626262;
    text-align: center;
}

.cart-btn {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 40px;
    height: 45px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .cart-btn {
        z-index: 1;
        align-items: center;
        width: 160px;
        height: 60px;
        cursor: pointer;
        background: #00b5df;
    }
    header.scroll .cart-btn,
    .cart-btn.hover {
        border-radius: 0;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn {
        width: 118px;
        height: 50px;
    }
}

@media (max-width: 374px) {
    .cart-btn {
        width: 36px;
        height: 40px;
    }
}

.cart-btn span {
    position: relative;
    font-size: 8px;
    font-weight: bold;
    line-height: 1.45;
    color: #03141a;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .cart-btn span {
        margin-left: 32px;
        font-size: 13px;
        line-height: 1.5;
        color: #fff;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn span {
        margin-left: 21px;
        font-size: 11px;
    }
}

.cart-btn span.spTxt {
    margin-bottom: 3px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .cart-btn span.spTxt {
        display: none;
    }
}

@media (max-width: 374px) {
    .cart-btn span.spTxt {
        margin-bottom: 0;
    }
}

.cart-btn span.spTxt::before {
    position: absolute;
    top: -24px;
    left: 50%;
    display: block;
    width: 20px;
    height: 20px;
    content: "";
    background: url(../images/icon/cart.svg) no-repeat;
    transform: translateX(-50%);
}

@media (max-width: 374px) {
    .cart-btn span.spTxt::before {
        top: -22px;
        width: 16px;
        height: 16px;
        background-size: contain;
    }
}

.cart-btn span.pcTxt {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .cart-btn span.pcTxt {
        display: block;
    }
    .cart-btn span.pcTxt::before {
        position: absolute;
        top: 50%;
        left: -32px;
        display: block;
        width: 24px;
        height: 24px;
        content: "";
        background: url(../images/icon/cart-white.svg) no-repeat;
        background-size: contain;
        transform: translateY(-50%);
    }
}

@media (min-width: 768px) and (orientation: portrait) and (min-width: 768px) and (max-width: 1365px) and (orientation: portrait),
    (min-width: 897px) and (orientation: landscape) and (min-width: 768px) and (max-width: 1365px) and (orientation: portrait),
    (min-width: 768px) and (orientation: portrait) and (min-width: 897px) and (max-width: 1365px) and (orientation: landscape),
    (min-width: 897px) and (orientation: landscape) and (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn span.pcTxt::before {
        left: -21px;
        width: 16px;
        height: 16px;
    }
}

.buy-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 2;
    display: none;
    width: calc(100% - 40px);
    padding: 30px 20px;
    text-align: center;
    background: #fff;
    border-radius: 10px;
    transform: translate(-50%, -50%);
}

.buy-dialog > p {
    position: relative;
    margin: 44px 0 20px;
    font-size: 16px;
    line-height: 1.46;
    color: #111;
}

.buy-dialog > p::before {
    position: absolute;
    top: -44px;
    left: 50%;
    display: block;
    width: 42px;
    height: 42px;
    content: "";
    background: url("../images/icon/cart-blue.svg") no-repeat;
    transform: translateX(-50%);
}

.close-btn {
    position: absolute;
    top: -26px;
    right: 0;
    width: 16px;
    height: 16px;
}

.close-btn::before,
.close-btn::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 2px;
    content: "";
    background: #c4c4c4;
}

.close-btn::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.close-btn::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.nav-btn {
    position: relative;
    width: 60px;
    height: 60px;
    margin-left: 10px;
    background: #7e9ca6;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .nav-btn {
        display: none;
    }
}

.nav-btn::before,
.nav-btn::after {
    position: absolute;
    left: 50%;
    display: block;
    width: 24px;
    height: 2px;
    content: "";
    background: #fff;
    transition: 0.4s;
    transform: translateX(-50%);
}

.nav-btn::before {
    top: 25px;
}

.nav-btn::after {
    bottom: 25px;
}

.nav-btn.expanded::before,
.nav-btn.expanded::after {
    top: 50%;
}

.nav-btn.expanded::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.nav-btn.expanded::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.header-bg,
.dialog-bg {
    position: fixed;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
}

.header-bg {
    background: rgba(17, 17, 17, 0.3);
}

.header-bg.lang {
    background: transparent;
}

.dialog-bg {
    z-index: 2;
    background: rgba(0, 0, 0, 0.4);
}

.footer-top-inner {
    padding: 60px 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-top-inner {
        max-width: 900px;
        padding: 40px 0 60px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 900px) and (orientation: portrait) {
    .footer-top-inner {
        padding-right: 20px;
        padding-left: 20px;
    }
}

.footer-top-upper {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-top-upper {
        justify-content: space-between;
    }
}

.footer-top-upper .cart-btn {
    width: 160px;
    height: 70px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .footer-top-upper .cart-btn {
        display: none;
    }
}

.footer-top-upper .cart-btn span {
    padding-top: 0;
    margin-left: 30px;
    font-size: 13px;
}

.footer-top-upper .cart-btn span::before {
    left: -30px;
    width: 24px;
    height: 24px;
}

.footer-logo {
    display: block;
    width: 230px;
    margin: 0 auto;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-logo {
        flex-shrink: 0;
        margin: 0;
    }
    .footer-logo:hover {
        opacity: 0.7;
    }
}

.footer-logo img {
    width: 100%;
}

.footer-nav-wrap {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav-wrap {
        display: flex;
        justify-content: space-between;
        margin-top: 36px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav {
        width: 50%;
    }
    .footer-nav:last-child {
        margin-left: 40px;
    }
}

.footer-nav > li {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav > li {
        margin: 0 0 40px;
    }
}

.footer-nav > li > a {
    position: relative;
    display: block;
    padding: 10px 0 10px 16px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.46;
    color: #03141a;
    border-bottom: 1px solid #cfd7de;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav > li > a {
        padding-bottom: 10px;
        font-size: 12px;
        white-space: nowrap;
    }
    .footer-nav > li > a:hover {
        opacity: 0.7;
    }
}

.footer-nav > li > a::before {
    position: absolute;
    top: 14px;
    left: 0;
    display: block;
    width: 12px;
    height: 12px;
    content: "";
    background: url(../images/icon/list-marker.svg) no-repeat;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .footer-nav > li > a::before {
        top: 15px;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .footer-nav > li > a br {
        display: none;
    }
}

.footer-nav > li:last-of-type {
    margin-bottom: 0;
}

.footer-nav-children > li {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav-children > li {
        margin-top: 10px;
    }
}

.footer-nav-children > li > a {
    position: relative;
    display: block;
    padding-left: 8px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.67;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-nav-children > li > a:hover {
        color: gray;
    }
}

.footer-nav-children > li > a::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "-";
}

.footer-banner {
    padding: 40px 0;
    text-align: center;
    background: #fafbfb;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-banner ul {
        display: flex;
        justify-content: center;
    }
}

.footer-banner ul > li {
    width: 100%;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .footer-banner ul > li:not(:first-of-type) {
        margin-top: 16px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-banner ul > li {
        width: calc(50% - 20px);
    }
    .footer-banner ul > li:nth-of-type(2n) {
        margin-left: 40px;
    }
    .footer-banner ul > li:hover {
        opacity: 0.7;
    }
}

.footer-banner img {
    width: 100%;
    max-width: 530px;
}

.footer-bottom {
    border-top: 1px solid #ce2d26;
}

.footer-bottom-inner {
    padding: 16px 0;
    text-align: center;
}

.company-logo {
    display: inline-block;
    width: 165px;
}

.company-logo img {
    width: 100%;
}

.footer-links {
    display: flex;
    justify-content: center;
    margin: 11px 0 3px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .footer-links {
        align-items: center;
        margin: 0 0 0 20px;
    }
}

.footer-links > li {
    line-height: 1;
}

.footer-links > li a {
    display: block;
    font-size: 12px;
    line-height: 2.83;
    color: #6f6f6f;
}

.footer-links > li + li {
    position: relative;
    padding-left: 10px;
    margin-left: 10px;
}

.footer-links > li + li::before {
    position: absolute;
    top: 50%;
    left: -1px;
    display: block;
    font-size: 10px;
    color: #7f7f7f;
    content: "|";
    transform: translateY(-50%);
}

.copyright {
    display: inline-block;
    font-size: 10px;
    line-height: 1.4;
    color: #6f6f6f;
}

.breadcrumb {
    display: flex;
    padding: 20px 20px 9px;
    overflow-x: auto;
    font-size: 10px;
    font-weight: 500;
    line-height: 2;
    white-space: nowrap;
    border-bottom: 1px solid #f1f4f5;
}

.breadcrumb > li {
    color: #03141a;
}

.breadcrumb > li:first-of-type {
    margin-left: auto;
}

.breadcrumb > li:not(:first-of-type)::before {
    margin: 0 5px;
    color: #828282;
    content: ">";
}

.breadcrumb > li > a {
    color: #828282;
}

.breadcrumb > li br {
    display: none;
}

.top-figure-wrap {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-figure-wrap {
        display: flex;
        justify-content: space-between;
    }
}

.top-figure-wrap figure {
    position: relative;
    width: 100%;
    max-width: calc(100vh - 60px);
    margin-bottom: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-figure-wrap figure {
        width: 520px;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .top-figure-wrap figure {
        width: 48%;
    }
}

.top-figure-wrap figure + figure {
    margin-top: 70px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-figure-wrap figure + figure {
        margin-top: 0;
    }
}

.top-figure-wrap figure::before {
    display: block;
    padding-top: 100%;
    content: "";
}

.top-figure-wrap figure iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.top-figure-wrap figure figcaption {
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    text-align: center;
    cursor: pointer;
    transform: translateY(100%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-figure-wrap figure figcaption {
        font-size: 16px;
    }
}

.top-figure-wrap figure img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 136px;
    height: 136px;
    background: url(../images/icon/play.svg) no-repeat;
    background-size: contain;
    transform: translate(-50%, -50%);
}

.play-btn.white {
    z-index: 1;
    width: 54px;
    height: 54px;
    background: url(../images/icon/play-white.svg) no-repeat;
}

.video-container-wrap {
    padding: 80px 0;
    background: #fffaf0;
}

.video-container {
    margin: 0 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-container {
        max-width: 900px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .video-container {
        margin: 0 20px;
    }
}

.video-container h2 {
    font-size: 24px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    text-align: center;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-container h2 {
        font-size: 32px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-figure-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

.video-figure-wrap figure {
    display: flex;
    align-items: center;
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-figure-wrap figure {
        width: calc(50% - 26px);
        margin-top: 40px;
    }
}

.video-figure-wrap figure .figure-img {
    position: relative;
    flex-shrink: 0;
    width: 120px;
    height: 120px;
    cursor: pointer;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-figure-wrap figure .figure-img {
        width: 160px;
        height: 160px;
    }
}

.video-figure-wrap figure img {
    width: 100%;
}

.video-figure-wrap figure figcaption {
    margin-left: 15px;
    font-size: 20px;
    color: #03141a;
    cursor: pointer;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-figure-wrap figure figcaption {
        margin-left: 20px;
        font-size: 24px;
        line-height: 1.67;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .video-figure-wrap figure figcaption br {
        display: none;
    }
}

@media (max-width: 374px) {
    .video-figure-wrap figure figcaption br {
        display: none;
    }
}

.video-figure-wrap .play-btn {
    width: 48px;
    height: 48px;
}

.video-bg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    display: none;
    width: 100%;
    height: 100%;
    background: rgba(17, 17, 17, 0.5);
}

.video-dialog {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10;
    display: none;
    width: calc(100% - 40px);
    max-width: 483px;
    transform: translate(-50%, -50%);
}

.video-dialog.is-cm {
    max-width: 800px;
}

.video-dialog.is-cm::before {
    padding-top: 56.25%;
}

.video-dialog::before {
    display: block;
    padding-top: 100%;
    content: "";
}

.video-dialog iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-close-btn {
    position: absolute;
    top: -34px;
    right: 0;
    width: 24px;
    height: 24px;
    background: url(../images/icon/close.svg) no-repeat;
    background-size: contain;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
}

.video-list > li {
    width: 100%;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .video-list > li {
        margin-top: 30px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-list > li {
        width: calc(50% - 18px);
    }
    .video-list > li:nth-of-type(n + 3) {
        margin-top: 40px;
    }
}

.video-list > li .figure-img {
    position: relative;
    cursor: pointer;
}

.video-list > li .figure-img::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    background: rgba(0, 0, 0, 0.2);
}

.video-list > li .figure-img img {
    width: 100%;
}

.video-list > li figcaption {
    margin-top: 10px;
    color: #000;
    text-align: center;
    cursor: pointer;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .video-list > li figcaption {
        margin-top: 20px;
        font-size: 20px;
    }
}

html {
    scroll-padding-top: 60px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    html {
        scroll-padding-top: 121px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    html {
        scroll-padding-top: 111px;
    }
}

body {
    font-size: 16px;
    line-height: 2;
    color: #626262;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    body {
        font-size: 20px;
        color: #4d4d4d;
    }
}

br.break-pc {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    br.break-pc {
        display: inherit;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    br.break-sp {
        display: none;
    }
}

.heading1 {
    position: relative;
    padding: 40px 0 24px;
    margin: 0 20px;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading1 {
        max-width: 900px;
        padding: 50px 0 40px;
        margin: 0 auto;
        font-size: 34px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .heading1 {
        margin: 0 20px;
    }
}

.heading1::after {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 58px;
    height: 4px;
    content: "";
    background: #fbb030;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading1::after {
        width: 108px;
    }
}

.heading1 br {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading1 br {
        display: inherit;
    }
}

.heading2 {
    margin-bottom: 20px;
}

.heading2 > span {
    display: block;
    padding: 12px 0 12px 10px;
    margin-bottom: 10px;
    font-size: 20px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    background: #f8fbf6;
    border-left: 4px solid #98c279;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading2 > span {
        padding: 14px 0 14px 20px;
        font-size: 26px;
    }
}

.heading2 > span.soudan,
.heading2 > span.shitehaikenai,
.heading2 > span.seibun,
.heading2 > span.youhou,
.heading2 > span.kounou {
    display: flex;
    align-items: center;
}

.heading2 > span.soudan::before,
.heading2 > span.shitehaikenai::before,
.heading2 > span.seibun::before,
.heading2 > span.youhou::before,
.heading2 > span.kounou::before {
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    margin-right: 8px;
    content: "";
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading2 > span.soudan::before,
    .heading2 > span.shitehaikenai::before,
    .heading2 > span.seibun::before,
    .heading2 > span.youhou::before,
    .heading2 > span.kounou::before {
        width: 40px;
        height: 40px;
        margin-right: 16px;
    }
}

.heading2 > span.kounou::before {
    background: url(../images/icon/kounou.svg) no-repeat;
    background-size: contain;
}

.heading2 > span.youhou::before {
    background: url(../images/icon/youhou.svg) no-repeat;
    background-size: contain;
}

.heading2 > span.seibun::before {
    background: url(../images/icon/seibun.svg) no-repeat;
    background-size: contain;
}

.heading2 > span.shitehaikenai::before {
    background: url(../images/icon/shitehaikenai.svg) no-repeat;
    background-size: contain;
}

.heading2 > span.soudan::before {
    background: url(../images/icon/soudan.svg) no-repeat;
    background-size: contain;
}

.heading2 > span small {
    font-size: 14px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading2 > span small {
        font-size: 20px;
    }
    .heading2 > span small br {
        display: none;
    }
}

section + section .heading2 {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    section + section .heading2 {
        margin-top: 60px;
    }
}

.heading3 {
    position: relative;
    padding-bottom: 15px;
    padding-left: 18px;
    margin: 40px 0 10px;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    border-bottom: 1px solid #c1ced3;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading3 {
        padding-bottom: 20px;
        margin: 40px 0 20px;
        font-size: 22px;
    }
}

.heading3::before {
    position: absolute;
    top: 8px;
    left: 0;
    display: block;
    width: 8px;
    height: 8px;
    content: "";
    background: #fbb030;
    border-radius: 50%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .heading3::before {
        top: 14px;
    }
}

.headingNum {
    display: flex;
    align-items: flex-start;
    padding-bottom: 16px;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.45;
    color: #03141a;
    border-bottom: 1px solid #d3dce0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .headingNum {
        align-items: center;
        margin-bottom: 30px;
        font-size: 22px;
    }
}

.headingNum .num {
    display: block;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    margin-right: 10px;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 38px;
    color: #0e5279;
    text-align: center;
    background: #fafbfb;
    border: 1px solid #bacacf;
    border-radius: 50%;
}

.headingNum .text {
    display: block;
    padding: 7px 7px 0 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .headingNum .text {
        padding: 0 14px 0 0;
    }
}

.container-wrap {
    padding: 40px 0 0;
    border-top: 1px solid #f1f4f5;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .container-wrap {
        padding-top: 60px;
    }
}

.container-wrap.pdTop0 {
    padding-top: 0;
}

.container {
    margin: 0 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .container {
        max-width: 900px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .container {
        margin: 0 20px;
    }
}

.default-btn,
.back-btn,
.next-btn,
.pdf-btn {
    display: block;
    width: 100%;
    max-width: 320px;
    padding: 17.5px 0;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.46;
    color: #0e5279;
    text-align: center;
    border: 1px solid #0e5279;
    border-radius: 40px;
    transition: 0.4s;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .default-btn,
    .back-btn,
    .next-btn,
    .pdf-btn {
        padding: 27.5px 0;
    }
    .default-btn:hover,
    .back-btn:hover,
    .next-btn:hover,
    .pdf-btn:hover {
        color: #fff;
        background: #00b5df;
        border: 1px solid #00b5df;
    }
}

.back-btn,
.next-btn {
    position: relative;
}

.back-btn::after,
.next-btn::after {
    position: absolute;
    top: 50%;
    display: block;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../images/icon/long-arrow-right.svg) no-repeat;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .back-btn:hover::after,
    .next-btn:hover::after {
        background: url(../images/icon/long-arrow-white.svg) no-repeat;
    }
}

.next-btn::after {
    right: 10px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .next-btn::after {
        right: 20px;
    }
}

.back-btn::after {
    left: 10px;
    transform: translateY(-50%) rotate(180deg);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .back-btn::after {
        left: 20px;
    }
}

.pdf-btn > span {
    position: relative;
    padding-left: 32px;
}

.pdf-btn > span::before {
    position: absolute;
    top: 53%;
    left: 0;
    width: 22px;
    height: 22px;
    content: "";
    background: url(../images/icon/pdf.svg) no-repeat;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .button-wrap {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .button-wrap button {
        margin: 0;
    }
}

.button-wrap button + button {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .button-wrap button + button {
        margin: 0 40px 0 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .link-wrap {
        display: flex;
        justify-content: center;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .link-wrap a {
        margin: 0;
    }
}

.link-wrap a + a {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .link-wrap a + a {
        margin: 0 0 0 40px;
    }
}

.buy-list-wrap {
    padding: 30px 20px;
    margin-top: 44px;
    background: #fafbfb;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .buy-list-wrap {
        padding: 45px 0;
    }
}

.buy-list > li + li {
    margin-top: 10px;
}

.buy-list > li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    background: #fff;
    border: 1px solid #97bdc8;
}

.buy-list > li a img {
    width: 120px;
}

.buy-list > li a img.shc {
    width: 134px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .buy-list > li a img.shc {
        width: 138px;
    }
}

.buy-list > li a img.dealer {
    width: 144px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .buy-list > li a:hover img {
        opacity: 0.7;
    }
}

.cart-btn .buy-list {
    position: absolute;
    right: 0;
    bottom: 0;
    left: auto;
    display: none;
    width: 100%;
    padding: 20px 15px 30px;
    background: #00acd3;
    border-radius: 0 0 0 20px;
    transform: translateY(100%);
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .cart-btn .buy-list {
        padding: 20px 10px 30px;
    }
}

.cart-btn .buy-list a {
    height: 41px;
}

.cart-btn .buy-list img {
    width: 82px;
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn .buy-list img {
        width: 59px;
    }
}

.cart-btn .buy-list img.shc {
    width: 92px;
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn .buy-list img.shc {
        width: 66px;
    }
}

.cart-btn .buy-list img.dealer {
    width: 109px;
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .cart-btn .buy-list img.dealer {
        width: 78px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .buy-list-wrap .buy-list {
        display: flex;
        justify-content: center;
    }
    .buy-list-wrap .buy-list > li {
        width: 190px;
    }
    .buy-list-wrap .buy-list > li + li {
        margin: 0 0 0 17px;
    }
}

.feature-list > li,
.faq-list > li,
.link-list > li {
    margin-top: 20px;
    border-bottom: 1px solid #dbe8ed;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li,
    .faq-list > li,
    .link-list > li {
        margin-top: 40px;
    }
}

.feature-list > li a,
.faq-list > li a,
.link-list > li a {
    position: relative;
    display: block;
    padding: 0 20px 20px 0;
    font-size: 16px;
    line-height: 2;
    color: #0e5279;
    letter-spacing: 0.04em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a,
    .faq-list > li a,
    .link-list > li a {
        padding: 4px 30px 20px 0;
        font-size: 20px;
    }
}

.feature-list > li a::after,
.faq-list > li a::after,
.link-list > li a::after {
    position: absolute;
    top: 8px;
    right: 0;
    display: block;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../images/icon/long-arrow-right.svg) no-repeat;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a::after,
    .faq-list > li a::after,
    .link-list > li a::after {
        top: 16px;
        transition: 0.4s;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a::before,
    .faq-list > li a::before,
    .link-list > li a::before {
        position: absolute;
        bottom: -1px;
        left: 0;
        display: block;
        width: 0;
        content: "";
        border-bottom: 1px solid #3d5e68;
        transition: 0.4s;
    }
    .feature-list > li a span[data-hover],
    .faq-list > li a span[data-hover],
    .link-list > li a span[data-hover] {
        position: relative;
        display: block;
        color: transparent;
    }
    .feature-list > li a span[data-hover]::before,
    .faq-list > li a span[data-hover]::before,
    .link-list > li a span[data-hover]::before {
        position: absolute;
        top: 0;
        left: 0;
        color: #0e5279;
        content: attr(data-hover);
        transition: 0.4s;
    }
    .feature-list > li a span[data-hover]::after,
    .faq-list > li a span[data-hover]::after,
    .link-list > li a span[data-hover]::after {
        position: absolute;
        top: 0;
        left: 0;
        color: #0e5279;
        content: attr(data-hover);
        opacity: 0;
        transition: 0.4s;
        transform: translateY(50%);
    }
    .feature-list > li a:hover::before,
    .faq-list > li a:hover::before,
    .link-list > li a:hover::before {
        width: 100%;
    }
    .feature-list > li a:hover span[data-hover]::before,
    .faq-list > li a:hover span[data-hover]::before,
    .link-list > li a:hover span[data-hover]::before {
        opacity: 0;
        transform: translateY(-50%);
    }
    .feature-list > li a:hover span[data-hover]::after,
    .faq-list > li a:hover span[data-hover]::after,
    .link-list > li a:hover span[data-hover]::after {
        opacity: 1;
        transform: translateY(0);
    }
    .feature-list > li a:hover::after,
    .faq-list > li a:hover::after,
    .link-list > li a:hover::after {
        transform: translateX(-100%);
    }
}

.feature-list > li > span,
.faq-list > li > span,
.link-list > li > span {
    position: relative;
    display: block;
    padding: 0 16px 20px 0;
    line-height: 2;
    color: #03141a;
    letter-spacing: 0.04em;
    opacity: 0.4;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li > span,
    .faq-list > li > span,
    .link-list > li > span {
        padding: 4px 16px 20px 0;
    }
}

.feature-list > li > span::after,
.faq-list > li > span::after,
.link-list > li > span::after {
    position: absolute;
    top: 8px;
    right: 0;
    display: block;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../images/icon/long-arrow-right.svg) no-repeat;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li > span::after,
    .faq-list > li > span::after,
    .link-list > li > span::after {
        top: 16px;
        transition: 0.4s;
    }
}

.faq-list > li:first-child {
    margin-top: 0;
}

.faq-list > li a {
    padding-left: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-list > li a {
        padding-left: 50px;
    }
}

.faq-list > li a .faq-no {
    position: absolute;
    top: 1px;
    left: 0;
    display: block;
    width: 30px;
    height: 30px;
    font-family: "Open Sans", sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 30px;
    color: #0e5279;
    text-align: center;
    background: #fafbfb;
    border: 1px solid #bacacf;
    border-radius: 50%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-list > li a .faq-no {
        top: 4px;
        width: 40px;
        height: 40px;
        font-size: 18px;
        line-height: 38px;
    }
}

.feature-list {
    margin-top: 30px;
}

.feature-list > li {
    counter-increment: count;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li {
        margin-top: 20px;
    }
}

.feature-list > li:first-child {
    margin-top: 0;
}

.feature-list > li a {
    padding-left: 43px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a {
        padding-bottom: 17px;
        padding-left: 62px;
        font-size: 22px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a::after {
        top: 20px;
    }
}

.feature-list > li a .feature-no {
    position: absolute;
    top: -6px;
    left: 0;
    display: block;
    font-family: "Open Sans", sans-serif;
    font-size: 10px;
    line-height: 14px;
    color: #0e5279;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a .feature-no {
        top: 4px;
        font-size: 13px;
        line-height: 1;
    }
}

.feature-list > li a .feature-no::after {
    display: block;
    font-family: "Open Sans", sans-serif;
    font-size: 25px;
    line-height: 1;
    content: counter(count, decimal-leading-zero);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .feature-list > li a .feature-no::after {
        font-size: 28px;
    }
}

.card-nav {
    padding: 80px 20px;
    margin-top: 80px;
    background: #f8fbf6;
}

.howto-nav + .card-nav {
    margin-top: 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav {
        display: flex;
        justify-content: center;
        padding: 80px 0;
    }
}

.card-nav > li {
    padding: 30px 10px;
    margin-top: 30px;
    text-align: center;
    background: #fff;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .card-nav > li:first-of-type {
        margin-top: 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav > li {
        display: flex;
        flex-direction: column;
        width: 30%;
        max-width: 432px;
        padding: 50px 16px 54px;
        margin: 0 17.5px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav > li dl {
        margin-bottom: 22px;
    }
}

.card-nav > li dl > dt {
    position: relative;
    padding-top: 62px;
    font-size: 24px;
    line-height: 1.46;
    color: #03141a;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav > li dl > dt {
        font-size: 30px;
    }
    .card-nav > li dl > dt br {
        display: none;
    }
}

.card-nav > li dl > dt::before {
    position: absolute;
    top: 0;
    left: 50%;
    display: block;
    width: 42px;
    height: 42px;
    content: "";
    transform: translateX(-50%);
}

.card-nav > li dl > dt[data-name|="buy"]::before {
    background: url(../images/icon/cart-blue.svg) no-repeat;
}

.card-nav > li dl > dt[data-name|="faq"]::before {
    background: url(../images/icon/question.svg) no-repeat;
}

.card-nav > li dl > dt[data-name|="understanding"]::before {
    background: url(../images/icon/document.svg) no-repeat;
}

.card-nav > li dl > dd {
    margin-top: 10px;
    font-size: 16px;
    line-height: 2;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav > li dl > dd {
        margin-top: 20px;
    }
}

.card-nav > li .next-btn {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .card-nav > li .next-btn {
        margin-top: auto;
    }
}

.scroll-table {
    margin-top: 40px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .scroll-table {
        margin-top: 20px;
    }
}

.heading3 + .scroll-table {
    margin-top: 0;
}

.scroll-table .note {
    display: none;
}

@media (max-width: 939px) {
    .scroll-table .note {
        display: inherit;
        margin-bottom: 10px;
        font-size: 16px;
        font-weight: 500;
        color: #828282;
    }
}

.scroll-table .scrollArea {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.scroll-table .scrollArea::-webkit-scrollbar {
    height: 8px;
}

.scroll-table .scrollArea::-webkit-scrollbar-track {
    background: #ebebeb;
    border-radius: 4px;
}

.scroll-table .scrollArea::-webkit-scrollbar-thumb {
    background: #a5a5a5;
    background-clip: content-box;
    border: 2px solid transparent;
    border-radius: 6.5px;
}

.scroll-table .scrollArea > table {
    width: 900px;
}

.scroll-table .scrollArea > table th,
.scroll-table .scrollArea > table td {
    background: #fff;
}

.scroll-table .scrollArea > table th {
    font-weight: 500;
}

.scroll-table .scrollArea > table .vertical {
    letter-spacing: 0.5em;
    white-space: nowrap;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
}

.scroll-table .scrollArea > table .bdTopNone {
    border-top: 0;
}

.scroll-table .scrollArea > table .bdBottom {
    border-bottom: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea > table .bdRight {
    border-right: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea > table .dark-blue {
    color: #fff;
    background: #3d5e68;
}

.scroll-table .scrollArea > table .cyan {
    color: #fff;
    background: #00a7d6;
}

.scroll-table .scrollArea > table .orange {
    color: #fff;
    background: #fbb030;
}

.scroll-table .scrollArea > table .green {
    background: #d2e2c4;
}

.scroll-table .scrollArea > table .green2 {
    color: #fff;
    background: #9bc279;
}

.scroll-table .scrollArea > table .light-green {
    background: #eef3d1;
}

.scroll-table .scrollArea > table .light-blue1 {
    background: #bcdce6;
}

.scroll-table .scrollArea > table .light-blue2 {
    background: #d1e8ef;
}

.scroll-table .scrollArea > table .light-blue3 {
    background: #e3f2f6;
}

.scroll-table .scrollArea > table .light-cyan {
    background: #e8faff;
}

.scroll-table .scrollArea > table .light-orange {
    background: #feedcc;
}

.scroll-table .scrollArea > table > thead th {
    padding: 13px;
    line-height: 1.43;
    color: #03141a;
    background: #eaeaea;
}

.scroll-table .scrollArea > table > thead th + th {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea > table > thead.pd23 th {
    padding: 23px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .scroll-table .scrollArea > table > thead.thLeft-sp.pd23 th {
        padding-left: 19px;
        text-align: left;
    }
}

.scroll-table .scrollArea > table > tbody th,
.scroll-table .scrollArea > table > tbody td {
    font-size: 16px;
    line-height: 1.375;
}

.scroll-table .scrollArea > table > tbody th {
    color: #03141a;
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea > table > tbody td {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea > table > tbody.thLeft th {
    text-align: left;
}

.scroll-table .scrollArea > table > tbody.top th,
.scroll-table .scrollArea > table > tbody.top td {
    vertical-align: top;
}

.scroll-table .scrollArea > table > tbody.tdCenter td {
    text-align: center;
    vertical-align: middle;
}

.scroll-table .scrollArea > table > tbody.pd11 th,
.scroll-table .scrollArea > table > tbody.pd11 td {
    padding: 11px;
}

.scroll-table .scrollArea > table > tbody.pd19 th,
.scroll-table .scrollArea > table > tbody.pd19 td {
    padding: 19px 11px 19px 19px;
}

.scroll-table .scrollArea > table > tbody tr:not(:first-of-type) th,
.scroll-table .scrollArea > table > tbody tr:not(:first-of-type) td {
    border-top: 1px solid rgba(193, 206, 211, 0.4);
}

.scroll-table .scrollArea + .annotation {
    padding-left: 1em;
    margin-top: 8px;
    font-size: 14px;
    text-indent: -1em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea + .annotation {
        font-size: 16px;
    }
}

.scroll-table .scrollArea .switch-otc thead th {
    font-size: 14px;
}

.scroll-table .scrollArea .switch-otc sup {
    font-size: 10px;
}

.scroll-table .scrollArea .rinderon-compare-table,
.scroll-table .scrollArea .ingredient-table {
    border-collapse: collapse;
    border: 1px solid #e1e1e1;
}

.scroll-table .scrollArea .rinderon-compare-table th,
.scroll-table .scrollArea .rinderon-compare-table td,
.scroll-table .scrollArea .ingredient-table th,
.scroll-table .scrollArea .ingredient-table td {
    font-size: 16px;
    line-height: 2;
    border: 1px solid #e1e1e1;
}

.scroll-table .scrollArea .rinderon-compare-table th,
.scroll-table .scrollArea .ingredient-table th {
    background: #f5f5f5;
}

.scroll-table .scrollArea .ingredient-table th,
.scroll-table .scrollArea .ingredient-table td {
    padding: 16px 13px;
}

.scroll-table .scrollArea .ingredient-table td:nth-of-type(2) {
    text-align: center;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .scroll-table .scrollArea:has(.rinderon-compare-table) {
        margin-right: -20px;
    }
}

.scroll-table .scrollArea .rinderon-compare-table-wrap {
    position: relative;
    display: inline-flex;
    background: url(../images/bg/premium.jpg);
    background-size: 50% 100%;
}

.scroll-table .scrollArea .rinderon-compare-table {
    position: relative;
    width: auto;
    white-space: nowrap;
}

.scroll-table .scrollArea .rinderon-compare-table th,
.scroll-table .scrollArea .rinderon-compare-table td {
    padding: 16px 8px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-table th,
    .scroll-table .scrollArea .rinderon-compare-table td {
        padding: 16px 20px;
    }
}

.scroll-table .scrollArea .rinderon-compare-table tbody th {
    line-height: 150%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-table tbody th {
        width: 198px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-table tbody th br {
        display: none;
    }
}

.scroll-table .scrollArea .rinderon-compare-table tbody td {
    font-weight: 500;
    line-height: 1.5;
    color: #03141a;
}

.scroll-table .scrollArea .rinderon-compare-table tbody td:first-of-type {
    background: #fff;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-table tbody td img {
        max-width: 100%;
        height: auto;
    }
}

.scroll-table .scrollArea .rinderon-compare-table tbody tr:first-of-type td {
    text-align: center;
}

.scroll-table .scrollArea .rinderon-compare-table tbody tr:last-of-type td {
    vertical-align: top;
}

.scroll-table .scrollArea .rinderon-compare-table tbody tr:nth-of-type(2) td {
    vertical-align: bottom;
}

.scroll-table .scrollArea .rinderon-compare-table tbody tr:not(:last-of-type) td:last-of-type {
    border-bottom-color: #fff;
}

.scroll-table .scrollArea .rinderon-compare-table .hide {
    opacity: 0;
}

.scroll-table .scrollArea .rinderon-compare-ingredients {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-top: 48px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-ingredients {
        padding-top: 56px;
        margin-right: 4px;
    }
}

.scroll-table .scrollArea .rinderon-compare-ingredients .wide,
.scroll-table .scrollArea .rinderon-compare-ingredients .plus {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    color: #fff;
    text-align: center;
    background: linear-gradient(271deg, #006d29 0.1%, #009d3a 50.1%, #083 100.1%);
}

.scroll-table .scrollArea .rinderon-compare-ingredients .wide {
    position: absolute;
    top: 0;
    right: 0;
    width: 653px;
    height: 40px;
    font-size: 16px;
    line-height: 120%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-ingredients .wide {
        width: 905px;
        height: 48px;
        font-size: 20px;
    }
}

.scroll-table .scrollArea .rinderon-compare-ingredients .plus {
    position: relative;
    min-height: 40px;
    padding: 8px 8px 8px 18px;
    margin-left: 10px;
    font-size: 14px;
    line-height: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .scroll-table .scrollArea .rinderon-compare-ingredients .plus {
        padding-right: 0;
        margin-left: 6px;
        font-size: 16px;
    }
}

.scroll-table .scrollArea .rinderon-compare-ingredients .plus::before {
    position: absolute;
    top: calc(50% - 11.5px);
    left: -11.5px;
    width: 23px;
    height: 23px;
    content: "";
    background: url(../images/icon/premium-plus.svg);
}

.scroll-table .scrollArea .rinderon-compare-list {
    padding-left: 1em;
    list-style: disc;
}

.scroll-table .scrollArea .rinderon-compare-list sup {
    top: -8px;
    font-size: 50%;
}

.scroll-table .scrollArea .rinderon-compare-list + small,
.scroll-table .scrollArea .rinderon-compare-list small {
    font-size: 10px;
}

.scroll-table .scrollArea .rinderon-compare-list + small {
    padding-left: 16px;
}

.number-list {
    counter-reset: num;
}

.number-list > li {
    position: relative;
    padding-left: 22px;
    color: #4d4d4d;
}

.number-list > li + li {
    margin-top: 10px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .number-list > li + li {
        margin-top: 20px;
    }
}

.number-list > li::before {
    position: absolute;
    top: 0;
    left: 0;
    font-weight: 500;
    content: counter(num) ".";
    counter-increment: num;
}

.number-list > li > ul {
    padding-left: 1em;
}

.number-list > li > ul > li {
    position: relative;
    padding-left: 1em;
}

.number-list > li > ul > li::before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
}

.number-list > li > ol > li {
    padding-left: 3em;
    text-indent: -3em;
}

.number-list > li > table {
    margin: 20px 0 20px -22px;
}

.number-list > li > table th {
    font-weight: 500;
}

.number-list > li > table > thead th {
    padding: 23px 40px;
    font-size: 20px;
    line-height: 1.43;
    color: #03141a;
    background: #eaeaea;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .number-list > li > table > thead th {
        padding: 23px 20px;
    }
    .number-list > li > table > thead th.narrow {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.number-list > li > table > thead th + th {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li > table > tbody th,
.number-list > li > table > tbody td {
    padding: 23px 28px 23px 40px;
    color: #03141a;
    background: #fff;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .number-list > li > table > tbody th,
    .number-list > li > table > tbody td {
        padding: 23px 20px;
    }
}

.number-list > li > table > tbody th + th,
.number-list > li > table > tbody td + th {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li > table > tbody th {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .number-list > li > table > tbody th.narrow {
        padding-right: 10px;
        padding-left: 10px;
    }
}

.number-list > li > table > tbody td {
    border-left: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li > table > tbody td:last-of-type {
    border-right: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li > table > tbody tr:not(:first-of-type) th,
.number-list > li > table > tbody tr:not(:first-of-type) td {
    border-top: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li > table > tbody tr:last-of-type th,
.number-list > li > table > tbody tr:last-of-type td {
    border-bottom: 1px solid rgba(193, 206, 211, 0.4);
}

.number-list > li a.underline {
    color: inherit;
    text-decoration: underline;
}

.number-list .note {
    padding-left: 1em;
    text-indent: -1em;
}

.number-list2 > li {
    padding-left: 3em;
    text-indent: -3em;
}

.top-heading1 {
    font-size: inherit;
}

.top-container-wrap {
    background: #fff;
}

.top-container-wrap h2 {
    margin-bottom: 22px;
    font-size: 30px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-container-wrap h2 {
        margin-bottom: 30px;
        font-size: 42px;
    }
}

.top-container-wrap h2 small {
    display: block;
    margin-bottom: 7px;
    font-size: 12px;
    line-height: 1.46;
    color: #828282;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-container-wrap h2 small {
        margin-bottom: 14px;
        font-size: 14px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-container-wrap .card-nav > li {
        width: 50%;
    }
}

.top-container {
    margin: 0 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-container {
        max-width: 1100px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .top-container {
        margin: 0 20px;
    }
}

.hero {
    position: relative;
}

.hero img {
    width: 100%;
}

.hero .next-btn {
    position: absolute;
    background: #fff;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .hero .next-btn {
        bottom: 90px;
        left: 50%;
        width: 297px;
        padding: 15px 0;
        transform: translateX(-50%);
    }
}

@media (max-width: 374px) {
    .hero .next-btn {
        bottom: 15%;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero .next-btn {
        right: 374px;
        bottom: 3%;
        max-width: 340px;
        padding: 23.5px 0;
    }
    .hero .next-btn:hover {
        background: #00b5df;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .hero .next-btn {
        right: 260px;
        max-width: 210px;
        padding-top: 17px;
        padding-right: 20px;
        padding-bottom: 17px;
    }
    .hero .next-btn::after {
        right: 12px;
    }
}

.hero-checksheet {
    position: absolute;
    bottom: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 70px;
    padding: 0 20px;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.46;
    color: #fafbfb;
    background: #00b5df;
    box-shadow: 0 4px 20px #dce2e4;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero-checksheet {
        right: 50px;
        bottom: 3%;
        width: 313px;
        height: 72px;
        padding: 0 16px 0;
        border-radius: 40px;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    }
    .hero-checksheet:hover {
        opacity: 0.7;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .hero-checksheet {
        right: 40px;
        width: 210px;
        height: 59px;
    }
}

.hero-checksheet::before {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-right: 10px;
    content: "";
    background: url(../images/icon/file-copy.svg) no-repeat;
}

.hero-checksheet::after {
    flex-shrink: 0;
    width: 26px;
    height: 20px;
    margin-left: auto;
    content: "";
    background: url(../images/icon/long-arrow-white.svg) no-repeat;
    background-position: right;
    border-left: 1px solid rgba(255, 255, 255, 0.4);
}

.hero-btns {
    position: absolute;
    right: 0;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    width: 100%;
    padding: 16px 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero-btns {
        grid-template-columns: auto;
        gap: 12px;
        width: auto;
        padding: 24px;
    }
}

@media (max-width: 840px) {
    .hero-btns {
        padding-inline: 20px;
    }
}

@media (max-width: 374px) {
    .hero-btns {
        padding-inline: 8px;
    }
}

@media (min-width: 1580px) {
    .hero-btns {
        grid-template-columns: repeat(4, 1fr);
        padding: 40px 50px;
    }
}

.hero-btns-checksheet,
.hero-btns-next {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    font-size: 12px;
    font-weight: 500;
    font-feature-settings: "palt";
    line-height: 1.5;
    text-align: center;
    border-radius: 79px;
    transition: 0.4s;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero-btns-checksheet,
    .hero-btns-next {
        width: 220px;
        height: 56px;
        font-size: 14px;
        line-height: normal;
    }
}

.hero-btns-checksheet::after,
.hero-btns-next::after {
    position: absolute;
    top: 50%;
    right: 8px;
    width: 10px;
    height: 10px;
    content: "";
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero-btns-checksheet::after,
    .hero-btns-next::after {
        right: 12px;
        width: 16px;
        height: 16px;
    }
}

.hero-btns-next {
    color: #0e5279;
    background: #fff;
    border: 1px solid #0e5279;
}

.hero-btns-next::after {
    background-image: url(../images/icon/long-arrow-right.svg);
}

@media (hover: hover) {
    .hero-btns-next:hover {
        color: #fff;
        background: #00b5df;
        border: 1px solid #00b5df;
    }
    .hero-btns-next:hover::after {
        background-image: url(../images/icon/long-arrow-white.svg);
    }
}

.hero-btns-checksheet {
    color: #fff;
    background: #00b5df;
}

.hero-btns-checksheet::before {
    position: absolute;
    top: 50%;
    left: 11px;
    width: 16px;
    height: 16px;
    content: "";
    background: url(../images/icon/file-copy.svg) no-repeat;
    background-size: contain;
    transform: translateY(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .hero-btns-checksheet::before {
        left: 16px;
        width: 24px;
        height: 24px;
    }
}

.hero-btns-checksheet::after {
    background-image: url(../images/icon/long-arrow-white.svg);
}

@media (hover: hover) {
    .hero-btns-checksheet:hover {
        opacity: 0.7;
    }
}

.top-lead {
    color: #626262;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-lead {
        font-size: 24px;
        color: #4d4d4d;
    }
}

.top-feature {
    padding-top: 60px;
    margin-top: 55px;
    background: url(../images/bg/feature.svg) no-repeat;
    background-position: left 44px top 0;
    background-size: 584px 143px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature {
        padding-top: 82px;
        margin-top: 38px;
        background-position: calc(50vw - 329px) 20px;
        background-size: 1201px 294px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature .top-container {
        display: flex;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature .top-lead {
        max-width: 460px;
        margin-left: 40px;
    }
}

.top-feature .next-btn {
    margin-top: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature .next-btn {
        margin: 30px auto 0 60px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature .feature-list {
        margin: 155px 0 0 25px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-feature-box {
        width: 50%;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-howto-wrap {
        position: relative;
    }
    .top-howto-wrap::before {
        position: absolute;
        top: 430px;
        right: 0;
        width: calc(50% - 144px);
        height: 1402px;
        content: "";
        background: #f8fbf6;
    }
}

.top-howto {
    padding-top: 60px;
    margin-top: 50px;
    background: url(../images/bg/howtouse.svg) no-repeat;
    background-position: left 44px top -18px;
    background-size: 964px 201px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-howto {
        position: relative;
        margin-top: 80px;
        text-align: center;
        background-position: calc(50vw - 600px) 20px;
        background-size: 1980px 300px;
    }
}

.top-howto figure {
    position: relative;
    width: 100%;
    max-width: calc(100vh - 60px);
    margin-bottom: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-howto figure {
        width: 520px;
        margin-bottom: 104px;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .top-howto figure {
        width: 48%;
    }
}

.top-howto figure + figure {
    margin-top: 70px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-howto figure + figure {
        margin-top: 0;
    }
}

.top-howto figure::before {
    display: block;
    padding-top: 100%;
    content: "";
}

.top-howto figure iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.top-howto figure figcaption {
    position: absolute;
    bottom: -10px;
    left: 0;
    width: 100%;
    text-align: center;
    transform: translateY(100%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-howto figure figcaption {
        font-size: 24px;
    }
}

.top-figure-wrap {
    margin-top: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-figure-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 40px;
    }
}

.top-effect {
    padding-top: 60px;
    margin-top: 68px;
    background: url(../images/bg/effect.svg) no-repeat;
    background-position: left 44px top -18px;
    background-size: 452px 201px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect {
        position: relative;
        padding: 290px 0 178px;
        margin-top: 96px;
        background-position: calc(50vw - 567px) 3px;
        background-size: 930px 310px;
    }
    .top-effect::before {
        position: absolute;
        top: 195px;
        left: 0;
        width: calc(50% - 144px);
        height: 966px;
        content: "";
        background: #f8fbf6;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect h2 {
        margin-right: -56px;
    }
    .top-effect h2 br:last-child {
        display: none;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect .top-lead {
        max-width: 508px;
        margin-left: 42px;
    }
}

.top-effect img {
    width: 100%;
    margin-top: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect img {
        position: absolute;
        top: 92px;
        right: -56px;
        width: calc(100% - 56px);
        margin: 0;
        transform: translateX(100%);
    }
}

.top-effect .link-list {
    margin-top: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect .link-list {
        margin-left: 42px;
    }
    .top-effect .link-list > li {
        margin-top: 20px;
    }
    .top-effect .link-list > li a {
        padding: 7px 16px 24px 0;
        font-size: 22px;
        line-height: 1.55;
    }
    .top-effect .link-list > li a::after {
        top: 17px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-effect-box {
        position: relative;
        width: 50%;
    }
}

.top-faq {
    padding-top: 60px;
    margin-top: 80px;
    background: url(../images/bg/faq.svg) no-repeat;
    background-position: left 52px top -5px;
    background-size: 275px 201px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-faq {
        margin-top: 0;
        text-align: center;
        background-position: calc(50vw + 46px) 20px;
        background-size: 566px 365px;
    }
}

.top-faq .faq-list {
    margin-top: 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .top-faq .faq-list {
        margin-top: 100px;
        text-align: left;
    }
}

.about-container-wrap {
    overflow: hidden;
}

.about-hero {
    padding-bottom: 40px;
    margin-right: calc(50% - 50vw);
    overflow: hidden;
    background: url(../images/bg/feature.svg) no-repeat;
    background-position: left 24px top 90px;
    background-size: 584px 143px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero {
        padding-bottom: 81px;
        background-position: left 121px top 28px;
        background-size: 1201px 294px;
    }
    .about-hero + section > .heading2 {
        margin-top: 0;
    }
}

.about-hero > dt {
    width: calc(100% - 20px);
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero > dt {
        position: relative;
        width: auto;
        max-width: 900px;
        text-align: left;
    }
}

.about-hero > dt img {
    width: 285px;
    height: auto;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero > dt img {
        position: absolute;
        top: 75px;
        right: -43px;
        width: 356px;
    }
}

.about-hero > dt strong {
    display: block;
    font-size: 24px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero > dt strong {
        font-size: 48px;
        color: #03141a;
        letter-spacing: 0.08em;
    }
}

.about-hero > dd {
    width: calc(100% - 20px);
    margin-top: 20px;
    font-size: 16px;
    color: #626262;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero > dd {
        width: auto;
        max-width: 590px;
        margin-top: 40px;
        font-size: 20px;
        color: #4d4d4d;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .about-hero > dd {
        max-width: 490px;
    }
}

.about-hero > dd br {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-hero > dd br {
        display: block;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li {
        display: flex;
    }
}

.products > li + li {
    margin-top: 40px;
}

.products > li img {
    flex-shrink: 0;
    max-width: 100%;
    height: 100%;
}

.products > li .img-products {
    width: 100%;
    max-width: 432px;
}

.products > li .imgText-steroid {
    width: 16.6vw;
    min-width: 62.26px;
    max-width: 80.29px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgText-steroid {
        width: 80.29px;
    }
}

.products > li .imgText-logo {
    width: 42vw;
    min-width: 157.52px;
    max-width: 203.13px;
    margin-top: 6.2px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgText-logo {
        width: 203.13px;
        margin-top: 8px;
    }
}

.products > li .imgText-ointment {
    width: 27.16vw;
    min-width: 101.86px;
    max-width: 131.35px;
    margin-top: 3.3px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgText-ointment {
        width: 131.35px;
        margin-top: 4.8px;
    }
}

.products > li .imgText-cream {
    width: 31vw;
    min-width: 116.21px;
    max-width: 149.86px;
    margin-top: 3.2px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgText-cream {
        width: 149.86px;
        margin-top: 4.2px;
    }
}

.products > li .img-icons {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .img-icons {
        margin-top: -15px;
    }
}

.products > li .imgText-secondclass {
    width: 22.54vw;
    min-width: 84.53px;
    max-width: 109px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgText-secondclass {
        width: 109px;
    }
}

.products > li .imgIcon-tax {
    width: 24.87vw;
    min-width: 93.27px;
    max-width: 120px;
    margin-left: 6.2px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li .imgIcon-tax {
        width: 120px;
        margin-left: 8px;
    }
}

.products > li > dl .heading3 {
    padding-bottom: 5px;
    margin-top: 10px;
    line-height: 2;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li > dl .heading3 {
        padding-bottom: 20px;
        margin-top: 72px;
        line-height: 1.46;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products > li > dl .heading3::before {
        top: 13px;
    }
}

.products > li > dl > dd {
    font-size: 16px;
    line-height: 2;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products > li > dl > dd {
        font-size: 20px;
    }
}

.products-aside {
    margin-bottom: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-aside {
        margin-bottom: 40px;
    }
}

.products-aside > li {
    margin-top: 24px;
}

.products-aside > li dl {
    font-size: 16px;
    color: #828282;
}

.products-aside > li dl > dt {
    margin-bottom: 7px;
    font-weight: bold;
    line-height: 1.45;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-aside > li dl {
        display: flex;
    }
    .products-aside > li dl > dt {
        flex-shrink: 0;
        width: 180px;
    }
    .products-aside > li dl > dd {
        margin-left: 20px;
        line-height: 1.45;
    }
}

.products-table {
    width: 100%;
    margin-top: 40px;
    border-top: 1px solid #d3dce0;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-table {
        display: block;
        margin-top: 24px;
    }
}

.products-table th,
.products-table td {
    padding: 14px 0;
    vertical-align: top;
    border-bottom: 1px solid #d3dce0;
}

.products-table th {
    padding-left: 20px;
    font-weight: 500;
    color: #03141a;
    text-align: left;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-table tbody,
    .products-table tr,
    .products-table th,
    .products-table td {
        display: block;
    }
    .products-table th {
        padding: 16px 0 0;
        border: 0;
    }
    .products-table td {
        padding: 10px 0;
    }
    .products-table td br {
        display: none;
    }
}

.products-table.work {
    margin-top: 10px;
    border-top: 0;
}

.products-table.work th {
    padding-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-table.work th {
        width: 28%;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-table.work td {
        padding: 2px 0 20px;
    }
}

.products-tax {
    margin-bottom: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-tax {
        display: flex;
        align-items: center;
        margin-bottom: 40px;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-tax .imgIcon-tax {
        display: block;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-tax .imgIcon-tax {
        flex-shrink: 0;
        width: 208px;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-tax > div {
        margin-top: 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .products-tax > div {
        margin-left: 50px;
    }
}

.products-tax > div > p {
    font-size: 16px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .products-tax > div > p + p {
        margin-top: 16px;
    }
}

.products-tax > div > p > a {
    font-size: 14px;
    color: #0e5279;
    text-decoration: underline;
}

.link-external {
    padding-right: 24px;
    background: url(../images/icon/external.svg) no-repeat center right/16px 16px;
}

.about-points-wrap {
    margin-top: 20px;
    margin-bottom: 80px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points-wrap {
        margin-top: 80px;
        margin-bottom: 80px;
        background: linear-gradient(to right, #fff 0%, #fff 50%, #f8fbf6 50%, #f8fbf6 100%);
    }
}

.about-points {
    margin: 0 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        max-width: 900px;
        padding-bottom: 40px;
        margin: 0 auto;
        background: linear-gradient(to right, #fff 0%, #fff 73%, #f8fbf6 73%, #f8fbf6 100%);
    }
}

.about-points section {
    max-width: 675px;
    padding: 60px 0 59px;
    counter-increment: count;
    border-bottom: 1px solid #c1ced3;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points section {
        position: relative;
    }
    .about-points section::before {
        position: absolute;
        top: 80px;
        right: 24px;
        display: block;
        content: "";
    }
    .about-points section[data-name="01"]::before {
        width: 155px;
        height: 133px;
        background: url(../images/bg/01.svg) no-repeat;
    }
    .about-points section[data-name="02"]::before {
        width: 208px;
        height: 134px;
        background: url(../images/bg/02.svg) no-repeat;
    }
    .about-points section[data-name="03"]::before {
        width: 207px;
        height: 133px;
        background: url(../images/bg/03.svg) no-repeat;
    }
    .about-points section[data-name="04"]::before {
        width: 215px;
        height: 134px;
        background: url(../images/bg/04.svg) no-repeat;
    }
    .about-points section[data-name="05"]::before {
        width: 209px;
        height: 133px;
        background: url(../images/bg/05.svg) no-repeat;
    }
    .about-points section p {
        position: relative;
    }
}

.about-points section img {
    width: 100%;
}

.about-points section img.img-effect {
    margin: 10px 0 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points section img.img-effect {
        margin: 40px 0 48px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points section img.img-rinderon {
        position: relative;
    }
}

.about-points h2 {
    position: relative;
    padding-top: 20px;
    margin: 0 0 20px;
    font-size: 24px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points h2 {
        font-size: 32px;
    }
}

.about-points h2::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 40px;
    height: 2px;
    content: "";
    background: #9bc279;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points h2::before {
        width: 56px;
    }
}

.about-points h2 span {
    display: block;
    margin-bottom: 10px;
    font-family: "Open Sans", sans-serif;
    font-size: 12px;
    line-height: 24px;
    color: #9bc279;
    letter-spacing: 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points h2 span {
        margin-bottom: 3px;
        font-size: 16px;
        line-height: 34px;
    }
}

.about-points h2 span::after {
    margin-left: 4px;
    font-size: 20px;
    content: counter(count, decimal-leading-zero);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points h2 span::after {
        font-size: 26px;
    }
}

.about-points .next-btn {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points .next-btn {
        margin: 20px 0 0;
    }
}

.about-points-nav {
    display: none;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .about-points-nav {
        position: -webkit-sticky;
        position: sticky;
        top: 100px;
        display: block;
        width: 350px;
        margin: 20px 0 0 -11.67vw;
    }
    .about-points-nav > li {
        margin-top: 20px;
        text-align: right;
    }
    .about-points-nav > li:first-of-type {
        margin-top: 40px;
    }
    .about-points-nav > li a {
        display: inline-block;
        font-size: 20px;
        line-height: 1.4;
        color: #03141a;
    }
    .about-points-nav > li a:hover {
        opacity: 0.7;
    }
    .about-points-nav > li.current a {
        position: relative;
    }
    .about-points-nav > li.current a::after {
        position: absolute;
        top: 8px;
        right: -24px;
        display: block;
        width: 16px;
        height: 16px;
        content: "";
        background: url(../images/icon/long-arrow-right.svg) no-repeat;
        transform: rotate(180deg);
    }
}

@media (min-width: 1440px) {
    .about-points-nav {
        margin-left: -168px;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .about-points-nav {
        top: 90px;
        width: 310px;
    }
}

@media (min-width: 768px) and (max-width: 1139px) and (orientation: portrait), (min-width: 897px) and (max-width: 1139px) and (orientation: landscape) {
    .about-points-nav {
        width: 230px;
        margin-left: -50px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .about-points-nav {
        flex-shrink: 0;
        margin-right: 33px;
        margin-left: 20px;
    }
}

.indentDl {
    margin-top: 23px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .indentDl {
        padding-left: 40px;
        margin-top: 40px;
    }
}

.indentDl > div {
    display: flex;
    align-items: flex-start;
}

.indentDl > div.borderTop {
    padding-top: 20px;
    border-top: 1px dashed #c1ced3;
}

.indentDl > div + div {
    margin-top: 20px;
}

.indentDl > div > dt {
    flex-shrink: 0;
    min-width: 110px;
    padding: 10px;
    font-weight: 500;
    line-height: 1.45;
    color: #152705;
    text-align: center;
    background: #d2e3c4;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .indentDl > div > dt {
        min-width: 118px;
        padding: 15px 8px 14px;
        font-size: 18px;
        line-height: 1.5;
    }
}

.indentDl > div > dt + dd {
    margin-left: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .indentDl > div > dt + dd {
        margin-left: 25px;
        font-size: 18px;
    }
}

.indentDl > div > dt + dd strong {
    font-size: 18px;
    line-height: 26px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .indentDl > div > dt + dd strong {
        font-size: 20px;
        line-height: 2;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history {
        padding-top: 47px;
        padding-bottom: 28px;
    }
}

.history .visualArea > ul {
    position: relative;
    display: flex;
    justify-content: center;
    height: 717px;
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul {
        flex-direction: column;
        justify-content: space-between;
        height: auto;
        margin-top: 0;
    }
}

.history .visualArea > ul > li {
    position: relative;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li {
        display: flex;
    }
}

.history .visualArea > ul > li::before {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
    width: 45px;
    height: 717px;
    content: "";
    background: url(../images/history-arrow-sp.png) no-repeat left/contain;
    transform: translateX(-50%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li::before {
        left: 0;
        width: 100%;
        max-width: 900px;
        height: 45.5px;
        background: url(../images/history-arrow.png) no-repeat left/contain;
        transform: inherit;
    }
}

.history .visualArea > ul > li .baloon {
    position: relative;
    font-weight: bold;
    color: #fff;
    white-space: nowrap;
    background: #4068a7;
}

.history .visualArea > ul > li .baloon::after {
    position: absolute;
    bottom: -11px;
    left: 50%;
    width: 0;
    height: 0;
    content: "";
    border-color: #4068a7 transparent transparent transparent;
    border-style: solid;
    border-width: 15px 6px 0 6px;
    transform: translateX(-50%);
}

.history .visualArea > ul > li p {
    line-height: 1;
    color: #03141a;
}

.history .visualArea > ul > li p span.line {
    background: linear-gradient(rgba(255, 255, 255, 0) 62%, #dcee26 62%, #dcee26 100%);
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .history .visualArea > ul > li.old {
        padding-top: 17px;
        margin-left: -10px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old::before {
        top: 11px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old .inner {
        margin-left: 45px;
    }
}

.history .visualArea > ul > li.old .inner + .inner {
    margin-top: 16px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old .inner + .inner {
        margin-top: 0;
        margin-left: 60px;
    }
}

.history .visualArea > ul > li.old .baloon {
    padding: 6px 30px;
    font-size: 20px;
    border-radius: 20.5px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old .baloon {
        padding: 6px 24px;
    }
}

.history .visualArea > ul > li.old .baloon .unit {
    font-size: 12px;
}

.history .visualArea > ul > li.old p {
    margin-top: 10px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old p {
        margin-top: 15px;
    }
}

.history .visualArea > ul > li.old p span {
    font-weight: bold;
    line-height: 1.45;
}

.history .visualArea > ul > li.old p span.big {
    font-size: 14px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old p span.big {
        font-size: 16px;
    }
}

.history .visualArea > ul > li.old p span.small {
    font-size: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.old p span.small {
        font-size: 16px;
    }
}

.history .visualArea > ul > li.new {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-bottom: 10px;
    margin-left: 10px;
}

@media (max-width: 350px) {
    .history .visualArea > ul > li.new {
        margin-right: -10px;
        margin-left: 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new {
        flex-direction: row;
        margin-top: 28px;
        margin-bottom: 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new::before {
        top: 48px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .inner {
        position: relative;
        margin-top: 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .inner + .inner {
        margin-left: 106px;
    }
}

.history .visualArea > ul > li.new .baloon {
    padding: 6px 18.5px;
    font-size: 20px;
    border-radius: 31.5px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .baloon {
        padding: 13px 26px;
        font-size: 26px;
    }
}

.history .visualArea > ul > li.new .baloon::after {
    bottom: -14px;
}

.history .visualArea > ul > li.new .baloon .unit {
    font-size: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .baloon .unit {
        font-size: 18px;
    }
}

.history .visualArea > ul > li.new .rinderonvs {
    width: 140px;
    margin-top: -16px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .rinderonvs {
        position: absolute;
        top: -46px;
        left: -165px;
        width: 200px;
        margin-top: 0;
    }
}

.history .visualArea > ul > li.new .rinderonvs-lotion {
    width: 77px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new .rinderonvs-lotion {
        position: absolute;
        top: 0;
        left: -100px;
        width: 94px;
    }
}

.history .visualArea > ul > li.new p {
    margin-top: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new p {
        margin-top: 24px;
    }
}

.history .visualArea > ul > li.new p span {
    font-weight: bold;
    line-height: 1.45;
}

.history .visualArea > ul > li.new p span.big {
    font-size: 14px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new p span.big {
        font-size: 20px;
    }
}

.history .visualArea > ul > li.new p span.small {
    font-size: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .visualArea > ul > li.new p span.small {
        font-size: 14px;
    }
}

.history .lead {
    margin-top: 40px;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .history .lead {
        margin-top: 72px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .what-steroid {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .what-steroid > p {
        width: 77.78%;
    }
}

.what-steroid > img {
    display: block;
    width: 34.63%;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .what-steroid > img {
        margin: 10px auto 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .what-steroid > img {
        width: 20.33%;
        margin-top: 50px;
    }
}

.img-effect {
    width: 100%;
    margin: 20px 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .img-effect {
        display: block;
        width: 91.1%;
        margin: 40px auto;
    }
}

.package-point {
    margin-top: 40px;
    margin-bottom: 80px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .package-point > li img {
        display: block;
        margin: 20px auto 0;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li {
        display: flex;
        justify-content: space-between;
    }
    .package-point > li > div {
        width: 606px;
    }
}

.package-point > li + li {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li + li {
        margin-top: 60px;
    }
}

.package-point > li.point1 img {
    width: 240px;
    height: 157px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li.point1 img {
        margin-top: 67px;
    }
}

.package-point > li.point2 img {
    width: 240px;
    height: 157px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li.point2 img {
        margin-top: 8px;
    }
}

.package-point > li.point3 img {
    width: 240px;
    height: 157px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li.point3 img {
        height: 225px;
        margin-top: 34px;
    }
}

.package-point > li.point4 img {
    width: 188px;
    height: 342px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .package-point > li.point4 img {
        margin-top: -50px;
    }
}

.product-premium {
    position: relative;
    padding: 32px 0 64px;
    overflow: hidden;
    font-weight: 500;
    color: #03141a;
    text-align: center;
    background: url(../images/bg/premium.jpg);
    background-position: top;
    background-size: cover;
}

@media (min-width: 940px) {
    .product-premium {
        padding-top: 80px;
        background-size: 100% 100%;
    }
}

.product-premium::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: #fff;
    opacity: 0.08;
}

.product-premium.about::before {
    opacity: 0.16;
}

@media (min-width: 940px) {
    .product-premium.about::before {
        opacity: 0.04;
    }
}

.product-premium .product-premium-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.product-premium .product-premium-bg::after {
    position: absolute;
    bottom: 106px;
    left: 0;
    width: 100%;
    height: 643px;
    content: "";
    background: #fff;
    filter: blur(250px);
    border-radius: 643px;
    opacity: 0.9;
}

@media (min-width: 940px) {
    .product-premium .product-premium-bg::after {
        bottom: 30px;
        left: calc(50% - 528px);
        width: 1055px;
        border-radius: 1055px;
        opacity: 0.64;
    }
}

.product-premium.about {
    padding-bottom: 32px;
}

@media (min-width: 940px) {
    .product-premium.about {
        padding-bottom: 80px;
    }
}

.product-premium.about .product-premium-bg::after {
    bottom: 55px;
    height: 681px;
}

@media (min-width: 940px) {
    .product-premium.about .product-premium-bg::after {
        bottom: 170px;
        left: calc(50% - 625px);
        width: 1250px;
        height: 412px;
        border-radius: 1250px;
        opacity: 0.6;
    }
}

@media (max-width: 939px) {
    .product-premium:not(.about) .product-premium-bg::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 564px;
        content: "";
        background: #fff;
        filter: blur(200px);
        border-radius: 564px;
        opacity: 0.6;
    }
}

.product-premium .top-container {
    position: relative;
}

.product-premium .premium-text-decoration {
    margin: 0;
    font-size: 24px;
}

@media (max-width: 359px) {
    .product-premium .premium-text-decoration {
        letter-spacing: normal;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .premium-text-decoration {
        font-size: 40px;
    }
}

.product-premium .product-premium-lead {
    margin-top: 16px;
}

.product-premium .product-premium-text {
    max-width: 100%;
    height: auto;
    margin-top: 15px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-text {
        margin-top: 20px;
    }
}

.product-premium .product-premium-desc {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 32px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-desc {
        flex-direction: row;
        justify-content: space-between;
        margin-top: 40px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .product-premium .product-premium-desc {
        flex-direction: column;
        align-items: center;
    }
}

.product-premium .product-premium-desc > div {
    width: 100%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-desc > div {
        width: 350px;
    }
}

.product-premium .product-premium-desc > div > dt {
    padding: 4px;
    font-size: 20px;
    font-weight: normal;
    line-height: normal;
    color: #fff;
    letter-spacing: 0.08em;
    background: linear-gradient(271deg, #006d29 0.1%, #009d3a 50.1%, #083 100.1%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-desc > div > dt {
        font-size: 24px;
    }
}

.product-premium .product-premium-desc > div > dd {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 70px;
    line-height: 2;
    background: rgba(255, 255, 255, 0.8);
    border: 2px solid #109140;
    border-top-width: 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-desc > div > dd {
        height: 88px;
    }
}

.product-premium .product-premium-desc > div > dd hr {
    width: 264px;
    margin: 0;
    border-color: #a9a9a9;
    border-width: 1px 0 0 0;
}

.product-premium .product-premium-list {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .product-premium-list {
        flex-direction: row;
        gap: 0;
        justify-content: center;
        margin-top: 40px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .product-premium .product-premium-list {
        flex-direction: column;
        gap: 24px;
    }
}

.product-premium .product-premium-list img {
    max-width: 100%;
    height: auto;
}

.product-premium .next-btn {
    margin-top: 64px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-premium .next-btn {
        margin-top: 28px;
    }
}

.product-premium .next-btn:not(:hover) {
    background: #fff;
}

.product-heading {
    font-size: 24px;
    font-weight: normal;
    line-height: normal;
    color: #03141a;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-heading {
        font-size: 32px;
        letter-spacing: 0.08em;
    }
}

.product-rinderonvs {
    padding: 40px 0;
    background: #fff;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-rinderonvs {
        padding-top: 80px;
    }
}

.product-rinderonvs .top-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-rinderonvs .top-container {
        gap: 30px;
    }
}

.product-rinderonvs .product-rinderonvs-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .product-rinderonvs .product-rinderonvs-list {
        flex-direction: row;
        gap: 0;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .product-rinderonvs .product-rinderonvs-list {
        flex-direction: column;
        gap: 24px;
    }
}

.product-rinderonvs .product-rinderonvs-list img {
    max-width: 100%;
    height: auto;
}

.rinderon-compare {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 80px 20px;
    background: #f8fbf6;
}

.rinderon-compare .scroll-table {
    max-width: 100%;
}

.howto-hero {
    margin-bottom: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-hero {
        margin-bottom: 52px;
    }
}

.howto-hero > dt {
    font-size: 24px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-hero > dt {
        font-size: 48px;
        line-height: 70px;
        letter-spacing: 0.08em;
    }
}

.howto-hero > dd {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-hero > dd {
        margin-top: 30px;
        font-size: 20px;
        text-align: center;
    }
}

.howto-hero > dd img {
    width: 100%;
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-hero > dd img {
        margin-top: 70px;
    }
}

.howto-hero > dd aside {
    margin-top: 20px;
    font-size: 16px;
    font-weight: normal;
    line-height: 2;
    text-align: left;
}

.lotion-symptoms {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 19px -8px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lotion-symptoms {
        margin: -12px -15px 12px;
    }
}

.lotion-symptoms > li {
    width: calc(50% - 16px);
    margin: 5px 8px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lotion-symptoms > li {
        width: 280px;
        margin: 12px 15px;
    }
}

.lotion-symptoms > li figure {
    text-align: center;
    background: #fafbfb;
    border-radius: 10px;
}

.lotion-symptoms > li figcaption {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 112px;
    color: #03141a;
    background: #fffaf0;
    border-radius: 10px 10px 0 0;
}

.lotion-symptoms > li img {
    margin-top: 24px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .lotion-symptoms > li img {
        width: auto;
        height: 74px;
        margin-top: 16px;
    }
}

.lotion-symptoms-list {
    color: #4d4d4d;
}

.lotion-symptoms-list > dt {
    margin-bottom: 1em;
    font-weight: bold;
    line-height: 23px;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .lotion-symptoms-list > dt {
        line-height: 29px;
    }
}

.lotion-symptoms-list > dd {
    margin-top: 8px;
    margin-left: calc(1em + 8px);
    text-indent: calc(-1em - 8px);
}

.lotion-symptoms-list > dd::before {
    margin-right: 8px;
    content: "●";
}

.usage-notes {
    padding: 30px 20px;
    margin-top: 20px;
    background: #fafbfb;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .usage-notes {
        padding: 30px 45px;
    }
}

.usage-notes > dt {
    font-weight: bold;
    line-height: 1.46;
    color: #4d4d4d;
    text-align: center;
}

.usage-notes > dd {
    margin-top: 20px;
    font-size: 16px;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .usage-notes > dd {
        margin-top: 5px;
        font-size: 20px;
    }
}

.usage-notes > dd li {
    margin-left: 1.15em;
    text-indent: -1.15em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .usage-notes-wrap {
        display: flex;
    }
    .usage-notes-wrap > li {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    .usage-notes-wrap > li:not(:first-child) {
        margin-left: 32px;
    }
    .usage-notes-wrap .usage-notes {
        flex-grow: 1;
    }
}

.pdf-link {
    margin-top: 10px;
    text-align: right;
}

.pdf-link a {
    position: relative;
    padding-left: 28px;
    font-size: 14px;
    line-height: 2;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .pdf-link a {
        font-size: 16px;
        text-decoration: underline;
    }
    .pdf-link a:hover {
        opacity: 0.7;
    }
}

.pdf-link a::before {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 22px;
    height: 22px;
    content: "";
    background: url(../images/icon/pdf.svg) no-repeat;
    transform: translateY(-50%);
}

.howto-nav {
    padding: 80px 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-nav {
        padding: 80px 0;
        margin-top: 40px;
    }
}

.howto-nav > dt {
    font-size: 24px;
    line-height: 1.46;
    color: #03141a;
    text-align: center;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-nav > dt {
        font-size: 28px;
    }
    .howto-nav > dt br {
        display: none;
    }
}

.howto-nav > dd {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-nav > dd {
        max-width: 900px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .howto-nav > dd {
        margin: 0 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-nav > dd .link-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-nav > dd .link-list > li {
        width: 48%;
    }
    .howto-nav > dd .link-list > li:nth-of-type(2n) {
        margin-left: 4%;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .storage-handling {
        display: flex;
        justify-content: space-between;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .storage-handling > ol {
        width: 60%;
        max-width: 540px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .storage-handling > div {
        width: 38.7%;
        max-width: 348px;
        margin-top: 0;
    }
}

.storage-handling > div img {
    max-width: 100%;
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .storage-handling > div img {
        margin-top: 0;
    }
}

.title-box {
    margin-top: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box {
        margin-top: 20px;
    }
}

.title-box dt {
    padding: 10px;
    font-size: 20px;
    line-height: 1.45;
    color: #03141a;
    text-align: center;
    background: #fffaf0;
    border-radius: 10px 10px 0 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box dt {
        padding: 14px;
        font-size: 24px;
    }
}

.title-box dt.blue {
    color: #fff;
    background: #6188b6;
}

.title-box dd {
    background: #fafbfb;
    border-radius: 0 0 10px 10px;
}

.title-box dd img {
    display: block;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 0 0 10px 10px;
}

.title-box dd .inner {
    padding: 20px 30px 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box dd .inner {
        padding: 30px 40px 40px;
    }
}

.title-box dd .inner img {
    margin-top: 40px;
}

.title-box dd .inner strong {
    font-weight: normal;
    color: #ce2d26;
}

.title-box dd .inner sup {
    top: -0.25em;
}

.title-box dd .inner .note {
    margin-top: 4px;
    font-size: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box dd .inner.type2 {
        display: flex;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box dd .inner.type2 p {
        width: 640px;
        font-size: 18px;
    }
}

.title-box dd .inner.type2 .action {
    max-width: 128px;
    max-height: 145px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .title-box dd .inner.type2 .action {
        width: 128px;
        height: 145px;
        margin: 0 0 0 40px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-lotion {
        display: flex;
        justify-content: space-between;
        margin-top: 24px;
    }
}

.howto-lotion .title-box {
    margin-top: 24px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-lotion .title-box {
        width: calc(50% - 18px);
        margin-top: 0;
        overflow: hidden;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-lotion .title-box > dt {
        min-height: 96px;
    }
}

.howto-lotion .title-box > dd {
    padding: 1em 30px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-lotion .title-box > dd {
        height: calc(100% - 96px);
    }
}

.howto-lotion .title-box > dd img {
    height: auto;
    margin-bottom: 1em;
}

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

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .caution-img {
        display: flex;
        justify-content: space-between;
    }
}

.caution-img p {
    margin-bottom: 1em;
    text-align: left;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .caution-img p {
        margin: 0 24px 0 0;
    }
}

.howto-note {
    margin-top: 20px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .howto-note {
        margin-top: 36px;
    }
}

.img-banner-rdhp {
    display: block;
    width: 100%;
    height: auto;
    margin: 20px auto 0;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .img-banner-rdhp {
        max-width: 335px;
        margin-top: 10px;
    }
}

.checksheet.container {
    margin-bottom: 80px;
}

.checksheet h2 {
    padding: 30px 0 20px;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet h2 {
        padding: 40px 0;
        font-size: 30px;
    }
}

.checksheet fieldset {
    padding-top: 20px;
    margin-bottom: 40px;
    border-top: 1px solid #97bdc8;
}

.checksheet fieldset legend {
    width: 100px;
    height: 52px;
    margin: 0 auto;
    font-family: "Open Sans", sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 52px;
    color: #fff;
    text-align: center;
    background: url(../images/icon/circle.svg) no-repeat;
    background-position: center;
}

.checksheet label {
    display: block;
    margin-top: 20px;
}

.checksheet input[type="checkbox"] {
    display: none;
}

.checksheet input[type="checkbox"] + span {
    position: relative;
    display: block;
    padding-left: 33px;
    font-weight: 500;
    cursor: pointer;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet input[type="checkbox"] + span {
        font-size: 16px;
        line-height: 1.46;
    }
}

.checksheet input[type="checkbox"] + span::before {
    position: absolute;
    top: 5px;
    left: 0;
    box-sizing: border-box;
    display: block;
    width: 23.58px;
    height: 24px;
    content: "";
    background: #fff;
    border: 2px solid #a5a5a5;
    border-radius: 2px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet input[type="checkbox"] + span::before {
        top: 0;
    }
}

.checksheet input[type="checkbox"]:disabled + span {
    cursor: inherit;
}

.checksheet input[type="checkbox"]:disabled + span::before {
    background: #d8d8d8;
    border-color: #a5a5a5;
}

.checksheet input[type="checkbox"]:checked + span::after {
    position: absolute;
    top: 12px;
    left: 6px;
    display: block;
    width: 11px;
    height: 10px;
    content: "";
    background: url(../images/icon/check.svg) no-repeat;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet input[type="checkbox"]:checked + span::after {
        top: 7px;
    }
}

.checksheet input[type="checkbox"]:checked:disabled + span::after {
    background: url(../images/icon/check-gray.svg) no-repeat;
}

.checksheet fieldset:last-of-type,
.checksheet .next-btn,
.checksheet .back-btn {
    display: none;
}

.checksheet fieldset:last-of-type.active,
.checksheet .next-btn.active,
.checksheet .back-btn.active {
    display: block;
}

.checksheet-result {
    display: none;
    background: #fafbfb;
    border-radius: 10px;
    box-shadow: 0 4px 30px rgba(151, 189, 200, 0.3);
}

.checksheet-result.active {
    display: block;
}

.checksheet-result > dt {
    padding: 10px 0;
    font-size: 20px;
    line-height: 1.46;
    color: #fff;
    text-align: center;
    background: #6188b6;
    border-radius: 10px 10px 0 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet-result > dt {
        padding: 13px 0 15px;
        font-size: 24px;
    }
}

.checksheet-result > dd {
    padding: 30px 15px 40px;
    text-align: center;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet-result > dd {
        padding: 40px 0;
    }
}

.checksheet-result > dd strong {
    font-size: 18px;
    font-weight: normal;
    line-height: 1.46;
    color: #03141a;
    background: linear-gradient(rgba(255, 255, 255, 0) 62%, #dcee26 62%, #dcee26 100%);
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet-result > dd strong {
        font-size: 26px;
        background: linear-gradient(rgba(255, 255, 255, 0) 77%, #dcee26 77%, #dcee26 100%);
    }
}

.checksheet-result > dd p {
    margin: 20px 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .checksheet-result > dd p {
        margin: 30px 0;
    }
}

.checksheet-result > dd p a {
    color: #4d4d4d;
    text-decoration: underline;
}

.checksheet-result-link {
    display: inline-block;
    margin-top: 20px;
    font-size: 14px;
    line-height: 2;
    color: #3d5e68;
    text-decoration: underline;
}

.faq-answer-container {
    padding-bottom: 20px;
}

.faq-answer-container img {
    width: 100%;
    margin: 10px 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-answer-container img {
        display: block;
        margin: 30px auto 10px;
    }
    .faq-answer-container img[data-name="a6"] {
        max-width: 545px;
    }
    .faq-answer-container img[data-name="a7"] {
        max-width: 675px;
        margin: 20px auto 0;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .faq-answer-container img[data-name="a15"] {
        margin: 20px auto 10px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-answer-container {
        padding-bottom: 40px;
    }
}

.faq-answer {
    position: relative;
    padding-left: 46px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-answer {
        padding-left: 59px;
    }
}

.faq-answer::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 36px;
    height: 36px;
    font-family: "Open Sans", sans-serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 36px;
    color: #111;
    text-align: center;
    content: "A";
    background: #fafbfb;
    border: 1px solid #bacacf;
    border-radius: 50%;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-answer::before {
        width: 40px;
        height: 40px;
        font-size: 18px;
        line-height: 40px;
    }
}

.faq-answer p + p {
    margin-top: 8px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-answer p + p {
        margin-top: 16px;
    }
}

.faq-nav {
    padding: 80px 20px 0;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-nav {
        margin-top: 40px;
    }
}

.faq-nav > dt {
    font-size: 24px;
    line-height: 1.46;
    color: #03141a;
    text-align: center;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-nav > dt {
        font-size: 28px;
    }
}

.faq-nav > dd {
    margin-top: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .faq-nav > dd {
        max-width: 900px;
        margin: 60px auto 0;
    }
}

.boxarea {
    padding: 30px 10px;
    margin-top: 20px;
    text-align: center;
    background: #f5f5f5;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea {
        padding: 30px 0;
        margin-top: 24px;
    }
}

.boxarea > dt {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 1.45;
    letter-spacing: 0.08em;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea > dt {
        margin-bottom: 30px;
        font-size: 20px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea dd .attachment-list {
        display: flex;
        flex-wrap: wrap;
        row-gap: 40px;
        justify-content: space-around;
    }
}

@media (min-width: 940px) {
    .boxarea dd .attachment-list:first-of-type > li {
        max-width: 33%;
    }
}

.boxarea dd .attachment-list + .attachment-list {
    margin-top: 40px;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .boxarea dd .attachment-list > li + li {
        margin-top: 40px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea dd > .imgarea {
        display: flex;
        justify-content: center;
    }
}

.boxarea dd > .imgarea > img {
    display: block;
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .boxarea dd > .imgarea > img {
        margin: 0 auto;
    }
}

@media (max-width: 767px) and (orientation: portrait), (max-width: 896px) and (orientation: landscape) {
    .boxarea dd > .imgarea > img + img {
        margin-top: 10px;
    }
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea dd > .imgarea > img + img {
        margin-left: 20px;
    }
}

.boxarea dd .imgarea + p {
    margin-top: 10px;
    color: #4d4d4d;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea dd .imgarea + p {
        font-size: 16px;
    }
}

@media (min-width: 768px) and (max-width: 939px) and (orientation: portrait), (min-width: 897px) and (max-width: 939px) and (orientation: landscape) {
    .boxarea dd .imgarea + p br {
        display: none;
    }
}

.boxarea dd .pdf-btn {
    margin-top: 12px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .boxarea dd .pdf-btn {
        width: 240px;
    }
}

.boxarea dd .title {
    margin-bottom: 20px;
    line-height: 1.45;
    letter-spacing: 0.08em;
}

.boxarea dd .title.green {
    color: #9bc279;
}

.boxarea dd .title.orange {
    color: #fbb030;
}

.boxarea dd .title.cyan {
    color: #00a3e0;
}

.boxarea + .boxarea {
    margin-top: 30px;
}

.container-wrap.premium .card-nav {
    margin-top: 0;
}

.container-wrap.premium .premium-container-wrap {
    position: relative;
    padding-bottom: 80px;
    overflow: hidden;
}

.container-wrap.premium .premium-container-wrap .premium-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
}

.container-wrap.premium .premium-container-wrap .premium-bg::before {
    position: fixed;
    top: 60px;
    width: 100%;
    height: calc(100vh - 60px);
    content: "";
    background: url(../images/bg/premium2.jpg);
    background-position: top;
    background-size: cover;
}

@media (min-width: 940px) {
    .container-wrap.premium .premium-container-wrap .premium-bg::before {
        top: 121px;
        height: calc(100vh - 121px);
        background-size: 100% 100%;
    }
}

@media (min-width: 768px) and (max-width: 1365px) and (orientation: portrait), (min-width: 897px) and (max-width: 1365px) and (orientation: landscape) {
    .container-wrap.premium .premium-container-wrap .premium-bg::before {
        top: 111px;
        height: calc(100vh - 111px);
    }
}

.container-wrap.premium .premium-container-wrap .premium-bg::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    background: #fff;
    opacity: 0.16;
}

@media (min-width: 940px) {
    .container-wrap.premium .premium-container-wrap .premium-bg::after {
        opacity: 0.08;
    }
}

.container-wrap.premium .premium-bg2::before {
    position: absolute;
    top: 203px;
    left: 0;
    width: 100%;
    height: 325px;
    content: "";
    background: #fff;
    filter: blur(250px);
    border-radius: 100%;
}

@media (min-width: 940px) {
    .container-wrap.premium .premium-bg2::before {
        top: 9px;
        left: calc(50% - 54px);
        width: 737px;
        height: 476px;
        opacity: 0.9;
    }
}

@media (max-width: 939px) {
    .container-wrap.premium .premium-bg2::after {
        position: absolute;
        top: 224px;
        left: calc(50% - 147px);
        width: 293px;
        height: 253px;
        content: "";
        background: #fff;
        filter: blur(250px);
        border-radius: 100%;
    }
}

.premium-container {
    position: relative;
    margin: 0 20px;
}

@media (min-width: 1140px) {
    .premium-container {
        max-width: 1100px;
        margin: 0 auto;
    }
}

.premium-text-decoration {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    font-size: 24px;
    line-height: normal;
}

@media (min-width: 940px) {
    .premium-text-decoration {
        gap: 8px;
        font-size: 38px;
    }
}

.premium-text-decoration .strong,
.premium-text-decoration strong {
    padding: 0 8px;
    font-weight: normal;
    color: #fff;
    white-space: nowrap;
    background: linear-gradient(271deg, #006d29 0.1%, #009d3a 50.1%, #083 100.1%);
}

.premium-text-decoration .strong {
    display: contents;
}

@media (min-width: 940px) {
    .premium-text-decoration .strong {
        display: block;
    }
    .premium-text-decoration .strong strong {
        display: contents;
    }
}

.premium-text-decoration sup {
    top: -12px;
    font-size: 50%;
    font-weight: 500;
}

@media (min-width: 940px) {
    .premium-text-decoration sup {
        top: -24px;
        font-size: 40%;
    }
}

.premium-text-supplement {
    display: block;
    margin-top: 8px;
    font-size: 12px;
    font-weight: 400;
    line-height: 140%;
}

@media (min-width: 940px) {
    .premium-text-supplement {
        padding-bottom: 10px;
        margin-top: 12px;
        font-size: 16px;
    }
}

.premium-text-supplement span {
    white-space: nowrap;
}

.premium-hero-heading {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
}

@media (min-width: 940px) {
    .premium-hero-heading {
        gap: 24px;
        align-items: flex-start;
    }
}

@media (max-width: 939px) {
    .premium-hero-heading > img {
        width: 303px;
        height: auto;
    }
}

@media (min-width: 940px) {
    .premium-hero-heading .premium-text-decoration {
        align-items: flex-start;
    }
}

.premium-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 50px;
}

@media (min-width: 940px) {
    .premium-hero {
        flex-direction: row;
        height: 476px;
        padding-top: 0;
        padding-left: 20px;
    }
}

@media (min-width: 1140px) {
    .premium-hero {
        padding-left: 100px;
    }
}

@media (max-width: 939px) {
    .premium-hero > img {
        width: 200px;
        height: auto;
    }
}

@media (min-width: 1024px) {
    .premium-hero > img {
        margin-left: 64px;
    }
}

.premium-content-image {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .premium-content-image {
        margin-bottom: 64px;
    }
}

.premium-content-image img {
    max-width: 100%;
    height: auto;
}

.premium-content-inner {
    max-width: 900px;
    margin: 0 auto;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .premium-content-inner .products > li {
        gap: 16px;
    }
    .premium-content-inner .products > li > picture {
        flex-shrink: 0;
    }
}

.premium-content {
    padding: 40px 16px;
    background: #fff;
}

@media (min-width: 940px) {
    .premium-content {
        padding: 80px 16px;
    }
}

@media print {
    @page {
        size: a4 portrait;
        margin: 0;
    }
    body {
        -webkit-print-color-adjust: exact;
        width: 210mm;
    }
    header {
        position: static;
    }
    .footer-top,
    .footer-banner,
    .footer-links,
    .breadcrumb,
    .nav-wrap,
    .video-container-wrap,
    .card-nav,
    .howto-nav {
        display: none;
    }
    .footer-bottom-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        height: auto;
        padding-top: 10px;
        padding-bottom: 0;
    }
    .footer-bottom-inner small br {
        display: none;
    }
    .company-logo {
        width: 198px;
    }
    .header-logo {
        width: 100px;
        margin-left: 20px;
    }
    .heading1 {
        padding: 0 0 15px;
        font-size: 20px;
    }
    .heading2 {
        margin-bottom: 10px;
    }
    .heading2 > span {
        padding: 5px 0 5px 10px;
        font-size: 14px;
    }
    .heading3 {
        margin-bottom: 10px;
    }
    .container-wrap {
        padding: 15px 0;
    }
    .checksheet.container {
        margin-bottom: 20px;
    }
    .checksheet h2 {
        display: none;
    }
    .checksheet fieldset {
        padding-top: 0;
        margin-bottom: 15px;
    }
    .checksheet fieldset legend {
        width: 80px;
        height: 40px;
        font-size: 16px;
        line-height: 40px;
        background-size: 40px;
    }
    .checksheet label {
        margin-top: 5px;
    }
    .checksheet input[type="checkbox"] + span {
        font-size: 14px;
    }
    .checksheet input[type="checkbox"]:checked:disabled + span::after {
        top: 11px;
        left: 9px;
        width: 4px;
        height: 8px;
        background: none;
        border-right: 2px solid #828282;
        border-bottom: 2px solid #828282;
        transform: rotate(45deg);
    }
    .checksheet-lead {
        margin-bottom: 5px;
        font-size: 14px;
        line-height: 1.46;
    }
    .checksheet-lead br:first-of-type {
        display: inherit;
    }
    .checksheet-result {
        box-shadow: none;
    }
    .checksheet-result > dt {
        padding: 6px 0 7px;
        font-size: 14px;
    }
    .checksheet-result > dd {
        padding: 10px;
    }
    .checksheet-result > dd strong {
        font-size: 18px;
    }
    .checksheet-result > dd p {
        margin: 10px 0;
        font-size: 16px;
        line-height: 1.46;
    }
    .checksheet-result > dd p br {
        display: none;
    }
    .checksheet-result > dd button,
    .checksheet-result > dd .checksheet-result-link {
        display: none;
    }
}

.dealer-search {
    padding: 40px 0;
    margin-top: 20px;
    color: #4d4d4d;
    text-align: center;
    background: #fafbfb;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .dealer-search br {
        display: none;
    }
}

.dealer-search a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 60px;
    margin-top: 16px;
    background: #fff;
    border: 1px solid #97bdc8;
}

.dealer-search a img {
    width: 152px;
}

@media (min-width: 768px) and (orientation: portrait), (min-width: 897px) and (orientation: landscape) {
    .dealer-search a:hover img {
        opacity: 0.7;
    }
}
