@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap);

:root {
  --gap_s:4%;
  --gap_m:10%;
  --gap_l:16%;
  --gap_xl:20%;
  --10px: 59%;
}

*,
:after,
:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

:where([hidden]:not([hidden=until-found])) {
    display: none !important
}

:where(html) {
    -webkit-text-size-adjust: none;
    color-scheme: dark light
}

@supports not (min-block-size:100dvb) {
    :where(html) {
        block-size: 100%
    }
}

@media (prefers-reduced-motion:no-preference) {
    :where(html:focus-within) {
        scroll-behavior: smooth
    }
}

:where(body) {
    -webkit-font-smoothing: antialiased;
    block-size: 100%;
    block-size: 100dvb;
    font-family: system-ui, sans-serif;
    line-height: 1.5
}

:where(input, button, textarea, select) {
    color: inherit;
    font: inherit
}

:where(textarea) {
    resize: vertical;
    resize: block
}

:where(button, label, select, summary, [role=button], [role=option]) {
    cursor: pointer
}

:where(:disabled) {
    cursor: not-allowed
}

:where(label:has(>input:disabled), label:has(+input:disabled)) {
    cursor: not-allowed
}

:where(button) {
    border-style: solid
}

:where(a) {
    text-underline-offset: .2ex
}

:where(ul, ol) {
    list-style: none
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
    display: block
}

:where(img, picture, svg) {
    block-size: auto;
    max-inline-size: 100%
}

:where(p, h1, h2, h3, h4, h5, h6) {
    overflow-wrap: break-word
}

:where(h1, h2, h3) {
    line-height: calc(1em + .5rem)
}

:where(hr) {
    -webkit-border-before: 1px solid;
    block-size: 0;
    border: none;
    border-block-start: 1px solid;
    color: inherit;
    overflow: visible
}

:where(:focus-visible) {
    outline: 2px solid var(--focus-color, Highlight);
    outline-offset: 2px
}

:where(.visually-hidden:not(:focus, :active, :focus-within, .not-visually-hidden)) {
    border: 0 !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    overflow: hidden !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important
}

.is-pc {
    display: block
}

.is-sp {
    display: none
}

.in-view {
    opacity: 0 !important;
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    -webkit-transition: opacity .5s ease-out, -webkit-transform .5s ease-out;
    transition: opacity .5s ease-out, -webkit-transform .5s ease-out;
    transition: opacity .5s ease-out, transform .5s ease-out;
    transition: opacity .5s ease-out, transform .5s ease-out, -webkit-transform .5s ease-out
}

.in-view.is-visible {
    opacity: 1 !important;
    -webkit-transform: translateY(0);
    transform: translateY(0)
}

.f-min {
    font-family: shippori-mincho-b1, sans-serif
}

.f-min,
.f-mont {
    font-style: normal;
    font-weight: 400
}

.f-mont {
    font-family: montserrat, sans-serif
}

.f-noto-serif {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400
}

.f-noto-sans {
    font-family: Noto Sans JP, sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400
}

body,
html {
    margin: 0;
    padding: 0
}

body *,
html * {
    -webkit-font-feature-settings: "palt" 1;
    font-feature-settings: "palt" 1;
    color: #030000;
    font-family: yu-gothic-pr6n, sans-serif;
    font-style: normal;
    font-weight: 400
}

body a,
html a {
    display: block;
    text-decoration: none;
    -webkit-transition: opacity .3s;
    transition: opacity .3s
}

body a:hover,
html a:hover {
    opacity: .6
}

main {
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.4333333333
}

main:before {
    background: top no-repeat url(../img/fv_bg.jpg);
    background-size: cover;
    bottom: 0;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    width: 100%
}

.inner {
    margin: 0 auto;
    max-width: 700px;
    position: relative;
    z-index: 1
}

.pc_link_left {
    bottom: 5%;
    left: calc(50vw - 672px);
    position: fixed;
    width: 286px
}

.pc_link_right {
    bottom: 5%;
    position: fixed;
    right: calc(50vw - 606px);
    width: 220px
}

.pc_link_right a+img {
    margin: 44.5px 0 16.5px
}

sup span {
    color: inherit;
    display: inline-block;
    font-size: .68627451em !important;
    -webkit-transform: translateY(-.5em);
    transform: translateY(-.5em)
}

.fv .fv_img {
    position: relative
}

.fv .left_top {
    left: 24px;
    position: absolute;
    top: 27.5px
}

.fv .left_top .logo {
    margin-bottom: 33px;
    width: 111.5px
}

.fv .left_top .copy {
    color: #3a4044;
    font-size: 51.465px;
    font-weight: 700;
    line-height: 1.1065772855
}

.fv .left_top .copy span {
    font-size: 43.23px;
    font-weight: 700
}

.fv .left_top .copy sup {
    display: inline-block;
    font-size: 21.955px;
    font-weight: 700;
    letter-spacing: .08em;
    -webkit-transform: translateY(-.3em);
    transform: translateY(-.3em)
}

.fv .icon {
    position: absolute;
    right: 9px;
    top: 562px;
    width: 192px
}

.fv .text {
    padding: 0 25px;
    text-align: left
}

.fv .text_box01 {
    bottom: 55.5px;
    left: 0;
    position: absolute;
    right: 0;
    text-align: center
}

