@charset "UTF-8";

*,
:after,
:before {
    background-repeat: no-repeat;
    box-sizing: border-box
}

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

:where(:root) {
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    cursor: default;
    line-height: 1.5;
    overflow-wrap: break-word;
    tab-size: 4
}

:where(body) {
    margin: 0
}

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

:where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0
}

:where(hr) {
    color: inherit;
    height: 0
}

:where(nav) :where(ol, ul) {
    list-style-type: none;
    padding: 0
}

:where(nav li):before {
    content: "​";
    float: left
}

:where(pre) {
    font-family: monospace, monospace;
    font-size: 1em;
    overflow: auto
}

:where(abbr[title]) {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

:where(b, strong) {
    font-weight: bolder
}

:where(code, kbd, samp) {
    font-family: monospace, monospace;
    font-size: 1em
}

:where(small) {
    font-size: 80%
}

:where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle
}

:where(iframe) {
    border-style: none
}

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

:where(table) {
    border-collapse: collapse;
    border-color: currentColor;
    text-indent: 0
}

:where(button, input, select) {
    margin: 0
}

:where(button, [type=button i], [type=reset i], [type=submit i]) {
    -webkit-appearance: button
}

:where(fieldset) {
    border: 1px solid #a0a0a0
}

:where(progress) {
    vertical-align: initial
}

:where(textarea) {
    margin: 0;
    resize: vertical
}

:where([type=search i]) {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-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
}

:where(dialog) {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: fit-content
}

:where(dialog:not([open])) {
    display: none
}

:where(details>summary:first-of-type) {
    display: list-item
}

:where([aria-busy=true i]) {
    cursor: progress
}

:where([aria-disabled=true i], [disabled]) {
    cursor: not-allowed
}

:where([aria-hidden=false i][hidden]) {
    display: initial
}

