@charset "UTF-8";

/*! sanitize.css | MIT License | github.com/csstools/sanitize.css */
*,
::after,
::before {
    box-sizing: border-box
}

::after,
::before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
    margin: 0
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin: 0
}

main {
    display: block
}

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

a {
    background-color: transparent
}

b,
strong {
    font-weight: bolder
}

code {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

iframe,
img,
svg {
    vertical-align: middle
}

iframe {
    border-style: none
}

img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

[type=button],
[type=submit],
button {
    -webkit-appearance: button
}

input {
    overflow: visible
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    padding: 0
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

a,
button,
input,
label,
select,
textarea {
    touch-action: manipulation
}

*,
::after,
::before {
    padding: 0;
    margin: 0
}

* {
    font: inherit
}

:root {
    --font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", Arial, Meiryo, sans-serif;
    --line-height: 1.7;
    --index-fixed: 9999;
    --index-header: 1000;
    --base-inner: 68.75rem;
    --inner-padding: 2.5rem
}

@media screen and (max-width:576px) {
    :root {
        --inner-padding: 1rem
    }
}

html {
    min-height: 100vh;
    cursor: auto
}

body {
    font-family: var(--font-family);
    font-size: clamp(1rem, .567rem + 1.2vw, 1.313rem);
    line-height: 1;
    color: #000
}

h1,
h2,
h3,
h4 {
    padding: 0;
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1.3
}

li {
    line-height: 1.3
}

p {
    line-height: var(--line-height)
}

a,
button {
    color: inherit
}

button {
    cursor: pointer;
    background-color: transparent;
    border: none
}

img,
picture,
svg {
    display: block;
    max-width: 100%;
    height: auto
}

input,
select,
textarea {
    color: inherit;
    background-color: transparent;
    border: none;
    border-radius: 0
}

.l-wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden
}

.l-main {
    flex: 1
}

.l-main.-center {
    display: flex;
    align-items: center;
    justify-content: center
}

.l-container {
    margin-bottom: clamp(2.5rem, .981rem + 6.48vw, 5rem)
}

.l-container.-page {
    margin-bottom: clamp(3.75rem, 2.99rem + 3.24vw, 5rem)
}

.l-inner {
    max-width: calc(var(--base-inner) + var(--inner-padding) * 2);
    padding: 0 var(--inner-padding);
    margin-right: auto;
    margin-left: auto
}

.l-header {
    position: absolute;
    top: 0;
    left: 0;
    z-index: var(--index-fixed);
    width: 100%;
    background-color: rgba(0, 0, 0, .4)
}

.l-header__inner {
    padding-top: .5rem;
    padding-bottom: 1rem
}

@media screen and (max-width:576px) {
    .l-header__inner {
        padding-top: 0;
        padding-bottom: 0
    }
}

.l-header__upper {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (max-width:576px) {
    .l-header__upper {
        width: 100vw;
        padding-top: clamp(.5rem, -.433rem + 3.98vw, 1rem);
        padding-right: calc(50vw - 50%);
        padding-bottom: clamp(.5rem, -.433rem + 3.98vw, 1rem);
        padding-left: calc(50vw - 50%);
        margin-right: calc(50% - 50vw);
        margin-left: calc(50% - 50vw);
        background-color: #000
    }
}

.l-header__pc-logo {
    max-width: 30rem
}

@media screen and (max-width:576px) {
    .l-header__pc-logo {
        display: none
    }
}

.l-header__pc-right {
    display: flex;
}

@media screen and (max-width:576px) {
    .l-header__pc-right {
        display: none
    }
}

.l-header__button {
    max-width: 23.5rem;
    margin-left: 1em
}

.l-header__button>img {
    box-shadow: 5px 5px 5px rgba(0, 0, 0, .4)
}

.l-header__lower {
    margin-top: 1rem
}

@media screen and (max-width:576px) {
    .l-header__lower {
        padding-top: clamp(.5rem, -.433rem + 3.98vw, 1rem);
        padding-bottom: clamp(.5rem, -.433rem + 3.98vw, 1rem);
        margin-top: 0
    }
}

.l-header__nav {
    max-width: 90%;
    margin-right: auto;
    margin-left: auto
}

@media screen and (max-width:576px) {
    .l-header__nav {
        display: none
    }
}

.l-header__list {
    display: flex;
    gap: clamp(.5rem, .196rem + 1.3vw, 1rem);
    justify-content: space-between
}

.l-header__item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.l-header__item::after {
    width: 16px;
    aspect-ratio: 2/1;
    margin-top: .5em;
    content: "";
    background-image: url(../image/img_header-link-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.l-header__link {
    font-size: clamp(.875rem, .269rem + 1.68vw, 1.313rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-decoration: none;
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, .9))
}

.l-header__link>span {
    display: inline-block
}

.l-header__sp-logo {
    max-width: 80%;
    margin-right: auto;
    margin-left: auto
}

@media not screen and (max-width:576px) {
    .l-header__sp-logo {
        display: none
    }
}

.l-header__sp-text {
    flex-grow: 1;
    margin-right: .5em;
    white-space: nowrap;
}

@media not screen and (max-width:576px) {
    .l-header__sp-text {
        display: none
    }
}

.l-header__sp-text>p {
    font-size: clamp(.875rem, -.291rem + 4.98vw, 1.5rem);
    font-weight: 700;
    line-height: 1.2;
    color: #fff;
    text-align: center
}

.l-header__sp-text>p>span {
    font-size: 1.4em
}

.l-header__sp-right {
    display: flex;
}

@media not screen and (max-width: 576px) {
    .l-header__sp-right {
        display: none;
    }
}

.l-header__sp-button {
    max-width: 60%
}

.l-footer {
    padding-top: clamp(.5rem, .196rem + 1.3vw, 1rem);
    padding-bottom: clamp(.5rem, .196rem + 1.3vw, 1rem);
    text-align: center;
    background-color: #000
}

.l-footer__copyright {
    font-size: clamp(.75rem, .522rem + .97vw, 1.125rem);
    color: #fff
}

.l-pageHeader {
    padding-top: clamp(.5rem, .196rem + 1.3vw, 1rem);
    padding-bottom: clamp(.5rem, .196rem + 1.3vw, 1rem)
}

.l-pageHeader__inner {
    display: flex
}

.l-pageHeader__logo {
    max-width: 30rem;
    text-decoration: none
}

@media not screen and (max-width:768px) {
    a.c-link {
        transition: opacity .3s
    }

    a.c-link:focus-visible {
        opacity: .6
    }

    @media (hover:hover) and (pointer:fine) {
        a.c-link:hover {
            opacity: .6
        }
    }
}

a.c-textLink {
    color: #00f
}

@media not screen and (max-width:768px) {
    a.c-textLink {
        transition: opacity .3s
    }

    a.c-textLink:focus-visible {
        opacity: .6
    }

    @media (hover:hover) and (pointer:fine) {
        a.c-textLink:hover {
            opacity: .6
        }
    }
}

.l-header__login {
    display: flex;
    justify-content: end;
    align-items: end;
}

@media screen and (max-width: 576px) {
    .l-header__login {
        width: 80%;
    }
}

.l-header__login img {
    height: auto;
    width: 65%;
    transition: transform .3s;
}

.l-header__login img:focus-visible {
    transform: scale(1.1, 1.1) translateZ(0)
}

@media (hover:hover) and (pointer:fine) {
    .l-header__login img:hover {
        transform: scale(1.1, 1.1) translateZ(0)
    }
}

@media screen and (max-width:1000px) {
    .l-header__login img {
        width: 80%;
    }
}

@media screen and (max-width: 576px) {
    .l-header__login img {
        width: 90%;
        padding-right: 5px;
    }
}

.c-buttonLink {
    transition: transform .3s;
}

.c-buttonLink:focus-visible {
    transform: scale(1.1, 1.1) translateZ(0)
}

@media (hover:hover) and (pointer:fine) {
    .c-buttonLink:hover {
        transform: scale(1.1, 1.1) translateZ(0)
    }
}

.c-heading {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(1.5rem, .512rem + 4.21vw, 3.125rem);
    font-weight: 900;
    color: #fff;
    filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, .2));
    transform: skewX(-25deg)
}

@media screen and (max-width:576px) {
    .c-heading.-fc-none {
        width: auto
    }
}

.c-heading>span {
    width: 100%;
    padding: .1em 0;
    background-color: #000;
    border: solid #000;
    border-width: 0 1em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone
}

.c-heading>span .-yellow {
    color: #fbef00
}

.c-heading>span .-lg {
    font-size: 1.2em
}

@media not screen and (max-width:768px) {
    .c-heading>span .-tabOnly {
        display: none
    }
}

@media screen and (max-width:576px) {
    .c-heading>span.-margin {
        margin-left: -1em
    }
}

.c-heading>span.-long {
    border-width: 0 2em
}

@media screen and (max-width:768px) {
    .c-heading.-left {
        margin-left: 0
    }
}

.c-heading.-pc-left {
    margin-left: 2em
}

@media screen and (max-width:992px) {
    .c-heading.-pc-left {
        margin-left: auto
    }
}

@media screen and (max-width:768px) {
    .c-heading.-right {
        margin-right: 0
    }
}

@media screen and (max-width:768px) {
    .c-heading.-center {
        line-height: 1.8;
        text-align: center
    }
}

.c-heading.-fc>span {
    width: -moz-fit-content;
    width: fit-content
}

.c-floatArea {
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: var(--index-fixed);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: clamp(.5rem, .348rem + .65vw, .75rem);
    background-color: rgba(0, 0, 0, .7);
    transition: transform .3s;
    transform: translateY(100%)
}

.c-floatArea img {
    height: clamp(4.625rem, 2.498rem + 9.08vw, 8.125rem);
    -o-object-fit: contain;
    object-fit: contain
}

.c-floatArea.is-active {
    transform: translateY(0)
}

.c-floatArea.is-bottom {
    transform: translateY(100%)
}

.c-form {
    --required: #f00;
    --optional: #666;
    --input-border: 2px solid #000;
    --input-bg: #fff;
    --place-holder: w;
    --left-basis: 28%;
    --right-basis: 72%;
    --item-gap: clamp(1.5rem, 0.588rem + 3.89vw, 3rem);
    --children-gap: clamp(0.5rem, 0.12rem + 1.62vw, 1.125rem);
    --radio-size: 1.25rem;
    --radio-color: #000;
    --checkbox-size: 1.25rem;
    --checkbox-color: #000
}

.c-form.-pageStop {
    --left-basis: 32%;
    --right-basis: 68%
}

.c-form__block {
    display: flex;
    flex-direction: column;
    gap: var(--item-gap)
}

.c-form__block:not(:last-of-type) {
    padding-bottom: clamp(1.5rem, -.019rem + 6.48vw, 4rem);
    border-bottom: 1px dotted #000
}

.c-form__block+.c-form__block {
    padding-top: clamp(1.5rem, -.019rem + 6.48vw, 4rem)
}

.c-form__blockHeader {
    font-feature-settings: "palt"
}

.c-form__blockHeader>.heading {
    display: inline-flex;
    align-items: center;
    font-size: clamp(1.125rem, .897rem + .97vw, 1.5rem);
    font-weight: 700
}

.c-form__blockHeader>.heading::before {
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: .2em;
    content: "";
    background-color: #000
}

@media screen and (max-width:576px) {
    .c-form__blockHeader>.heading::before {
        content: none
    }
}

.c-form__blockHeader>.text>.-strong {
    background-color: #ff0
}

.c-form__blockFooter {
    font-feature-settings: "palt"
}

.c-form__item {
    display: flex;
    gap: clamp(.5rem, -.108rem + 2.59vw, 1.5rem);
    align-items: center
}

@media screen and (max-width:576px) {
    .c-form__item {
        flex-direction: column;
        align-items: stretch
    }
}

.c-form__item.-baseline {
    align-items: baseline
}

.c-form__heading {
    display: flex;
    flex-basis: var(--left-basis);
    flex-shrink: 0;
    gap: 1em;
    align-items: center;
    justify-content: space-between
}

@media screen and (max-width:576px) {
    .c-form__heading {
        gap: .5em;
        justify-content: stretch
    }
}

.c-form__label {
    font-weight: 700;
    line-height: 1.5
}

.c-form__label>.-cp {
    font-feature-settings: "palt"
}

.c-form__optional,
.c-form__require {
    flex-shrink: 0;
    padding: clamp(.375rem, .299rem + .32vw, .5rem);
    font-size: .75em;
    line-height: 1;
    color: #fff
}

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

    .c-form__optional,
    .c-form__require {
        font-size: .875em
    }
}