.fv .text_box01 .name {
    border-bottom: 1px solid #fff;
    color: #fff;
    display: block;
    font-size: 50px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    margin: 0 auto 51.5px;
    padding-bottom: 4.5px;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.fv .text_box01 .text {
    color: #fff
}

.fv .text_box02 {
    background: #c9ad7b;
    background: -webkit-gradient(linear, left top, right top, from(#c9ad7b), color-stop(63%, #fefcea), to(#e0b77c));
    background: linear-gradient(90deg, #c9ad7b, #fefcea 63%, #e0b77c);
    padding: 55px 0 50.5px
}

.fv .text_box02 .f_m {
    font-size: 28px;
    margin: 0 auto 17px
}

.fv .text_box02 .f_l,
.fv .text_box02 .f_m {
    display: block;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    text-align: center;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.fv .text_box02 .f_l {
    border-bottom: 1px solid #030000;
    font-size: 34.5px;
    margin: 0 auto 21.5px;
    padding-bottom: 7.5px
}

.fv .text_box02 .f_l span {
    font-size: 29.5px
}

.fv .text_box02 .f_xl {
    display: block;
    font-size: 60.59px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1;
    margin: 0 auto 38.5px;
    text-align: center;
    -webkit-transform: translateX(.15em);
    transform: translateX(.15em);
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content
}

.fv .text_box02 .f_xl sup {
    display: inline-block;
    font-size: 12.545px;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1;
    -webkit-transform: translateY(-1.3em) translateX(-1.4em);
    transform: translateY(-1.3em) translateX(-1.4em)
}

.sec01 {
    background: #fff;
    padding: 61px 0 69.5px
}

.sec01 .product {
    border-radius: 17.5px;
    margin: 0 auto;
    max-width: 650px;
    padding: 27.5px 50px 33.5px 55.5px
}

.sec01 .product .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between
}

.sec01 .product .flex .right {
    width: 344.5px
}

.sec01 .product .flex .right .point {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    gap: 7.5px;
    justify-content: flex-start;
    margin-bottom: 33.5px
}

.sec01 .product .flex .right .point span {
    background: #fff;
    color: #32416e;
    font-size: 20.76px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1;
    padding: 7px 8px
}

.sec01 .product .flex .right .point span sup {
    color: #32416e;
    font-size: 15px;
    -webkit-transform: translateY(-3.5px);
    transform: translateY(-3.5px)
}

.sec01 .product .flex .right .point img {
    display: inline-block;
    width: 14.28px
}

.sec01 .product .flex .right .en {
    color: #01a2c8;
    font-size: 18.165px;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 16.5px
}

.sec01 .product .flex .right .jp {
    color: #00527d;
    font-size: 34.255px;
    font-weight: 600;
    letter-spacing: -.1em;
    line-height: 1;
    margin-bottom: 18.5px
}

.sec01 .product .flex .right .price {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: flex-start;
    margin-bottom: 18.5px
}

.sec01 .product .flex .right .price img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 0 7.5px 0 -8px;
    width: 17px
}

.sec01 .product .flex .right .price .price01 {
    -ms-flex-negative: 0;
    color: #4a372a;
    flex-shrink: 0;
    font-family: "Noto Serif JP", serif;
    font-size: 22.605px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1;
    position: relative
}

.sec01 .product .flex .right .price .price01:after {
    background: #b5884a;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 55%;
    width: 93%
}

.sec01 .product .flex .right .price .price01>span {
    color: #4a372a;
    font-family: "Noto Serif JP", serif;
    font-size: 15.755px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1
}

.sec01 .product .flex .right .price .price01>span span {
    color: #4a372a;
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1;
    -webkit-transform: translateX(-.4em);
    transform: translateX(-.4em)
}

.sec01 .product .flex .right .price .price02 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-size: 29.785px
}

.sec01 .product .flex .right .price .price02,
.sec01 .product .flex .right .price .price02>span {
    color: #00527d;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1
}

.sec01 .product .flex .right .price .price02>span {
    font-size: 20.76px
}

.sec01 .product .flex .right .price .price02>span span {
    color: #00527d;
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1;
    -webkit-transform: translateX(-.4em);
    transform: translateX(-.4em)
}

.sec01 .product .flex .right .balloon {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    background: 50% no-repeat url(../img/sec01_product01_balloon.png);
    background-size: cover;
    color: #01a2c8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 16.09px;
    font-weight: 600;
    height: 38px;
    justify-content: center;
    letter-spacing: .04em;
    line-height: 1;
    margin-bottom: 8px;
    padding-bottom: 14px;
    text-align: center;
    width: 344.47px
}

.sec01 .product .flex .right .balloon span,
.sec01 .product .flex .right .balloon sup {
    color: #01a2c8;
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 600;
    line-height: 1
}

.sec01 .product .flex .right .balloon span:first-of-type {
    font-size: 20.5px
}

.sec01 .product .flex .right .balloon span:nth-of-type(2) {
    font-size: 15.5px
}

.sec01 .product .flex .right .balloon span:nth-of-type(3) {
    font-size: 20.5px
}

.sec01 .product .flex .right .balloon span:nth-of-type(4) {
    font-size: 15px
}

.sec01 .product .flex .right .balloon sup {
    font-size: 13.045px;
    -webkit-transform: translateY(-.3em);
    transform: translateY(-.3em)
}

.sec01 .product .flex .right .product_btn {
    margin-bottom: 19.5px
}

.sec01 .product .flex .right .product_btn_rakuten {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    border: 1px solid #01a2c8;
    color: #01a2c8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 19.205px;
    font-weight: 600;
    gap: 12px;
    height: 51.395px;
    justify-content: center;
    letter-spacing: .04em;
    line-height: 1;
    width: 100%
}

.sec01 .product .flex .right .product_btn_rakuten:after {
    background: 50% no-repeat url(../img/sec01_icon_blank.png);
    background-size: cover;
    content: "";
    display: block;
    height: 16px;
    width: 20.5px
}

.sec01 .product .text {
    margin: 12.5px auto 0;
    max-width: 535px
}

.sec01 .product01 {
    background: 50% no-repeat url(../img/sec01_product01_bg.png);
    background-size: cover;
    margin-bottom: 35.5px
}

.sec01 .product01 .product_img {
    margin-top: 16.5px;
    width: 155.5px
}

.sec01 .product02 {
    background: 50% no-repeat url(../img/sec01_product02_bg.png);
    background-size: cover
}

.sec01 .product02 .product_img {
    margin-top: 16.5px;
    width: 172.5px
}

.sec01 .product02 .flex .right .point span {
    color: #4a372a
}

.sec01 .product02 .flex .right .point img {
    display: inline-block;
    width: 14.28px
}

.sec01 .product02 .flex .right .en {
    color: #b5884a
}

.sec01 .product02 .flex .right .jp {
    color: #4a372a;
    line-height: 1.445044519;
    margin-bottom: 35px
}

.sec01 .product02 .flex .right .price {
    margin-bottom: 36px
}

.sec01 .product02 .flex .right .price .price02,
.sec01 .product02 .flex .right .price .price02>span,
.sec01 .product02 .flex .right .price .price02>span span {
    color: #4a372a
}

.sec01 .product02 .flex .right .balloon {
    background: 50% no-repeat url(../img/sec01_product02_balloon.png);
    background-size: cover;
    color: #b5884a
}

.sec01 .product02 .flex .right .balloon span,
.sec01 .product02 .flex .right .balloon sup {
    color: #b5884a
}

.sec01 .product02 .flex .right .product_btn_rakuten {
    background: #b5884a;
    border: 1px solid #b5884a;
    color: #fff
}

.sec01 .product02 .flex .right .product_btn_rakuten:after {
    display: none
}

.sec02 {
    background: #fff;
    padding: 0 25px 69.5px
}

.sec02 .ttl {
    background: #003660;
    color: #fff;
    font-size: 30.885px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1;
    padding: 25.5px 0;
    text-align: center
}

.sec02 .banner {
    margin-bottom: 22px;
    position: relative
}

.sec02 .banner .left {
    left: 60px;
    position: absolute;
    top: 38.5px;
    width: 307.5px
}

.sec02 .banner .left img:first-of-type {
    margin-bottom: 33.5px
}

.sec02 .banner .left img:nth-of-type(2) {
    margin-bottom: 26px
}

.sec02 .banner .right {
    bottom: 11px;
    color: #003660;
    font-size: 15.5px;
    font-weight: 500;
    line-height: 1;
    position: absolute;
    right: 18px
}

.sec02 details {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 75px
}

.sec02 details summary {
    background: #003660;
    color: #fff;
    font-size: 14.42px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    list-style: none;
    padding: 11px 14.5px 12px;
    position: relative
}

.sec02 details summary::marker {
    content: ""
}

.sec02 details summary::-webkit-details-marker {
    display: none
}

.sec02 details summary:after {
    background: 50% no-repeat url(../img/sec02_icon01.png);
    background-size: cover;
    content: "";
    display: block;
    height: 11.5px;
    position: absolute;
    right: 19.5px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    width: 19px
}

.sec02 details p {
    padding-top: 13.5px
}

.sec02 details[open] summary:after {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.sec02 .ttl02 {
    background: #59a4b2;
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: .18em;
    line-height: 1;
    margin-bottom: 52px;
    padding: 15.75px 0;
    text-align: center
}

.sec02 .ttl02+.flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between
}

.sec02 .ttl02+.flex div {
    background: #eef6f7;
    border-radius: 19px;
    height: 199.22px;
    padding: 55px 16px 0;
    position: relative;
    width: 200px
}

.sec02 .ttl02+.flex div .num {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #eef6f7;
    border-radius: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 36.135px;
    font-weight: 500;
    height: 59.82px;
    justify-content: center;
    left: 50%;
    opacity: .6;
    position: absolute;
    top: 0;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 59.82px;
    z-index: 1
}

.sec02 .ttl02+.flex div p {
    color: #167070;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -.06em;
    line-height: 1.5625;
    text-align: center
}

.sec02 .ttl02+.flex div p img {
    margin: 14.5px auto 0;
    width: 60px
}

.sec02 .ttl02+.flex div p span {
    color: #167070;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -.06em
}

.sec03 .banner {
    position: relative
}

.sec03 .banner .text {
    bottom: 55.5px;
    color: #00527d;
    left: 0;
    position: absolute;
    right: 0
}

.sec03 .text {
    color: #fff;
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 1.4333333333;
    padding: 0 25px
}

.sec03 .content {
    background: #008cab;
    background: linear-gradient(87deg, #008cab, #37bef0 60%);
    padding-bottom: 30px
}

.sec03 .content .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between;
    padding: 50px 25px 30px
}

.sec03 .content .flex p {
    color: #fff;
    font-size: 27.125px;
    font-weight: 600;
    letter-spacing: .14em;
    line-height: 1.615483871
}

.sec03 .content .flex p sup {
    color: #fff;
    display: inline-block;
    font-size: 17px;
    letter-spacing: -.02em;
    -webkit-transform: translateX(-.2em);
    transform: translateX(-.2em)
}

.sec03 .content .flex img {
    -webkit-filter: drop-shadow(0 0 .75rem rgba(0, 82, 125, .14));
    filter: drop-shadow(0 0 .75rem rgba(0, 82, 125, .14));
    width: 192.5px
}

.sec03 .content .flex img:first-of-type {
    -webkit-transform: translateX(-5px);
    transform: translateX(-5px)
}

.sec04,
.sec05,
.sec06 {
    background: #fff;
    padding-bottom: 85px
}

.sec04 .sec_fv,
.sec05 .sec_fv,
.sec06 .sec_fv {
    background: #69c4da;
    background: radial-gradient(circle, #fff 0, #69c4da 100%)
}

.sec04 .sec_fv .flex01,
.sec05 .sec_fv .flex01,
.sec06 .sec_fv .flex01 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between;
    margin-bottom: 23px
}

.sec04 .sec_fv .flex01 .left,
.sec05 .sec_fv .flex01 .left,
.sec06 .sec_fv .flex01 .left {
    padding: 48.5px 0 0 51.5px
}

.sec04 .sec_fv .flex01 .left h2,
.sec05 .sec_fv .flex01 .left h2,
.sec06 .sec_fv .flex01 .left h2 {
    color: #fff;
    font-size: 26.53px;
    font-weight: 400;
    letter-spacing: .18em;
    line-height: 1;
    margin-bottom: 62.5px
}

.sec04 .sec_fv .flex01 .left .f-m,
.sec05 .sec_fv .flex01 .left .f-m,
.sec06 .sec_fv .flex01 .left .f-m {
    color: #006c94;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: .06em;
    line-height: 1.28;
    margin-bottom: 28.5px
}

.sec04 .sec_fv .flex01 .left .f-m span,
.sec05 .sec_fv .flex01 .left .f-m span,
.sec06 .sec_fv .flex01 .left .f-m span {
    color: #006c94;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .02em;
    line-height: 1.28
}

.sec04 .sec_fv .flex01 .left .f-l,
.sec05 .sec_fv .flex01 .left .f-l,
.sec06 .sec_fv .flex01 .left .f-l {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #006c94;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 25px;
    font-weight: 600;
    gap: 10px;
    justify-content: flex-start;
    line-height: 1
}

.sec04 .sec_fv .flex01 .left .f-l span:first-of-type,
.sec05 .sec_fv .flex01 .left .f-l span:first-of-type,
.sec06 .sec_fv .flex01 .left .f-l span:first-of-type {
    color: #01a2c8;
    font-size: 125px;
    font-weight: 500;
    letter-spacing: -.06em;
    line-height: 1
}

.sec04 .sec_fv .flex01 .left .f-l span:nth-of-type(2),
.sec05 .sec_fv .flex01 .left .f-l span:nth-of-type(2),
.sec06 .sec_fv .flex01 .left .f-l span:nth-of-type(2) {
    color: #01a2c8;
    font-size: 47.5px;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.1303157895
}

.sec04 .sec_fv .flex01 img,
.sec05 .sec_fv .flex01 img,
.sec06 .sec_fv .flex01 img {
    max-width: 394.5px;
    width: 56.3571428571
}

.sec04 .sec_fv .content_list,
.sec05 .sec_fv .content_list,
.sec06 .sec_fv .content_list {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    border-bottom: 11px solid #01a2c8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    gap: 11px;
    justify-content: center
}

.sec04 .sec_fv .content_list li,
.sec05 .sec_fv .content_list li,
.sec06 .sec_fv .content_list li {
    background: #fff;
    border-radius: 21px 21px 0 0;
    padding: 15.5px 8.5px 12.5px;
    text-align: center;
    width: 209.5px
}

.sec04 .sec_fv .content_list li.is-current,
.sec05 .sec_fv .content_list li.is-current,
.sec06 .sec_fv .content_list li.is-current {
    background: #01a2c8
}

.sec04 .sec_fv .content_list li.is-current .jp,
.sec04 .sec_fv .content_list li.is-current .jp span,
.sec04 .sec_fv .content_list li.is-current .jp sup,
.sec05 .sec_fv .content_list li.is-current .jp,
.sec05 .sec_fv .content_list li.is-current .jp span,
.sec05 .sec_fv .content_list li.is-current .jp sup,
.sec06 .sec_fv .content_list li.is-current .jp,
.sec06 .sec_fv .content_list li.is-current .jp span,
.sec06 .sec_fv .content_list li.is-current .jp sup {
    color: #fff
}

.sec04 .sec_fv .content_list li .num,
.sec05 .sec_fv .content_list li .num,
.sec06 .sec_fv .content_list li .num {
    color: #bae4f0;
    font-size: 31px;
    font-weight: 500;
    letter-spacing: .1em;
    line-height: 1
}

.sec04 .sec_fv .content_list li .jp,
.sec05 .sec_fv .content_list li .jp,
.sec06 .sec_fv .content_list li .jp {
    color: #01a2c8;
    font-size: 30.24px;
    font-weight: 600;
    letter-spacing: -.08em;
    margin: 21px 0 15px;
    white-space: nowrap
}

.sec04 .sec_fv .content_list li .jp span,
.sec05 .sec_fv .content_list li .jp span,
.sec06 .sec_fv .content_list li .jp span {
    color: #01a2c8
}

.sec04 .sec_fv .content_list li .jp sup,
.sec05 .sec_fv .content_list li .jp sup,
.sec06 .sec_fv .content_list li .jp sup {
    color: #01a2c8;
    font-size: 17.5px;
    font-weight: 600;
    letter-spacing: .08em
}

.sec04 .sec_fv .content_list li .en,
.sec05 .sec_fv .content_list li .en,
.sec06 .sec_fv .content_list li .en {
    color: #bae4f0;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1
}

.sec04 .content,
.sec05 .content,
.sec06 .content {
    padding: 0 25px
}

.sec04 .content h3,
.sec05 .content h3,
.sec06 .content h3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #205e9e;
    border-radius: 29.5px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 30px;
    font-weight: 600;
    justify-content: center;
    line-height: 1;
    margin-bottom: 34.5px;
    padding: 14.5px 0 15px;
    text-align: center
}

.sec04 .content h3:before,
.sec05 .content h3:before,
.sec06 .content h3:before {
    background: 50% no-repeat url(../img/content_icon_check.png);
    background-size: cover;
    content: "";
    display: block;
    height: 27px;
    margin-right: 17px;
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    width: 27px
}

.sec04 .content h3 sup,
.sec05 .content h3 sup,
.sec06 .content h3 sup {
    color: #fff;
    margin: 0 -.7em
}

.sec04 .content h3 span,
.sec05 .content h3 span,
.sec06 .content h3 span {
    color: inherit;
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    -webkit-transform: translateY(.1em);
    transform: translateY(.1em)
}

.sec04 .content .f-l,
.sec05 .content .f-l,
.sec06 .content .f-l {
    color: #67b9bc;
    font-family: "Noto Serif JP", serif;
    font-size: 28.5px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2345679012;
    margin-bottom: 36px;
    text-align: center
}

.sec04 .content .f-l span,
.sec05 .content .f-l span,
.sec06 .content .f-l span {
    color: #006c94;
    font-family: "Noto Serif JP", serif;
    font-size: 40.5px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2345679012;
    text-align: center
}

.sec04 .content .f-l span span,
.sec05 .content .f-l span span,
.sec06 .content .f-l span span {
    color: #006c94;
    font-family: "Noto Serif JP", serif;
    font-size: 35.5px;
    font-weight: 600;
    letter-spacing: .1em
}

.sec04 .content .f-l sup,
.sec05 .content .f-l sup,
.sec06 .content .f-l sup {
    color: inherit;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 600
}

.sec04 .content .f-s,
.sec05 .content .f-s,
.sec06 .content .f-s {
    color: #006c94;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.4761904762;
    margin-bottom: 45.5px;
    text-align: center
}

.sec04 .content .f-s sup,
.sec05 .content .f-s sup,
.sec06 .content .f-s sup {
    color: inherit;
    display: inline-block;
    -webkit-transform: translateY(.2em);
    transform: translateY(.2em)
}

.sec04 .content .flex,
.sec05 .content .flex,
.sec06 .content .flex {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    justify-content: space-between
}

.sec04 .content .flex img,
.sec05 .content .flex img,
.sec06 .content .flex img {
    width: 362.5px
}

.sec04 .content .flex .balloon,
.sec05 .content .flex .balloon,
.sec06 .content .flex .balloon {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: 50% no-repeat url(../img/content_balloon_bg.png);
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    height: 240px;
    justify-content: center;
    padding-left: 28.5px;
    width: 270px
}

.sec04 .content .flex .balloon p,
.sec05 .content .flex .balloon p,
.sec06 .content .flex .balloon p {
    font-size: 32.785px;
    text-align: center
}

.sec04 .content .flex .balloon p,
.sec04 .content .flex .balloon p span,
.sec05 .content .flex .balloon p,
.sec05 .content .flex .balloon p span,
.sec06 .content .flex .balloon p,
.sec06 .content .flex .balloon p span {
    color: #006c94;
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: -.06em;
    line-height: 1.2946469422
}

.sec04 .content .flex .balloon p sup,
.sec05 .content .flex .balloon p sup,
.sec06 .content .flex .balloon p sup {
    color: inherit
}

.sec04 .content .flex .balloon p .l_blue,
.sec05 .content .flex .balloon p .l_blue,
.sec06 .content .flex .balloon p .l_blue {
    color: #59a4b2
}

.sec04 .content .flex .balloon p .small,
.sec05 .content .flex .balloon p .small,
.sec06 .content .flex .balloon p .small {
    color: inherit;
    font-size: 21.5px
}

.sec04 .content .flex .balloon p .border,
.sec05 .content .flex .balloon p .border,
.sec06 .content .flex .balloon p .border {
    position: relative
}

.sec04 .content .flex .balloon p .border:after,
.sec05 .content .flex .balloon p .border:after,
.sec06 .content .flex .balloon p .border:after {
    border-bottom: 1.78px solid #bae4f0;
    border-top: 1.78px solid #bae4f0;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    content: "";
    display: block;
    height: 4px;
    left: 0;
    position: absolute;
    right: 0;
    top: 90%;
    width: 100%
}

.sec04 .content .flex .balloon p .letter-spacing,
.sec05 .content .flex .balloon p .letter-spacing,
.sec06 .content .flex .balloon p .letter-spacing {
    letter-spacing: -.4em
}

.sec04 .content .sub_ttl,
.sec05 .content .sub_ttl,
.sec06 .content .sub_ttl {
    background: #737376;
    color: #fff;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    margin: 66.5px 0 22px;
    padding: 12.5px 0;
    text-align: center
}

.sec04 .content .sub_ttl sup,
.sec05 .content .sub_ttl sup,
.sec06 .content .sub_ttl sup {
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .1em
}

.sec04 .content .full_img,
.sec05 .content .full_img,
.sec06 .content .full_img {
    margin-bottom: 25px
}

.sec04 .sec_fv .fv02 {
    position: relative
}

.sec04 .sec_fv .fv02 .left {
    left: 53px;
    position: absolute;
    top: 64px
}

.sec04 .sec_fv .fv02 .left .f-l {
    font-family: "Noto Serif JP", serif;
    font-size: 38.065px;
    font-weight: 600;
    letter-spacing: .16em;
    line-height: 1.3839485091
}

.sec04 .sec_fv .fv02 .left .f-l span {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: .12em
}

.sec04 .sec_fv .fv02 .left .f-l span:nth-of-type(2) {
    letter-spacing: .04em
}

.sec04 .sec_fv .fv02 .left .f-l span:first-of-type,
.sec04 .sec_fv .fv02 .left .f-l span:nth-of-type(3) {
    font-size: 32.1px
}

.sec04 .sec_fv .fv02 .left .f-l span:nth-of-type(4) {
    color: #c6a67d;
    display: inline-block;
    padding-left: 1em
}

.sec04 .sec_fv .fv02 .left .f-m {
    font-family: "Noto Serif JP", serif;
    font-size: 19px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3839485091
}

.sec04 .content01 {
    padding-top: 77px
}

.sec04 .content02 {
    padding-top: 89px
}

.sec04 .content02 .text {
    margin-top: 25px
}

.sec04 .content03 {
    padding-top: 92.5px
}

.sec04 .content03 .text {
    margin: 46px 0 52px;
    text-align: right
}

.sec05 .sec_fv .content_list,
.sec06 .sec_fv .content_list {
    padding-top: 21px
}

.sec05 .sec_fv .fv02,
.sec06 .sec_fv .fv02 {
    background: #fff
}

.sec05 .sec_fv .f-l,
.sec06 .sec_fv .f-l {
    color: #67b9bc;
    font-size: 28.5px;
    padding: 57.5px 0 20px
}

.sec05 .sec_fv .f-l,
.sec05 .sec_fv .f-l span,
.sec06 .sec_fv .f-l,
.sec06 .sec_fv .f-l span {
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2345679012;
    text-align: center
}

.sec05 .sec_fv .f-l span,
.sec06 .sec_fv .f-l span {
    color: #006c94;
    font-size: 40.5px
}

.sec05 .sec_fv .f-l span span:not(.black),
.sec06 .sec_fv .f-l span span:not(.black) {
    color: #006c94;
    font-family: "Noto Serif JP", serif;
    font-size: 35.5px;
    font-weight: 600;
    letter-spacing: .1em
}

.sec05 .sec_fv .f-l span span.black,
.sec06 .sec_fv .f-l span span.black {
    color: inherit;
    font-size: inherit;
    font-weight: 900
}

.sec05 .sec_fv .f-l sup,
.sec06 .sec_fv .f-l sup {
    color: inherit;
    font-family: "Noto Serif JP", serif;
    font-size: 20px;
    font-weight: 600
}

.sec05 .content01 {
    padding-top: 88.5px
}

.sec05 .content01 .f-l span span {
    font-size: 50.5px
}

.sec05 .content02 {
    padding-top: 98px
}

.sec06 {
    padding-bottom: 65px
}

.sec06 .sec_fv .fv02 {
    padding: 57.5px 25px 0
}

.sec06 .sec_fv .f-l {
    padding: 36px 0 0
}

.sec06 .sec_fv .f-l span span {
    font-size: 50.5px
}

.sec06 .content01 {
    padding-top: 79.5px
}

.sec06 .content01 h3 span {
    font-size: 25px
}

.sec06 .content01 .img_wrapper {
    background: #bae4f0;
    margin-bottom: 20px;
    padding: 20px 25px 44.5px
}

.sec06 .content01 .img_wrapper .flex img {
    width: 190px
}

.sec06 .content02 {
    padding-top: 67.5px
}

.sec06 .content02 h3 sup {
    margin: 0
}

.sec06 .content02 h3 sup span {
    -webkit-transform: translateY(-.5em);
    transform: translateY(-.5em)
}

.sec06 .content02 .f-l span.black {
    color: inherit;
    font-size: inherit;
    font-weight: 900
}

.sec06 .content02 .flex {
    margin-bottom: 29px
}

.sec06 .content02 .flex img {
    margin-left: -12.5px;
    width: 389.5px
}

.sec06 .content02 .flex .balloon p {
    font-size: 25.45px;
    font-weight: 600;
    letter-spacing: -.06em;
    line-height: 1.8664047151;
    text-align: center
}

.sec06 .content02 .flex .balloon p span {
    line-height: 1.2946469422
}

.sec06 .content02 .flex .balloon p .small {
    font-size: 20.5px
}

.sec06 .content02 .flex .balloon p .letter-spacing {
    letter-spacing: -.2em
}

.sec07 {
    background: #fff;
    padding-bottom: 45px
}

.sec07 .content {
    padding: 0 25px
}

.sec07 .f-s {
    color: #006c94;
    font-size: 22.5px;
    letter-spacing: .04em;
    margin: 43px 0 31px;
    text-align: center
}

.sec07 .f-s span {
    color: inherit;
    font-weight: 700;
    position: relative
}

.sec07 .f-s span:before {
    content: "・";
    left: 50%;
    position: absolute;
    top: -1em;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

.sec07 .f-m {
    font-size: 28.5px;
    margin-bottom: -8px;
    text-align: center
}

.sec07 .f-m,
.sec07 .f-m * {
    color: #67b9bc;
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 600
}

.sec07 .f-m .large {
    font-size: 37px
}

.sec07 .f-m .blue {
    color: #006c94;
    font-size: 39px
}

.sec07 .text {
    margin-top: 36.5px
}

.sec07 .f-l {
    color: #000;
    font-size: 44.52px;
    letter-spacing: -.06em;
    margin-bottom: 29.5px;
    text-align: center
}

.sec07 .f-l,
.sec07 .f-l * {
    font-family: "Noto Serif JP", sans-serif;
    font-weight: 600
}

.sec07 .f-l .small {
    font-size: 30.44px
}

.sec07 .f-l .blue {
    color: #006c94;
    font-size: 44.52px
}

.sec07 .f-l .blue span {
    color: inherit;
    font-size: 58.4px
}

.sec07 .f-l sup,
.sec07 .f-l sup span {
    color: inherit
}

.sec07 .f-l .border {
    position: relative
}

.sec07 .f-l .border:after {
    background: #bae4f0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    right: 0;
    top: 90%;
    width: 100%
}

.sec07 ul {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    gap: 19px 22px;
    justify-content: space-between
}

.sec07 ul li {
    width: 314px
}

.sec07 ul+.text {
    margin-top: 12.5px
}

.sec08 {
    background: #f2fcff;
    padding: 52.5px 0 0
}

.sec08 .more {
    font-size: 25px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.2292;
    margin-bottom: 54px;
    text-align: center
}

.sec08 .content {
    padding: 0 25px
}

.sec08 .content h3 {
    background: #1b6f97;
    background: -webkit-gradient(linear, left top, right top, from(#1b6f97), to(#4e7c9d));
    background: linear-gradient(90deg, #1b6f97, #4e7c9d);
    border-radius: 59px;
    color: #fff;
    font-size: 30px;
    letter-spacing: .1em;
    line-height: 1;
    margin: 0 auto 32px;
    padding: 14px 0;
    text-align: center;
    width: 376.5px
}

.sec08 .content .f-l {
    font-size: 35.97px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.2889593238;
    margin-bottom: 33.5px;
    text-align: center
}

.sec08 .content .f-l span {
    color: #006c94;
    font-size: 56.79px;
    font-weight: 700;
    letter-spacing: .1em
}

.sec08 .content .text {
    font-size: 22.5px;
    letter-spacing: .1em;
    line-height: 1.5333333333;
    margin: 39px 0 54px
}

.sec08 .content .text+img {
    margin: 0 auto;
    width: 538px
}

.sec08 .content02 {
    margin-top: 111.5px;
    padding-bottom: 99px
}

.sec08 .content02 .text {
    margin-bottom: 0
}

.sec08 .tips {
    background: #eaeaea;
    padding: 47.5px 25px 67.5px
}

.sec08 .tips .tips_inner {
    background: #fff;
    padding: 48.5px 30px 67.5px;
    position: relative
}

.sec08 .tips .tips_inner .en {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #1b6f97;
    background: -webkit-gradient(linear, left top, right top, from(#1b6f97), to(#4e7c9d));
    background: linear-gradient(90deg, #1b6f97, #4e7c9d);
    border-radius: 50%;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-size: 35.97px;
    font-weight: 500;
    height: 141px;
    justify-content: center;
    left: -7px;
    position: absolute;
    top: -30.5px;
    width: 141px
}

.sec08 .tips .tips_inner h3 {
    font-family: Noto Sans JP, sans-serif;
    font-size: 35.97px;
    font-weight: 600;
    letter-spacing: .1em;
    margin-bottom: 39.5px;
    text-align: center
}

.sec08 .tips .tips_inner li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: 50% no-repeat url(../img/sec08_li_bg.png);
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: column nowrap;
    flex-flow: column nowrap;
    gap: 25px;
    height: 250.5px;
    justify-content: center;
    width: 590px
}

.sec08 .tips .tips_inner li+li {
    margin-top: 19px
}

.sec08 .tips .tips_inner li .f-l {
    color: #006c94;
    font-family: Noto Sans JP, sans-serif;
    font-size: 35.97px;
    font-weight: 600
}

.sec08 .tips .tips_inner li .f-l span {
    color: inherit;
    font-family: Noto Sans JP, sans-serif;
    font-size: 40.5px;
    font-weight: 600
}

.sec08 .tips .tips_inner li .f-m {
    font-size: 24px;
    font-weight: 600;
    text-align: center
}

.sec08 .tips .tips_inner .note {
    color: #ef4b3a;
    font-size: 15px;
    margin: 55px 0 33px
}

.sec08 .tips .tips_inner .text {
    font-size: 21.5px;
    line-height: 1.6046511628
}

.sec09 {
    background: #fff
}

.sec09 .faq {
    padding: 98.5px 50px 70px
}

.sec09 .faq h2 {
    color: #167070;
    font-family: Noto Sans JP, sans-serif;
    font-size: 30px;
    font-weight: 600;
    margin-bottom: 75px;
    position: relative;
    text-align: center
}

.sec09 .faq h2:after,
.sec09 .faq h2:before {
    content: "";
    height: 3.5px;
    left: 50%;
    position: absolute;
    top: -54px;
    width: 162.5px
}

.sec09 .faq h2:before {
    background: #4699a9;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%)
}

.sec09 .faq h2:after {
    background: #a2ccd5
}

.sec09 .faq li+li {
    margin-top: 13.5px
}

.sec09 .faq details summary {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #eef6f7;
    color: #167070;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-family: Noto Sans JP, sans-serif;
    font-size: 24px;
    font-weight: 600;
    justify-content: flex-start;
    line-height: 1.3125;
    list-style: none;
    padding: 16.25px 18.5px;
    position: relative
}

.sec09 .faq details summary::marker {
    content: ""
}

.sec09 .faq details summary::-webkit-details-marker {
    display: none
}

.sec09 .faq details summary:before {
    color: #59a4b2;
    content: "Q";
    font-family: montserrat, sans-serif;
    font-size: 35px;
    font-weight: 500;
    margin-right: 15px
}

.sec09 .faq details summary:after {
    background: 50% no-repeat url(../img/sec09_icon.png);
    background-size: cover;
    content: "";
    display: block;
    height: 11.5px;
    position: absolute;
    right: 19.5px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    width: 19px
}

.sec09 .faq details div {
    padding: 28px 0 40px
}

.sec09 .faq details div .text {
    color: #167070;
    font-family: Noto Sans JP, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.4
}

.sec09 .faq details div .text+img {
    margin-top: 22px
}

.sec09 .faq details div .text+a {
    display: block;
    margin-top: 16.5px
}

.sec09 .faq details div .note {
    color: #167070;
    font-family: Noto Sans JP, sans-serif;
    font-size: 13px;
    font-weight: 300;
    line-height: 1.4615384615;
    margin-top: 22px
}

.sec09 .faq details[open] summary:after {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.sec09 .pay_back .banner {
    margin-bottom: 22px;
    position: relative
}

.sec09 .pay_back .banner .left {
    left: 60px;
    position: absolute;
    top: 38.5px;
    width: 307.5px
}

.sec09 .pay_back .banner .left img:first-of-type {
    margin-bottom: 33.5px
}

.sec09 .pay_back .banner .left img:nth-of-type(2) {
    margin-bottom: 26px
}

.sec09 .pay_back .banner .right {
    bottom: 11px;
    color: #003660;
    font-size: 15.5px;
    font-weight: 500;
    line-height: 1;
    position: absolute;
    right: 18px
}

.sec09 .pay_back details {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0 auto 30px;
    max-width: 650px
}

.sec09 .pay_back details summary {
    background: #003660;
    color: #fff;
    font-size: 14.42px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1;
    list-style: none;
    padding: 11px 14.5px 12px;
    position: relative
}

.sec09 .pay_back details summary::marker {
    content: ""
}

.sec09 .pay_back details summary::-webkit-details-marker {
    display: none
}

/* .sec09 .pay_back details summary:after {
    background: 50% no-repeat url(../img/sec02_icon01.png);
    background-size: cover;
    content: "";
    display: block;
    height: 11.5px;
    position: absolute;
    right: 19.5px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    width: 19px
} */

.sec09 .pay_back details p {
    padding-top: 13.5px
}

.sec09 .pay_back details[open] summary:after {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.sec09 .pay_back .note {
    background: #e9edf0;
    font-size: 19.04px;
    letter-spacing: .02em;
    margin: 0 auto 56.5px;
    max-width: 650px;
    padding: 7.635px 0;
    text-align: center
}

.sec09 .pay_back .note,
.sec09 .pay_back .note span {
    font-family: Noto Sans JP, sans-serif;
    font-weight: 600
}

.sec09 .pay_back .note span {
    color: #468f9f;
    font-size: 27.73px
}

.sec09 .safety_notes {
    padding-bottom: 56.5px
}

.sec09 .safety_notes details {
    margin: 0 auto;
    max-width: 600px
}

.sec09 .safety_notes details summary {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #b5884a;
    border-radius: 5px;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-filter: drop-shadow(0 9px 0 rgba(181, 136, 74, .15));
    filter: drop-shadow(0 9px 0 rgba(181, 136, 74, .15));
    -ms-flex-flow: row nowrap;
    flex-flow: row nowrap;
    font-family: Noto Sans JP, sans-serif;
    font-size: 24px;
    font-weight: 600;
    height: 90px;
    justify-content: center;
    list-style: none;
    max-width: 600px;
    position: relative
}

.sec09 .safety_notes details summary::marker {
    content: ""
}

.sec09 .safety_notes details summary::-webkit-details-marker {
    display: none
}

.sec09 .safety_notes details summary:after {
    background: 50% no-repeat url(../img/sec02_icon01.png);
    background-size: cover;
    content: "";
    display: block;
    height: 11.5px;
    position: absolute;
    right: 19.5px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
    -webkit-transition: -webkit-transform .3s;
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s;
    width: 19px
}

.sec09 .safety_notes details[open] summary {
    margin-bottom: 46.5px
}

.sec09 .safety_notes details[open] summary:after {
    -webkit-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg)
}

.sec09 .safety_notes details dl {
    border-bottom: 1px solid #cde3e8;
    margin-bottom: 27.5px;
    padding-bottom: 50.5px
}

.sec09 .safety_notes details dl>div+div {
    margin-top: 55px
}

.sec09 .safety_notes details dl dt {
    border-bottom: 1px solid #cde3e8;
    border-top: 1px solid #cde3e8;
    color: #167070;
    font-family: Noto Sans JP, sans-serif;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 27px;
    padding: 17.3px 13px
}

.sec09 .safety_notes details dl dd,
.sec09 .safety_notes details dl+p {
    color: #167070;
    font-size: 20px;
    letter-spacing: .02em;
    line-height: 1.5
}

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

    .is-sp {
        display: block
    }

    .in-view {
        -webkit-transform: translateY(6.6666666667vw);
        transform: translateY(6.6666666667vw)
    }

    main {
        font-size: 2vw
    }

    .inner {
        max-width: 100vw
    }

    .fv .left_top {
        left: 3.2vw;
        top: 3.6666666667vw
    }

    .fv .left_top .logo {
        margin-bottom: 4.4vw;
        width: 14.8666666667vw
    }

    .fv .left_top .copy {
        font-size: 6.862vw
    }

    .fv .left_top .copy span {
        font-size: 5.764vw
    }

    .fv .left_top .copy sup {
        font-size: 2.9273333333vw
    }

    .fv .icon {
        right: 1.2vw;
        top: 74.9333333333vw;
        width: 25.6vw
    }

    .fv .text {
        padding: 0 3.3333333333vw
    }

    .fv .text_box01 {
        bottom: 7.4vw
    }

    .fv .text_box01 .name {
        border-bottom: .1333333333vw solid #fff;
        font-size: 6.6666666667vw;
        margin: 0 auto 6.8666666667vw;
        padding-bottom: .6vw
    }

    .fv .text_box02 {
        padding: 7.3333333333vw 0 6.7333333333vw
    }

    .fv .text_box02 .f_m {
        font-size: 3.7333333333vw;
        margin: 0 auto 2.2666666667vw
    }

    .fv .text_box02 .f_l {
        border-bottom: .1333333333vw solid #030000;
        font-size: 4.6vw;
        margin: 0 auto 2.8666666667vw;
        padding-bottom: 1vw
    }

    .fv .text_box02 .f_l span {
        font-size: 3.9333333333vw
    }

    .fv .text_box02 .f_xl {
        font-size: 8.0786666667vw;
        margin: 0 auto 5.1333333333vw
    }

    .fv .text_box02 .f_xl sup {
        font-size: 1.6726666667vw
    }

    .sec01 {
        padding: 8.1333333333vw 0 9.2666666667vw
    }

    .sec01 .product {
        border-radius: 2.3333333333vw;
        max-width: 86.6666666667vw;
        padding: 3.6666666667vw 6.6666666667vw 4.4666666667vw 7.4vw
    }

    .sec01 .product .flex .right {
        width: 45.9333333333vw
    }

    .sec01 .product .flex .right .point {
        gap: 1vw;
        margin-bottom: 4.4666666667vw
    }

    .sec01 .product .flex .right .point span {
        font-size: 2.768vw;
        padding: .9333333333vw 1.0666666667vw
    }

    .sec01 .product .flex .right .point span sup {
        font-size: 2vw;
        -webkit-transform: translateY(-.4666666667vw);
        transform: translateY(-.4666666667vw)
    }

    .sec01 .product .flex .right .point img {
        width: 1.904vw
    }

    .sec01 .product .flex .right .en {
        font-size: 2.422vw;
        margin-bottom: 2.2vw
    }

    .sec01 .product .flex .right .jp {
        font-size: 4.5673333333vw;
        margin-bottom: 2.4666666667vw
    }

    .sec01 .product .flex .right .price {
        margin-bottom: 2.4666666667vw
    }

    .sec01 .product .flex .right .price img {
        margin: 0 1vw 0 -1.0666666667vw;
        width: 2.2666666667vw
    }

    .sec01 .product .flex .right .price .price01 {
        font-size: 3.014vw
    }

    .sec01 .product .flex .right .price .price01:after {
        height: .1333333333vw
    }

    .sec01 .product .flex .right .price .price01>span {
        font-size: 2.1006666667vw
    }

    .sec01 .product .flex .right .price .price02 {
        font-size: 3.9713333333vw
    }

    .sec01 .product .flex .right .price .price02>span {
        font-size: 2.768vw
    }

    .sec01 .product .flex .right .balloon {
        font-size: 2.1453333333vw;
        height: 5.0666666667vw;
        margin-bottom: 1.0666666667vw;
        padding-bottom: 1.8666666667vw;
        width: 45.9293333333vw
    }

    .sec01 .product .flex .right .balloon span:first-of-type {
        font-size: 2.7333333333vw
    }

    .sec01 .product .flex .right .balloon span:nth-of-type(2) {
        font-size: 2.0666666667vw
    }

    .sec01 .product .flex .right .balloon span:nth-of-type(3) {
        font-size: 2.7333333333vw
    }

    .sec01 .product .flex .right .balloon span:nth-of-type(4) {
        font-size: 2vw
    }

    .sec01 .product .flex .right .balloon sup {
        font-size: 1.7393333333vw
    }

    .sec01 .product .flex .right .product_btn {
        margin-bottom: 2.6vw
    }

    .sec01 .product .flex .right .product_btn_rakuten {
        border: .1333333333vw solid #01a2c8;
        font-size: 2.5606666667vw;
        gap: 1.6vw;
        height: 6.8526666667vw
    }

    .sec01 .product .flex .right .product_btn_rakuten:after {
        height: 2.1333333333vw;
        width: 2.7333333333vw
    }

    .sec01 .product .text {
        margin: 1.6666666667vw auto 0;
        max-width: 71.3333333333vw
    }

    .sec01 .product01 {
        margin-bottom: 4.7333333333vw
    }

    .sec01 .product01 .product_img {
        margin-top: 2.2vw;
        width: 20.7333333333vw
    }

    .sec01 .product02 .product_img {
        margin-top: 2.2vw;
        width: 23vw
    }

    .sec01 .product02 .flex .right .point img {
        width: 1.904vw
    }

    .sec01 .product02 .flex .right .jp {
        margin-bottom: 4.6666666667vw
    }

    .sec01 .product02 .flex .right .price {
        margin-bottom: 4.8vw
    }

    .sec01 .product02 .flex .right .product_btn_rakuten {
        border: .1333333333vw solid #b5884a
    }

    .sec02 {
        padding: 0 3.3333333333vw 9.2666666667vw
    }

    .sec02 .ttl {
        font-size: 4.118vw;
        padding: 3.4vw 0
    }

    .sec02 .banner {
        margin-bottom: 2.9333333333vw
    }

    .sec02 .banner .left {
        left: 8vw;
        top: 5.1333333333vw;
        width: 41vw
    }

    .sec02 .banner .left img:first-of-type {
        margin-bottom: 4.4666666667vw
    }

    .sec02 .banner .left img:nth-of-type(2) {
        margin-bottom: 3.4666666667vw
    }

    .sec02 .banner .right {
        bottom: 1.4666666667vw;
        font-size: 2.0666666667vw;
        right: 2.4vw
    }

    .sec02 details {
        margin-bottom: 10vw
    }

    .sec02 details summary {
        font-size: 1.9226666667vw;
        padding: 1.4666666667vw 1.9333333333vw 1.6vw
    }

    .sec02 details summary:after {
        height: 1.5333333333vw;
        right: 2.6vw;
        width: 2.5333333333vw
    }

    .sec02 details p {
        padding-top: 1.8vw
    }

    .sec02 .ttl02 {
        font-size: 3.4666666667vw;
        margin-bottom: 6.9333333333vw;
        padding: 2.1vw 0
    }

    .sec02 .ttl02+.flex div {
        border-radius: 2.5333333333vw;
        height: 26.5626666667vw;
        padding: 7.3333333333vw 2.1333333333vw 0;
        width: 26.6666666667vw
    }

    .sec02 .ttl02+.flex div .num {
        font-size: 4.818vw;
        height: 7.976vw;
        width: 7.976vw
    }

    .sec02 .ttl02+.flex div p {
        font-size: 3.2vw
    }

    .sec02 .ttl02+.flex div p img {
        margin: 1.9333333333vw auto 0;
        width: 8vw
    }

    .sec02 .ttl02+.flex div p span {
        font-size: 2.5333333333vw
    }

    .sec03 .banner .text {
        bottom: 7.4vw
    }

    .sec03 .text {
        font-size: 2vw;
        padding: 0 3.3333333333vw
    }

    .sec03 .content {
        padding-bottom: 4vw
    }

    .sec03 .content .flex {
        padding: 6.6666666667vw 3.3333333333vw 4vw
    }

    .sec03 .content .flex p {
        font-size: 3.6166666667vw
    }

    .sec03 .content .flex p sup {
        font-size: 2.2666666667vw
    }

    .sec03 .content .flex img {
        width: 25.6666666667vw
    }

    .sec03 .content .flex img:first-of-type {
        -webkit-transform: translateX(-.6666666667vw);
        transform: translateX(-.6666666667vw)
    }

    .sec04,
    .sec05,
    .sec06 {
        padding-bottom: 11.3333333333vw
    }

    .sec04 .sec_fv .flex01,
    .sec05 .sec_fv .flex01,
    .sec06 .sec_fv .flex01 {
        margin-bottom: 3.0666666667vw
    }

    .sec04 .sec_fv .flex01 .left,
    .sec05 .sec_fv .flex01 .left,
    .sec06 .sec_fv .flex01 .left {
        padding: 6.4666666667vw 0 0 6.8666666667vw
    }

    .sec04 .sec_fv .flex01 .left h2,
    .sec05 .sec_fv .flex01 .left h2,
    .sec06 .sec_fv .flex01 .left h2 {
        font-size: 3.5373333333vw;
        margin-bottom: 8.3333333333vw
    }

    .sec04 .sec_fv .flex01 .left .f-m,
    .sec05 .sec_fv .flex01 .left .f-m,
    .sec06 .sec_fv .flex01 .left .f-m {
        font-size: 3.3333333333vw;
        margin-bottom: 3.8vw
    }

    .sec04 .sec_fv .flex01 .left .f-m span,
    .sec05 .sec_fv .flex01 .left .f-m span,
    .sec06 .sec_fv .flex01 .left .f-m span {
        font-size: 2.6666666667vw
    }

    .sec04 .sec_fv .flex01 .left .f-l,
    .sec05 .sec_fv .flex01 .left .f-l,
    .sec06 .sec_fv .flex01 .left .f-l {
        font-size: 3.3333333333vw;
        gap: 1.3333333333vw
    }

    .sec04 .sec_fv .flex01 .left .f-l span:first-of-type,
    .sec05 .sec_fv .flex01 .left .f-l span:first-of-type,
    .sec06 .sec_fv .flex01 .left .f-l span:first-of-type {
        font-size: 16.6666666667vw
    }

    .sec04 .sec_fv .flex01 .left .f-l span:nth-of-type(2),
    .sec05 .sec_fv .flex01 .left .f-l span:nth-of-type(2),
    .sec06 .sec_fv .flex01 .left .f-l span:nth-of-type(2) {
        font-size: 6.3333333333vw
    }

    .sec04 .sec_fv .flex01 img,
    .sec05 .sec_fv .flex01 img,
    .sec06 .sec_fv .flex01 img {
        max-width: 52.6vw
    }

    .sec04 .sec_fv .content_list,
    .sec05 .sec_fv .content_list,
    .sec06 .sec_fv .content_list {
        border-bottom: 1.4666666667vw solid #01a2c8;
        gap: 1.4666666667vw
    }

    .sec04 .sec_fv .content_list li,
    .sec05 .sec_fv .content_list li,
    .sec06 .sec_fv .content_list li {
        border-radius: 2.8vw 2.8vw 0 0;
        padding: 2.0666666667vw 1.1333333333vw 1.6666666667vw;
        width: 27.9333333333vw
    }

    .sec04 .sec_fv .content_list li .num,
    .sec05 .sec_fv .content_list li .num,
    .sec06 .sec_fv .content_list li .num {
        font-size: 4.1333333333vw
    }

    .sec04 .sec_fv .content_list li .jp,
    .sec05 .sec_fv .content_list li .jp,
    .sec06 .sec_fv .content_list li .jp {
        font-size: 4.032vw;
        margin: 2.8vw 0 2vw
    }

    .sec04 .sec_fv .content_list li .jp sup,
    .sec05 .sec_fv .content_list li .jp sup,
    .sec06 .sec_fv .content_list li .jp sup {
        font-size: 2.3333333333vw
    }

    .sec04 .sec_fv .content_list li .en,
    .sec05 .sec_fv .content_list li .en,
    .sec06 .sec_fv .content_list li .en {
        font-size: 1.4666666667vw
    }

    .sec04 .content,
    .sec05 .content,
    .sec06 .content {
        padding: 0 3.3333333333vw
    }

    .sec04 .content h3,
    .sec05 .content h3,
    .sec06 .content h3 {
        border-radius: 3.9333333333vw;
        font-size: 4vw;
        margin-bottom: 4.6vw;
        padding: 1.9333333333vw 0 2vw
    }

    .sec04 .content h3:before,
    .sec05 .content h3:before,
    .sec06 .content h3:before {
        height: 3.6vw;
        margin-right: 2.2666666667vw;
        -webkit-transform: translateY(.2666666667vw);
        transform: translateY(.2666666667vw);
        width: 3.6vw
    }

    .sec04 .content .f-l,
    .sec05 .content .f-l,
    .sec06 .content .f-l {
        font-size: 3.8vw;
        margin-bottom: 4.8vw
    }

    .sec04 .content .f-l span,
    .sec05 .content .f-l span,
    .sec06 .content .f-l span {
        font-size: 5.4vw
    }

    .sec04 .content .f-l span span,
    .sec05 .content .f-l span span,
    .sec06 .content .f-l span span {
        font-size: 4.7333333333vw
    }

    .sec04 .content .f-l sup,
    .sec05 .content .f-l sup,
    .sec06 .content .f-l sup {
        font-size: 2.6666666667vw
    }

    .sec04 .content .f-s,
    .sec05 .content .f-s,
    .sec06 .content .f-s {
        font-size: 2.8vw;
        margin-bottom: 6.0666666667vw
    }

    .sec04 .content .flex img,
    .sec05 .content .flex img,
    .sec06 .content .flex img {
        width: 48.3333333333vw
    }

    .sec04 .content .flex .balloon,
    .sec05 .content .flex .balloon,
    .sec06 .content .flex .balloon {
        height: 32vw;
        padding-left: 3.8vw;
        width: 36vw
    }

    .sec04 .content .flex .balloon p,
    .sec05 .content .flex .balloon p,
    .sec06 .content .flex .balloon p {
        font-size: 4.3713333333vw
    }

    .sec04 .content .flex .balloon p .small,
    .sec05 .content .flex .balloon p .small,
    .sec06 .content .flex .balloon p .small {
        font-size: 2.8666666667vw
    }

    .sec04 .content .flex .balloon p .border:after,
    .sec05 .content .flex .balloon p .border:after,
    .sec06 .content .flex .balloon p .border:after {
        border-bottom: .2373333333vw solid #bae4f0;
        border-top: .2373333333vw solid #bae4f0;
        height: .5333333333vw
    }

    .sec04 .content .sub_ttl,
    .sec05 .content .sub_ttl,
    .sec06 .content .sub_ttl {
        font-size: 4vw;
        margin: 8.8666666667vw 0 2.9333333333vw;
        padding: 1.6666666667vw 0
    }

    .sec04 .content .sub_ttl sup,
    .sec05 .content .sub_ttl sup,
    .sec06 .content .sub_ttl sup {
        font-size: 2vw
    }

    .sec04 .content .full_img,
    .sec05 .content .full_img,
    .sec06 .content .full_img {
        margin-bottom: 3.3333333333vw
    }

    .sec04 .sec_fv .fv02 .left {
        left: 7.0666666667vw;
        top: 8.5333333333vw
    }

    .sec04 .sec_fv .fv02 .left .f-l {
        font-size: 5.0753333333vw
    }

    .sec04 .sec_fv .fv02 .left .f-l span:first-of-type,
    .sec04 .sec_fv .fv02 .left .f-l span:nth-of-type(3) {
        font-size: 4.28vw
    }

    .sec04 .sec_fv .fv02 .left .f-m {
        font-size: 2.5333333333vw
    }

    .sec04 .content01 {
        padding-top: 10.2666666667vw
    }

    .sec04 .content02 {
        padding-top: 11.8666666667vw
    }

    .sec04 .content02 .text {
        margin-top: 3.3333333333vw
    }

    .sec04 .content03 {
        padding-top: 12.3333333333vw
    }

    .sec04 .content03 .text {
        margin: 6.1333333333vw 0 6.9333333333vw
    }

    .sec05 .sec_fv .content_list,
    .sec06 .sec_fv .content_list {
        padding-top: 2.8vw
    }

    .sec05 .sec_fv .f-l,
    .sec06 .sec_fv .f-l {
        font-size: 3.8vw;
        padding: 7.6666666667vw 0 2.6666666667vw
    }

    .sec05 .sec_fv .f-l span,
    .sec06 .sec_fv .f-l span {
        font-size: 5.4vw
    }

    .sec05 .sec_fv .f-l span span:not(.black),
    .sec06 .sec_fv .f-l span span:not(.black) {
        font-size: 4.7333333333vw
    }

    .sec05 .sec_fv .f-l sup,
    .sec06 .sec_fv .f-l sup {
        font-size: 2.6666666667vw
    }

    .sec05 .content01 {
        padding-top: 11.8vw
    }

    .sec05 .content01 .f-l span span {
        font-size: 6.7333333333vw
    }

    .sec05 .content02 {
        padding-top: 13.0666666667vw
    }

    .sec06 {
        padding-bottom: 8.6666666667vw
    }

    .sec06 .sec_fv .fv02 {
        padding: 7.6666666667vw 3.3333333333vw 0
    }

    .sec06 .sec_fv .f-l {
        padding: 4.8vw 0 0
    }

    .sec06 .sec_fv .f-l span span {
        font-size: 6.7333333333vw
    }

    .sec06 .content01 {
        padding-top: 10.6vw
    }

    .sec06 .content01 h3 span {
        font-size: 3.3333333333vw
    }

    .sec06 .content01 .img_wrapper {
        margin-bottom: 2.6666666667vw;
        padding: 2.6666666667vw 3.3333333333vw 5.9333333333vw
    }

    .sec06 .content01 .img_wrapper .flex img {
        width: 25.3333333333vw
    }

    .sec06 .content02 {
        padding-top: 9vw
    }

    .sec06 .content02 .flex {
        margin-bottom: 3.8666666667vw
    }

    .sec06 .content02 .flex img {
        margin-left: -1.6666666667vw;
        width: 51.9333333333vw
    }

    .sec06 .content02 .flex .balloon p {
        font-size: 3.3933333333vw
    }

    .sec06 .content02 .flex .balloon p .small {
        font-size: 2.7333333333vw
    }

    .sec07 {
        padding-bottom: 6vw
    }

    .sec07 .content {
        padding: 0 3.3333333333vw
    }

    .sec07 .f-s {
        font-size: 3vw;
        margin: 5.7333333333vw 0 4.1333333333vw
    }

    .sec07 .f-m {
        font-size: 3.8vw;
        margin-bottom: -1.0666666667vw
    }

    .sec07 .f-m .large {
        font-size: 4.9333333333vw
    }

    .sec07 .f-m .blue {
        font-size: 5.2vw
    }

    .sec07 .text {
        margin-top: 4.8666666667vw
    }

    .sec07 .f-l {
        font-size: 5.936vw;
        margin-bottom: 3.9333333333vw
    }

    .sec07 .f-l .small {
        font-size: 4.0586666667vw
    }

    .sec07 .f-l .blue {
        font-size: 5.936vw
    }

    .sec07 .f-l .blue span {
        font-size: 7.7866666667vw
    }

    .sec07 .f-l .border:after {
        height: .1333333333vw
    }

    .sec07 ul {
        gap: 2.5333333333vw 2.9333333333vw
    }

    .sec07 ul li {
        width: 41.8666666667vw
    }

    .sec07 ul+.text {
        margin-top: 1.6666666667vw
    }

    .sec08 {
        padding: 7vw 0 0
    }

    .sec08 .more {
        font-size: 3.3333333333vw;
        margin-bottom: 7.2vw
    }

    .sec08 .content {
        padding: 0 3.3333333333vw
    }

    .sec08 .content h3 {
        border-radius: 7.8666666667vw;
        font-size: 4vw;
        margin: 0 auto 4.2666666667vw;
        padding: 1.8666666667vw 0;
        width: 50.2vw
    }

    .sec08 .content .f-l {
        font-size: 4.796vw;
        margin-bottom: 4.4666666667vw
    }

    .sec08 .content .f-l span {
        font-size: 7.572vw
    }

    .sec08 .content .text {
        font-size: 3vw;
        margin: 5.2vw 0 7.2vw
    }

    .sec08 .content .text+img {
        width: 71.7333333333vw
    }

    .sec08 .content02 {
        margin-top: 14.8666666667vw;
        padding-bottom: 13.2vw
    }

    .sec08 .tips {
        padding: 6.3333333333vw 3.3333333333vw 9vw
    }

    .sec08 .tips .tips_inner {
        padding: 6.4666666667vw 4vw 9vw
    }

    .sec08 .tips .tips_inner .en {
        font-size: 4.796vw;
        height: 18.8vw;
        left: -.9333333333vw;
        top: -4.0666666667vw;
        width: 18.8vw
    }

    .sec08 .tips .tips_inner h3 {
        font-size: 4.796vw;
        margin-bottom: 5.2666666667vw
    }

    .sec08 .tips .tips_inner li {
        gap: 3.3333333333vw;
        height: 33.4vw;
        width: 78.6666666667vw
    }

    .sec08 .tips .tips_inner li+li {
        margin-top: 2.5333333333vw
    }

    .sec08 .tips .tips_inner li .f-l {
        font-size: 4.796vw
    }

    .sec08 .tips .tips_inner li .f-l span {
        font-size: 5.4vw
    }

    .sec08 .tips .tips_inner li .f-m {
        font-size: 3.2vw
    }

    .sec08 .tips .tips_inner .note {
        font-size: 2vw;
        margin: 7.3333333333vw 0 4.4vw
    }

    .sec08 .tips .tips_inner .text {
        font-size: 2.8666666667vw
    }

    .sec09 .faq {
        padding: 13.1333333333vw 6.6666666667vw 9.3333333333vw
    }

    .sec09 .faq h2 {
        font-size: 4vw;
        margin-bottom: 10vw
    }

    .sec09 .faq h2:after,
    .sec09 .faq h2:before {
        height: .4666666667vw;
        top: -7.2vw;
        width: 21.6666666667vw
    }

    .sec09 .faq li+li {
        margin-top: 1.8vw
    }

    .sec09 .faq details summary {
        font-size: 3.2vw;
        padding: 2.1666666667vw 2.4666666667vw
    }

    .sec09 .faq details summary:before {
        font-size: 4.6666666667vw;
        margin-right: 2vw
    }

    .sec09 .faq details summary:after {
        height: 1.5333333333vw;
        right: 2.6vw;
        width: 2.5333333333vw
    }

    .sec09 .faq details div {
        padding: 3.7333333333vw 0 5.3333333333vw
    }

    .sec09 .faq details div .text {
        font-size: 2.6666666667vw
    }

    .sec09 .faq details div .text+img {
        margin-top: 2.9333333333vw
    }

    .sec09 .faq details div .text+a {
        margin-top: 2.2vw
    }

    .sec09 .faq details div .note {
        font-size: 1.7333333333vw;
        margin-top: 2.9333333333vw
    }

    .sec09 .pay_back .banner {
        margin-bottom: 2.9333333333vw
    }

    .sec09 .pay_back .banner .left {
        left: 8vw;
        top: 5.1333333333vw;
        width: 41vw
    }

    .sec09 .pay_back .banner .left img:first-of-type {
        margin-bottom: 4.4666666667vw
    }

    .sec09 .pay_back .banner .left img:nth-of-type(2) {
        margin-bottom: 3.4666666667vw
    }

    .sec09 .pay_back .banner .right {
        bottom: 1.4666666667vw;
        font-size: 2.0666666667vw;
        right: 2.4vw
    }

    .sec09 .pay_back details {
        margin: 0 auto 4vw;
        max-width: 86.6666666667vw
    }

    .sec09 .pay_back details summary {
        font-size: 1.9226666667vw;
        padding: 1.4666666667vw 1.9333333333vw 1.6vw
    }

    /* .sec09 .pay_back details summary:after {
        height: 1.5333333333vw;
        right: 2.6vw;
        width: 2.5333333333vw
    } */

    .sec09 .pay_back details p {
        padding-top: 1.8vw
    }

    .sec09 .pay_back .note {
        font-size: 2.5386666667vw;
        margin: 0 auto 7.5333333333vw;
        max-width: 86.6666666667vw;
        padding: 1.018vw 0
    }

    .sec09 .pay_back .note span {
        font-size: 3.6973333333vw
    }

    .sec09 .safety_notes {
        padding-bottom: 7.5333333333vw
    }

    .sec09 .safety_notes details {
        max-width: 80vw
    }

    .sec09 .safety_notes details summary {
        border-radius: .6666666667vw;
        -webkit-filter: drop-shadow(0 1.2vw 0 rgba(181, 136, 74, .15));
        filter: drop-shadow(0 1.2vw 0 rgba(181, 136, 74, .15));
        font-size: 3.2vw;
        height: 12vw;
        max-width: 80vw
    }

    .sec09 .safety_notes details summary:after {
        height: 1.5333333333vw;
        right: 2.6vw;
        width: 2.5333333333vw
    }

    .sec09 .safety_notes details[open] summary {
        margin-bottom: 6.2vw
    }

    .sec09 .safety_notes details dl {
        border-bottom: .1333333333vw solid #cde3e8;
        margin-bottom: 3.6666666667vw;
        padding-bottom: 6.7333333333vw
    }

    .sec09 .safety_notes details dl>div+div {
        margin-top: 7.3333333333vw
    }

    .sec09 .safety_notes details dl dt {
        border-bottom: .1333333333vw solid #cde3e8;
        border-top: .1333333333vw solid #cde3e8;
        font-size: 3.2vw;
        margin-bottom: 3.6vw;
        padding: 2.3066666667vw 1.7333333333vw
    }

    .sec09 .safety_notes details dl dd,
    .sec09 .safety_notes details dl+p {
        font-size: 2.6666666667vw
    }
}


.guide-link {
  text-align: center;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
}

a.guide-link__page {
  color: #96070b;
  font-size: 1.5rem;
  text-decoration: underline;
  text-underline-offset: 6px;
}

#guide.container {
  padding: 0px 15px 30px;
  background: #FFF;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  color: #333;
}

#guide h2 {
  font-size: min(7.7vw, 212%);
  text-align: center;
  line-height: 0.8;
  margin-bottom: 30px;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
}

#guide h2 span {
  font-size: 16px;
  letter-spacing: 2px;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
}

#guide h3 {
  font-size: min(3.6vw, 118%);
  border: 1px solid #333;
  border-radius: 5px;
  margin-top: 15px;
  padding: 5px;
  min-height: 50px;
  line-height: 1.5;
  text-align: center;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  font-weight: 500;
  box-sizing: border-box;
  position: relative;
}

#guide h3.one-line {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
}

#guide h3.link::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-48%);
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  width: 20px;
  height: 20px;
  background: url(../images/external_link-icon.png);
  background-size: cover;
}

.guide-wrap{
font-family: Noto Sans JP, sans-serif;
font-weight: 500;
}

.wrapper {
  max-width: 660px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  margin: 0 auto;
}

.col3 {
  width: 18%;
  padding: 5% 0;
}

#guide h3 a {
  color: #333;
  display: inline-block;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  text-decoration: none
}