:where([aria-hidden=false i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

@keyframes loop01 {
    0% {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes loop02 {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-200%)
    }
}

@keyframes cardFront {
    0% {
        transform: perspective(600px) translateZ(0) rotate3d(0, 500, 0, 0turn)
    }

    50% {
        transform: perspective(600px) translateZ(0) rotate3d(0, 500, 0, .5turn)
    }

    to {
        transform: perspective(600px) translateZ(0) rotate3d(0, 500, 0, 1turn)
    }
}

@keyframes cardBack {
    0% {
        transform: perspective(600px) translateZ(5px) rotate3d(0, 500, 0, .5turn)
    }

    50% {
        transform: perspective(600px) translateZ(5px) rotate3d(0, 500, 0, 1turn)
    }

    to {
        transform: perspective(600px) translateZ(5px) rotate3d(0, 500, 0, 540deg)
    }
}

@keyframes lineLink {
    0% {
        background-position: 100% 100%;
        background-size: 100% 1px
    }

    50% {
        background-position: 100% 100%;
        background-size: 0 1px
    }

    51% {
        background-position: 0 100%;
        background-size: 0 1px
    }

    to {
        background-position: 0 100%;
        background-size: 100% 1px
    }
}

:root {
    --vw: 1vw;
    --vh: 1vh
}

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

:where(html) {
    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
    height: 100%;
    min-width: 320px;
    width: 100%
}

:where(body) {
    color: #333;
    font-family: Noto Sans JP, Hiragino Kaku Gothic Pro, Meiryo, sans-serif;
    font-size: clamp(14px, calc(var(--vw)*.23981 + 13.06475px), 16px);
    line-height: 1.8;
    min-height: 100%;
    padding: 0;
    width: 100%;
    word-break: break-all
}

:where(main) {
    overflow-x: hidden
}

:where(h1, h2, h3, h4, h5, h6) {
    font-size: 1em;
    font-weight: inherit
}

:where(i, cite, em, address, dfn) {
    font-style: normal
}

:where(a) {
    color: inherit;
    text-decoration: none
}

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

:where(iframe, img, input, video, select, textarea) {
    height: auto;
    max-width: 100%
}

:where(small) {
    font-size: 100%
}

:where(input, select, textarea) {
    background-color: initial;
    border: 1px solid WindowFrame;
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    padding: .25em .5em
}

:where(select) {
    appearance: none;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='4'%3E%3Cpath d='M4 0h6L7 4'/%3E%3C/svg%3E") no-repeat 100%/1em;
    border-radius: 0;
    padding-right: 1em
}

:where(select[multiple]) {
    background-image: none
}

:where(input[type=text]) {
    line-height: normal
}

:where([type=text]::-ms-clear) {
    visibility: hidden
}

:where([type=password]::-ms-reveal) {
    visibility: hidden
}

:where([type=number]::-webkit-inner-spin-button),
:where([type=number]::-webkit-outer-spin-button) {
    appearance: none
}

:where(fieldset) {
    border: 0;
    min-width: auto;
    padding: 0
}

:where(legend) {
    display: block
}

:where([type=color i], [type=range i]) {
    border-width: 0;
    padding: 0
}

:where(button, input[type=submit]) {
    appearance: none;
    background: none;
    border: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    outline: none;
    padding: 0
}

:where([aria-disabled=true]),
:where([disabled]) {
    cursor: not-allowed
}

::selection {
    background-color: #C3001A80;
    color: #fff
}

.l-wrapper {
    background-color: #000;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    z-index: 1
}

.l-main {
    flex: 1 1;
    max-width: 100%;
    overflow: hidden
}

.c-button {
    align-items: center;
    background: #000;
    border-radius: calc(var(--vw)*11.53846);
    color: #fff;
    display: inline-flex;
    font-size: calc(var(--vw)*3.58974);
    font-weight: 700;
    height: calc(var(--vw)*13.33333);
    justify-content: center;
    position: relative;
    text-align: center;
    width: calc(var(--vw)*70.25641);
    z-index: 2
}

.c-button:after,
.c-button:before {
    border-radius: calc(var(--vw)*11.53846);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0
}

.c-button:before {
    border: calc(var(--vw)*.51282) solid #C3001A;
    z-index: -2
}

.c-button:after {
    background: #C3001A;
    opacity: 1;
    transition: opacity .2s linear;
    z-index: -1
}

.p-keyVisual {
    position: relative
}

.p-keyVisual__back {
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0
}

.p-keyVisual__back img {
    height: auto;
    width: 100%
}

.p-keyVisual__logo {
    left: calc(var(--vw)*10.92308);
    pointer-events: none;
    position: absolute;
    top: calc(var(--vw)*54.30769);
    width: calc(var(--vw)*80.15385);
    z-index: 1
}

.p-keyVisual__logo img {
    height: auto;
    width: 100%
}

.p-keyVisual__title {
    left: calc(var(--vw)*.51282);
    pointer-events: none;
    position: absolute;
    top: calc(var(--vw)*131.79487);
    width: calc(var(--vw)*98.58974);
    z-index: 1
}

.p-keyVisual__title img {
    height: auto;
    width: 100%
}

.p-keyVisual__desc {
    color: #fff;
    font-size: calc(var(--vw)*4.35897);
    font-weight: 700;
    left: calc(var(--vw)*6.41026);
    line-height: 1.6;
    position: absolute;
    top: calc(var(--vw)*173.33333);
    width: calc(var(--vw)*87.17949);
    z-index: 1
}

.p-intro {
    margin-top: calc(var(--vw)*214.10256);
    padding-bottom: calc(var(--vw)*24.61538);
    padding-top: calc(var(--vw)*78.20513);
    position: relative
}

.p-intro__back {
    display: flex;
    flex-direction: column;
    left: 0;
    -webkit-mask-size: cover;
    mask-size: cover;
    opacity: .72;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    top: 0;
    width: 100%
}

.p-intro__backLine {
    display: flex;
    height: 25%;
    overflow: hidden;
    position: relative
}

.p-intro__backLine--moveLeft .p-intro__backLineItem:first-child {
    animation: loop01 200s linear -100s infinite
}

.p-intro__backLine--moveLeft .p-intro__backLineItem:nth-child(2) {
    animation: loop02 200s linear infinite
}

.p-intro__backLine--moveRight .p-intro__backLineItem:first-child {
    animation: loop01 200s linear -100s infinite reverse
}

.p-intro__backLine--moveRight .p-intro__backLineItem:nth-child(2) {
    animation: loop02 200s linear infinite reverse
}

.p-intro__backLineItem {
    height: 100%;
    width: 481.6512820513%
}

.p-intro__backLineItem img {
    height: 100%;
    max-width: none;
    width: auto
}

.p-intro__body {
    color: #fff;
    padding-left: calc(var(--vw)*6.15385);
    padding-right: calc(var(--vw)*6.15385);
    position: relative;
    z-index: 1
}

.p-intro__title {
    font-size: calc(var(--vw)*8.20513);
    font-weight: 700;
    line-height: 1.4;
    text-shadow: 0 calc(var(--vw)*.51282) calc(var(--vw)*3.07692) #C3001A
}

.p-intro__desc {
    font-size: calc(var(--vw)*3.58974);
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 1.6;
    margin-top: calc(var(--vw)*6.15385);
    text-shadow: 0 0 calc(var(--vw)*1.02564) #C3001A
}

.p-intro__descNotice {
    font-size: calc(var(--vw)*3.07692);
    margin-top: calc(var(--vw)*4.10256)
}

.p-intro__card {
    left: calc(var(--vw)*28.20513);
    pointer-events: none;
    position: absolute;
    top: calc(var(--vw)*-7.07179);
    transform: rotate(8deg);
    width: calc(var(--vw)*50.77179);
    z-index: 1
}

.p-intro__card img {
    height: auto;
    width: 100%
}

.p-intro__cardFront {
    animation: cardFront 8s linear infinite;
    transform: perspective(600px) translateZ(0) rotate3d(0, 500, 0, 0turn)
}

.p-intro__cardBack,
.p-intro__cardFront {
    backface-visibility: hidden;
    left: 0;
    position: absolute;
    top: 0
}

.p-intro__cardBack {
    animation: cardBack 8s linear infinite;
    transform: perspective(600px) translateZ(1px) rotate3d(0, 500, 0, .5turn)
}

.p-intro__banner {
    margin: auto;
    max-width: calc(var(--vw)*87.69231);
    position: relative;
    z-index: 1
}

.p-intro__banner img {
    height: auto;
    pointer-events: none;
    width: 100%
}

.p-intro__banner a {
    display: block;
    transition: opacity .3s linear
}

.p-point {
    color: #fff;
    margin-top: calc(var(--vw)*24.61538);
    position: relative;
    z-index: 1
}

.p-point__back {
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1
}

.p-point__back img {
    height: auto;
    width: 100%
}

.p-point__sect {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: calc(var(--vw)*87.69231)
}

.p-point__sect+.p-point__sect {
    margin-top: calc(var(--vw)*24.61538)
}

.p-point__sectBody {
    margin-top: calc(var(--vw)*10.25641);
    z-index: 30;
}

.p-point__sectHead {
    align-items: flex-start;
    display: flex;
}

.p-point__sectHeadIcon {
    box-shadow: 0 0 calc(var(--vw)*3.93162) #C3001A;
    margin-right: calc(var(--vw)*4.10256);
    margin-top: calc(var(--vw)*1.02564);
    width: calc(var(--vw)*12.30769);
    max-width: calc(var(--vw)*10);
    min-width: calc(var(--vw)*12);
}

.p-point__sectHeadIcon img {
    height: auto;
    width: 100%
}

.p-point__sectTitle {
    font-size: calc(var(--vw)*5.12821);
    font-weight: 700;
    line-height: 1.4;
    text-shadow: 0 calc(var(--vw)*.51282) calc(var(--vw)*3.07692) #C3001A
}

.p-point__sectDesc {
    font-size: calc(var(--vw)*3.58974);
    letter-spacing: .02em;
    line-height: 1.6;
    margin-top: calc(var(--vw)*6.15385);
    text-shadow: 0 0 calc(var(--vw)*1.02564) #C3001A
}

.p-point__sectVis {
    margin-left: auto;
    margin-right: auto;
    order: -1;
    pointer-events: none;
    position: relative;
    width: calc(var(--vw)*50.41026);
    z-index: 1
}

.p-point__sectVis img {
    height: auto;
    width: 100%
}

.p-point__sectVisBack01,
.p-point__sectVisBack02 {
    display: block;
    pointer-events: none;
    position: absolute;
    z-index: -1
}

.p-point__spSect {
    padding-bottom: calc(var(--vw)*24.61538);
    padding-top: calc(var(--vw)*32.30769);
    position: relative
}

.p-point__spSectBack {
    left: 0;
    position: absolute;
    right: 0;
    top: calc(var(--vw)*-6.15385);
    z-index: -1
}

.p-point__spSectBack img {
    height: auto;
    width: 100%
}

.p-point__spSectBlock {
    display: flex;
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    width: calc(var(--vw)*87.69231)
}

.p-point__spSectBody {
    margin-top: calc(var(--vw)*10.25641)
}

.p-point__spSectTitle {
    font-size: calc(var(--vw)*5.12821);
    font-weight: 700;
    line-height: 1.4;
    text-shadow: 0 calc(var(--vw)*.51282) calc(var(--vw)*3.07692) #C3001A;
    text-align: center;
}

.p-point__spSectDesc {
    font-size: calc(var(--vw)*3.58974);
    letter-spacing: .02em;
    line-height: 1.6;
    margin-top: calc(var(--vw)*6.15385);
    text-shadow: 0 0 calc(var(--vw)*1.02564) #C3001A
}

.p-point__spSectVis {
    margin-left: auto;
    margin-right: auto;
    order: -1;
    pointer-events: none;
    position: relative;
    width: calc(var(--vw)*50.41026);
    z-index: 1
}

.p-point__spSectVis img {
    height: auto;
    width: 100%
}

.p-qa {
    color: #fff;
    padding-bottom: calc(var(--vw)*30.76923)
}

.p-qa__inner {
    margin-left: auto;
    margin-right: auto;
    width: calc(var(--vw)*87.69231)
}

.p-qa__title {
    font-size: calc(var(--vw)*8.20513);
    font-weight: 700;
    line-height: 1.4;
    text-shadow: 0 0 calc(var(--vw)*3.07692) #C3001Acc
}

.p-qa__list {
    margin-top: calc(var(--vw)*6.15385)
}

.p-qa__more {
    display: flex;
    justify-content: center;
    margin-top: calc(var(--vw)*10.25641)
}

.p-qaList {
    border-top: 1px solid #fff
}

.p-qaList__item {
    border-bottom: 1px solid #fff
}

.p-qaList__itemTab {
    display: flex;
    padding: calc(var(--vw)*7.4359) calc(var(--vw)*10.25641) calc(var(--vw)*7.4359) calc(var(--vw)*11.28205);
    position: relative;
    text-align: left;
    width: 100%
}

.p-qaList__itemTab:before {
    background: url(../images/text-question.webp) no-repeat 50%/contain;
    box-shadow: 0 0 calc(var(--vw)*3.93162) #C3001A;
    content: "";
    height: calc(var(--vw)*8.20513);
    left: 0;
    position: absolute;
    top: calc(var(--vw)*6.15385);
    width: calc(var(--vw)*8.20513)
}

.p-qaList__itemTab[aria-expanded=true] .p-qaList__itemTabIcon {
    transform: scaleY(-1)
}

.p-qaList__itemTabName {
    font-size: calc(var(--vw)*4.10256);
    font-weight: 700;
    line-height: 1.4;
    position: relative;
    text-shadow: 0 calc(var(--vw)*.51282) calc(var(--vw)*3.07692) #C3001A
}

.p-qaList__itemTabIcon {
    background: url(../images/icon-arrow_bottom_white.svg) no-repeat 50%/contain;
    bottom: 0;
    height: calc(var(--vw)*5.12821);
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    transition: transform .3s ease;
    width: calc(var(--vw)*5.12821)
}

.p-qaList__itemPanel {
    max-height: 0;
    overflow: hidden
}

.p-qaList__itemPanelCont {
    font-size: calc(var(--vw)*3.58974);
    letter-spacing: .02em;
    line-height: 1.6;
    padding-bottom: calc(var(--vw)*8.20513);
    text-shadow: 0 0 calc(var(--vw)*1.02564) #C3001A
}

.p-qaList__itemPanelCont>* {
    margin-bottom: 1em;
    margin-top: 1em
}

.p-qaList__itemPanelCont>:first-child {
    margin-top: 0 !important
}

.p-qaList__itemPanelCont>:last-child {
    margin-bottom: 0 !important
}

.p-qaList__itemPanelCont a:not([class]) {
    background-image: url(../images/bg-txtline.png);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% 1px;
    display: inline;
    text-decoration: none;
    transition: all .5s cubic-bezier(.09, .79, .16, .96) 0s;
    transition-property: border, background, color
}

.p-floatQr {
    display: none;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    transition: opacity .3s linear;
    z-index: 1000
}

.p-floatQr.is-show {
    opacity: 1;
    pointer-events: auto
}

.p-footer {
    color: #fff;
    margin-bottom: calc(var(--vw)*43.33333);
    padding-bottom: calc(var(--vw)*10.76923);
    transition: color .2s linear
}

.p-footer__nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center
}

.p-footer__navItem {
    margin-left: calc(var(--vw)*6.41026);
    margin-right: calc(var(--vw)*6.41026);
    position: relative
}

.p-footer__navItem+.p-footer__navItem:before {
    background: #fff3;
    content: "";
    height: calc(var(--vw)*5.12821);
    left: calc(var(--vw)*-6.41026);
    position: absolute;
    top: 0;
    width: calc(var(--vw)*.25641)
}

.p-footer__navItemInner {
    align-items: center;
    color: #fff;
    display: flex;
    transition: color .2s linear
}

.p-footer__navItemIcon {
    display: inline-flex;
    height: calc(var(--vw)*4.61538);
    margin-right: calc(var(--vw)*1.02564);
    position: relative;
    width: calc(var(--vw)*4.61538)
}

.p-footer__navItemIcon:after,
.p-footer__navItemIcon:before {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    transition: opacity .2s linear;
    width: 100%
}

.p-footer__navItemIcon--typeMail:before {
    background: url(../images/icon-mail_white.svg) no-repeat 50%/contain
}

.p-footer__navItemIcon--typeMail:after {
    background: url(../images/icon-mail_hover.svg) no-repeat 50%/contain;
    opacity: 0
}

.p-footer__copyright {
    font-family: Roboto, Hiragino Kaku Gothic Pro, Meiryo, sans-serif;
    font-size: calc(var(--vw)*2.30769);
    letter-spacing: .04em;
    margin-top: calc(var(--vw)*12.30769);
    text-align: center
}

.p-footer__copyright small {
    font-size: 100%
}

.p-actionFoot {
    align-items: center;
    background: linear-gradient(180deg, #C3001A00, #C3001ACC 55%, #C3001ACC 65%, #000000CC);
    bottom: 0;
    display: flex;
    justify-content: center;
    left: 0;
    min-height: calc(var(--vw)*40);
    min-width: 320px;
    pointer-events: none;
    position: fixed;
    right: 0;
    transition: transform .2s ease-out;
    z-index: 100
}

.p-actionFootNav {
    display: flex;
    flex-direction: column
}

.p-actionFootNav__item {
    align-items: center;
    border-radius: calc(var(--vw)*11.53846);
    box-shadow: 0 calc(var(--vw)*1.02564) calc(var(--vw)*3.07692) #00000040;
    display: inline-flex;
    font-weight: 700;
    height: calc(var(--vw)*12.30769);
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    pointer-events: auto;
    position: relative;
    width: calc(var(--vw)*77.94872);
    z-index: 3
}

.p-actionFootNav__item+.p-actionFootNav__item {
    margin-top: calc(var(--vw)*3.07692)
}

.p-actionFootNav__item:after,
.p-actionFootNav__item:before {
    border-radius: calc(var(--vw)*11.53846);
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.p-actionFootNav__item--typeEntry {
    color: #C3001A;
    font-size: calc(var(--vw)*4.61538);
    transition: color .2s linear
}

.p-actionFootNav__item--typeEntry:before {
    background: #fff;
    opacity: 1;
    transition: opacity .2s linear;
    z-index: -2
}

.p-actionFootNav__item--typeEntry:after {
    border: calc(var(--vw)*.51282) solid #fff;
    z-index: -1
}

.p-actionFootNav__item--typeLogin {
    color: #fff;
    font-size: calc(var(--vw)*3.58974);
    transition: color .2s linear
}

.p-actionFootNav__item--typeLogin:before {
    background: #fff;
    opacity: 0;
    transition: opacity .2s linear;
    z-index: -2
}

.p-actionFootNav__item--typeLogin:after {
    border: calc(var(--vw)*.51282) solid #fff;
    z-index: -1
}

.p-actionFootNav__itemInner {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

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

.u-forPC {
    display: none
}

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

.x-btn {
    border: 1px solid #FFF;
    background-color: #000;
    margin-bottom: 100px
}

.x-logo {
    width: 20px;
    margin: auto 5px 2px 0
}

@media not screen and (min-width:768px) {
    .p-intro__back {
        aspect-ratio: 390/760;

        mask-image: linear-gradient(180deg,  transparent, #ffffffcc 30% 70%, transparent);
		
		-webkit-mask-mode: alpha;
		mask-mode: alpha;

    }

    .p-point__sectVisBack01 {
        background: url(../images/bg-point_circle_01_sp.webp) no-repeat 50%/contain;
        height: calc(var(--vw)*109.48718);
        right: calc(var(--vw)*-35.89744);
        top: calc(var(--vw)*-43.58974);
        width: calc(var(--vw)*93.84615)
    }

    .p-point__sectVisBack02 {
        background: url(../images/bg-point_circle_02_sp.webp) no-repeat 50%/contain;
        height: calc(var(--vw)*167.5641);
        right: calc(var(--vw)*-44.74359);
        top: calc(var(--vw)*-25.89744);
        width: calc(var(--vw)*117.82051)
    }
}

@media screen and (min-width:768px) {
    .c-button {
        border-radius: calc(var(--vw)*3.67647);
        font-size: calc(var(--vw)*1.96078);
        height: calc(var(--vw)*6.69935);
        width: calc(var(--vw)*37.6634)
    }

    .c-button:after,
    .c-button:before {
        border-radius: calc(var(--vw)*3.67647);
        bottom: 0;
        left: 0;
        right: 0;
        top: 0
    }

    .c-button:before {
        border: calc(var(--vw)*.1634) solid #C3001A
    }

    .p-keyVisual__logo {
        left: calc(var(--vw)*7.1);
        top: calc(var(--vw)*8.8824);
        width: calc(var(--vw)*35.41176)
    }

    .p-keyVisual__title {
        left: calc(var(--vw)*4.24837);
        top: calc(var(--vw)*33.90523);
        width: calc(var(--vw)*40.97222)
    }

    .p-keyVisual__desc {
        font-size: calc(var(--vw)*1.96078);
        left: calc(var(--vw)*8.16993);
        top: calc(var(--vw)*51.14379);
        width: auto
    }

    .p-intro {
        margin-top: calc(var(--vw)*58.98693);
        padding-bottom: calc(var(--vw)*17.48366);
        padding-top: calc(var(--vw)*10.45752)
    }

    .p-intro__back {
        aspect-ratio: 1224/720;
        mask-image: linear-gradient(180deg,  transparent, #ffffffcc 30% 70%, transparent);
		
		-webkit-mask-mode: alpha;
		mask-mode: alpha;

    }

    .p-intro__backLine {
        height: 25%
    }

    .p-intro__backLineItem {
        width: 145.3897058824%
    }

    .p-intro__body {
        margin-left: calc(var(--vw)*9.80392);
        padding: 0;
        width: calc(var(--vw)*44.44444)
    }

    .p-intro__title {
        font-size: calc(var(--vw)*3.92157);
        text-shadow: 0 calc(var(--vw)*.1634) calc(var(--vw)*3.92157) #C3001A
    }

    .p-intro__desc {
        font-size: calc(var(--vw)*1.30719);
        margin-top: calc(var(--vw)*3.02288);
        text-shadow: 0 0 calc(var(--vw)*.73529) #C3001A
    }

    .p-intro__descNotice {
        font-size: calc(var(--vw)*.98039);
        margin-top: calc(var(--vw)*3.92157)
    }

    .p-intro__card {
        left: calc(var(--vw)*65.02778);
        top: calc(var(--vw)*13.97467);
        width: calc(var(--vw)*20.91503)
    }

    .p-intro__banner {
        max-width: calc(var(--vw)*73.20261)
    }

    .p-point {
        margin-top: calc(var(--vw)*13.0719)
    }

    .p-point__sect {
        align-items: center;
        flex-direction: row;
        width: calc(var(--vw)*73.20261)
    }

    .p-point__sect:not(.p-point__sect--posReverse) .p-point__sectVis {
        margin-right: calc(var(--vw)*5.91667)
    }

    .p-point__sect--posReverse {
        padding-left: calc(var(--vw)*.98039)
    }

    .p-point__sect--posReverse .p-point__sectVis {
        margin-left: calc(var(--vw)*5.91667);
        order: 0
    }

    .p-point__sect+.p-point__sect {
        margin-top: calc(var(--vw)*6.53595)
    }

    .p-point__sectBody {
        margin-top: 0
    }

    .p-point__sectHeadIcon {
        box-shadow: 0 0 calc(var(--vw)*1.25272) #C3001A;
        margin-right: calc(var(--vw)*1.96078);
        margin-top: calc(var(--vw)*.73529);
        width: calc(var(--vw)*5.88235);
        max-width: calc(var(--vw)*5.88235);
        min-width: calc(var(--vw)*5.88235);
    }

    .p-point__sectTitle {
        font-size: calc(var(--vw)*2.61438);
        text-shadow: 0 calc(var(--vw)*.1634) calc(var(--vw)*3.92157) #C3001A
    }

    .p-point__sectDesc {
        font-size: calc(var(--vw)*1.30719);
        margin-top: calc(var(--vw)*2.61438);
        text-shadow: 0 0 calc(var(--vw)*.73529) #C3001A;
        width: calc(var(--vw)*41.83007)
    }

    .p-point__sectVis {
        margin-left: 0;
        margin-right: 0;
        max-width: calc(var(--vw)*18);
    }

    .p-point__sectVisBack01 {
        background: url(../images/bg-point_circle_01_pc.webp) no-repeat 50%/contain;
        height: calc(var(--vw)*62.3366);
        right: calc(var(--vw)*-11.43791);
        top: calc(var(--vw)*-11.43791);
        width: calc(var(--vw)*41.09477)
    }

    .p-point__sectVisBack02 {
        background: url(../images/bg-point_circle_02_pc.webp) no-repeat 50%/contain;
        height: calc(var(--vw)*67.32026);
        right: calc(var(--vw)*-14.6585);
        top: calc(var(--vw)*-13.0719);
        width: calc(var(--vw)*43.21895)
    }

    .p-point__spSect {
        padding-bottom: calc(var(--vw)*13.0719);
        padding-top: calc(var(--vw)*6.53595)
    }

    .p-point__spSectBack {
        top: calc(var(--vw)*-10.53922)
    }

    .p-point__spSectBlock {
        align-items: center;
        flex-direction: row;
        margin-left: calc(var(--vw)*13.39869);
        margin-right: 0;
        width: calc(var(--vw)*65.19608)
    }

    .p-point__spSectBody {
        margin-top: 0;
        width: calc(var(--vw)*39.21569)
    }

    .p-point__spSectTitle {
        font-size: calc(var(--vw)*2.61438);
        text-shadow: 0 calc(var(--vw)*.1634) calc(var(--vw)*3.92157) #C3001A;
        text-align: left;
    }

    .p-point__spSectDesc {
        font-size: calc(var(--vw)*1.30719);
        margin-top: calc(var(--vw)*2.61438);
        text-shadow: 0 0 calc(var(--vw)*.73529) #C3001A
    }

    .p-point__spSectVis {
        margin-left: 0;
        margin-right: calc(var(--vw)*6.57026);
        width: calc(var(--vw)*19.41013)
    }

    .p-qa {
        padding-bottom: calc(var(--vw)*16.99346)
    }

    .p-qa__inner {
        width: calc(var(--vw)*73.28431)
    }

    .p-qa__title {
        font-size: calc(var(--vw)*3.92157);
        text-shadow: 0 0 calc(var(--vw)*3.92157) #C3001Acc
    }

    .p-qa__list {
        margin-top: calc(var(--vw)*3.26797)
    }

    .p-qa__more {
        margin-top: calc(var(--vw)*5.22876)
    }

    .p-qaList__itemTab {
        padding: calc(var(--vw)*3.18627) calc(var(--vw)*5.88235) calc(var(--vw)*3.18627) calc(var(--vw)*5.22876)
    }

    .p-qaList__itemTab:before {
        box-shadow: 0 0 calc(var(--vw)*1.25272) #C3001A;
        height: calc(var(--vw)*3.92157);
        top: calc(var(--vw)*2.61438);
        width: calc(var(--vw)*3.92157)
    }

    .p-qaList__itemTabName {
        font-size: calc(var(--vw)*1.96078);
        text-shadow: 0 calc(var(--vw)*.1634) calc(var(--vw)*3.92157) #C3001A
    }

    .p-qaList__itemTabIcon {
        height: calc(var(--vw)*2.61438);
        width: calc(var(--vw)*2.61438)
    }

    .p-qaList__itemPanelCont {
        font-size: calc(var(--vw)*1.30719);
        padding-bottom: calc(var(--vw)*3.92157);
        text-shadow: 0 0 calc(var(--vw)*.73529) #C3001A
    }

    .p-floatQr {
        background: url(../images/img-page_qr.webp) no-repeat 50%/contain;
        bottom: calc(var(--vw)*1.30719);
        display: block;
        height: calc(var(--vw)*12.0915);
        right: calc(var(--vw)*1.30719);
        width: calc(var(--vw)*8.49673)
    }

    .p-footer {
        margin-bottom: 0;
        padding-bottom: calc(var(--vw)*1.96078)
    }

    .p-footer__navItem {
        margin-left: calc(var(--vw)*2.04248);
        margin-right: calc(var(--vw)*2.04248)
    }

    .p-footer__navItem+.p-footer__navItem:before {
        height: calc(var(--vw)*1.63399);
        left: calc(var(--vw)*-2.04248);
        width: calc(var(--vw)*.0817)
    }

    .p-footer__navItemIcon {
        height: calc(var(--vw)*1.47059);
        margin-right: calc(var(--vw)*.3268);
        width: calc(var(--vw)*1.47059)
    }

    .p-footer__copyright {
        font-size: calc(var(--vw)*.81699);
        margin-top: calc(var(--vw)*3.92157)
    }

    .p-actionFoot,
    .u-forSP {
        display: none
    }

    .u-forPC {
        display: block
    }
}

@media (hover:hover) and (pointer:fine) {
    .c-button:hover:after {
        opacity: 0
    }

    .p-intro__banner a:hover {
        opacity: .8
    }

    .p-qaList__itemPanelCont a:not([class]):hover {
        animation: lineLink .5s cubic-bezier(.18, .64, .36, 1.01) 0s
    }

    .p-footer__navItemInner:hover {
        color: #c3001a
    }

    .p-footer__navItemInner:hover .p-footer__navItemIcon:before {
        opacity: 0
    }

    .p-footer__navItemInner:hover .p-footer__navItemIcon:after {
        opacity: 1
    }
}

@media (prefers-reduced-motion:reduce) {

    *,
    :after,
    :before {
        animation-delay: -1ms !important;
        animation-duration: 1ms !important;
        animation-iteration-count: 1 !important;
        background-attachment: scroll !important;
        scroll-behavior: auto !important;
        transition-delay: 0s !important;
        transition-duration: 0s !important
    }
}

/* MV_スクロール */

/* .p-footer__navItemIcon--typeMail:before{background:url(../images/icon-mail_red.svg) no-repeat 50%/contain} */
.scrlara {
    position: absolute;
    transform: translate(0, -50%) rotate(90deg);
    top: 60%;
    right: -3em;
    font-size: .7em;
    color: #fff;
    display: flex;
    align-items: center;
    transition: .3s;
    letter-spacing: .2em;
}

.scrlara span {
    background: #55555520;
    height: 1px;
    width: 7em;
    margin-left: .5em;
    display: inline-block;
}

.scrlara span:before {
    content: '';
    background: #fff;
    animation: scrl 5s infinite;
    height: 1px;
    width: 100%;
    display: block;
}

.is-scroll .scrlara {
    opacity: 0;
}


@keyframes scrl {
    0% {
        transform: scaleX(0);
        transform-origin: left;
    }

    49% {
        transform-origin: left;
    }

    50% {
        transform: scaleX(1);
        transform-origin: right;
    }

    100% {
        transform: scaleX(0);
        transform-origin: right;
    }
}

@media screen and (max-width: 767px) {
    .p-intro__title {
        font-size:min(7.7vw, 3em);
        text-align: center;
    }

    .p-keyVisual {
        position: static;
    }

    .p-keyVisual__logo {
        /* top: auto; */
        /* bottom: 3%; */
        /* max-width:200px; */
        transform: translate(-50%, 50%);
        left: 50%;
        width: 65%;
    }

    .scrlara {
        transform: translate(0, 0) rotate(90deg);
        top: auto;
        right: -4em;
        bottom: 30vh;
        z-index: 101;
    }
}

@media screen and (min-width: 767px) {
    .p-keyVisual {
        /* position:static; */ padding-top:min(60%, 100vh);
    }

   

    .p-intro {
        margin-top: 0;
    }

   
    .p-point__sectHead {
        align-items: center;
    }

    .p-point__sectTitle {
        font-size: min(2.5vw, 2.5em);
    }

    .p-point__sectDesc p {
        font-size: min(1.25vw, 1em);
    }
}