.c-form__require {
    background-color: var(--required)
}

.c-form__optional {
    background-color: var(--optional)
}

.c-form__body {
    display: flex;
    flex-basis: var(--right-basis);
    flex-direction: column;
    flex-grow: 1;
    gap: var(--children-gap)
}

.c-form__input {
    flex-grow: 1
}

.c-form__input select {
    width: 100%;
    padding: 1rem 2.5rem 1rem 1rem;
    cursor: pointer;
    background-color: var(--input-bg);
    border: var(--input-border);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-form__input input,
.c-form__input textarea {
    width: 100%;
    padding: .75rem;
    background-color: var(--input-bg);
    border: var(--input-border)
}

.c-form__input input::-moz-placeholder,
.c-form__input textarea::-moz-placeholder {
    color: var(--place-holder)
}

.c-form__input input::placeholder,
.c-form__input textarea::placeholder {
    color: var(--place-holder)
}

.c-form__input textarea {
    display: block;
    min-height: 15rem
}

.c-form__input.-price {
    position: relative;
    display: inline-flex;
    align-items: baseline;
    max-width: 19.25rem
}

.c-form__input.-price>input {
    padding-left: 2rem
}

.c-form__input.-price::before {
    position: absolute;
    top: 50%;
    left: .5em;
    font-size: 1.15em;
    font-weight: 700;
    content: "¥";
    transform: translateY(-50%)
}

@media screen and (max-width:576px) {
    .c-form__input.-price::before {
        font-size: 1.5em
    }
}

.c-form__input.-price>span {
    flex-shrink: 0;
    margin-left: .3em;
    font-weight: 700
}

@media screen and (max-width:576px) {
    .c-form__input.-price>span {
        font-size: 1.5em
    }
}

.c-form__select {
    position: relative;
    max-width: 17.5rem
}

@media screen and (max-width:576px) {
    .c-form__select {
        max-width: 14rem
    }
}

.c-form__select::before {
    position: absolute;
    top: 50%;
    right: 1em;
    z-index: 1;
    width: .7em;
    height: .5em;
    -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: "";
    background-color: #000;
    transform: translateY(-50%)
}

.c-form__radioList {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1em;
    list-style-type: none
}

.c-form__radioLabel {
    cursor: pointer
}

.c-form__radioLabel>input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.c-form__radioLabel>input:focus-visible+.icon {
    outline: -webkit-focus-ring-color auto 1px
}

.c-form__radioLabel>input:checked+.icon::after {
    background-color: var(--radio-color)
}

.c-form__radioLabel .icon {
    --size: var(--radio-size);
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    width: var(--size);
    height: var(--size);
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 100vmax
}

.c-form__radioLabel .icon::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(var(--size)/ 2);
    height: calc(var(--size)/ 2);
    content: "";
    border-radius: 100vmax;
    transform: translate(-50%, -50%)
}

.c-form__radioLabel .text {
    flex-shrink: 0;
    margin-left: .5em
}

.c-form__checkboxList {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 1em;
    list-style-type: none
}

.c-form__checkboxItem {
    --size: var(--checkbox-size);
    display: inline-flex
}

.c-form__checkboxLabel {
    display: inline-flex;
    align-items: center;
    cursor: pointer
}

.c-form__checkboxLabel>input {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important
}

.c-form__checkboxLabel>input:focus-visible+.icon {
    outline: -webkit-focus-ring-color auto 1px
}

.c-form__checkboxLabel>input:checked+.icon::after {
    border-color: var(--checkbox-color)
}

.c-form__checkboxLabel>.icon {
    position: relative;
    display: inline-block;
    flex-shrink: 0;
    width: var(--size);
    height: var(--size);
    margin-right: .5em;
    background-color: #fff;
    border: var(--input-border)
}

.c-form__checkboxLabel>.icon::after {
    position: absolute;
    top: -.35em;
    right: 0;
    bottom: 0;
    left: 0;
    width: var(--size);
    height: calc(var(--size)/ 2);
    margin: auto;
    content: "";
    border-bottom: 2px solid transparent;
    border-left: 2px solid transparent;
    transform: rotate(-45deg)
}

.c-form__file {
    max-width: 28.125rem;
    font-feature-settings: "palt"
}

.c-form__file>.fileLabel>span {
    display: block;
    padding: .75rem;
    cursor: pointer;
    background-color: #d8d8d8;
    border: var(--input-border)
}

.c-form__file>.fileLabel>input:focus-visible+span {
    outline: -webkit-focus-ring-color auto 1px
}

.c-form__file>.fileName {
    padding: .75rem;
    background-color: #fff
}

.c-form__note {
    font-feature-settings: "palt"
}

.c-form__note>p {
    line-height: 2
}

.c-form__note p+p {
    margin-top: 1em
}

.c-form__note .-strong {
    background-color: #ff0
}

.c-form__thumbnail>img {
    -o-object-fit: cover;
    object-fit: cover
}

.c-form__buttonArea {
    margin-top: clamp(2.5rem, 1.74rem + 3.24vw, 3.75rem);
    text-align: center
}

.c-form__buttonArea.-flex {
    display: flex;
    flex-direction: column;
    gap: clamp(2.5rem, 1.74rem + 3.24vw, 3.75rem);
    align-items: center
}

.c-form__buttonArea>.button {
    width: 100%;
    max-width: 24.25rem;
    padding: 1.5rem .5rem;
    font-size: 1.15em;
    font-weight: 700;
    color: #fff;
    border: 3px solid #000;
    border-radius: 100vmax;
    transition: background-color .3s, color .3s
}

.c-form__buttonArea>.button:focus-visible {
    color: #000;
    background-color: #fff
}

@media (hover:hover) and (pointer:fine) {
    .c-form__buttonArea>.button:hover {
        color: #000;
        background-color: #fff
    }
}

@media screen and (max-width:576px) {
    .c-form__buttonArea>.button {
        font-size: 1.5em;
        border-width: 2px
    }
}

.c-form__buttonArea>.confirm,
.c-form__buttonArea>.send {
    background-color: #2fa1f7
}

.c-form__buttonArea>.back {
    font-size: .8em;
    color: #333
}

.c-form__checkBlock {
    display: flex;
    flex-direction: column;
    gap: clamp(1rem, .696rem + 1.3vw, 1.5rem)
}

.c-form__checkBlock:first-of-type {
    padding-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
}

.c-form__checkBlock+.c-form__checkBlock {
    padding-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
    margin-top: clamp(1.25rem, .49rem + 3.24vw, 2.5rem);
    border-top: 1px dotted #000
}

.c-form__checkBlock>.heading {
    font-size: 1.3em;
    font-weight: 700;
    color: #2fa1f7
}

.c-form__checkItem {
    padding-left: 1em
}

.c-form__checkItem>.heading {
    font-size: .85em;
    font-weight: 700;
    line-height: 1.3
}

.c-form__checkFile {
    max-width: 22.5rem
}

.c-form__checkFile>img {
    -o-object-fit: contain;
    object-fit: contain
}

.c-breadcrumb {
    --color: #7f7f7f;
    --arrow-size: 8px;
    --font-size: clamp(0.75rem, 0.408rem + 1.46vw, 1.313rem);
    margin-top: clamp(1rem, .696rem + 1.3vw, 1.5rem);
    font-size: var(--font-size)
}

.c-breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    color: var(--color);
    list-style-type: none
}

.c-breadcrumb__item {
    display: inline-flex;
    align-items: center;
    line-height: 1.5
}

.c-breadcrumb__item:not(:last-of-type)::after {
    width: var(--arrow-size);
    height: var(--arrow-size);
    margin-right: 1em;
    margin-left: 1em;
    content: "";
    border-top: 2px solid var(--color);
    border-right: 2px solid var(--color);
    transform: rotate(45deg)
}

