@charset "UTF-8";

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

i,
em {
    font-style: normal
}

small {
    margin: 0;
    padding: 0;
    vertical-align: baseline
}

body {
    line-height: 1
}

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

ul,
li {
    list-style: none
}

th,
td {
    vertical-align: middle
}

blockquote,
q {
    quotes: none
}

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

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

ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none
}

mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: 700
}

del {
    text-decoration: line-through
}

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

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

td,
th {
    padding: 0
}

ul,
dl,
ol {
    text-indent: 0
}

li {
    list-style: none
}

img {
    border: 0;
    max-width: 100%;
    width: 100%;
    height: auto
}

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

input,
select {
    vertical-align: middle
}

button,
input {
    line-height: normal
}

input,
textarea {
    background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
    padding: 4px 8px;
    border: 1px solid #282828;
    background: #fff
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
    cursor: pointer;
    -webkit-appearance: button
}

em,
i {
    font-style: normal
}

:root {
    --color-primary: #0a3291;
    --color-bg: #e6eff8;
    --color-text: #595858
}

* {
    box-sizing: border-box
}

html {
    word-wrap: break-word;
    font-size: 62.5%;
    margin: 0;
    padding: 0
}

body {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    position: relative;
    font-size: 100%;
    line-height: 1.5;
    font-family: Noto Sans JP, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, メイリオ, Meiryo, Osaka, ＭＳ Ｐゴシック, MS PGothic, sans-serif;
    font-weight: 400;
    -webkit-text-size-adjust: 100%
}

a {
    transition: .3s;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: inline-block
}

a:hover,
button:hover {
    opacity: .8
}

button,
a,
img {
    outline: none
}

picture {
    display: block
}

.rounded_B {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700
}

.only-pc {
    display: block
}

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

.only-sp {
    display: none
}

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

.wrapper {
    background: var(--color-bg);
    display: flex;
    justify-content: center
}

@media only screen and (max-width: 1024px) {
    .wrapper {
        justify-content: flex-start
    }
}

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

.inner {
    max-width: 750px;
    width: 50%
}

@media only screen and (max-width: 1024px) {
    .inner {
        max-width: 585px;
        width: 58%
    }
}

@media only screen and (max-width: 768px) {
    .inner {
        max-width: 100%;
        width: 100%;
        padding-top: 16.9270833333vw;
        margin: 0
    }
}

header {
    position: relative;
    background-color: var(--color-primary)
}

@media only screen and (max-width: 768px) {
    header {
        max-width: 100%;
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 2
    }
}

header h1 {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 130px;
    text-align: center
}

