﻿@font-face {
    font-family: "icomoon";
    src: url("../fonts/icomoon.ttf?i95fg9") format("truetype"), url("../fonts/icomoon.woff?i95fg9") format("woff"), url("../fonts/icomoon.svg?i95fg9#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

.ico-ic_pdf:before {
    content: ""
}

.ico-ic-right-p:before {
    content: ""
}

.ico-ext-link:before {
    content: ""
}

.ico-right:before {
    content: ""
}

.icon-ic_check:before {
    content: ""
}

.icon-right_2:before {
    content: ""
}

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, address, em, img, strong, sub, sup, b, i, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, figcaption, figure, footer, header, hgroup, menu, nav, section, time, audio, video, fieldset {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    font-style: normal;
    vertical-align: baseline;
    background:transparent
}

html {
    -webkit-text-size-adjust:100%
}

img, svg {
    line-height: 0;
    vertical-align:top
}

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

nav ul {
    list-style:none
}

blockquote, q {
    quotes:none
}

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

a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background:transparent
}

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

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

input, select, label {
    vertical-align:top
}

input, textarea, button {
    font-family: inherit;
    font-size: inherit;
    outline: none;
    resize:none
}

button {
    cursor:pointer
}

*, ::before, ::after {
    box-sizing: border-box;
    overflow-wrap:break-word
}

html {
    font-size:14px
}

@media (min-width: 768px) {
    html {
        font-size:12px
    }
}

@media (min-width: 901px) {
    html {
        font-size:1.21vw
    }
}

@media (min-width: 1320px) {
    html {
        font-size:16px
    }
}

body {
    color: #222;
    font-family: "Noto Sans JP", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1.75;
    transition:opacity .3s ease
}

body.is-hidden {
    opacity:0
}

a:not(.c-txt-link) {
    text-decoration:none
}

ul:not(.c-basic-list) {
    list-style:none
}

img.ofi {
    height: 100%;
    width: 100%;
    object-fit: cover;
    font-family: "object-fit: cover;"
}

@media (max-width: 767px) {
    .pc {
        display:none !important
    }
}

@media (min-width: 901px) {
    ._tb {
        display:none !important
    }
}

@media (min-width: 768px) {
    .sp {
        display:none !important
    }
}

.c-row {
    display: flex;
    flex-wrap:wrap
}

.c-col, .f-content.-file-wrap, .p-funcrest__item, .p-service__heading, .p-guidelines__sec__heading, .p-page__relation__bnr-inner .c-mid-heading[data-eng] {
    display: flex;
    flex-direction: column;
    align-items:center
}

@media all and (-ms-high-contrast: none) {
    .c-col > *, .f-content.-file-wrap > *, .p-funcrest__item > *, .p-service__heading > *, .p-guidelines__sec__heading > *, .p-page__relation__bnr-inner .c-mid-heading[data-eng] > * {
        min-height: 0%;
        max-width:100%
    }
}

.c-col-row, .p-service-page__lead {
    display:flex
}

@media (max-width: 767px) {
    .c-col-row, .p-service-page__lead {
        flex-direction: column;
        align-items:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .c-col-row > *, .p-service-page__lead > * {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .c-col-row.-wrap, .-wrap.p-service-page__lead {
        flex-wrap:wrap
    }
}

.c-container, .p-page__container {
    padding-left: 8vw;
    padding-right:8vw
}

@media (min-width: 768px) {
    .c-container, .p-page__container {
        padding-left: 5vw;
        padding-right:5vw
    }
}

@media (min-width: 901px) {
    .c-container, .p-page__container {
        padding-left: 4.55%;
        padding-right:4.55%
    }
}

@media (min-width: 1320px) {
    .c-container, .p-page__container {
        padding-left: calc(50% - 600px);
        padding-right:calc(50% - 600px)
    }
}

.c-container-right {
    padding-left:8vw
}

@media (min-width: 768px) {
    .c-container-right {
        padding-left:5vw
    }
}

@media (min-width: 901px) {
    .c-container-right {
        padding-left:4.55%
    }
}

@media (min-width: 1320px) {
    .c-container-right {
        padding-left:calc(50% - 600px)
    }
}

.c-inner, .p-page__head {
    width:84vw
}

@media (min-width: 768px) {
    .c-inner, .p-page__head {
        width:90vw
    }
}

@media (min-width: 901px) {
    .c-inner, .p-page__head {
        width:90.91%
    }
}

@media (min-width: 1320px) {
    .c-inner, .p-page__head {
        width:1200px
    }
}

.c-inner--small {
    width:84vw
}

@media (min-width: 768px) {
    .c-inner--small {
        width:90vw
    }
}

@media (min-width: 901px) {
    .c-inner--small {
        width:69.7%
    }
}

@media (min-width: 1320px) {
    .c-inner--small {
        width:920px
    }
}

@media (min-width: 901px) and(max-width: 1319px) {
    .p-page__container .c-inner--small {
        width:76.67%
    }
}

.c-inner--x-small, .p-simple-sec {
    width:84vw
}

@media (min-width: 768px) {
    .c-inner--x-small, .p-simple-sec {
        width:90vw
    }
}

@media (min-width: 901px) {
    .c-inner--x-small, .p-simple-sec {
        width:66.67%
    }
}

@media (min-width: 1320px) {
    .c-inner--x-small, .p-simple-sec {
        width:880px
    }
}

@media (min-width: 901px) and(max-width: 1319px) {
    .p-page__container .c-inner--x-small, .p-page__container .p-simple-sec {
        width:73.33%
    }
}

.c-inner--mid {
    width:84vw
}

@media (min-width: 768px) {
    .c-inner--mid {
        width:90vw
    }
}

@media (min-width: 901px) {
    .c-inner--mid {
        width:80.3%
    }
}

@media (min-width: 1320px) {
    .c-inner--mid {
        width:1060px
    }
}

@media (min-width: 901px) and(max-width: 1319px) {
    .p-page__container .c-inner--mid {
        width:88.33%
    }
}

.c-top__heading {
    color: #222;
    display: flex;
    align-items: center;
    line-height: 1.5;
    letter-spacing: .05em;
    font-size:18px
}

@media (min-width: 768px) {
    .c-top__heading {
        line-height: 1.5;
        font-size:1.88rem
    }
}

.c-top__heading.-bb {
    border-bottom: 1px solid #afafaf;
    padding-bottom:22px
}

@media (min-width: 768px) {
    .c-top__heading.-bb {
        padding-bottom:4.5rem
    }
}

.c-top__heading::before {
    content: "";
    order: 1;
    width: 1px;
    background-color: #afafaf;
    height: 10px;
    margin-left:20px
}

@media (min-width: 768px) {
    .c-top__heading::before {
        height: .88rem;
        margin-left:2rem
    }
}

.c-top__heading::after {
    order: 1;
    content: attr(data-eng);
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-size: 10px;
    margin-left:20px
}

@media (min-width: 768px) {
    .c-top__heading::after {
        font-size: .88rem;
        margin-left:2rem
    }
}

.c-top__heading.-white {
    color:#fff
}

.c-top__heading.-white::before {
    background-color:#fff
}

.c-heading1 {
    color: #222;
    line-height: 1.5;
    letter-spacing: .05em;
    font-size:18px
}

@media (min-width: 768px) {
    .c-heading1 {
        line-height: 1.5;
        font-size:1.88rem
    }
}

.c-heading1.-center {
    text-align:center
}

.c-heading1.-b {
    font-weight:bold
}

.c-heading1.-bl {
    position: relative;
    padding-left:1em
}

.c-heading1.-bl::before {
    position: absolute;
    top: .17em;
    bottom: .17em;
    left: 0;
    background-color: #36bce2;
    width: .2em;
    border-radius: .1em;
    content: ""
}

.c-heading1.-bl.-eng {
    font-size: 27px;
    line-height: 1.13;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

@media (min-width: 768px) {
    .c-heading1.-bl.-eng {
        font-size:2.5rem
    }
}

.c-heading1.-bl.-eng::before {
    top: .13em;
    bottom: .13em;
    width: .15em;
    border-radius:.08em
}

.c-mid-heading {
    font-size: 16px;
    font-weight: 500;
    letter-spacing:.05em
}

@media (min-width: 768px) {
    .c-mid-heading {
        font-size: 1.56rem;
        line-height:1.48
    }
}

.c-mid-heading:not(.-bl):not(.-no-crop)::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.48) * .5em);
    content: ""
}

.c-mid-heading:not(.-bl):not(.-no-crop)::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.48) * .5em);
    content: ""
}

.c-mid-heading.-eng {
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.c-mid-heading.-eng b {
    font-weight:bold
}

.c-mid-heading.-b {
    font-weight:bold
}

.c-mid-heading.-bl {
    position: relative;
    padding-left:1.16em
}

.c-mid-heading.-bl::before {
    position: absolute;
    top: .12em;
    bottom: .12em;
    left: 0;
    background-color: #36bce2;
    width: .24em;
    border-radius: .12em;
    content: ""
}

.c-mid-heading.-bl.-orange:before {
    background-color:#eb8523
}

.c-small-heading {
    color: #3e3a39;
    font-size: 14px;
    font-weight: bold;
    letter-spacing:.05em
}

@media (min-width: 768px) {
    .c-small-heading {
        font-size: 1.06rem;
        line-height:1.47
    }
}

.c-small-heading.-b {
    font-weight:bold
}

.c-heading-bar {
    display: flex;
    align-items: center;
    font-size: 12px;
    font-weight: bold;
    width:100%
}

@media (min-width: 768px) {
    .c-heading-bar {
        font-size:.88rem
    }
}

.c-heading-bar span {
    padding-left: 1.43em;
    padding-right: 1.43em;
    flex:0 0 auto
}

.c-heading-bar::before, .c-heading-bar::after {
    content: "";
    height: 1px;
    width: 50%;
    flex: 1;
    background-color:#d8d8d8
}

.c-top__lead {
    margin-top:30px
}

@media (min-width: 768px) {
    .c-top__lead {
        margin-top:4.5rem
    }
}

.c-pic {
    border-radius: 10px;
    z-index: 1;
    overflow:hidden
}

@media (min-width: 768px) {
    .c-pic {
        border-radius:1.25rem
    }
}

@media (min-width: 768px) {
    .c-pic.-r10 {
        border-radius:.63rem
    }
}

.c-pic.-r5 {
    border-radius:5px
}

@media (min-width: 768px) {
    .c-pic.-r5 {
        border-radius:.31rem
    }
}

.c-pic.-bb {
    border:1px solid #d8d8d8
}

.c-txt, .p-period__block__item dt {
    color: #3e3a39;
    text-align: justify;
    font-size: 12px;
    letter-spacing:.05em
}

@media (min-width: 768px) {
    .c-txt, .p-period__block__item dt {
        font-size: .88rem;
        line-height:2.14
    }

    .c-txt:not(.-no-crop)::before, .p-period__block__item dt:not(.-no-crop)::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 2.14) * .5em);
        content: ""
    }

    .c-txt:not(.-no-crop)::after, .p-period__block__item dt:not(.-no-crop)::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 2.14) * .5em);
        content: ""
    }
}

@media all and (-ms-high-contrast: none) {
    .c-txt, .p-period__block__item dt {
        text-justify:inter-ideograph
    }
}

.c-txt.-w, .p-period__block__item dt.-w {
    color:#fff
}

.c-txt.-color, .p-period__block__item dt.-color {
    color:#36bce2
}

.c-txt.-b, .p-period__block__item dt.-b {
    font-weight:bold
}

.c-txt.-m, .p-period__block__item dt.-m {
    font-weight:500
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-txt.-link:hover, .p-period__block__item dt.-link:hover {
        text-decoration:underline
    }
}

.c-txt.-bb, .p-period__block__item dt.-bb {
    border-bottom: 1px solid #36bce2;
    line-height: 1.43;
    padding-bottom:.31rem
}

.c-txt.-no-crop + .c-txt, .p-period__block__item dt.-no-crop + .c-txt, .p-period__block__item .c-txt.-no-crop + dt, .p-period__block__item dt.-no-crop + dt {
    margin-top:1.75em
}

@media (min-width: 768px) {
    .c-txt.-no-crop + .c-txt, .p-period__block__item dt.-no-crop + .c-txt, .p-period__block__item .c-txt.-no-crop + dt, .p-period__block__item dt.-no-crop + dt {
        margin-top:1.76em
    }
}

.c-txt-mark {
    color: #3e3a39;
    text-align: justify;
    font-size: 12px;
    letter-spacing: .05em;
    text-indent: -1.05em;
    padding-left:1.05em
}

@media (min-width: 768px) {
    .c-txt-mark {
        font-size: .88rem;
        line-height:2.14
    }
}

@media all and (-ms-high-contrast: none) {
    .c-txt-mark {
        text-justify:inter-ideograph
    }
}

.c-txt2, .is-confirmed .f-confirm-content, .f-label .err-txt, .f-label {
    color: #3e3a39;
    text-align: justify;
    font-size: 12px;
    letter-spacing:.05em
}

@media (min-width: 768px) {
    .c-txt2, .is-confirmed .f-confirm-content, .f-label .err-txt, .f-label {
        font-size: .88rem;
        line-height:1.43
    }

    .c-txt2.-crop::before, .is-confirmed .-crop.f-confirm-content::before, .f-label .-crop.err-txt::before, .-crop.f-label::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.43) * .5em);
        content: ""
    }

    .c-txt2.-crop::after, .is-confirmed .-crop.f-confirm-content::after, .f-label .-crop.err-txt::after, .-crop.f-label::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.43) * .5em);
        content: ""
    }
}

.c-txt2.-b, .is-confirmed .-b.f-confirm-content, .f-label .-b.err-txt, .-b.f-label {
    font-weight:bold
}

.c-txt2.-color, .is-confirmed .-color.f-confirm-content, .f-label .-color.err-txt, .-color.f-label {
    color:#00a4d2
}

.c-txt-l {
    font-size:14px
}

@media (min-width: 768px) {
    .c-txt-l {
        font-size: 1.25rem;
        line-height:2
    }
}

.c-txt-l.-m {
    font-weight:500
}

.c-txt-l + .c-txt-l {
    margin-top:1.75em
}

@media (min-width: 768px) {
    .c-txt-l + .c-txt-l {
        margin-top:2em
    }
}

.c-txt-l.-top-crop::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.75) * .5em);
    content: ""
}

@media (min-width: 768px) {
    .c-txt-l.-top-crop::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 2) * .5em);
        content: ""
    }
}

.c-txt-l.-btm-crop::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.75) * .5em);
    content: ""
}

@media (min-width: 768px) {
    .c-txt-l.-btm-crop::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 2) * .5em);
        content: ""
    }
}

.c-bg {
    background-color:#fafafa
}

.c-box, .p-page__relation__bnr {
    background-color: #fff;
    border-radius:10px
}

@media (min-width: 768px) {
    .c-box, .p-page__relation__bnr {
        border-radius:.63rem
    }
}

.c-box.-bd-color, .-bd-color.p-page__relation__bnr {
    border:1px solid #36bce2
}

.c-bd-box {
    border:1px solid #d8d8d8
}

.c-bd-box.-rd {
    border-radius:10px
}

@media (min-width: 768px) {
    .c-bd-box.-rd {
        border-radius:.63rem
    }
}

.c-btn {
    position: relative;
    background-color: rgba(0, 0, 0, 0);
    border: 1px solid #afafaf;
    color: #222;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    letter-spacing: .05em;
    transition: background-color .4s ease, border-color .4s ease, box-shadow .4s ease;
    border-radius: 23px;
    height: 46px;
    width: 166px;
    font-size:12px
}

@media (min-width: 768px) {
    .c-btn {
        border-radius: 1.92em;
        font-size: .75rem;
        height: 3.83em;
        width: 13.83em;
        margin-top: 2.31rem;
        padding-top:.13rem
    }
}

.c-btn::before {
    position: absolute;
    background-color: #00a4d2;
    top: -1px;
    left: -1px;
    right: -1px;
    bottom: -1px;
    content: "";
    border-radius: 23px;
    opacity: 0;
    transform: scale(0);
    transition:opacity .25s ease, transform .25s ease
}

@media (min-width: 768px) {
    .c-btn::before {
        border-radius:1.92em
    }
}

.c-btn span, .c-btn b {
    position:relative
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-btn:hover {
        box-shadow: 3px 3px 10px rgba(0, 0, 0, .16);
        color:#fff
    }

    .c-btn:hover::before {
        opacity: 1;
        transform:scale(1)
    }
}

.c-btn.-mid {
    width:206px
}

@media (min-width: 768px) {
    .c-btn.-mid {
        width:17.17em
    }
}

.c-btn.-mid2 {
    width:230px
}

@media (min-width: 768px) {
    .c-btn.-mid2 {
        width:19.17em
    }
}

.c-btn.-l {
    width:271px
}

@media (min-width: 768px) {
    .c-btn.-l {
        width:22.58em
    }
}

.c-btn.-ext-link::after {
    position: absolute;
    top: 50%;
    right: 1.5em;
    content: "";
    font-family: "icomoon";
    font-weight: normal;
    transform:translateY(-50%) scale(0.9)
}

.c-btn.-bc-color {
    border-color: #00a4d2;
    color:#00a4d2
}

.c-btn.-white {
    background-color: #fff;
    border-color: #fff;
    color:#00a4d2
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-btn.-white:hover {
        box-shadow: 3px 3px 10px rgba(0, 0, 0, .16);
        color:#fff
    }
}

.c-btn.-black {
    background-color: #222;
    border-color: #222;
    color:#fff
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-btn.-black:hover {
        box-shadow: 3px 3px 10px rgba(0, 0, 0, .16);
        color:#fff
    }
}

.c-btn.-bc-while {
    border-color: #fff;
    color:#fff
}

.c-btn.-bc-while::before {
    background-color:#fff
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-btn.-bc-while:hover {
        color:#00a4d2
    }
}

.c-btn.-disabled {
    background-color: #d8d8d8 !important;
    border-color: #d8d8d8 !important;
    color: #fff;
    pointer-events:none
}

.c-btn2 {
    position: relative;
    border: 1px solid #36bce2;
    border-radius: 10px;
    color: #36bce2;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50px;
    min-width: 250px;
    padding-left: 25px;
    padding-right: 25px;
    font-size:12px
}

@media (min-width: 768px) {
    .c-btn2 {
        font-size: 1rem;
        border-radius: .63rem;
        height: 3.88rem;
        padding-left: 2rem;
        padding-right:2rem
    }
}

.c-btn2.-ext-link::after {
    position: absolute;
    top: 50%;
    right: 1.75rem;
    font-weight: normal;
    content: "";
    font-family: "icomoon";
    transform-origin: right;
    transform:translateY(-50%) scale(0.625)
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-btn2 {
        transition:background-color .3s ease
    }

    .c-btn2:hover {
        background-color: #36bce2;
        color:#fff
    }
}