a[class=c-breadcrumb__link] {
    display: inline-flex;
    align-items: center;
    color: #00f;
    text-decoration: none;
    transition: opacity .3s
}

a[class=c-breadcrumb__link]:focus-visible {
    opacity: .6
}

@media (hover:hover) and (pointer:fine) {
    a[class=c-breadcrumb__link]:hover {
        opacity: .6
    }
}

.c-pageHeading {
    font-size: clamp(1.5rem, .512rem + 4.21vw, 3.125rem);
    font-style: italic;
    font-weight: 900;
    text-align: center
}

.c-pageHeading .-sm {
    font-size: .6em
}

.p-topFv {
    position: relative;
    z-index: 1;
    padding-top: 15rem;
    padding-bottom: 11.5%
}

@media screen and (max-width:992px) {
    .p-topFv {
        padding-top: clamp(11.25rem, 4.327rem + 19.23vw, 16.25rem)
    }
}

@media screen and (max-width:576px) {
    .p-topFv {
        padding-top: 52.0833333333vw
    }
}

.p-topFv__upper {
    position: relative;
    z-index: 2
}

@media screen and (max-width:768px) {
    .p-topFv__upper {
        display: flex;
        flex-direction: column
    }
}

.p-topFv__upper .upper {
    max-width: 82%
}

@media screen and (max-width:768px) {
    .p-topFv__upper .upper {
        max-width: 100%
    }
}

.p-topFv__upper .middle {
    max-width: 70%;
    margin-top: -2rem;
    margin-bottom: -1rem;
    margin-left: 1rem
}

@media screen and (max-width:1600px) {
    .p-topFv__upper .middle {
        margin-top: -2vw
    }
}

@media screen and (max-width:768px) {
    .p-topFv__upper .middle {
        align-self: center;
        width: 115%;
        max-width: none;
        margin-top: -1.5rem;
        margin-bottom: -1.5rem;
        margin-left: 0
    }
}

.p-topFv__upper .lower {
    max-width: 80%
}

@media screen and (max-width:768px) {
    .p-topFv__upper .lower {
        max-width: 54%
    }
}

.p-topFv__upper .illust {
    position: absolute;
    right: -1rem;
    bottom: 2.5rem;
    z-index: -1;
    max-width: 51%
}

@media screen and (max-width:1600px) {
    .p-topFv__upper .illust {
        bottom: 2.5vw
    }
}

@media screen and (max-width:768px) {
    .p-topFv__upper .illust {
        right: 50%;
        width: 100%;
        max-width: 95%;
        transform: translateX(50%)
    }
}

@media screen and (max-width:576px) {
    .p-topFv__upper .illust {
        bottom: 3.2vw;
        max-width: 100%;
        transform: translateX(48%)
    }
}

.p-topFv__upper .sp-text {
    max-width: 97%;
    margin-top: 2.5rem
}

@media not screen and (max-width:768px) {
    .p-topFv__upper .sp-text {
        display: none
    }
}

.p-topFv__lower {
    position: relative;
    z-index: 1;
    margin-top: -2.5rem;
    background-color: #000;
    border: 6px solid #000;
    box-shadow: 0 8px 4px rgba(0, 0, 0, .5)
}

@media screen and (max-width:1600px) {
    .p-topFv__lower {
        margin-top: -2.5vw
    }
}

@media screen and (max-width:576px) {
    .p-topFv__lower {
        margin-top: -3.4666666667vw
    }
}

.p-topFv__lower .upper {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    padding-top: .5rem;
    padding-bottom: .5rem;
    margin-left: auto
}

@media screen and (max-width:992px) {
    .p-topFv__lower .upper {
        padding-right: 1rem;
        padding-left: 1rem;
        margin-right: auto
    }
}

@media screen and (max-width:576px) {
    .p-topFv__lower .upper {
        width: 100%;
        padding-bottom: 1rem
    }
}

.p-topFv__lower .upper .heading,
.p-topFv__lower .upper .spHeading {
    font-size: clamp(1.375rem, 1.071rem + 1.3vw, 1.875rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff
}

.p-topFv__lower .upper .heading .-lg,
.p-topFv__lower .upper .spHeading .-lg {
    font-size: 1.33em
}

.p-topFv__lower .upper .heading .-yellow,
.p-topFv__lower .upper .spHeading .-yellow {
    color: #ff0
}

.p-topFv__lower .upper .heading {
    padding-right: 1.125rem;
    letter-spacing: .01em
}

@media screen and (max-width:768px) {
    .p-topFv__lower .upper .heading {
        display: none
    }
}

.p-topFv__lower .upper .spHeading {
    position: relative;
    z-index: 1;
    text-align: center
}

@media not screen and (max-width:768px) {
    .p-topFv__lower .upper .spHeading {
        display: none
    }
}

.p-topFv__lower .upper .sp-group {
    display: flex;
    align-items: center;
    margin-top: 1rem
}

@media screen and (max-width:576px) {
    .p-topFv__lower .upper .sp-group {
        display: block;
        width: -moz-fit-content;
        width: fit-content;
        max-width: 70%;
        margin-left: auto
    }
}

@media not screen and (max-width:768px) {
    .p-topFv__lower .upper .sp-group {
        display: none
    }
}

.p-topFv__lower .upper .sp-group .sp-illust {
    flex: 1 1 30%
}

@media screen and (max-width:576px) {
    .p-topFv__lower .upper .sp-group .sp-illust {
        position: absolute;
        bottom: 0;
        left: .375rem;
        height: 65%;
        aspect-ratio: 38/25
    }
}

.p-topFv__lower .upper .sp-group .sp-illust>img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-topFv__lower .upper .sp-group>p {
    position: relative;
    flex: 1 1 70%;
    font-size: clamp(1.375rem, 1.071rem + 1.3vw, 1.875rem);
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    text-align: center
}

.p-topFv__lower .upper .sp-group>p>span {
    display: inline-block
}

.p-topFv__lower .upper .sp-group>p .-lg {
    font-size: 1.33em
}

.p-topFv__lower .lower {
    padding-top: 1rem;
    padding-right: 1rem;
    padding-bottom: .5rem;
    padding-left: 1rem;
    background-color: #fff
}

@media screen and (max-width:576px) {
    .p-topFv__lower .lower {
        padding-top: 1.75rem;
        padding-right: 1.25rem;
        padding-bottom: 1.75rem;
        padding-left: 1.25rem
    }
}

.p-topFv__lower .illust {
    position: absolute;
    bottom: 0;
    left: -2.75rem;
    max-width: 20.75rem
}

.p-topFv__lower .illust img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: bottom;
    object-position: bottom
}

.p-topFv__lower-group {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    padding-left: 15rem;
    margin-left: auto
}

@media screen and (max-width:768px) {
    .p-topFv__lower-group {
        padding-left: 0
    }
}

.p-topFv__rate {
    display: flex;
    gap: clamp(1rem, .696rem + 1.3vw, 1.5rem);
    align-items: center;
    justify-content: center
}

@media screen and (max-width:992px) {
    .p-topFv__rate {
        flex-wrap: wrap
    }
}

.p-topFv__rate>p {
    position: relative;
    padding-top: .5rem;
    padding-right: clamp(.5rem, -.108rem + 2.59vw, 1.5rem);
    padding-bottom: 1.5rem;
    padding-left: clamp(.5rem, -.108rem + 2.59vw, 1.5rem);
    font-size: clamp(1.75rem, -1.25rem + 6.25vw, 2.625rem);
    font-weight: 700;
    line-height: 1;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, .2)
}

@media screen and (max-width:768px) {
    .p-topFv__rate>p {
        width: 100%;
        padding-bottom: clamp(1.125rem, .289rem + 3.57vw, 2.5rem);
        font-size: clamp(1.875rem, .735rem + 4.86vw, 3.75rem)
    }
}

.p-topFv__rate>p::after {
    position: absolute;
    bottom: .5rem;
    left: 50%;
    width: 90%;
    aspect-ratio: 94/3;
    content: "";
    background-image: url(../images/img_top-fv-border.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%)
}

@media screen and (max-width:768px) {
    .p-topFv__rate>p::after {
        bottom: .25rem;
        width: 95%
    }
}

.p-topFv__rate .-lg {
    font-size: 1.5em
}

.p-topFv__rate .-red {
    color: red
}

.p-topFv__rate .-orange {
    color: #ff9200
}

.p-topFv__note {
    margin-top: 1em;
    font-size: clamp(.688rem, .498rem + .81vw, 1rem);
    line-height: 1.3;
    text-align: center
}

@media screen and (max-width:576px) {
    .p-topFv__note {
        margin-top: 1.5em
    }
}

.p-topFv__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15vw), 0% 100%);
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 15vw), 0% 100%)
}

.p-topFv__bg>img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.p-section1 {
    --color: #f6f6f6;
    padding-top: 20%;
    margin-top: -30%;
    background-color: var(--color)
}

@media screen and (max-width:992px) {
    .p-section1 {
        padding-top: clamp(8.5rem, 6.145rem + 10.05vw, 12.375rem)
    }
}

.p-section1__upper {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center
}

@media screen and (max-width:768px) {
    .p-section1__upper {
        display: grid;
        grid-template-areas: "upper upper" "lower-left lower-right";
        grid-template-rows: auto auto;
        grid-template-columns: 3fr 1fr;
        gap: 1rem 0;
        place-items: center
    }
}

@media screen and (max-width:576px) {
    .p-section1__upper {
        grid-template-columns: 1.5fr 1fr;
        gap: clamp(1.5rem, .567rem + 3.98vw, 2rem) 0;
        align-items: stretch
    }
}

.p-section1__upper .illust img {
    -o-object-fit: contain;
    object-fit: contain
}

@media screen and (max-width:768px) {
    .p-section1__upper .illust {
        grid-area: lower-right;
        aspect-ratio: 65/133
    }
}

@media screen and (max-width:576px) {
    .p-section1__upper .illust {
        max-height: 22.5rem
    }
}

.p-section1__textGroup {
    flex-grow: 1
}