@media only screen and (max-width: 1500px) {
    header h1 {
        height: 8.6666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    header h1 {
        height: 12.6953125vw
    }
}

@media only screen and (max-width: 768px) {
    header h1 {
        height: 16.9270833333vw
    }
}

header h1 img {
    width: 69.333%;
    margin: 0 auto
}

.nav {
    max-width: 585px;
    width: 25%;
    z-index: 2;
    position: relative;
    margin: 0 auto
}

@media only screen and (max-width: 1024px) {
    .nav {
        max-width: 750px;
        width: 42%
    }
}

@media only screen and (max-width: 768px) {
    .nav {
        width: 100%;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 3
    }
}

.nav__btn {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 2;
    border: 2px solid #fff;
    padding: 7px 8px 2px
}

@media only screen and (max-width: 1024px) {
    .nav__btn {
        top: 1.46484375vw;
        right: 1.46484375vw;
        padding: .68359375vw .78125vw .1953125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__btn {
        top: 1.953125vw;
        right: 1.953125vw;
        padding: .9114583333vw 1.0416666667vw .2604166667vw
    }
}

.nav__btn p {
    font-size: 18px;
    color: #fff;
    font-weight: 500
}

@media only screen and (max-width: 1024px) {
    .nav__btn p {
        font-size: 1.7578125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__btn p {
        font-size: 2.34375vw
    }
}

.nav__menuBtn {
    position: relative;
    width: 52px;
    height: 32px
}

@media only screen and (max-width: 1024px) {
    .nav__menuBtn {
        width: 5.078125vw;
        height: 3.125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__menuBtn {
        width: 6.7708333333vw;
        height: 4.1666666667vw
    }
}

.nav__menuBtn span {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 100%;
    height: 5px;
    background: #fff;
    transition: transform .4s cubic-bezier(.25, .1, .25, 1), opacity .4s ease
}

@media only screen and (max-width: 1024px) {
    .nav__menuBtn span {
        height: .48828125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__menuBtn span {
        height: .6510416667vw
    }
}

.nav__menuBtn:before,
.nav__menuBtn:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 5px;
    background: #fff;
    transition: transform .4s cubic-bezier(.25, .1, .25, 1), opacity .4s ease
}

@media only screen and (max-width: 1024px) {

    .nav__menuBtn:before,
    .nav__menuBtn:after {
        height: .48828125vw
    }
}

@media only screen and (max-width: 768px) {

    .nav__menuBtn:before,
    .nav__menuBtn:after {
        height: .6510416667vw
    }
}

.nav__menuBtn:before {
    top: 0
}

.nav__menuBtn:after {
    bottom: 0
}

.nav__inner {
    position: fixed;
    top: 100px;
    width: 25%;
    margin: 0 auto
}

@media only screen and (max-width: 1024px) {
    .nav__inner {
        width: 42%;
        top: 85px
    }
}

@media only screen and (max-width: 768px) {
    .nav__inner {
        width: 100%;
        top: 0
    }
}

.nav__inner .nav__list {
    width: 95%;
    background-color: #fff;
    border: 1px solid var(--color-primary);
    border-radius: 17px;
    padding: 20px;
    margin: 0 auto
}

@media only screen and (max-width: 1500px) {
    .nav__inner .nav__list {
        padding: 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .nav__inner .nav__list {
        width: 92%
    }
}

@media only screen and (max-width: 768px) {
    .nav__inner .nav__list {
        width: 100%;
        max-width: 100%;
        position: absolute;
        right: 0;
        border: none;
        border-radius: 0;
        top: 16.9270833333vw;
        background: #231f20e6;
        padding: 2.667vw 7.067vw 8vw;
        opacity: 0;
        transform: translateY(-20px);
        pointer-events: none;
        transition: opacity .4s ease, transform .4s ease
    }
}

.nav__inner .nav__list a {
    background-color: var(--color-primary);
    border-radius: 8px;
    padding: 7px;
    margin-bottom: 8px;
    text-align: center;
    box-shadow: #959da533 0 8px 24px
}

@media only screen and (max-width: 1024px) {
    .nav__inner .nav__list a {
        border-radius: .78125vw;
        padding: .68359375vw;
        margin-bottom: .78125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__inner .nav__list a {
        background-color: #fff;
        border-radius: 1.0416666667vw;
        padding: .9114583333vw;
        margin-bottom: 1.0416666667vw;
        box-shadow: none
    }
}

.nav__inner .nav__list a {
    font-size: 20px;
    color: #fff;
    width: 100%
}

@media only screen and (max-width: 1500px) {
    .nav__inner .nav__list a {
        font-size: 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .nav__inner .nav__list a {
        font-size: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav__inner .nav__list a {
        font-size: 4.666667vw;
        color: var(--color-primary)
    }
}

.only-sp.nav .smslink img{
    width: 3.5vw;
    filter: brightness(0) saturate(100%) invert(14%) sepia(52%) saturate(4539%) hue-rotate(229deg) brightness(95%) contrast(102%);
    margin-left: 5px;
}
.only-pc.nav .smslink{
    display: block;
}
.only-pc.nav .smslink img{
    width: 13px;
    margin-left: 5px;
    filter: invert(100%) brightness(200%);
}

.nav .nav {
    opacity: 0
}

.nav.is_opened .nav__menuBtn {
    width: 34px;
    margin-left: 2px
}

@media only screen and (max-width: 1024px) {
    .nav.is_opened .nav__menuBtn {
        width: 3.3203125vw;
        margin-left: .1953125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav.is_opened .nav__menuBtn {
        width: 4.4270833333vw;
        margin-left: .2604166667vw
    }
}

.nav.is_opened .nav__menuBtn span {
    opacity: 0
}

.nav.is_opened .nav__menuBtn:before {
    transform: rotate(45deg) translate(12px, 6px)
}

@media only screen and (max-width: 1024px) {
    .nav.is_opened .nav__menuBtn:before {
        transform: rotate(45deg) translate(1.171875vw, .5859375vw)
    }
}

@media only screen and (max-width: 768px) {
    .nav.is_opened .nav__menuBtn:before {
        transform: rotate(45deg) translate(1.5625vw, .78125vw)
    }
}

.nav.is_opened .nav__menuBtn:after {
    transform: rotate(-45deg) translate(12px, -6px)
}

@media only screen and (max-width: 1024px) {
    .nav.is_opened .nav__menuBtn:after {
        transform: rotate(-45deg) translate(1.171875vw, -.5859375vw)
    }
}

@media only screen and (max-width: 768px) {
    .nav.is_opened .nav__menuBtn:after {
        transform: rotate(-45deg) translate(1.5625vw, -.78125vw)
    }
}

.nav.is_opened .nav__list {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto
}

.nav.is_opened .cover {
    content: "";
    background: #231f20e6;
    width: 100%;
    height: 130px;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transition: opacity 1s ease, transform 1s ease;
    z-index: -1
}

@media only screen and (max-width: 1024px) {
    .nav.is_opened .cover {
        height: 12.6953125vw
    }
}

@media only screen and (max-width: 768px) {
    .nav.is_opened .cover {
        height: 16.9270833333vw
    }
}

.logoLeft {
    width: 25%;
    max-width: 585px;
    margin: 0 auto
}

.logoLeft .logoInner {
    position: fixed;
    width: 25%;
    margin: 0 auto;
    height: 100%
}

.logoLeft .logoInner .logo {
    max-width: 313px;
    width: 90%;
    margin: 13vh auto 0
}

@media only screen and (max-width: 1024px) {
    .logoLeft {
        display: none
    }
}

.secResult {
    padding: 36px 32px 0;
    background: #fff
}

@media only screen and (max-width: 1024px) {
    .secResult {
        padding: 3.515625vw 3.125vw 0
    }
}

.secResult .smslink{
    display: block;
    text-align: center;
    font-size: 2.8645833333vw;
    margin-bottom: 1.66015625vw;
    background-color: #0a3291;
    color: #fff;
    padding: 5px 0px;
    width: 55vw;
    max-width: 340px;
    margin-left: auto;
}
.secResult .smslink img{
    width: 10px;
    margin-left: 1vw;
    filter: invert(100%) brightness(200%);
}

@media only screen and (min-width: 768px) {
    .secResult .smslink{
        font-size: 18px;
        margin-bottom: 10px;
    }
    .secResult .smslink img{
        width: 14px;
        margin-left: 5px;
    }

}

@media only screen and (max-width: 768px) {
    .secResult {
        padding: 4.6875vw 4.1666666667vw 0
    }
}

.secResult ul li {
    margin-bottom: 17px
}

@media only screen and (max-width: 1024px) {
    .secResult ul li {
        margin-bottom: 1.66015625vw
    }
}

@media only screen and (max-width: 768px) {
    .secResult ul li {
        margin-bottom: 2.2135416667vw
    }
}

.secResult ul li:last-child {
    margin-bottom: 0
}

.quickButton {
    margin: 38px auto 0
}

@media only screen and (max-width: 1024px) {
    .quickButton {
        margin: 3.7109375vw auto 0
    }
}

@media only screen and (max-width: 768px) {
    .quickButton {
        margin: 4.9479166667vw auto 0
    }
}

.quickButton>a {
    display: block
}

.quickButton img {
    width: 100%
}

.reasons {
    padding: 30px 30px 9px;
    background: #fff
}

@media only screen and (max-width: 1024px) {
    .reasons {
        padding: 2.9296875vw 2.9296875vw .87890625vw
    }
}

@media only screen and (max-width: 768px) {
    .reasons {
        padding: 3.90625vw 3.90625vw 1.171875vw
    }
}

.reasons__title {
    display: flex;
    justify-content: center
}

.reasons__subTitle {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 170px;
    background: var(--color-primary);
    color: #fff;
    line-height: 1.3;
    font-size: 40px;
    text-align: center
}

.reasons__subTitle>small {
    margin-top: .5em;
    font-size: 20px;
    font-weight: 400
}

@media only screen and (max-width: 1500px) {
    .reasons__subTitle {
        height: 11.3333333333vw;
        font-size: 2.6666666667vw
    }

    .reasons__subTitle>small {
        font-size: 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .reasons__subTitle {
        height: 16.6015625vw;
        font-size: 3.90625vw
    }

    .reasons__subTitle>small {
        font-size: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .reasons__subTitle {
        height: 22.1354166667vw;
        font-size: 5.2083333333vw
    }

    .reasons__subTitle>small {
        font-size: 2.6041666667vw
    }
}

.reasons__list {
    padding: 30px 30px 25px;
    background: var(--color-bg)
}

@media only screen and (max-width: 1024px) {
    .reasons__list {
        padding: 2.9296875vw 2.9296875vw 2.44140625vw
    }
}

@media only screen and (max-width: 768px) {
    .reasons__list {
        padding: 3.90625vw 3.90625vw 3.2552083333vw
    }
}

.reasons__listTitle {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    border-radius: 16px;
    background: #fff;
    color: var(--color-primary);
    font-size: 22px;
    font-weight: 700
}

.reasons__listTitle>i {
    margin-left: .25em;
    font-size: 28px
}

@media only screen and (max-width: 1500px) {
    .reasons__listTitle {
        height: 2.6666666667vw;
        border-radius: 1.0666666667vw;
        font-size: 1.4666666667vw
    }

    .reasons__listTitle>i {
        font-size: 1.8666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .reasons__listTitle {
        height: 3.90625vw;
        border-radius: 1.5625vw;
        font-size: 2.1484375vw
    }

    .reasons__listTitle>i {
        font-size: 2.734375vw
    }
}

@media only screen and (max-width: 768px) {
    .reasons__listTitle {
        height: 5.2083333333vw;
        border-radius: 2.0833333333vw;
        font-size: 2.8645833333vw
    }

    .reasons__listTitle>i {
        font-size: 3.6458333333vw
    }
}

.reasons__listDetail {
    margin: 8px 0 24px;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.5;
    text-align: justify
}

.reasons__listDetail>em {
    color: red
}

@media only screen and (max-width: 1500px) {
    .reasons__listDetail {
        margin: .5333333333vw 0 1.6vw;
        font-size: 2.1333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .reasons__listDetail {
        margin: .78125vw 0 2.34375vw;
        font-size: 2.734375vw
    }
}

@media only screen and (max-width: 768px) {
    .reasons__listDetail {
        margin: 1.0416666667vw 0 3.125vw;
        font-size: 4.1666666667vw
    }
}

.reasons__listDetail:last-child {
    margin-bottom: 0
}

.smallNote {
    display: block;
    padding-left: 1em;
    margin-top: 25px;
    color: red;
    font-size: 22px;
    line-height: 1.63;
    text-align: justify;
    text-indent: -1em
}

@media only screen and (max-width: 1500px) {
    .smallNote {
        margin-top: 1.6666666667vw;
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .smallNote {
        margin-top: 2.44140625vw;
        font-size: 1.85546875vw
    }
}

@media only screen and (max-width: 768px) {
    .smallNote {
        margin-top: 3.2552083333vw;
        font-size: 2.8645833333vw
    }
}

h2.ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 178px;
    background: var(--color-primary);
    color: #fff;
    font-size: 52px;
    letter-spacing: -.075em;
    line-height: 1.2;
    text-align: center
}

@media only screen and (max-width: 1500px) {
    h2.ttl {
        font-size: 3.4666666667vw;
        height: 11.8666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    h2.ttl {
        font-size: 4.1015625vw
    }
}

@media only screen and (max-width: 768px) {
    h2.ttl {
        height: 23.1770833333vw;
        font-size: 6.7708333333vw
    }
}

h2.ttl.section {
    position: relative;
    margin-bottom: 48px
}

@media only screen and (max-width: 1024px) {
    h2.ttl.section {
        margin-bottom: 4.6875vw
    }
}

@media only screen and (max-width: 768px) {
    h2.ttl.section {
        margin-bottom: 6.25vw
    }
}

h2.ttl.section:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: 48px solid transparent;
    border-right: 48px solid transparent;
    border-top: 48px solid var(--color-primary);
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: -46px
}

@media only screen and (max-width: 1500px) {
    h2.ttl.section:after {
        border-left: 3.2vw solid transparent;
        border-right: 3.2vw solid transparent;
        border-top: 3.2vw solid var(--color-primary);
        bottom: -3.0666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    h2.ttl.section:after {
        border-left: 4.6875vw solid transparent;
        border-right: 4.6875vw solid transparent;
        border-top: 4.6875vw solid var(--color-primary);
        bottom: -4.4921875vw
    }
}

@media only screen and (max-width: 768px) {
    h2.ttl.section:after {
        border-left: 6.25vw solid transparent;
        border-right: 6.25vw solid transparent;
        border-top: 6.25vw solid var(--color-primary);
        bottom: -5.9895833333vw
    }
}

h2.ttl.section.img--left,
h2.ttl.section.img--right {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 178px
}

h2.ttl.section.img--left img,
h2.ttl.section.img--right img {
    width: auto;
    height: 100%;
    position: absolute;
    bottom: -1px;
    left: 0
}

@media only screen and (max-width: 1500px) {

    h2.ttl.section.img--left,
    h2.ttl.section.img--right {
        height: 11.8666666667vw
    }
}

@media only screen and (max-width: 1024px) {

    h2.ttl.section.img--left,
    h2.ttl.section.img--right {
        height: 14.6484375vw
    }
}

@media only screen and (max-width: 768px) {

    h2.ttl.section.img--left,
    h2.ttl.section.img--right {
        height: 23.1770833333vw
    }
}

h2.ttl.section.img--right img {
    right: 0;
    left: auto
}

h2.ttl.section.img--textRight {
    padding-left: 10%
}

h2.ttl.section.img--textLeft {
    padding-right: 10%
}

.applyBtn {
    margin: 0 auto;
    background: #fff;
    padding: 30px 30px 52px
}

@media only screen and (max-width: 1024px) {
    .applyBtn {
        padding: 2.9296875vw 2.9296875vw 5.078125vw
    }
}

@media only screen and (max-width: 768px) {
    .applyBtn {
        padding: 3.90625vw 3.90625vw 6.7708333333vw
    }
}

.applyBtn a {
    display: block
}

.sec__lone {
    background: #fff
}

.sec__lone ul {
    display: flex;
    flex-wrap: wrap;
    padding: 30px 30px 57px
}

@media only screen and (max-width: 1024px) {
    .sec__lone ul {
        padding: 2.9296875vw 2.9296875vw 5.56640625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__lone ul {
        padding: 3.90625vw 3.90625vw 7.421875vw
    }
}

.sec__lone ul li {
    width: 50%;
    border-bottom: 2px dashed #b7b7b7;
    border-right: 2px dashed #b7b7b7
}

.sec__lone ul li:nth-child(2n) {
    border-right: none
}

.sec__lone ul li:nth-last-child(-n+2) {
    border-bottom: none
}

.sec__steps {
    background-color: #fff;
    padding-bottom: 30px
}

@media only screen and (max-width: 1024px) {
    .sec__steps {
        padding-bottom: 2.9296875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__steps {
        padding-bottom: 3.90625vw
    }
}

.sec__steps .content {
    padding: 26px 30px;
    margin: 90px 30px 10px;
    border: 1px solid #b7b7b7
}

.sec__steps .content:last-of-type {
    margin-top: 40px
}

@media only screen and (max-width: 1500px) {
    .sec__steps .content {
        padding: 1.7333333333vw 2vw
    }

    .sec__steps .content:not(:first-of-type) {
        margin-top: 3.90625vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__steps .content {
        padding: 2.5390625vw 2.9296875vw;
        margin: 8.7890625vw 2.9296875vw .9765625vw
    }

    .sec__steps .content:last-of-type {
        margin-top: 3.90625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__steps .content {
        padding: 3.3854166667vw 3.90625vw;
        margin: 11.71875vw 3.90625vw 1.3020833333vw
    }

    .sec__steps .content:last-of-type {
        margin-top: 5.2083333333vw
    }
}

.sec__steps .content p {
    display: flex;
    align-items: center;
    min-height: 130px;
    font-size: 48px;
    color: var(--color-text);
    line-height: 1.2;
    position: relative;
    cursor: pointer
}

@media only screen and (max-width: 1500px) {
    .sec__steps .content p {
        min-height: 8.6666666667vw;
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__steps .content p {
        min-height: 12.6953125vw;
        font-size: 3.7109375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__steps .content p {
        min-height: 16.9270833333vw;
        font-size: 6.25vw
    }
}

.sec__steps .content p:after {
    content: "";
    background: url(../img/btn_open.qpLL0YSN.svg) no-repeat top center;
    background-size: cover;
    width: 80px;
    height: 80px;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%)
}

@media only screen and (max-width: 1500px) {
    .sec__steps .content p:after {
        width: 5.3333333333vw;
        height: 5.3333333333vw;
        right: 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__steps .content p:after {
        width: 7.8125vw;
        height: 7.8125vw;
        right: 0
    }
}

@media only screen and (max-width: 768px) {
    .sec__steps .content p:after {
        width: 10.4166666667vw;
        height: 10.4166666667vw;
        right: 2.6041666667vw
    }
}

.sec__steps .content p.active:after {
    background: url(../img/btn_close.Byd8RcBq.svg) no-repeat top center
}

.sec__steps .content img {
    margin-top: 60px
}

@media only screen and (max-width: 1024px) {
    .sec__steps .content img {
        margin-top: 5.859375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__steps .content img {
        margin-top: 7.8125vw
    }
}

.sec__steps .content .list {
    position: relative;
    display: none
}

.sec__steps .content .list a {
    display: block
}

.sec__steps .content .list .telLink {
    width: 83.44%;
    height: 17.85%;
    position: absolute;
    left: 13.24%;
    top: 30%
}

.sec__steps .content .list .telLink:hover {
    background: #ffffff80
}

.sec__steps .content .list.active {
    display: block
}

.toDetail {
    display: flex;
    justify-content: center;
    margin: 40px 0
}

.toDetail a {
    display: block;
    width: 48.3%
}

@media only screen and (max-width: 1024px) {
    .toDetail {
        margin: 3.90625vw 0
    }
}

@media only screen and (max-width: 768px) {
    .toDetail {
        margin: 5.2083333333vw 0
    }
}

.sec__interest {
    background: #fff;
    text-align: center
}

.sec__interest .content {
    padding: 0 45px 59px
}

@media only screen and (max-width: 1024px) {
    .sec__interest .content {
        padding: 0 4.39453125vw 5.76171875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__interest .content {
        padding: 0 5.859375vw 7.6822916667vw
    }
}

.sec__interest .content .info {
    margin: 6px 0 30px;
    color: var(--color-text);
    font-size: 38px;
    letter-spacing: .05em;
    line-height: 1.35;
    text-align: center
}

.sec__interest .content .info:first-child {
    margin-top: 76px
}

.sec__interest .content .info:first-child:after {
    content: "";
    display: block;
    width: 0;
    margin: 1em auto -.25em;
    border-left: solid 45px transparent;
    border-right: solid 45px transparent;
    border-top: solid 32px #b7b7b7
}

@media only screen and (max-width: 1500px) {
    .sec__interest .content .info {
        font-size: 2.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__interest .content .info {
        font-size: 2.734375vw;
        margin: .5859375vw 0 2.9296875vw
    }

    .sec__interest .content .info:first-child {
        margin-top: 7.421875vw
    }

    .sec__interest .content .info:first-child:after {
        border-left-width: 4.39453125vw;
        border-right-width: 4.39453125vw;
        border-top-width: 3.125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__interest .content .info {
        font-size: 4.9479166667vw;
        margin: .78125vw 0 3.90625vw
    }

    .sec__interest .content .info:first-child {
        margin-top: 9.8958333333vw
    }

    .sec__interest .content .info:first-child:after {
        border-left-width: 5.859375vw;
        border-right-width: 5.859375vw;
        border-top-width: 4.1666666667vw
    }
}

.sec__interest .content img {
    width: 93.79%;
    margin-bottom: 40px
}

@media only screen and (max-width: 1024px) {
    .sec__interest .content img {
        margin-bottom: 3.90625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__interest .content img {
        margin-bottom: 5.2083333333vw
    }
}

.sec__interest .content .info01 {
    font-size: 28px;
    color: var(--color-text);
    text-align: center
}

@media only screen and (max-width: 1500px) {
    .sec__interest .content .info01 {
        font-size: 1.6666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__interest .content .info01 {
        font-size: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__interest .content .info01 {
        font-size: 3.6458333333vw
    }
}

.sec__points {
    background: #fff
}

.sec__points h2 {
    font-size: 48px
}

@media only screen and (max-width: 1500px) {
    .sec__points h2 {
        font-size: 3.2vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__points h2 {
        font-size: 4.1015625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__points h2 {
        font-size: 6.25vw
    }
}

.sec__points ul {
    padding: 30px
}

@media only screen and (max-width: 1024px) {
    .sec__points ul {
        padding: 2.9296875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__points ul {
        padding: 3.90625vw
    }
}

.sec__points ul li {
    margin-bottom: 63px
}

@media only screen and (max-width: 1024px) {
    .sec__points ul li {
        margin-bottom: 6.15234375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__points ul li {
        margin-bottom: 8.203125vw
    }
}

.sec__points ul li img {
    margin-bottom: 10px
}

@media only screen and (max-width: 1024px) {
    .sec__points ul li img {
        margin-bottom: .9765625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__points ul li img {
        margin-bottom: 1.3020833333vw
    }
}

.sec__points ul li p {
    font-size: 32px;
    color: var(--color-text);
    padding: 0 30px;
    line-height: 1.3
}

.sec__points ul li p:not(:first-of-type) {
    margin-top: 20px
}

.sec__points ul li p .note {
    margin-top: .75em
}

@media only screen and (max-width: 1500px) {
    .sec__points ul li p {
        font-size: 2.1333333333vw;
        padding: 0 1.953125vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__points ul li p {
        font-size: 2.5390625vw;
        padding: 0 1.953125vw
    }

    .sec__points ul li p:not(:first-of-type) {
        margin-top: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__points ul li p {
        font-size: 4.1666666667vw;
        padding: 0 3.90625vw
    }

    .sec__points ul li p:not(:first-of-type) {
        margin-top: 2.6041666667vw
    }
}

.sec__product {
    padding-bottom: 34px;
    background: #fff
}

@media only screen and (max-width: 1024px) {
    .sec__product {
        padding-bottom: 3.3203125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__product {
        padding-bottom: 4.4270833333vw
    }
}

.sec__product .content {
    position: relative;
    padding: 20px 30px 157px
}

@media only screen and (max-width: 1500px) {
    .sec__product .content {
        padding: 1.3333333333vw 2vw 10.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__product .content {
        padding: 1.953125vw 2.9296875vw 15.33203125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__product .content {
        padding: 2.6041666667vw 3.90625vw 20.4427083333vw
    }
}

@media only screen and (max-width: 1024px) {

    .sec__product .content tr td,
    .sec__product .content tr th {
        font-size: 1.85546875vw
    }
}

@media only screen and (max-width: 768px) {

    .sec__product .content tr td,
    .sec__product .content tr th {
        font-size: 3.125vw
    }
}

.sec__product .content .toggleContents {
    display: none
}

.sec__product .content .toggleContents table {
    border-top: none
}

.sec__product .content .toggleContents .tbl__sub {
    border-top: 1px solid var(--color-text);
    margin: 10px 0
}

@media only screen and (max-width: 1024px) {
    .sec__product .content .toggleContents .tbl__sub {
        margin: .9765625vw 0
    }
}

@media only screen and (max-width: 768px) {
    .sec__product .content .toggleContents .tbl__sub {
        margin: 1.3020833333vw 0
    }
}

.sec__product .content .toggleContents .tbl__sub td {
    text-align: center
}

@media only screen and (max-width: 1024px) {
    .sec__product .content .toggleContents .tbl__sub td {
        font-size: 1.66015625vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__product .content .toggleContents .tbl__sub td {
        font-size: 3.125vw
    }
}

.sec__product .content .toggleBtnOn,
.sec__product .content .toggleBtnOff {
    position: absolute;
    width: 200px;
    left: 50%;
    transform: translate(-50%);
    cursor: pointer
}

@media only screen and (max-width: 1500px) {

    .sec__product .content .toggleBtnOn,
    .sec__product .content .toggleBtnOff {
        width: 13.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {

    .sec__product .content .toggleBtnOn,
    .sec__product .content .toggleBtnOff {
        width: 19.53125vw
    }
}

@media only screen and (max-width: 768px) {

    .sec__product .content .toggleBtnOn,
    .sec__product .content .toggleBtnOff {
        width: 26.0416666667vw
    }
}

.sec__product .content .toggleBtnOn.active,
.sec__product .content .toggleBtnOff.active {
    display: none
}

.table {
    width: 100%;
    border: 1px solid var(--color-text)
}

.table col:first-child {
    width: 25%
}

.table col:last-child {
    width: 75%
}

.table tr td {
    line-height: 1.58
}

.table tr td:first-child:not(.alignLeft) {
    text-align: center
}

.table tr th {
    line-height: 1.25;
    background-color: #eee
}

.table tr th,
.table tr td {
    border-right: 1px solid var(--color-text);
    border-bottom: 1px solid var(--color-text);
    font-size: 24px;
    color: var(--color-text);
    padding: 8px;
    letter-spacing: -.005em
}

@media only screen and (max-width: 1500px) {

    .table tr th,
    .table tr td {
        font-size: 1.4vw
    }
}

@media only screen and (max-width: 1024px) {

    .table tr th,
    .table tr td {
        font-size: 2.34375vw;
        padding: .78125vw
    }
}

@media only screen and (max-width: 768px) {

    .table tr th,
    .table tr td {
        font-size: 3.125vw;
        padding: 1.0416666667vw
    }
}

.table tr th .tbl__sub,
.table tr td .tbl__sub {
    width: 100%
}

.table tr th th,
.table tr th td,
.table tr td th,
.table tr td td {
    border-left: 1px solid var(--color-text)
}

.table tr th li,
.table tr td li {
    padding-left: 1em;
    text-indent: -1em
}

.table tr th .smallNote,
.table tr td .smallNote {
    margin-top: 0
}

.table tr th em,
.table tr td em {
    color: red
}

.table .note {
    text-indent: -20px;
    padding-left: 20px
}

@media only screen and (max-width: 1024px) {
    .table .note {
        text-indent: -1.953125vw;
        padding-left: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .table .note {
        text-indent: -2.6041666667vw;
        padding-left: 2.6041666667vw
    }
}

.table.table--alignLeft th,
.table.table--alignLeft td {
    text-align: left !important
}

@media only screen and (max-width: 1024px) {

    .table.table--alignLeft th,
    .table.table--alignLeft td {
        font-size: 1.7578125vw
    }
}

@media only screen and (max-width: 768px) {

    .table.table--alignLeft th,
    .table.table--alignLeft td {
        font-size: 3.125vw
    }
}

.product__note {
    color: var(--color-text);
    font-size: 28px;
    line-height: 1.7;
    text-align: center
}

.product__note p:not(:last-child) {
    margin-bottom: 1.33em
}

@media only screen and (max-width: 1500px) {
    .product__note {
        font-size: 1.8vw
    }
}

@media only screen and (max-width: 1024px) {
    .product__note {
        font-size: 2.05078125vw
    }
}

@media only screen and (max-width: 768px) {
    .product__note {
        font-size: 3.6458333333vw
    }
}

.sec__contact {
    background: #fff;
    padding: 50px 30px 20px
}

@media only screen and (max-width: 1024px) {
    .sec__contact {
        padding: 4.8828125vw 2.9296875vw 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact {
        padding: 6.5104166667vw 3.90625vw 2.6041666667vw
    }
}

.sec__contact h2 {
    font-size: 28px;
    color: var(--color-primary);
    text-align: center;
    margin-bottom: 30px
}

@media only screen and (max-width: 1500px) {
    .sec__contact h2 {
        font-size: 2vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact h2 {
        font-size: 2.734375vw;
        margin-bottom: 2.9296875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact h2 {
        font-size: 3.6458333333vw;
        margin-bottom: 3.90625vw
    }
}

.sec__contact .tel {
    position: relative;
    margin-bottom: 20px
}

@media only screen and (max-width: 1024px) {
    .sec__contact .tel {
        margin-bottom: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .tel {
        margin-bottom: 2.6041666667vw
    }
}

.sec__contact .tel a {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%
}

.sec__contact .time {
    margin: 0 auto 50px;
    color: var(--color-text);
    font-size: 28px;
    font-weight: 500;
    text-align: center
}

@media only screen and (max-width: 1500px) {
    .sec__contact .time {
        margin: 0 auto 3.3333333333vw;
        font-size: 1.8666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .time {
        margin: 0 auto 4.8828125vw;
        font-size: 2.1484375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .time {
        margin: 0 auto 6.5104166667vw;
        font-size: 3.6458333333vw
    }
}

.sec__contact .note h3 {
    width: 448px;
    margin: 0 auto 20px
}

@media only screen and (max-width: 1500px) {
    .sec__contact .note h3 {
        width: 29.8666666667vw;
        margin: 0 auto 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note h3 {
        width: 43.75vw;
        margin: 0 auto 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note h3 {
        width: 58.3333333333vw;
        margin: 0 auto 2.6041666667vw
    }
}

.sec__contact .note ul {
    margin-bottom: 15px
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note ul {
        margin-bottom: 1.46484375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note ul {
        margin-bottom: 1.953125vw
    }
}

.sec__contact .note ul li {
    font-size: 22px;
    line-height: 1.7;
    color: var(--color-text);
    text-indent: -22px;
    padding-left: 22px
}

@media only screen and (max-width: 1500px) {
    .sec__contact .note ul li {
        font-size: 1.4666666667vw;
        text-indent: -1.4666666667vw;
        padding-left: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note ul li {
        font-size: 2.1484375vw;
        text-indent: -2.1484375vw;
        padding-left: 2.1484375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note ul li {
        font-size: 2.8645833333vw;
        text-indent: -2.8645833333vw;
        padding-left: 2.8645833333vw
    }
}

.sec__contact .note ul li span {
    color: #595758;
    margin-right: 5px
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note ul li span {
        margin-right: .48828125vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note ul li span {
        margin-right: .6510416667vw
    }
}

.sec__contact .note .more {
    margin: 1em 0;
    color: var(--color-primary);
    font-size: 28px;
    text-align: right
}

@media only screen and (max-width: 1500px) {
    .sec__contact .note .more {
        font-size: 1.8666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note .more {
        font-size: 2.34375vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note .more {
        font-size: 3.6458333333vw
    }
}

.sec__contact .note .text {
    padding-left: 1em;
    color: var(--color-text);
    font-size: 22px;
    text-indent: -1em
}

@media only screen and (max-width: 1500px) {
    .sec__contact .note .text {
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note .text {
        font-size: 1.85546875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note .text {
        font-size: 2.8645833333vw
    }
}

.sec__contact .note .text em {
    color: red
}

.sec__contact .note .date {
    font-size: 22px;
    color: var(--color-text);
    text-align: right
}

@media only screen and (max-width: 1500px) {
    .sec__contact .note .date {
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .sec__contact .note .date {
        font-size: 1.85546875vw
    }
}

@media only screen and (max-width: 768px) {
    .sec__contact .note .date {
        font-size: 2.8645833333vw
    }
}

.note__text {
    margin-bottom: 1em;
    color: var(--color-text);
    font-size: 22px;
    line-height: 1.63
}

@media only screen and (max-width: 1500px) {
    .note__text {
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    .note__text {
        font-size: 1.85546875vw
    }
}

@media only screen and (max-width: 768px) {
    .note__text {
        font-size: 2.8645833333vw
    }
}

footer {
    background: #fff
}

footer .logo {
    text-align: center;
    margin-bottom: 50px
}

@media only screen and (max-width: 1500px) {
    footer .logo {
        margin-bottom: 3.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    footer .logo {
        width: 85%;
        margin: 0 auto 4.8828125vw
    }
}

@media only screen and (max-width: 768px) {
    footer .logo {
        margin-bottom: 6.5104166667vw
    }
}

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

@media only screen and (max-width: 1500px) {
    footer .logo img {
        max-width: 42vw
    }
}

@media only screen and (max-width: 1024px) {
    footer .logo img {
        max-width: 61.5234375vw
    }
}

@media only screen and (max-width: 768px) {
    footer .logo img {
        max-width: 82.03125vw
    }
}

footer p {
    font-size: 22px;
    text-align: center;
    color: var(--color-text);
    margin-bottom: 30px
}

@media only screen and (max-width: 1500px) {
    footer p {
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    footer p {
        font-size: 2.1484375vw;
        margin-bottom: 2.9296875vw
    }
}

@media only screen and (max-width: 768px) {
    footer p {
        font-size: 2.8645833333vw;
        margin-bottom: 3.90625vw
    }
}

footer p.copyright {
    font-size: 22px;
    text-align: center
}

@media only screen and (max-width: 1500px) {
    footer p.copyright {
        font-size: 1.4666666667vw
    }
}

@media only screen and (max-width: 1024px) {
    footer p.copyright {
        font-size: 1.7578125vw
    }
}

@media only screen and (max-width: 768px) {
    footer p.copyright {
        font-size: 2.8645833333vw
    }
}

footer .image {
    background: var(--color-bg)
}

.btn_fixed {
    position: fixed;
    bottom: 0;
    background: #000c;
    width: 100%;
    padding: 10px 0;
    text-align: center;
    z-index: 3
}

@media only screen and (max-width: 1024px) {
    .btn_fixed {
        padding: .9765625vw 0
    }
}

@media only screen and (max-width: 768px) {
    .btn_fixed {
        padding: 1.3020833333vw 0
    }
}

.btn_fixed a {
    width: 640px
}

@media only screen and (max-width: 1024px) {
    .btn_fixed a {
        width: 62.5vw
    }
}

@media only screen and (max-width: 768px) {
    .btn_fixed a {
        width: 83.3333333333vw
    }
}

.footerNavi {
    display: flex;
    padding: 0 30px 60px;
    margin-left: 1em;
    color: var(--color-primary);
    font-size: 20px
}

@media only screen and (max-width: 1500px) {
    .footerNavi {
        padding: 0 2vw 4vw;
        font-size: 1.3333333333vw
    }
}

@media only screen and (max-width: 1024px) {
    .footerNavi {
        padding: 0 2.9296875vw 5.859375vw;
        font-size: 1.953125vw
    }
}

@media only screen and (max-width: 768px) {
    .footerNavi {
        padding: 0 3.90625vw 7.8125vw;
        font-size: 2.6041666667vw
    }
}

.footerNavi__item:nth-child(-n+1):after {
    content: " | ";
    margin: 0 10px
}