.c-date {
    color: #888;
    font-size: .75rem;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.c-cat {
    border: 1px solid #00a4d2;
    color: #00a4d2;
    background-color: #fff;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    border-radius: 12px;
    padding:1px 13px
}

@media (min-width: 768px) {
    .c-cat {
        padding: .2em 1.3em;
        font-size:.63rem
    }
}

.c-cat.-orange {
    border-color: #e26d45;
    color:#e26d45
}

.c-link-icon {
    border: 1px solid #fff;
    color: #fff;
    border-radius: 50%;
    font-size: .88rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    width:20px
}

@media (min-width: 768px) {
    .c-link-icon {
        height: 2rem;
        width:2rem
    }
}

.c-link-icon.-color {
    border-color: #00a4d2;
    color:#00a4d2
}

.c-link-icon.-black {
    border-color: #222;
    color:#222
}

.c-para-img {
    will-change: transform;
    transition:transform 1s cubic-bezier(0, 0, 0, 1)
}

.c-txt-link {
    color: #3e3a39;
    text-decoration:underline
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-txt-link:hover {
        text-decoration:none
    }
}

.c-txt-link.-ext::after {
    content: "";
    font-family: "icomoon";
    display: inline-block;
    transform-origin: right;
    transform: scale(0.7);
    margin-right:.25em
}

.c-link-has-icon {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    color: #888;
    display: inline-flex;
    align-items: center;
    font-weight: 500;
    font-size: 12px;
    border: none;
    padding: 0;
    background:none
}

@media (min-width: 768px) {
    .c-link-has-icon {
        font-size:.88rem
    }
}

.c-link-has-icon::after {
    content: "";
    font-family: "icomoon";
    font-size: .88rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #afafaf;
    border: 1px solid #afafaf;
    border-radius: 50%;
    height: 20px;
    width: 20px;
    margin-left:.88rem
}

@media (min-width: 768px) {
    .c-link-has-icon::after {
        margin-left: 1rem;
        height: 2rem;
        width:2rem
    }
}

.c-link-has-icon.-disabled {
    opacity: .3;
    pointer-events: none;
    cursor:default
}

.c-link-has-icon.-prev span {
    order:1
}

.c-link-has-icon.-prev::after {
    margin-right: .88rem;
    margin-left: 0;
    transform:rotate(180deg)
}

@media (min-width: 768px) {
    .c-link-has-icon.-prev::after {
        margin-right:1rem
    }
}

.c-link-has-icon2 {
    position: relative;
    color: #3e3a39;
    display: flex;
    align-items: center;
    font-size:12px
}

@media (min-width: 768px) {
    .c-link-has-icon2 {
        font-size:.88rem
    }
}

.c-link-has-icon2 span {
    text-decoration:underline !important
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-link-has-icon2:hover span {
        text-decoration:none !important
    }
}

.c-link-has-icon2::after {
    content: "";
    font-family: "icomoon";
    font-size: 11px;
    display: inline-block;
    text-decoration: none !important;
    transform: translateY(1px);
    margin-left:.86em
}

@media (min-width: 768px) {
    .c-link-has-icon2::after {
        font-size:.81rem
    }
}

p .c-link-has-icon2 {
    display:inline-flex
}

.c-link-has-icon2.-ext-link {
    text-decoration:none !important
}

.c-link-has-icon2.-ext-link span {
    text-decoration:underline !important
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-link-has-icon2.-ext-link:hover span {
        text-decoration:none !important
    }
}

.c-link-has-icon2.-ext-link::before {
    display:none
}

.c-link-has-icon2.-ext-link::after {
    text-decoration: none;
    display: block;
    content: "";
    height: auto;
    width: auto;
    border: none;
    border-radius: 0;
    font-family: "icomoon";
    transform-origin: right;
    margin-left: .71em;
    transform:scale(0.75)
}

.c-list li {
    display: flex;
    align-items: baseline;
    color: #3e3a39;
    text-align: justify;
    font-size:12px
}

@media (max-width: 767px) {
    .c-list li {
        letter-spacing:.05em
    }
}

@media (min-width: 768px) {
    .c-list li {
        font-size: .88rem;
        line-height:2.14
    }
}

@media all and (-ms-high-contrast: none) {
    .c-list li {
        text-justify:inter-ideograph
    }
}

.c-list li::before {
    content: "・";
    flex:0 0 auto
}

.c-count-list {
    counter-reset: item;
    list-style-type: none;
    font-size:12px
}

@media (min-width: 768px) {
    .c-count-list {
        font-size:.88rem
    }
}

.c-count-list li {
    display: flex;
    align-items:baseline
}

.c-count-list li::before {
    counter-increment: item;
    content: counter(item) ".";
    color: #00a4d2;
    width: 1.5em;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold;
    flex:0 0 auto
}

.c-count-list li + li {
    margin-top:5px
}

@media (min-width: 768px) {
    .c-count-list li + li {
        margin-top:.31rem
    }
}

.c-basic-list {
    margin-left:1.5em
}

.c-eng {
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.c-note {
    font-size:11px
}

@media (min-width: 768px) {
    .c-note {
        font-size:.75rem
    }
}

.c-note.-m {
    font-weight:500
}

.c-note.-gray {
    color:#888
}

.c-note.-has-mark {
    text-indent: -1em;
    padding-left:1em
}

.c-simple-table th {
    font-weight: normal;
    text-align: left;
    padding-right: 2em;
    white-space:nowrap
}

.c-link-ext-icon {
    color: #3e3a39;
    display: flex;
    align-items: center;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    letter-spacing: .05em;
    font-size:12px
}

@media (min-width: 768px) {
    .c-link-ext-icon {
        font-size:.88rem
    }
}

.c-link-ext-icon span {
    text-decoration: underline;
    margin-left:1em
}

.c-link-ext-icon::before {
    content: "";
    width: 2em;
    height: 2em;
    background-repeat: no-repeat;
    background-position: center center;
    background-size:contain
}

.c-link-ext-icon::after {
    content: "";
    font-family: "icomoon";
    transform-origin: right;
    margin-left: .71em;
    transform:scale(0.75)
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-link-ext-icon:hover span {
        text-decoration:none
    }
}

.c-link-ext-icon.-yt::before {
    background-image: url("../img/corporate/ic_yt@2x.png")
}

.c-link-ext-icon.-tw::before {
    background-image: url("../img/corporate/ic_tw@2x.png")
}

.c-link-ext-icon.-fb::before {
    background-image: url("../img/corporate/ic_fb@2x.png")
}

.c-link-ext-icon.-insta::before {
    background-image: url("../img/corporate/ic_insta@2x.png")
}

.c-link-ext-icon.-blog::before {
    background-image: url("../img/corporate/ic_p-kun@2x.png")
}

.c-line {
    border-color:#d8d8d8
}

.c-tab-btn {
    position: relative;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    background-color: #d8d8d8;
    border: none;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold;
    border-radius: 5px;
    font-size: 12px;
    line-height: 1.25;
    height:50px
}

@media (min-width: 768px) {
    .c-tab-btn {
        border-radius: .31rem;
        font-size: .88rem;
        height:4rem
    }
}

.c-tab-btn.-color {
    background-color:#36bce2
}

.c-tab-btn.is-current {
    background-color:#36bce2
}

.c-tab-btn.-anchor::after {
    position: absolute;
    content: "";
    font-family: "icomoon" !important;
    top: calc(50% - 0.31rem);
    font-weight: normal;
    line-height: 1;
    font-size: .88rem;
    transform:rotate(90deg)
}

@media (min-width: 768px) {
    .c-tab-btn.-anchor::after {
        right:1.5rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .c-tab-btn {
        transition:background-color .3s ease
    }

    .c-tab-btn:hover {
        background-color:#36bce2
    }
}

.c-iframe-wrap {
    position: relative;
    padding-top:56.25%
}

@media (min-width: 768px) {
    .c-iframe-wrap {
        margin-left: auto;
        margin-right: auto;
        padding-top: 22.5rem;
        width:40rem
    }
}

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

.c-iframe-wrap:not(:first-child) {
    margin-top:21px
}

@media (min-width: 768px) {
    .c-iframe-wrap:not(:first-child) {
        margin-top:1.88rem
    }
}

.l-header {
    position: absolute;
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 10;
    top: 0;
    left: 0;
    right: 0;
    transition:left .3s ease, right .3s ease, background-color .3s ease, padding .3s ease
}

@media (max-width: 767px) {
    .l-header {
        height: 81px;
        padding-left:5.87vw
    }
}

@media (min-width: 768px) {
    .l-header {
        top: 3vw;
        left: 5vw;
        right:5vw
    }
}

@media (min-width: 901px) {
    .l-header {
        top: 2.25rem;
        left: 3.5rem;
        right:3.5rem
    }
}

.l-header.is-stretch {
    position: fixed;
    top: 0;
    left: 0;
    right:0
}

@media (min-width: 768px) {
    .l-header.is-stretch {
        background-color: #fff;
        padding-left: 5vw;
        padding-right:5vw
    }
}

@media (min-width: 901px) {
    .l-header.is-stretch {
        padding-left: 3.5rem;
        padding-right:3.5rem
    }
}

.l-header.is-fullnav-open {
    background-color:rgba(255, 255, 255, 0) !important
}

.l-header__logo {
    color:#333
}

@media (max-width: 767px) {
    .l-header__logo svg {
        width: 110px;
        height:26px
    }
}

@media (min-width: 768px) and(max-width: 1319px) {
    .l-header__logo svg {
        width: 10.63rem;
        height:2.5rem
    }
}

.l-header__logo svg {
    fill:currentColor
}

.is-fullnav-open .l-header__logo {
    color:#fff
}

@media (min-width: 768px) {
    .l-header-nav {
        background-color: #fff;
        border-radius: 2.5rem;
        display: flex;
        align-items: center;
        height: 5rem;
        padding-left: 1.06rem;
        padding-right:1.06rem
    }

    .is-fullnav-open .l-header-nav {
        background-color:transparent
    }
}

@media (min-width: 901px) {
    .l-header-nav {
        padding-left:4.75rem
    }
}

.l-header-nav__list {
    display:flex
}

@media (max-width: 900px) {
    .l-header-nav__list {
        display:none
    }
}

@media (min-width: 901px) {
    .l-header-nav__list {
        height: 100%;
        align-items:center
    }
}

.is-fullnav-open .l-header-nav__list {
    opacity: 0;
    pointer-events:none
}

.l-header-nav__item a {
    color: #333;
    font-weight: bold;
    font-size:.88rem
}

@media (min-width: 768px) {
    .l-header-nav__item a.is-dropdown-open {
        color:#00a4d2
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-nav__item.-single-link:hover a {
        color:#00a4d2
    }
}

@media (min-width: 901px) {
    .l-header-nav__item + .l-header-nav__item {
        margin-left:3rem
    }
}

@media (min-width: 1320px) {
    .l-header-nav__item + .l-header-nav__item {
        margin-left:56px
    }
}

.l-header-nav__lang {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold !important;
    font-size: .88rem;
    line-height:1.06rem
}

.l-header-nav__lang.-current {
    border-bottom:1px solid #222
}

.l-header-nav__lang:not(:first-child) {
    margin-left:.75rem
}

.l-header-nav__lang:not(.-current) {
    color: #d8d8d8 !important;
    transition:color .3s ease
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-nav__lang:not(.-current):hover {
        color:#00a4d2 !important
    }
}

.l-header-nav__lang-sep {
    margin-left: .75rem;
    width: 1px;
    height: 1.06rem;
    background-color: #d8d8d8;
    display: inline-block;
    vertical-align:middle
}

.l-header-nav__btn {
    position: absolute;
    background-color: #36bce2;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    height: 47px;
    width:47px
}

@media (max-width: 767px) {
    .l-header-nav__btn {
        top: 17px;
        right:5.87vw
    }
}

@media (min-width: 768px) {
    .l-header-nav__btn {
        position: relative;
        height: 3.38rem;
        width:3.38rem
    }
}

@media (min-width: 901px) {
    .l-header-nav__btn {
        margin-left:3.5rem
    }
}

@media all and (-ms-high-contrast: none) {
    .l-header-nav__btn > * {
        min-height: 0%;
        max-width:100%
    }
}

.l-header-nav__btn span {
    background-color: #fff;
    width: 33.33%;
    height: 2px;
    border-radius: 1px;
    transition:.3s ease
}

.l-header-nav__btn span:first-child {
    transform:translateY(-5px)
}

.l-header-nav__btn span:last-child {
    transform:translateY(5px)
}

@media (min-width: 768px) {
    .l-header-nav__btn.act {
        background-color:transparent
    }
}

.l-header-nav__btn.act span:first-child {
    transform: translateY(2px) rotate(45deg);
    width:26px
}

@media (min-width: 768px) {
    .l-header-nav__btn.act span:first-child {
        width:3.13rem
    }
}

.l-header-nav__btn.act span:nth-child(2) {
    opacity:0
}

.l-header-nav__btn.act span:last-child {
    transform: translateY(-2px) rotate(-45deg);
    width:26px
}

@media (min-width: 768px) {
    .l-header-nav__btn.act span:last-child {
        width:3.13rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-nav__btn {
        transition:opacity .3s ease
    }

    .l-header-nav__btn:hover {
        opacity:.7
    }
}

.l-header__mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #dbdbdb;
    mix-blend-mode: multiply;
    pointer-events: none;
    opacity: 0;
    z-index: 6;
    transition:opacity .4s ease
}

.l-header__mask.is-show {
    pointer-events: auto;
    opacity:.5
}

.l-header__local-navigations {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index:7
}

@media (max-width: 767px) {
    .l-header__local-navigations {
        display:none
    }
}

.l-header__local-nav {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-color: #fafafa;
    opacity: 0;
    display: flex;
    padding-top: 10.81rem;
    padding-bottom: 4.06rem;
    transition: opacity .25s ease;
    pointer-events:none
}

.l-header.is-stretch .l-header__local-nav {
    padding-top:8.56rem
}

.l-header__local-nav.is-show {
    opacity: 1;
    pointer-events:auto
}

.l-header__local-nav__head {
    width: 19.33%;
    border-right:1px solid #afafaf
}

.l-header__local-nav__ttl {
    font-size: 1.31rem;
    font-weight: bold;
    align-items: flex-start;
    letter-spacing: .05em;
    line-height:1
}

.l-header__local-nav__ttl::after {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    content: attr(data-eng);
    font-size: .75rem;
    letter-spacing: .05em;
    line-height: 1.17;
    margin-top:1rem
}

.l-header__local-nav__btn {
    width:12rem
}

.l-header__local-nav__body {
    display: flex;
    flex-wrap: wrap;
    flex: 1;
    padding-left:3.33%
}

.l-header__local-nav__body.-store {
    display:block
}

.l-header__local-nav__btn1 {
    color: #222;
    width:21.77%
}

.l-header__local-nav__btn1:not(:first-child):not(:nth-child(4n + 1)) {
    margin-left:4.26%
}

.l-header__local-nav__btn1:nth-child(n + 5) {
    margin-top:2rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header__local-nav__btn1 img {
        transition:transform .25s ease
    }

    .l-header__local-nav__btn1:hover img {
        transform:scale(1.05)
    }
}

.l-header__local-nav__pic {
    position: relative;
    border-radius: .63rem;
    overflow: hidden;
    z-index: 1;
    padding-top:66.34%
}

.l-header__local-nav__pic img {
    position: absolute;
    top: 0;
    left:0
}

.l-header__local-nav__pic.-has-filter::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    background-color: rgba(96, 96, 96, .15) !important;
    mix-blend-mode: multiply;
    transition: opacity .3s ease;
    z-index: 1;
    border-radius:.63rem
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__pic.-has-filter::after {
        background-color:rgba(0, 0, 0, .2)
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header__local-nav__btn1:hover .l-header__local-nav__pic.-has-filter::after {
        opacity:.5
    }
}

.l-header__local-nav__txt {
    align-items: flex-start;
    font-size: 1.06rem;
    line-height: 1.47;
    font-weight:500
}

.l-header__local-nav__txt::after {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    content: attr(data-eng);
    font-size: .75rem;
    letter-spacing: .05em;
    line-height: 1.17;
    margin-top:.44rem
}

.l-header__local-nav__txt.-eng {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight:bold
}

.l-header__local-nav__txt.-ttl {
    font-weight:bold
}

.l-header__local-nav__txt.-ttl::before {
    display: block;
    width: 0;
    height: 0;
    margin-top: calc((1 - 1.47) * .5em);
    content: ""
}

.l-header__local-nav__txt.-ttl::after {
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc((1 - 1.47) * .5em);
    content: ""
}

.l-header__local-nav__btn1 .l-header__local-nav__txt {
    font-weight: bold;
    margin-top:.81rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header__local-nav__txt {
        transition:color .2s ease
    }

    .l-header__local-nav__link:hover .l-header__local-nav__txt, .l-header__local-nav__btn1:hover .l-header__local-nav__txt {
        color:#00a4d2
    }
}

.l-header__local-nav__links {
    align-self:center
}

.l-header__local-nav__links:not(:first-child) {
    margin-left:4.31%
}

.l-header__local-nav__link {
    color: #222;
    display: flex;
    justify-content: space-between;
    align-self:center
}

.l-header__local-nav__link.-fun {
    width:12.19rem
}

.l-header__local-nav__link.-ir {
    width:7.56rem
}

.l-header__local-nav__link + .l-header__local-nav__link {
    margin-top:1.13rem
}

.l-header__local-nav__icon {
    width: 1.56rem;
    height:1.56rem
}

.l-header__local-nav__icon.-big {
    width: 2rem;
    height:2rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header__local-nav__icon {
        transition:color .3s ease, border-color .3s ease
    }

    .l-header__local-nav__link:hover .l-header__local-nav__icon {
        color: #00a4d2;
        border-color:#00a4d2
    }
}

.l-header__local-nav__store-btns {
    margin-top: 1.63rem;
    display: grid;
    grid-template-columns: 21.11% 21.11% auto;
    grid-template-rows: 2.88rem 2.88rem;
    gap: 1.31rem 2.11%;
    grid-template-areas: "btn1 btn3 btn5" "btn2 btn4 btn5"
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__store-btns {
        display: -ms-grid;
        -ms-grid-columns: 21.11% 21.11% 1fr;
        -ms-grid-rows:2.88rem 2.88rem
    }
}

.l-header__local-nav__store-btn {
    border-color: #d8d8d8;
    margin-top: 0;
    width:100%
}

.l-header__local-nav__store-btn.-btn1 {
    grid-area: btn1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    -ms-grid-column: 1;
    -ms-grid-column-span:1
}

.l-header__local-nav__store-btn.-btn2 {
    grid-area:btn2
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__store-btn.-btn2 {
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        -ms-grid-column: 1;
        -ms-grid-column-span: 0;
        margin-top:1.31rem
    }
}

.l-header__local-nav__store-btn.-btn3 {
    grid-area:btn3
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__store-btn.-btn3 {
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        margin-left:1.19rem
    }
}

.l-header__local-nav__store-btn.-btn4 {
    grid-area:btn4
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__store-btn.-btn4 {
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span: 1;
        margin-top: 1.31rem;
        margin-left:1.19rem
    }
}

.l-header__local-nav__store-btn.-btn5 {
    grid-area: btn5;
    width: 69.29%;
    padding: 0 3.11% 0 7.26%;
    font-size: 1.13rem;
    letter-spacing: .05em;
    height: 3.75rem;
    border-radius: 1.88rem;
    justify-content: space-between;
    margin-left:11%
}

@media all and (-ms-high-contrast: none) {
    .l-header__local-nav__store-btn.-btn5 {
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 3;
        -ms-grid-column-span:3
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header__local-nav__store-btn.-btn5:hover .c-link-icon {
        border-color: #fff;
        color:#fff
    }
}

.l-header-fullnav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #00a4d2;
    z-index: 9;
    overflow: auto;
    opacity: 0;
    pointer-events: none;
    transition:opacity .3s ease
}

@media (max-width: 767px) {
    .l-header-fullnav {
        padding-top:100px
    }
}

@media (min-width: 768px) {
    .l-header-fullnav {
        display: flex;
        align-items:center
    }
}

.l-header-fullnav a {
    color:#fff
}

.l-header-fullnav.show {
    opacity: 1;
    pointer-events:auto
}

@media (min-width: 768px) {
    .l-header-fullnav__contents {
        display: flex;
        width:100%
    }
}

.l-header-fullnav__store {
    background-color: #fff;
    border-radius: 10px;
    color: #00a4d2;
    padding:33px 28px 37px
}

.l-header-fullnav__store-btns {
    margin-top:10px
}

.l-header-fullnav__store__btn {
    width: 47.1%;
    height: 35px;
    border-radius:18px
}

.l-header-fullnav__store__btn:not(.-big):nth-child(even) {
    margin-left:auto
}

.l-header-fullnav__store__btn:not(.-big):nth-child(n + 3) {
    margin-top:17px
}

.l-header-fullnav__store__btn.-big {
    height: 45px;
    border-radius: 23px;
    justify-content: space-between;
    width: 100%;
    margin-top: 25px;
    padding: 0 15px 0 28px;
    font-size:14px
}

.l-header-fullnav__store__btn.-big .l-header-fullnav__icon {
    font-size:11px
}

.l-header-fullnav__subttl {
    color: #00a4d2;
    font-weight: 500;
    margin-top:14px
}

@media (max-width: 767px) {
    .l-header-fullnav__col.-col1 {
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__col:nth-child(n + 3) {
        margin-left:6.67%
    }
}

@media (max-width: 767px) {
    .l-header-fullnav__col.-btns {
        margin-top:3.5rem
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__col.-btns {
        align-self: flex-end;
        margin-left: auto;
        width:24.17%
    }
}

@media (max-width: 767px) {
    .l-header-fullnav__list.-sp-flex {
        display: flex;
        flex-wrap:wrap
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__list:not(:first-child) {
        margin-top:2.5rem
    }
}

.l-header-fullnav__ttl {
    font-weight: bold;
    display: flex;
    font-size: 18px;
    line-height: 27px;
    letter-spacing:.05em
}

@media (max-width: 767px) {
    .l-header-fullnav__ttl {
        width:100%
    }

    .l-header-fullnav__ttl.-sp-half {
        width:50%
    }

    .l-header-fullnav__ttl.-sp-half.-left a {
        width:80%
    }

    .l-header-fullnav__ttl:not(.-store) {
        border-bottom:1px solid #fff
    }

    .l-header-fullnav__ttl:not(.-store) a {
        position: relative;
        display: block;
        width: 100%;
        padding:26px 0
    }

    .l-header-fullnav__ttl.-open-btn a::before, .l-header-fullnav__ttl.-open-btn a::after {
        content: "";
        width: 15px;
        height: 2px;
        border-radius: 1px;
        background-color: #fff;
        position: absolute;
        right: 10px;
        top:calc(50% - 1px)
    }

    .l-header-fullnav__ttl.-open-btn a::after {
        transition: transform .3s ease;
        transform:rotate(90deg)
    }

    .l-header-fullnav__ttl.-open-btn.is-open a::after {
        transform:rotate(0)
    }

    .l-header-fullnav__ttl:not(.-open-btn) a::after {
        position: absolute;
        top: 50%;
        right: 10px;
        content: "";
        width: 8px;
        height: 8px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        transform:translateY(-50%) rotate(-45deg)
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__ttl {
        font-size: 1.25rem;
        line-height:1.81rem
    }
}

.l-header-fullnav__ttl.-has-eng::after {
    content: attr(data-eng);
    margin-left: 10px;
    font-size: 10px;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    line-height: 1;
    align-self:center
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-fullnav__ttl:hover a {
        text-decoration:underline
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__ttl + .l-header-fullnav__ttl {
        margin-top:1.06rem
    }
}

@media (max-width: 767px) {
    .l-header-fullnav__acordion {
        overflow: hidden;
        height: 0;
        transition:height .3s ease-out
    }
}

@media (max-width: 767px) {
    .l-header-fullnav__acordion-inner {
        border-bottom: 1px solid #fff;
        padding-top: 23px;
        padding-bottom: 40px;
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between
    }
}

@media (max-width: 767px) {
    .l-header-fullnav__item-top {
        display: flex;
        font-weight: bold;
        font-size: 12px;
        letter-spacing: .05em;
        width:100%
    }

    .l-header-fullnav__item-top a {
        display: flex;
        align-items:center
    }

    .l-header-fullnav__item-top a::after {
        content: "";
        width: 6px;
        height: 6px;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;
        transform: rotate(-45deg);
        margin-left:1em
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__item-top {
        display:none
    }
}

.l-header-fullnav__item {
    display:flex
}

@media (max-width: 767px) {
    .l-header-fullnav__item {
        font-size: 12px;
        margin-top: 21px;
        width:100%
    }

    .l-header-fullnav__item.-sp-half {
        width:47.3%
    }

    .l-header-fullnav__item.-sp-half a {
        width:100%
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__item {
        font-size: .88rem;
        line-height: 1.25rem;
        margin-top:1.13rem
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__ttl + .l-header-fullnav__item {
        margin-top:1.25rem
    }
}

.l-header-fullnav__item a {
    display: flex;
    align-items:center
}

@media (max-width: 767px) {
    .l-header-fullnav__item a {
        width: 68.57%;
        justify-content: space-between;
        border: 1px solid #fff;
        height: 42px;
        border-radius: 21px;
        padding-left: 28px;
        padding-right:20px
    }

    .l-header-fullnav__item a span {
        line-height:1
    }
}

.l-header-fullnav__item a::after {
    content: "";
    width: .38rem;
    height: .38rem;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg);
    margin-left:1em
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-fullnav__item a:hover span {
        text-decoration:underline
    }
}

.l-header-fullnav__bnr {
    position: relative;
    margin-top: 0;
    width:100%
}

@media (min-width: 768px) {
    .l-header-fullnav__bnr {
        font-size: .88rem;
        height: 3.75rem;
        border-radius:1.88rem
    }
}

.l-header-fullnav__bnr:not(:first-child) {
    margin-top:24px
}

@media (min-width: 768px) {
    .l-header-fullnav__bnr:not(:first-child) {
        margin-top:1.5rem
    }
}

.l-header-fullnav__bnr::after {
    position: absolute;
    content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: translateY(-50%) rotate(-45deg);
    top: 50%;
    right:20px
}

@media (min-width: 768px) {
    .l-header-fullnav__bnr::after {
        width: .38rem;
        height: .38rem;
        right:1.25rem
    }
}

.l-header-fullnav__foot {
    display:flex
}

@media (max-width: 767px) {
    .l-header-fullnav__foot {
        flex-wrap: wrap;
        margin-top: 34px;
        padding-bottom:35px
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__foot {
        position: absolute;
        bottom: 1.25rem;
        left:3.5rem
    }
}

.l-header-fullnav__foot__item {
    font-size: 12px;
    letter-spacing:.05em
}

@media (max-width: 767px) {
    .l-header-fullnav__foot__item {
        font-weight: bold;
        margin-right: 35px;
        margin-top:20px
    }

    .l-header-fullnav__foot__item a {
        display: flex;
        align-items:center
    }

    .l-header-fullnav__foot__item a::after {
        content: "";
        width: 6px;
        height: 6px;
        border-right: 1px solid #fff;
        border-bottom: 1px solid #fff;
        transform: rotate(-45deg);
        margin-left:1em
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__foot__item {
        font-size:.75rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-header-fullnav__foot__item:hover {
        text-decoration:underline
    }
}

@media (min-width: 768px) {
    .l-header-fullnav__foot__item + .l-header-fullnav__foot__item {
        color: #fff;
        margin-left:2em
    }

    .l-header-fullnav__foot__item + .l-header-fullnav__foot__item::before {
        content: "|";
        margin-right:2em
    }
}

.l-wrapper {
    background-color:#fafafa
}

.l-main {
    overflow: hidden;
    transition:filter .4s cubic-bezier(0.75, 0, 0.175, 1)
}

.l-main.is-filter {
    filter:blur(2px)
}

.l-main.-store-page, .l-main.-philosophy, .l-main.-room {
    overflow:inherit
}

.l-main.-vision, .l-main.-mission {
    position:relative
}

.l-loading {
    position: fixed;
    background-color: #36bce2;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    transition:opacity .4s ease
}

.l-loading.hide {
    opacity: 0;
    pointer-events:none
}

.l-loading.hide .l-loading__progress {
    transform:scaleX(0)
}

.l-loading__progress {
    position: absolute;
    top: 0;
    left: 0;
    height: .63rem !important;
    width: 100%;
    transform-origin: right;
    transition:transform .4s ease
}

@keyframes loadingAnime {
    0% {
        transform:rotate(0deg)
    }

    25% {
        transform:rotate(-10deg)
    }

    75% {
        transform:rotate(10deg)
    }

    100% {
        transform:rotate(0deg)
    }
}

@keyframes loadingHide {
    0% {
        transform:scale(1)
    }

    40% {
        transform:scale(1.1)
    }

    100% {
        transform:scale(0)
    }
}

.l-loading__pic {
    width:70px
}

@media (min-width: 768px) {
    .l-loading__pic {
        width:4.63rem
    }
}

.l-loading__pic img {
    widll-change: transform;
    display: block;
    animation: loadingAnime 1s linear infinite;
    width: 100%;
    height:auto
}

.l-loading__pic img.hide {
    animation:loadingHide .4s linear forwards
}

.l-footer {
    background-color: #fff;
    padding:45px 8vw 21px
}

@media (min-width: 768px) {
    .l-footer {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding:2.5rem
    }
}

.l-footer-nav__list {
    display:flex
}

@media (max-width: 767px) {
    .l-footer-nav__list {
        flex-direction: column;
        align-items:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .l-footer-nav__list > * {
        min-height: 0%;
        max-width:100%
    }
}

.l-footer-nav__item {
    font-size:10px
}

@media (max-width: 767px) {
    .l-footer-nav__item {
        font-weight: 500;
        line-height:1.5
    }

    .l-footer-nav__item:not(:first-child) {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .l-footer-nav__item {
        font-size:.75rem
    }
}

@media (min-width: 768px) {
    .l-footer-nav__item + .l-footer-nav__item {
        margin-left:2em
    }

    .l-footer-nav__item + .l-footer-nav__item::before {
        content: "|";
        margin-right:2em
    }
}

.l-footer-nav__item a {
    color:#3e3a39
}

@media (hover: hover),(-ms-high-contrast: none) {
    .l-footer-nav__item a:hover {
        text-decoration:underline
    }
}

.l-footer__copyright {
    color: #3e3a39;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-size:10px
}

@media (max-width: 767px) {
    .l-footer__copyright {
        margin-top: 38px;
        text-align:center
    }
}

@media (min-width: 768px) {
    .l-footer__copyright {
        font-size:.75rem
    }
}

.p-page__head {
    display: flex;
    align-items: flex-end;
    height: 250px;
    padding-bottom: 80px;
    border-bottom: 1px solid #afafaf;
    margin:0 auto
}

@media (min-width: 768px) {
    .p-page__head {
        height: 27.38rem;
        padding-bottom:8.38rem
    }
}

@media (min-resolution: 2dppx) {
    .p-page__head {
        border-width:.5px
    }
}

.p-page__head.-plain {
    border-bottom:none
}

@media (min-width: 768px) {
    .p-page__head.-plain {
        height: 25.69rem;
        padding-bottom:6.69rem
    }
}

.p-page__head.-has-img {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-bottom: none;
    width:100%
}

.p-page__head.-topic {
    background-image: url("../img/page/page_head_topic.jpg")
}

.p-page__head.-ir {
    background-image: url("../img/page/page_head_ir.jpg")
}

.p-page__head.-event {
    background-image: url("../img/page/page_head_event.jpg")
}

.p-page__head.-recruit {
    background-image: url("../img/page/page_head_recruit.jpg")
}

.p-page__ttl {
    display: flex;
    letter-spacing: .05em;
    font-size:18px
}

@media (max-width: 767px) {
    .p-page__ttl {
        flex-direction: column;
        align-items:flex-start
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-page__ttl > * {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .p-page__ttl {
        align-items: center;
        font-size: 1.88rem;
        line-height:1.5
    }
}

.p-page__ttl::before {
    order: 1;
    content: attr(data-eng);
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-size:12px
}

@media (max-width: 767px) {
    .p-page__ttl::before {
        margin-top: .5em;
        margin-bottom:-27px
    }
}

@media (min-width: 768px) {
    .p-page__ttl::before {
        font-size: .88rem;
        margin-left:2.19rem
    }
}

.p-page__ttl::after {
    content: "";
    height: .88rem;
    background-color: #afafaf;
    width: 1px;
    margin-left:1.88rem
}

@media (max-width: 767px) {
    .p-page__ttl::after {
        display:none
    }
}

.p-page__container {
    padding-top:60px
}

@media (max-width: 767px) {
    .p-page__container {
        padding-bottom:60px
    }
}

@media (min-width: 768px) {
    .p-page__container {
        padding-top:7.5rem
    }
}

.p-page__relation {
    border-top: 1px solid #afafaf;
    margin-top: 60px;
    padding-top: 60px;
    width:100%
}

@media (min-width: 768px) {
    .p-page__relation {
        margin-top: 6rem;
        padding-top: 6rem;
        padding-bottom:6rem
    }
}

.p-page__relation__contents {
    margin:23px -12px 0
}

@media (min-width: 768px) {
    .p-page__relation__contents {
        margin:1.56rem -1.19rem 0 -1.19rem
    }
}

.p-page__relation__contents:first-child {
    margin-top:0
}

.p-page__relation__item {
    margin:7px 12px
}

@media (min-width: 768px) {
    .p-page__relation__item {
        margin:1.44rem 1.19rem 0
    }
}

@media (min-width: 768px) {
    .p-page__relation__bnrs {
        justify-content:space-between
    }
}

.p-page__relation__bnrs + .c-mid-heading {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-page__relation__bnrs + .c-mid-heading {
        margin-top:10.38rem
    }
}

.p-page__relation__bnr {
    position: relative;
    padding: 6px;
    color:#fff
}

@media (min-width: 768px) {
    .p-page__relation__bnr {
        width: 48.17%;
        padding:.56rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-page__relation__bnr {
        transition:opacity .3s ease
    }

    .p-page__relation__bnr:hover {
        opacity:.75
    }
}

.p-page__relation__bnr-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 26px;
    padding-right:26px
}

@media (min-width: 768px) {
    .p-page__relation__bnr-inner {
        padding-left: 3rem;
        padding-right:3rem
    }
}

.p-page__relation__bnr-inner .c-mid-heading[data-eng] {
    align-items:flex-start
}

.p-page__relation__bnr-inner .c-mid-heading[data-eng]::before {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    content: attr(data-eng);
    font-size:11px
}

@media (min-width: 768px) {
    .p-page__relation__bnr-inner .c-mid-heading[data-eng]::before {
        font-size:.75rem
    }
}

.p-page__relation__bnr-inner::after {
    border: 1px solid #fff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: icomoon;
    content: "";
    font-size: 12px;
    width: 26px;
    height:26px
}

@media (min-width: 768px) {
    .p-page__relation__bnr-inner::after {
        font-size: .88rem;
        width: 2rem;
        height:2rem
    }
}

.p-page-nav {
    display: flex;
    justify-content:space-between
}

.p-page-nav.-items2 {
    width:100%
}

@media (min-width: 768px) {
    .p-page-nav.-items2 {
        width:53.18%
    }
}

@media (min-width: 1320px) {
    .p-page-nav.-items2 {
        width:702px
    }
}

@media (max-width: 767px) {
    .p-page-nav.-items3.-sp-col {
        display: flex;
        flex-direction:column
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-page-nav.-items3.-sp-col > * {
        min-height: 0%;
        max-width:100%
    }
}

.p-page-nav__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 10px;
    font-weight: bold;
    color: #fff;
    background-color: #36bce2;
    font-size: 12px;
    line-height: 1.25;
    height:48px
}

@media (min-width: 768px) {
    .p-page-nav__item {
        border-radius: .63rem;
        font-size: .88rem;
        letter-spacing: .05em;
        height:4rem
    }
}

.-items2 .p-page-nav__item {
    width:47.15%
}

.-items3 .p-page-nav__item {
    width:32%
}

@media (min-width: 768px) {
    .-items3 .p-page-nav__item {
        width:31.23%
    }
}

@media (max-width: 767px) {
    .-items3.-sp-col .p-page-nav__item {
        width:100%
    }

    .-items3.-sp-col .p-page-nav__item:not(:first-child) {
        margin-top:15px
    }

    .-items3.-sp-col .p-page-nav__item::after {
        right:15px
    }
}

.p-page-nav__item.-anc-link::after {
    position: absolute;
    content: "";
    font-family: "icomoon";
    font-weight: normal;
    top: 50%;
    right: 10px;
    transform:translateY(-45%) rotate(90deg)
}

@media (min-width: 768px) {
    .p-page-nav__item.-anc-link::after {
        right:1.88rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-page-nav__item {
        transition:opacity .3s ease
    }

    .p-page-nav__item:hover {
        opacity:.75
    }
}

.p-dl dt, .p-dl dd {
    color: #3e3a39;
    font-size: 12px;
    letter-spacing: .05em;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

@media (min-width: 768px) {
    .p-dl dt, .p-dl dd {
        font-size: .88rem;
        line-height:2.14
    }

    .p-dl dt:not(.-no-crop)::before, .p-dl dd:not(.-no-crop)::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 2.14) * .5em);
        content: ""
    }

    .p-dl dt:not(.-no-crop)::after, .p-dl dd:not(.-no-crop)::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 2.14) * .5em);
        content: ""
    }
}

.p-dl dt {
    font-weight:bold
}

@media (min-width: 768px) {
    .p-dl dt {
        flex:0 0 auto
    }
}

.p-dl dt.-ja {
    font-family: "Noto Sans JP", sans-serif !important
}

@media (max-width: 767px) {
    .p-dl dd {
        margin-top:8px
    }
}

@media (min-width: 768px) {
    .p-dl dd {
        flex:1
    }
}

.p-dl dd.-ja {
    font-family: "Noto Sans JP", sans-serif !important
}

.p-dl__item {
    border-bottom: 1px solid #d8d8d8;
    padding:25px 0
}

@media (min-width: 768px) {
    .p-dl__item {
        display: flex;
        padding:1.75rem 0
    }
}

.p-dl__item2 {
    display:flex
}

.p-dl__item2 dt {
    font-weight: normal;
    white-space: nowrap;
    flex: 0 0 auto;
    font-family: "Noto Sans JP", sans-serif !important
}

.p-dl__item2 dd {
    flex: 1;
    margin-top: 0;
    font-family: "Noto Sans JP", sans-serif !important
}

@media (max-width: 767px) {
    .p-dl__item2:not(:first-child) {
        margin-top:5px
    }
}

.p-cols {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between !important
}

.p-cols::before, .p-cols::after {
    content: ""
}

.p-cols::before {
    order:1
}

.p-cols.-items2::before, .p-cols.-items2::after {
    display:none
}

@media (min-width: 768px) {
    .p-cols.-items3::before, .p-cols.-items3::after {
        width:31.17%
    }
}

.p-cols.-items4::before, .p-cols.-items4::after {
    width:48%
}

@media (min-width: 768px) {
    .p-cols.-items4::before, .p-cols.-items4::after {
        width:21.32%
    }
}

@media (min-width: 768px) {
    .p-cols.-jc-c {
        justify-content:center !important
    }
}

.p-cols__item {
    transition:opacity .5s ease
}

@media (max-width: 767px) {
    .p-cols__item {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-cols__item {
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .p-cols__item.-type1 {
        display: flex;
        align-items:flex-start
    }
}

@media (min-width: 768px) {
    .-items2 .p-cols__item {
        width: 48.11%;
        margin-top:3.5rem
    }
}

@media (min-width: 768px) {
    .-items3 .p-cols__item {
        width:31.17%
    }
}

.-items4 .p-cols__item {
    width:48%
}

@media (min-width: 768px) {
    .-items4 .p-cols__item {
        width:21.32%
    }
}

.p-cols__item.is-hide {
    opacity:0
}

@media (min-width: 768px) {
    .p-cols__item.-row1 {
        margin-top:0
    }
}

.p-card__pic {
    width: 100%;
    padding-top: 73.53%;
    position:relative
}

@media (max-width: 767px) {
    .-type1 .p-card__pic {
        padding-top: 23.49%;
        flex: 0 0 auto;
        width:31.43%
    }
}

.p-card__pic img {
    position: absolute;
    top: 0;
    left: 0;
    transition:transform .25s ease
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-card:hover .p-card__pic img {
        transform:scale(1.05)
    }
}

.p-card__body {
    display: flex;
    flex-wrap: wrap;
    align-items:baseline
}

@media (min-width: 768px) {
    .p-card__body {
        margin-top:9.89%
    }
}

@media (max-width: 767px) {
    .-type1 .p-card__body {
        flex: 1;
        margin-left:5.08%
    }
}

.p-card__date {
    width:65px
}

@media (min-width: 768px) {
    .p-card__date {
        width:4.5rem
    }
}

.p-card__cat {
    max-width:calc(100% - 65px)
}

@media (min-width: 768px) {
    .p-card__cat {
        max-width:calc(100% - 4.5rem)
    }
}

.p-card__ttl {
    width:100%
}

@media (max-width: 767px) {
    .p-card__ttl {
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .p-card__ttl {
        margin-top:1.25rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-card:hover .p-card__ttl {
        text-decoration:underline
    }
}

.p-card-r {
    background-color: #fff;
    border-radius: 10px;
    padding:20px 20px 25px
}

@media (min-width: 768px) {
    .p-card-r {
        border-radius: .63rem;
        padding:3.02% 3.02% 3.77%
    }
}

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

@media (hover: hover),(-ms-high-contrast: none) {
    .p-card-r * {
        transition:color .3s ease, border-color .3s ease
    }

    .p-card-r img {
        transition:transform .3s ease
    }

    .p-card-r:hover * {
        color: #00a4d2;
        border-color:#00a4d2
    }

    .p-card-r:hover img {
        transform:scale(1.05)
    }
}

.p-card-r__body {
    position:relative
}

@media (min-width: 768px) {
    .p-card-r__body {
        padding:0 .81rem
    }
}

.p-card-r__body.-has-icon {
    padding-right:40px
}

@media (min-width: 768px) {
    .p-card-r__body.-has-icon {
        padding-right:3.63rem
    }
}

.p-card-r__body .c-link-icon {
    position: absolute;
    top: 50%;
    right: 0;
    transform:translateY(-50%)
}

@media (min-width: 768px) {
    .p-card-r__body .c-link-icon {
        right:.81rem
    }
}

@media (min-width: 640px) and(max-width: 767px) {
    .p-horizoon-card__container {
        display: flex;
        flex-wrap:wrap
    }
}

@media (max-width: 639px) {
    .p-horizoon-card {
        max-width:400px
    }
}

@media (max-width: 767px) {
    .p-horizoon-card {
        margin-top:60px
    }
}

@media (max-width: 767px) and(min-width: 640px) {
    .p-horizoon-card {
        width:48%
    }

    .p-horizoon-card:nth-child(even) {
        margin-left:auto
    }
}

@media (min-width: 768px) {
    .p-horizoon-card {
        display: flex;
        justify-content: space-between;
        align-items:flex-start
    }
}

@media (min-width: 768px) {
    .p-horizoon-card__pic {
        flex: 0 0 auto;
        width: 29.17%;
        max-width:350px
    }
}

@media (max-width: 767px) {
    .p-horizoon-card__body {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-horizoon-card__body {
        width:65.83%
    }
}

.p-mask {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, .8);
    padding: 60px 4vw;
    z-index: 50;
    opacity: 0;
    pointer-events: none;
    transition:opacity .4s ease
}

@media (min-width: 768px) {
    .p-mask {
        padding:4rem 0
    }
}

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

.p-mask__close {
    cursor: pointer;
    height: 60px;
    width: 60px;
    position: fixed;
    top: 0;
    right:0
}

@media (min-width: 768px) {
    .p-mask__close {
        height: 5.5rem;
        width:5.5rem
    }
}

.p-mask__close::before, .p-mask__close::after {
    content: "";
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    right: 0;
    background-color: #fff;
    height: 2px;
    margin: 0 auto;
    width: 50%;
    transform:rotate(45deg)
}

.p-mask__close::after {
    transform:rotate(-45deg)
}

.p-mask__inner {
    background-color: #fff;
    border-bottom: 30px solid #fff;
    padding:30px 20px 0
}

@media (min-width: 768px) {
    .p-mask__inner {
        border-width: 4rem;
        height: 100%;
        margin: 0 auto;
        overflow: auto;
        padding: 4rem 4rem 0;
        width:75%
    }
}

@keyframes crest4 {
    0% {
        transform:scale(0)
    }

    20% {
        transform:scale(1)
    }

    100% {
        transform:scale(1)
    }
}

.p-crest--4 path {
    transform:scale(0)
}

.p-crest--4.a-move path {
    transform-origin: center;
    animation:crest4 3s ease-out forwards
}

.p-crest--4.a-move path:first-child {
    animation-delay:.5s
}

.p-crest--6 svg {
    transition:transform .5s ease
}

@keyframes crest7Move1 {
    0% {
        transform:skew(0deg, 0deg)
    }

    2.5% {
        transform:skew(5deg, 4.2deg)
    }

    5% {
        transform:skew(-4deg, -3deg)
    }

    7.5% {
        transform:skew(3deg, 2.2deg)
    }

    10% {
        transform:skew(-2deg, -1.5deg)
    }

    12.5% {
        transform:skew(0.9deg, 0.9deg)
    }

    15% {
        transform:skew(-0.6deg, -0.6deg)
    }

    17.5% {
        transform:skew(0.3deg, 0.3deg)
    }

    20% {
        transform:skew(-0.2deg, -0.2deg)
    }

    22.5% {
        transform:skew(0.1deg, 0.1deg)
    }

    25% {
        transform:skew(0deg, 0deg)
    }
}

@keyframes crest7Move2 {
    0% {
        transform:skew(0deg, 0deg)
    }

    2.5% {
        transform:skew(5deg, 4.2deg)
    }

    5% {
        transform:skew(-4deg, -3deg)
    }

    7.5% {
        transform:skew(3deg, 2.2deg)
    }

    10% {
        transform:skew(-2deg, -1.5deg)
    }

    12.5% {
        transform:skew(0.9deg, 0.9deg)
    }

    15% {
        transform:skew(-0.6deg, -0.6deg)
    }

    17.5% {
        transform:skew(0.3deg, 0.3deg)
    }

    20% {
        transform:skew(-0.2deg, -0.2deg)
    }

    22.5% {
        transform:skew(0.1deg, 0.1deg)
    }

    25% {
        transform:skew(0deg, 0deg)
    }
}

@keyframes crest7Rotate1 {
    0% {
        transform:rotate(0)
    }

    7% {
        transform:rotate(0)
    }

    42% {
        transform:rotate(360deg)
    }

    50% {
        transform:rotate(360deg)
    }

    100% {
        transform:rotate(360deg)
    }
}

@keyframes crest7Rotate2 {
    0% {
        transform:rotate(0)
    }

    7% {
        transform:rotate(0)
    }

    42% {
        transform:rotate(360deg)
    }

    50% {
        transform:rotate(360deg)
    }

    100% {
        transform:rotate(360deg)
    }
}

.anim-crest7-rotate1 {
    animation:crest7Rotate1 6s ease-in-out infinite
}

.anim-crest7-1 {
    animation:crest7Move1 6s linear infinite
}

.anim-crest7-rotate2 {
    animation:crest7Rotate2 6s ease-in-out
}

.anim-crest7-2 {
    animation:crest7Move2 6s linear
}

@keyframes crest8Rotate1 {
    0% {
        transform:rotate(0)
    }

    5% {
        transform:rotate(0)
    }

    42% {
        transform:rotate(-360deg)
    }

    50% {
        transform:rotate(-360deg)
    }

    100% {
        transform:rotate(-360deg)
    }
}

@keyframes crest8Rotate2 {
    0% {
        transform:rotate(0)
    }

    42% {
        transform:rotate(-360deg)
    }

    50% {
        transform:rotate(-360deg)
    }

    100% {
        transform:rotate(-360deg)
    }
}

.anim-crest8-1 {
    animation:crest8Rotate1 7.5s cubic-bezier(0.42, -0.57, 0.57, 1.51) infinite alternate
}

.anim-crest8-2 {
    animation:crest8Rotate2 7.5s cubic-bezier(0.42, -0.57, 0.57, 1.51) infinite alternate
}

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

    10% {
        transform:translateX(0)
    }

    40% {
        transform:translateX(-10%)
    }

    60% {
        transform:translateX(-10%)
    }

    90% {
        transform:translateX(0)
    }

    100% {
        transform:translateX(0)
    }
}

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

    10% {
        transform:translateX(0)
    }

    40% {
        transform:translateX(10%)
    }

    60% {
        transform:translateX(10%)
    }

    90% {
        transform:translateX(0)
    }

    100% {
        transform:translateX(0)
    }
}

.p-crest--9 path:first-child {
    animation:crest9L 3s ease infinite
}

.p-crest--9 path:last-child {
    animation:crest9R 3s ease infinite
}

@keyframes crest12Move1 {
    0% {
        transform:scale(1)
    }

    7% {
        transform:scale(1.25)
    }

    15% {
        transform:scale(1)
    }

    22% {
        transform:scale(1.25)
    }

    30% {
        transform:scale(1)
    }

    50% {
        transform:scale(1)
    }

    100% {
        transform:scale(1)
    }
}

@keyframes crest12Move2 {
    0% {
        transform:scale(1)
    }

    7% {
        transform:scale(1.25)
    }

    15% {
        transform:scale(1)
    }

    22% {
        transform:scale(1.25)
    }

    30% {
        transform:scale(1)
    }

    50% {
        transform:scale(1)
    }

    100% {
        transform:scale(1)
    }
}

.anim-crest12-1 {
    animation:crest12Move1 6s linear forwards
}

.anim-crest12-2 {
    animation:crest12Move2 6s linear forwards
}

@keyframes crest13 {
    0% {
        transform:skew(0deg, 0deg)
    }

    5% {
        transform:skew(5deg, 4.2deg)
    }

    10% {
        transform:skew(-4deg, -3deg)
    }

    15% {
        transform:skew(3deg, 2.2deg)
    }

    20% {
        transform:skew(-2deg, -1.5deg)
    }

    25% {
        transform:skew(0.9deg, 0.9deg)
    }

    30% {
        transform:skew(-0.6deg, -0.6deg)
    }

    35% {
        transform:skew(0.3deg, 0.3deg)
    }

    40% {
        transform:skew(-0.2deg, -0.2deg)
    }

    45% {
        transform:skew(0.1deg, 0.1deg)
    }

    50% {
        transform:skew(0deg, 0deg)
    }
}

@keyframes crest13rotate {
    0% {
        transform:rotate(0)
    }

    50% {
        transform:rotate(360deg)
    }

    100% {
        transform:rotate(360deg)
    }
}

.p-crest--13 .p-crest__inner {
    animation:crest13rotate 3s linear infinite
}

.p-crest--13 svg {
    animation:crest13 3s linear infinite
}

@keyframes crest15 {
    0% {
        transform:rotateY(0)
    }

    60% {
        transform:rotateY(360deg)
    }

    100% {
        transform:rotateY(360deg)
    }
}

.p-crest--15 path:last-child {
    transform-origin: center;
    animation:crest15 3s linear infinite
}

.p-crest svg {
    display: block;
    width: 100%;
    height:auto
}

.p-crest--14 {
    border-radius:50%
}

@media all and (-ms-high-contrast: none) {
    .p-crest__inner {
        height:100%
    }
}

.p-crest__move {
    transition: transform 1.4s cubic-bezier(0.33, 1, 0.68, 1);
    will-change:transform
}

@media all and (-ms-high-contrast: none) {
    .p-crest__move {
        height:100%
    }
}

@keyframes scaleUp {
    0% {
        transform:scale(1)
    }

    100% {
        transform:scale(1.1)
    }
}

@keyframes scaleDownLoop {
    0% {
        transform:scale(1)
    }

    50% {
        transform:scale(0.9)
    }

    100% {
        transform:scale(1)
    }
}

@keyframes rotateRev {
    0% {
        transform:rotate(0)
    }

    15% {
        transform:rotate(0)
    }

    85% {
        transform:rotate(225deg)
    }

    100% {
        transform:rotate(225deg)
    }
}

@keyframes rotateRevRev {
    0% {
        transform:rotate(0)
    }

    15% {
        transform:rotate(0)
    }

    85% {
        transform:rotate(-270deg)
    }

    100% {
        transform:rotate(-270deg)
    }
}

@keyframes rotate360 {
    0% {
        transform:rotate(0)
    }

    7% {
        transform:rotate(0)
    }

    42% {
        transform:rotate(360deg)
    }

    50% {
        transform:rotate(360deg)
    }

    100% {
        transform:rotate(360deg)
    }
}

.a-rotate360 {
    animation:rotate360 5.5s ease-in-out infinite
}

@keyframes hovRotateRev360 {
    0% {
        transform:rotate(0)
    }

    100% {
        transform:rotate(360deg)
    }
}

@keyframes floatHr {
    0% {
        transform:translate(0, 0)
    }

    22.5% {
        transform:translate(2.5%, 0)
    }

    27.5% {
        transform:translate(2.5%, 0)
    }

    50% {
        transform:translate(0, 0)
    }

    72.5% {
        transform:translate(-2.5%, 0)
    }

    77.5% {
        transform:translate(-2.5%, 0)
    }

    100% {
        transform:translate(0, 0)
    }
}

@keyframes floatVr {
    0% {
        transform:translate(0, 0)
    }

    22.5% {
        transform:translate(0, -5%)
    }

    27.5% {
        transform:translate(0, -5%)
    }

    50% {
        transform:translate(0, 0)
    }

    72.5% {
        transform:translate(0, 5%)
    }

    77.5% {
        transform:translate(0, 5%)
    }

    100% {
        transform:translate(0, 0)
    }
}

@keyframes float1 {
    0% {
        transform:translate(0, 0)
    }

    15% {
        transform:translate(1.9%, 5.9%)
    }

    16% {
        transform:translate(2%, 6%)
    }

    17% {
        transform:translate(1.9%, 5.9%)
    }

    31% {
        transform:translate(2.9%, -6.9%)
    }

    32% {
        transform:translate(3%, -7%)
    }

    33% {
        transform:translate(2.9%, -6.9%)
    }

    48% {
        transform:translate(0, 0)
    }

    64% {
        transform:translate(-3%, 5%)
    }

    80% {
        transform:translate(-4%, -4%)
    }

    100% {
        transform:translate(0, 0)
    }
}

@keyframes skew {
    0% {
        transform:skew(0deg, 0deg)
    }

    5% {
        transform:skew(5deg, 4.2deg)
    }

    10% {
        transform:skew(-4deg, -3deg)
    }

    15% {
        transform:skew(3deg, 2.2deg)
    }

    20% {
        transform:skew(-2deg, -1.5deg)
    }

    25% {
        transform:skew(0.9deg, 0.9deg)
    }

    30% {
        transform:skew(-0.6deg, -0.6deg)
    }

    35% {
        transform:skew(0.3deg, 0.3deg)
    }

    40% {
        transform:skew(-0.2deg, -0.2deg)
    }

    45% {
        transform:skew(0.1deg, 0.1deg)
    }

    50% {
        transform:skew(0deg, 0deg)
    }
}

@keyframes skewRotateRev {
    0% {
        transform:skew(0deg, 0deg) rotate(0)
    }

    5% {
        transform:skew(5deg, 4.2deg) rotate(-18deg)
    }

    10% {
        transform:skew(-4deg, -3deg) rotate(-36deg)
    }

    15% {
        transform:skew(3deg, 2.2deg) rotate(-54deg)
    }

    20% {
        transform:skew(-2deg, -1.5deg) rotate(-72deg)
    }

    25% {
        transform:skew(0.9deg, 0.9deg) rotate(-90deg)
    }

    30% {
        transform:skew(-0.6deg, -0.6deg) rotate(-108deg)
    }

    35% {
        transform:skew(0.3deg, 0.3deg) rotate(-126deg)
    }

    40% {
        transform:skew(-0.2deg, -0.2deg) rotate(-144deg)
    }

    45% {
        transform:skew(0.1deg, 0.1deg) rotate(-162deg)
    }

    50% {
        transform:skew(0deg, 0deg) rotate(-180deg)
    }

    100% {
        transform:skew(0deg, 0deg) rotate(-360deg)
    }
}

.a-float1 {
    animation:float1 1s linear infinite
}

.a-float1.-d2 {
    animation-duration:2s
}

.a-float1.-d3 {
    animation-duration:3s
}

.a-float1.-d4 {
    animation-duration:4s
}

.a-float-hr {
    animation:floatHr 1s linear infinite
}

.a-float-hr.-d2 {
    animation-duration:2s
}

.a-float-hr.-d3 {
    animation-duration:3s
}

.a-float-hr.-d4 {
    animation-duration:4s
}

.a-float-vr {
    animation:floatVr 3s linear infinite
}

.a-float-vr.-d2 {
    animation-duration:2s
}

.a-float-vr.-d3 {
    animation-duration:3s
}

.a-float-vr.-d4 {
    animation-duration:4s
}

.a-skew {
    animation:skew 2.5s linear infinite
}

.a-skew-rotate-rev {
    animation:skewRotateRev 2.5s linear infinite
}

.a-rotate-rev {
    animation:rotateRev 3.5s ease-in-out infinite alternate
}

.a-rotate-revrev {
    animation: rotateRevRev 4s ease-in-out infinite alternate;
    animation-delay:.5s
}

.a-scaledown-loop {
    animation:scaleDownLoop .5s ease-in-out infinite
}

.a-hover-rotate-rev360 {
    animation:hovRotateRev360 3s ease-in-out infinite reverse
}

@media (hover: hover),(-ms-high-contrast: none) {
    .a-hover-scale:hover {
        animation:scaleUp .5s ease-in-out 2 alternate
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .a-hover-skew:hover {
        animation:skew 2.5s linear infinite
    }
}

.-dl25 {
    animation-delay:.25s
}

.-dl5 {
    animation-delay:.5s
}

.-dl75 {
    animation-delay:.75s
}

.-dl10 {
    animation-delay:1s
}

.p-mv {
    position: relative;
    height: 100vh;
    transition: transform .2s ease-out;
    will-change:transform
}

@media (orientation: landscape) {
    .p-mv {
        max-height:1080px
    }
}

.p-mv__base {
    position: absolute;
    top: 50%;
    left: 50%;
    perspective:600px
}

.p-mv__crest {
    position:absolute
}

@media (orientation: portrait) {
    .p-mv__crest1-1 {
        width: 21.6vw;
        bottom: 14.13vw;
        left:34.93vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest1-1 {
        width: 13.06vw;
        bottom: 21.25vw;
        left:24.17vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest1-2 {
        width: 10.69vw;
        top: 22.01vw;
        right:4.55vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest2-1 {
        width: 29.33vw;
        bottom: 43.47vw;
        left:-7.2vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest2-1 {
        width: 19.17vw;
        bottom: 9.92vw;
        right:3.21vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest3-1 {
        width: 28.27vw;
        top: 52.27vw;
        right:21.87vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest3-1 {
        width: 17.22vw;
        top: 2.65vw;
        left:-12.43vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest5-1 {
        width: 21.33vw;
        bottom: 78.67vw;
        left:9.6vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest5-1 {
        width: 12.92vw;
        bottom: 11.37vw;
        left:41.67vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest5-2 {
        width: 11.53vw;
        bottom: 1.51vw;
        left:-2.57vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest6-1 {
        width: 5.83vw;
        bottom: 15.26vw;
        left:11.74vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest7-1 {
        width: 19.73vw;
        top: 5.33vw;
        left:-4.8vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest7-1 {
        width: 11.94vw;
        top: -8.68vw;
        left:12.29vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest8-1 {
        width: 26.67vw;
        top: 3.73vw;
        right:30.13vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest8-1 {
        width: 16.11vw;
        top: 13.89vw;
        right:23.06vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest10-1 {
        width: 17.33vw;
        bottom: 48vw;
        right:35.47vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest10-1 {
        width: 13.43vw;
        bottom: 6.92vw;
        right:43.4vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest11-1 {
        width: 25.33vw;
        bottom: 4.53vw;
        right:30.93vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest11-1 {
        width: 28.47vw;
        top: 7.57vw;
        left:5.56vw
    }
}

@media (orientation: landscape) and(-ms-high-contrast: none) {
    .p-mv__crest11-1 {
        height:28.47vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest11-2 {
        width: 33.6vw;
        top: 52.27vw;
        left:-0.27vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest11-2 {
        width: 12.15vw;
        top: -2.64vw;
        right:37.15vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest12-1 {
        width: 8.8vw;
        bottom: 53.87vw;
        left:36.8vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest12-1 {
        width: 5.35vw;
        bottom: 9.9vw;
        left:25.33vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest12-2 {
        width: 13.6vw;
        bottom: 38.4vw;
        right:18.67vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest12-2 {
        width: 8.19vw;
        bottom: 7.58vw;
        right:26.99vw
    }
}

@media (orientation: portrait) {
    .p-mv__crest14-1 {
        width: 42.13vw;
        top: -0.53vw;
        left:21.33vw
    }
}

@media (orientation: landscape) {
    .p-mv__crest14-1 {
        width: 24.51vw;
        top: -9.51vw;
        left:29.38vw
    }
}

.p-mv__copy {
    position:absolute
}

@media (orientation: portrait) {
    .p-mv__copy {
        width: 58.67vw;
        bottom: -5.33vw;
        left:-29.33vw
    }
}

@media (orientation: landscape) {
    .p-mv__copy {
        width: 25.49vw;
        top: -5.35vw;
        right:7.57vw
    }
}

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

.p-mv__btn {
    position: absolute;
    z-index:2
}

@media (orientation: portrait) {
    .p-mv__btn {
        top: calc(50% + 33.07vw);
        left: 50%;
        transform:translateX(-50%)
    }
}

@media (orientation: landscape) {
    .p-mv__btn {
        right: 4rem;
        bottom:4rem
    }
}

.p-mv__scroll {
    position: absolute;
    color: #222;
    display: block;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    letter-spacing: .05em;
    font-weight:bold
}

@media (orientation: portrait) {
    .p-mv__scroll {
        right: 6.4vw;
        bottom:28.53vw
    }
}

@media (orientation: portrait) and(max-width: 767px) {
    .p-mv__scroll {
        font-size:10px
    }
}

@media (orientation: portrait) and(min-width: 768px) {
    .p-mv__scroll {
        font-size:.88rem
    }
}

@media (orientation: landscape) {
    .p-mv__scroll {
        font-size: .88rem;
        line-height: 1.21;
        bottom: 2rem;
        left:3.5rem
    }
}

.p-mv__scroll span {
    display: block;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode:vertical-lr
}

.iOS .p-mv__scroll span {
    transform:translateX(-45%) !important
}

@media (min-width: 768px) {
    .p-mv__scroll span {
        transform:rotate(180deg)
    }
}

.p-mv__scroll::after {
    position: absolute;
    left: 50%;
    background-color: #afafaf;
    width: 1px;
    content: ""
}

@media (orientation: portrait) {
    .p-mv__scroll::after {
        top: calc(100% + 0.7em);
        height:3.4em
    }
}

@media (orientation: landscape) {
    .p-mv__scroll::after {
        bottom: calc(100% + 0.69rem);
        height:5.88rem
    }
}

.p-mv__notice {
    position: absolute;
    background-color: #fff;
    display: flex;
    align-items: center;
    overflow: hidden;
    box-shadow: .31rem .19rem .63rem rgba(0, 0, 0, .16);
    transition: box-shadow .3s ease;
    width: 300px;
    height: 90px;
    border-radius:.63rem
}

@media (max-width: 767px) {
    .p-mv__notice {
        left: 0;
        right: 0;
        top: calc(50% + 33.07vw);
        margin: 0 auto;
        padding-left:20px
    }
}

@media (min-width: 768px) {
    .p-mv__notice {
        width: 30.63rem;
        height: 10.25rem;
        bottom: 1.88rem;
        left: 5vw;
        padding-left:2.19rem
    }
}

@media (min-width: 901px) {
    .p-mv__notice {
        left:8.33%
    }
}

@media (min-width: 1320px) {
    .p-mv__notice {
        left:calc(50% - 600px)
    }
}

.p-mv__notice img {
    width:14.08%
}

@media (min-width: 768px) {
    .p-mv__notice img {
        width:4.31rem
    }
}

.p-mv__notice::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: .63rem;
    border:3px solid #36bce2
}

@media (min-width: 768px) {
    .p-mv__notice::before {
        border-width:.31rem
    }
}

.p-mv__notice::after {
    content: "";
    height: 100%;
    margin-left: auto;
    width: 9.79%;
    background: url("../img/top/top_notice_right@2x.png") no-repeat #36bce2 center center/14px auto
}

@media (min-width: 768px) {
    .p-mv__notice::after {
        background-size:1.13rem auto
    }
}

.p-mv__notice:hover {
    box-shadow:.31rem .19rem 1.25rem rgba(0, 0, 0, .3)
}

.p-mv__notice:hover .p-mv__notice__body span {
    text-decoration:none
}

.p-mv__notice__body {
    color: #333;
    align-items: flex-start;
    margin-left:15px
}

@media (min-width: 768px) {
    .p-mv__notice__body {
        margin-left:1.75rem
    }
}

.p-mv__notice__body small {
    font-weight: bold;
    letter-spacing: .05em;
    font-size:12px
}

@media (min-width: 768px) {
    .p-mv__notice__body small {
        font-size: .88rem;
        line-height:1.43
    }
}

.p-mv__notice__body span {
    font-weight: bold;
    letter-spacing: .05em;
    line-height: 1.6;
    text-decoration: underline;
    font-size:16px
}

@media (min-width: 768px) {
    .p-mv__notice__body span {
        font-size: 1.56rem;
        margin-top:.25rem
    }
}

@media (max-width: 767px) {
    .p-mv__notice + .p-mv__btn {
        transform:translate(-50%, -160%)
    }
}

.p-top-news {
    overflow:hidden
}

@media (max-width: 767px) {
    .p-top-news {
        margin-top:-45px
    }
}

@media (min-width: 768px) {
    .p-top-news {
        margin-top:14.75rem
    }
}

.swiper-wrapper::after {
    content: "";
    width:1px !important
}

.p-top-news__item {
    color: #222;
    width:61.8% !important
}

@media (min-width: 768px) {
    .p-top-news__item {
        width:37.5% !important
    }
}

@media (min-width: 901px) {
    .p-top-news__item {
        width:26.06% !important
    }
}

.p-top-news__item.-last {
    width:calc(5vw - 3.51%) !important
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-news__item {
        transition:opacity .25s ease
    }

    .p-top-news__item:hover {
        opacity:.7
    }
}

.p-top-news__pic {
    position: relative;
    padding-top: 64.83%;
    overflow: hidden;
    border-radius:1.25rem
}

.p-top-news__pic img {
    position: absolute;
    top: 0;
    left: 0;
    display:block
}

.p-top-news__sub {
    color: #3e3a39;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 2.25em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow:ellipsis
}

@media (min-width: 768px) {
    .p-top-news__sub {
        font-size:.75rem
    }
}

.p-top-news__ttl {
    color: #333;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.43;
    margin-top: .57em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow:ellipsis
}

@media (min-width: 768px) {
    .p-top-news__ttl {
        font-size:.88rem
    }
}

.p-top-news__item__cursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 4.38rem;
    height: 4.38rem;
    background: rgba(209, 209, 209, .7);
    border-radius: 50%;
    box-shadow: 1px 1px 24px rgba(0, 0, 0, .16);
    transform: translate(0, 0);
    z-index: 3;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    will-change: transform;
    display: flex;
    justify-content: center;
    align-items:center
}

.p-top-news__item__cursor::before {
    content: "";
    font-family: "icomoon";
    font-size: 1.75rem;
    color:#fff
}

.p-top-news__item__cursor.-prev::before {
    transform:rotate(180deg)
}

.p-top-news__item__cursor.is-show {
    opacity:1
}

.p-top-swiper__ctrls {
    margin-top: 25px;
    display: flex;
    align-items:center
}

@media (min-width: 768px) {
    .p-top-swiper__ctrls {
        width: 90vw;
        margin-top:4.06rem
    }
}

@media (min-width: 901px) {
    .p-top-swiper__ctrls {
        padding-right: 4.67%;
        width:96.77%
    }
}

@media (min-width: 1320px) {
    .p-top-swiper__ctrls {
        width:1200
    }
}

.p-top-swiper__pagination {
    background-color: #fff !important;
    height: 2px;
    width:67.94%
}

@media (min-width: 768px) {
    .p-top-swiper__pagination {
        width:87.76%
    }
}

.swiper-scrollbar-drag {
    background-color:#aaa !important
}

.p-top-swiper__btn {
    background-color: #fff;
    border: 1px solid #afafaf;
    color: #afafaf;
    border-radius: 50%;
    font-size: .88rem;
    height: 31px;
    width: 31px;
    display: flex;
    justify-content: center;
    align-items:center
}

@media (min-width: 768px) {
    .p-top-swiper__btn {
        height: 2rem;
        width:2rem
    }
}

.p-top-swiper__btn.swiper-button-disabled {
    border: 1px solid #d8d8d8;
    color:#d8d8d8
}

.p-top-swiper__prev {
    transform: rotate(180deg);
    margin-left: auto;
    margin-right:18px
}

@media (min-width: 768px) {
    .p-top-swiper__prev {
        margin-right:2rem
    }
}

.p-top-fun {
    position: relative;
    z-index: 2;
    margin-top:48px
}

@media (min-width: 768px) {
    .p-top-fun {
        margin-top:13.94rem
    }
}

.p-top-fun__contents {
    margin-top:24px
}

@media (min-width: 768px) {
    .p-top-fun__contents {
        justify-content: space-between;
        margin-top:4.5rem
    }
}

.p-top-fun__sec {
    width: 100%;
    max-width: 559px;
    pointer-events:none
}

@media (min-width: 768px) {
    .p-top-fun__sec {
        width:46.58%
    }
}

@media (max-width: 767px) {
    .p-top-fun__sec + .p-top-fun__sec {
        margin-top:32px
    }
}

.p-top-fun__pic {
    position: relative;
    padding-top: 56.17%;
    pointer-events: auto;
    display: block;
    cursor:pointer
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-fun__pic img {
        transition:transform .3s ease-out
    }

    .p-top-fun__sec:hover .p-top-fun__pic img {
        transform:scale(1.1)
    }
}

.p-top-fun__pic-inner {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height:auto
}

.p-top-fun__heading {
    display: flex;
    align-items: center;
    font-size: 14px;
    letter-spacing: .05em;
    line-height: 1.43;
    margin-top:16px
}

@media (min-width: 768px) {
    .p-top-fun__heading {
        font-size: 1.88rem;
        line-height: 1.5;
        margin-top:1.88rem
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-top-fun__heading {
        flex-wrap:wrap
    }
}

.p-top-fun__heading span {
    margin-right:13px
}

@media (min-width: 768px) {
    .p-top-fun__heading span {
        margin-right:.63em
    }
}

.p-top-fun__heading::after {
    content: attr(data-eng);
    font-size:10px
}

@media (min-width: 768px) {
    .p-top-fun__heading::after {
        font-size:.75rem
    }
}

.p-top-fun__txt {
    margin-top:7px
}

@media (min-width: 768px) {
    .p-top-fun__txt {
        margin-top:1.07em
    }
}

.p-top-fun__btn {
    pointer-events:auto
}

@media (max-width: 767px) {
    .p-top-fun__btn {
        margin:18px auto 0
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-fun__sec:hover .p-top-fun__btn {
        box-shadow: 3px 3px 10px rgba(0, 0, 0, .16);
        color:#fff
    }

    .p-top-fun__sec:hover .p-top-fun__btn::before {
        opacity: 1;
        transform:scale(1)
    }
}

.p-top-store {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-top-store {
        background: linear-gradient(to bottom, #fafafa 19.25rem, #fff 19.25rem, #fff 100%);
        margin-top:11.75rem
    }
}

.p-top-store__inner {
    position:relative
}

.p-top-store__box {
    background-color: #00a4d2;
    border-radius: 10px;
    padding:25px 28px 30px
}

@media (min-width: 768px) {
    .p-top-store__box {
        border-radius: 1.25rem;
        padding: 5.31rem 10.92% 6.69rem 9.25%;
        width:53.42%
    }
}

.p-top-store__pic {
    position: relative;
    overflow: hidden;
    width: 100%;
    padding-top:54.05%
}

@media (max-width: 767px) {
    .p-top-store__pic {
        margin-top:15px
    }
}

@media (min-width: 768px) {
    .p-top-store__pic {
        position: absolute;
        right: 0;
        top: 50%;
        transform: translateY(-50%);
        padding-top: 31.17%;
        width:50%
    }
}

.p-top-store__pic img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height:auto
}

.p-top-store__ttl {
    color: #fff;
    margin-top:18px
}

@media (min-width: 768px) {
    .p-top-store__ttl {
        margin-top:2.5rem
    }
}

.p-top-store__link--big {
    background-color: #fff;
    border: 1px solid #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #00a4d2;
    width: 100%;
    border-radius: 23px;
    padding-left: 28px;
    padding-right: 12px;
    height: 45px;
    margin-top:11px
}

@media (min-width: 768px) {
    .p-top-store__link--big {
        font-size: 1.13rem;
        border-radius: 1.94rem;
        margin-top: 2.19rem;
        margin-bottom: 2.81rem;
        padding-left: 2.31rem;
        padding-right: 1.19rem;
        height:3.81rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-store__link--big {
        transition:background-color .4s ease, box-shadow .4s ease
    }

    .p-top-store__link--big:hover {
        background-color: rgba(0, 0, 0, 0);
        color: #fff;
        box-shadow:3px 3px 10px rgba(0, 0, 0, .16)
    }

    .p-top-store__link--big:hover .c-link-icon.-color {
        border-color: #fff;
        color:#fff
    }
}

.p-top-store__links {
    justify-content:space-between
}

@media (max-width: 767px) {
    .p-top-store__links {
        margin-top:10px
    }
}

.p-top-store__link {
    width:47.1%
}

@media (max-width: 767px) {
    .p-top-store__link:nth-child(n + 3) {
        margin-top:17px
    }
}

@media (min-width: 768px) {
    .p-top-store__link {
        margin-top: 1.56rem;
        width:47.62%
    }
}

.p-top-store__link::before {
    top: 0;
    left: 0;
    right: 0;
    bottom:0
}

@media (max-width: 767px) {
    .p-top-store__btn {
        margin:28px auto 0
    }
}

@media (min-width: 768px) {
    .p-top-store__btn {
        position: absolute;
        bottom: 0;
        right:0
    }
}

.p-top-company {
    position: relative;
    background-color: #fff;
    z-index: 2;
    padding-top: 35px;
    padding-bottom:45px
}

@media (min-width: 768px) {
    .p-top-company {
        padding-top: 11.63rem;
        padding-bottom:11.63rem
    }
}

.p-top-company__contents {
    margin-top:11px
}

@media (min-width: 768px) {
    .p-top-company__contents {
        justify-content: space-between;
        margin-top:5.25rem
    }
}

.p-top-company__item {
    position: relative;
    color: #fff;
    width: 48.25%;
    padding-top:34.29%
}

@media (max-width: 767px) {
    .p-top-company__item {
        margin-top:16px
    }
}

@media (min-width: 768px) {
    .p-top-company__item {
        padding-top: 23.67%;
        width:48.42%
    }
}

@media (max-width: 767px) {
    .p-top-company__item:nth-child(even) {
        margin-left:auto
    }
}

@media (min-width: 768px) {
    .p-top-company__item:nth-child(n + 3) {
        margin-top:2.5rem
    }
}

@media (min-width: 768px) {
    .p-top-company__item:nth-child(n + 5) {
        padding-top: 22.83%;
        width:31.17%
    }
}

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

.p-top-company__pic img {
    transition:transform .3s ease-out
}

@media (max-width: 767px) {
    .p-top-company__pic img {
        height: 100%;
        width: 100% !important;
        max-width: none;
        object-fit:cover
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-company__item:hover .p-top-company__pic img {
        transform:scale(1.1)
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-company__item:hover .p-top-company__pic::after {
        opacity:.5
    }
}

@media (max-width: 767px) {
    .p-top-company__pic--inner {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: calc(100% + 50px);
        z-index:1
    }
}

@media (min-width: 768px) {
    .p-top-company__pic--inner {
        position:relative
    }
}

.-has-filter .p-top-company__pic--inner::after {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    content: "";
    background-color: rgba(96, 96, 96, .39);
    mix-blend-mode: multiply;
    transition: opacity .3s ease;
    z-index:1
}

@media all and (-ms-high-contrast: none) {
    .-has-filter .p-top-company__pic--inner::after {
        background-color:rgba(0, 0, 0, .2)
    }
}

.p-top-company__inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    justify-content: center;
    align-items: flex-start;
    padding-left: 12.5%;
    z-index:2
}

@media (min-width: 768px) {
    .p-top-company__inner {
        padding-left:3.75rem
    }
}

.p-top-company__ttl {
    font-weight: bold;
    align-items: flex-start;
    font-size: 13px;
    line-height:1.67
}

@media (min-width: 768px) {
    .p-top-company__ttl {
        line-height: 1.5;
        font-size:1.88rem
    }
}

.p-top-company__ttl::before {
    content: attr(data-eng);
    line-height: 1;
    font-weight: bold;
    font-size:10px
}

@media (max-width: 767px) {
    .p-top-company__ttl::before {
        transform-origin: left top;
        transform:scale(0.8)
    }
}

@media (min-width: 768px) {
    .p-top-company__ttl::before {
        font-size: .88rem;
        letter-spacing: .05em;
        margin-bottom:.38rem
    }
}

.p-top-company__btns {
    overflow:hidden
}

@media (min-width: 768px) {
    .p-top-company__btns {
        margin-top:1.25rem
    }
}

.p-top-company__btns-inner {
    align-items:center
}

@media (max-width: 767px) {
    .p-top-company__btns-inner {
        margin-top:18px
    }

    .p-top-company__item:last-child .p-top-company__btns-inner {
        margin-top:6px
    }
}

@media (min-width: 768px) {
    .p-top-company__btns-inner {
        transition: transform .3s ease-out;
        transform:translateX(calc(2rem - 100%))
    }
}

.p-top-company__item:hover .p-top-company__btns-inner {
    transform:translateX(0)
}

.p-top-company___link-txt {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-size: .75rem;
    letter-spacing:.05em
}

@media (max-width: 767px) {
    .p-top-company___link-txt {
        display:none
    }
}

@media (min-width: 768px) {
    .p-top-company__icon {
        margin-left:1rem
    }
}

.p-top-csr {
    position: relative;
    padding-top: 45px;
    padding-bottom:45px
}

@media (min-width: 768px) {
    .p-top-csr {
        padding-top: 10.25rem;
        padding-bottom:12.56rem
    }
}

.p-top-csr__chara {
    position:absolute
}

@media (max-width: 767px) {
    .p-top-csr__chara {
        display:none
    }
}

@media (min-width: 768px) {
    .p-top-csr__chara {
        top: 9.38rem;
        right: 5vw;
        width:8.5rem
    }
}

@media (min-width: 901px) {
    .p-top-csr__chara {
        right:4.55%
    }
}

@media (min-width: 1320px) {
    .p-top-csr__chara {
        right:calc(50% - 600px)
    }
}

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

.p-top-csr__mid-heading {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-top-csr__mid-heading {
        font-size: 1.56rem;
        line-height: 1.48;
        margin-top:3.88rem
    }
}

.p-top-csr__lead {
    margin-top:14px
}

@media (min-width: 768px) {
    .p-top-csr__lead {
        margin-top:1.38rem
    }
}

.p-top-csr__contents {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-top-csr__contents {
        display: flex;
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .p-top-csr__sec-heading.-news {
        display:none
    }
}

@media (min-width: 768px) {
    .p-top-csr__sec-heading + * {
        margin-top:2.5rem
    }
}

@media (min-width: 768px) {
    .p-top-csr-news {
        padding-right: 6.83%;
        flex:1 1 auto
    }
}

@media (min-width: 768px) and(-ms-high-contrast: none) {
    .p-top-csr-news {
        flex:1
    }
}

.p-top-csr__item {
    display: flex;
    align-items: flex-start;
    width:100%
}

.p-top-csr__item:not(:first-child) {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-top-csr__item:not(:first-child) {
        margin-top:2.63rem
    }
}

.p-top__csr-pic {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    flex: 0 0 auto;
    width: 31.43%;
    padding-top:23.49%
}

@media (min-width: 768px) {
    .p-top__csr-pic {
        width: 41.64%;
        padding-top: 29.62%;
        border-radius:.63rem
    }
}

.p-top__csr-pic.-bb {
    border:1px solid #afafaf
}

.p-top__csr-pic img {
    position: absolute;
    top: 0;
    left:0
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top__csr-pic img {
        transition:opacity .3s ease
    }

    .p-top-csr__item:hover .p-top__csr-pic img {
        opacity:.7
    }
}

.p-top__csr-body {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    overflow: hidden;
    padding-bottom: 2px;
    flex: 1;
    margin-left:5.08%
}

@media (min-width: 768px) {
    .p-top__csr-body {
        margin-left:5.06%
    }
}

.p-top__csr-date {
    width:65px
}

@media (min-width: 768px) {
    .p-top__csr-date {
        width:4.5rem
    }
}

.p-top__csr-cat {
    max-width:calc(100% - 65px)
}

@media (min-width: 768px) {
    .p-top__csr-cat {
        max-width:calc(100% - 4.5rem)
    }
}

.p-top__csr-ttl {
    width:100%
}

@media (max-width: 767px) {
    .p-top__csr-ttl {
        font-size: 12px;
        line-height: 1.67;
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .p-top__csr-ttl {
        margin-top:1.25rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-top-csr__item:hover .p-top__csr-ttl {
        text-decoration:underline
    }
}

@media (max-width: 767px) {
    .p-top-csr__btn {
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-top-csr__btn {
        margin-top: 2.63rem;
        margin-left:auto
    }
}

@media (max-width: 767px) {
    .p-top-sdgs {
        margin-top:37px
    }
}

@media (min-width: 768px) {
    .p-top-sdgs {
        flex: 0 0 auto;
        border-left: 1px solid #afafaf;
        padding-left: 6.83%;
        width:48%
    }
}

@media (max-width: 767px) {
    .p-top-sdgs__pic {
        margin-top:15px
    }
}

@media (min-width: 768px) {
    .p-top-sdgs__pic img {
        width: 100%;
        height:auto
    }
}

.p-top-sdgs__txt {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-top-sdgs__txt {
        margin-top:2rem
    }
}

@media (max-width: 767px) {
    .p-top-sdgs__btn {
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-top-sdgs__btn {
        margin-top: 2rem;
        margin-left:auto
    }
}

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

@media (max-width: 767px) {
    .p-bg {
        display:none
    }
}

@media (min-width: 768px) {
    .p-bg.-fun .p-crest--7 {
        left: calc(50% + 45.45%);
        bottom: calc(100% - 0.25rem);
        height: 10rem;
        width:10rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-fun .p-crest--7 {
        left:calc(50% +(1200px / 2))
    }
}

@media (min-width: 768px) {
    .p-bg.-fun .p-crest--12 {
        left: calc(50% + 20.45%);
        top: 1.75rem;
        width: 8.38rem;
        height:8.38rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-fun .p-crest--12 {
        left:calc(50% + 270px)
    }
}

@media (min-width: 768px) {
    .p-bg.-fun .p-crest--5 {
        left: calc(50% + 34.02%);
        top: 11.94rem;
        width: 14.44rem;
        height:14.44rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-fun .p-crest--5 {
        left:calc(50% + 449px)
    }
}

@media (min-width: 768px) {
    .p-bg.-fun .p-crest--1 {
        left: calc(50% + 47.42%);
        bottom: 1.81rem;
        width: 11.75rem;
        height:11.75rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-fun .p-crest--1 {
        left:calc(50% + 626px)
    }
}

@media (min-width: 768px) {
    .p-bg.-fun .p-crest--6 {
        left: calc(50% + 42.27%);
        top: calc(100% + 3.25rem);
        width: 5.25rem;
        height:5.25rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-fun .p-crest--6 {
        left:calc(50% + 558px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--10 {
        left: calc(50% + 48.56%);
        top: 23.31rem;
        width:calc(10.8235294118rem)
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--10 {
        left:calc(50% + 641px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--11-1 {
        left: calc(50% + 39.17%);
        top: 10.44rem;
        width: 10.38rem;
        height:10.38rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--11-1 {
        left:calc(50% + 517px)
    }
}

.p-bg.-company .p-crest--14 {
    left:calc(50% + 14.02%)
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--14 {
        top: 12.19rem;
        width: 14.38rem;
        height:14.38rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--14 {
        left:calc(50% + 185px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--7 {
        left: calc(50% + 40.61%);
        bottom: 36.69rem;
        width: 10rem;
        height:10rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--7 {
        left:calc(50% + 536px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--12 {
        left: calc(50% + 50.08%);
        bottom: 16.44rem;
        width: 7.38rem;
        height:7.38rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--12 {
        left:calc(50% + 661px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--1 {
        left: calc(50% + 47.42%);
        bottom: -4.31rem;
        width: 11.75rem;
        height:11.75rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--1 {
        left:calc(50% + 626px)
    }
}

@media (min-width: 768px) {
    .p-bg.-company .p-crest--11-2 {
        left: calc(50% + 24.32%);
        bottom: -3.25rem;
        width: 6.94rem;
        height:6.94rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-company .p-crest--11-2 {
        left:calc(50% + 321px)
    }
}

@media (min-width: 768px) {
    .p-bg.-topics .p-crest--3 {
        left: calc(50% + 47.42%);
        top: -8.31rem;
        width: 16.75rem;
        height:16.75rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-topics .p-crest--3 {
        left:calc(50% + 626px)
    }
}

@media (min-width: 768px) {
    .p-bg.-topics .p-crest--8 {
        left: calc(50% + 14.7%);
        top: -5.19rem;
        width: 12rem;
        height:12rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-topics .p-crest--8 {
        left:calc(50% + 194px)
    }
}

@media (min-width: 768px) {
    .p-bg.-topics .p-crest--2 {
        left: calc(50% + 40.76%);
        bottom: -11.38rem;
        width: 17.31rem;
        height:17.31rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-topics .p-crest--2 {
        left:calc(50% + 538px)
    }
}

@media (min-width: 768px) {
    .p-bg.-topics .p-crest--7 {
        left: calc(50% + 14.17%);
        top: calc(100% + 2.25rem);
        width: 10rem;
        height:10rem
    }
}

@media (min-width: 1320px) {
    .p-bg.-topics .p-crest--7 {
        left:calc(50% + 187px)
    }
}

.p-crest--bg {
    position:absolute
}

@media (min-width: 768px) {
    .p-other__container {
        padding-bottom:7.69rem
    }
}

.p-simple-sec + .p-simple-sec {
    border-top: 1px solid #d8d8d8;
    margin-top: 40px;
    padding-top:40px
}

@media (min-width: 768px) {
    .p-simple-sec + .p-simple-sec {
        margin-top: 3.5rem;
        padding-top:3.5rem
    }
}

.p-simple-sec__lead + .p-simple-sec {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-simple-sec__lead + .p-simple-sec {
        margin-top:4.19rem
    }
}

.c-mid-heading + .p-simple-sec__txt {
    margin-top:20px
}

@media (min-width: 768px) {
    .c-mid-heading + .p-simple-sec__txt {
        margin-top:2.5rem
    }
}

.p-simple-sec__ttl + .p-simple-sec__txt {
    margin-top:8px
}

@media (min-width: 768px) {
    .p-simple-sec__ttl + .p-simple-sec__txt {
        margin-top:.75rem
    }
}

.c-mid-heading + .p-simple-sec__ttl {
    margin-top:20px
}

@media (min-width: 768px) {
    .c-mid-heading + .p-simple-sec__ttl {
        margin-top:2.5rem
    }
}

.p-simple-sec__txt + .p-simple-sec__ttl {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-simple-sec__txt + .p-simple-sec__ttl {
        margin-top:1.88rem
    }
}

.p-simple-sec__txt + .p-simple-sec__list {
    margin-top:21px
}

@media (min-width: 768px) {
    .p-simple-sec__txt + .p-simple-sec__list {
        margin-top:1.88rem
    }
}

.p-simple__btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-simple__btn {
        margin-top: 7.5rem;
        width:12.88rem
    }
}

@media (min-width: 768px) {
    .p-sitemap__contents {
        display: flex;
        justify-content:space-between
    }
}

.p-sitemap__contents a {
    color:#3e3a39
}

.p-sitemap__contents .c-col, .p-sitemap__contents .f-content.-file-wrap, .p-sitemap__contents .p-funcrest__item, .p-sitemap__contents .p-service__heading, .p-sitemap__contents .p-guidelines__sec__heading, .p-sitemap__contents .p-page__relation__bnr-inner .c-mid-heading[data-eng], .p-page__relation__bnr-inner .p-sitemap__contents .c-mid-heading[data-eng] {
    align-items:flex-start
}

@media (min-width: 768px) {
    .p-sitemap__col {
        width:25.34%
    }
}

@media (max-width: 767px) {
    .p-sitemap__col:not(:first-child) {
        border-top: 1px solid #d8d8d8;
        margin-top: 20px;
        padding-top:20px
    }
}

.p-sitemap__group {
    width:100%
}

@media (max-width: 767px) {
    .p-sitemap__group {
        flex-direction: row;
        flex-wrap:wrap
    }
}

.p-sitemap__group:not(:first-child) {
    border-top: 1px solid #d8d8d8;
    margin-top: 20px;
    padding-top:20px
}

@media (min-width: 768px) {
    .p-sitemap__group:not(:first-child) {
        padding-top: 2.5rem;
        margin-top:2.5rem
    }
}

.p-sitemap__first {
    font-weight: bold;
    font-size:16px
}

@media (max-width: 767px) {
    .p-sitemap__first {
        padding: 5px 0;
        width:100%
    }
}

@media (min-width: 768px) {
    .p-sitemap__first {
        font-size:1.25rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-sitemap__first:hover {
        text-decoration:underline
    }
}

.p-sitemap__second {
    font-weight: bold;
    display: flex;
    align-items: baseline;
    letter-spacing: .05em;
    font-size: 12px;
    white-space:nowrap
}

@media (max-width: 767px) {
    .p-sitemap__second {
        padding: .4em 0;
        min-width:50%
    }
}

@media (min-width: 768px) {
    .p-sitemap__second {
        font-size: .88rem;
        line-height:2.14
    }
}

@media (min-width: 768px) {
    .p-sitemap__first + .p-sitemap__second {
        margin-top:1.63rem
    }
}

@media (min-width: 768px) {
    .p-sitemap__second + .p-sitemap__second {
        margin-top:.5rem
    }
}

@media (min-width: 768px) {
    .p-sitemap__third + .p-sitemap__second {
        margin-top:.5rem
    }
}

@media (max-width: 767px) {
    .p-sitemap__second.-mr {
        margin-right:50%
    }
}

@media (max-width: 767px) {
    .p-sitemap__second.-sp-mt {
        margin-top:20px
    }
}

.p-sitemap__second.-mt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-sitemap__second.-mt {
        margin-top:1.88rem
    }
}

.p-sitemap__second::before {
    content: "";
    font-family: "icomoon";
    color: #36bce2;
    width: 1.5rem;
    flex: 0 0 auto;
    transform:translateY(1px)
}

@media (min-width: 768px) {
    .p-sitemap__second::before {
        font-size:.81rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-sitemap__second:hover span {
        text-decoration:underline
    }
}

@media (max-width: 767px) {
    .p-sitemap__third-wrap {
        width: 100%;
        display: flex;
        flex-wrap:wrap
    }
}

.p-sitemap__third {
    letter-spacing: .05em;
    display: flex;
    align-items: center;
    font-size: 12px;
    margin-left:1.5rem
}

@media (max-width: 767px) {
    .p-sitemap__third {
        padding:.4em 0
    }
}

@media (min-width: 768px) {
    .p-sitemap__third {
        font-size: .88rem;
        line-height:2.14
    }
}

@media (min-width: 768px) {
    .p-sitemap__second + .p-sitemap__third {
        margin-top:.5rem
    }
}

.p-sitemap__third::before {
    content: "";
    height: 1px;
    width: .63rem;
    background-color: #d8d8d8;
    margin-right:.5rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-sitemap__third:hover span {
        text-decoration:underline
    }
}

@media (max-width: 767px) {
    .p-other__404-heading {
        margin-left: -5vw;
        margin-right:-5vw
    }
}

.p-404__container {
    padding-top:150px
}

@media (min-width: 768px) {
    .p-404__container {
        padding-top: 17.88rem;
        padding-bottom:6.75rem
    }
}

.p-other__404-pic {
    margin-top:40px
}

@media (max-width: 767px) {
    .p-other__404-pic {
        width:280px
    }
}

@media (min-width: 768px) {
    .p-other__404-pic {
        margin-top: 3.75rem;
        width: 40.17%;
        max-width:482px
    }
}

.p-other__404-ttl {
    color: #333;
    font-weight: bold;
    font-size: 20px;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    letter-spacing: .05em;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-other__404-ttl {
        font-size:1.88rem
    }
}

.p-other__404-txt {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-other__404-txt {
        margin-top:3.81rem
    }
}

@media (min-width: 768px) {
    .p-recruit__container {
        padding-bottom:9.88rem
    }
}

.p-recruit__sec .c-txt:first-of-type, .p-recruit__sec .p-period__block__item dt:first-of-type, .p-period__block__item .p-recruit__sec dt:first-of-type {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-recruit__sec .c-txt:first-of-type, .p-recruit__sec .p-period__block__item dt:first-of-type, .p-period__block__item .p-recruit__sec dt:first-of-type {
        margin-top:2.94rem
    }
}

@media (max-width: 767px) {
    .p-recruit__bnrs .p-cols__item {
        width: 100%;
        max-width: 510px;
        margin-left: auto;
        margin-right:auto
    }
}

.p-recruit__bnr {
    position: relative;
    margin-top: 15px;
    overflow: hidden;
    border-radius: .5rem;
    z-index: 1;
    width: 100%;
    transition:opacity .3s ease
}

@media (min-width: 768px) {
    .p-recruit__bnr {
        margin-top:1.81rem
    }
}

.p-recruit__bnr.-has-ext-link-icon::after {
    position: absolute;
    content: "";
    font-family: "icomoon";
    color: #0067b7;
    right: 1.13rem;
    font-size: 1rem;
    line-height: 1;
    top:calc(50% - 0.5rem)
}

@media (min-width: 768px) {
    .p-recruit__bnr.-has-ext-link-icon::after {
        right: 1.5rem;
        font-size: 1.25rem;
        top:calc(50% - 0.63rem)
    }
}

.p-recruit__bnr.-bg-w {
    background-color:#fff
}

.p-recruit__bnr.-has-logo {
    padding-top:38.43%
}

.p-recruit__bnr.-rikunabi img {
    display: block;
    width: auto !important;
    height:90%
}

@media (min-width: 768px) {
    .p-recruit__bnr.-rikunabi img {
        height:90%
    }
}

.p-recruit__bnr:not(.-no-link):hover {
    opacity:.75
}

.p-recruit__bnr-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content:center
}

.p-recruit__btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-recruit__btn {
        margin-top:5.69rem
    }
}

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

@media (min-width: 768px) {
    .p-top-topics {
        background:linear-gradient(to bottom, #fafafa 49.06rem, #fff 49.06rem, #fff 100%)
    }
}

.p-top-topics__inner {
    background-color:#fff
}

@media (max-width: 767px) {
    .p-top-topics__inner {
        margin-left: -8vw;
        padding:45px 8vw 33px
    }
}

@media (min-width: 768px) {
    .p-top-topics__inner {
        border-radius: 1.25rem 0 0 1.25rem;
        padding:9.06rem 5vw 7.69rem 6.88rem
    }
}

@media (min-width: 901px) {
    .p-top-topics__inner {
        padding-right:3.2311345102%
    }
}

@media (min-width: 1320px) {
    .p-top-topics__inner {
        padding-right:calc(100% - 1200px)
    }
}

@media (max-width: 767px) {
    .p-topics__cats-container {
        overflow: hidden;
        margin-right:-8vw
    }

    .p-topics__cats-container:not(.-top) {
        width:calc(100% + 8vw)
    }
}

@media (min-width: 768px) {
    .p-topics__cats-container {
        width:100%
    }
}

.p-topics__cats-container.-top {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-topics__cats-container.-top {
        margin-top:4.19rem
    }
}

.p-topics__cats {
    display:flex
}

@media (max-width: 767px) {
    .p-topics__cats {
        overflow: auto;
        padding-bottom:10px
    }

    .p-topics__cats::after {
        content: "";
        width: 8vw;
        flex:0 0 8vw
    }

    .p-topics__cats::-webkit-scrollbar {
        height:2px
    }

    .p-topics__cats::-webkit-scrollbar-track {
        margin: 0 8vw 0 0;
        background:#fff
    }

    .p-topics__cats::-webkit-scrollbar-thumb {
        background:rgba(0, 0, 0, .5)
    }
}

@media (min-width: 768px) {
    .p-topics__cats {
        justify-content: space-between;
        flex-wrap:wrap
    }

    .p-topics__cats::before, .p-topics__cats::after {
        content: "";
        order: 1;
        width:18.42%
    }
}

.p-topics__cat-btn {
    position: relative;
    background-color: #d8d8d8;
    border: none;
    border-radius: .31rem;
    color: #fff;
    font-weight: bold;
    height: 37px;
    font-size: 10px;
    z-index: 1;
    overflow: hidden;
    min-width:99px
}

@media (max-width: 767px) {
    .p-topics__cat-btn {
        flex:0 0 auto
    }

    .p-topics__cat-btn + .p-topics__cat-btn {
        margin-left:7px
    }
}

@media (min-width: 768px) {
    .p-topics__cat-btn {
        font-size: .88rem;
        width: 18.42%;
        height:3.31rem
    }
}

.p-topics__cat-btn span {
    position:relative
}

.p-topics__cat-btn:not(.is-current)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #36bce2;
    transform-origin: left;
    transform: scaleX(0);
    transition:transform .3s ease
}

.p-topics__cat-btn:not(.is-current):hover::before {
    transform:scaleX(1)
}

.p-topics__cat-btn.is-current {
    background-color: #36bce2;
    pointer-events: none;
    cursor:default
}

@media (min-width: 768px) {
    .-top .p-topics__cat-btn {
        width:17.52%
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-topics__cat-btn {
        transition:background-color .4s ease
    }

    .p-topics__cat-btn:hover {
        background-color: #36bce2;
        color:#fff
    }
}

@keyframes showTab {
    0% {
        display: block;
        opacity:0
    }

    1% {
        opacity:0
    }

    100% {
        opacity:1
    }
}

.p-topics__list.-top {
    margin-top:5px
}

@media (min-width: 768px) {
    .p-topics__list.-top {
        margin-top:1.88rem
    }
}

.p-topics__list.-top:not(.is-show) {
    display: none;
    opacity:0
}

.p-topics__list.-topics {
    border-top:1px solid #d8d8d8
}

.p-topics__list.-topic-relation, .p-topics__list.-csr {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-topics__list.-topic-relation, .p-topics__list.-csr {
        margin-top:3rem
    }
}

.p-topics__list.is-show {
    animation:showTab .5s ease forwards
}

.p-topics__item {
    border-bottom: 1px solid #d8d8d8;
    transition:opacity .5s ease
}

.p-topics__item.is-hide {
    opacity:0
}

.p-topics__item-empty {
    transition:opacity .5s ease
}

.p-topics__item-empty.is-hide {
    opacity:0
}

@media (min-width: 768px) {
    .p-topics__item-empty {
        padding-top: 3.88rem;
        padding-bottom:3.88rem
    }
}

@keyframes showBg {
    0% {
        transform: translateX(-101%);
        opacity:0
    }

    49% {
        transform: translateX(0);
        opacity:1
    }

    51% {
        transform: translateX(0);
        opacity:1
    }

    100% {
        transform: translateX(101%);
        opacity:1
    }
}

@keyframes catColor {
    0% {
        color: #00a4d2;
        border-color: #00a4d2;
        background-color:#fff
    }

    49% {
        color: #fff;
        border-color: #fff;
        background-color:#36bce2
    }

    51% {
        color: #fff;
        border-color: #fff;
        background-color:#36bce2
    }

    100% {
        color: #00a4d2;
        border-color: #00a4d2;
        background-color:#fff
    }
}

@keyframes changeColor {
    0% {
        color:#888
    }

    49% {
        color:#fff
    }

    51% {
        color:#fff
    }

    100% {
        color:#888
    }
}

@keyframes changeColor2 {
    0% {
        color:#ea3636
    }

    49% {
        color:#fff
    }

    51% {
        color:#fff
    }

    100% {
        color:#ea3636
    }
}

.p-topics__link {
    position: relative;
    display: flex;
    align-items: baseline;
    overflow: hidden;
    padding:25px 25px 25px 0
}

@media (max-width: 767px) {
    .p-topics__link {
        flex-wrap:wrap
    }
}

@media (min-width: 768px) {
    .p-topics__link {
        padding:3.88rem 8.67% 3.88rem .5rem
    }
}

.p-topics__link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #36bce2;
    transform:translateX(-101%)
}

.p-topics__link::after {
    position: absolute;
    top: calc(50% - 0.72rem);
    right: 0;
    content: "";
    color: #36bce2;
    font-family: "icomoon";
    line-height:1
}

@media (min-width: 768px) {
    .p-topics__link::after {
        right: 3.83%;
        font-size:1.44rem
    }
}

.p-topics__link.-no-contents {
    pointer-events:none
}

.p-topics__link.-no-contents::after {
    display:none
}

.p-topics__link.-ext-link::after {
    content: ""
}

@media (min-width: 768px) {
    .p-topics__link.-ext-link::after {
        transform-origin: right;
        transform:scale(0.8)
    }
}

.p-topics__link i {
    position: relative;
    color: #ea3636;
    font-size:1.25em
}

@media (min-width: 768px) {
    .p-topics__link i {
        margin-left:1.69rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-topics__link:hover i {
        animation:changeColor2 .7s ease-in-out
    }

    .p-topics__link:hover::before {
        animation:showBg .7s ease-in-out
    }

    .p-topics__link:hover::after {
        animation:changeColor .7s ease-in-out
    }
}

.p-topics__date {
    position: relative;
    flex: 0 0 auto;
    margin-right:.88rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-topics__link:hover .p-topics__date {
        animation:changeColor .7s ease-in-out
    }
}

.p-topics__cat {
    position: relative;
    flex: 0 0 auto;
    text-align:center
}

@media (min-width: 768px) {
    .p-topics__cat {
        width:120px
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-topics__link:hover .p-topics__cat {
        animation:catColor .7s ease-in-out
    }
}

@keyframes linkTtl {
    0% {
        color:#3e3a39
    }

    49% {
        color:#fff
    }

    51% {
        color:#fff
    }

    100% {
        color: #3e3a39;
        text-decoration:underline
    }
}

.p-topics__ttl {
    position:relative
}

@media (max-width: 767px) {
    .p-topics__ttl {
        margin-top: 17px;
        width:100%
    }
}

@media (min-width: 768px) {
    .p-topics__ttl {
        margin-left:1.69rem
    }
}

@media (max-width: 767px) {
    .p-topics__ttl.-pdf {
        display: flex;
        align-items:baseline
    }

    .p-topics__ttl.-pdf::before {
        color: #ea3636;
        content: "";
        font-family: "icomoon" !important;
        font-size: 1.43em;
        margin-right:.7em
    }
}

@media (max-width: 767px) and(min-width: 768px) {
    .p-topics__ttl.-pdf::before {
        margin-right:2.19rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-topics__link:hover .p-topics__ttl {
        animation:linkTtl .7s ease-in-out forwards
    }
}

@media (max-width: 767px) {
    .p-top-topics__btn {
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-top-topics__btn {
        margin-top: 2.94rem;
        margin-left:auto
    }
}

@media (min-width: 768px) {
    .p-topics__container {
        padding-bottom:10.5rem
    }
}

.p-topics__year-select-wrap {
    border-bottom: 1px solid #3e3a39;
    padding-bottom: 1px;
    position: relative;
    align-self: flex-start;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-topics__year-select-wrap {
        margin-top:4.5rem
    }
}

.p-topics__year-select-wrap::after {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    pointer-events: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 5.5px 0 5.5px;
    border-color:#36bce2 transparent transparent transparent
}

.p-topics__year-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    outline: none;
    border: none;
    background: none;
    font-family: inherit;
    font-weight: 500;
    display: block;
    color: #3e3a39;
    width: 110px;
    height:21px
}

@media (min-width: 768px) {
    .p-topics__year-select {
        font-size: .88rem;
        width: 6.88rem;
        height:1.31rem
    }
}

.p-topics__year-select::-ms-expand {
    display:none
}

.p-topics__list-container {
    width: 100%;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-topics__list-container {
        margin-top:2.75rem
    }
}

.p-topic__more-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-topic__more-btn {
        margin-top:4rem
    }
}

.p-ir__back-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-ir__back-btn {
        margin-top:7rem
    }
}

.p-article__container {
    padding-top:0
}

@media (min-width: 768px) {
    .p-article__container {
        padding-bottom:8.75rem
    }
}

.p-article__header {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    padding:15px
}

@media (max-width: 767px) {
    .p-article__header {
        align-items:baseline
    }
}

@media (min-width: 768px) {
    .p-article__header {
        border-radius: .63rem;
        padding:3rem 5.43% 2.56rem
    }
}

.p-article__header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: 2px;
    background-color:#36bce2
}

@media (min-width: 768px) {
    .p-article__header::before {
        border-radius: .19rem;
        height:.31rem
    }
}

.p-article__date {
    width:6.33em
}

.p-article__cat {
    max-width:calc(100% - 7.6em)
}

.p-article__ttl {
    width: 100%;
    margin-top: 15px;
    line-height: 1.5;
    letter-spacing: .05em;
    font-size:18px
}

@media (min-width: 768px) {
    .p-article__ttl {
        margin-top: 1.69rem;
        font-size: 1.88rem;
        line-height:1.67
    }
}

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

@media (max-width: 767px) {
    .p-article__sdgs {
        margin-right:-15px
    }
}

.p-article__sdgs img {
    width: 40px;
    margin:15px 10px 0 0
}

@media (min-width: 768px) {
    .p-article__sdgs img {
        margin: 1.19rem 1.19rem 0 0;
        width: 4.5rem;
        height:auto
    }
}

.p-article__main-pic {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-article__main-pic {
        margin-top:3.75rem
    }
}

.p-article__body {
    margin-top: 40px;
    padding-bottom:60px
}

@media (min-width: 768px) {
    .p-article__body {
        margin-top: 4.69rem;
        padding-bottom:5rem
    }
}

.p-article__body h2 {
    font-size: 16px;
    font-weight: 500;
    position: relative;
    padding-left:1.16em
}

@media (min-width: 768px) {
    .p-article__body h2 {
        font-size: 1.56rem;
        line-height:1.48
    }
}

.p-article__body h2:not(:first-child) {
    margin-top:3.84em
}

@media (min-width: 768px) {
    .p-article__body h2:not(:first-child) {
        margin-top:6rem
    }
}

.p-article__body h2::before {
    position: absolute;
    top: .12em;
    bottom: .12em;
    left: 0;
    background-color: #36bce2;
    width: .24em;
    border-radius: .12em;
    content: ""
}

.p-article__body h3 {
    font-size: 14px;
    font-weight: 500;
    line-height:1.5
}

@media (min-width: 768px) {
    .p-article__body h3 {
        font-size:1.25rem
    }
}

.p-article__body h3:not(:first-child) {
    margin-top:2.8em
}

@media (min-width: 768px) {
    .p-article__body h3:not(:first-child) {
        margin-top:3.5rem
    }
}

.p-article__body p {
    color: #3e3a39;
    text-align: justify;
    font-size:12px
}

@media (max-width: 767px) {
    .p-article__body p {
        letter-spacing:.05em
    }
}

@media (min-width: 768px) {
    .p-article__body p {
        font-size: .88rem;
        line-height:2.14
    }
}

@media all and (-ms-high-contrast: none) {
    .p-article__body p {
        text-justify:inter-ideograph
    }
}

.p-article__body p:not(:first-child) {
    margin-top:2.14em
}

.p-article__body p img {
    display: block;
    border-radius:10px
}

@media (min-width: 768px) {
    .p-article__body p img {
        border-radius: .63rem;
        margin-top:3rem
    }
}

.p-article__body p img.aligncenter {
    margin-left: auto;
    margin-right:auto
}

.p-article__body p a:not(.c-btn) {
    color: #3e3a39;
    text-decoration:underline
}

.p-article__body p a:not(.c-btn)[target=_blank]::after {
    content: "";
    font-family: "icomoon";
    display: inline-block;
    transform-origin: right;
    transform: scale(0.7);
    margin-right:.25em
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-article__body p a:not(.c-btn):hover {
        text-decoration:none
    }
}

.p-article__body blockquote {
    background-color: #fff;
    border-radius: .63rem;
    margin: 40px 0 0;
    padding:20px
}

@media (min-width: 768px) {
    .p-article__body blockquote {
        border-radius: .63rem;
        padding: 3rem 3.25rem 3.5rem;
        margin:5rem 0 0
    }
}

.p-article__body .c-btn__wrap {
    display:flex
}

.p-article__body .c-btn__wrap.-center {
    justify-content:center
}

.p-article__body .c-btn {
    width: auto;
    min-width: 166px;
    padding-left: 2.5em;
    padding-right:2.5em
}

.p-article__footer {
    display: flex;
    justify-content:space-between
}

.p-article__share-btn {
    background-color: #fff;
    justify-content: center;
    width: calc(33.33% - 1px);
    height:80px
}

@media (min-width: 768px) {
    .p-article__share-btn {
        height: 8.56rem;
        width:33.15%
    }
}

.p-article__share-btn span {
    color: #3e3a39;
    font-size: 10px;
    font-weight: 500;
    margin-top:5px
}

@media (min-width: 768px) {
    .p-article__share-btn span {
        letter-spacing: .05em;
        font-size: .88rem;
        line-height: 1.43;
        margin-top:.63rem
    }
}

.p-article__share-btn img {
    height: auto;
    width:28px
}

@media (min-width: 768px) {
    .p-article__share-btn img {
        width:2.25rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-article__share-btn {
        transition:opacity .3s ease
    }

    .p-article__share-btn:hover {
        opacity:.7
    }
}

.p-article__nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width:100%
}

@media (max-width: 767px) {
    .p-article__nav {
        margin-top:60px
    }
}

.p-article__nav .c-btn {
    margin-top:0
}

.p-article__nav-btn::after {
    height: 46px;
    width: 46px;
    font-size:20px
}

.p-bnr-area {
    background-color:#fff
}

@media (min-width: 768px) {
    .p-bnr-area {
        padding-bottom:6.25rem
    }
}

@media (min-width: 768px) {
    .-top .p-bnr-area {
        padding-top:10.88rem
    }
}

.p-bnr-area__head {
    position: relative;
    background-color: #00a4d2;
    color: #fff;
    width: 100%;
    display: flex;
    z-index: 2;
    height:100px
}

@media (max-width: 767px) {
    .p-bnr-area__head {
        flex-direction: column;
        justify-content:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-bnr-area__head * > {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .p-bnr-area__head {
        justify-content: flex-end;
        align-items: center;
        height:16.88rem
    }
}

.p-bnr-area__canvas-wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom:0
}

@media (min-width: 768px) {
    .p-bnr-area__canvas-wrap {
        bottom:-1rem
    }
}

.p-bnr-area__canvas-wrap canvas {
    width: 100%;
    height:100%
}

.p-bnr-area__copy-jp {
    position: relative;
    font-size: 12px;
    font-weight: bold;
    letter-spacing:.03em
}

@media (max-width: 767px) {
    .p-bnr-area__copy-jp {
        order: 1;
        line-height: 18px;
        margin-top:6px
    }
}

@media (min-width: 768px) {
    .p-bnr-area__copy-jp {
        font-size:1.56rem
    }
}

.p-bnr-area__copy-en {
    position:relative
}

@media (max-width: 767px) {
    .p-bnr-area__copy-en {
        width:143px
    }
}

@media (min-width: 768px) {
    .p-bnr-area__copy-en {
        margin-left:1.31rem
    }
}

.p-bnr-area__copy-en img {
    width: 100%;
    height:auto
}

.p-bnr-area__chara {
    position:absolute
}

@media (max-width: 767px) {
    .p-bnr-area__chara {
        bottom: 0;
        left: calc(50% + 21px);
        width: 50px;
        height:auto
    }
}

@media (min-width: 768px) {
    .p-bnr-area__chara {
        right: calc(50% + 2.06rem);
        bottom:-1rem
    }
}

.p-bnr-area__contents {
    display: flex;
    margin-top:31px
}

@media (max-width: 767px) {
    .p-bnr-area__contents {
        flex-direction: column;
        align-items:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-bnr-area__contents > * {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .p-bnr-area__contents {
        justify-content: space-between;
        margin-top:5rem
    }
}

.p-bnr-area__bnr {
    position: relative;
    background-color: #fafafa;
    border-radius: 10px;
    width: 214px;
    padding: 5px;
    margin-bottom:22px
}

@media (max-width: 767px) {
    .p-bnr-area__bnr:not(:first-child) {
        margin-top:25px
    }
}

@media (min-width: 768px) {
    .p-bnr-area__bnr {
        margin-bottom: 1.94rem;
        border-radius: .63rem;
        width: 32.58%;
        padding:.75%
    }
}

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

.p-bnr-area__bnr img {
    border-radius:.63rem
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-bnr-area__bnr {
        transition:opacity .3s ease
    }

    .p-bnr-area__bnr:hover {
        opacity:.7
    }
}

.p-bnr-area__cap {
    position: absolute;
    top: calc(100% + 7px);
    left: 0;
    right: 0;
    text-align:center
}

@media (max-width: 767px) {
    .p-bnr-area__cap {
        line-height: 15px;
        white-space:nowrap
    }
}

@media (min-width: 768px) {
    .p-bnr-area__cap {
        top:calc(100% + 1.06rem)
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-bnr-area__cap {
        transition:color .3s ease
    }

    .p-bnr-area__bnr:hover .p-bnr-area__cap {
        color:#00a4d2
    }
}

.p-types__container {
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding:20px 5px
}

@media (min-width: 768px) {
    .p-types__container {
        padding:1.88rem 4rem
    }
}

.p-types__heading {
    font-weight: bold;
    font-size:12px
}

@media (max-width: 767px) {
    .p-types__heading {
        margin-left:15px
    }
}

@media (min-width: 768px) {
    .p-types__heading {
        font-size:.88rem
    }
}

.p-types__list {
    display: flex;
    flex-wrap:wrap
}

@media (max-width: 767px) {
    .p-types__list {
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .p-types__list {
        margin-left:1.13rem
    }
}

.p-types__item {
    margin:10px 15px
}

@media (min-width: 768px) {
    .p-types__item {
        margin:0 1.38rem
    }
}

.p-types__item input {
    display:none
}

.p-types__item input:checked + span::after {
    position: absolute;
    top: 0;
    left: 0;
    font-family: "icomoon";
    content: "";
    height: 1.13rem;
    width: 1.13rem;
    z-index: 1;
    display: flex;
    justify-items: center;
    align-items: center;
    line-height: 1;
    color: #00a4d2;
    padding-left: 1px;
    transform:scale(0.8)
}

.p-types__item span {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height:1.29
}

@media (min-width: 768px) {
    .p-types__item span {
        font-size:.88rem
    }
}

.p-types__item span::before {
    content: "";
    height: 1.13rem;
    width: 1.13rem;
    border: 1px solid #d8d8d8;
    background-color: #fff;
    margin-right:.75rem
}

.p-store__areas {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-store__areas {
        margin-top:4rem
    }
}

.p-store__list {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-store__list {
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .p-store-item {
        display: flex;
        flex-direction: column;
        align-items:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-store-item > * {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .p-store-item {
        display: grid;
        grid-template-columns: 26.67% auto;
        grid-template-rows: auto auto;
        gap: 0px 0px;
        grid-template-areas: "grid1 grid2" "grid1 grid3";
        transition: opacity .5s ease;
        display: -ms-grid;
        -ms-grid-columns: 26.67% auto;
        -ms-grid-rows:auto auto
    }
}

.p-store-item.is-hide {
    opacity:0
}

@media (min-width: 768px) {
    .p-store-item .grid1 {
        grid-area: grid1;
        -ms-grid-row: 1;
        -ms-grid-row-span: 2;
        -ms-grid-column: 1;
        -ms-grid-column-span:1
    }

    .p-store-item .grid2 {
        grid-area: grid2;
        -ms-grid-row: 1;
        -ms-grid-row-span: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span:2
    }

    .p-store-item .grid3 {
        grid-area: grid3;
        -ms-grid-row: 2;
        -ms-grid-row-span: 1;
        -ms-grid-column: 2;
        -ms-grid-column-span:1
    }
}

.p-store-item:not(:first-child) {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-store-item:not(:first-child) {
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .p-store-item__header {
        order: 1;
        margin-top: 30px;
        align-self:stretch
    }
}

@media (min-width: 768px) {
    .p-store-item__header {
        padding-left:7.5%
    }
}

.p-store-item__cats {
    display: flex;
    flex-wrap:wrap
}

@media (max-width: 767px) {
    .p-store-item__cats {
        margin-left: -5px;
        margin-top:-10px
    }
}

@media (max-width: 767px) {
    .p-store-item__type {
        margin:10px 5px 0
    }
}

@media (min-width: 768px) {
    .p-store-item__type {
        margin-right:1rem
    }
}

.p-store-item__ttl {
    margin-top:10px
}

@media (min-width: 768px) {
    .p-store-item__ttl {
        margin-top:1.5rem
    }
}

@media (max-width: 767px) {
    .p-store-item__body {
        order: 1;
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-store-item__body {
        padding-top: 1.5rem;
        padding-left:7.5%
    }
}

.p-store-item__body p {
    color:#888
}

.p-store-item__price {
    display:flex
}

@media (min-width: 768px) {
    .p-store-item__price {
        margin-top:.69rem
    }
}

.p-store-item__price__label {
    flex:0 0 auto
}

.p-store-item__price__txt {
    flex:1
}

.p-store-item__links {
    margin-top:10px
}

@media (max-width: 767px) {
    .p-store-item__links {
        justify-content:space-between
    }
}

@media (min-width: 768px) {
    .p-store-item__links {
        margin-top:1.75rem
    }
}

@media (max-width: 767px) {
    .p-store-item__link {
        padding:10px 0
    }
}

@media (min-width: 768px) {
    .p-store-item__link {
        margin-right:2.5rem
    }
}

.p-store-bnrs {
    border-top: 1px solid #afafaf;
    display: flex;
    justify-content: center;
    margin-top: 60px;
    padding-top:60px
}

@media (min-width: 768px) {
    .p-store-bnrs {
        margin-top: 5rem;
        padding-top: 5rem;
        padding-bottom:7.5rem
    }
}

.p-store-bnrs__item.-item1 {
    width: 11rem;
    transition:opacity .3s ease
}

.p-store-bnrs__item.-item1:hover {
    opacity:.75
}

.p-store-bnrs__item.-item2 {
    width:18.06rem
}

.p-store-bnrs__item:not(:first-child) {
    margin-left:5%
}

@media (min-width: 768px) {
    .p-store-bnrs__item:not(:first-child) {
        margin-left:3rem
    }
}

@media (min-width: 768px) {
    .p-store-page__container {
        padding-top:5rem
    }
}

@media (min-width: 768px) {
    .p-store-page {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding-bottom:4.5rem
    }
}

@media (min-width: 768px) {
    .p-store-page__nav {
        order: 1;
        flex: 0 0 auto;
        background-color: #fff;
        border-radius: .63rem;
        padding: 2.33% 2%;
        width: 19.67%;
        position: sticky;
        top:7.25rem
    }
}

.p-store-page__nav__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #d8d8d8;
    border-radius: 5px;
    overflow: hidden;
    z-index:1
}

@media (min-width: 768px) {
    .p-store-page__nav__item {
        border-radius: .31rem;
        height:3.31rem
    }
}

.p-store-page__nav__item.is-current {
    background-color: #36bce2;
    pointer-events: none;
    cursor:default
}

.p-store-page__nav__item span {
    position: relative;
    color: #fff;
    font-weight: bold;
    font-size:12px
}

@media (min-width: 768px) {
    .p-store-page__nav__item span {
        font-size:.88rem
    }
}

.p-store-page__nav__item:not(.is-current)::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #36bce2;
    transform-origin: left;
    transform: scaleX(0);
    transition:transform .3s ease
}

.p-store-page__nav__item:not(.is-current):hover::before {
    transform:scaleX(1)
}

@media (min-width: 768px) {
    .p-store-page__nav__item + .p-store-page__nav__item {
        margin-top:1.25rem
    }
}

@media (max-width: 767px) {
    .p-store {
        padding-bottom:60px
    }
}

@media (min-width: 768px) {
    .p-store {
        width:77.67%
    }
}

.p-store__sec + .p-store__sec {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-store__sec + .p-store__sec {
        margin-top:4.5rem
    }
}

.p-store__info {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-store__info {
        display: flex;
        margin-top:3rem
    }
}

@media (min-width: 768px) {
    .p-store__pic-container {
        flex: 0 0 auto;
        width:42.49%
    }
}

.p-store__pic {
    position: relative;
    border-radius: 10px;
    width: 100%;
    padding-top: 75%;
    z-index: 1;
    overflow:hidden
}

@media (min-width: 768px) {
    .p-store__pic {
        border-radius:.63rem
    }
}

.p-store__pic img {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition:opacity .2s ease
}

.p-store__pic img.is-current {
    opacity: 1;
    pointer-events:auto
}

.p-store__thumbs {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    flex-wrap:wrap
}

@media (min-width: 768px) {
    .p-store__thumbs {
        margin-top:1.25rem
    }
}

.p-store__thumbs::after {
    content: "";
    width:30.56%
}

.p-store__thumb {
    position: relative;
    border-radius: 10px;
    width: 30.56%;
    padding-top: 22.98%;
    z-index: 1;
    overflow:hidden
}

@media (min-width: 768px) {
    .p-store__thumb {
        border-radius:.63rem
    }
}

.p-store__thumb:not(.is-current) {
    opacity: .7;
    cursor:pointer
}

.p-store__thumb img {
    position: absolute;
    top: 0;
    left:0
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-store__thumb {
        transition:opacity .3s ease
    }

    .p-store__thumb:hover {
        opacity:1
    }
}

@media (max-width: 767px) {
    .p-store__details {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-store__details {
        flex: 1;
        margin-left:5.15%
    }
}

.p-store-dl {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-store-dl {
        margin-top:2.63rem
    }
}

.p-store-dl__item {
    display: flex;
    color: #3e3a39;
    letter-spacing: .05em;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.p-store-dl__item dt {
    font-weight: bold;
    font-size: 12px;
    width:6.64em
}

@media (min-width: 768px) {
    .p-store-dl__item dt {
        font-size: .88rem;
        line-height:2.14
    }
}

.p-store-dl__item dd {
    font-size:12px
}

@media (min-width: 768px) {
    .p-store-dl__item dd {
        font-size: .88rem;
        line-height:2.14
    }
}

.p-store__facilities {
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
    padding:10px 5px
}

@media (min-width: 768px) {
    .p-store__facilities {
        border-radius: .63rem;
        margin-top: 2.75rem;
        padding:1.88rem .19rem 1.88rem 2.69rem
    }
}

.p-store__facilities__item {
    display: flex;
    align-items:center
}

@media (max-width: 767px) {
    .p-store__facilities__item {
        margin:10px
    }
}

@media (min-width: 768px) {
    .p-store__facilities__item {
        margin-right:2.5rem
    }
}

.p-store__facilities__icon {
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    position: relative;
    z-index: 1;
    overflow: hidden;
    height: 30px;
    width:30px
}

@media (min-width: 768px) {
    .p-store__facilities__icon {
        height: 2.19rem;
        width:2.19rem
    }
}

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

.p-store__facilities__label {
    margin-left: 10px;
    font-size:12px
}

@media (min-width: 768px) {
    .p-store__facilities__label {
        margin-left: 1.14em;
        font-size:.88rem
    }
}

.p-store__manager {
    background-color: #fff;
    border-radius: 10px;
    margin-top: 40px;
    padding:20px 15px
}

@media (max-width: 767px) {
    .p-store__manager {
        overflow:hidden
    }
}

@media (min-width: 768px) {
    .p-store__manager {
        display: flex;
        align-items: center;
        border-radius: .63rem;
        margin-top: 2.19rem;
        padding:2.13rem 2.69rem
    }
}

.p-store__manager__pic {
    border-radius: .5rem;
    overflow:hidden
}

@media (max-width: 767px) {
    .p-store__manager__pic {
        float: left;
        margin-right: 15px;
        margin-bottom: 5px;
        width:100px
    }
}

@media (min-width: 768px) {
    .p-store__manager__pic {
        border-radius: 8px;
        flex: 0 0 auto;
        width:17.02%
    }
}

@media (min-width: 768px) {
    .p-store__manager__txt {
        flex: 1;
        margin-left:2.5rem
    }
}

.p-store__latest__lead {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-store__latest__lead {
        margin-top:2.5rem
    }
}

@media (max-width: 767px) {
    .p-store__latest__bnrs {
        margin: 30px auto 0;
        width: 80%;
        max-width:320px
    }
}

@media (min-width: 768px) {
    .p-store__latest__bnrs {
        display: flex;
        margin-top:2.75rem
    }
}

@media (min-width: 768px) {
    .p-store__latest__bnr {
        width:34.44%
    }
}

.p-store__latest__bnr a {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
    width:100%
}

@media (min-width: 768px) {
    .p-store__latest__bnr a {
        border-radius: .63rem;
        padding: 3.43%;
        margin-top:.75rem
    }
}

.p-store__latest__bnr a img {
    width: 100%;
    height: auto;
    border-radius:10px
}

@media (min-width: 768px) {
    .p-store__latest__bnr a img {
        border-radius:.63rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-store__latest__bnr a {
        transition:opacity .3s ease
    }

    .p-store__latest__bnr a:hover {
        opacity:.7
    }
}

@media (max-width: 767px) {
    .p-store__latest__bnr + .p-store__latest__bnr {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-store__latest__bnr + .p-store__latest__bnr {
        margin-left:2.5rem
    }
}

.p-store__map-wrap {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    z-index: 1;
    margin-top: 30px;
    padding-top:100%
}

@media (min-width: 768px) {
    .p-store__map-wrap {
        border-radius: .63rem;
        margin-top: 3rem;
        width: 100%;
        padding-top:54.51%
    }
}

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

.p-store__back-wrap {
    display: flex;
    justify-content: flex-end;
    margin-top:40px
}

@media (min-width: 768px) {
    .p-store__back-wrap {
        margin-top:4.19rem
    }
}

@media (min-width: 768px) {
    .p-store__area-pages {
        padding:5.5rem 0
    }
}

.p-store__empty img {
    width:152px
}

@media (min-width: 768px) {
    .p-store__empty img {
        width:9.5rem
    }
}

#store-map .l-header-nav {
    display:none
}

.p-map__container {
    position:relative
}

.p-map {
    height:100vh
}

.p-map__window {
    font-family: "Noto Sans JP", sans-serif;
    align-items: flex-start;
    padding: .75rem;
    font-weight:500
}

.p-map__store, .p-map__types {
    color: #3e3a39;
    font-size: .81rem;
    font-weight:500
}

.p-map__hours {
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.p-map__link {
    color: #00a4d2;
    font-weight: 500;
    margin-top: .94rem;
    font-size:.81rem
}

.p-map__link::after {
    border-color: #00a4d2;
    color: #00a4d2;
    font-size: .75rem;
    margin-left: .63rem;
    width: 1.25rem;
    height: 1.25rem;
    font-weight:bold
}

.p-map__btn {
    position: absolute;
    justify-content: flex-start;
    bottom: 2.63rem;
    left: 5vw;
    width: 13rem;
    padding-left:1rem
}

@media (min-width: 901px) {
    .p-map__btn {
        left:3.5rem
    }
}

.p-map__btn svg {
    position: relative;
    fill: #3e3a39;
    margin-right:1rem
}

.p-map__btn span {
    color:#3e3a39
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-map__btn:hover {
        color:#fff
    }

    .p-map__btn:hover svg {
        fill:#fff
    }

    .p-map__btn:hover span {
        color:#fff
    }
}

.p-map__footer {
    padding:60px 0
}

@media (min-width: 768px) {
    .p-map__footer {
        padding-top: 3.5rem;
        padding-bottom:7rem
    }
}

@media (min-width: 768px) {
    .p-event__container, .p-event-page__container {
        padding-bottom:8rem
    }
}

@media (min-width: 768px) {
    .p-event-sec {
        margin-top: 6.88rem;
        width:100%
    }
}

.p-event-sec__year {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size:12px
}

@media (min-width: 768px) {
    .p-event-sec__year {
        font-size:.88rem
    }
}

.p-event-sec__ttl {
    margin-top:10px
}

@media (min-width: 768px) {
    .p-event-sec__ttl {
        margin-top:.88rem
    }
}

.p-event-sec__txt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-event-sec__txt {
        margin-top:1.56rem
    }
}

.p-event-sec__btn {
    margin-top: 20px;
    width:196px
}

@media (max-width: 767px) {
    .p-event-sec__btn {
        margin-left: auto;
        margin-right:auto
    }
}

@media (min-width: 768px) {
    .p-event-sec__btn {
        margin-top: 1.88rem;
        width:12.25rem
    }
}

.p-event__btn {
    margin:60px auto 0
}

@media (min-width: 768px) {
    .p-event__btn {
        margin-top:8.19rem
    }
}

.p-event-page__btn {
    margin:40px auto 0
}

@media (min-width: 768px) {
    .p-event-page__btn {
        margin-top:4rem
    }
}

.p-event-page__contents img {
    max-width: 100%;
    height:auto
}

.p-event-page__back-btn {
    margin:40px auto 0
}

@media (min-width: 768px) {
    .p-event-page__back-btn {
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .-event-page .p-page__ttl {
        white-space:nowrap
    }

    .-event-page .p-page__ttl::before, .-event-page .p-page__ttl::after {
        display:none
    }
}

@media (min-width: 768px) {
    .p-csr-page__container {
        padding-top: 7rem;
        padding-bottom:7rem
    }
}

.p-csr-page__contents {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-csr-page__contents {
        align-items: flex-start;
        justify-content: space-between;
        margin-top:4.5rem
    }
}

@media (min-width: 768px) {
    .p-csr-page__pic {
        width:47.74%
    }
}

@media (max-width: 767px) {
    .p-csr-page__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-csr-page__body {
        width:45.66%
    }
}

@media (max-width: 767px) {
    .p-csr-page__body .c-btn {
        margin:40px auto 0
    }
}

@media (min-width: 768px) {
    .p-csr-page__body .c-btn {
        margin-top:3.5rem
    }
}

.p-csr-page__sec {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-csr-page__sec {
        margin-top:6.81rem
    }
}

.p-csr-page__box {
    margin-top: 30px;
    padding:30px 20px 40px
}

@media (min-width: 768px) {
    .p-csr-page__box {
        margin-top: 2.19rem;
        padding:4.75rem 7.74% 6.5rem
    }
}

.p-csr-page__box .c-mid-heading + .c-txt, .p-csr-page__box .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-csr-page__box .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-csr-page__box .c-mid-heading + .c-txt, .p-csr-page__box .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-csr-page__box .c-mid-heading + dt {
        margin-top:1.69rem
    }
}

.p-csr-page__box > .c-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-csr-page__box > .c-btn {
        margin-top:4rem
    }
}

@media (min-width: 768px) {
    .p-csr-page__contents1 {
        width:100%
    }
}

.p-csr-page__item .c-txt, .p-csr-page__item .p-period__block__item dt, .p-period__block__item .p-csr-page__item dt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-csr-page__item .c-txt, .p-csr-page__item .p-period__block__item dt, .p-period__block__item .p-csr-page__item dt {
        margin-top:1.25rem
    }
}

.p-csr-page__item__pic {
    border:1px solid #d8d8d8
}

.p-csr-page__contents2 {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-csr-page__contents2 {
        justify-content: space-between;
        margin-top:6.44rem
    }
}

@media (min-width: 768px) {
    .p-csr-page__item2 {
        width:47.32%
    }
}

@media (max-width: 767px) {
    .p-csr-page__item2 + .p-csr-page__item2 {
        margin-top:40px
    }
}

.p-csr-page__item2__pic {
    border: 1px solid #d8d8d8;
    display: block;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-csr-page__item2__pic {
        margin-top:1.75rem
    }
}

.p-csr-page__item2__pic + .c-txt, .p-period__block__item .p-csr-page__item2__pic + dt {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-csr-page__item2__pic + .c-txt, .p-period__block__item .p-csr-page__item2__pic + dt {
        margin-top:2rem
    }
}

.p-sdgs {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-sdgs {
        margin-top:6.56rem
    }
}

.p-sdgs__pic {
    max-width: 584px;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-sdgs__pic {
        margin-top: 3.25rem;
        width:48.67%
    }
}

.p-eco10 {
    margin-top: 60px;
    padding:30px 20px 40px
}

@media (min-width: 768px) {
    .p-eco10 {
        margin-top: 7rem;
        padding:4.5rem 7.5%
    }
}

.p-eco10 .c-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-eco10 .c-btn {
        margin-top:4rem
    }
}

.p-eco10__contents {
    width:100%
}

@media (min-width: 768px) {
    .p-eco10__contents {
        align-items: center;
        justify-content:space-between
    }
}

@media (min-width: 768px) {
    .p-eco10__pic {
        width:50.91%
    }
}

@media (max-width: 767px) {
    .p-eco10__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-eco10__body {
        width:41.59%
    }
}

.p-eco10__body .c-mid-heading + .c-txt, .p-eco10__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-eco10__body .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-eco10__body .c-mid-heading + .c-txt, .p-eco10__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-eco10__body .c-mid-heading + dt {
        margin-top:2rem
    }
}

.p-eco10__body .c-txt, .p-eco10__body .p-period__block__item dt, .p-period__block__item .p-eco10__body dt {
    letter-spacing:0
}

.p-krmn {
    margin-top: 60px;
    padding:30px 20px 40px
}

@media (min-width: 768px) {
    .p-krmn {
        justify-content: space-between;
        margin-top: 5rem;
        padding:5.25rem 7.42% 5.25rem 7.83%
    }
}

.p-krmn__pic {
    width:100px
}

@media (min-width: 768px) {
    .p-krmn__pic {
        width:20.98%
    }
}

@media (max-width: 767px) {
    .p-krmn__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-krmn__body {
        width:69.78%
    }
}

.p-krmn__body .c-mid-heading + .c-txt, .p-krmn__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-krmn__body .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-krmn__body .c-mid-heading + .c-txt, .p-krmn__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-krmn__body .c-mid-heading + dt {
        margin-top:1.69rem
    }
}

.p-krmn__btn {
    width: 100%;
    max-width:350px
}

@media (max-width: 767px) {
    .p-krmn__btn {
        margin-top:40px
    }
}

@media (min-width: 768px) {
    .p-krmn__btn {
        width:21.88rem
    }
}

.p-csr-page-news {
    border-top: 1px solid #d8d8d8;
    width: 100%;
    margin-top: 60px;
    padding-top:50px
}

@media (min-width: 768px) {
    .p-csr-page-news {
        margin-top: 7rem;
        padding-top:5.5rem
    }
}

@media (min-width: 768px) {
    .p-csr-page-news__contents .p-card__pic {
        padding-top:62.32%
    }
}

.p-csr-page__btn {
    margin-top:50px
}

@media (min-width: 768px) {
    .p-csr-page__btn {
        margin-top:4.5rem
    }
}

@media (max-width: 767px) {
    .p-csr-philosophy__pic {
        border-bottom-left-radius: 0;
        border-bottom-right-radius:0
    }
}

@media (min-width: 768px) {
    .p-csr-philosophy__pic {
        width:83.11%
    }
}

.p-csr-philosophy__body {
    position:relative
}

@media (max-width: 767px) {
    .p-csr-philosophy__body {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        padding:30px 20px
    }
}

@media (min-width: 768px) {
    .p-csr-philosophy__body {
        width: 68.87%;
        padding: 5.38rem 8.68% 5.5rem;
        margin:-37.74% 0 0 auto
    }
}

@media (min-width: 901px) {
    .p-csr-philosophy__body {
        margin-top: -25rem;
        width:61.98%
    }
}

.p-csr-philosophy__body .c-heading1 + .c-txt, .p-csr-philosophy__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-csr-philosophy__body .c-heading1 + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-csr-philosophy__body .c-heading1 + .c-txt, .p-csr-philosophy__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-csr-philosophy__body .c-heading1 + dt {
        margin-top:2.13rem
    }
}

.p-guidelines {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-guidelines {
        margin-top:6.56rem
    }
}

@media (min-width: 768px) {
    .p-guidelines__contents {
        margin-top:.5rem
    }
}

.p-guidelines__sec {
    margin-top: 40px;
    padding:30px 20px
}

@media (min-width: 768px) {
    .p-guidelines__sec {
        margin-top: 3.5rem !important;
        padding: 5.66%;
        width:47.64%
    }
}

.p-guidelines__sec__heading {
    align-items:flex-start
}

.p-guidelines__sec__heading + .c-txt, .p-period__block__item .p-guidelines__sec__heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-guidelines__sec__heading + .c-txt, .p-period__block__item .p-guidelines__sec__heading + dt {
        margin-top:1.5rem
    }
}

.p-guidelines__sec__heading::before {
    content: attr(data-num);
    font-family: "Karla", "Noto Sans JP", sans-serif;
    color: #00a4d2;
    font-weight: bold;
    font-size: 12px;
    line-height: 1.21;
    margin-bottom:1.36em
}

@media (min-width: 768px) {
    .p-guidelines__sec__heading::before {
        font-size:.88rem
    }
}

.p-csr-philosophy__back-btn {
    margin-top:50px
}

@media (min-width: 768px) {
    .p-csr-philosophy__back-btn {
        margin-top:7rem
    }
}

.p-csr-news__list {
    width: 100%;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-csr-news__list {
        margin-top:-0.5rem
    }
}

.p-csr-news__more-btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-csr-news__more-btn {
        margin-top:7.63rem
    }
}

.p-csr__back-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-csr__back-btn {
        margin-top:3.5rem
    }
}

.p-eco10-lead {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-eco10-lead {
        align-items: center;
        margin-top:4.38rem
    }
}

@media (min-width: 768px) {
    .p-eco10-lead__pic {
        width:45.57%
    }
}

@media (max-width: 767px) {
    .p-eco10-lead__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-eco10-lead__body {
        margin-left:6.02%
    }
}

.p-eco10-sec1 {
    padding: 30px 20px;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-eco10-sec1 {
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 5rem;
        padding:4.55% 5.08% 5.08%
    }
}

@media (min-width: 1320px) {
    .p-eco10-sec1 {
        padding:60px 67px 67px
    }
}

@media (min-width: 768px) {
    .p-eco10-sec1__body {
        width:50.94%
    }
}

.p-eco10-sec1__txt {
    letter-spacing: 0;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-eco10-sec1__txt {
        margin-top:1.88rem
    }
}

@media (max-width: 767px) {
    .p-eco10-sec1__pic {
        margin-top:25px
    }
}

@media (min-width: 768px) {
    .p-eco10-sec1__pic {
        width:42.9%
    }
}

.p-eco10__mid-heading {
    text-align: center;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-eco10__mid-heading {
        margin-top:9.75rem
    }
}

@media (max-width: 767px) {
    .p-eco10-sec2 {
        margin-top:50px
    }
}

@media (min-width: 768px) {
    .p-eco10-sec2 {
        align-items: flex-start;
        justify-content:space-between
    }
}

@media (min-width: 768px) {
    .p-eco10__mid-heading + .p-eco10-sec2 {
        margin-top:5rem
    }
}

@media (min-width: 768px) {
    .p-eco10-sec2 + .p-eco10-sec2 {
        margin-top:4.5rem
    }
}

@media (min-width: 768px) {
    .p-eco10-sec2__pic {
        width:46.93%
    }
}

@media (max-width: 767px) {
    .p-eco10-sec2__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-eco10-sec2__body {
        width:47.27%
    }
}

.p-eco10-sec__heading {
    display: flex;
    align-items: center;
    font-size:16px
}

@media (min-width: 768px) {
    .p-eco10-sec__heading {
        font-size: 1.5rem;
        line-height:1.5
    }
}

.p-eco10-sec__heading::before {
    background: #36bce2;
    color: #fff;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    content: attr(data-num);
    border-radius: 50%;
    width: 1.29em;
    height: 1.29em;
    margin-right:.5em
}

@media (min-width: 768px) {
    .p-eco10-sec__heading::before {
        font-size: 1.19rem;
        width: 1.94rem;
        height: 1.94rem;
        margin-right:.75rem
    }
}

.p-eco10-sec__txt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-eco10-sec__txt {
        margin-top:1.88rem
    }
}

.p-eco10-sec2__icons {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-eco10-sec2__icons {
        margin-top:1.56rem
    }
}

.p-eco10-sec2__icons img {
    display: block;
    height:auto
}

@media (min-width: 768px) {
    .p-eco10-sec2__icons img {
        width:13.46%
    }
}

.p-eco10-sec2__icons img + img {
    margin-left:12px
}

@media (min-width: 768px) {
    .p-eco10-sec2__icons img + img {
        margin-left:3.85%
    }
}

.p-eco10__btm-heading {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-eco10__btm-heading {
        margin-top:6.5rem
    }
}

.p-eco10__btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-eco10__btn {
        margin-top:4.5rem
    }
}

.p-eco10__back-btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-eco10__back-btn {
        margin-top:7rem
    }
}

.p-corporate__container {
    padding-top: 15px;
    padding-bottom:80px
}

@media (min-width: 768px) {
    .p-corporate__container {
        padding-top: 2rem;
        padding-bottom:10.19rem
    }
}

.p-corporate__list {
    width:100%
}

@media (min-width: 768px) {
    .p-corporate__list {
        display: flex;
        flex-wrap: wrap;
        justify-content:space-between
    }

    .p-corporate__list::after {
        content: "";
        width:30.33%
    }
}

.p-corporate__item {
    margin-top:45px
}

@media (min-width: 768px) {
    .p-corporate__item {
        width: 30.33%;
        margin-top:5rem
    }
}

.p-corporate__item img {
    transition:transform .3s ease
}

.p-corporate__item span {
    transition:color .3s ease, border-color .3s ease
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-corporate__item:hover img {
        transform:scale(1.05)
    }

    .p-corporate__item:hover span {
        color: #00a4d2;
        border-color:#00a4d2
    }
}

.p-corporate__ttl {
    display: flex;
    justify-content: space-between;
    padding: 0 13px;
    margin-top: 20px;
    transition:color .3s ease
}

@media (min-width: 768px) {
    .p-corporate__ttl {
        padding: 0 .81rem;
        margin-top:1.44rem
    }
}

.p-corporate__back-btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-corporate__back-btn {
        margin-top:9rem
    }
}

@media (min-width: 768px) {
    .p-corporate__relation {
        padding-right:35.5%
    }
}

@media (min-width: 901px) {
    .p-corporate__relation {
        padding-right:35.63rem
    }
}

@media (min-width: 768px) {
    .p-outline__container {
        padding-top:4rem
    }
}

.p-outline__contents {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-outline__contents {
        margin-top:4rem
    }
}

.p-outline__list {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-outline__list {
        margin-top:1.88rem
    }
}

@media (min-width: 768px) {
    .p-outline__list dt {
        width:10.64em
    }
}

.p-outline__boards {
    display: flex;
    flex-wrap: wrap;
    width:16.85em
}

.p-outline__boards dt::before, .p-outline__boards dt::after, .p-outline__boards dd::before, .p-outline__boards dd::after {
    display:none !important
}

.p-outline__boards dt {
    font-weight: normal;
    width:10.85em
}

.p-outline__boards dd {
    width: 6em;
    margin-top:0
}

.p-outline__note {
    text-align: right;
    margin-top:10px
}

@media (min-width: 768px) {
    .p-outline__note {
        margin-top: 1.19rem;
        padding-right:10.44rem
    }
}

.p-group__contents {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-group__contents {
        margin-top:8.31rem
    }
}

.p-group__lead {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-group__lead {
        margin-top:2.63rem
    }
}

.p-group__fig {
    background-color: #fff;
    margin-top: 25px;
    padding:25px
}

@media (min-width: 768px) {
    .p-group__fig {
        margin-top: 4.38rem;
        padding: 4.25rem 0;
        text-align:center
    }
}

.p-group__list {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-group__list {
        margin-top:2.5rem
    }
}

@media (min-width: 768px) {
    .p-group__list .p-dl__item {
        padding:3.75rem 0
    }
}

@media (min-width: 768px) {
    .p-group__list dt {
        width:23.5em
    }
}

@media (min-width: 768px) {
    .p-greeting__container {
        padding-top:5rem
    }
}

.p-greeting__heading::before {
    content: attr(data-eng);
    color: #00a4d2;
    font-size: 10px;
    line-height: 1.43;
    letter-spacing: .1em;
    margin-bottom:1em
}

@media (min-width: 768px) {
    .p-greeting__heading::before {
        font-size:.88rem
    }
}

@media (min-width: 768px) {
    .p-greeting__contents {
        align-items: flex-start;
        justify-content: space-between;
        margin-top:4.5rem
    }
}

.p-greeting__pic {
    max-width:526px
}

@media (max-width: 767px) {
    .p-greeting__pic {
        margin-top:40px
    }
}

@media (min-width: 768px) {
    .p-greeting__pic {
        width:43.83%
    }
}

@media (max-width: 767px) {
    .p-greeting__body {
        margin-top:40px
    }
}

@media (min-width: 768px) {
    .p-greeting__body {
        width:50%
    }
}

.p-greeting__sec .c-mid-heading + .c-txt, .p-greeting__sec .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-greeting__sec .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-greeting__sec .c-mid-heading + .c-txt, .p-greeting__sec .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-greeting__sec .c-mid-heading + dt {
        margin-top:2.5rem
    }
}

.p-greeting__sec .c-txt, .p-greeting__sec .p-period__block__item dt, .p-period__block__item .p-greeting__sec dt {
    letter-spacing:0
}

.p-greeting__sec + .p-greeting__sec {
    margin-top:35px
}

@media (min-width: 768px) {
    .p-greeting__sec + .p-greeting__sec {
        margin-top:5.5rem
    }
}

.p-greeting__prof {
    margin-top: 50px;
    padding:30px 20px
}

@media (min-width: 768px) {
    .p-greeting__prof {
        padding: 10.67%;
        margin-top:5.5rem
    }
}

@media (max-width: 767px) {
    .p-greeting__name {
        align-items:flex-start
    }
}

@media (min-width: 768px) {
    .p-greeting__name {
        margin-top:.81rem
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-greeting__name {
        flex-direction: column;
        align-items:flex-start
    }
}

@media (min-width: 901px) {
    .p-greeting__name {
        align-items:center
    }
}

.p-greeting__name::after {
    color: #00a4d2;
    letter-spacing: .1em;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    content: attr(data-eng);
    font-size:10px
}

@media (min-width: 768px) {
    .p-greeting__name::after {
        font-size:.75rem
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-greeting__name::after {
        margin-top:.75em
    }
}

@media (min-width: 901px) {
    .p-greeting__name::after {
        margin-left:1.69rem
    }
}

.p-greeting__txt {
    letter-spacing: 0;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-greeting__txt {
        margin-top:1.63rem
    }
}

.p-corporate-greeting__btn {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-corporate-greeting__btn {
        margin-top:5.5rem
    }
}

.p-corporate-greeting__back-btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-corporate-greeting__back-btn {
        margin-top:5.5rem
    }
}

@media (min-width: 768px) {
    .p-history__header__pic {
        position: relative;
        z-index: 1;
        width:46.48%
    }
}

.p-history__header__body {
    position:relative
}

@media (max-width: 767px) {
    .p-history__header__body {
        border-top-right-radius: 0;
        border-top-left-radius: 0;
        padding:30px 20px
    }
}

@media (min-width: 768px) {
    .p-history__header__body {
        margin: -15.23% 0 0 auto;
        padding: 7.27% 7.27% 7.27% 10.91%;
        width:58.07%
    }
}

.p-history__header__sub {
    color: #00a4d2;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-size: 12px;
    font-weight: bold;
    margin-bottom:1em
}

@media (min-width: 768px) {
    .p-history__header__sub {
        font-size:.88rem
    }
}

.p-history__main {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-history__main {
        margin-top:6.44rem
    }
}

.p-history__main > .c-heading1 + .c-txt, .p-period__block__item .p-history__main > .c-heading1 + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-history__main > .c-heading1 + .c-txt, .p-period__block__item .p-history__main > .c-heading1 + dt {
        margin-top:2.25rem
    }
}

.p-history__block {
    margin-top: 45px;
    padding:30px 20px
}

@media (min-width: 768px) {
    .p-history__block {
        margin-top: 3.5rem;
        padding:6rem 12.27%
    }
}

.p-history__block .c-mid-heading + .c-txt, .p-history__block .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-history__block .c-mid-heading + dt {
    margin-top:2rem
}

.p-history__block__pic {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-history__block__pic {
        margin-top:4.38rem
    }
}

.p-history__block__pic + .c-mid-heading {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-history__block__pic + .c-mid-heading {
        margin-top:4.5rem
    }
}

.p-periods {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-periods {
        margin-top:7.5rem
    }
}

.p-period {
    width:100%
}

.p-period:first-of-type {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-period:first-of-type {
        margin-top:3.69rem
    }
}

.p-period:not(:last-child) {
    margin-bottom:20px
}

@media (min-width: 768px) {
    .p-period:not(:last-child) {
        margin-bottom:1.5rem
    }
}

.p-period.is-open {
    margin-bottom:0
}

.p-period__heading {
    position: relative;
    background-color: #fff;
    border: 1px solid #36bce2;
    border-radius: 5px;
    color: #36bce2;
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 2.56em;
    padding-left: 1.4em;
    padding-right:1.8em
}

@media (min-width: 768px) {
    .p-period__heading {
        border-radius: .31rem;
        height: 4rem;
        padding-left: 2.19rem;
        padding-right:2.81rem
    }
}

.p-period__heading::before, .p-period__heading::after {
    content: "";
    height: 2px;
    border-radius: 1px;
    width: 1rem;
    position: absolute;
    right: 1.31rem;
    background-color:#36bce2
}

.p-period__heading::after {
    transform: rotate(90deg);
    transition:transform .4s ease
}

.p-period.is-open .p-period__heading {
    background-color: #36bce2;
    color:#fff
}

.p-period.is-open .p-period__heading::before, .p-period.is-open .p-period__heading::after {
    background-color:#fff
}

.p-period.is-open .p-period__heading::after {
    transform:rotate(0)
}

.p-period__contents {
    height: 0;
    overflow: hidden;
    transition:height .45s ease
}

@media (min-width: 768px) {
    .p-period__block {
        display:flex
    }
}

.p-period__block__break {
    color:#36bce2
}

@media (min-width: 768px) {
    .p-period__block__break {
        border-right: 1px solid #d8d8d8;
        width:12.27%
    }
}

@media (min-width: 768px) {
    .p-period__block:first-child .p-period__block__break {
        padding-top:3rem
    }
}

@media (min-width: 768px) {
    .p-period__block__contents {
        flex: 1;
        padding-left: 4.09%;
        padding-top: .75rem;
        padding-bottom:2rem
    }
}

.p-period__block:first-child .p-period__block__contents {
    padding-top:5px
}

@media (min-width: 768px) {
    .p-period__block:first-child .p-period__block__contents {
        padding-top:3.75rem
    }
}

.p-period__block:last-child .p-period__block__contents {
    padding-bottom:40px
}

@media (min-width: 768px) {
    .p-period__block:last-child .p-period__block__contents {
        padding-bottom:5rem
    }
}

@media (max-width: 767px) {
    .p-period__block__item {
        margin-top:25px
    }
}

@media (min-width: 768px) {
    .p-period__block__item {
        display: flex;
        align-items:baseline
    }
}

.p-period__block__item dt {
    color: #36bce2;
    font-weight: bold;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

@media (min-width: 768px) {
    .p-period__block__item dt {
        width: 24.18%;
        flex:0 0 auto
    }
}

@media (max-width: 767px) {
    .p-period__block__item dd {
        padding-left:10px
    }
}

@media (min-width: 768px) {
    .p-period__block__item dd {
        flex:1
    }
}

@media (min-width: 768px) {
    .p-period__block__item:not(:first-child) {
        margin-top:2rem
    }
}

.p-period__block__pic.-pic3 {
    margin-top:10px
}

@media (min-width: 768px) {
    .p-period__block__pic.-pic3 {
        width: 10.56rem;
        margin-top:1.25rem
    }
}

@media (min-width: 768px) {
    .p-period__block__pic.-pic4 {
        width:9.25rem
    }
}

@media (min-width: 768px) {
    .p-period__block__pic.-pic5 {
        width:10.94rem
    }
}

@media (min-width: 768px) {
    .p-period__block__pic.-pic6 {
        width:10.56rem
    }
}

.p-period__block__pic + .p-period__block__pic {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-period__block__pic + .p-period__block__pic {
        margin-left:1rem
    }
}

.p-period__block__box {
    background-color: #f4f4f4;
    margin-top: 15px;
    padding:20px
}

@media (min-width: 768px) {
    .p-period__block__box {
        margin-top: 1.69rem;
        padding:5.73%
    }
}

@media (min-width: 768px) {
    .p-period__block__box .p-period__block__pic {
        flex:0 0 auto
    }
}

@media (max-width: 767px) {
    .p-period__block__box__body {
        margin-top:15px
    }
}

@media (min-width: 768px) {
    .p-period__block__box__body {
        flex: 1;
        padding-left:5.2%
    }
}

@media (min-width: 768px) {
    .p-organization__container {
        padding-top:7rem
    }
}

@media (min-width: 768px) {
    .p-organization__fig {
        width:76%
    }
}

.p-account-sec {
    padding: 35px 15px;
    width:100%
}

@media (min-width: 768px) {
    .p-account-sec {
        padding:4rem 4rem 4.19rem
    }
}

.p-account-sec + .p-account-sec {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-account-sec + .p-account-sec {
        margin-top:4rem
    }
}

@media (max-width: 767px) {
    .p-account-sec .c-heading1::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: calc((1 - 1.5) * .5em);
        content: ""
    }

    .p-account-sec .c-heading1::after {
        display: block;
        width: 0;
        height: 0;
        margin-bottom: calc((1 - 1.5) * .5em);
        content: ""
    }
}

.p-account-sec__lead {
    margin-top:1.71em
}

.p-account-sec__links {
    display: flex;
    flex-wrap: wrap;
    align-items:center
}

@media (max-width: 767px) {
    .p-account-sec__links {
        margin-top: 15px;
        margin-left: -15px;
        margin-right: -15px;
        margin-bottom:-15px
    }
}

@media (min-width: 768px) {
    .p-account-sec__links {
        margin-top:1.75rem
    }
}

@media (max-width: 767px) {
    .p-account-sec__links .c-link-ext-icon {
        margin:10px 15px
    }
}

@media (min-width: 768px) {
    .p-account-sec__links .c-link-ext-icon + .c-link-ext-icon {
        margin-left:2.75rem
    }
}

.p-account__area {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-account__area {
        margin-top:3.75rem
    }
}

.p-account__lines {
    display: flex;
    flex-wrap: wrap;
    justify-content:space-between
}

@media (min-width: 768px) {
    .p-account__lines {
        justify-content:flex-start
    }
}

@media (min-width: 1024px) {
    .p-account__lines {
        justify-content:space-between
    }
}

.p-account__lines::after {
    content: ""
}

@media (min-width: 1024px) {
    .p-account__lines::after {
        width:30.04%
    }
}

.p-account__line-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
    width:100%
}

@media (max-width: 767px) {
    .p-account__line-item {
        max-width:380px
    }
}

@media (min-width: 768px) {
    .p-account__line-item {
        margin-top: 2.13rem;
        width:35.45%
    }
}

@media (min-width: 768px) and(max-width: 1023px) {
    .p-account__line-item:nth-child(even) {
        margin-left:4.5rem
    }
}

@media (min-width: 1024px) {
    .p-account__line-item {
        width:30.04%
    }
}

.p-account__line-item span {
    font-size: 12px;
    line-height:1
}

@media (min-width: 768px) {
    .p-account__line-item span {
        font-size:.88rem
    }
}

@media (max-width: 767px) {
    .p-account__room-list {
        margin-bottom:-10px
    }

    .p-account__room-list .p-account-sec__links {
        margin-bottom:0
    }
}

@media (min-width: 768px) {
    .p-account__room-list {
        margin-top:3rem
    }
}

@media (max-width: 767px) {
    .p-account-sec__links__ttl {
        padding-left: 15px;
        width:100%
    }
}

@media (min-width: 768px) {
    .p-account-sec__links__ttl {
        width:18.75rem
    }
}

@media (min-width: 768px) {
    .p-partnership__container {
        padding-top:2.25rem
    }
}

.p-property-sec + .p-property-sec {
    border-top: 1px solid #d8d8d8;
    margin-top: 60px;
    padding-top:60px
}

@media (min-width: 768px) {
    .p-property-sec + .p-property-sec {
        margin-top: 5.5rem;
        padding-top:5.5rem
    }
}

.p-property__lead + .p-property-sec {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-property__lead + .p-property-sec {
        margin-top:5rem
    }
}

.p-property__box {
    margin-top: 30px;
    padding: 30px 15px;
    width:100%
}

@media (min-width: 768px) {
    .p-property__box {
        margin-top: 2.88rem;
        padding:3.25rem 3.88rem 4rem
    }
}

.p-property__box .c-line {
    margin:25px 0
}

@media (min-width: 768px) {
    .p-property__box .c-line {
        margin:3rem 0
    }
}

.p-property__box .c-txt + .c-txt, .p-property__box .p-period__block__item dt + .c-txt, .p-period__block__item .p-property__box dt + .c-txt, .p-property__box .p-period__block__item .c-txt + dt, .p-period__block__item .p-property__box .c-txt + dt, .p-property__box .p-period__block__item dt + dt, .p-period__block__item .p-property__box dt + dt {
    margin-top:21px
}

@media (min-width: 768px) {
    .p-property__box .c-txt + .c-txt, .p-property__box .p-period__block__item dt + .c-txt, .p-period__block__item .p-property__box dt + .c-txt, .p-property__box .p-period__block__item .c-txt + dt, .p-period__block__item .p-property__box .c-txt + dt, .p-property__box .p-period__block__item dt + dt, .p-period__block__item .p-property__box dt + dt {
        margin-top:1.88rem
    }
}

.p-property__box .c-bd-box {
    margin-top: 25px;
    padding:15px
}

@media (min-width: 768px) {
    .p-property__box .c-bd-box {
        margin-top: 1.75rem;
        padding:2.13rem
    }
}

.p-property__box .c-bd-box + .c-txt, .p-property__box .p-period__block__item .c-bd-box + dt, .p-period__block__item .p-property__box .c-bd-box + dt {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-property__box .c-bd-box + .c-txt, .p-property__box .p-period__block__item .c-bd-box + dt, .p-period__block__item .p-property__box .c-bd-box + dt {
        margin-top:2.94rem
    }
}

.p-property__box + .p-property__box {
    margin-top:45px
}

@media (min-width: 768px) {
    .p-property__box + .p-property__box {
        margin-top:5.63rem
    }
}

.p-property__box.-has-down {
    position:relative
}

.p-property__box.-has-down::before {
    position: absolute;
    content: "";
    background: url("../img/page/shape_down.png") no-repeat center center/contain;
    width: 30px;
    height: 15px;
    left: calc(50% - 15px);
    bottom:calc(100% + 11px)
}

@media (min-width: 768px) {
    .p-property__box.-has-down::before {
        width: 3.75rem;
        height: 1.94rem;
        left: calc(50% - 1.88rem);
        bottom:calc(100% + 1.38rem)
    }
}

@media (min-resolution: 2dppx) {
    .p-property__box.-has-down::before {
        background-image: url("../img/page/shape_down@2x.png")
    }
}

.c-mid-heading + .p-property__lead {
    margin-top:20px
}

@media (min-width: 768px) {
    .c-mid-heading + .p-property__lead {
        margin-top:2.5rem
    }
}

.p-property__heading1 + .c-txt, .p-period__block__item .p-property__heading1 + dt {
    margin-top:21px
}

@media (min-width: 768px) {
    .p-property__heading1 + .c-txt, .p-period__block__item .p-property__heading1 + dt {
        margin-top:2.5rem
    }
}

.p-property__heading2 span {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight:bold
}

.p-property__heading2 + .c-txt, .p-period__block__item .p-property__heading2 + dt {
    margin-top:21px
}

@media (min-width: 768px) {
    .p-property__heading2 + .c-txt, .p-period__block__item .p-property__heading2 + dt {
        margin-top:2rem
    }
}

@media (min-width: 768px) {
    .p-alliance-sec1 {
        display: flex;
        flex-direction: row-reverse;
        justify-content:space-between
    }
}

@media (min-width: 768px) {
    .p-alliance-sec1__body {
        flex: 1;
        margin-left:3.88rem
    }
}

.p-alliance-sec1__body .c-txt, .p-alliance-sec1__body .p-period__block__item dt, .p-period__block__item .p-alliance-sec1__body dt {
    margin-top:21px
}

@media (min-width: 768px) {
    .p-alliance-sec1__body .c-txt, .p-alliance-sec1__body .p-period__block__item dt, .p-period__block__item .p-alliance-sec1__body dt {
        margin-top:2.5rem
    }
}

.p-alliance-sec1__body .c-txt + .c-txt, .p-alliance-sec1__body .p-period__block__item dt + .c-txt, .p-period__block__item .p-alliance-sec1__body dt + .c-txt, .p-alliance-sec1__body .p-period__block__item .c-txt + dt, .p-period__block__item .p-alliance-sec1__body .c-txt + dt, .p-alliance-sec1__body .p-period__block__item dt + dt, .p-period__block__item .p-alliance-sec1__body dt + dt {
    margin-top:1.75em
}

@media (min-width: 768px) {
    .p-alliance-sec1__body .c-txt + .c-txt, .p-alliance-sec1__body .p-period__block__item dt + .c-txt, .p-period__block__item .p-alliance-sec1__body dt + .c-txt, .p-alliance-sec1__body .p-period__block__item .c-txt + dt, .p-period__block__item .p-alliance-sec1__body .c-txt + dt, .p-alliance-sec1__body .p-period__block__item dt + dt, .p-period__block__item .p-alliance-sec1__body dt + dt {
        margin-top:1.88rem
    }
}

@media (max-width: 767px) {
    .p-alliance-sec1__pic {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-alliance-sec1__pic {
        flex: 0 0 auto;
        width:37.95%
    }
}

.p-alliance-sec2 {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-alliance-sec2 {
        justify-content: space-between;
        margin-top:6.25rem
    }
}

.p-alliance-sec2__box {
    margin-top: 25px;
    padding:20px 15px
}

@media (min-width: 768px) {
    .p-alliance-sec2__box {
        margin-top: 2.5rem;
        padding: 2.75rem 2.5rem 2.5rem;
        width:31.36%
    }
}

.p-alliance-sec3 {
    background-color: #eceae2;
    border-radius: 10px;
    padding: 30px 20px;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-alliance-sec3 {
        border-radius: .63rem;
        margin-top: 5.94rem;
        padding:4.19rem 0 4.5rem
    }
}

.p-alliance-sec3 .c-txt, .p-alliance-sec3 .p-period__block__item dt, .p-period__block__item .p-alliance-sec3 dt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-alliance-sec3 .c-txt, .p-alliance-sec3 .p-period__block__item dt, .p-period__block__item .p-alliance-sec3 dt {
        margin-top:2rem
    }
}

.p-alliance-sec3 .c-btn {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-alliance-sec3 .c-btn {
        margin-top:3rem
    }
}

.p-ir__posts {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-ir__posts {
        margin-top:6.25rem
    }
}

@media (min-width: 768px) {
    .p-books__container {
        padding-top:7.25rem
    }
}

.p-latest {
    margin-top: 60px;
    padding:30px 25px
}

@media (min-width: 768px) {
    .p-latest {
        margin-top: 5.5rem;
        padding:5rem 6.88rem 6rem
    }
}

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

@media (max-width: 767px) {
    .p-latest__ttl {
        flex-direction: column;
        line-height:1.5
    }
}

@media (min-width: 768px) {
    .p-latest__ttl {
        line-height:1.36
    }
}

.p-latest__ttl::before {
    background-color: #36bce2;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
    height: 2.43em;
    border-radius: 1.21em;
    width: 7.5em;
    margin-right: 1.71em;
    content: "最新号"
}

@media (max-width: 767px) {
    .p-latest__ttl::before {
        margin-bottom:5px
    }
}

@media (min-width: 768px) {
    .p-latest__ttl::before {
        border-radius: 1.06rem;
        font-size: .88rem;
        margin-right:1.71em
    }
}

.p-latest__contents {
    margin-top:20px
}

@media (max-width: 767px) {
    .p-latest__contents {
        align-items:flex-start
    }
}

@media (min-width: 768px) {
    .p-latest__contents {
        margin-top: 3rem;
        justify-content:space-between
    }
}

@media (min-width: 768px) {
    .p-latest__pic {
        width:45.09%
    }
}

.p-latest__pic img {
    display:block
}

.p-latest__caption {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-latest__caption {
        margin-top:1.5rem
    }
}

.p-latest__body {
    font-family: "Karla", "Noto Sans JP", sans-serif
}

@media (max-width: 767px) {
    .p-latest__body {
        margin-top:40px
    }
}

@media (min-width: 768px) {
    .p-latest__body {
        width:48.16%
    }
}

@media (min-width: 768px) {
    .p-latest__body .c-mid-heading {
        margin-top:.5rem
    }
}

@media (max-width: 767px) {
    .p-latest__body .c-btn {
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-latest__body .c-btn {
        margin-top:3.5rem
    }
}

.p-latest__sub-ttl:not(:first-child) {
    margin-top:1.5rem
}

.p-latest__sub-ttl + .c-txt2, .is-confirmed .p-latest__sub-ttl + .f-confirm-content, .f-label .p-latest__sub-ttl + .err-txt, .p-latest__sub-ttl + .f-label {
    margin-top:.5rem
}

.p-backnumber {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-backnumber {
        margin-top:7.5rem
    }
}

.p-backnumber__item {
    display: flex;
    align-items: flex-start;
    margin-top: 40px;
    transition:opacity .3s ease .1s
}

@media (min-width: 768px) {
    .p-backnumber__item {
        align-items: center;
        margin-top:4rem
    }
}

.p-backnumber__item.is-hidden {
    position: absolute;
    opacity: 0;
    pointer-events:none
}

.p-backnumber__pic {
    flex: 0 0 auto;
    width:70px
}

@media (min-width: 768px) {
    .p-backnumber__pic {
        width:16.04%
    }
}

.p-backnumber__body {
    margin-left:20px
}

@media (min-width: 768px) {
    .p-backnumber__body {
        margin-left:5.28%
    }
}

@media (max-width: 767px) {
    .p-backnumber__body .c-txt:first-child::before, .p-backnumber__body .p-period__block__item dt:first-child::before, .p-period__block__item .p-backnumber__body dt:first-child::before {
        display: block;
        width: 0;
        height: 0;
        margin-top: -0.375em;
        content: ""
    }
}

.p-backnumber__body .c-mid-heading {
    margin-top:5px
}

@media (min-width: 768px) {
    .p-backnumber__body .c-mid-heading {
        margin-top:.64em
    }
}

@media (max-width: 767px) {
    .p-backnumber__body .c-txt2, .p-backnumber__body .is-confirmed .f-confirm-content, .is-confirmed .p-backnumber__body .f-confirm-content, .p-backnumber__body .f-label .err-txt, .f-label .p-backnumber__body .err-txt, .p-backnumber__body .f-label {
        line-height:1.5
    }
}

.p-backnumber__body .c-mid-heading + .c-txt2, .p-backnumber__body .is-confirmed .c-mid-heading + .f-confirm-content, .is-confirmed .p-backnumber__body .c-mid-heading + .f-confirm-content, .p-backnumber__body .f-label .c-mid-heading + .err-txt, .f-label .p-backnumber__body .c-mid-heading + .err-txt, .p-backnumber__body .c-mid-heading + .f-label {
    margin-top:5px
}

@media (min-width: 768px) {
    .p-backnumber__body .c-mid-heading + .c-txt2, .p-backnumber__body .is-confirmed .c-mid-heading + .f-confirm-content, .is-confirmed .p-backnumber__body .c-mid-heading + .f-confirm-content, .p-backnumber__body .f-label .c-mid-heading + .err-txt, .f-label .p-backnumber__body .c-mid-heading + .err-txt, .p-backnumber__body .c-mid-heading + .f-label {
        margin-top:1.29em
    }
}

.p-backnumber__link {
    margin-top:10px
}

@media (min-width: 768px) {
    .p-backnumber__link {
        margin-top:1.71em
    }
}

.p-book__more-btn {
    margin:60px auto 0
}

@media (min-width: 768px) {
    .p-ir__container {
        padding-top: 5.5rem;
        padding-bottom:8.56rem
    }
}

.p-ir__lead {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-ir__lead {
        margin-top:2.5rem
    }
}

.p-ir__cats {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-ir__cats {
        width: 100%;
        margin-top:4.69rem
    }
}

.p-summary__contents {
    width: 100%;
    margin-top:10px
}

@media (min-width: 768px) {
    .p-summary__contents {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top:.63rem
    }
}

@media (max-width: 767px) {
    .p-summary__box {
        margin-top: 30px;
        padding:25px 0
    }
}

@media (min-width: 768px) {
    .p-summary__box {
        justify-content: center;
        margin-top: 3.5rem;
        width:48.33%
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-summary__box {
        padding:3.5rem 0
    }
}

@media (min-width: 901px) {
    .p-summary__box {
        height:33.13rem
    }
}

.p-summary__box img {
    margin-top: 20px;
    width:70.17%
}

@media (min-width: 768px) {
    .p-summary__box img {
        margin-top:1.88rem
    }
}

.p-summary__box.-img-l img {
    height: auto;
    width:73.1%
}

.p-governance__sec + .p-governance__sec {
    margin-top:45px
}

@media (min-width: 768px) {
    .p-governance__sec + .p-governance__sec {
        margin-top:4.5rem
    }
}

.p-governance__txt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-governance__txt {
        margin-top:1.88rem
    }
}

.p-governance__list {
    counter-reset: item;
    list-style-type: none;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-governance__list {
        margin-top:1.88rem
    }
}

.p-governance__list li {
    display: flex;
    align-items:baseline
}

.p-governance__list li::before {
    counter-increment: item;
    content: counter(item) ".";
    width: 1.5em;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold;
    flex:0 0 auto
}

.p-governance__pic {
    margin-top: 24px;
    padding-bottom:5px
}

@media (min-width: 768px) {
    .p-governance__pic {
        margin-top: 2.38rem;
        padding-bottom:.5rem
    }
}

.p-service__container {
    padding-top:60px
}

@media (max-width: 767px) {
    .p-service__container {
        padding-bottom:60px
    }
}

@media (min-width: 768px) {
    .p-service__container {
        padding-top: 6.44rem;
        padding-bottom:7.5rem
    }
}

.p-service__lead {
    margin-top:30px
}

@media (max-width: 767px) {
    .p-service__lead {
        width:calc(100% - 60px)
    }
}

@media (min-width: 768px) {
    .p-service__lead {
        margin-top:3.5rem
    }
}

.p-service__box {
    width: calc(100% - 60px);
    padding: 30px 15px;
    margin-top:45px
}

@media (max-width: 767px) {
    .p-service__box .c-txt, .p-service__box .p-period__block__item dt, .p-period__block__item .p-service__box dt {
        text-align:center
    }

    .p-service__box .c-btn {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-service__box {
        margin-top: 4.5rem;
        width: 66.67%;
        max-width: 880px;
        padding:3.25rem 0 3.5rem
    }
}

.p-page__container .p-service__box {
    width:100%
}

@media (min-width: 768px) {
    .p-page__container .p-service__box {
        width:73.33%
    }
}

.p-service__sec {
    position: relative;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-service__sec {
        margin-top: 7rem;
        padding-bottom:6.44rem
    }
}

@media (max-width: 767px) {
    .p-service__pic {
        transform: translateX(15px);
        height:50vw
    }

    .p-service__pic img {
        object-fit: cover;
        width: 100%;
        height:100%
    }

    .p-service__pic.-sec2 {
        transform:translateX(-15px)
    }
}

@media (min-width: 768px) {
    .p-service__pic {
        margin-left: auto;
        width:75.42%
    }

    .p-service__pic.-sec2 {
        margin-left:0
    }
}

.p-service__body {
    background-color: #fff;
    border-radius: 10px;
    padding:30px 20px
}

@media (max-width: 767px) {
    .p-service__body {
        position: relative;
        z-index: 1;
        margin-top: -30px;
        transform:translateX(-15px)
    }

    .p-service__body.-sec2 {
        transform:translateX(15px)
    }
}

@media (min-width: 768px) {
    .p-service__body {
        border-radius: .63rem;
        position: absolute;
        bottom: 0;
        left: 0;
        width: 40.42%;
        padding:6.67% 6%
    }

    .p-service__body.-sec2 {
        padding: 6.67% 7.33%;
        left: auto;
        right:0
    }
}

.p-service__body .c-txt, .p-service__body .p-period__block__item dt, .p-period__block__item .p-service__body dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-service__body .c-txt, .p-service__body .p-period__block__item dt, .p-period__block__item .p-service__body dt {
        margin-top:2.5rem
    }
}

.p-service__body .c-btn {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-service__body .c-btn {
        margin-top:3.5rem
    }
}

.p-service__heading {
    line-height: 1;
    align-items: flex-start;
    font-weight:bold
}

.p-service__heading::before {
    top: 0;
    bottom:0
}

.p-service__heading::after {
    content: attr(data-eng);
    color: #00a4d2;
    font-size: .75rem;
    font-weight: bold;
    letter-spacing: .032em;
    margin-top: 1.5em;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.p-p-kun {
    background-color: #fff;
    border-radius: 10px;
    margin-top:60px
}

@media (max-width: 767px) {
    .p-p-kun {
        width:calc(100% - 60px)
    }
}

@media (min-width: 768px) {
    .p-p-kun {
        border-radius: 0 .63rem .63rem 0;
        align-self: stretch;
        margin-top: 8rem;
        padding-left: 4.55%;
        margin-right:4.55%
    }
}

@media (min-width: 1320px) {
    .p-p-kun {
        padding-left: calc(50% - 600px);
        margin-right:calc(50% - 600px)
    }
}

.p-p-kun__inner {
    padding:40px 15px
}

@media (min-width: 768px) {
    .p-p-kun__inner {
        justify-content: flex-end;
        padding:6.83% 16.42% 5.83% 0
    }
}

.p-p-kun__pic {
    width: 200px;
    max-width:383px
}

@media (min-width: 768px) {
    .p-p-kun__pic {
        width:30.21%
    }
}

@media (max-width: 767px) {
    .p-p-kun__body {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-p-kun__body {
        margin-left: 9.57%;
        width:45.86%
    }
}

.p-p-kun__body .c-txt, .p-p-kun__body .p-period__block__item dt, .p-period__block__item .p-p-kun__body dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-p-kun__body .c-txt, .p-p-kun__body .p-period__block__item dt, .p-period__block__item .p-p-kun__body dt {
        margin-top:1.75rem
    }
}

@media (max-width: 767px) {
    .p-p-kun__body .c-btn {
        margin:25px auto 0
    }
}

.p-service__btn {
    margin-top: 60px;
    width:206px
}

@media (min-width: 768px) {
    .p-service__btn {
        width: 11.69rem;
        margin-top:7rem
    }
}

.p-service-page__container {
    padding-top:0
}

.p-service-page__btn {
    margin-top:50px
}

@media (min-width: 768px) {
    .p-service-page__btn {
        margin-top: 7rem;
        width:11.69rem
    }
}

.p-service__back-btn {
    margin-top:50px
}

@media (min-width: 768px) {
    .p-service__back-btn {
        margin-top:7rem
    }
}

.p-service-page__lead {
    width:100%
}

@media (min-width: 768px) {
    .p-service-page__lead {
        justify-content: space-between;
        align-items:center
    }
}

@media (min-width: 768px) {
    .p-service-page__lead__pic {
        width:53.92%
    }
}

@media (max-width: 767px) {
    .p-service-page__lead__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-service-page__lead__body {
        width:38.67%
    }
}

.p-service-page__lead__body .c-heading1 + .c-txt, .p-service-page__lead__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-service-page__lead__body .c-heading1 + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-service-page__lead__body .c-heading1 + .c-txt, .p-service-page__lead__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-service-page__lead__body .c-heading1 + dt {
        margin-top:3rem
    }
}

.p-service-page__lead__body .c-btn {
    width:220px
}

@media (max-width: 767px) {
    .p-service-page__lead__body .c-btn {
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-service-page__lead__body .c-btn {
        width:13.75rem
    }
}

.p-pcnk-block1 {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block1 {
        justify-content: space-between;
        margin-top:7rem
    }
}

@media (min-width: 768px) {
    .p-pcnk-block1__body {
        margin-top:7rem
    }
}

.p-pcnk-block1__body .c-heading1 + .c-txt, .p-pcnk-block1__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-pcnk-block1__body .c-heading1 + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-pcnk-block1__body .c-heading1 + .c-txt, .p-pcnk-block1__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-pcnk-block1__body .c-heading1 + dt {
        margin-top:3rem
    }
}

@media (max-width: 767px) {
    .p-pcnk-block1__pic {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-pcnk-block1__pic {
        width:56.75%
    }
}

.p-pcnk-block2 {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    position: relative;
    z-index: 1;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block2 {
        align-items: center;
        margin-top: 12.69rem;
        border-radius:.63rem
    }
}

@media (max-width: 767px) {
    .p-pcnk-block2 img {
        order: 1;
        width: 50% !important;
        align-self:flex-start
    }
}

@media (min-width: 768px) {
    .p-pcnk-block2 img {
        width:28.5%
    }
}

@media (min-width: 768px) {
    .p-pcnk-block2 img + img {
        margin-left:2px
    }
}

@media (max-width: 767px) {
    .p-pcnk-block2__body {
        padding:35px 20px 20px
    }
}

@media (min-width: 768px) {
    .p-pcnk-block2__body {
        margin-left:5.33%
    }
}

.p-pcnk-block2__body .c-mid-heading + .c-txt, .p-pcnk-block2__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-pcnk-block2__body .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-pcnk-block2__body .c-mid-heading + .c-txt, .p-pcnk-block2__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-pcnk-block2__body .c-mid-heading + dt {
        margin-top:1.5rem
    }
}

.p-pcnk-block3 {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block3 {
        margin-top:8rem
    }
}

.p-pcnk-sec {
    position: relative;
    width: 100%;
    margin-top:45px
}

@media (max-width: 767px) {
    .p-pcnk-sec {
        border-radius: 10px;
        overflow: hidden;
        z-index:1
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec {
        margin-top: 5.5rem;
        padding-bottom:6rem
    }
}

@media (max-width: 767px) {
    .p-pcnk-sec__pic {
        border-radius:0
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__pic {
        width:80.91%
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__pic:not(.-rev) {
        margin-right:auto
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__pic.-rev {
        margin-left:auto
    }
}

@media (max-width: 767px) {
    .p-pcnk-sec__body {
        border-radius: 0;
        position: relative;
        padding: 25px 20px 30px;
        z-index:1
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__body {
        position: absolute;
        bottom: 0;
        width: 59.2%;
        padding: 6.25% 5.5%;
        z-index:1
    }
}

.p-pcnk-sec__body .c-txt, .p-pcnk-sec__body .p-period__block__item dt, .p-period__block__item .p-pcnk-sec__body dt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-pcnk-sec__body .c-txt, .p-pcnk-sec__body .p-period__block__item dt, .p-period__block__item .p-pcnk-sec__body dt {
        margin-top:1.75rem
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__body:not(.-rev) {
        right:0
    }
}

@media (min-width: 768px) {
    .p-pcnk-sec__body.-rev {
        left:0
    }
}

.p-pcnk-block4 {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block4 {
        margin-top:7rem
    }
}

.p-pcnk-block4__contents {
    background-color: #fff;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    z-index: 1;
    margin-top:30px
}

@media (max-width: 767px) {
    .p-pcnk-block4__contents {
        width:83%
    }
}

@media (min-width: 768px) {
    .p-pcnk-block4__contents {
        align-items: center;
        border-radius: .63rem;
        margin-top:3.5rem
    }
}

@media (min-width: 768px) {
    .p-pcnk-block4__pic {
        flex: 0 0 auto;
        width:39.43%
    }
}

@media (max-width: 767px) {
    .p-pcnk-block4__body {
        padding:25px 20px 20px
    }
}

@media (min-width: 768px) {
    .p-pcnk-block4__body {
        padding:0 4rem
    }
}

.p-pcnk-block4__body .c-txt, .p-pcnk-block4__body .p-period__block__item dt, .p-period__block__item .p-pcnk-block4__body dt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-pcnk-block4__body .c-txt, .p-pcnk-block4__body .p-period__block__item dt, .p-period__block__item .p-pcnk-block4__body dt {
        margin-top:1.75rem
    }
}

.p-pcnk-block5 {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block5 {
        margin-top:9.19rem
    }
}

.p-pcnk-block5 .c-mid-heading + .c-txt, .p-pcnk-block5 .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-pcnk-block5 .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-pcnk-block5 .c-mid-heading + .c-txt, .p-pcnk-block5 .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-pcnk-block5 .c-mid-heading + dt {
        margin-top:2rem
    }
}

.p-pcnk-block5__box {
    width: 100%;
    padding: 40px 30px;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-pcnk-block5__box {
        padding: 6rem 0 6.5rem;
        margin-top:5.5rem
    }
}

.p-pcnk-block5__contents {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-pcnk-block5__contents {
        justify-content: space-between;
        margin-top: 2.5rem;
        width:69%
    }
}

@media (min-width: 768px) {
    .p-pcnk-block5__item {
        width:44.69%
    }
}

.p-pcnk-block5__item img {
    display: block;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-pcnk-block5__item img {
        margin-top:2rem
    }
}

.p-pcnk-block5__item img + .c-txt, .p-pcnk-block5__item .p-period__block__item img + dt, .p-period__block__item .p-pcnk-block5__item img + dt, .p-pcnk-block5__item .c-note {
    align-self:flex-start
}

@media (min-width: 768px) {
    .p-pcnk-block5__item img + .c-txt, .p-pcnk-block5__item .p-period__block__item img + dt, .p-period__block__item .p-pcnk-block5__item img + dt, .p-pcnk-block5__item .c-note {
        white-space:nowrap
    }
}

.p-pcnk-block5__item img + .c-txt, .p-pcnk-block5__item .p-period__block__item img + dt, .p-period__block__item .p-pcnk-block5__item img + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-pcnk-block5__item img + .c-txt, .p-pcnk-block5__item .p-period__block__item img + dt, .p-period__block__item .p-pcnk-block5__item img + dt {
        margin-top:2rem
    }
}

.p-pcnk-block5__item .c-note {
    color: #777;
    margin-top:1em
}

@media (max-width: 767px) {
    .p-pcnk-block5__item + .p-pcnk-block5__item {
        margin-top:40px
    }
}

.p-pcnk-block5__tbl-heading {
    margin-top:45px
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl-heading {
        margin-top:6rem
    }
}

.p-pcnk-block5__tbl-wrap {
    width: 100%;
    margin-top:25px
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl-wrap {
        margin-top: 2.5rem;
        width:69%
    }
}

.p-pcnk-block5__tbl-wrap .c-note {
    color: #777;
    margin-top:2em
}

.p-pcnk-block5__tbl {
    width: 100%;
    font-size: 12px;
    line-height:1.43
}

@media (max-width: 767px) {
    .p-pcnk-block5__tbl {
        display:block
    }
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl {
        table-layout: fixed;
        border-right: 3px solid #36bce2;
        font-size:.88rem
    }
}

@media (max-width: 767px) {
    .p-pcnk-block5__tbl tbody {
        display:block
    }
}

@media (max-width: 767px) {
    .p-pcnk-block5__tbl tr {
        display: block;
        border-left: 2px solid #36bce2;
        border-right: 2px solid #36bce2;
        border-bottom:2px solid #36bce2
    }

    .p-pcnk-block5__tbl tr:first-child {
        display:none
    }

    .p-pcnk-block5__tbl tr:nth-child(3) {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl tr:first-child th:nth-child(3) {
        border-left:3px solid #36bce2
    }

    .p-pcnk-block5__tbl tr:first-child th:last-child {
        border-left:3px solid #fff
    }

    .p-pcnk-block5__tbl tr:nth-child(2) th:first-child {
        border-bottom:3px solid #fff
    }
}

@media (max-width: 767px) {
    .p-pcnk-block5__tbl th {
        display: block;
        padding:1em .5em
    }
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl th {
        border-bottom: 3px solid #36bce2;
        height: 3.75rem;
        vertical-align:middle
    }
}

.p-pcnk-block5__tbl th.-bg1 {
    background-color:#36bce2
}

.p-pcnk-block5__tbl th.-bg2 {
    background-color:#eaf8fc
}

@media (max-width: 767px) {
    .p-pcnk-block5__tbl td {
        display: flex;
        justify-content: center;
        align-items: center;
        padding:1em .5em
    }

    .p-pcnk-block5__tbl td:nth-last-child(2) {
        border-bottom:1px solid #d8d8d8
    }

    .p-pcnk-block5__tbl td:nth-last-child(2)::before {
        content: "紙たばこ："
    }

    .p-pcnk-block5__tbl td:last-child::before {
        content: "加熱式たばこ・電子たばこ："
    }
}

@media (min-width: 768px) {
    .p-pcnk-block5__tbl td {
        border-bottom: 3px solid #36bce2;
        text-align: center;
        vertical-align:middle
    }

    .p-pcnk-block5__tbl td:nth-last-child(2), .p-pcnk-block5__tbl td:last-child {
        border-left:3px solid #36bce2
    }
}

.p-pcnk-block6 {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-pcnk-block6 {
        margin-top:7rem
    }
}

.p-pcnk-block6 .c-txt, .p-pcnk-block6 .p-period__block__item dt, .p-period__block__item .p-pcnk-block6 dt {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-pcnk-block6 .c-txt, .p-pcnk-block6 .p-period__block__item dt, .p-period__block__item .p-pcnk-block6 dt {
        margin-top:2.5rem
    }
}

.p-pcnk-block6__btn {
    width: auto;
    padding-left: 2.13rem;
    padding-right: 2.13rem;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-pcnk-block6__btn {
        margin-top:2.5rem
    }
}

.p-room-block1 {
    margin-top: 60px;
    width:100%
}

@media (min-width: 768px) {
    .p-room-block1 {
        margin-top:7.5rem
    }
}

.p-room-block1 .c-txt, .p-room-block1 .p-period__block__item dt, .p-period__block__item .p-room-block1 dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-room-block1 .c-txt, .p-room-block1 .p-period__block__item dt, .p-period__block__item .p-room-block1 dt {
        margin-top:2.5rem
    }
}

.p-room-block1__contents {
    width:100%
}

@media (min-width: 768px) {
    .p-room-block1__contents {
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top:.63rem
    }
}

.p-room-block1__item {
    width: 83%;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-room-block1__item {
        width: 30.5%;
        margin-top:5.38rem
    }
}

.p-room-block1__caption {
    font-weight: bold;
    text-align: center;
    margin-top:10px
}

@media (min-width: 768px) {
    .p-room-block1__caption {
        margin-top:1.5rem
    }
}

.p-room-block2 {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-room-block2 {
        margin-top:7.63rem
    }
}

.p-room-block2__contents {
    width:100%
}

@media (min-width: 768px) {
    .p-room-block2__contents {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-top:5rem
    }
}

@media (max-width: 767px) {
    .p-room-block2__nav {
        display: flex;
        justify-content: space-between;
        margin:30px -15px 0 !important
    }
}

@media (min-width: 768px) {
    .p-room-block2__nav {
        position: sticky;
        top: 7.25rem;
        width:30.5%
    }
}

@media (max-width: 767px) {
    .p-room-block2__item {
        background-color: #36bce2;
        width: 47.5%;
        font-size: 12px;
        line-height: 1.5;
        text-align: center;
        padding:0
    }

    .p-room-block2__item::after {
        display:none
    }
}

@media (min-width: 768px) {
    .p-room-block2__item {
        width:100%
    }
}

@media (min-width: 768px) {
    .p-room-block2__item + .p-room-block2__item {
        margin-top:2rem
    }
}

@media (max-width: 767px) {
    .p-room-block2__secs {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-room-block2__secs {
        width:65.25%
    }
}

.p-room-block2__sec {
    transition:opacity .3s ease
}

.p-room-block2__sec .c-mid-heading {
    margin-top:45px
}

@media (min-width: 768px) {
    .p-room-block2__sec .c-mid-heading {
        margin-top:3.5rem
    }
}

.p-room-block2__sec .c-mid-heading + .c-txt, .p-room-block2__sec .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-room-block2__sec .c-mid-heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-room-block2__sec .c-mid-heading + .c-txt, .p-room-block2__sec .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-room-block2__sec .c-mid-heading + dt {
        margin-top:1.63rem
    }
}

.p-room-block2__sec:not(:last-child) {
    padding-bottom:60px
}

@media (min-width: 768px) {
    .p-room-block2__sec:not(:last-child) {
        padding-bottom:6rem
    }
}

.p-room-block2__box {
    margin-top: 20px;
    padding:15px
}

@media (min-width: 768px) {
    .p-room-block2__box {
        padding: 2.25rem 3.31rem;
        margin-top:3.13rem
    }
}

.p-room-block2__topics {
    border-top: 1px solid #d8d8d8;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-room-block2__topics {
        margin-top:2.5rem
    }
}

@media (min-width: 768px) {
    .p-room-block2__topics .p-topics__link {
        padding-top: 2.5rem;
        padding-bottom:2.5rem
    }
}

@media (min-width: 768px) {
    .p-room-block2__topics .p-topics__link:after {
        transform-origin: right;
        transform:scale(0.9)
    }
}

@media (max-width: 767px) {
    .p-room-block2__topics .p-topics__ttl {
        margin-top:.5em
    }
}

.p-room-block2__topics + .c-btn {
    margin:40px auto 0
}

@media (min-width: 768px) {
    .p-room-block2__topics + .c-btn {
        margin-top:5rem
    }
}

.p-room-block3 {
    margin-top:80px
}

@media (min-width: 768px) {
    .p-room-block3 {
        margin-top:9rem
    }
}

.p-faq__item {
    width: 100%;
    margin-top:35px
}

@media (min-width: 768px) {
    .p-faq__item {
        margin-top:3rem
    }
}

@media (min-width: 768px) {
    .p-faq__item:first-of-type {
        margin-top:3.5rem
    }
}

.p-faq__q {
    border: 1px solid #00a4d2;
    background-color: #fff;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: baseline;
    border-radius: 5px;
    line-height: 1.5;
    padding:.5em .5em .7em
}

@media (min-width: 768px) {
    .p-faq__q {
        border-radius: .31rem;
        font-size: 1rem;
        padding:.38rem .94rem
    }
}

.p-faq__q::before {
    content: "Q.";
    color: #00a4d2;
    flex: 0 0 auto;
    font-weight: bold;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    margin-right: .45em;
    font-size:17px
}

@media (min-width: 768px) {
    .p-faq__q::before {
        font-size:1.25rem
    }
}

.p-faq__a {
    margin-top:1em
}

@media (min-width: 768px) {
    .p-faq__a {
        margin-top:2rem
    }
}

.p-room__links {
    align-items: flex-start;
    margin-top: 40px;
    margin-right:auto
}

@media (min-width: 768px) {
    .p-room__links {
        margin-top:2.5rem
    }
}

.p-room__links .c-txt, .p-room__links .p-period__block__item dt, .p-period__block__item .p-room__links dt {
    line-height:2.64
}

@media (min-width: 768px) {
    .p-member__container {
        padding-top:6.5rem
    }
}

.p-member__lead {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-member__lead {
        margin-top:3.5rem
    }
}

@media (max-width: 767px) {
    .p-member__nav {
        margin: 40px -15px 0;
        width:calc(100% + 30px)
    }
}

@media (min-width: 768px) {
    .p-member__nav {
        margin-top:5rem
    }
}

.p-member__item {
    height:auto
}

@media (max-width: 767px) {
    .p-member__item {
        padding-top: 10px;
        padding-bottom:20px
    }
}

@media (min-width: 768px) {
    .p-member__item {
        height:6.25rem
    }
}

@media (max-width: 767px) {
    .p-member__item b {
        font-size:10px
    }
}

.p-member__item strong {
    margin-top: 3px;
    font-size: 14px;
    font-family: "Karla", "Noto Sans JP", sans-serif
}

@media (max-width: 767px) {
    .p-member__item strong {
        margin-bottom:5px
    }
}

@media (min-width: 768px) {
    .p-member__item strong {
        margin-top: .56rem;
        font-size:1.56rem
    }
}

.p-member__item strong.-m {
    font-weight:500
}

@media (max-width: 767px) {
    .p-member__item::after {
        bottom: 5px;
        left: 0;
        right: 0 !important;
        top: auto !important;
        transform: rotate(90deg) !important;
        text-align:center
    }
}

.p-member__sec {
    margin-top: 60px;
    padding:30px 15px
}

@media (min-width: 768px) {
    .p-member__sec {
        margin-top: 6rem;
        padding:4.5rem 6.21%
    }
}

@media (min-width: 1320px) {
    .p-member__sec {
        padding-left: 82px;
        padding-right:82px
    }
}

.p-member__header {
    width:100%
}

@media (min-width: 768px) {
    .p-member__header {
        align-items: center;
        justify-content:space-between
    }
}

.p-member__header .c-txt, .p-member__header .p-period__block__item dt, .p-period__block__item .p-member__header dt {
    color: #333;
    letter-spacing:0
}

.p-member__header1__pic, .p-member__header2__pic {
    position: relative;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    padding-top: 41.34%;
    width:100%
}

@media (min-width: 768px) {
    .p-member__header1__pic, .p-member__header2__pic {
        border-radius: .63rem;
        width: 59.93%;
        padding-top:24.78%
    }
}

.p-member__header1__pic img, .p-member__header2__pic img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 73.08%;
    max-width:391px !important
}

@media (max-width: 767px) {
    .p-member__header1__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-member__header1__body {
        width:33.82%
    }
}

.p-member__heading {
    letter-spacing: .05em;
    font-size:16px
}

@media (min-width: 768px) {
    .p-member__heading {
        font-size: 1.5rem;
        line-height:1.67
    }
}

.p-member__heading.-orange {
    color:#eb8523
}

.p-member__heading.-navy {
    color:#09487e
}

.p-member__heading.-blue {
    color:#00a4d2
}

.p-member__heading small {
    font-size:.88rem
}

.p-member__heading + .c-txt, .p-period__block__item .p-member__heading + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-member__heading + .c-txt, .p-period__block__item .p-member__heading + dt {
        margin-top:1.25rem
    }
}

@media (min-width: 768px) {
    .p-life__contents {
        justify-content: space-between;
        margin-top:4rem
    }
}

.p-life__item {
    width:80%
}

@media (max-width: 767px) {
    .p-life__item {
        margin-top: 40px;
        max-width:262px
    }
}

@media (min-width: 768px) {
    .p-life__item {
        width:29.24%
    }
}

.p-life__item img {
    display: block;
    margin-top:15px
}

@media (min-width: 768px) {
    .p-life__item img {
        margin-top:1.5rem
    }
}

.p-life__item .c-txt, .p-life__item .p-period__block__item dt, .p-period__block__item .p-life__item dt {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-life__item .c-txt, .p-life__item .p-period__block__item dt, .p-period__block__item .p-life__item dt {
        margin-top:1.69rem
    }
}

@media (min-width: 768px) {
    .p-life__heading {
        padding-left:1.5rem
    }
}

.p-member__btn {
    margin-top: 40px;
    width:197px
}

@media (min-width: 768px) {
    .p-member__btn {
        margin-top: 4.38rem;
        width:14.38rem
    }
}

.p-member__footer {
    width: 100%;
    justify-content: space-between;
    margin-top:40px
}

@media (max-width: 767px) and(min-width: 400px) {
    .p-member__footer {
        justify-content:center
    }
}

@media (min-width: 768px) {
    .p-member__footer {
        margin-top:5rem
    }
}

.p-member__footer.-center {
    justify-content:center
}

.p-member__footer .c-heading-bar {
    margin-bottom:30px
}

@media (min-width: 768px) {
    .p-member__footer .c-heading-bar {
        margin-bottom:3rem
    }
}

.p-app__item {
    display: flex;
    align-items:center
}

@media (max-width: 767px) {
    .p-app__item .-qr {
        display:none
    }
}

@media (min-width: 768px) {
    .p-app__item .-qr {
        width:9.63rem
    }
}

@media (max-width: 767px) and(min-width: 400px) {
    .p-app__item .-btn:not(first-child) {
        margin-left:15px
    }
}

@media (min-width: 768px) {
    .p-app__item .-btn {
        margin-left:1.5rem
    }
}

@media (max-width: 767px) {
    .p-app__item .-btn.-apple img {
        height: 45px;
        width:auto
    }
}

@media (min-width: 768px) {
    .p-app__item .-btn.-apple {
        width:12.06rem
    }
}

@media (max-width: 767px) {
    .p-app__item .-btn.-google img {
        height: 45px;
        width:auto
    }
}

@media (min-width: 768px) {
    .p-app__item .-btn.-google {
        width:14.94rem
    }
}

@media (min-width: 768px) {
    .p-member__header2__pic {
        width:53.13%
    }
}

.p-member__header2__pic img {
    width:67.72%
}

@media (max-width: 767px) {
    .p-member__header2__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-member__header2__body {
        width:39.62%
    }
}

.p-mobap__txts {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-mobap__txts {
        margin-top:3.75rem
    }
}

.p-mobap__txts .c-note {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-mobap__txts .c-note {
        margin-top:1.5rem
    }
}

.p-member__header3__pic {
    max-width:404px
}

@media (min-width: 768px) {
    .p-member__header3__pic {
        width:45.09%
    }
}

@media (max-width: 767px) {
    .p-member__header3__body {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-member__header3__body {
        width:47.43%
    }
}

.p-join__contents {
    width: 100%;
    margin-top: 40px;
    padding:20px 15px
}

@media (min-width: 768px) {
    .p-join__contents {
        margin-top: 4rem;
        padding:3.5rem 0
    }
}

@media (max-width: 767px) {
    .p-join__contents .c-mid-heading {
        line-height:1.5
    }
}

.p-join__contents .c-note {
    margin-top:1.5rem
}

.p-join__list {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-join__list {
        margin-top:2rem
    }
}

.p-join {
    margin-top:40px
}

@media (min-width: 768px) {
    .p-join {
        margin-top:3.5rem
    }
}

.p-join .c-txt + .c-txt, .p-join .p-period__block__item dt + .c-txt, .p-period__block__item .p-join dt + .c-txt, .p-join .p-period__block__item .c-txt + dt, .p-period__block__item .p-join .c-txt + dt, .p-join .p-period__block__item dt + dt, .p-period__block__item .p-join dt + dt {
    margin-top:5px
}

@media (min-width: 768px) {
    .p-join .c-txt + .c-txt, .p-join .p-period__block__item dt + .c-txt, .p-period__block__item .p-join dt + .c-txt, .p-join .p-period__block__item .c-txt + dt, .p-period__block__item .p-join .c-txt + dt, .p-join .p-period__block__item dt + dt, .p-period__block__item .p-join dt + dt {
        margin-top:1rem
    }
}

.p-guide__lead {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-guide__lead {
        margin-top:3rem
    }
}

.p-flow {
    width: 100%;
    margin-top:40px
}

@media (min-width: 768px) {
    .p-flow {
        justify-content: space-between;
        margin-top:4.5rem
    }
}

.p-flow__item {
    position: relative;
    display: flex;
    justify-content:center
}

@media (max-width: 767px) {
    .p-flow__item {
        max-width: 367px;
        width: 80%;
        flex-direction: column;
        align-items: center;
        padding:40px 0
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .p-flow__item > * {
        min-height: 0;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .p-flow__item {
        align-items: flex-start;
        height: 25.88rem;
        width: 30.58%;
        padding-top:6.06rem
    }

    .p-flow__item.-item1 {
        padding-top:4.69rem
    }
}

@media (max-width: 767px) {
    .p-flow__item:not(:first-child) {
        margin-top:50px
    }
}

.p-flow__item:not(:first-child)::before {
    position: absolute;
    content: "";
    background: url("../img/service/ic_guide_right@2x.png") no-repeat center center/contain;
    width: 20px;
    height: 48px;
    top:-45px
}

@media (max-width: 767px) {
    .p-flow__item:not(:first-child)::before {
        left: 0;
        right: 0;
        margin: 0 auto;
        transform:rotate(90deg)
    }
}

@media (min-width: 768px) {
    .p-flow__item:not(:first-child)::before {
        top: calc(50% - 1.5rem);
        left: calc((6.81% + 0.44rem) * -1);
        width: 1.25rem;
        height:3rem
    }
}

.p-flow__item.-item1 img {
    width:53.95%
}

.p-flow__item.-item2 img {
    width:66.49%
}

.p-flow__item.-item3 img {
    width: 53.41%;
    transform:translateX(7.14%)
}

.p-flow__txt {
    line-height: 1.43;
    font-weight:bold
}

@media (max-width: 767px) {
    .p-flow__txt {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-flow__txt {
        position: absolute;
        top:19.88rem
    }
}

.p-support {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-support {
        align-items: center;
        margin-top:7.5rem
    }
}

@media (min-width: 768px) {
    .p-support__pic {
        flex: 0 0 auto;
        width:52.17%
    }
}

@media (max-width: 767px) {
    .p-support__body {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-support__body {
        flex: 1;
        padding-left: 5.83%;
        padding-right:5.83%
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-support__body .c-mid-heading br {
        display:none
    }
}

.p-support__body .c-mid-heading + .c-txt, .p-support__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-support__body .c-mid-heading + dt {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-support__body .c-mid-heading + .c-txt, .p-support__body .p-period__block__item .c-mid-heading + dt, .p-period__block__item .p-support__body .c-mid-heading + dt {
        margin-top:2rem
    }
}

.p-howtoplay {
    width: 100%;
    margin-top:60px
}

@media (max-width: 767px) {
    .p-howtoplay {
        padding:40px 20px
    }
}

@media (min-width: 768px) {
    .p-howtoplay {
        padding-top: 4.63rem;
        padding-bottom: 5.13rem;
        margin-top:8.5rem
    }
}

.p-howtoplay__txt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-howtoplay__txt {
        margin-top:2rem
    }
}

.p-howtoplay__ttl {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-howtoplay__ttl {
        margin-top:3.5rem
    }
}

.p-howtoplay__btns {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-howtoplay__btns {
        width: 100%;
        align-items: center;
        justify-content: center;
        margin-top:2rem
    }
}

@media (min-width: 768px) {
    .p-howtoplay__btns .c-btn2 {
        width:29.33%
    }
}

@media (max-width: 767px) {
    .p-howtoplay__btns .c-btn2 + .c-btn2 {
        margin-top:20px
    }
}

@media (min-width: 768px) {
    .p-howtoplay__btns .c-btn2 + .c-btn2 {
        margin-left:4.5%
    }
}

.p-howtoplay__btn {
    width: 16.88rem;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-howtoplay__btn {
        margin-top:7rem
    }
}

@media (min-width: 768px) {
    .p-faq__container {
        padding-top:4rem
    }
}

@media (min-width: 768px) {
    .p-faq-nav__item::after {
        right:1.25rem !important
    }
}

.p-faq__sec {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-faq__sec {
        margin-top:4.75rem
    }
}

@media (min-width: 768px) {
    .p-faq__sec:first-of-type {
        margin-top:6rem
    }
}

.p-faq__item.-accordion {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-faq__item.-accordion {
        margin-top:2.38rem
    }
}

.p-faq__item.-accordion + .p-faq__item.-accordion {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-faq__item.-accordion + .p-faq__item.-accordion {
        margin-top:1.5rem
    }
}

.-accordion .p-faq__q {
    position: relative;
    cursor: pointer;
    transition:opacity .3s ease
}

@media (max-width: 767px) {
    .-accordion .p-faq__q {
        padding-right:30px
    }
}

.-accordion .p-faq__q::after {
    content: "";
    font-family: "icomoon";
    position: absolute;
    top: 50%;
    color: #00a4d2;
    transform: translateY(-43%) rotate(90deg);
    transition: transform .3s ease;
    right:14px
}

@media (min-width: 768px) {
    .-accordion .p-faq__q::after {
        right: 1.5rem;
        font-size:1.13rem
    }
}

.-accordion .p-faq__q.is-open::after {
    transform:translateY(-43%) rotate(-90deg)
}

@media (hover: hover),(-ms-high-contrast: none) {
    .-accordion .p-faq__q:hover {
        opacity:.75
    }
}

.p-faq__a-container {
    height: 0;
    overflow: hidden;
    transition:height .3s ease
}

.-accordion .p-faq__a {
    margin-top: 0;
    padding-top: 15px;
    padding-bottom:10px
}

@media (min-width: 768px) {
    .-accordion .p-faq__a {
        padding-top: 2rem;
        padding-bottom:1rem
    }
}

.p-faq__a .c-list {
    margin-top:.5em
}

@media (max-width: 767px) {
    .p-phil__container {
        padding-bottom:60px
    }
}

.p-phil-sec1 {
    padding-top:60px
}

@media (min-width: 768px) {
    .p-phil-sec1 {
        padding-top: 7rem;
        width:100%
    }
}

.p-phil-sec1__contents {
    position: relative;
    margin-top:30px
}

@media (max-width: 767px) {
    .p-phil-sec1__contents {
        border-radius: 10px;
        overflow: hidden;
        z-index: 1;
        width:84vw
    }
}

@media (min-width: 768px) {
    .p-phil-sec1__contents {
        width: 100%;
        margin-top: 4.63rem;
        padding:0 5vw
    }
}

@media (min-width: 901px) {
    .p-phil-sec1__contents {
        padding:0 4.55%
    }
}

@media (min-width: 1320px) {
    .p-phil-sec1__contents {
        padding:0 calc(50% - 600px)
    }
}

.p-phil-sec1__pic {
    overflow:hidden
}

@media (min-width: 768px) {
    .p-phil-sec1__pic {
        position: absolute;
        top: 0;
        right: 0;
        border-radius: .63rem 0 0 .63rem;
        height: 40.38rem;
        width:calc(50% + 17.56rem)
    }
}

.p-phil-sec1__body {
    position:relative
}

@media (max-width: 767px) {
    .p-phil-sec1__body {
        border-radius: 0;
        padding:30px 20px
    }
}

@media (min-width: 768px) {
    .p-phil-sec1__body {
        align-self: flex-start;
        margin-top: 7.38rem;
        width: 60%;
        padding:5% 4%
    }
}

@media (min-width: 901px) {
    .p-phil-sec1__body {
        width: 51.42%;
        padding:6.67% 4.17% 6.67% 6.67%
    }
}

.p-phil-sec1__body .c-txt, .p-phil-sec1__body .p-period__block__item dt, .p-period__block__item .p-phil-sec1__body dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-phil-sec1__body .c-txt, .p-phil-sec1__body .p-period__block__item dt, .p-period__block__item .p-phil-sec1__body dt {
        margin-top:2.5rem
    }
}

.p-phil-sec2 {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-phil-sec2 {
        margin-top:7.31rem
    }
}

.p-phil-sec2__contents {
    width: 100%;
    margin-top:30px
}

@media (min-width: 768px) {
    .p-phil-sec2__contents {
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 5.38rem;
        padding-bottom:6.44rem
    }
}

@media (max-width: 767px) {
    .p-phil-sec2__fig {
        display:none
    }
}

@media (min-width: 768px) {
    .p-phil-sec2__fig {
        position: sticky;
        top: 5rem;
        width:31.25%
    }
}

.p-phil-sec2__fig__inner {
    position:relative
}

@media (min-width: 768px) {
    .p-phil-sec2__fig__inner {
        padding-top:101.07%
    }
}

.p-phil-sec2__fig__inner img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    display: block;
    opacity:0
}

.p-phil-sec2__fig__inner img.is-current {
    opacity:1
}

@media (min-width: 768px) {
    .p-phil-sec2__blocks {
        width:60%
    }
}

@media (min-width: 901px) {
    .p-phil-sec2__blocks {
        width:48.58%
    }
}

.p-phil-sec2__item {
    padding:30px 20px
}

@media (min-width: 768px) {
    .p-phil-sec2__item {
        padding:11.66% 10.98%
    }
}

.p-phil-sec2__item .c-heading1 {
    margin-top: 15px;
    margin-bottom:15px
}

@media (min-width: 768px) {
    .p-phil-sec2__item .c-heading1 {
        margin-top: 1.56rem;
        margin-bottom: 1.81rem;
        white-space:nowrap
    }
}

@media (min-width: 768px) {
    .p-phil-sec2__item .c-txt, .p-phil-sec2__item .p-period__block__item dt, .p-period__block__item .p-phil-sec2__item dt {
        letter-spacing:.025em
    }
}

@media (max-width: 767px) {
    .p-phil-sec2__item .c-btn {
        margin:25px auto 0
    }
}

@media (min-width: 768px) {
    .p-phil-sec2__item .c-btn {
        margin-top:2.5rem
    }
}

.p-phil-sec2__item + .p-phil-sec2__item {
    margin-top:35px
}

@media (min-width: 768px) {
    .p-phil-sec2__item + .p-phil-sec2__item {
        margin-top:3.5rem
    }
}

@media (max-width: 767px) {
    .p-phil-sec3 {
        margin-top:60px
    }
}

.p-phil-sec3__contents {
    background-color: #fff;
    border-radius: 10px;
    overflow:hidden
}

@media (max-width: 767px) {
    .p-phil-sec3__contents {
        z-index: 1;
        width: 84vw;
        margin:30px auto 0
    }
}

@media (min-width: 768px) {
    .p-phil-sec3__contents {
        border-radius: .63rem 0 0 .63rem;
        margin-top: 4.5rem;
        align-items: center;
        justify-content: space-between;
        margin-left: 5vw;
        padding-right:5vw
    }
}

@media (min-width: 901px) {
    .p-phil-sec3__contents {
        margin-left: 4.55%;
        padding-right:4.55%
    }
}

@media (min-width: 1320px) {
    .p-phil-sec3__contents {
        margin-left: calc(50% - 600px);
        padding-right:calc(50% - 600px)
    }
}

@media (min-width: 768px) {
    .p-phil-sec3__pic {
        width:52.83%
    }
}

@media (max-width: 767px) {
    .p-phil-sec3__body {
        padding:30px 20px 35px
    }
}

@media (min-width: 768px) {
    .p-phil-sec3__body {
        width:39.58%
    }
}

@media (max-width: 767px) {
    .p-phil-sec3__body .c-heading1 {
        text-align:center
    }
}

.p-phil-sec3__body .c-txt, .p-phil-sec3__body .p-period__block__item dt, .p-period__block__item .p-phil-sec3__body dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-phil-sec3__body .c-txt, .p-phil-sec3__body .p-period__block__item dt, .p-period__block__item .p-phil-sec3__body dt {
        margin-top:2.31rem
    }
}

@media (max-width: 767px) {
    .p-phil-sec3__body .c-btn {
        margin:25px auto 0
    }
}

.p-philosophy__back-btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-philosophy__back-btn {
        margin-top:7rem
    }
}

@media (max-width: 767px) {
    .p-phil-page__container {
        padding-bottom:60px
    }
}

.p-vis-bg1 {
    position: absolute;
    top: 0;
    left: 0;
    right:0
}

.p-vis__crest {
    position:absolute
}

.p-vis__crest2-1 {
    top: -45px;
    left: calc(50% - 30px);
    width:138px
}

@media (min-width: 768px) {
    .p-vis__crest2-1 {
        top: -3.75rem;
        left: calc(50% + 3.13rem);
        width:17.25rem
    }
}

.p-vis__crest3-1 {
    top: 220px;
    left: -50px;
    width:123.5px
}

@media (min-width: 768px) {
    .p-vis__crest3-1 {
        top: 27.63rem;
        right: calc(50% + 25.75rem);
        width:15.44rem
    }
}

.p-vis__crest12-1 {
    top: 150px;
    right: 20px;
    width:59px
}

@media (min-width: 768px) {
    .p-vis__crest12-1 {
        top: 13.06rem;
        left: calc(50% + 34rem);
        width:7.38rem
    }
}

.p-phil-sec-box {
    position: relative;
    background-color: #fff;
    border-radius: 10px;
    padding:40px 30px
}

@media (min-width: 768px) {
    .p-phil-sec-box {
        border-radius: .63rem 0 0 .63rem;
        padding: 7.58% 9.09%;
        margin-left:5vw
    }
}

@media (min-width: 901px) {
    .p-phil-sec-box {
        margin-left:16.67%
    }
}

@media (min-width: 1320px) {
    .p-phil-sec-box {
        margin-left:calc(50% - 440px)
    }
}

.p-vis-sec1 {
    position:relative
}

@media (max-width: 767px) {
    .p-vis-sec1 {
        padding-left: 8vw;
        padding-right:8vw
    }
}

@media (min-width: 768px) {
    .p-vis-sec1 {
        width:100%
    }
}

.p-vis-sec1 > .c-txt, .p-period__block__item .p-vis-sec1 > dt {
    position: relative;
    margin-top:15px
}

@media (min-width: 768px) {
    .p-vis-sec1 > .c-txt, .p-period__block__item .p-vis-sec1 > dt {
        margin-top: 2.38rem;
        margin-left:5vw
    }
}

@media (min-width: 901px) {
    .p-vis-sec1 > .c-txt, .p-period__block__item .p-vis-sec1 > dt {
        margin-left:16.67%
    }
}

@media (min-width: 1320px) {
    .p-vis-sec1 > .c-txt, .p-period__block__item .p-vis-sec1 > dt {
        margin-left:calc(50% - 440px)
    }
}

.p-vis-sec1__copy {
    position: relative;
    margin-top: 20px;
    margin-bottom: 25px;
    padding:5px 0 5px 25px
}

@media (min-width: 768px) {
    .p-vis-sec1__copy {
        margin-top: 3rem;
        margin-bottom: 3.75rem;
        padding:.63rem 0 .63rem 3.75rem
    }
}

@media (max-width: 767px) {
    .p-vis-sec1__copy img {
        height: 40px;
        width:auto !important
    }
}

@media (min-width: 768px) {
    .p-vis-sec1__copy img {
        width:22.19rem
    }
}

.p-vis-sec1__copy::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    background-color: #36bce2;
    content: "";
    border-radius: 3px;
    width:6px
}

@media (min-width: 768px) {
    .p-vis-sec1__copy::before {
        border-radius: .31rem;
        width:.63rem
    }
}

.p-vis-sec1__sub-copy {
    color: #36bce2;
    font-weight: bold;
    line-height: 1.5;
    margin-top:15px
}

@media (min-width: 768px) {
    .p-vis-sec1__sub-copy {
        line-height: 1;
        margin-top:1.13rem
    }
}

.p-vis__crest2-2 {
    bottom: 0px;
    right: -65px;
    width:176.5px
}

@media (min-width: 768px) {
    .p-vis__crest2-2 {
        bottom: -5.63rem;
        left: calc(50% + 26.44rem);
        width:22.06rem
    }
}

.p-vis-sec2 {
    position: relative;
    margin-top:60px
}

@media (max-width: 767px) {
    .p-vis-sec2 {
        padding-left: 8vw;
        padding-right:8vw
    }
}

@media (min-width: 768px) {
    .p-vis-sec2 {
        margin-top: 8.75rem;
        height: 57.81rem;
        padding-left:5vw
    }
}

@media (min-width: 901px) {
    .p-vis-sec2 {
        padding-left:16.67%
    }
}

@media (min-width: 1320px) {
    .p-vis-sec2 {
        padding-left:calc(50% - 440px)
    }
}

.p-vis__crest14-1 {
    top: 50px;
    left: -80px;
    width:180px
}

@media (min-width: 768px) {
    .p-vis__crest14-1 {
        top: 13rem;
        right: calc(50% + 26.81rem);
        width:22.5rem
    }
}

.p-vis__crest6-1 {
    top: 15px;
    right: -10px;
    width:63px
}

@media (min-width: 768px) {
    .p-vis__crest6-1 {
        right: auto;
        top: 26.13rem;
        left: calc(50% + 31.44rem);
        width:5.25rem
    }
}

.p-vis__crest7-1 {
    bottom: 155px;
    right: -35px;
    width:86px
}

@media (min-width: 768px) {
    .p-vis__crest7-1 {
        bottom: auto;
        top: 42.88rem;
        right: calc(50% - 5.38rem);
        width:10.75rem
    }
}

.p-vis__crest11-1 {
    bottom: -45px;
    left: -35px;
    width:119px
}

@media (min-width: 768px) {
    .p-vis__crest11-1 {
        left: auto;
        bottom: -2.38rem;
        right: calc(50% + 22.63rem);
        width:14.88rem
    }
}

.p-vis__crest8-1 {
    bottom: -60px;
    right: -60px;
    width:154px
}

@media (min-width: 768px) {
    .p-vis__crest8-1 {
        right: auto;
        bottom: -14.25rem;
        left: calc(50% + 30.63rem);
        width:19.25rem
    }
}

.p-vis-sec2__heading {
    position: relative;
    padding-left:25px
}

@media (min-width: 768px) {
    .p-vis-sec2__heading {
        padding-left:2.75rem
    }
}

.p-vis-sec2__heading::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    content: "";
    background-color: #36bce2;
    width: 6px;
    border-radius:3px
}

@media (min-width: 768px) {
    .p-vis-sec2__heading::before {
        width: .38rem;
        border-radius:.19rem
    }
}

.p-vis-sec2__block {
    background-color: #fff;
    position:relative
}

@media (max-width: 767px) {
    .p-vis-sec2__block {
        border-radius: 10px;
        padding: 30px 20px;
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-vis-sec2__block {
        position: absolute;
        border-radius: 50%;
        width: 27.94rem;
        height: 27.94rem;
        justify-content:center
    }
}

.p-vis-sec2__block .c-heading1 {
    text-align:center
}

.p-vis-sec2__block .c-txt2, .p-vis-sec2__block .is-confirmed .f-confirm-content, .is-confirmed .p-vis-sec2__block .f-confirm-content, .p-vis-sec2__block .f-label .err-txt, .f-label .p-vis-sec2__block .err-txt, .p-vis-sec2__block .f-label {
    margin-top:15px
}

@media (min-width: 768px) {
    .p-vis-sec2__block .c-txt2, .p-vis-sec2__block .is-confirmed .f-confirm-content, .is-confirmed .p-vis-sec2__block .f-confirm-content, .p-vis-sec2__block .f-label .err-txt, .f-label .p-vis-sec2__block .err-txt, .p-vis-sec2__block .f-label {
        text-align: center;
        margin-top: 1.38rem;
        line-height:1.71
    }
}

@media (min-width: 768px) {
    .p-vis-sec2__block--1 {
        top: -1rem;
        left:calc(50% + 4.63rem)
    }
}

@media (min-width: 768px) {
    .p-vis-sec2__block--2 {
        top: 12.13rem;
        right:calc(50% - 3.88rem)
    }
}

@media (min-width: 768px) {
    .p-vis-sec2__block--3 {
        top: 29.88rem;
        left:calc(50% + 2.5rem)
    }
}

.p-vis-foot {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-vis-foot {
        margin-top:9.38rem
    }
}

.p-phil-box {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    padding:10px
}

@media (min-width: 768px) {
    .p-phil-box {
        margin-top: 5rem;
        padding:3.48% 4.02%
    }
}

@media (min-width: 1320px) {
    .p-phil-box {
        padding:46px 53px
    }
}

.p-phil-box .c-tab-btn {
    letter-spacing: .05em;
    width:31.5%
}

@media (max-width: 767px) {
    .p-phil-box .c-tab-btn {
        padding-top:2px
    }
}

@media (min-width: 768px) {
    .p-phil-box .c-tab-btn {
        width:31.01%
    }
}

.p-phil-box .c-tab-btn::after {
    position: absolute;
    content: "";
    font-family: "icomoon";
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    font-weight:normal
}

@media (max-width: 767px) {
    .p-phil-box .c-tab-btn::after {
        font-size:10px
    }
}

@media (min-width: 768px) {
    .p-phil-box .c-tab-btn::after {
        right:1.5rem
    }
}

@media (hover: hover),(-ms-high-contrast: none) {
    .p-phil-box .c-tab-btn {
        transition:background-color .3s ease
    }

    .p-phil-box .c-tab-btn:hover {
        background-color:#222
    }
}

.p-val-bg1 {
    position: absolute;
    top: 0;
    left: 0;
    right:0
}

.p-val__crest {
    position:absolute
}

.p-val__crest2-1 {
    top: -45px;
    left: calc(50% - 30px);
    width:138px
}

@media (min-width: 768px) {
    .p-val__crest2-1 {
        left: auto;
        top: -3.75rem;
        right: calc(50% + 7.5rem);
        width:17.25rem
    }
}

.p-val__crest3-1 {
    top: 220px;
    left: -50px;
    width:123.5px
}

@media (min-width: 768px) {
    .p-val__crest3-1 {
        top: 27.63rem;
        right: calc(50% + 25.75rem);
        width:15.44rem
    }
}

.p-val__crest5-1 {
    top: 120px;
    left: calc(50% - 50px);
    width:97px
}

@media (min-width: 768px) {
    .p-val__crest5-1 {
        top: 5.94rem;
        left: calc(50% + 2.5rem);
        width:12.13rem
    }
}

.p-val__crest12-1 {
    top: 170px;
    right: 20px;
    width:59px
}

@media (min-width: 768px) {
    .p-val__crest12-1 {
        top: 5.75rem;
        left: calc(50% + 22.25rem);
        width:7.38rem
    }
}

@media (max-width: 767px) {
    .p-val__head {
        margin-left: 8vw;
        margin-right:8vw
    }
}

.p-val__copy {
    position: relative;
    font-weight: bold;
    color: #36bce2;
    display: flex;
    align-items: center;
    margin-top: 20px;
    font-size: 25px;
    padding-left:20px
}

@media (min-width: 768px) {
    .p-val__copy {
        margin-top: 3rem;
        font-size: 3.44rem;
        height: 5.63rem;
        padding-left: 3.75rem;
        padding-bottom:.09em
    }
}

.p-val__copy::before {
    content: "";
    width: 6px;
    border-radius: 3px;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background-color:#36bce2
}

@media (min-width: 768px) {
    .p-val__copy::before {
        width: .63rem;
        border-radius:.31rem
    }
}

.p-val-sec1, .p-mission-sec1 {
    position: relative;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-val-sec1, .p-mission-sec1 {
        margin-top: 5.5rem;
        padding-left: 5vw;
        padding-right:5vw
    }
}

@media (min-width: 901px) {
    .p-val-sec1, .p-mission-sec1 {
        padding-left: 16.67%;
        padding-right:4.55%
    }
}

@media (min-width: 1320px) {
    .p-val-sec1, .p-mission-sec1 {
        padding-left: calc(50% - 440px);
        padding-right:calc(50% - 600px)
    }
}

.p-val-sec1 .c-heading1, .p-mission-sec1 .c-heading1 {
    position:relative
}

.p-val__crest2-2 {
    top: 0;
    right: -65px;
    width:176.5px
}

@media (min-width: 768px) {
    .p-val__crest2-2 {
        top: 0;
        left: calc(50% + 25.81rem);
        width:22.06rem
    }
}

.p-val__crest14-1 {
    top: 50px;
    left: -80px;
    width:180px
}

@media (min-width: 768px) {
    .p-val__crest14-1 {
        left: auto;
        top: 9.75rem;
        right: calc(50% + 32.75rem);
        width:22.5rem
    }
}

.p-val__crest7-1 {
    bottom: 155px;
    right: -35px;
    width:86px
}

@media (min-width: 768px) {
    .p-val__crest7-1 {
        bottom: auto;
        top: calc(100% + 8.13rem);
        right: auto;
        left: calc(50% + 30.63rem);
        width:10.75rem
    }
}

.p-val__crest11-1 {
    bottom: -45px;
    left: -35px;
    width:119px
}

@media (min-width: 768px) {
    .p-val__crest11-1 {
        bottom: auto;
        left: auto;
        top: 40rem;
        right: calc(50% + 19.5rem);
        width:14.88rem
    }
}

.p-val-sec1__contents {
    position:relative
}

@media (max-width: 767px) {
    .p-val-sec1__contents {
        padding:0 8vw
    }
}

@media (min-width: 768px) {
    .p-val-sec1__contents {
        margin-top: 3rem;
        justify-content:space-between
    }
}

@media (max-width: 767px) {
    .p-val-sec1__item {
        padding: 30px 20px;
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-val-sec1__item {
        padding: 6.26% 8.32% 6.26% 7.83%;
        width:47.36%
    }

    .p-val-sec1__item:nth-child(n + 3) {
        margin-top:2.75rem
    }
}

.p-val-sec1__item .c-txt, .p-val-sec1__item .p-period__block__item dt, .p-period__block__item .p-val-sec1__item dt {
    margin-top:10px
}

@media (min-width: 768px) {
    .p-val-sec1__item .c-txt, .p-val-sec1__item .p-period__block__item dt, .p-period__block__item .p-val-sec1__item dt {
        margin-top:1.5rem
    }
}

.p-val-sec1__heading {
    color: #36bce2;
    display: flex;
    align-items:center
}

.p-val-sec1__heading::after {
    content: attr(data-eng);
    font-size: .88rem;
    line-height: 1;
    font-family: "Karla", "Noto Sans JP", sans-serif;
    margin-left: 1.38rem;
    padding-left: .94rem;
    border-left:1px solid #36bce2
}

.p-val-foot {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-val-foot {
        margin-top:5.5rem
    }
}

.p-mis-bg1 {
    position: absolute;
    top: 0;
    left: 0;
    right:0
}

.p-mis__crest {
    position:absolute
}

.p-mis__crest2-1 {
    top: -45px;
    left: calc(50% - 30px);
    width:138px
}

@media (min-width: 768px) {
    .p-mis__crest2-1 {
        left: auto;
        top: -3.75rem;
        right: calc(50% + 8.69rem);
        width:17.25rem
    }
}

.p-mis__crest3-1 {
    top: 220px;
    left: -50px;
    width:123.5px
}

@media (min-width: 768px) {
    .p-mis__crest3-1 {
        top: 27.63rem;
        right: calc(50% + 25.75rem);
        width:15.44rem
    }
}

.p-mis__crest5-1 {
    top: 120px;
    left: calc(50% - 50px);
    width:97px
}

@media (min-width: 768px) {
    .p-mis__crest5-1 {
        top: 18.44rem;
        left: calc(50% + 29.69rem);
        width:12.13rem
    }
}

.p-mis__crest12-1 {
    top: 170px;
    right: 20px;
    width:59px
}

@media (min-width: 768px) {
    .p-mis__crest12-1 {
        top: 10.19rem;
        left: calc(50% + 11rem);
        width:7.38rem
    }
}

@media (max-width: 767px) {
    .p-mission-sec1 {
        padding-left: 8vw;
        padding-right:8vw
    }
}

.p-mis__crest6-1 {
    top: 15px;
    right: -10px;
    width:63px
}

@media (min-width: 768px) {
    .p-mis__crest6-1 {
        top: .31rem;
        right: calc(50% + 29.06rem);
        width:5.25rem
    }
}

.p-mis__crest14-1 {
    top: 100px;
    left: -80px;
    width:180px
}

@media (min-width: 768px) {
    .p-mis__crest14-1 {
        top: 23.13rem;
        right: calc(50% + 31.88rem);
        width:22.5rem
    }
}

.p-mis__crest2-2 {
    top: 550px;
    left: -50px;
    width:123.5px
}

@media (min-width: 768px) {
    .p-mis__crest2-2 {
        top: 5.56rem;
        left: calc(50% + 26.5rem);
        width:22.06rem
    }
}

.p-mis__crest7-1 {
    bottom: 600px;
    right: -35px;
    width:86px
}

@media (min-width: 768px) {
    .p-mis__crest7-1 {
        bottom: auto;
        top: 81.25rem;
        left: calc(50% + 39.25rem);
        width:10.75rem
    }
}

.p-mis__crest11-1 {
    bottom: -45px;
    left: -35px;
    width:119px
}

@media (min-width: 768px) {
    .p-mis__crest11-1 {
        bottom: auto;
        left: auto;
        top: 109.06rem;
        right: calc(50% + 32.75rem);
        width:14.88rem
    }
}

.p-mission__block {
    position:relative
}

@media (min-width: 768px) {
    .p-mission__block {
        padding-top:2.81rem
    }

    .p-mission__block:nth-of-type(odd) .p-mission__body {
        margin-left:auto
    }

    .p-mission__block:nth-of-type(even) .p-mission__pic {
        right: 0;
        left:auto
    }
}

.p-mission__block:first-of-type {
    margin-top:30px
}

@media (min-width: 768px) {
    .p-mission__block:first-of-type {
        margin-top:3.13rem
    }
}

.p-mission__block + .p-mission__block {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-mission__block + .p-mission__block {
        margin-top:7rem
    }
}

@media (max-width: 767px) {
    .p-mission__pic {
        border-bottom-left-radius: 0;
        border-bottom-right-radius:0
    }
}

@media (min-width: 768px) {
    .p-mission__pic {
        position: absolute;
        top: 0;
        left: 0;
        width:42.66%
    }
}

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

@media (max-width: 767px) {
    .p-mission__body {
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        padding:30px 20px
    }
}

@media (min-width: 768px) {
    .p-mission__body {
        padding: 6.26% 7.24% 6.85%;
        width:60.57%
    }
}

.p-mission__body .c-heading1 {
    margin-bottom:20px
}

@media (max-width: 767px) {
    .p-mission__body .c-heading1 {
        margin-left: -20px;
        margin-right: -20px;
        text-align: center;
        padding-right:.5em
    }
}

@media (min-width: 768px) {
    .p-mission__body .c-heading1 {
        margin-bottom:1.75rem
    }
}

.p-mission-foot {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-mission-foot {
        margin-top:8.56rem
    }
}

.p-funcrest-lead {
    width: 100%;
    padding:30px 20px
}

@media (min-width: 768px) {
    .p-funcrest-lead {
        align-items: center;
        justify-content: space-between;
        padding:2.67%
    }
}

@media (min-width: 901px) {
    .p-funcrest-lead {
        padding:4% 7.5% 4% 4%
    }
}

@media (min-width: 768px) {
    .p-funcrest__pic {
        width:50.38%
    }
}

@media (max-width: 767px) {
    .p-funcrest__body {
        margin-top:30px
    }
}

@media (min-width: 768px) and(max-width: 900px) {
    .p-funcrest__body {
        width:46.2%
    }
}

.p-funcrest__body .c-heading1 + .c-txt, .p-funcrest__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-funcrest__body .c-heading1 + dt {
    margin-top:20px
}

@media (min-width: 768px) {
    .p-funcrest__body .c-heading1 + .c-txt, .p-funcrest__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-funcrest__body .c-heading1 + dt {
        margin-top:2rem
    }
}

@media (min-width: 901px) {
    .p-funcrest__body .c-heading1 + .c-txt, .p-funcrest__body .p-period__block__item .c-heading1 + dt, .p-period__block__item .p-funcrest__body .c-heading1 + dt {
        margin-top:3rem
    }
}

.p-funcrest-items {
    width: 100%;
    margin-top:60px
}

@media (min-width: 768px) {
    .p-funcrest-items {
        margin-top:8.13rem
    }
}

.p-funcrest-items__contents {
    width: 100%;
    justify-content: space-between;
    margin-top: 30px;
    padding:30px
}

@media (min-width: 768px) {
    .p-funcrest-items__contents {
        margin-top: 3.5rem;
        padding:6.67% 7.5% 7.5%
    }
}

.p-funcrest__item {
    width:42.5%
}

@media (max-width: 767px) {
    .p-funcrest__item:nth-child(n + 3) {
        margin-top:40px
    }
}

@media (min-width: 768px) {
    .p-funcrest__item {
        width:10.29%
    }

    .p-funcrest__item:not(:nth-child(5n)) {
        margin-right:8%
    }

    .p-funcrest__item:nth-child(n + 6) {
        margin-top:7rem
    }
}

.p-funcrest__fig {
    position: relative;
    padding-top: 100%;
    width:100%
}

.p-funcrest__ttl {
    text-align: center;
    white-space: nowrap;
    margin-top:15px
}

@media (min-width: 768px) {
    .p-funcrest__ttl {
        margin-top:1.5rem
    }
}

.p-funcrest {
    position: absolute;
    top: 0;
    left: 0;
    width:100%
}

.p-funcrest--4 {
    transform:scale(1.1)
}

.p-funcrest--9 {
    transform:translateY(18.5%) scale(1.33)
}

.p-funcrest--10 {
    transform:scale(1.33)
}

.p-funcrest--11 {
    transform:scale(1.33)
}

.p-funcrest__mini-box {
    margin-top:60px
}

@media (max-width: 767px) {
    .p-funcrest__mini-box {
        padding:30px
    }
}

@media (min-width: 768px) {
    .p-funcrest__mini-box {
        justify-content: center;
        align-items: center;
        flex-direction: row-reverse;
        margin-top: 5rem;
        height: 10.63rem;
        width:360px
    }
}

@media (min-width: 901px) {
    .p-funcrest__mini-box {
        width:38.83%
    }
}

@media (max-width: 767px) {
    .p-funcrest__mini-box img {
        margin-bottom:20px
    }
}

@media (min-width: 768px) {
    .p-funcrest__mini-box img {
        margin-left:6.87%
    }
}

.p-funcrest__btn {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-funcrest__btn {
        margin-top:7rem
    }
}

@media (min-width: 768px) {
    .p-contact__container {
        padding-top: 5.13rem;
        padding-bottom:8.13rem
    }
}

.p-contact__sec {
    margin-top: 40px;
    padding:30px 15px
}

@media (min-width: 768px) {
    .p-contact__sec {
        margin-top: 3.5rem;
        padding:4rem 4.63rem 4.38rem
    }
}

.p-contact__sec + .p-contact__sec {
    margin-top:60px
}

@media (min-width: 768px) {
    .p-contact__sec + .p-contact__sec {
        margin-top:4.88rem
    }
}

.p-contact__sec .c-bd-box {
    width: 100%;
    padding:20px 15px
}

@media (min-width: 768px) {
    .p-contact__sec .c-bd-box {
        padding:3.13rem 3.88rem
    }
}

.p-contact__sec-heading + * {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-contact__sec-heading + * {
        margin-top:3.25rem
    }
}

.p-contact__tel {
    font-family: "Karla", "Noto Sans JP", sans-serif;
    font-weight: bold;
    letter-spacing: .05em;
    font-size: 24px;
    line-height: 1.25;
    margin-top: 5px;
    padding-left:20px !important
}

@media (min-width: 768px) {
    .p-contact__tel {
        font-size: 2.5rem;
        line-height: 1.18;
        padding-left: 1.25rem !important;
        margin-top:1.13rem
    }

    .p-contact__tel::before {
        width: .31rem !important;
        top: .5rem !important;
        bottom:.5rem !important
    }
}

.p-contact__hours {
    font-weight: 500;
    font-size: 15px;
    margin-top:15px
}

@media (min-width: 768px) {
    .p-contact__hours {
        font-size: 1.25rem;
        letter-spacing: .05em;
        margin-top:1.25rem
    }
}

.p-contact__tel-txt {
    line-height: 1.43;
    margin-top:1.38rem
}

.p-contact__txt1 {
    margin-top:25px
}

@media (min-width: 768px) {
    .p-contact__txt1 {
        margin-top:3rem
    }
}

.p-conatct__link {
    align-self: flex-start;
    margin-top:20px
}

@media (min-width: 768px) {
    .p-conatct__link {
        margin-top:1.75rem
    }
}

.p-contact__btn {
    width: 100%;
    max-width:331px
}

@media (max-width: 767px) {
    .p-contact__btn {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .p-contact__btn {
        width:20.69rem
    }
}

.p-contact__list {
    display: flex;
    flex-wrap: wrap;
    margin-top:25px
}

@media (min-width: 768px) {
    .p-contact__list {
        margin-top:2.5rem
    }
}

.p-contact__list dt, .p-contact__list dd {
    color: #3e3a39;
    font-size: 12px;
    letter-spacing: .05em;
    white-space:nowrap
}

@media (min-width: 768px) {
    .p-contact__list dt, .p-contact__list dd {
        font-size: .88rem;
        line-height:1.43
    }
}

@media (min-width: 768px) {
    .p-contact__list dt:not(:first-of-type), .p-contact__list dd:not(:first-of-type) {
        margin-top:1.5rem
    }
}

.p-contact__list dt {
    position: relative;
    font-weight: bold;
    padding-left:15px
}

@media (max-width: 767px) {
    .p-contact__list dt {
        width:100%
    }
}

@media (min-width: 768px) {
    .p-contact__list dt {
        padding-left: 1.63rem;
        width:13.13rem
    }
}

.p-contact__list dt::before {
    content: "";
    width: .31rem;
    background-color: #36bce2;
    border-radius: .19rem;
    position: absolute;
    top: 0;
    left: 0;
    bottom:0
}

@media (max-width: 767px) {
    .p-contact__list dt:not(:first-of-type) {
        margin-top:15px
    }
}

@media (max-width: 767px) {
    .p-contact__list dd {
        margin-top:5px
    }
}

@media (min-width: 768px) {
    .p-contact__list dd {
        width:calc(100% - 13.13rem)
    }
}

.f-form {
    margin-top:-30px
}

@media (min-width: 768px) {
    .f-form {
        margin-top:-3.5rem
    }
}

.f-field {
    margin-top:35px
}

@media (min-width: 768px) {
    .f-field {
        margin-top:3.5rem
    }
}

.f-field.is-hidden {
    display:none
}

.is-confirmed .f-field.-no-confirm {
    display:none
}

.f-field.-attachment .f-content .c-txt span, .f-field.-attachment .f-content .p-period__block__item dt span, .p-period__block__item .f-field.-attachment .f-content dt span {
    display:none
}

.f-field.-attachment.collaboration .f-content .c-txt span.collaboration, .f-field.-attachment.collaboration .f-content .p-period__block__item dt span.collaboration, .p-period__block__item .f-field.-attachment.collaboration .f-content dt span.collaboration {
    display:inline
}

.f-field.-attachment.coverage .f-content .c-txt span.coverage, .f-field.-attachment.coverage .f-content .p-period__block__item dt span.coverage, .p-period__block__item .f-field.-attachment.coverage .f-content dt span.coverage {
    display:inline
}

.f-label {
    font-weight: bold;
    display: flex;
    flex-wrap:wrap
}

.-req .f-label::after {
    width: 2.5rem;
    height: 1.31rem;
    background-color: #36bce2;
    color: #fff;
    content: "必須";
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: .69rem;
    font-size: .63rem;
    font-weight: normal;
    letter-spacing: .05em;
    margin-left: .75rem;
    line-height:1
}

@media (max-width: 767px) {
    .-req .f-label::after {
        transform:translateY(2px)
    }
}

.f-label .err-txt {
    font-weight: bold;
    color: #ea3636;
    order:1
}

@media (max-width: 767px) {
    .f-label .err-txt {
        margin-top: 5px;
        width:100%
    }
}

@media (min-width: 768px) {
    .f-label .err-txt {
        margin-left:2rem
    }
}

.f-content {
    position: relative;
    margin-top:10px
}

@media (min-width: 768px) {
    .f-content {
        margin-top:1.56rem
    }
}

.f-content.-file-wrap {
    align-items:flex-start
}

.f-content.-radio-wrap {
    display: flex;
    flex-wrap:wrap
}

@media (max-width: 767px) {
    .f-content.-radio-wrap {
        margin:0 -10px -10px
    }
}

@media (min-width: 768px) {
    .f-content.-radio-wrap {
        margin-top:.31rem
    }
}

.is-confirmed .f-content {
    display:none
}

.f-confirm-content {
    display:none
}

.is-confirmed .f-confirm-content {
    display: block;
    margin-top:10px
}

@media (min-width: 768px) {
    .is-confirmed .f-confirm-content {
        margin-top:1.56rem
    }
}

.f-confirm-content.-pdf::before {
    color: #ea3636;
    content: "";
    font-family: "icomoon" !important;
    font-size: 1.43em;
    margin-right: .7em;
    vertical-align:middle
}

@media (min-width: 768px) {
    .f-confirm-content.-pdf::before {
        margin-right:1rem
    }
}

input[type=text], textarea {
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    width: 100%;
    vertical-align: top;
    transition: border-color .3s ease;
    padding: 1em;
    font-size:12px
}

@media (min-width: 768px) {
    input[type=text], textarea {
        font-size: 1.06rem;
        border-radius: .31rem;
        padding:.94rem 1.25rem .88rem
    }
}

input[type=text]:focus, textarea:focus {
    border-color:#36bce2
}

input[type=text].err, textarea.err {
    border-color:#ea3636
}

textarea {
    resize: auto;
    height:200px
}

@media (min-width: 768px) {
    textarea {
        height:10.56rem
    }
}

.f-checked-label {
    pointer-events:none
}

@media (max-width: 767px) {
    .f-checked-label {
        margin:10px
    }
}

@media (min-width: 768px) {
    .f-checked-label {
        width: 33.33%;
        margin-top:1.25rem
    }
}

.f-checked-label input[type=radio], .f-checked-label input[type=checkbox] {
    display: none;
    vertical-align:top
}

.f-checked-label input[type=radio] + span, .f-checked-label input[type=checkbox] + span {
    position: relative;
    pointer-events: auto;
    display: flex;
    align-items: center;
    font-size: .88rem;
    font-weight:bold
}

.f-checked-label input[type=radio] + span::before, .f-checked-label input[type=radio] + span::after, .f-checked-label input[type=checkbox] + span::before, .f-checked-label input[type=checkbox] + span::after {
    content: "";
    background-color: #fff;
    border-radius: 50%;
    width: 1.5rem;
    height: 1.5rem;
    border: 1px solid #d8d8d8;
    margin-right:.63rem
}

.f-checked-label input[type=radio] + span::after, .f-checked-label input[type=checkbox] + span::after {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #36bce2;
    border: none;
    transform: scale(0.5);
    display:none
}

.f-checked-label input[type=radio]:checked + span::before, .f-checked-label input[type=checkbox]:checked + span::before {
    border-color:#36bce2
}

.f-checked-label input[type=radio]:checked + span::after, .f-checked-label input[type=checkbox]:checked + span::after {
    display:block
}

.f-checked-label input[type=checkbox] + span {
    font-weight:normal
}

.f-checked-label input[type=checkbox] + span::before {
    border-radius:0
}

.f-checked-label input[type=checkbox] + span::after {
    display: block;
    border-radius: 0;
    background: none !important;
    border: none;
    border-left: 2px solid #36bce2;
    border-bottom: 2px solid #36bce2;
    transform: scale(1) rotate(-45deg);
    height: .75rem;
    width: 1.13rem;
    top: calc(50% - 0.5rem);
    left: .19rem;
    display:none
}

.f-file-label {
    display: flex;
    align-items: center;
    margin-top:10px
}

@media (min-width: 768px) {
    .f-file-label {
        margin-top:2.5rem
    }
}

input[type=file] {
    display:none
}

input[type=file] + i {
    margin-top:0
}

.f-file {
    cursor:pointer
}

.f-file-name {
    opacity: 0;
    margin-left:14px
}

@media (min-width: 768px) {
    .f-file-name {
        margin-left:1rem
    }
}

.f-file-name::before {
    color: #ea3636;
    content: "";
    font-family: "icomoon" !important;
    font-size: 1.43em;
    margin-right: .7em;
    vertical-align:middle
}

@media (min-width: 768px) {
    .f-file-name::before {
        margin-right:1rem
    }
}

.f-box {
    margin-top: 40px;
    padding:25px 15px
}

@media (min-width: 768px) {
    .f-box {
        margin-top: 6.25rem;
        padding:3.5rem 0
    }
}

.is-confirmed .f-box {
    display:none
}

.f-btn {
    width: 12.88rem;
    margin-left: auto;
    margin-right: auto;
    margin-top:40px
}

@media (min-width: 768px) {
    .f-btn {
        margin-top:3.5rem
    }
}

.is-confirmed .f-btn.-confirm {
    display:none
}

.f-btns {
    position: relative;
    margin-top: 40px;
    display:none
}

@media (max-width: 767px) {
    .f-btns {
        flex-direction: column;
        align-items:center
    }
}

@media (max-width: 767px) and(-ms-high-contrast: none) {
    .f-btns > * {
        min-height: 0%;
        max-width:100%
    }
}

@media (min-width: 768px) {
    .f-btns {
        margin-top:3.5rem
    }
}

.is-confirmed .f-btns {
    display:flex
}

@media (min-width: 768px) {
    .is-confirmed .f-btns {
        display:block
    }
}

.f-btns .f-btn {
    margin-top:0
}

@media (max-width: 767px) {
    .f-back-btn {
        margin-top:30px
    }
}

@media (min-width: 768px) {
    .f-back-btn {
        position: absolute;
        top: 50%;
        left: 0;
        transform:translateY(-50%)
    }
}

@media (min-width: 768px) {
    .p-form__container {
        padding-bottom:7rem
    }
}

.p-form__header {
    padding:20px 15px
}

@media (min-width: 768px) {
    .p-form__header {
        padding:2.25rem 3.13rem
    }
}

.is-confirmed .p-form__header {
    display:none
}

.p-form-status {
    position: relative;
    margin:35px 0
}

.p-form-status::before {
    position: absolute;
    content: "";
    background-color:#afafaf
}

@media (max-width: 767px) {
    .p-form-status::before {
        position: absolute;
        left: 5px;
        top: 6px;
        bottom: 6px;
        width:1px
    }
}

@media (min-width: 768px) {
    .p-form-status {
        display: flex;
        justify-content: space-between;
        width: 51.09%;
        margin: 5rem 0;
        padding-bottom:2.31rem
    }
}

@media (min-width: 768px) and(-ms-high-contrast: none) {
    .p-form-status {
        justify-content:flex-start
    }
}

@media (min-width: 768px) {
    .p-form-status::before {
        top: .69rem;
        left: .69rem;
        right: .69rem;
        height:1px
    }
}

.is-confirmed .p-form-status, .-thanks .p-form-status {
    margin-top:0
}

.p-form-status__item {
    position:relative
}

@media (max-width: 767px) {
    .p-form-status__item {
        display: flex;
        align-items:center
    }

    .p-form-status__item + .p-form-status__item {
        margin-top:10px
    }
}

@media (min-width: 768px) {
    .p-form-status__item {
        width: 1.38rem;
        height:1.38rem
    }
}

@media (min-width: 768px) and(-ms-high-contrast: none) {
    .p-form-status__item:not(:first-child) {
        margin-left:auto
    }
}

.p-form-status__item::before {
    content: "";
    background-color: #afafaf;
    border-radius:50%
}

@media (max-width: 767px) {
    .p-form-status__item::before {
        width: 12px;
        height: 12px;
        margin-right:.5em
    }
}

@media (min-width: 768px) {
    .p-form-status__item::before {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom:0
    }
}

.p-form-status__item span {
    color: #afafaf;
    font-weight: bold;
    font-size:12px
}

@media (min-width: 768px) {
    .p-form-status__item span {
        font-size: .88rem;
        line-height: 1.43;
        position: absolute;
        white-space: nowrap;
        top: calc(100% + 1.06rem);
        left: 50%;
        transform:translateX(-50%)
    }
}

.p-form-status__item.is-current::before {
    background-color:#36bce2
}

.p-form-status__item.is-current span {
    color:#36bce2
}

.p-form__privacy {
    margin-top: 1.5rem;
    margin-bottom:0
}

.p-thanks__contents {
    width:100%
}

.p-thanks__pics {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 490px;
    margin-top: 3.38rem;
    text-align:center
}

@media (min-width: 768px) {
    .p-thanks__pics {
        width:40.83%
    }
}

.p-thanks__pics img {
    width:26.33%
}

.p-thanks__txt {
    margin-top:2.5rem
}

.p-thanks__crest {
    position: absolute;
    z-index:-1
}

.p-thanks__crest2 {
    width: 24.29%;
    top: -2.13rem;
    right:7.55%
}

.p-thanks__crest5 {
    width: 23.27%;
    top: 4rem;
    left:0
}

.p-thanks__crest6 {
    width: 8.16%;
    bottom: -0.75rem;
    left:22.45%
}

.p-thanks__btn {
    margin-top:50px
}

@media (min-width: 768px) {
    .p-thanks__btn {
        margin-top:6.88rem
    }
}

.u-mt0 {
    margin-top:0 !important
}

.u-mt05em {
    margin-top:.5em !important
}

.u-mt1em {
    margin-top:1em !important
}

.u-mt15em {
    margin-top:1.5em !important
}

.u-mt2em {
    margin-top:2em !important
}

.u-mt25em {
    margin-top:2.5em !important
}

.u-mb1em {
    margin-bottom:1em !important
}

.u-mb2em {
    margin-bottom:2em !important
}

.u-ml1em {
    margin-left:1em !important
}

.u-ml15em {
    margin-left:1.5em !important
}

.u-ml2em {
    margin-left:2em !important
}

.u-pt2em {
    padding-top:2em !important
}

.u-pb2em {
    padding-bottom:2em !important
}

@media (min-width: 768px) {
    .u-pc-ml1em {
        margin-left:1em !important
    }
}

@media (min-width: 768px) {
    .u-pc-ml15em {
        margin-left:1.5em !important
    }
}

@media (min-width: 768px) {
    .u-pc-ml2em {
        margin-left:2em !important
    }
}

.u-center {
    text-align:center !important
}

.u-right {
    text-align:right !important
}

@media (min-width: 768px) {
    .u-pc-center {
        text-align:center !important
    }
}

.u-w100 {
    width:100% !important
}

@media (max-width: 767px) {
    .u-sp-100p {
        width:100% !important
    }
}

.u-as-start {
    align-self:flex-start
}

.u-ws-nowrap {
    white-space:nowrap
}

.svg-red {
    fill:#ec6d45
}

.svg-blue {
    fill:#00aedc
}

.svg-yellow {
    fill:#ffe100
}

.svg-gray {
    fill:#eeeee8
}

.-eng {
    font-family: "Karla", "Noto Sans JP", sans-serif
}

.u-red {
    color: #ea3636
}

.l-wrapper {
    background-color: #ffffff;
}

.p-top-news__pic {
    position: relative;
    padding-top: 64.83%;
    overflow: hidden;
    border-radius: 1.25rem;
    display: none;
}

.swiper-scrollbar-drag {
    display: none;
}

#js-swiper-prev {
    display: none;
}

#js-swiper-next {
    display: none;
}