@media screen and (max-width:768px) {
    .p-section1__textGroup {
        display: contents
    }
}

.p-section1__textGroup .heading {
    font-size: clamp(2rem, 0rem + 4.17vw, 3.125rem);
    font-weight: 900;
    line-height: 1.5;
    color: #fff;
    filter: drop-shadow(5px 5px 0 rgba(0, 0, 0, .2))
}

@media screen and (max-width:768px) {
    .p-section1__textGroup .heading {
        grid-area: upper;
        font-size: clamp(1.375rem, .779rem + 2.54vw, 2rem);
        text-align: center
    }
}

.p-section1__textGroup .heading>span {
    display: inline-block;
    line-height: 1.8;
    white-space: nowrap;
    background-color: #000;
    border: solid #000;
    border-width: 0 .5em;
    transform: skewX(-24deg);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone
}

.p-section1__textGroup .heading>span .-strong {
    font-size: 1.2em;
    line-height: 1.3;
    color: #fbef00
}

.p-section1__textGroup .heading>span+span {
    margin-top: .5em;
    margin-left: 2em
}

@media screen and (max-width:768px) {
    .p-section1__textGroup .heading>span+span {
        margin-left: 0
    }
}

.p-section1__textGroup>p {
    position: relative;
    margin-top: 6.25rem;
    text-align: center
}

@media screen and (max-width:768px) {
    .p-section1__textGroup>p {
        grid-area: lower-left;
        margin-top: -3.125vw;
        text-align: left
    }
}

@media screen and (max-width:576px) {
    .p-section1__textGroup>p {
        margin-top: 0
    }
}

.p-section1__textGroup>p::before {
    --size: clamp(3.75rem, 2.915rem + 3.56vw, 4.625rem);
    position: absolute;
    top: calc((var(--size) + .5em) * -1);
    right: 30%;
    width: 100%;
    max-width: var(--size);
    aspect-ratio: 37/36;
    content: "";
    background-image: url(../images/img_bottom-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:768px) {
    .p-section1__textGroup>p::before {
        right: 20%
    }
}

@media screen and (max-width:576px) {
    .p-section1__textGroup>p::before {
        position: static;
        display: block;
        margin-bottom: clamp(1rem, .067rem + 3.98vw, 1.5rem);
        margin-left: auto;
        transform: none
    }
}

.p-section1__textGroup>p .-strong {
    font-size: 1.1em;
    font-weight: 700
}

.p-section1__lower {
    position: relative;
    z-index: 2;
    display: flex;
    gap: 1.5rem;
    margin-top: 2.5rem;
    list-style-type: none
}

@media screen and (max-width:768px) {
    .p-section1__lower {
        flex-direction: column;
        gap: clamp(2.5rem, .115rem + 10.18vw, 5rem);
        margin-top: 2.5rem
    }
}

.p-section1__lowerItem {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    border: 2px solid #000;
    box-shadow: 6px 6px 6px rgba(0, 0, 0, .3)
}

.p-section1__itemHeading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-top: clamp(1.5rem, -.278rem + 3.7vw, 2.5rem);
    padding-bottom: clamp(1.5rem, -.278rem + 3.7vw, 2.5rem);
    font-size: clamp(1.5rem, .167rem + 2.78vw, 2.25rem);
    font-weight: 700;
    color: #fff;
    text-align: center;
    background-color: #000
}

@media screen and (max-width:768px) {
    .p-section1__itemHeading {
        font-size: clamp(1.625rem, 1.029rem + 2.54vw, 2.25rem)
    }
}

.p-section1__content {
    flex-grow: 1;
    padding-top: 2rem;
    padding-right: 1rem;
    padding-bottom: 1.5rem;
    padding-left: 1rem;
    background-color: #fff
}

@media screen and (max-width:768px) {
    .p-section1__content {
        padding-top: 1.5rem
    }
}

.p-section1__content .middle {
    text-align: center
}

.p-section1__content .middle::before {
    display: block;
    width: clamp(3.75rem, .417rem + 6.94vw, 5.625rem);
    aspect-ratio: 45/44;
    margin-top: 1em;
    margin-right: auto;
    margin-bottom: 1em;
    margin-left: auto;
    content: "";
    background-image: url(../images/img_bottom-arrow.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.p-section1__content .middle>p {
    padding-top: .5rem;
    padding-bottom: .5rem;
    font-size: clamp(1rem, .556rem + .93vw, 1.25rem);
    font-weight: 700;
    line-height: 1.3;
    border: 1px solid #000;
    border-radius: 100vmax
}

@media screen and (max-width:768px) {
    .p-section1__content .middle>p {
        font-size: clamp(1.25rem, 1.011rem + 1.02vw, 1.5rem)
    }
}

.p-section1__content .lower {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
    text-align: center
}

.p-section1__content .lower .rate {
    display: flex;
    flex: 1;
    flex-direction: column;
    font-weight: 700
}

.p-section1__content .lower .rate>p {
    line-height: 1
}

.p-section1__content .lower .rate>p:first-of-type {
    padding-top: .5rem;
    padding-bottom: .5rem;
    font-size: clamp(.875rem, .097rem + 1.62vw, 1.313rem);
    color: #fff
}

@media screen and (max-width:768px) {
    .p-section1__content .lower .rate>p:first-of-type {
        font-size: 1.25rem
    }
}

.p-section1__content .lower .rate:first-of-type>p:first-of-type {
    background-color: red
}

.p-section1__content .lower .rate:last-of-type>p:first-of-type {
    background-color: #ff9200
}

.p-section1__content .lower .rate>p:last-of-type {
    padding-top: 1rem;
    padding-right: .5rem;
    padding-bottom: 1rem;
    padding-left: .5rem;
    font-size: clamp(1.125rem, -.653rem + 3.7vw, 2.125rem)
}

@media screen and (max-width:768px) {
    .p-section1__content .lower .rate>p:last-of-type {
        font-size: clamp(2.063rem, 1.645rem + 1.78vw, 2.5rem)
    }
}

.p-section1__content .lower .rate>p:last-of-type>span {
    font-size: 2em
}

.p-section1__content .lower .rate:first-of-type>p:last-of-type {
    background-color: #fcc
}

.p-section1__content .lower .rate:last-of-type>p:last-of-type {
    background-color: #ffe9cc
}

.p-section1__contentUpper {
    --gap: 1.5rem
}

@media screen and (max-width:576px) {
    .p-section1__contentUpper {
        --gap: 0.5rem
    }
}

.p-section1__contentUpper.-app {
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    grid-template-columns: repeat(2, 1fr);
    gap: var(--gap)
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper.-app {
        grid-template-rows: repeat(2, 1fr);
        grid-template-columns: repeat(3, 1fr)
    }
}

.p-section1__contentUpper.-prepaid {
    display: flex;
    flex-direction: column;
    gap: var(--gap);
    justify-content: space-between
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper.-prepaid {
        flex-direction: row;
        gap: 3.75rem;
        max-width: 70%;
        margin-right: auto;
        margin-left: auto
    }
}

@media screen and (max-width:576px) {
    .p-section1__contentUpper.-prepaid {
        gap: 1.5rem;
        max-width: 90%
    }
}

.p-section1__contentUpper.-card {
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap);
    justify-content: space-around
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper.-card {
        flex-wrap: nowrap;
        justify-content: center
    }
}

.p-section1__contentUpper.-card .logo {
    width: calc(50% - var(--gap))
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper.-card .logo {
        width: 100%
    }
}

.p-section1__contentUpper .logo img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section1__contentUpper .prepaid {
    display: flex;
    gap: .75rem;
    justify-content: space-around;
    text-decoration: none
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper .prepaid {
        flex-direction: column;
        align-items: center
    }
}

.p-section1__contentUpper .prepaid .logo {
    flex: 1;
    max-width: 7.8125rem
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper .prepaid .logo {
        max-width: 100%
    }
}

.p-section1__contentUpper .prepaid .logo img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section1__contentUpper .prepaid .arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1.75rem;
    aspect-ratio: 14/9
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper .prepaid .arrow {
        transform: rotate(90deg)
    }
}

.p-section1__contentUpper .prepaid .arrow img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section1__contentUpper .prepaid .img {
    flex: 1;
    max-width: 6.25rem
}

@media screen and (max-width:768px) {
    .p-section1__contentUpper .prepaid .img {
        max-width: 100%
    }
}

.p-section1__contentUpper .prepaid .img img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.p-section1__point {
    width: 100vw;
    padding-top: 6.25rem;
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
    margin-top: -3.75rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    background-color: #e8f5ff
}

@media screen and (max-width:576px) {
    .p-section1__point {
        padding-bottom: 2.5rem
    }
}

.p-section1__pointInner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-areas: "left upper" "left lower";
    grid-template-rows: auto auto;
    grid-template-columns: auto auto
}

@media screen and (max-width:576px) {
    .p-section1__pointInner {
        grid-template-areas: "left upper" "lower lower";
        grid-template-rows: 1fr auto;
        grid-template-columns: auto 1fr;
        -moz-column-gap: 1.5rem;
        column-gap: 1.5rem
    }
}

