html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5
}

.activityList__text {
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.3
}

.-blank .activityList__text {
    position: relative;
    display: inline
}

.-blank .activityList__text::after {
    content: "";
    position: relative;
    top: -0.2em;
    right: -0.4em;
    font-family: "pwmi" !important;
    font-size: .8em
}

.activity_block a {
    font-size: 1.2rem;
    display: block;
    text-align: center;
    background-color: #1972d0;
    border-radius: 6px;
    color: #fff;
    padding: 2px;
    margin: 0 auto 6px;
    width: 90%;
}

.activity_block p {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 10px;
}

.activity_block {
    text-align: center;
    font-size: 1.4rem;
    margin-bottom: 10px;
}

@media screen and (min-width: 750px) {
    html {
        font-size: 10px
    }
}

@media screen and (max-width: 749px) {
    html {
        font-size: 2.66666vw
    }
}

body {
    width: 100%;
    overflow-x: hidden;
    background: #fff;
    font-family: "ヒラギノ角ゴ ProN", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    color: #333;
    letter-spacing: .05em
}

@media screen and (min-width: 750px) {
    body {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    body {
        font-size: 1.4rem
    }
}

main {
    display: block
}

li {
    list-style-type: none
}

a {
    text-decoration: none;
    color: inherit
}

@media screen and (min-width: 750px) {
    a {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    a::before,
    a::after {
        -webkit-transition: all .3s;
        transition: all .3s
    }
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto
}

svg {
    width: 100%;
    height: auto
}

sup {
    font-size: .5em;
    vertical-align: super
}

input,
button,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

address {
    font-style: normal
}

@media screen and (min-width: 1024px) {

    .visible-md,
    .visible-sm {
        display: none
    }

    .visible-lg {
        display: inherit
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {

    .visible-lg,
    .visible-sm {
        display: none
    }

    .visible-md {
        display: inherit
    }
}

@media screen and (max-width: 749px) {

    .visible-lg,
    .visible-md {
        display: none
    }

    .visible-sm {
        display: inherit
    }
}

.bg-blue {
    background: #eef1f3
}

.mt0 {
    margin-top: 0 !important
}

body.is-active {
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .l-main {
        padding-top: 14rem
    }
}

@media screen and (max-width: 1023px) {
    .l-main {
        padding-top: 5rem
    }
}

@media screen and (min-width: 750px) {
    .l-inner {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto
    }
}

@media screen and (max-width: 749px) {
    .l-inner {
        padding: 0 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .l-column {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .l-column {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto;
        padding: 6rem 0 8rem
    }
}

@media screen and (max-width: 749px) {
    .l-column {
        padding: 3rem 1.5rem 4rem
    }
}

@media screen and (min-width: 1024px) {
    .l-content {
        width: 69.0909090909%
    }
}

@media screen and (min-width: 1024px) {
    .l-side {
        width: 23.6363636364%
    }
}

@media screen and (max-width: 1023px) {
    .l-side {
        margin-top: 4rem
    }
}

@media screen and (min-width: 1024px) {
    .ham {
        display: none
    }
}

@media screen and (max-width: 1023px) {
    .ham {
        position: relative;
        background: #1972d0;
        width: 5rem;
        height: 5rem
    }

    .ham__item {
        position: absolute;
        height: 1px;
        background: #fff;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
        left: 1.5rem;
        width: 2rem
    }

    .ham__item:nth-child(1) {
        top: 2rem
    }

    .ham__item:nth-child(2) {
        top: 2.5rem
    }

    .ham__item:nth-child(3) {
        top: 3rem
    }

    .is-active .ham__item {
        top: 2.6rem
    }

    .is-active .ham__item:nth-child(1) {
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg)
    }

    .is-active .ham__item:nth-child(2) {
        opacity: 0
    }

    .is-active .ham__item:nth-child(3) {
        -webkit-transform: rotate(-225deg);
        transform: rotate(-225deg)
    }
}

.hd {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    border-bottom: 1px solid #dedede
}

@media screen and (min-width: 1024px) {
    .hd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-top: 4rem;
        -webkit-transition: all .5s;
        transition: all .5s
    }

    .hd.is-scrollUp {
        top: 0
    }

    .hd.is-scrollDown {
        top: -14rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__head {
        width: 25%;
        max-width: 31.6rem;
        margin: 0 3rem
    }
}

@media screen and (max-width: 1023px) {
    .hd__head {
        position: relative;
        z-index: 10;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        height: 5rem;
        padding-left: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__foot {
        width: calc(100% - 37rem)
    }
}

@media screen and (max-width: 1023px) {
    .hd__foot {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        width: 100%;
        height: 100vh;
        background: #fff;
        padding-top: 5rem;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s;
        transition: all .3s;
        overflow-y: scroll
    }

    .is-active .hd__foot {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (min-width: 1024px) {
    .hdLogo {
        width: 100%
    }
}

@media screen and (max-width: 1023px) {
    .hdLogo {
        width: 23rem;
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .is-active .hdLogo {
        opacity: 0
    }
}

.hdLogo__item {
    display: block;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__head {
        width: 100%
    }
}

@media screen and (min-width: 1024px) {
    .gnav__foot {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 1023px) {
    .gnav__foot {
        background: #eef1f3;
        padding: 4rem 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .gnav__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__item {
        position: relative;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        max-width: 20rem;
        min-width: 14rem;
        border-left: 1px solid #dedede
    }
}

@media screen and (max-width: 1023px) {
    .gnav__item {
        border-top: 1px solid #dedede
    }
}

.gnav__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnav__anc {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 10rem;
        padding: 0 .5em;
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem);
        text-align: center
    }

    .gnav__anc:hover {
        background: rgba(25, 114, 208, .2)
    }

    .is-show .gnav__anc {
        background: rgba(25, 114, 208, .2)
    }
}

@media screen and (max-width: 1023px) {
    .gnav__anc {
        position: relative;
        padding: 1em 2rem
    }

    .gnav__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important
    }

    .gnav__anc.-tab::after {
        content: "";
        right: 1.3em
    }

    .gnav__anc.-tab.is-show::after {
        content: ""
    }

    .gnav__anc:not(.-tab)::after {
        content: "";
        font-size: 1.2em
    }
}

.gnav__anc .-icon {
    color: #1972d0;
    font-size: 2.3333333333em
}

@media screen and (max-width: 1023px) {
    .gnav__anc .-icon {
        margin-right: .5em
    }
}

.gnav__anc .-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 2.7em;
    line-height: 1.3
}

.gnav__anc .-inner {
    display: inline-block;
    line-height: 1.3
}

.gnav__anc .-mass {
    display: inline-block;
    line-height: 1.3
}

@media screen and (min-width: 1024px) {
    .gnavChild {
        position: fixed;
        visibility: hidden;
        opacity: 0;
        top: 14rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100vw;
        -webkit-transition: all .3s;
        transition: all .3s;
        background: #fff
    }

    .is-show .gnavChild {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild {
        display: none
    }
}

.gnavChild__list {
    background: rgba(25, 114, 208, .2)
}

@media screen and (min-width: 1024px) {
    .gnavChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 2em
    }
}

@media screen and (min-width: 1024px) {
    .gnavChild__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 1em
    }

    .gnavChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__item+.gnavChild__item {
        border-top: 1px dashed #fff
    }
}

.gnavChild__anc {
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavChild__anc {
        font-size: clamp(1rem, 1.0769230769vw, 1.4rem)
    }

    .gnavChild__anc:hover {
        color: #1972d0
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .gnavChild__anc::before {
        content: "-";
        margin-right: 1em
    }

    .gnavChild__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.gnavSub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .gnavSub {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 2rem
    }
}

.gnavSub__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 1em
}

.gnavSub__item::before {
    content: "";
    font-family: "pwmi" !important
}

.gnavSub__btn {
    font-size: 1.3rem;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnavSub__btn:hover {
        text-decoration: underline
    }
}

.gnavLang {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .gnavLang {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.gnavLang__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    font-size: 1.3rem;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc:hover {
        background: #2b87de
    }
}

.gnavLang__anc.is-active {
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc.is-active {
        background: #2b87de;
        color: rgba(255, 255, 255, .5)
    }
}

@media screen and (max-width: 1023px) {
    .gnavLang__anc.is-active {
        opacity: .5
    }
}

.side__block {
    background: #fff
}

@media screen and (max-width: 749px) {
    .side__block.pc {
        display: none
    }
}

@media screen and (min-width: 750px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

.side__term {
    padding: .7em 1em;
    color: #fff;
    font-weight: bold;
    background: #1972d0
}

.sideList__item+.sideList__item {
    border-top: 1px solid #dedede
}

.sideList__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 7rem;
    padding: .5em 2.5em .5em .5em;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .sideList__anc {
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem)
    }

    .sideList__anc:hover {
        background: rgba(25, 114, 208, .2)
    }
}

.sideList__anc .-img {
    width: 4.5rem;
    min-width: 4.5rem
}

.sideList__anc .-text {
    margin-left: .5em
}

.sideList__anc::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: 1.4em
}

.sideList__anc.-blank {
    content: ""
}

.sideList__20hatena {
    display: block;
    text-align: center
}

@media screen and (min-width: 750px) {
    .sideList__20hatena .sideList__img {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .sideList__20hatena:hover {
        background: #1972d0
    }

    .sideList__20hatena:hover .sideList__img {
        opacity: .8
    }
}

.bnr {
    background: #0d1931;
    padding: 4rem 0
}

.bnr__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 749px) {
    .bnr__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .bnr__item {
        width: 23.6363636364%
    }

    .bnr__item:not(:nth-child(4n)) {
        margin-right: 1.8181818182%
    }

    .bnr__item:nth-child(n+5) {
        margin-top: 2rem
    }
}

@media screen and (max-width: 749px) {
    .bnr__item {
        width: 48.5%
    }

    .bnr__item:nth-child(n+3) {
        margin-top: 1rem
    }
}

.bnr__anc {
    display: block
}

@media screen and (min-width: 750px) {
    .bnr__anc:hover {
        opacity: .6
    }
}

.ft {
    z-index: 555
}

@media screen and (min-width: 1024px) {
    .ft__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .ft__head {
        padding: 6rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__head .ft__inner {
        padding: 0
    }
}

.ft__foot {
    border-top: 1px solid #fff;
    background: #1972d0;
    color: #fff
}

@media screen and (min-width: 750px) {
    .ft__foot {
        padding: 4rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__foot {
        padding: 3rem 0
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__list {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap__list {
        min-width: 30%;
        margin-right: 3.33333%
    }

    .ftSitemap__list:nth-child(n+4) {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__item {
        border-top: 1px solid #dedede
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__item+.ftSitemap__item {
        margin-top: 1em
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc {
        font-size: clamp(1.3rem, 1.1538461538vw, 1.5rem);
        font-weight: bold
    }

    .ftSitemap__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem;
        font-weight: bold
    }

    .ftSitemap__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.ftSitemap__anc.-blank {
    position: relative
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank {
        padding-right: 1em
    }
}

.ftSitemap__anc.-blank::after {
    position: absolute;
    content: "";
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: .8em;
    line-height: 1
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank::after {
        top: 0;
        right: 0
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc.-blank::after {
        top: 50%;
        right: 1.8em
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__item {
        margin-top: .5em;
        color: #888
    }

    .ftSitemapChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__item {
        width: 50%;
        border: 1px dashed #dedede;
        margin-bottom: -1px
    }

    .ftSitemapChild__item:nth-child(2n) {
        width: calc(50% + 1px);
        margin-left: -1px
    }
}

.ftSitemapChild__anc {
    font-size: 1.2rem
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__anc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .ftSitemapChild__anc::before {
        content: "-";
        margin-right: .5em
    }
}

.ftsubNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .ftsubNav {
        margin-bottom: 1em;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.ftsubNav__item {
    font-size: 1.2rem
}

.ftsubNav__item+.ftsubNav__item {
    margin-left: 2em
}

@media screen and (min-width: 750px) {
    .ftsubNav__anc:hover {
        text-decoration: underline
    }
}

.ft__copy {
    font-size: 1rem
}

@media screen and (max-width: 1023px) {
    .ft__copy {
        text-align: center
    }
}

.ft__pagetop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.4em;
    -webkit-transition: all .3s;
    transition: all .3s
}

.ft__pagetop::before {
    content: "";
    font-family: "pwmi" !important
}

@media screen and (min-width: 750px) {
    .ft__pagetop {
        position: fixed;
        width: 5rem;
        height: 5rem;
        bottom: 2rem;
        right: 2rem;
        background: #fff;
        -webkit-box-shadow: 0 0 .5em #dedede;
        box-shadow: 0 0 .5em #dedede;
        color: #1972d0;
        border-radius: 5px
    }

    .ft__pagetop:hover {
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .ft__pagetop {
        width: 100%;
        height: 4rem;
        background: #1972d0;
        color: #fff
    }
}

.articleBtn {
    position: relative;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .articleBtn {
        padding-left: 1.6em;
        font-size: 1.3rem
    }

    .articleBtn:hover {
        color: #1972d0
    }
}

@media screen and (max-width: 749px) {
    .articleBtn {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        min-height: 4.8rem;
        border: 2px solid #1972d0;
        border-radius: 10rem;
        background: #1972d0;
        color: #fff;
        font-weight: bold
    }
}

.articleBtn::after {
    content: "";
    font-family: "pwmi" !important;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

@media screen and (min-width: 750px) {
    .articleBtn::after {
        left: 0;
        width: 1.4rem;
        height: 1.4rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        background: #1972d0;
        border-radius: 50%;
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .articleBtn::after {
        right: .5em;
        font-size: 1.4em
    }
}

.articleFlat__item {
    background: #fff
}

.articleFlat__item+.articleFlat__item {
    margin-top: .4rem
}

.articleFlat__anc {
    display: block;
    padding: 1em 1.5em
}

@media screen and (min-width: 750px) {
    .articleFlat__anc:hover {
        background: rgba(25, 114, 208, .2)
    }
}

.articleFlat__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: .5em
}

.articleFlat__date {
    margin-right: 1em;
    color: #888;
    font-size: 1.2rem
}

.articleFlat__new {
    margin-right: 1em;
    padding: 0 .7em;
    background: #bf4f3c;
    color: #fff;
    font-size: 1.2rem
}

.articleFlat__category {
    color: #888;
    font-size: 1.2rem
}

.articleFlat__title {
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .articleFlat__title {
        font-size: 1.4rem
    }
}

.hero {
    position: relative;
    margin: 0 auto
}

.hero .slick-dotted.slick-slider {
    margin: 0
}

.hero .slick-dots {
    bottom: 1em
}

.hero .slick-dots li {
    margin: 0
}

.hero .slick-dots li button:before {
    opacity: 1;
    color: #fff
}

.hero .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #1972d0
}

.hero__body {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%)
}

.heroSlider__img {
    -o-object-fit: cover;
    object-fit: cover
}

@media screen and (min-width: 750px) {
    .heroSlider__img {
        height: 31.4285714286vw;
        max-height: 440px
    }
}

@media screen and (max-width: 749px) {
    .heroSlider__img {
        height: 100vw
    }
}

@media screen and (min-width: 750px) {
    .hero__heading {
        font-size: 3.8rem
    }
}

@media screen and (max-width: 749px) {
    .hero__heading {
        font-size: 3rem
    }
}

.hero__heading .-line {
    display: inline-block;
    margin: .15em 0;
    padding: 0 0 0 .5em;
    background: #fff
}

.hero__heading .-blue {
    color: #1972d0
}

@media screen and (min-width: 750px) {
    .sec+.sec {
        margin-top: 6rem
    }
}

@media screen and (max-width: 749px) {
    .sec+.sec {
        margin-top: 4rem
    }
}

.sec__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (min-width: 750px) {
    .sec__heading {
        margin-bottom: 3rem;
        font-size: 2.8rem
    }
}

@media screen and (max-width: 749px) {
    .sec__heading {
        margin-bottom: 2rem;
        font-size: 2.4rem
    }
}

.sec__heading .-icon {
    margin-right: 1rem;
    color: #1972d0;
    font-size: 1.4285714286em
}

.news {
    position: relative
}

@media screen and (max-width: 749px) {
    .news {
        padding-top: 1rem
    }
}

@media screen and (min-width: 750px) {
    .news__foot {
        position: absolute;
        top: 1rem;
        right: 0
    }
}

@media screen and (max-width: 749px) {
    .news__foot {
        width: 90%;
        margin: 3rem auto 0
    }
}

@media screen and (min-width: 750px) {
    .news__heading {
        padding-right: 10rem
    }
}

.about {
    background: linear-gradient(-45deg, #35BAEA, #1B8EF0);
    color: #fff
}

@media screen and (min-width: 750px) {
    .about {
        padding: 4rem
    }
}

@media screen and (max-width: 749px) {
    .about {
        width: 100vw;
        margin-left: -1.5rem;
        padding: 4rem 1.5rem
    }
}

.about__heading {
    margin-bottom: 1em;
    text-align: center
}

@media screen and (min-width: 750px) {
    .about__heading {
        font-size: 2.8rem
    }
}

@media screen and (max-width: 749px) {
    .about__heading {
        font-size: 2.4rem
    }
}

.about__heading .-inner {
    display: inline-block;
    position: relative;
    padding: 0 1em
}

.about__heading .-inner::before,
.about__heading .-inner::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4px;
    height: calc(100% - 1rem);
    background: #fff
}

.about__heading .-inner::before {
    left: 0
}

.about__heading .-inner::after {
    right: 0
}

.about__text {
    margin-bottom: 2em;
    line-height: 1.8
}

@media screen and (min-width: 750px) {
    .aboutList {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width: 749px) {
    .aboutList {
        padding: 0 5%
    }
}

@media screen and (min-width: 750px) {
    .aboutList__item {
        width: 48.5%
    }
}

@media screen and (max-width: 749px) {
    .aboutList__item+.aboutList__item {
        margin-top: 1rem
    }
}

.aboutList__btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 4.8rem;
    border: 2px solid #fff;
    border-radius: 10rem;
    background: #fff;
    color: #333;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .aboutList__btn:hover {
        background: none;
        color: #fff
    }

    .aboutList__btn:hover .-icon {
        color: #fff
    }

    .aboutList__btn:hover::after {
        color: #fff
    }
}

.aboutList__btn .-icon {
    margin-right: .5em;
    color: #1972d0;
    font-size: 1.4em
}

.aboutList__btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: 1.4em
}

@media screen and (min-width: 750px) {
    .activityBlock+.activityBlock {
        margin-top: 6rem
    }
}

@media screen and (max-width: 749px) {
    .activityBlock+.activityBlock {
        margin-top: 4rem
    }
}

.activityBlock__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .5em 1em;
    color: #fff;
    background: #1972d0
}

@media screen and (min-width: 750px) {
    .activityBlock__heading {
        margin-bottom: 3rem;
        font-size: 2rem
    }
}

@media screen and (max-width: 749px) {
    .activityBlock__heading {
        margin-bottom: 2rem
    }
}

.activityBlock__heading .-icon {
    margin-right: .3em;
    font-size: 1.5em
}

.activityList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.activityList.bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 0px;
}

@media screen and (min-width: 750px) {
    .activityList.-lg {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (max-width: 749px) {
    .activityList {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .activityList+.activityList {
        margin-top: 2rem
    }
}

@media screen and (max-width: 749px) {
    .activityList+.activityList {
        margin-top: 1rem
    }
}

.activityList__item {
    background: #fff
}

@media screen and (min-width: 750px) {
    .-lg .activityList__item {
        width: 48.5%
    }

    .-lg .activityList__item:nth-child(n+3) {
        margin-top: 2rem
    }
}

@media screen and (min-width: 750px) {
    .-md .activityList__item {
        width: 32.2368421053%
    }

    .-md .activityList__item:not(:nth-child(3n)) {
        margin-right: 1.6447368421%
    }

    .-md .activityList__item:nth-child(n+4) {
        margin-top: 2rem
    }
}

@media screen and (min-width: 750px) {
    .-sm .activityList__item {
        width: 23.6842105263%
    }

    .-sm .activityList__item:not(:nth-child(4n)) {
        margin-right: 1.7543859649%
    }

    .-sm .activityList__item:nth-child(n+5) {
        margin-top: 2rem
    }
}

@media screen and (max-width: 749px) {
    .activityList__item {
        width: 48.5%
    }

    .activityList__item:nth-child(n+3) {
        margin-top: 1rem
    }
}

.activityList__anc {
    position: relative;
    display: block;
}

@media screen and (min-width: 750px) {
    .activityList__anc .activityList__img {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .activityList__anc:hover {
        background: rgba(25, 114, 208, .2)
    }

    .activityList__anc:hover .activityList__img {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }
}

@media screen and (min-width: 750px) {
    .activityList__head {
        overflow: hidden;
        height: 180px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
}

.activityList__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: .5em .7em
}

@media screen and (min-width: 750px) {
    .activityList__body {
        min-height: 7rem
    }
}

@media screen and (max-width: 749px) {
    .activityList__body {
        height: calc(100% - 7rem);
        min-height: 6rem
    }
}

.activityList__img {
    -o-object-fit: cover;
    max-width: 220px;
}



@media screen and (max-width: 749px) {

    .activityList__head {
        overflow: hidden;
        height: 180px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .activityList__img {
        object-fit: cover;
        max-width: 94%;
        margin: 0 3%;
    }

    .activity_block p {
        text-align: center;
        font-size: 1.2rem;
        margin-bottom: 16px;
    }

    .activity_block a {
        font-size: 1rem;
        display: block;
        text-align: center;
        background-color: #1972d0;
        border-radius: 6px;
        color: #fff;
        padding: 2px;
        margin: 0 auto 12px;
        width: 90%;
    }
}

@media screen and (min-width: 750px) {
    .-lg .activityList__img {
        height: 10rem
    }
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    vertical-align: baseline;
    background: rgba(0, 0, 0, 0)
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.5
}

@media screen and (min-width: 750px) {
    html {
        font-size: 10px
    }

    .twoline,
    .twoline_spnone {
        height: 36.38px;
    }

    .pc_none {
        display: none;
    }
}

@media screen and (max-width: 749px) {
    html {
        font-size: 2.66666vw
    }

    .twoline {
        height: 3.1rem;
    }

    .pc_none {
        display: block;
    }
}

body {
    width: 100%;
    overflow-x: hidden;
    background: #fff;
    font-family: "ヒラギノ角ゴ ProN", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    color: #333;
    letter-spacing: .05em
}

@media screen and (min-width: 750px) {
    body {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    body {
        font-size: 1.4rem
    }
       .twoline,
    .twoline_spnone {
        height: 3.29rem;
    }
}

main {
    display: block
}

li {
    list-style-type: none
}

a {
    text-decoration: none;
    color: inherit
}

@media screen and (min-width: 750px) {
    a {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    a::before,
    a::after {
        -webkit-transition: all .3s;
        transition: all .3s
    }
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto
}

svg {
    width: 100%;
    height: auto
}

sup {
    font-size: .5em;
    vertical-align: super
}

input,
button,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

address {
    font-style: normal
}

@media screen and (min-width: 1024px) {

    .visible-md,
    .visible-sm {
        display: none
    }

    .visible-lg {
        display: inherit
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {

    .visible-lg,
    .visible-sm {
        display: none
    }

    .visible-md {
        display: inherit
    }
}

@media screen and (max-width: 749px) {

    .visible-lg,
    .visible-md {
        display: none
    }

    .visible-sm {
        display: inherit
    }
}

.bg-blue {
    background: #eef1f3
}

.mt0 {
    margin-top: 0 !important
}

body.is-active {
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .l-main {
        padding-top: 14rem
    }
}

@media screen and (max-width: 1023px) {
    .l-main {
        padding-top: 5rem
    }
}

@media screen and (min-width: 750px) {
    .l-inner {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto
    }
}

@media screen and (max-width: 749px) {
    .l-inner {
        padding: 0 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .l-column {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .l-column {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto;
        padding: 6rem 0 8rem
    }
}

@media screen and (max-width: 749px) {
    .l-column {
        padding: 3rem 1.5rem 4rem
    }
}

@media screen and (min-width: 1024px) {
    .l-content {
        width: 69.0909090909%
    }
}

@media screen and (min-width: 1024px) {
    .l-side {
        width: 23.6363636364%
    }
}

@media screen and (max-width: 1023px) {
    .l-side {
        margin-top: 4rem
    }
}

@media screen and (min-width: 1024px) {
    .ham {
        display: none
    }
}

@media screen and (max-width: 1023px) {
    .ham {
        position: relative;
        background: #1972d0;
        width: 5rem;
        height: 5rem
    }

    .ham__item {
        position: absolute;
        height: 1px;
        background: #fff;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
        left: 1.5rem;
        width: 2rem
    }

    .ham__item:nth-child(1) {
        top: 2rem
    }

    .ham__item:nth-child(2) {
        top: 2.5rem
    }

    .ham__item:nth-child(3) {
        top: 3rem
    }

    .is-active .ham__item {
        top: 2.6rem
    }

    .is-active .ham__item:nth-child(1) {
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg)
    }

    .is-active .ham__item:nth-child(2) {
        opacity: 0
    }

    .is-active .ham__item:nth-child(3) {
        -webkit-transform: rotate(-225deg);
        transform: rotate(-225deg)
    }
}

.hd {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    border-bottom: 1px solid #dedede
}

@media screen and (min-width: 1024px) {
    .hd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-top: 4rem;
        -webkit-transition: all .5s;
        transition: all .5s
    }

    .hd.is-scrollUp {
        top: 0
    }

    .hd.is-scrollDown {
        top: -14rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__head {
        width: 25%;
        max-width: 31.6rem;
        margin: 0 3rem
    }
}

@media screen and (max-width: 1023px) {
    .hd__head {
        position: relative;
        z-index: 10;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        height: 5rem;
        padding-left: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__foot {
        width: calc(100% - 37rem)
    }
}

@media screen and (max-width: 1023px) {
    .hd__foot {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        width: 100%;
        height: 100vh;
        background: #fff;
        padding-top: 5rem;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s;
        transition: all .3s;
        overflow-y: scroll
    }

    .is-active .hd__foot {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (min-width: 1024px) {
    .hdLogo {
        width: 100%
    }
}

@media screen and (max-width: 1023px) {
    .hdLogo {
        width: 23rem;
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .is-active .hdLogo {
        opacity: 0
    }
}

.hdLogo__item {
    display: block;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__head {
        width: 100%
    }
}

@media screen and (min-width: 1024px) {
    .gnav__foot {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 1023px) {
    .gnav__foot {
        background: #eef1f3;
        padding: 4rem 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .gnav__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__item {
        position: relative;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        max-width: 20rem;
        min-width: 14rem;
        border-left: 1px solid #dedede
    }
}

@media screen and (max-width: 1023px) {
    .gnav__item {
        border-top: 1px solid #dedede
    }
}

.gnav__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnav__anc {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 10rem;
        padding: 0 .5em;
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem);
        text-align: center
    }

    .gnav__anc:hover {
        background: rgba(25, 114, 208, .2)
    }

    .is-show .gnav__anc {
        background: rgba(25, 114, 208, .2)
    }
}

@media screen and (max-width: 1023px) {
    .gnav__anc {
        position: relative;
        padding: 1em 2rem
    }

    .gnav__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important
    }

    .gnav__anc.-tab::after {
        content: "";
        right: 1.3em
    }

    .gnav__anc.-tab.is-show::after {
        content: ""
    }

    .gnav__anc:not(.-tab)::after {
        content: "";
        font-size: 1.2em
    }
}

.gnav__anc .-icon {
    color: #1972d0;
    font-size: 2.3333333333em
}

@media screen and (max-width: 1023px) {
    .gnav__anc .-icon {
        margin-right: .5em
    }
}

.gnav__anc .-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 2.7em;
    line-height: 1.3
}

.gnav__anc .-inner {
    display: inline-block;
    line-height: 1.3
}

.gnav__anc .-mass {
    display: inline-block;
    line-height: 1.3
}

@media screen and (min-width: 1024px) {
    .gnavChild {
        position: fixed;
        visibility: hidden;
        opacity: 0;
        top: 14rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100vw;
        -webkit-transition: all .3s;
        transition: all .3s;
        background: #fff
    }

    .is-show .gnavChild {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild {
        display: none
    }
}

.gnavChild__list {
    background: rgba(25, 114, 208, .2)
}

@media screen and (min-width: 1024px) {
    .gnavChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 2em
    }
}

@media screen and (min-width: 1024px) {
    .gnavChild__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 1em
    }

    .gnavChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__item+.gnavChild__item {
        border-top: 1px dashed #fff
    }
}

.gnavChild__anc {
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavChild__anc {
        font-size: clamp(1rem, 1.0769230769vw, 1.4rem)
    }

    .gnavChild__anc:hover {
        color: #1972d0
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .gnavChild__anc::before {
        content: "-";
        margin-right: 1em
    }

    .gnavChild__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.gnavSub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .gnavSub {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 2rem
    }
}

.gnavSub__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 1em
}

.gnavSub__item::before {
    content: "";
    font-family: "pwmi" !important
}

.gnavSub__btn {
    font-size: 1.3rem;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnavSub__btn:hover {
        text-decoration: underline
    }
}

.gnavLang {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .gnavLang {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.gnavLang__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    font-size: 1.3rem;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc:hover {
        background: #2b87de
    }
}

.gnavLang__anc.is-active {
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc.is-active {
        background: #2b87de;
        color: rgba(255, 255, 255, .5)
    }
}

@media screen and (max-width: 1023px) {
    .gnavLang__anc.is-active {
        opacity: .5
    }
}

.side__block {
    background: #fff
}

@media screen and (max-width: 749px) {
    .side__block.pc {
        display: none
    }
}

@media screen and (min-width: 750px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

.side__term {
    padding: .7em 1em;
    color: #fff;
    font-weight: bold;
    background: #1972d0
}

.sideList__item+.sideList__item {
    border-top: 1px solid #dedede
}

.sideList__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 7rem;
    padding: .5em 2.5em .5em .5em;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .sideList__anc {
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem)
    }

    .sideList__anc:hover {
        background: rgba(25, 114, 208, .2)
    }
}

.sideList__anc .-img {
    width: 4.5rem;
    min-width: 4.5rem
}

.sideList__anc .-text {
    margin-left: .5em
}

.sideList__anc::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: 1.4em
}

.sideList__anc.-blank {
    content: ""
}

.sideList__20hatena {
    display: block;
    text-align: center
}

@media screen and (min-width: 750px) {
    .sideList__20hatena .sideList__img {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .sideList__20hatena:hover {
        background: #1972d0
    }

    .sideList__20hatena:hover .sideList__img {
        opacity: .8
    }
}

.bnr {
    background: #0d1931;
    padding: 4rem 0
}

.bnr__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 749px) {
    .bnr__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .bnr__item {
        width: 23.6363636364%
    }

    .bnr__item:not(:nth-child(4n)) {
        margin-right: 1.8181818182%
    }

    .bnr__item:nth-child(n+5) {
        margin-top: 2rem
    }
}

@media screen and (max-width: 749px) {
    .bnr__item {
        width: 48.5%
    }

    .bnr__item:nth-child(n+3) {
        margin-top: 1rem
    }
}

.bnr__anc {
    display: block
}

@media screen and (min-width: 750px) {
    .bnr__anc:hover {
        opacity: .6
    }
}

.ft {
    z-index: 555
}

@media screen and (min-width: 1024px) {
    .ft__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .ft__head {
        padding: 6rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__head .ft__inner {
        padding: 0
    }
}

.ft__foot {
    border-top: 1px solid #fff;
    background: #1972d0;
    color: #fff
}

@media screen and (min-width: 750px) {
    .ft__foot {
        padding: 4rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__foot {
        padding: 3rem 0
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__list {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap__list {
        min-width: 30%;
        margin-right: 3.33333%
    }

    .ftSitemap__list:nth-child(n+4) {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__item {
        border-top: 1px solid #dedede
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__item+.ftSitemap__item {
        margin-top: 1em
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc {
        font-size: clamp(1.3rem, 1.1538461538vw, 1.5rem);
        font-weight: bold
    }

    .ftSitemap__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem;
        font-weight: bold
    }

    .ftSitemap__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.ftSitemap__anc.-blank {
    position: relative
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank {
        padding-right: 1em
    }
}

.ftSitemap__anc.-blank::after {
    position: absolute;
    content: "";
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: .8em;
    line-height: 1
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank::after {
        top: 0;
        right: 0
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc.-blank::after {
        top: 50%;
        right: 1.8em
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__item {
        margin-top: .5em;
        color: #888
    }

    .ftSitemapChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__item {
        width: 50%;
        border: 1px dashed #dedede;
        margin-bottom: -1px
    }

    .ftSitemapChild__item:nth-child(2n) {
        width: calc(50% + 1px);
        margin-left: -1px
    }
}

.ftSitemapChild__anc {
    font-size: 1.2rem
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__anc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .ftSitemapChild__anc::before {
        content: "-";
        margin-right: .5em
    }
}

.ftsubNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .ftsubNav {
        margin-bottom: 1em;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.ftsubNav__item {
    font-size: 1.2rem
}

.ftsubNav__item+.ftsubNav__item {
    margin-left: 2em
}

@media screen and (min-width: 750px) {
    .ftsubNav__anc:hover {
        text-decoration: underline
    }
}

.ft__copy {
    font-size: 1rem
}

@media screen and (max-width: 1023px) {
    .ft__copy {
        text-align: center
    }
}

.ft__pagetop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.4em;
    -webkit-transition: all .3s;
    transition: all .3s
}

.ft__pagetop::before {
    content: "";
    font-family: "pwmi" !important
}

@media screen and (min-width: 750px) {
    .ft__pagetop {
        position: fixed;
        width: 5rem;
        height: 5rem;
        bottom: 2rem;
        right: 2rem;
        background: #fff;
        -webkit-box-shadow: 0 0 .5em #dedede;
        box-shadow: 0 0 .5em #dedede;
        color: #1972d0;
        border-radius: 5px
    }

    .ft__pagetop:hover {
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .ft__pagetop {
        width: 100%;
        height: 4rem;
        background: #1972d0;
        color: #fff
    }
}

.hero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background: -webkit-gradient(linear, left top, right top, from(#35BAEA), to(#1B8EF0));
    background: linear-gradient(to right, #35BAEA, #1B8EF0)
}

@media screen and (min-width: 750px) {
    .hero {
        min-height: 18rem;
        padding: 2rem;
        font-size: 3.8rem
    }
}

@media screen and (max-width: 749px) {
    .hero {
        min-height: 15rem;
        padding: 2rem 1.5rem;
        font-size: 3rem
    }
}

.hero__parent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .4736842105em
}

.hero__parent::before {
    content: "";
    display: block;
    width: 1em;
    height: 1px;
    background: #fff;
    margin-right: .5em
}

.hero__heading {
    font-size: 1em;
    font-weight: bold
}

.breadcrumb {
    overflow-x: scroll;
    scrollbar-width: none;
    padding: 1.2em 0;
    background: #fff
}

.breadcrumb::-webkit-scrollbar {
    display: none
}

.breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .75em
}

.breadcrumb__item {
    color: #888;
    letter-spacing: .05em;
    white-space: nowrap;
    line-height: 1
}

.breadcrumb__item+.breadcrumb__item:before {
    content: "";
    margin: 0 .5rem;
    color: #888;
    font-family: "pwmi" !important
}

.breadcrumb__anc {
    color: #333;
    line-height: 1
}

@media screen and (min-width: 750px) {
    .breadcrumb__anc:hover {
        text-decoration: underline
    }
}

.pageNav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 749px) {
    .pageNav__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.pageNav__item {
    border-bottom: 1px solid #1972d0;
    border-right: 1px solid #1972d0
}

@media screen and (min-width: 750px) {
    .pageNav__item {
        width: 33.333333%
    }

    .pageNav__item:nth-child(1),
    .pageNav__item:nth-child(4n) {
        border-left: 1px solid #1972d0
    }

    .pageNav__item:not(:nth-child(n+4)) {
        border-top: 1px solid #1972d0
    }
}

@media screen and (max-width: 749px) {
    .pageNav__item {
        width: 50%
    }

    .pageNav__item:nth-child(1),
    .pageNav__item:nth-child(3n) {
        border-left: 1px solid #1972d0
    }

    .pageNav__item:not(:nth-child(n+3)) {
        border-top: 1px solid #1972d0
    }
}

.pageNav__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    font-weight: bold;
    text-align: center;
    padding: .5rem 1rem
}

@media screen and (min-width: 750px) {
    .pageNav__btn {
        height: 9rem;
        font-size: 1.6rem
    }

    .pageNav__btn:hover {
        background: #fff
    }
}

@media screen and (max-width: 749px) {
    .pageNav__btn {
        height: 7rem;
        font-size: 1.3rem
    }
}

.pageNav__icon {
    color: #1972d0;
    font-size: 1.4em
}

@media screen and (min-width: 750px) {
    .sec:not(:last-child) {
        padding: 6.5rem 0 0
    }
}

@media screen and (max-width: 749px) {
    .sec:not(:last-child) {
        padding: 3rem 0 0
    }
}



.sec__heading {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #1972d0
}

@media screen and (min-width: 750px) {
    .sec__heading {
        margin-bottom: 2.1rem;
        font-size: 2rem
    }
}

@media screen and (max-width: 749px) {
    .sec__heading {
        margin-bottom: 2rem;
        font-size: 1.8rem
    }
}

.faqItem {
    background-color: #fff
}

@media screen and (min-width: 750px) {
    .faqItem {
        padding: 1.6rem 2.4rem
    }
}

@media screen and (max-width: 749px) {
    .faqItem {
        padding: 1rem 1.5rem
    }
}

@media screen and (min-width: 750px) {
    .faqItem+.faqItem {
        margin-top: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    .faqItem+.faqItem {
        margin-top: 1rem
    }
}

.faqItem__Qbox {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    cursor: pointer
}

.faqItem__Abox {
    background-color: #f9f8e0;
    display: none
}

.faqItem__Abox.-active {
    display: block;
    margin: 1.5rem 0 .8rem
}

@media screen and (min-width: 750px) {
    .faqItem__Abox.-active {
        padding: 1px 3.2rem
    }
}

@media screen and (max-width: 749px) {
    .faqItem__Abox.-active {
        padding: 1px 1.5rem
    }
}

.faqItem__Q {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    width: 100%;
    font-weight: bold
}

.faqItem__Q::before {
    content: "Q";
    font-weight: bold;
    color: #fff;
    background-color: #1972d0;
    text-align: center;
    border-radius: 50%
}

@media screen and (min-width: 750px) {
    .faqItem__Q::before {
        width: 3.2rem;
        min-width: 3.2rem;
        height: 3.2rem;
        line-height: 3.2rem;
        font-size: 1.6rem;
        margin-right: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    .faqItem__Q::before {
        width: 2.4rem;
        height: 2.4rem;
        min-width: 2.4rem;
        line-height: 2.4rem;
        font-size: 1.4rem;
        margin-right: 1.2rem
    }
}

.faqItem__Qbtn {
    position: relative;
    margin-left: auto;
    color: #1972d0;
    font-size: 1.6em
}

@media screen and (min-width: 750px) {
    .faqItem__Qbtn {
        margin-right: -1em
    }
}

@media screen and (max-width: 749px) {
    .faqItem__Qbtn {
        margin-right: -0.5em
    }
}

.faqItem__Qbtn::before {
    display: block
}

@media screen and (min-width: 750px) {
    .faqItem__Qbtn::before {
        margin: 0 1em
    }
}

@media screen and (max-width: 749px) {
    .faqItem__Qbtn::before {
        margin: 0 .5em
    }
}

.faqItem__Qbtn.-active::before {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}

.faqItem__A {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 3.2em;
    padding: .5em 2em;
    border-radius: 10rem;
    background: #1972d0;
    color: #fff;
    font-weight: bold;
    -webkit-box-shadow: 0 0 1rem #dedede;
    box-shadow: 0 0 1rem #dedede
}

@media screen and (min-width: 750px) {
    .btn:hover {
        background: #fff;
        color: #1972d0
    }
}

@media screen and (min-width: 750px) {
    .btn.-sm {
        font-size: 1.4rem
    }
}

.btn::after {
    content: "";
    font-family: "pwmi" !important;
    position: absolute;
    top: 50%;
    right: .5em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    font-size: 1.4em
}

.btn.-blank::after {
    content: "";
    font-size: 1em
}

.btn.-pdf::after {
    content: "";
    font-size: 1em
}

.btn.-excel::after {
    content: "";
    font-size: 1em;
    right: 1em
}

.btn.-download::after {
    content: "";
    font-size: 1em
}

[class*=component-] {
    font-size: 1em;
    line-height: 1.8;
    margin: 1.5em auto
}

@media screen and (min-width: 750px) {
    [class*=component-].-md {
        width: 75%
    }

    [class*=component-].-sm {
        width: 48.829%
    }
}

[class*=component-] * {
    line-height: 1.8
}

[class*=componentheading-] {
    margin: 3.33333em 0 1.5em
}

[class*=componentheading-]+[class*=componentheading-] {
    margin: 1.875em auto
}

@media screen and (min-width: 750px) {
    .row {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .row.-rev {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}

@media screen and (min-width: 750px) {
    .col-lg {
        width: 63%
    }
}

@media screen and (min-width: 750px) {
    .col-sm {
        width: 33%
    }
}

@media screen and (min-width: 750px) {
    .col-md {
        width: 48.829%
    }
}

@media screen and (min-width: 750px) {
    .col-xl {
        width: 70%
    }
}

@media screen and (min-width: 750px) {
    .col-xs {
        width: 25%
    }
}

@media screen and (min-width: 750px) {
    .item:nth-child(n+3) {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .item:nth-child(n+2) {
        margin-top: 2rem
    }
}

.componentheading-lg .heading {
    position: relative;
    font-size: 1.625em;
    padding-bottom: .3em;
    border-bottom: 3px solid #1972d0
}

.componentheading-md .heading {
    border-left: 3px solid #1972d0;
    background: #fff;
    padding: .6em 1em;
    font-size: 1.25em
}

.component-sm .heading {
    position: relative;
    display: inline-block;
    padding-left: 1em;
    font-size: 1.125em
}

.component-sm .heading::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 3px;
    height: calc(100% - 1rem);
    background: #1972d0
}

.caption {
    font-size: .875em;
    margin-top: .5em;
    text-align: left
}

.component-img {
    text-align: center
}

.component-text a,
.component-imgtext a {
    color: #15c;
    text-decoration: underline
}

@media screen and (min-width: 750px) {

    .component-text a:hover,
    .component-imgtext a:hover {
        opacity: .7;
        color: #1972d0
    }
}

.component-text strong,
.component-imgtext strong {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(40%, #FFEB00));
    background: linear-gradient(transparent 60%, #FFEB00 40%)
}

.component-text ul,
.component-text ol,
.component-imgtext ul,
.component-imgtext ol {
    padding: revert
}

.component-text li:not(.listStyleNone),
.component-imgtext li:not(.listStyleNone) {
    list-style: inherit
}

.component-text li.listStyleNone,
.component-imgtext li.listStyleNone {
    list-style-type: none
}

.component-text.-frame {
    border: 1px solid #dedede;
    padding: 1.5em
}

.component-text.-bg {
    background: #fff;
    padding: 1.5em
}

.component-btn {
    text-align: center
}

@media screen and (min-width: 750px) {
    .component-btn {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

@media screen and (max-width: 749px) {
    .component-btn .btn__link:nth-child(n+2) {
        margin-top: 2rem
    }
}

@media screen and (min-width: 750px) {
    .-row2 .btn__link {
        width: 47%;
        margin: 0 1.5%
    }

    .-row2 .btn__link:nth-child(n+3) {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .-row2 .btn__link:nth-child(n+3) {
        margin-top: 2rem
    }
}

.-row2 .btn+.-row2 .btn {
    margin-left: 1rem
}

@media screen and (min-width: 750px) {
    .-row1 .btn__link {
        width: 47%;
        margin: 0 1.5%
    }

    .-row1 .btn__link:nth-child(n+2) {
        margin-top: 3rem
    }
}

.component-comment {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.component-comment.-rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse
}

@media screen and (min-width: 750px) {
    .comment__imgwrap {
        min-width: 80px;
        max-width: 80px
    }
}

@media screen and (max-width: 749px) {
    .comment__imgwrap {
        min-width: 17.3913043478%;
        max-width: 17.3913043478%
    }
}

.comment__img {
    border-radius: 50%;
    overflow: hidden;
    width: 100%;
    border: 1px solid #dedede
}

.comment__name {
    text-align: center;
    margin-top: .5rem;
    font-size: 1.2rem
}

.comment__text {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 10px;
    width: 100%
}

@media screen and (min-width: 750px) {
    .comment__text {
        min-height: 100px;
        margin: 0 30px;
        padding: 2rem
    }
}

@media screen and (max-width: 749px) {
    .comment__text {
        min-height: 60px;
        padding: 1.5rem
    }
}

.comment__text::before,
.comment__text::after {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid
}

@media screen and (min-width: 750px) {

    .comment__text::before,
    .comment__text::after {
        top: 35px
    }
}

@media screen and (max-width: 749px) {

    .comment__text::before,
    .comment__text::after {
        top: 23px
    }
}

@media screen and (max-width: 749px) {
    .-row .comment__text {
        margin-left: 2rem
    }
}

@media screen and (min-width: 750px) {

    .-row .comment__text::before,
    .-row .comment__text::after {
        border-width: 7.5px 15px 7.5px 0
    }
}

@media screen and (max-width: 749px) {

    .-row .comment__text::before,
    .-row .comment__text::after {
        border-width: .75rem 1.5rem .75rem 0
    }
}

@media screen and (min-width: 750px) {
    .-row .comment__text::before {
        left: -16px
    }
}

@media screen and (max-width: 749px) {
    .-row .comment__text::before {
        left: -1.5rem
    }
}

@media screen and (min-width: 750px) {
    .-row .comment__text::after {
        left: -14px
    }
}

@media screen and (max-width: 749px) {
    .-row .comment__text::after {
        left: -1.3rem
    }
}

.-row.-color01 .comment__text {
    background: #fff;
    border: 1px solid #1972d0
}

.-row.-color01 .comment__text::before {
    border-color: rgba(0, 0, 0, 0) #1972d0 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.-row.-color01 .comment__text::after {
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.-row.-color02 .comment__text {
    background: #fff;
    border: 1px solid #dedede
}

.-row.-color02 .comment__text::before {
    border-color: rgba(0, 0, 0, 0) #dedede rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.-row.-color02 .comment__text::after {
    border-color: rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

@media screen and (max-width: 749px) {
    .-rev .comment__text {
        margin-right: 2rem
    }
}

@media screen and (min-width: 750px) {

    .-rev .comment__text::before,
    .-rev .comment__text::after {
        border-width: 7.5px 0 7.5px 15px
    }
}

@media screen and (max-width: 749px) {

    .-rev .comment__text::before,
    .-rev .comment__text::after {
        border-width: .75rem 0 .75rem 1.5rem
    }
}

@media screen and (min-width: 750px) {
    .-rev .comment__text::before {
        right: -16px
    }
}

@media screen and (max-width: 749px) {
    .-rev .comment__text::before {
        right: -1.5rem
    }
}

@media screen and (min-width: 750px) {
    .-rev .comment__text::after {
        right: -14px
    }
}

@media screen and (max-width: 749px) {
    .-rev .comment__text::after {
        right: -1.3rem
    }
}

.-rev.-color01 .comment__text {
    background: #fff;
    border: 1px solid #1972d0
}

.-rev.-color01 .comment__text::before {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #1972d0
}

.-rev.-color01 .comment__text::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

.-rev.-color02 .comment__text {
    background: #fff;
    border: 1px solid #dedede
}

.-rev.-color02 .comment__text::before {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #dedede
}

.-rev.-color02 .comment__text::after {
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff
}

.gallery__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (min-width: 750px) {
    .gallery__item {
        position: relative;
        width: 24%
    }

    .gallery__item:not(:nth-child(4n)) {
        margin-right: 1.3%
    }

    .gallery__item:nth-child(n+5) {
        margin-top: 1.3%
    }

    .gallery__item:before {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(255, 255, 255, .2) url(./../img/common/icon_search.svg) no-repeat center/50px;
        opacity: 0;
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .gallery__item:hover:before {
        opacity: 1
    }
}

@media screen and (max-width: 749px) {
    .gallery__item {
        position: relative;
        width: 32.4%
    }

    .gallery__item:not(:nth-child(3n)) {
        margin-right: 1.3%
    }

    .gallery__item:nth-child(n+4) {
        margin-top: 1.3%
    }
}

.component-kanren {
    background: #fff;
    border: 1px solid #dedede
}

@media screen and (min-width: 750px) {
    .component-kanren {
        padding: 1.875em
    }
}

@media screen and (max-width: 749px) {
    .component-kanren {
        padding: 2rem
    }
}

.component-kanren .heading {
    margin-bottom: .625em;
    font-size: 1em
}

.component-kanren .text {
    margin-bottom: 1.875em;
    font-size: .875em
}

@media screen and (max-width: 749px) {
    .component-kanren .btn__link {
        width: 100%
    }
}

@media screen and (min-width: 750px) {
    .component-kanren .btnarea {
        max-width: 30rem
    }
}

@media screen and (max-width: 749px) {
    .component-kanren .btnarea {
        text-align: center
    }
}

.movie__inner,
.map__inner {
    position: relative;
    overflow: hidden;
    padding-top: 56.25%
}

.movie__inner iframe,
.map__inner iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important
}

.component-table th,
.component-table td {
    padding: 1em 1em;
    vertical-align: middle;
    font-size: .875em
}

.component-table th {
    font-weight: bold
}

.component-table.-col2 th,
.component-table.-col2 td {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede
}

.component-table.-col2 th {
    width: 30%;
    text-align: left
}

.component-table.-free {
    background: #fff
}

.component-table.-free th,
.component-table.-free td {
    border: 1px solid #dedede
}

.component-table.-free th {
    color: #fff;
    background: #1972d0
}

@media screen and (min-width: 750px) {
    .component-table {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    .component-table {
        overflow: auto
    }

    .component-table .-lg {
        width: 250vw
    }

    .component-table .-md {
        width: 150vw
    }
}

@media screen and (max-width: 749px) {

    .component-table th,
    .component-table td {
        font-size: 1.3rem
    }
}

@media screen and (min-width: 750px) {
    .component-bnr .bnr__anc:hover {
        opacity: .7
    }
}


@media screen and (min-width: 750px) {
    html {
        font-size: 10px
    }
}

@media screen and (max-width: 749px) {
    html {
        font-size: 2.66666vw
    }
}

body {
    width: 100%;
    overflow-x: hidden;
    background: #fff;
    font-family: "ヒラギノ角ゴ ProN", YuGothic, "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif;
    color: #333;
    letter-spacing: .05em
}

@media screen and (min-width: 750px) {
    body {
        font-size: 1.6rem
    }
}

@media screen and (max-width: 749px) {
    body {
        font-size: 1.4rem
    }
}

main {
    display: block
}

li {
    list-style-type: none
}

a {
    text-decoration: none;
    color: inherit
}

@media screen and (min-width: 750px) {
    a {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    a::before,
    a::after {
        -webkit-transition: all .3s;
        transition: all .3s
    }
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto
}

svg {
    width: 100%;
    height: auto
}

sup {
    font-size: .5em;
    vertical-align: super
}

input,
button,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}

address {
    font-style: normal
}

@media screen and (min-width: 1024px) {

    .visible-md,
    .visible-sm {
        display: none
    }

    .visible-lg {
        display: inherit
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {

    .visible-lg,
    .visible-sm {
        display: none
    }

    .visible-md {
        display: inherit
    }
}

@media screen and (max-width: 749px) {

    .visible-lg,
    .visible-md {
        display: none
    }

    .visible-sm {
        display: inherit
    }
}

.bg-blue {
    background: #eef1f3
}

.mt0 {
    margin-top: 0 !important
}

body.is-active {
    overflow: hidden
}

@media screen and (min-width: 1024px) {
    .l-main {
        padding-top: 14rem
    }
}

@media screen and (max-width: 1023px) {
    .l-main {
        padding-top: 5rem
    }
}

@media screen and (min-width: 750px) {
    .l-inner {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto
    }
}

@media screen and (max-width: 749px) {
    .l-inner {
        padding: 0 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .l-column {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .l-column {
        width: 90%;
        max-width: 1100px;
        margin: 0 auto;
        padding: 6rem 0 8rem
    }
}

@media screen and (max-width: 749px) {
    .l-column {
        padding: 3rem 1.5rem 4rem
    }
}

@media screen and (min-width: 1024px) {
    .l-content {
        width: 69.0909090909%
    }
}

@media screen and (min-width: 1024px) {
    .l-side {
        width: 23.6363636364%
    }
}

@media screen and (max-width: 1023px) {
    .l-side {
        margin-top: 4rem
    }
}

@media screen and (min-width: 1024px) {
    .ham {
        display: none
    }
}

@media screen and (max-width: 1023px) {
    .ham {
        position: relative;
        background: #1972d0;
        width: 5rem;
        height: 5rem
    }

    .ham__item {
        position: absolute;
        height: 1px;
        background: #fff;
        -webkit-transition: all .35s ease;
        transition: all .35s ease;
        left: 1.5rem;
        width: 2rem
    }

    .ham__item:nth-child(1) {
        top: 2rem
    }

    .ham__item:nth-child(2) {
        top: 2.5rem
    }

    .ham__item:nth-child(3) {
        top: 3rem
    }

    .is-active .ham__item {
        top: 2.6rem
    }

    .is-active .ham__item:nth-child(1) {
        -webkit-transform: rotate(225deg);
        transform: rotate(225deg)
    }

    .is-active .ham__item:nth-child(2) {
        opacity: 0
    }

    .is-active .ham__item:nth-child(3) {
        -webkit-transform: rotate(-225deg);
        transform: rotate(-225deg)
    }
}

.hd {
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    border-bottom: 1px solid #dedede
}

@media screen and (min-width: 1024px) {
    .hd {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-top: 4rem;
        -webkit-transition: all .5s;
        transition: all .5s
    }

    .hd.is-scrollUp {
        top: 0
    }

    .hd.is-scrollDown {
        top: -14rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__head {
        width: 25%;
        max-width: 31.6rem;
        margin: 0 3rem
    }
}

@media screen and (max-width: 1023px) {
    .hd__head {
        position: relative;
        z-index: 10;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        height: 5rem;
        padding-left: 1rem
    }
}

@media screen and (min-width: 1024px) {
    .hd__foot {
        width: calc(100% - 37rem)
    }
}

@media screen and (max-width: 1023px) {
    .hd__foot {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 5;
        width: 100%;
        height: 100vh;
        background: #fff;
        padding-top: 5rem;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: all .3s;
        transition: all .3s;
        overflow-y: scroll
    }

    .is-active .hd__foot {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (min-width: 1024px) {
    .hdLogo {
        width: 100%
    }
}

@media screen and (max-width: 1023px) {
    .hdLogo {
        width: 23rem;
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .is-active .hdLogo {
        opacity: 0
    }
}

.hdLogo__item {
    display: block;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__head {
        width: 100%
    }
}

@media screen and (min-width: 1024px) {
    .gnav__foot {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0;
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 1023px) {
    .gnav__foot {
        background: #eef1f3;
        padding: 4rem 1.5rem
    }
}

@media screen and (min-width: 1024px) {
    .gnav__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (min-width: 1024px) {
    .gnav__item {
        position: relative;
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        max-width: 20rem;
        min-width: 14rem;
        border-left: 1px solid #dedede
    }
}

@media screen and (max-width: 1023px) {
    .gnav__item {
        border-top: 1px solid #dedede
    }
}

.gnav__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnav__anc {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 10rem;
        padding: 0 .5em;
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem);
        text-align: center
    }

    .gnav__anc:hover {
        background: rgba(25, 114, 208, .2)
    }

    .is-show .gnav__anc {
        background: rgba(25, 114, 208, .2)
    }
}

@media screen and (max-width: 1023px) {
    .gnav__anc {
        position: relative;
        padding: 1em 2rem
    }

    .gnav__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important
    }

    .gnav__anc.-tab::after {
        content: "";
        right: 1.3em
    }

    .gnav__anc.-tab.is-show::after {
        content: ""
    }

    .gnav__anc:not(.-tab)::after {
        content: "";
        font-size: 1.2em
    }
}

.gnav__anc .-icon {
    color: #1972d0;
    font-size: 2.3333333333em
}

@media screen and (max-width: 1023px) {
    .gnav__anc .-icon {
        margin-right: .5em
    }
}

.gnav__anc .-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 2.7em;
    line-height: 1.3
}

.gnav__anc .-inner {
    display: inline-block;
    line-height: 1.3
}

.gnav__anc .-mass {
    display: inline-block;
    line-height: 1.3
}

@media screen and (min-width: 1024px) {
    .gnavChild {
        position: fixed;
        visibility: hidden;
        opacity: 0;
        top: 14rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 100vw;
        -webkit-transition: all .3s;
        transition: all .3s;
        background: #fff
    }

    .is-show .gnavChild {
        visibility: visible;
        opacity: 1
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild {
        display: none
    }
}

.gnavChild__list {
    background: rgba(25, 114, 208, .2)
}

@media screen and (min-width: 1024px) {
    .gnavChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 2em
    }
}

@media screen and (min-width: 1024px) {
    .gnavChild__item {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        margin: 0 1em
    }

    .gnavChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__item+.gnavChild__item {
        border-top: 1px dashed #fff
    }
}

.gnavChild__anc {
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavChild__anc {
        font-size: clamp(1rem, 1.0769230769vw, 1.4rem)
    }

    .gnavChild__anc:hover {
        color: #1972d0
    }
}

@media screen and (max-width: 1023px) {
    .gnavChild__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .gnavChild__anc::before {
        content: "-";
        margin-right: 1em
    }

    .gnavChild__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.gnavSub {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

@media screen and (max-width: 1023px) {
    .gnavSub {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 2rem
    }
}

.gnavSub__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-right: 1em
}

.gnavSub__item::before {
    content: "";
    font-family: "pwmi" !important
}

.gnavSub__btn {
    font-size: 1.3rem;
    line-height: 1
}

@media screen and (min-width: 1024px) {
    .gnavSub__btn:hover {
        text-decoration: underline
    }
}

.gnavLang {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .gnavLang {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.gnavLang__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    font-size: 1.3rem;
    font-weight: bold
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc:hover {
        background: #2b87de
    }
}

.gnavLang__anc.is-active {
    pointer-events: none
}

@media screen and (min-width: 1024px) {
    .gnavLang__anc.is-active {
        background: #2b87de;
        color: rgba(255, 255, 255, .5)
    }
}

@media screen and (max-width: 1023px) {
    .gnavLang__anc.is-active {
        opacity: .5
    }
}

.side__block {
    background: #fff
}

@media screen and (max-width: 749px) {
    .side__block.pc {
        display: none
    }
}

@media screen and (min-width: 750px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .side__block+.side__block {
        margin-top: 3rem
    }
}

.side__term {
    padding: .7em 1em;
    color: #fff;
    font-weight: bold;
    background: #1972d0
}

.sideList__item+.sideList__item {
    border-top: 1px solid #dedede
}

.sideList__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    min-height: 7rem;
    padding: .5em 2.5em .5em .5em;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .sideList__anc {
        font-size: clamp(1.4rem, 1.1538461538vw, 1.5rem)
    }

    .sideList__anc:hover {
        background: rgba(25, 114, 208, .2)
    }
}

.sideList__anc .-img {
    width: 4.5rem;
    min-width: 4.5rem
}

.sideList__anc .-text {
    margin-left: .5em
}

.sideList__anc::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: 1.4em
}

.sideList__anc.-blank {
    content: ""
}

.sideList__20hatena {
    display: block;
    text-align: center
}

@media screen and (min-width: 750px) {
    .sideList__20hatena .sideList__img {
        -webkit-transition: all .3s;
        transition: all .3s
    }

    .sideList__20hatena:hover {
        background: #1972d0
    }

    .sideList__20hatena:hover .sideList__img {
        opacity: .8
    }
}

.bnr {
    background: #0d1931;
    padding: 4rem 0
}

.bnr__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 749px) {
    .bnr__list {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .bnr__item {
        width: 23.6363636364%
    }

    .bnr__item:not(:nth-child(4n)) {
        margin-right: 1.8181818182%
    }

    .bnr__item:nth-child(n+5) {
        margin-top: 2rem
    }
}

@media screen and (max-width: 749px) {
    .bnr__item {
        width: 48.5%
    }

    .bnr__item:nth-child(n+3) {
        margin-top: 1rem
    }
}

.bnr__anc {
    display: block
}

@media screen and (min-width: 750px) {
    .bnr__anc:hover {
        opacity: .6
    }
}

.ft {
    z-index: 555
}

@media screen and (min-width: 1024px) {
    .ft__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

@media screen and (min-width: 750px) {
    .ft__head {
        padding: 6rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__head .ft__inner {
        padding: 0
    }
}

.ft__foot {
    border-top: 1px solid #fff;
    background: #1972d0;
    color: #fff
}

@media screen and (min-width: 750px) {
    .ft__foot {
        padding: 4rem 0
    }
}

@media screen and (max-width: 749px) {
    .ft__foot {
        padding: 3rem 0
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__list {
        font-size: 1.4rem
    }
}

@media screen and (min-width: 750px)and (max-width: 1023px) {
    .ftSitemap__list {
        min-width: 30%;
        margin-right: 3.33333%
    }

    .ftSitemap__list:nth-child(n+4) {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__item {
        border-top: 1px solid #dedede
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__item+.ftSitemap__item {
        margin-top: 1em
    }
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc {
        font-size: clamp(1.3rem, 1.1538461538vw, 1.5rem);
        font-weight: bold
    }

    .ftSitemap__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem;
        font-weight: bold
    }

    .ftSitemap__anc::after {
        position: absolute;
        top: 50%;
        right: 1em;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        font-family: "pwmi" !important;
        content: "";
        font-size: 1.2em
    }
}

.ftSitemap__anc.-blank {
    position: relative
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank {
        padding-right: 1em
    }
}

.ftSitemap__anc.-blank::after {
    position: absolute;
    content: "";
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: .8em;
    line-height: 1
}

@media screen and (min-width: 750px) {
    .ftSitemap__anc.-blank::after {
        top: 0;
        right: 0
    }
}

@media screen and (max-width: 749px) {
    .ftSitemap__anc.-blank::after {
        top: 50%;
        right: 1.8em
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__item {
        margin-top: .5em;
        color: #888
    }

    .ftSitemapChild__item::before {
        content: "";
        font-family: "pwmi" !important
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__item {
        width: 50%;
        border: 1px dashed #dedede;
        margin-bottom: -1px
    }

    .ftSitemapChild__item:nth-child(2n) {
        width: calc(50% + 1px);
        margin-left: -1px
    }
}

.ftSitemapChild__anc {
    font-size: 1.2rem
}

@media screen and (min-width: 750px) {
    .ftSitemapChild__anc:hover {
        text-decoration: underline
    }
}

@media screen and (max-width: 749px) {
    .ftSitemapChild__anc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 1em 2rem
    }

    .ftSitemapChild__anc::before {
        content: "-";
        margin-right: .5em
    }
}

.ftsubNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width: 1023px) {
    .ftsubNav {
        margin-bottom: 1em;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }
}

.ftsubNav__item {
    font-size: 1.2rem
}

.ftsubNav__item+.ftsubNav__item {
    margin-left: 2em
}

@media screen and (min-width: 750px) {
    .ftsubNav__anc:hover {
        text-decoration: underline
    }
}

.ft__copy {
    font-size: 1rem
}

@media screen and (max-width: 1023px) {
    .ft__copy {
        text-align: center
    }
}

.ft__pagetop {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.4em;
    -webkit-transition: all .3s;
    transition: all .3s
}

.ft__pagetop::before {
    content: "";
    font-family: "pwmi" !important
}

@media screen and (min-width: 750px) {
    .ft__pagetop {
        position: fixed;
        width: 5rem;
        height: 5rem;
        bottom: 2rem;
        right: 2rem;
        background: #fff;
        -webkit-box-shadow: 0 0 .5em #dedede;
        box-shadow: 0 0 .5em #dedede;
        color: #1972d0;
        border-radius: 5px
    }

    .ft__pagetop:hover {
        background: #1972d0;
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .ft__pagetop {
        width: 100%;
        height: 4rem;
        background: #1972d0;
        color: #fff
    }
}

.hero {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    background: -webkit-gradient(linear, left top, right top, from(#35BAEA), to(#1B8EF0));
    background: linear-gradient(to right, #35BAEA, #1B8EF0)
}

@media screen and (min-width: 750px) {
    .hero {
        min-height: 18rem;
        padding: 2rem;
        font-size: 3.8rem
    }
}

@media screen and (max-width: 749px) {
    .hero {
        min-height: 15rem;
        padding: 2rem 1.5rem;
        font-size: 3rem
    }
}

.hero__parent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: .4736842105em
}

.hero__parent::before {
    content: "";
    display: block;
    width: 1em;
    height: 1px;
    background: #fff;
    margin-right: .5em
}

.hero__heading {
    font-size: 1em;
    font-weight: bold
}

.breadcrumb {
    overflow-x: scroll;
    scrollbar-width: none;
    padding: 1.2em 0;
    background: #fff
}

.breadcrumb::-webkit-scrollbar {
    display: none
}

.breadcrumb__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: .75em
}

.breadcrumb__item {
    color: #888;
    letter-spacing: .05em;
    white-space: nowrap;
    line-height: 1
}

.breadcrumb__item+.breadcrumb__item:before {
    content: "";
    margin: 0 .5rem;
    color: #888;
    font-family: "pwmi" !important
}

.breadcrumb__anc {
    color: #333;
    line-height: 1
}

@media screen and (min-width: 750px) {
    .breadcrumb__anc:hover {
        text-decoration: underline
    }
}

.pagenav {
    background: #eef1f3
}

@media screen and (min-width: 750px) {
    .pagenav {
        padding-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .pagenav {
        padding-top: 1.5rem
    }
}

.pagenav__block {
    border-bottom: 1px dashed #1972d0;
    border-top: 1px dashed #1972d0;
    padding: 1em 0
}

@media screen and (min-width: 750px) {
    .pagenav__block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        font-size: 1.4rem
    }
}

@media screen and (min-width: 750px) {
    .pagenav__term {
        white-space: nowrap;
        border-right: 2px solid #1972d0;
        padding-right: 2em
    }
}

@media screen and (max-width: 749px) {
    .pagenav__term {
        margin-bottom: 1em
    }
}

@media screen and (min-width: 750px) {
    .pagenav__desc {
        width: 100%
    }
}

.pagenavTerm__anc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    font-weight: bold
}

.pagenavTerm__anc::before {
    content: "";
    margin-right: .5em;
    background-color: #1972d0;
    border-radius: 50%;
    color: #fff;
    font-family: "pwmi" !important;
    line-height: 1
}

.pagenav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

@media screen and (max-width: 749px) {
    .pagenav__list {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
}

.pagenav__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #333;
    letter-spacing: .05em;
    position: relative
}

@media screen and (min-width: 750px) {
    .pagenav__item {
        margin: 5px 0 5px 3rem
    }
}

@media screen and (max-width: 749px) {
    .pagenav__item {
        width: 50%
    }

    .pagenav__item:nth-child(n+3) {
        margin-top: 1em
    }
}

.pagenav__item:before {
    content: "";
    margin-right: .5em;
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: .8em;
    line-height: 1.6
}

.pagenav__anc {
    line-height: 1.3
}

@media screen and (min-width: 750px) {
    .pagenav__anc:hover {
        text-decoration: underline
    }
}

@media screen and (min-width: 750px) {
    .block+.block {
        margin-top: 6rem
    }
}

@media screen and (max-width: 749px) {
    .block+.block {
        margin-top: 4rem
    }
}

[class*=block__]:not(:last-child) {
    margin-bottom: 2rem
}

@media screen and (min-width: 750px) {
    [class*=block__].-lg {
        margin-top: 4rem
    }
}

@media screen and (max-width: 749px) {
    [class*=block__].-lg {
        margin-top: 3rem
    }
}

.block__heading {
    position: relative;
    padding-left: .7em
}

@media screen and (min-width: 750px) {
    .block__heading {
        font-size: 2.8rem
    }
}

@media screen and (max-width: 749px) {
    .block__heading {
        font-size: 2rem
    }
}

.block__heading::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4px;
    height: calc(100% - 1rem);
    background: #1972d0
}

.block__subheading {
    position: relative;
    padding-left: .7em
}

@media screen and (min-width: 750px) {
    .block__subheading {
        font-size: 2.4rem
    }
}

@media screen and (max-width: 749px) {
    .block__subheading {
        font-size: 1.8rem
    }
}

.block__subheading::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 4px;
    height: calc(100% - 1rem);
    background: #1972d0
}

.block__text {
    line-height: 1.8
}

.block__text.ta-right {
    text-align: right
}

.block__note {
    font-size: .9em
}

.blockNote__item {
    line-height: 1.8
}

.blockTable__tr {
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    text-align: left
}

.blockTable__th,
.blockTable__td {
    padding: 1em 0
}

.blockTable__th {
    width: 30%;
    padding-right: 1rem
}

.block__bg {
    background: #fff
}

@media screen and (min-width: 750px) {
    .block__bg {
        padding: 4rem
    }
}

@media screen and (max-width: 749px) {
    .block__bg {
        padding: 2rem
    }
}

.blockBook__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width: 750px) {
    .blockBook__list {
        max-width: 55rem;
        margin: 0 auto
    }
}

.blockBook__item {
    width: 48.5%;
    text-align: center
}

.blockBook__img {
    width: 75.1879699248%;
    margin: 0 auto 1em
}

.textlink {
    color: #1972d0
}

.textlink:hover {
    text-decoration: underline
}

.checkbtn input {
    display: none
}

.checkbtn input[type=checkbox]:checked+.checkbtn__label {
    background: #1972d0;
    color: #fff
}

.checkbtn input[type=checkbox]:checked+.checkbtn__label::after {
    content: "選択済み"
}

.checkbtn input[type=checkbox]:checked+.checkbtn__label .inner::after,
.checkbtn input[type=radio]:checked+.checkbtn__label .inner::after {
    opacity: 1
}

.checkbtn input.disabled+.checkbtn__label {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
    opacity: .5
}

.checkbtn__label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border: 2px solid #1972d0;
    border-radius: 5rem;
    padding: .6em .4em;
    cursor: pointer;
    line-height: 1
}

.checkbtn__label .inner {
    position: relative;
    cursor: pointer;
    padding-left: 2.5rem
}

.checkbtn__label .inner::before,
.checkbtn__label .inner::after {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%)
}

.checkbtn__label .inner::before {
    content: "";
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    border: 1px solid #1972d0;
    background: #fff
}

.checkbtn__label .inner::after {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    content: "";
    font-family: "pwmi" !important;
    width: 1.8rem;
    height: 1.8rem;
    opacity: 0;
    color: #1972d0;
    font-size: .8em;
    padding-left: .1em
}

.checkbtn__label::after {
    content: "選択"
}

@media screen and (min-width: 750px) {
    .hit {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .hit {
        margin-top: 2rem
    }
}

.hit__count {
    font-weight: bold;
    text-align: center
}

.hit__count .count {
    font-size: 1.5em
}

.hit__btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 4.8rem;
    border: 2px solid #fff;
    border-radius: 10rem;
    background: #fff;
    color: #333;
    font-weight: bold
}

@media screen and (min-width: 750px) {
    .hit__btn {
        width: 33rem;
        margin: 2rem auto 0
    }

    .hit__btn:hover {
        background: #1972d0;
        border: 2px solid #1972d0;
        color: #fff
    }

    .hit__btn:hover .-icon {
        color: #fff
    }

    .hit__btn:hover::after {
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .hit__btn {
        margin-top: 1rem
    }
}

.hit__btn .-icon {
    margin-right: .5em;
    color: #1972d0;
    font-size: 1.4em
}

.hit__btn::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 1rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #1972d0;
    font-family: "pwmi" !important;
    font-size: 1.4em
}

.tabs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

input[name=tab__input] {
    display: none
}

#tab01:checked~#tab__content01,
#tab02:checked~#tab__content02 {
    display: block;
    width: 100%;
}

.tab__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 50%;
    background: #fff;
    text-align: center;
    float: left;
    font-weight: bold;
    border: 1px solid #1972d0;
    cursor: pointer
}

@media screen and (min-width: 750px) {
    .tab__btn {
        height: 5rem
    }

    .tab__btn:hover {
        opacity: .75
    }
}

@media screen and (max-width: 749px) {
    .tab__btn {
        height: 4.5rem
    }
}

.tabs input:checked+.tab__btn {
    background: #1972d0;
    color: #fff
}

.tab__icon {
    margin-right: .5em;
    font-size: 1.4em
}

.tab__content {
    display: none;
    overflow: hidden
}

@media screen and (min-width: 750px) {
    .tab__content {
        margin-top: 3rem
    }
}

@media screen and (max-width: 749px) {
    .tab__content {
        margin-top: 2rem
    }
}

.pdfList {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (min-width: 750px) {
    .pdfList {
        gap: 4rem 0
    }
}

@media screen and (max-width: 749px) {
    .pdfList {
        gap: 2rem 0;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}

.pdfList__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}

@media screen and (min-width: 750px) {
    .pdfList__item {
        width: 30.6578947368%
    }

    .pdfList__item:not(:nth-child(3n)) {
        margin-right: 4%
    }
}

@media screen and (max-width: 749px) {
    .pdfList__item {
        width: 48.5%;
        width: 48%
    }
}

.pamphlet__head {
    margin-bottom: 1rem
}

.pdfList__title {
    margin-bottom: 1rem;
    font-size: 1em
}

.pdfList__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: bold;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: .7em;
    background: #fff;
    border-radius: 4rem
}

@media screen and (min-width: 750px) {
    .pdfList__btn:hover {
        color: #fff;
        background: #1972d0
    }

    .pdfList__btn:hover .pdfList__icon {
        color: #fff
    }
}

@media screen and (max-width: 749px) {
    .pdfList__btn {
        font-size: 1.2rem
    }
}

.pdfList__btn+.pdfList__btn {
    margin-top: 1rem
}

.pdfList__icon {
    margin-right: .5em;
    color: #1972d0;
    font-size: 1.4em
}