#guide p {
  font-size: 100%;
  font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  padding: 5px 0;
}

#guide .link_underline {
    font-family: Noto Sans JP, sans-serif;
font-weight: 500;
  text-decoration: underline;
}

@media screen and (min-width: 660px) {
  #guide.container {
    padding:0px 30px 30px;
  }
  #guide h3 {
    min-height: 70px;
    margin-top: 20px;
  }
  #guide h3.link::after {
    width: 25px;
    height: 25px;
    right: 15px;
  }
} /* min-width:660px */

/* footer */
#footer {
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500;
  font-size: min(3.2vw, 94%);
  background: #fff;
  padding: 0 15px 30px;
}

#footer .footer_menu {
  padding: 10px 0;
  border-top: 2px solid #ccc;
  border-bottom: 2px solid #ccc;
  text-align: center;
}

#footer .footer_menu a {
  display: inline-block;
  padding: 3px 0;
  vertical-align: middle;
  color: #333;
}

#footer .footer_menu a:after {
  content: "";
  display: inline-block;
  margin: 0 5px 0 10px;
  width: 1px;
  height: 15px;
  background: #333;
  transform: translateY(2px);
}

#footer .footer_menu a:last-child:after {
  display: none;
}

#footer .copyright {
  font-size: 90%;
  color: #333;
}

.sec04 .content h3 sup, .sec05 .content h3 sup, .sec06 .content h3 sup{
margin: 0px;
}

iframe{
width: 100%;
height: 100%;
position: relative;
margin: 4vw 0 0;
}

@media screen and (min-width: 660px) {
  #footer {
    padding-bottom: 0;
  }
  #footer .footer_menu {
    padding: 15px 0;
  }
  .footer .footer_menu a {
    font-size: 82%;
  }
  .footer .footer_menu a:after {
    margin: 0 10px 0 15px;
    transform: none;
  }
  .footer .copyright {
    padding: 0;
    font-size: 80%;
  }
}/*# sourceMappingURL=style.css.map */