.p-section1__pointInner::before {
    position: absolute;
    top: 2em;
    right: 0;
    width: clamp(11.25rem, 3.519rem + 21.47vw, 19.625rem);
    aspect-ratio: 157/148;
    content: "";
    background-image: url(../images/img_section1-deco.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:576px) {
    .p-section1__pointInner::before {
        content: none
    }
}

.p-section1__pointInner .headingGroup {
    grid-area: upper;
    align-self: center;
    margin-top: 5rem
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .headingGroup {
        justify-self: flex-start;
        width: -moz-fit-content;
        width: fit-content;
        margin-top: 11.1111111111vw
    }
}

.p-section1__pointInner .headingGroup .heading {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    font-size: clamp(1.25rem, -.135rem + 3.85vw, 2.25rem);
    font-weight: 900;
    line-height: 1.7;
    text-align: center
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .headingGroup .heading {
        display: none
    }
}

.p-section1__pointInner .headingGroup .heading::before {
    position: absolute;
    top: -2em;
    left: -4em;
    width: 11.375rem;
    aspect-ratio: 91/55;
    content: "";
    background-image: url(../images/img_section1-label.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: rotate(-15deg)
}

@media screen and (max-width:992px) {
    .p-section1__pointInner .headingGroup .heading::before {
        top: -6.0483870968vw;
        left: -10.0806451613vw;
        width: clamp(6.25rem, 4.731rem + 6.48vw, 8.75rem)
    }
}

@media screen and (max-width:768px) {
    .p-section1__pointInner .headingGroup .heading::before {
        top: -7.8125vw;
        left: -10.4166666667vw
    }
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .headingGroup .heading::before {
        transform: rotate(0)
    }
}

.p-section1__pointInner .headingGroup .heading .-lg {
    font-size: 1.33em
}

.p-section1__pointInner .headingGroup .heading .-square {
    padding-right: .2em;
    padding-left: .2em;
    margin-left: .1em;
    color: #fbef00;
    background-color: #000
}

.p-section1__pointInner .spHeading {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: clamp(1.25rem, .784rem + 1.99vw, 1.5rem);
    font-weight: 900;
    line-height: 1.3;
    text-align: center
}

@media not screen and (max-width:576px) {
    .p-section1__pointInner .spHeading {
        display: none
    }
}

.p-section1__pointInner .spHeading::before {
    position: absolute;
    top: -2.5em;
    left: 50%;
    z-index: 1;
    width: 6.25rem;
    aspect-ratio: 91/55;
    content: "";
    background-image: url(../images/img_section1-label.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%)
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .spHeading::before {
        top: -5rem;
        width: clamp(7.75rem, 5.884rem + 7.96vw, 8.75rem)
    }
}

.p-section1__pointInner .spHeading::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    max-width: 18.75rem;
    aspect-ratio: 157/148;
    content: "";
    background-image: url(../images/img_section1-deco.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%)
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .spHeading::after {
        width: 130%
    }
}

.p-section1__pointInner .spHeading .upper {
    position: relative;
    z-index: 1;
    display: inline-flex;
    flex-direction: column
}

.p-section1__pointInner .spHeading .upper span:first-of-type {
    margin-right: 2em
}

.p-section1__pointInner .spHeading .upper span:last-of-type {
    margin-left: 2em
}

.p-section1__pointInner .spHeading .-lg {
    position: relative;
    z-index: 1;
    margin-top: .5em;
    font-size: 1.33em
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .spHeading .-lg {
        font-size: 1.638em;
        white-space: nowrap
    }
}

.p-section1__pointInner .spHeading .-square {
    padding-right: .2em;
    padding-left: .2em;
    margin-left: .1em;
    color: #fbef00;
    background-color: #000
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .spHeading .-square {
        display: inline-block;
        padding-top: .05em;
        padding-right: .1em;
        padding-bottom: .15em;
        padding-left: .1em;
        line-height: 1
    }
}

.p-section1__pointInner .text {
    grid-area: lower;
    align-self: flex-start;
    margin-top: clamp(1.5rem, .115rem + 3.85vw, 2.5rem)
}

.p-section1__pointInner .text .-lg {
    font-size: 1.1em;
    font-weight: 700
}

.p-section1__pointInner .text p+p {
    margin-top: 2em
}

.p-section1__pointInner .illust {
    grid-area: left;
    width: clamp(11.25rem, -.288rem + 32.05vw, 23.75rem)
}

@media screen and (max-width:576px) {
    .p-section1__pointInner .illust {
        justify-self: flex-end;
        width: clamp(10rem, 6.875rem + 15.63vw, 12.5rem);
        margin-right: -2.5rem
    }
}

.p-section1__pointInner .illust img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section2__heading {
    position: relative;
    padding-top: clamp(6.25rem, -3.292rem + 40.71vw, 16.25rem);
    padding-bottom: clamp(3.75rem, -1.021rem + 20.36vw, 8.75rem)
}

.p-section2__heading::before {
    position: absolute;
    top: 0;
    right: .5rem;
    z-index: 2;
    width: clamp(6.875rem, .625rem + 26.67vw, 20.625rem);
    aspect-ratio: 22/39;
    content: "";
    background-image: url(../images/img_section2-illust_01.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:1200px) {
    .p-section2__heading::before {
        top: 10%
    }
}

.p-section2__upper {
    position: relative
}

.p-section2__upper::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 20%;
    content: "";
    background-color: #e8f5ff
}

@media screen and (max-width:576px) {
    .p-section2__upper::before {
        height: 10%
    }
}

.p-section2__upper::after {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #e3e3e3
}

.p-section2__flow {
    position: relative;
    z-index: 1
}

.p-section2__flowList {
    --padding-tb: clamp(1rem, -1.431rem + 10.37vw, 5rem);
    --padding-lr: clamp(1rem, -0.671rem + 7.13vw, 3.75rem);
    display: flex;
    flex-direction: column;
    gap: .5rem;
    padding-top: var(--padding-tb);
    padding-right: var(--padding-lr);
    padding-bottom: clamp(2.5rem, .981rem + 6.48vw, 5rem);
    padding-left: var(--padding-lr);
    list-style-type: none;
    background-color: #fff;
    border: 4px solid #000
}

.p-section2__flowItem {
    display: flex;
    gap: clamp(1rem, -.443rem + 6.16vw, 3.375rem)
}

.p-section2__flowItem .step {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding-right: clamp(.5rem, .348rem + .65vw, .75rem);
    padding-left: clamp(.5rem, .348rem + .65vw, .75rem);
    font-weight: 900;
    color: #fff
}

.p-section2__flowItem .step p {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-size: clamp(.75rem, .066rem + 2.92vw, 1.875rem);
    line-height: 1
}

.p-section2__flowItem .step p span {
    font-size: 1.33em;
    color: #fbef00
}

.p-section2__flowItem:nth-of-type(1) .step {
    -webkit-clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
    clip-path: polygon(100% 0, 100% 90%, 50% 100%, 0 90%, 0 0);
    background-color: #969696
}

.p-section2__flowItem:nth-of-type(2) .step {
    -webkit-clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    background-color: #848484
}

.p-section2__flowItem:nth-of-type(3) .step {
    -webkit-clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    background-color: #494949
}

.p-section2__flowItem:nth-of-type(4) .step {
    -webkit-clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    clip-path: polygon(0 0, 50% 10%, 100% 0, 100% 90%, 50% 100%, 0 90%);
    background-color: #000
}

.p-section2__stepItem {
    display: flex;
    flex: 1;
    gap: 3.25rem;
    align-items: center;
    padding-top: clamp(1rem, -.671rem + 7.13vw, 3.75rem);
    padding-bottom: clamp(1rem, -1.811rem + 11.99vw, 5.625rem)
}

@media screen and (max-width:768px) {
    .p-section2__stepItem {
        flex-direction: column;
        gap: 1.5rem;
        justify-content: center;
        width: 100%
    }
}

.p-section2__stepItem .icon {
    order: -1
}

@media screen and (max-width:768px) {
    .p-section2__stepItem .icon {
        order: 0;
        max-width: 50%;
        margin-right: auto;
        margin-left: auto
    }
}

.p-section2__stepItem .icon img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section2__stepItem .textGroup {
    flex-basis: 80%;
    flex-grow: 1
}

.p-section2__stepItem .textGroup .heading {
    font-size: clamp(.938rem, .368rem + 2.43vw, 1.875rem);
    font-weight: 700;
    line-height: 1.8
}

.p-section2__stepItem .textGroup .heading .-strong {
    background: #fbef00;
    border: solid #fbef00;
    border-width: 0 .1em;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone
}

.p-section2__stepItem .textGroup .note {
    font-size: clamp(.625rem, .321rem + 1.3vw, 1.125rem);
    color: #333;
}

.p-section2__stepItem .textGroup .note:first-of-type {
    margin-top: clamp(.5rem, -.108rem + 2.59vw, 1.5rem)
}

.p-section2__upperBg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 30%;
    -webkit-clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%)
}

@media screen and (max-width:768px) {
    .p-section2__upperBg {
        height: 20%
    }
}

@media screen and (max-width:576px) {
    .p-section2__upperBg {
        height: 10%
    }
}

.p-section2__upperBg::before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20%;
    content: "";
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #e3e3e3 100%)
}

.p-section2__upperBg>img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 10%;
    object-position: 50% 10%;
    width: 100%
}

@media screen and (max-width:576px) {
    .p-section2__upperBg>img {
        -o-object-position: 50% 0;
        object-position: 50% 0
    }
}

.p-section2__lower {
    position: relative;
    padding-top: 13%;
    margin-top: -12%
}

@media screen and (max-width:768px) {
    .p-section2__lower {
        margin-top: -16%
    }
}

.p-section2__lower::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    background-color: #e3e3e3
}

.p-section2__lowerInner {
    display: grid;
    grid-template-areas: "left upper" "left lower";
    grid-template-rows: 1fr max-content;
    grid-template-columns: 1fr 1fr
}

@media screen and (max-width:768px) {
    .p-section2__lowerInner {
        position: relative;
        z-index: 3;
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-top: -18.2291666667vw
    }
}

.p-section2__lowerInner img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section2__lowerInner .illust {
    position: relative;
    grid-area: left;
    width: 100%
}

.p-section2__lowerInner .illust::before {
    position: absolute;
    top: -10rem;
    left: -10rem;
    z-index: 2;
    width: clamp(28.125rem, 3.681rem + 50.93vw, 41.875rem);
    aspect-ratio: 1/1;
    content: "";
    background-image: url(../images/img_section2-illust_02.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:1200px) {
    .p-section2__lowerInner .illust::before {
        top: -13.3333333333vw;
        left: -13.3333333333vw
    }
}

@media screen and (max-width:768px) {
    .p-section2__lowerInner .illust::before {
        display: none
    }
}

@media not screen and (max-width:768px) {
    .p-section2__lowerInner .illust img {
        display: none
    }
}

.p-section2__lowerInner .text {
    position: relative;
    z-index: 3;
    grid-area: upper;
    margin-left: -6.25rem
}

@media screen and (max-width:1200px) {
    .p-section2__lowerInner .text {
        width: clamp(25rem, -2.778rem + 57.87vw, 40.625rem);
        margin-left: 0
    }
}

@media screen and (max-width:768px) {
    .p-section2__lowerInner .text {
        width: auto;
        max-width: 31.25rem;
        margin-top: -15.625vw
    }
}

.p-section2__lowerInner .button {
    position: relative;
    z-index: 3;
    grid-area: lower;
    justify-self: flex-end;
    max-width: 84%;
    filter: drop-shadow(6px 6px 6px rgba(0, 0, 0, .4))
}

@media screen and (max-width:1200px) {
    .p-section2__lowerInner .button {
        justify-self: flex-end;
        width: clamp(21.875rem, -.347rem + 46.3vw, 34.375rem);
        max-width: none
    }
}

@media screen and (max-width:768px) {
    .p-section2__lowerInner .button {
        width: auto;
        max-width: 31.25rem
    }
}

.p-section2__lowerBg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 130%;
    -webkit-clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%)
}

.p-section2__lowerBg>img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.p-section3 {
    --color: #2fa2f8;
    position: relative;
    padding-top: 12%;
    padding-bottom: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
    margin-top: -8%;
    -webkit-clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%);
    clip-path: polygon(0 15vw, 100% 0, 100% 100%, 0% 100%);
    background-color: var(--color)
}

.p-section3__heading {
    position: relative;
    padding-top: 7.5rem;
    padding-bottom: 7.5rem
}

@media screen and (max-width:768px) {
    .p-section3__heading {
        padding-top: 2.5rem;
        padding-bottom: clamp(2.5rem, 1.069rem + 6.11vw, 4rem)
    }
}

.p-section3__heading::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    aspect-ratio: 673/142;
    content: "";
    background-image: url(../images/text_section3_pc.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translate(-50%, -50%)
}

@media screen and (max-width:768px) {
    .p-section3__heading::before {
        top: 0;
        right: 0;
        left: auto;
        width: 22.9333333333vw;
        min-width: 5.375rem;
        aspect-ratio: 43/192;
        background-image: url(../images/text_section3_sp.svg);
        transform: none
    }
}

.p-section3__introText {
    color: #fff;
    text-align: center
}

@media screen and (max-width:768px) {
    .p-section3__introText {
        text-align: left
    }
}

.p-section3__introText .-strong {
    font-weight: 700;
    color: #fbef00
}

.p-section3__list {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    margin-top: clamp(3.75rem, 2.99rem + 3.24vw, 5rem);
    list-style-type: none;
    filter: drop-shadow(10px 10px 0 rgba(0, 0, 0, .2))
}

.p-section3__listItem {
    position: relative;
    display: flex;
    gap: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
    padding-top: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 1.5rem;
    padding-left: 1.5rem;
    background-color: #fff;
    border: 4px solid #000
}

@media screen and (max-width:768px) {
    .p-section3__listItem {
        flex-direction: column;
        padding-top: clamp(2rem, .092rem + 8.14vw, 4rem)
    }
}

.p-section3__listItem:nth-of-type(even) {
    flex-direction: row-reverse
}

@media screen and (max-width:768px) {
    .p-section3__listItem:nth-of-type(even) {
        flex-direction: column
    }
}

.p-section3__listItem::before {
    position: absolute;
    top: -2em;
    width: clamp(8.375rem, 6.4rem + 8.43vw, 11.625rem);
    aspect-ratio: 93/35;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:992px) {
    .p-section3__listItem::before {
        top: -2.5em
    }
}

@media screen and (max-width:768px) {
    .p-section3__listItem::before {
        top: -2em
    }
}

.p-section3__listItem:nth-of-type(odd)::before {
    left: 1em
}

@media screen and (max-width:768px) {
    .p-section3__listItem:nth-of-type(odd)::before {
        left: 50%;
        transform: translateX(-50%)
    }
}

.p-section3__listItem:nth-of-type(even)::before {
    right: 1em
}

@media screen and (max-width:768px) {
    .p-section3__listItem:nth-of-type(even)::before {
        right: 50%;
        transform: translateX(50%)
    }
}

.p-section3__listItem:nth-of-type(1)::before {
    background-image: url(../images/img_section3-label_01.svg)
}

.p-section3__listItem:nth-of-type(2)::before {
    background-image: url(../images/img_section3-label_02.svg)
}

.p-section3__listItem:nth-of-type(3)::before {
    background-image: url(../images/img_section3-label_03.svg)
}

.p-section3__listItem::after {
    position: absolute;
    bottom: 0;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media screen and (max-width:768px) {
    .p-section3__listItem::after {
        content: none
    }
}

.p-section3__listItem:nth-of-type(1)::after {
    right: 0;
    width: 12.875rem;
    aspect-ratio: 103/142;
    background-image: url(../images/img_section3-illust_01.png)
}

.p-section3__listItem:nth-of-type(2)::after {
    bottom: -2.5rem;
    left: -3rem;
    width: 14.375rem;
    aspect-ratio: 115/204;
    background-image: url(../images/img_section3-illust_02.png)
}

.p-section3__listItem:nth-of-type(3)::after {
    right: -2rem;
    bottom: -1.25rem;
    width: 13.75rem;
    aspect-ratio: 5/7;
    background-image: url(../images/img_section3-illust_03.png)
}

.p-section3__listItem .textGroup {
    display: inline-flex;
    flex: 1;
    flex-direction: column;
    justify-content: center
}

@media screen and (max-width:768px) {
    .p-section3__listItem .textGroup {
        display: contents
    }
}

.p-section3__listItem .textGroup .heading {
    font-size: clamp(1.5rem, 1.272rem + .97vw, 1.875rem);
    font-weight: 900;
    color: #2fa2f8;
    text-align: center;
    transform: skewX(-15deg)
}

@media screen and (max-width:768px) {
    .p-section3__listItem .textGroup .heading {
        order: 1
    }
}

@media not screen and (max-width:768px) {
    .p-section3__listItem .textGroup .heading .-tabOnly {
        display: none
    }
}

.p-section3__listItem .textGroup .heading>span {
    background-image: linear-gradient(transparent 50%, #fbef00 0%)
}

.p-section3__listItem .textGroup .note,
.p-section3__listItem .textGroup .text {
    text-align: justify
}

.p-section3__listItem .textGroup .text {
    margin-top: 1.5em
}

@media screen and (max-width:768px) {
    .p-section3__listItem .textGroup .text {
        order: 3;
        margin-top: 0
    }
}

.p-section3__listItem .textGroup .note {
    margin-top: .5em;
    font-size: .8em
}

@media screen and (max-width:768px) {
    .p-section3__listItem .textGroup .note {
        order: 4
    }
}

.p-section3__listItem .photo {
    position: relative;
    flex: 1;
    max-width: 23.75rem
}

@media screen and (max-width:768px) {
    .p-section3__listItem .photo {
        align-self: center;
        order: 2;
        max-width: 90%;
        aspect-ratio: 25/17
    }
}

.p-section3__listItem .photo::after {
    position: absolute;
    bottom: 0;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

@media not screen and (max-width:768px) {
    .p-section3__listItem .photo::after {
        content: none
    }
}

.p-section3__listItem .photo img {
    -o-object-fit: cover;
    object-fit: cover
}

.p-section3__listItem:nth-of-type(1)>.photo::after {
    right: -2.5rem;
    height: 100%;
    aspect-ratio: 103/142;
    background-image: url(../images/img_section3-illust_01.png)
}

.p-section3__listItem:nth-of-type(2)>.photo::after {
    bottom: -4.1666666667vw;
    left: -7.8125vw;
    height: 120%;
    aspect-ratio: 115/204;
    background-image: url(../images/img_section3-illust_02.png)
}

.p-section3__listItem:nth-of-type(3)>.photo::after {
    right: -7.8125vw;
    bottom: -5.2083333333vw;
    height: 110%;
    aspect-ratio: 5/7;
    background-image: url(../images/img_section3-illust_03.png)
}

.p-section4 {
    position: relative;
    z-index: 1;
    padding-top: 7%;
    padding-bottom: 19%;
    margin-top: -2px
}

@media screen and (max-width:576px) {
    .p-section4 {
        padding-bottom: 20%
    }
}

.p-section4::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 30%;
    content: "";
    background-color: #2fa2f8
}

.p-section4__upper {
    position: relative;
    display: grid;
    grid-template-areas: "left upper" "left lower";
    grid-template-rows: max-content max-content;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem
}

@media screen and (max-width:768px) {
    .p-section4__upper {
        grid-template-areas: "left" "upper" "lower";
        grid-template-rows: 1fr auto auto;
        grid-template-columns: 1fr;
        gap: 0
    }
}

.p-section4__upper>.heading {
    position: relative;
    grid-area: upper;
    width: 120%;
    margin-top: 2.5rem;
    margin-left: -10rem
}

@media screen and (max-width:1600px) {
    .p-section4__upper>.heading {
        margin-left: -10vw
    }
}

@media screen and (max-width:768px) {
    .p-section4__upper>.heading {
        width: 100%;
        margin-top: -18.2291666667vw;
        margin-left: 0
    }
}

.p-section4__upper>.illust {
    grid-area: left;
    justify-self: center;
    max-width: 30rem
}

@media screen and (max-width:768px) {
    .p-section4__upper>.illust {
        max-width: 80%
    }
}

.p-section4__upper>.illust>img {
    -o-object-fit: contain;
    object-fit: contain
}

.p-section4__upper>.text {
    grid-area: lower;
    color: #fff
}

@media screen and (max-width:768px) {
    .p-section4__upper>.text {
        margin-top: 1.5rem
    }
}

.p-section4__lower {
    margin-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem)
}

.p-section4__lower>.text {
    color: #fff
}

.p-section4__lower>.text .-strong {
    font-size: 1.1em;
    font-weight: 700;
    color: #fbef00
}

.p-section4__lower>.text:first-of-type {
    margin-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem)
}

.p-section4__lower>.text+.text {
    margin-top: 1em
}

.p-section4__list {
    max-width: 95%;
    margin-right: auto;
    margin-left: auto
}

@media screen and (max-width:768px) {
    .p-section4__list {
        max-width: 100%;
        margin-right: 0;
        margin-left: 0
    }
}

.p-section4__item {
    display: flex;
    align-items: center;
    padding: 1rem;
    font-weight: 700;
    background-color: #fff;
    border: 2px solid #000
}

@media screen and (max-width:768px) {
    .p-section4__item {
        flex-direction: column
    }
}

.p-section4__item>.label {
    flex-shrink: 0;
    padding: .5rem;
    color: #fff;
    background-color: #000
}

.p-section4__item>.text {
    margin-left: 1rem
}

@media screen and (max-width:768px) {
    .p-section4__item>.text {
        margin-top: 1rem;
        margin-left: 0
    }
}

.p-section4__item+.p-section4__item {
    margin-top: clamp(1rem, .696rem + 1.3vw, 1.5rem)
}

.p-section4__Bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0 15vw, 100% 0, 100% calc(100% - 15vw), 0% 100%);
    clip-path: polygon(0 15vw, 100% 0, 100% calc(100% - 15vw), 0% 100%)
}

.p-section4__Bg>img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.p-section5 {
    padding-top: 20%;
    padding-bottom: 14%;
    margin-top: -30%;
    background-color: #fff;
    background-image: repeating-linear-gradient(140deg, transparent, transparent 12px, rgba(125, 125, 125, .1) 12px, rgba(125, 125, 125, .1) 18px);
    background-size: auto auto
}

@media screen and (max-width:576px) {
    .p-section5 {
        padding-bottom: 20%;
        margin-top: -20%
    }
}

.p-section5__headingGroup {
    position: relative;
    padding-top: clamp(6.25rem, 2.672rem + 15.27vw, 10rem);
    padding-bottom: clamp(6.25rem, 2.672rem + 15.27vw, 10rem)
}

.p-section5__headingGroup>.illust {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: clamp(16.25rem, 12.485rem + 6.07vw, 20rem)
}

@media screen and (max-width:768px) {
    .p-section5__headingGroup>.illust {
        width: clamp(8.75rem, 1.594rem + 30.53vw, 16.25rem)
    }
}

.p-section5__heading {
    position: relative;
    z-index: 3
}

.p-section5__qa {
    --padding: clamp(0.5rem, 0.196rem + 1.3vw, 1rem);
    --padding-lr: clamp(1rem, -0.823rem + 7.78vw, 4rem);
    --margin-left: clamp(1.5rem, -0.019rem + 6.48vw, 4rem);
    --label-size: clamp(1.125rem, 1.011rem + 0.49vw, 1.313rem);
    --font-size: clamp(1rem, 0.81rem + 0.81vw, 1.313rem);
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 8px
}

.p-section5__qa+.p-section5__qa {
    margin-top: clamp(2.5rem, .981rem + 6.48vw, 5rem)
}

.p-section5__qaHead {
    position: relative;
    z-index: 1;
    display: flex;
    background-color: #fff;
    transition: background-color .3s, color .3s
}

.p-section5__qa.is-open .p-section5__qaHead {
    color: #fff;
    background-color: #000
}

.p-section5__qaButton {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-top: var(--padding);
    padding-right: var(--padding-lr);
    padding-bottom: var(--padding);
    padding-left: var(--padding-lr);
    font-size: inherit;
    text-align: left;
    border: 4px solid #000
}

.p-section5__qaHeading {
    display: flex;
    align-items: center;
    width: 100%;
    font-size: var(--font-size);
    font-weight: 700
}

.p-section5__qaHeading>.text {
    flex-grow: 1;
    margin-left: var(--margin-left);
    line-height: var(--line-height)
}

.p-section5__qaLabel {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1/1;
    font-size: var(--label-size);
    font-weight: 900
}

.p-section5__qaLabel.-question {
    position: relative;
    color: #fff
}

.p-section5__qaLabel.-question::before {
    position: absolute;
    top: 50%;
    left: 70%;
    z-index: -1;
    width: clamp(4.625rem, 2.802rem + 7.78vw, 7.625rem);
    aspect-ratio: 61/46;
    content: "";
    background-color: #000;
    transition: background-color .3s;
    transform: translate(-50%, -50%);
    -webkit-mask-image: url(../images/img_section5-label.svg);
    mask-image: url(../images/img_section5-label.svg);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

.p-section5__qa.is-open .p-section5__qaLabel.-question::before {
    background-color: #ff0d00
}

.p-section5__qaLabel.-answer {
    color: #ff0d00;
    background-color: #fff
}

.p-section5__qaIcon {
    position: relative;
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: 1em;
    color: inherit;
    pointer-events: none
}

.p-section5__qaIcon::after,
.p-section5__qaIcon::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: clamp(.25rem, .174rem + .32vw, .375rem);
    margin: auto;
    content: "";
    background-color: red
}

.p-section5__qa.is-open .p-section5__qaIcon::after,
.p-section5__qa.is-open .p-section5__qaIcon::before {
    background-color: #b0b0b0
}

.p-section5__qaIcon::after {
    transition: transform .3s;
    transform: rotate(90deg)
}

.p-section5__qa.is-open .p-section5__qaIcon::after {
    transform: rotate(0)
}

.p-section5__qaPanel {
    display: none;
    overflow: hidden
}

.p-section5__qaInner {
    display: flex;
    align-items: flex-start;
    padding-top: var(--padding);
    padding-right: var(--padding-lr);
    padding-bottom: var(--padding);
    padding-left: var(--padding-lr);
    border-right: 4px solid #000;
    border-bottom: 4px solid #000;
    border-left: 4px solid #000
}

.p-section5__qaText {
    margin-left: var(--margin-left);
    font-size: var(--font-size);
    line-height: var(--line-height)
}

.p-section5__qaText>.note {
    display: inline-block
}

.p-section6 {
    position: relative;
    z-index: 1;
    padding-top: 4%;
    padding-bottom: 15%;
    margin-top: -12%
}

.p-section6::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0% 100%);
    clip-path: polygon(0 10vw, 100% 0, 100% calc(100% - 10vw), 0% 100%);
    content: "";
    background-color: #b0b0b0
}

.p-section6__headingGroup {
    position: relative;
    padding-top: clamp(3.75rem, -2.214rem + 25.45vw, 10rem);
    padding-bottom: clamp(3.75rem, .172rem + 15.27vw, 7.5rem)
}

.p-section6__headingGroup .illust {
    position: absolute;
    bottom: -5rem;
    left: 0;
    width: clamp(9.375rem, 2.917rem + 27.55vw, 20rem)
}

@media screen and (max-width:992px) {
    .p-section6__headingGroup .illust {
        bottom: -8.064516129vw
    }
}

.p-section6__heading {
    position: relative;
    z-index: 1
}

.p-section6__companyList {
    --padding-tb: clamp(1.5rem, -0.627rem + 9.08vw, 5rem);
    --padding-lr: clamp(1rem, -1.431rem + 10.37vw, 5rem);
    padding-top: var(--padding-tb);
    padding-right: var(--padding-lr);
    padding-bottom: var(--padding-tb);
    padding-left: var(--padding-lr);
    background-color: #fff;
    border: 4px solid #000
}

.p-section6__companyList dd,
.p-section6__companyList dt {
    line-height: var(--line-height)
}

.p-section6__companyList dt {
    flex-basis: clamp(6.25rem, 1.692rem + 19.45vw, 13.75rem);
    flex-shrink: 0;
    font-weight: 700;
    white-space: nowrap
}

.p-section6__companyList dd {
    margin-left: 1em
}

.p-section6__companyList dd>span {
    display: inline-block
}

.p-section6__companyList .group {
    --padding-tb: clamp(1rem, 0.088rem + 3.89vw, 2.5rem);
    --padding-lr: clamp(0.5rem, -0.716rem + 5.19vw, 2.5rem);
    display: flex;
    align-items: center;
    padding-top: var(--padding-tb);
    padding-right: var(--padding-lr);
    padding-bottom: var(--padding-tb);
    padding-left: var(--padding-lr);
    border-bottom: 2px solid #000
}

@media screen and (max-width:576px) {
    .p-section6__companyList .group.-map {
        flex-direction: column
    }

    .p-section6__companyList .group.-map dt {
        flex: 1;
        align-self: stretch
    }

    .p-section6__companyList .group.-map dd {
        margin-top: 1em;
        margin-left: 0
    }
}

.p-section6__companyList .googleMap {
    width: 100%;
    aspect-ratio: 16/9
}

.p-section6__companyList .googleMap iframe {
    width: 100%;
    height: 100%
}

.p-section7 {
    margin-top: -5%
}

.p-section7__headingGroup {
    position: relative;
    padding-top: clamp(1rem, -7.588rem + 36.64vw, 10rem);
    padding-bottom: clamp(5rem, 2.615rem + 10.18vw, 7.5rem)
}

.p-section7__headingGroup .illust {
    position: absolute;
    right: -2.5rem;
    bottom: -4rem;
    z-index: 1;
    width: clamp(9.375rem, 4.437rem + 21.07vw, 17.5rem)
}

@media screen and (max-width:992px) {
    .p-section7__headingGroup .illust {
        bottom: -6.4516129032vw
    }
}

.p-section7__heading {
    position: relative;
    z-index: 2
}

@media screen and (max-width:576px) {
    .p-section7__heading.-pc {
        display: none
    }
}

.p-section7__heading.-sp>span {
    display: inline-block;
    margin-top: .3em
}

.p-section7__heading.-sp>span~span {
    margin-left: 2em;
    border-width: 0 2em
}

@media not screen and (max-width:576px) {
    .p-section7__heading.-sp {
        display: none
    }
}

.p-section7__privacy {
    max-height: 87.5rem;
    padding: clamp(1.5rem, -.627rem + 9.08vw, 5rem);
    overflow-y: scroll;
    border: 4px solid #000
}

@media screen and (max-width:768px) {
    .p-section7__privacy {
        max-height: 62.5rem
    }
}

@media screen and (max-width:576px) {
    .p-section7__privacy {
        max-height: 31.25rem
    }
}

.p-section7__privacy::-webkit-scrollbar {
    width: clamp(.625rem, .245rem + 1.62vw, 1.25rem)
}

.p-section7__privacy::-webkit-scrollbar-track {
    background-color: #e3e3e3
}

.p-section7__privacy::-webkit-scrollbar-thumb {
    background-color: #000
}

.p-section7__privacy .heading {
    font-weight: 700;
    line-height: var(--line-height)
}

.p-section7__privacy li {
    line-height: var(--line-height)
}

.p-section7__privacy>ol {
    list-style-type: none
}

.p-section7__privacy>ol ol,
.p-section7__privacy>ol ul {
    list-style-type: none
}

.p-section7__privacy>ol ul>li {
    padding-left: 1em;
    text-indent: -1em
}

.p-section7__privacy>ol ol>li {
    padding-left: 1.2em;
    text-indent: -1.2em;
    counter-increment: cnt
}

.p-section7__privacy>ol ol>li::before {
    content: "(" counter(cnt) ")"
}

.p-section7__privacy>ol>li {
    --padding: 1.5rem
}

.p-section7__privacy>ol>li:first-of-type {
    padding-bottom: var(--padding)
}

.p-section7__privacy>ol>li:not(:first-of-type) {
    padding-top: var(--padding);
    padding-bottom: var(--padding);
    border-top: 2px solid #e3e3e3
}

.p-page {
    background-color: #f6f6f6
}

.p-contactForm {
    max-width: 57.5rem;
    margin-top: 3rem;
    margin-right: auto;
    margin-left: auto
}

.p-contactForm__rate {
    display: block;
    padding: 1rem;
    margin-bottom: 2.5rem;
    background-color: #fff
}

.p-contactForm__rate>.-strong {
    font-weight: 700;
    color: red
}

.p-contactForm__header {
    font-feature-settings: "palt"
}

.p-contactForm__group {
    margin-top: clamp(1.625rem, .182rem + 6.16vw, 4rem)
}

.p-contactForm__group>.text .-red {
    color: red
}

.p-contactForm__group>.text .-bold {
    font-weight: 700
}

.p-contactForm__group>.text.-center {
    text-align: center
}

.p-contactForm__textGroup {
    font-size: clamp(1rem, .848rem + .65vw, 1.25rem);
    line-height: 2
}

.p-contactForm__textGroup:not(:first-of-type) {
    margin-top: 1em
}

.p-contactForm__textGroup+.p-contactForm__textGroup {
    margin-top: 1em
}

.p-contactForm__textGroup.-caution {
    padding: 1rem;
    background-color: #fff;
    border: 2px solid #000
}

.p-contactForm__textGroup.-caution>.heading {
    color: red
}

.p-contactForm__textGroup .heading {
    font-weight: 700;
    text-align: center
}

.p-contactForm__textGroup .note {
    margin-top: 1em
}

.p-contactForm__body {
    margin-top: clamp(2rem, .481rem + 6.48vw, 4.5rem)
}

.p-contactForm__provisions>.heading {
    font-size: 1.3em;
    font-weight: 700;
    color: #2fa1f7
}

.p-contactForm__provisions>.text {
    margin-top: 2em
}

.p-contactForm__provisionsHeader {
    margin-top: 2em
}

.p-contactForm__provisionsHeader>.name {
    font-weight: 700
}

.p-contactForm__provisionsHeader>.heading {
    margin-top: 1em;
    font-weight: 700
}

.p-contactForm__provisionsHeader>.text {
    margin-top: .5em
}

.p-contactForm__provisionsBlockContainer {
    padding: 1em;
    margin-top: 2em;
    background-color: #e5e7eb
}

.p-contactForm__provisionsBlock+.p-contactForm__provisionsBlock {
    margin-top: 1em
}

.p-contactForm__provisionsBlock>.heading {
    font-size: .9em;
    font-weight: 700;
    color: #2fa1f7
}

.p-contactForm__provisionsBlock>.text {
    margin-top: .5em;
    line-height: 1.3
}

.p-contactForm__provisionsBlock>.list {
    margin-top: .5em;
    list-style-type: none
}

.p-contactForm__provisionsBlock>.list>li {
    line-height: 1.3
}

.p-login {
    max-width: 50rem;
    padding: clamp(1.5rem, -.627rem + 9.08vw, 5rem);
    text-align: center;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, .1) 0 10px 15px -3px, rgba(0, 0, 0, .05) 0 4px 6px -2px
}

.p-login>.logo {
    display: block;
    max-width: 50%;
    margin-right: auto;
    margin-left: auto
}

.p-login>.heading {
    margin-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
    font-size: clamp(1.5rem, .892rem + 2.59vw, 2.5rem);
    font-weight: 700
}

.p-login>.text {
    margin-top: clamp(1.5rem, .892rem + 2.59vw, 2.5rem)
}

.p-login>.input {
    margin-top: 1.5rem
}

.p-login>.input>input {
    width: 100%;
    padding: 1rem;
    background-color: #f3f4f6
}

.p-login>.input>input::-moz-placeholder {
    color: #9e9e9e
}

.p-login>.input>input::placeholder {
    color: #9e9e9e
}

.p-login>.buttonArea {
    margin-top: 1.5rem
}

.p-login>.buttonArea>.button {
    display: block;
    width: 100%;
    padding: 1rem;
    color: #fff;
    background-color: #0ea5e9
}

.p-pageThanks {
    max-width: 57.5rem;
    margin-top: 3rem;
    margin-right: auto;
    margin-left: auto
}

.p-pageThanks__header {
    text-align: center
}

.p-pageThanks__header>.text {
    margin-top: 2em
}

.p-pageThanks__header>.link {
    display: inline-block;
    margin-top: 1em;
    color: #00f
}

@media screen and (max-width:576px) {
    .u-pcOnly {
        display: none
    }
}

@media not screen and (max-width:576px) {
    .u-spOnly {
        display: none
    }
}

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

.u-visuallyHidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important
}



/* 追加 start */
.procedure {
    border: 2px solid #b4b4b4;
    text-align: left;
    max-width: 444px;
}

.procedure div {
    color: #000;
    background-color: #d3d3d3;
    margin: auto;
    display: block;
    padding: 0.5em 0;
    text-align: left;
    font-weight: bold;
}

#textCardToChange1 p {
    margin: 0.5em;
    width: auto;
    text-align: left;
}

#textCardToChange1 p:last-child {
    margin-bottom: 20px;
}

.toLogina {
    color: red;
    font-weight: bolder;
    font-size: 120%;
}

.name_hiragana {
    display: flex;
    gap: 10px;
}

.name_hiragana input {
    width: 50% !important;
}

.input_file_image {
    width: 100%;
    padding: .75rem;
    background-color: var(--input-bg);
    border: var(--input-border);
}

.bottom_page {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
}

/* 追加 end*/


/* マイページ追加 */
#header-under {
    max-width: 1000px;
    margin: auto;
    display: flex;
    text-align: center;
}

#header-under div {
    width: 50%;
    background-color: #000;
    border: 1px solid #fff;
}

#header-under div a {
    color: #fff;
    display: block;
    padding: 0.7em 0;
    font-size: 1.3em;
}

@media (max-width: 768px) {
    #header-under div a {
        color: #fff;
        display: block;
        padding: 0.7em 0;
        font-size: 1em;
    }
}

.username-wrap {
    display: flex;
    align-items: center;
    padding-bottom: 20px;
}

.human-icon {
    width: 40px;
    height: 40px;
    margin-right: 5px;
}

.username-text {
    font-size: 16px;
    font-weight: bold;
    color: #000;
}

.title .status-text {
    padding-left: 10px;
    color: #F60000;
    font-weight: normal;
    font-size: 0.8em;
    border: unset;
    background: unset;
}

/*status*/
.status h1 {
  color: #F69400;
}

.status-inner {
  border-bottom: 1px solid #BABABA;
  padding-bottom: 1em;
  position: relative;
}

.status-inner .status-step {
  line-height: 1.5em;
  font-weight: bold;
  padding: 1em 0;
}

.status-inner .status-step .step-text {
    background: #b0b0b0;
    color: #fbef00;
    padding: 2px 6px;
    font-size: 1.5rem;
    font-weight: 600;
    margin-right: 8px;
}

.status-inner p,
.status-inner span {
  font-size: 0.8em;
}

.status-inner .reception-time {
  display: flex;
  padding-left: 13px;
}

.status-money h1 {
  color: #000;
  padding-top: 1em;
  font-size: 1.3em;
}

.status .card-btn,
.status .cancel-btn {
  color: #fff;
  background-color: #F69400;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  padding: 0.6rem 0.7rem;
  display: inline-block;
  font-size: 14px;
  width: 290px;
  font-weight: bold;
}

.status .cancel-btn {
  background-color: #F60000;
}
/*statusここまで*/

/* お申込み状況 */
.refresh-container {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.refresh-icon {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}

.refresh-text {
  font-size: 14px;
  color: #000;
}

.step-title {
  border-bottom: 1px solid;
  font-size: 1.3em !important;
  font-weight: 900;
  color: black;
}

.red-text {
  color: #F60000;
  font-size: 0.8em;
}

.mb10 {
  margin-bottom: 10px;
}

.money-container {
  width: 100%;
  margin: 0 auto;
}

.money-row {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  font-size: 1.5rem;
}

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

.money-right span {
  font-size: 2rem;
  font-weight: bold;
}

.paid-text {
  color: #F1A339;
  font-weight: bold;
}

.money-text {
  color: #F60000;
  font-size: 0.8em;
  margin-top: 10px;
}

.IdentityVerification-btn {
  color: #fff !important;
  background-color: #F60000;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
  padding: 0.6rem 0.7rem;
  display: inline-block;
  font-size: 14px;
  width: 290px;
  font-weight: bold;
  margin-top: 10px;
  line-height: 1.5;
}

.status-inner .status-step {
  line-height: 1.5em;
  font-weight: bold;
  padding: 1em 0;
}
/* お申込み状況ここまで */


.sokukinBtn {
    cursor: pointer;
    background: black;
    font-weight: 600;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    padding: 0.3rem 0.7rem;
    display: inline-block;
    margin-top: 10px;
    color: #fbef00;
    border: 3px solid #fbef00;
    font-size: 110%;
}
