*, *::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0
}
body, html {
    color: #222;
    background: #fff 0 0
}
address, blockquote, caption, cite, code, dd, dt, em, h1, h2, h3, h4, h5, h6, input, li, p, pre, select, small, strong, td, textarea, th {
    font-size: 100%;
    font-weight: inherit;
    font-style: inherit
}
li, ol, ul {
    list-style: none
}
table {
    border-collapse: collapse
}
caption, th {
    text-align: left
}
fieldset {
    border: 0
}
a {
    text-decoration: none;
    color: inherit
}
picture {
    display: block
}
img {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: top;
    border: 0
}
br {
    letter-spacing: 0
}
button, input:not([type=checkbox]):not([type=radio]), textarea {
    border: 0;
    border-radius: 0;
    outline: 0;
    background: rgba(0, 0, 0, 0);
    -webkit-appearance: none
}
@media(hover: hover) {
    a:hover {
        text-decoration: none
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    a:hover {
        text-decoration: none
    }
}
.dn {
    display: none
}
.di {
    display: inline
}
.db {
    display: block
}
.dib {
    display: inline-block
}
.fwn {
    font-weight: 400
}
.fwb {
    font-weight: 700
}
.mt5 {
    margin-top: .5rem
}
.mt6 {
    margin-top: .6rem
}
.mt7 {
    margin-top: .7rem
}
.mt8 {
    margin-top: .8rem
}
.mt9 {
    margin-top: .9rem
}
.mt10 {
    margin-top: 1rem
}
.mt15 {
    margin-top: 1.5rem
}
.mt20 {
    margin-top: 2rem
}
.mt25 {
    margin-top: 2.5rem
}
.mt30 {
    margin-top: 3rem
}
.mt35 {
    margin-top: 3.5rem
}
.mt40 {
    margin-top: 4rem
}
.mt45 {
    margin-top: 4.5rem
}
.mt50 {
    margin-top: 5rem
}
.mt55 {
    margin-top: 5.5rem
}
.mt60 {
    margin-top: 6rem
}
.mt65 {
    margin-top: 6.5rem
}
.mt70 {
    margin-top: 7rem
}
.mt75 {
    margin-top: 7.5rem
}
.mt80 {
    margin-top: 8rem
}
.mt85 {
    margin-top: 8.5rem
}
.mt90 {
    margin-top: 9rem
}
.mt95 {
    margin-top: 9.5rem
}
.mt100 {
    margin-top: 10rem
}
.mt110 {
    margin-top: 11rem
}
.mt120 {
    margin-top: 12rem
}
.mt130 {
    margin-top: 13rem
}
.mt140 {
    margin-top: 14rem
}
.mt150 {
    margin-top: 15rem
}
.mra {
    margin-right: auto
}
.mla {
    margin-left: auto
}
.tar {
    text-align: right
}
.tal {
    text-align: left
}
.tac {
    text-align: center
}
.tdn {
    text-decoration: none
}
.tdu {
    text-decoration: underline
}
.vat {
    vertical-align: top
}
.wbk {
    word-break: keep-all
}
.wmc {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content
}
.w50p {
    width: 50% !important
}
.w100p {
    width: 100% !important
}
.fadein {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, transform .8s;
    transition: opacity .8s, transform .8s, -webkit-transform .8s;
    opacity: 0
}
.fadein.scroll-fade {
    opacity: 1
}
.fadein-right {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, transform .8s;
    transition: opacity .8s, transform .8s, -webkit-transform .8s;
    -webkit-transform: translate(3rem, 0);
    transform: translate(3rem, 0);
    opacity: 0
}
.fadein-right.scroll-fade {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1
}
.fadein-left {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, transform .8s;
    transition: opacity .8s, transform .8s, -webkit-transform .8s;
    -webkit-transform: translate(-3rem, 0);
    transform: translate(-3rem, 0);
    opacity: 0
}
.fadein-left.scroll-fade {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1
}
.fadein-top {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, transform .8s;
    transition: opacity .8s, transform .8s, -webkit-transform .8s;
    -webkit-transform: translate(0, -3rem);
    transform: translate(0, -3rem);
    opacity: 0
}
.fadein-top.scroll-fade {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1
}
.fadein-bottom {
    -webkit-transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, -webkit-transform .8s;
    transition: opacity .8s, transform .8s;
    transition: opacity .8s, transform .8s, -webkit-transform .8s;
    -webkit-transform: translate(0, 3rem);
    transform: translate(0, 3rem);
    opacity: 0
}
.fadein-bottom.scroll-fade {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    opacity: 1
}
.slick-slider {
    position: relative;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}
.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0
}
.slick-list:focus {
    outline: none
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}
.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}
.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-right: auto;
    margin-left: auto
}
.slick-track:before, .slick-track:after {
    content: "";
    display: table
}
.slick-track:after {
    clear: both
}
.slick-loading .slick-track {
    visibility: hidden
}
.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
    outline: none
}
[dir=rtl] .slick-slide {
    float: right
}
.slick-slide img {
    display: block
}
.slick-slide.slick-loading img {
    display: none
}
.slick-slide.dragging img {
    pointer-events: none
}
.slick-initialized .slick-slide {
    display: block
}
.slick-loading .slick-slide {
    visibility: hidden
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0)
}
.slick-arrow.slick-hidden {
    display: none
}
@media screen and (min-width: 768px)and (hover: hover) {
    .effect-fade-hover {
        -webkit-transition: opacity .15s ease;
        transition: opacity .15s ease
    }
    .effect-fade-hover:hover {
        opacity: .6
    }
}
@media screen and (min-width: 768px)and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (min-width: 768px)and (-ms-high-contrast: active) {
    .effect-fade-hover {
        -webkit-transition: opacity .15s ease;
        transition: opacity .15s ease
    }
    .effect-fade-hover:hover {
        opacity: .6
    }
}
@media screen and (min-width: 768px) {
    .dn-w {
        display: none
    }
    .di-w {
        display: inline
    }
    .db-w {
        display: block
    }
    .dib-w {
        display: inline-block
    }
    .fwn-w {
        font-weight: 400
    }
    .fwb-w {
        font-weight: 700
    }
    .mt5-w {
        margin-top: .5rem
    }
    .mt6-w {
        margin-top: .6rem
    }
    .mt7-w {
        margin-top: .7rem
    }
    .mt8-w {
        margin-top: .8rem
    }
    .mt9-w {
        margin-top: .9rem
    }
    .mt10-w {
        margin-top: 1rem
    }
    .mt15-w {
        margin-top: 1.5rem
    }
    .mt20-w {
        margin-top: 2rem
    }
    .mt25-w {
        margin-top: 2.5rem
    }
    .mt30-w {
        margin-top: 3rem
    }
    .mt35-w {
        margin-top: 3.5rem
    }
    .mt40-w {
        margin-top: 4rem
    }
    .mt45-w {
        margin-top: 4.5rem
    }
    .mt50-w {
        margin-top: 5rem
    }
    .mt55-w {
        margin-top: 5.5rem
    }
    .mt60-w {
        margin-top: 6rem
    }
    .mt65-w {
        margin-top: 6.5rem
    }
    .mt70-w {
        margin-top: 7rem
    }
    .mt75-w {
        margin-top: 7.5rem
    }
    .mt80-w {
        margin-top: 8rem
    }
    .mt85-w {
        margin-top: 8.5rem
    }
    .mt90-w {
        margin-top: 9rem
    }
    .mt95-w {
        margin-top: 9.5rem
    }
    .mt100-w {
        margin-top: 10rem
    }
    .mt110-w {
        margin-top: 11rem
    }
    .mt120-w {
        margin-top: 12rem
    }
    .mt130-w {
        margin-top: 13rem
    }
    .mt140-w {
        margin-top: 14rem
    }
    .mt150-w {
        margin-top: 15rem
    }
    .mra-w {
        margin-right: auto
    }
    .mla-w {
        margin-left: auto
    }
    .tar-w {
        text-align: right
    }
    .tal-w {
        text-align: left
    }
    .tac-w {
        text-align: center
    }
    .tdn-w {
        text-decoration: none
    }
    .tdu-w {
        text-decoration: underline
    }
    .vat-w {
        vertical-align: top
    }
    .w50p-w {
        width: 50% !important
    }
    .w100p-w {
        width: 100% !important
    }
    .fadein-w {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        opacity: 0
    }
    .fadein-w.scroll-fade {
        opacity: 1
    }
    .fadein-right-w {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(3rem, 0);
        transform: translate(3rem, 0);
        opacity: 0
    }
    .fadein-right-w.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-left-w {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(-3rem, 0);
        transform: translate(-3rem, 0);
        opacity: 0
    }
    .fadein-left-w.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-top-w {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(0, -3rem);
        transform: translate(0, -3rem);
        opacity: 0
    }
    .fadein-top-w.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-bottom-w {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(0, 3rem);
        transform: translate(0, 3rem);
        opacity: 0
    }
    .fadein-bottom-w.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
}
@media screen and (max-width: 767px) {
    .dn-n {
        display: none
    }
    .di-n {
        display: inline
    }
    .db-n {
        display: block
    }
    .dib-n {
        display: inline-block
    }
    .fwn-n {
        font-weight: 400
    }
    .fwb-n {
        font-weight: 700
    }
    .mt5-n {
        margin-top: .5rem
    }
    .mt6-n {
        margin-top: .6rem
    }
    .mt7-n {
        margin-top: .7rem
    }
    .mt8-n {
        margin-top: .8rem
    }
    .mt9-n {
        margin-top: .9rem
    }
    .mt10-n {
        margin-top: 1rem
    }
    .mt15-n {
        margin-top: 1.5rem
    }
    .mt20-n {
        margin-top: 2rem
    }
    .mt25-n {
        margin-top: 2.5rem
    }
    .mt30-n {
        margin-top: 3rem
    }
    .mt35-n {
        margin-top: 3.5rem
    }
    .mt40-n {
        margin-top: 4rem
    }
    .mt45-n {
        margin-top: 4.5rem
    }
    .mt50-n {
        margin-top: 5rem
    }
    .mt55-n {
        margin-top: 5.5rem
    }
    .mt60-n {
        margin-top: 6rem
    }
    .mt65-n {
        margin-top: 6.5rem
    }
    .mt70-n {
        margin-top: 7rem
    }
    .mt75-n {
        margin-top: 7.5rem
    }
    .mt80-n {
        margin-top: 8rem
    }
    .mt85-n {
        margin-top: 8.5rem
    }
    .mt90-n {
        margin-top: 9rem
    }
    .mt95-n {
        margin-top: 9.5rem
    }
    .mt100-n {
        margin-top: 10rem
    }
    .mt110-n {
        margin-top: 11rem
    }
    .mt120-n {
        margin-top: 12rem
    }
    .mt130-n {
        margin-top: 13rem
    }
    .mt140-n {
        margin-top: 14rem
    }
    .mt150-n {
        margin-top: 15rem
    }
    .mra-n {
        margin-right: auto
    }
    .mla-n {
        margin-left: auto
    }
    .tar-n {
        text-align: right
    }
    .tal-n {
        text-align: left
    }
    .tac-n {
        text-align: center
    }
    .tdn-n {
        text-decoration: none
    }
    .tdu-n {
        text-decoration: underline
    }
    .vat-n {
        vertical-align: top
    }
    .w50p-n {
        width: 50% !important
    }
    .w100p-n {
        width: 100% !important
    }
    .fadein-n {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        opacity: 0
    }
    .fadein-n.scroll-fade {
        opacity: 1
    }
    .fadein-right-n {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(2rem, 0);
        transform: translate(2rem, 0);
        opacity: 0
    }
    .fadein-right-n.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-left-n {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(-2rem, 0);
        transform: translate(-2rem, 0);
        opacity: 0
    }
    .fadein-left-n.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-top-n {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(0, -2rem);
        transform: translate(0, -2rem);
        opacity: 0
    }
    .fadein-top-n.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
    .fadein-bottom-n {
        -webkit-transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, -webkit-transform .8s;
        transition: opacity .8s, transform .8s;
        transition: opacity .8s, transform .8s, -webkit-transform .8s;
        -webkit-transform: translate(0, 2rem);
        transform: translate(0, 2rem);
        opacity: 0
    }
    .fadein-bottom-n.scroll-fade {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
        opacity: 1
    }
}
#__bs_notify__ {
    display: none !important
}
:root {
    --min-width: 1300;
    --max-width: 1500;
    --fz: clamp(10px, calc(100vw / var(--min-width) * 10), calc(var(--max-width) / 1300 * 10px));
    --scrollbar: 0;
    font-size: var(--fz)
}
@media screen and (max-width: 767px) {
    :root {
        --fz: calc(100 / 375 * 10vw)
    }
}
@media(-ms-high-contrast: none), (-ms-high-contrast: active) {
    :root {
        font-size: 10px
    }
}
html, body {
    font-family: "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
    color: #222;
    background: #fff none;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-overflow-scrolling: touch;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 400;
    line-height: 1.8
}
@media screen and (max-width: 767px) {
    html, body {
        font-size: 1.6rem;
        font-size: max(1.6rem, 16px);
        letter-spacing: 0em;
        line-height: 1.9
    }
}
@media screen and (min-width: 768px) {
    body *:focus-visible {
        outline: auto;
        outline-color: #CA7D50
    }
}
body *:focus-visible[tabindex="-1"] {
    outline: 0;
    outline-color: rgba(0, 0, 0, 0)
}
select, button, input, textarea {
    color: #222;
    font-family: "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif
}
span, em, strong, small {
    letter-spacing: inherit
}
button {
    text-align: left;
    cursor: pointer
}
* {
    min-width: 0
}
@media screen and (max-width: 767px) {
    .oh-open {
        overflow: hidden;
        width: 100%;
        position: fixed;
        left: 0
    }
}
.oh-open .overlay {
    opacity: 1;
    visibility: visible
}
@media screen and (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none
    }
}
a[href*=未設定], a[href=""] {
    color: red !important;
    outline: .2rem dashed red !important;
    background-color: #ff0 !important
}
.dummy {
    color: red !important;
    outline: .2rem dashed red !important;
    background-color: #ff0 !important
}
@media screen and (min-width: 768px) {
    #wrapper {
        min-width: 112.4rem
    }
}
@media screen and (max-width: 767px) {
    #wrapper {
        width: 100%
    }
}
#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    -webkit-transition: -webkit-box-shadow .25s ease, -webkit-transform .5s ease;
    transition: -webkit-box-shadow .25s ease, -webkit-transform .5s ease;
    transition: box-shadow .25s ease, transform .5s ease;
    transition: box-shadow .25s ease, transform .5s ease, -webkit-box-shadow .25s ease, -webkit-transform .5s ease
}
@media screen and (min-width: 768px) {
    #header.header--hidden {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
        -webkit-transition: -webkit-box-shadow .25s ease, -webkit-transform .25s ease;
        transition: -webkit-box-shadow .25s ease, -webkit-transform .25s ease;
        transition: box-shadow .25s ease, transform .25s ease;
        transition: box-shadow .25s ease, transform .25s ease, -webkit-box-shadow .25s ease, -webkit-transform .25s ease
    }
    #header:not(.header--hidden).header--scroll {
        -webkit-box-shadow: 0 0 2rem rgba(34, 34, 34, .2);
        box-shadow: 0 0 2rem rgba(34, 34, 34, .2)
    }
}
@media screen and (max-width: 767px) {
    #header.header--scroll {
        -webkit-box-shadow: 0 0 2rem rgba(34, 34, 34, .2);
        box-shadow: 0 0 2rem rgba(34, 34, 34, .2)
    }
}
#header .header__in {
    position: relative;
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1.3rem 1.8rem 0;
    background: #fff;
    -webkit-transition: -webkit-box-shadow .25s ease;
    transition: -webkit-box-shadow .25s ease;
    transition: box-shadow .25s ease;
    transition: box-shadow .25s ease, -webkit-box-shadow .25s ease
}
@media screen and (min-width: 768px) {
    #header .header__in {
        min-width: 112.4rem;
        min-height: 10rem;
        margin-right: auto;
        margin-left: auto
    }
}
@media screen and (max-width: 767px) {
    #header .header__in {
        height: 6rem;
        padding: 0 0 0 1rem
    }
}
@media screen and (min-width: 768px) {
    .header-logo {
        margin-bottom: 15px
    }
}
.header-logo .header-logo__link {
    width: 28.5rem;
    display: block
}
@media screen and (max-width: 767px) {
    .header-logo .header-logo__link {
        width: 19rem
    }
}
.pc-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse
}
@media screen and (max-width: 767px) {
    .pc-nav {
        display: none
    }
}
.pc-nav .pc-nav__main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.pc-nav .pc-nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.pc-nav .pc-nav-list__item:hover .pc-nav-list__link, .pc-nav .pc-nav-list__item:focus-within .pc-nav-list__link {
    color: #509DCA
}
.pc-nav .pc-nav-list__item:hover .pc-nav-list__link::after, .pc-nav .pc-nav-list__item:focus-within .pc-nav-list__link::after {
    -webkit-transform: translateY(0);
    transform: translateY(0)
}
.pc-nav .pc-nav-list__item:hover .pc-drop:not(.pc-drop--hidden), .pc-nav .pc-nav-list__item:focus-within .pc-drop:not(.pc-drop--hidden) {
    opacity: 1;
    visibility: visible
}
@media(hover: hover) {
    .pc-nav .pc-nav-list__item:hover .pc-drop:not(.pc-drop--hidden), .pc-nav .pc-nav-list__item:focus-within .pc-drop:not(.pc-drop--hidden) {
        -webkit-transition-delay: .25s;
        transition-delay: .25s
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-nav .pc-nav-list__item:hover .pc-drop:not(.pc-drop--hidden), .pc-nav .pc-nav-list__item:focus-within .pc-drop:not(.pc-drop--hidden) {
        -webkit-transition-delay: .25s;
        transition-delay: .25s
    }
}
.pc-nav a.pc-nav-list__link {
    cursor: pointer
}
.pc-nav .pc-nav-list__link {
    display: block;
    position: relative;
    top: .1rem;
    padding: 1.6rem 1.5rem;
    font-size: 1.5rem;
    font-size: max(1.5rem, 10px);
    line-height: 2;
    letter-spacing: .05em;
    font-weight: 700;
    overflow: hidden;
    -webkit-transition: color .25s ease;
    transition: color .25s ease;
    cursor: default
}
.pc-nav .pc-nav-list__link::after {
    content: "";
    position: absolute;
    bottom: -0.1rem;
    left: 0;
    right: 0;
    width: calc(100% - 3rem);
    height: .6rem;
    margin: 0 auto;
    background-color: #509DCA;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.pc-drop {
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    max-width: 130rem;
    height: calc(100svh - 10rem);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: visibility .25s ease, opacity .25s ease;
    transition: visibility .25s ease, opacity .25s ease;
    pointer-events: none
}
.pc-drop .pc-drop__in {
    width: 100rem;
    margin: 0 auto;
    padding: 5.2rem 6.2rem 5.3rem;
    background-color: #fff;
    border-radius: 0 0 2rem 2rem;
    border-top: .1rem solid #509DCA;
    -webkit-box-shadow: 0px 3rem 3rem 0px rgba(34, 34, 34, .2);
    box-shadow: 0px 3rem 3rem 0px rgba(34, 34, 34, .2);
    pointer-events: auto
}
.pc-drop .pc-drop__head {
    padding-bottom: 1.7rem;
    border-bottom: .1rem solid #509DCA
}
.pc-drop a.pc-drop__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .pc-drop a.pc-drop__ttl:hover {
        color: #509DCA
    }
    .pc-drop a.pc-drop__ttl:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .pc-drop a.pc-drop__ttl:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-drop a.pc-drop__ttl:hover {
        color: #509DCA
    }
    .pc-drop a.pc-drop__ttl:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .pc-drop a.pc-drop__ttl:hover .ico_svg .svg-path {
        fill: #fff
    }
}
.pc-drop a.pc-drop__ttl .ico_svg {
    width: 3.2rem;
    margin-left: 1.2rem
}
.pc-drop .pc-drop__ttl {
    font-size: 2.4rem;
    font-size: max(2.4rem, 10px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .1em
}
.pc-drop .pc-drop__body {
    margin-top: 3rem
}
.pc-drop .pc-drop__body>.pc-drop-list {
    margin-top: -1.5rem
}
.pc-drop-list.pc-drop-list--row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 1.7rem
}
.pc-drop-list .pc-drop-list__item {
    position: relative
}
.pc-drop-list .pc-drop-list__item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.pc-drop-list .pc-drop-list__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    padding: 1.4rem 0 1.2rem 5.2rem;
    font-size: 1.5rem;
    font-size: max(1.5rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .06em;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .pc-drop-list .pc-drop-list__link:hover {
        color: #509DCA
    }
    .pc-drop-list .pc-drop-list__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .pc-drop-list .pc-drop-list__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-drop-list .pc-drop-list__link:hover {
        color: #509DCA
    }
    .pc-drop-list .pc-drop-list__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .pc-drop-list .pc-drop-list__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
.pc-drop-list .pc-drop-list__link .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1rem;
    width: 2.6rem;
    margin: auto 0
}
.pc-drop-community {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 3rem
}
.pc-drop-community .pc-drop-community__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 1rem
}
.pc-drop-community .pc-drop-community__image {
    width: 10.7rem
}
.pc-drop-community .pc-drop-community__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding-top: .4rem
}
.pc-drop-community .pc-drop-community__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    padding: 0 0 1.1rem 1.2rem;
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .06em;
    color: #509DCA;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .pc-drop-community .pc-drop-community__link:hover {
        color: #CA7D50
    }
    .pc-drop-community .pc-drop-community__link:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
    .pc-drop-community .pc-drop-community__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-drop-community .pc-drop-community__link:hover {
        color: #CA7D50
    }
    .pc-drop-community .pc-drop-community__link:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
    .pc-drop-community .pc-drop-community__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
.pc-drop-community .pc-drop-community__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.pc-drop-community .pc-drop-community__link .ico_svg {
    width: 2.6rem;
    margin-left: 1rem
}
.pc-nav-quick {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 1.5rem;
    gap: 1rem
}
.pc-nav-quick__link {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-width: 11.8rem;
    padding: .5rem;
    min-height: 3.4rem;
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
    color: #fff;
    border-radius: 100vw;
    background-color: #509DCA;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}
@media(hover: hover) {
    .pc-nav-quick__link:hover {
        background-color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-nav-quick__link:hover {
        background-color: #CA7D50
    }
}
.pc-nav-other {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.pc-nav-other .pc-nav-other__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: 3rem
}
.pc-nav-other .pc-nav-other__item {
    position: relative;
    padding-right: 1.5rem
}
.pc-nav-other .pc-nav-other__item:nth-of-type(n + 2) {
    margin-left: 1.5rem
}
.pc-nav-other .pc-nav-other__item::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: .1rem;
    height: calc(100% - 0.6rem);
    margin: auto 0;
    background-color: #d1d1d1
}
.pc-nav-other .pc-nav-other__link {
    display: block;
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    line-height: 2;
    letter-spacing: .05em;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .pc-nav-other .pc-nav-other__link:hover {
        color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-nav-other .pc-nav-other__link:hover {
        color: #CA7D50
    }
}
.pc-nav-other .pc-nav-other__tel {
    /*margin-left: 2rem;*/
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 2.4rem;
    font-size: max(2.4rem, 10px);
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 40px;
}
.pc-nav-other .pc-nav-other__tel .ico_svg {
    width: 2rem;
    margin-right: .4rem
}
.pc-nav-info {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 1rem
}
.pc-nav-info .pc-nav-info__button {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-width: 9.3rem;
    padding: .2rem 1.2rem;
    min-height: 2.2rem;
    font-size: 1rem;
    font-size: max(1rem, 10px);
    line-height: 1;
    letter-spacing: 0;
    border-radius: 100vw;
    border: .1rem solid #d1d1d1;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media(hover: hover) {
    .pc-nav-info .pc-nav-info__button:hover {
        color: #fff;
        background-color: #509DCA
    }
    .pc-nav-info .pc-nav-info__button:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pc-nav-info .pc-nav-info__button:hover {
        color: #fff;
        background-color: #509DCA
    }
    .pc-nav-info .pc-nav-info__button:hover .ico_svg .svg-path {
        fill: #fff
    }
}
.pc-nav-info .pc-nav-info__button .ico_svg {
    width: 1.6rem;
    margin-right: .5rem
}
.pc-nav-info .pc-nav-info__scale:not(.pc-nav-info__scale--visible) {
    display: none
}
html[lang=ja] .language.language--ja {
    display: none
}
html:not([lang=ja]) .language.language--en {
    display: none
}
.menu {
    display: none;
    cursor: pointer
}
@media screen and (max-width: 767px) {
    .menu {
        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;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        overflow: hidden;
        width: 6rem;
        height: 6rem;
        background-color: #509DCA;
        border-radius: 0 0 0 1rem
    }
}
.menu .menu__btn {
    position: relative;
    width: 2.5rem;
    height: 2.5rem
}
.menu .menu__line {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    width: 2.5rem;
    height: .2rem;
    margin: auto;
    opacity: 1;
    background-color: #fff;
    -webkit-transition: top .25s .125s ease, width .125s ease, -webkit-transform .125s ease;
    transition: top .25s .125s ease, width .125s ease, -webkit-transform .125s ease;
    transition: top .25s .125s ease, transform .125s ease, width .125s ease;
    transition: top .25s .125s ease, transform .125s ease, width .125s ease, -webkit-transform .125s ease
}
.menu .menu__line:nth-of-type(2) {
    top: -1.6rem;
    width: 60%
}
.menu .menu__line:nth-of-type(3) {
    top: 1.6rem;
    width: 60%
}
.menu .menu__txt {
    position: relative;
    display: block;
    margin-top: .2rem;
    text-align: center;
    font-size: 1rem;
    font-size: max(1rem, 10px);
    line-height: 1.7;
    font-weight: 700;
    color: #fff;
    overflow: hidden
}
.menu .menu__txt::after {
    content: "メニュー";
    display: block;
    position: relative;
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.menu .menu__txt::before {
    content: "閉じる";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.menu.menu--open .menu__line {
    -webkit-transition: top .125s ease, width .125s ease, -webkit-transform .25s .125s ease;
    transition: top .125s ease, width .125s ease, -webkit-transform .25s .125s ease;
    transition: top .125s ease, transform .25s .125s ease, width .125s ease;
    transition: top .125s ease, transform .25s .125s ease, width .125s ease, -webkit-transform .25s .125s ease
}
.menu.menu--open .menu__line:nth-of-type(1) {
    -webkit-transform: rotate(137deg);
    transform: rotate(137deg)
}
.menu.menu--open .menu__line:nth-of-type(2) {
    top: 0;
    width: 100%;
    -webkit-transform: rotate(137deg);
    transform: rotate(137deg)
}
.menu.menu--open .menu__line:nth-of-type(3) {
    top: 0;
    width: 100%;
    -webkit-transform: rotate(-137deg);
    transform: rotate(-137deg);
    opacity: 1
}
.menu.menu--open .menu__txt::before, .menu.menu--open .menu__txt::after {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}
.nav {
    display: none
}
@media screen and (max-width: 767px) {
    .nav {
        display: block;
        position: fixed;
        top: 6rem;
        left: 0;
        width: 100%;
        height: calc(var(--vh, 1vh)*100 - 6rem);
        height: calc(100dvh - 6rem);
        background: #3aadf4;
        overflow: auto;
        opacity: 0;
        visibility: hidden;
        -webkit-transition: opacity .5s ease, visibility .5s ease;
        transition: opacity .5s ease, visibility .5s ease
    }
    .nav.nav--active {
        opacity: 1;
        visibility: visible
    }
}
.nav .nav__in {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content
}
.nav .nav__main {
    padding: 2.6rem 1rem 16.5rem
}
@media screen and (max-width: 767px) {
    .nav .nav__main {
        background: url(../img/bg_navi.jpg) bottom/100% auto no-repeat
    }
}
.nav .nav-quick01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.nav .nav-quick01__item {
    width: calc((100% - 0.5rem)/2)
}
.nav .nav-quick01__link {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: 6rem;
    font-size: 1.3rem;
    font-size: max(1.3rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .06em;
    color: #509DCA;
    background-color: #fff;
    border-radius: 100vw
}
.nav .nav-quick01__link .ico_svg {
    width: 2.5rem;
    margin-right: 1.5rem
}
.nav .nav-quick01__link .ico_svg.ico_tel .svg-path {
    fill: #ff8cbc;
    stroke: #222
}
.nav .nav-quick01__link .ico_illust {
    width: 3.6rem;
    margin-right: 1rem
}
.nav .nav-quick02 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
    margin-top: 1rem
}
.nav .nav-quick02__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -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;
    padding: .6rem 0 1rem;
    border-radius: 1rem;
    background-color: #fff
}
.nav .nav-quick02__link .ico_illust {
    width: 4.2rem
}
.nav .nav-quick02__link.nav-quick02__link--01 {
    color: #09b9a4
}
.nav .nav-quick02__link.nav-quick02__link--02 {
    color: #6db55c
}
.nav .nav-quick02__link.nav-quick02__link--03 {
    color: #6cb8c7
}
.nav .nav-quick02__link.nav-quick02__link--04 {
    color: #da1111
}
.nav .nav-quick02__link.nav-quick02__link--05 {
    color: #CA7D50
}
.nav .nav-quick02__link.nav-quick02__link--06 {
    color: #7e57a0
}
.nav .nav-quick02__txt {
    margin-top: .2rem;
    text-align: center;
    font-size: 1.1rem;
    font-size: max(1.1rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0
}
.nav .nav-quick03 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
    margin-top: 1rem
}
.nav .nav-quick03__link {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 100%;
    min-height: 6.6rem;
    text-align: center;
    font-size: 1.1rem;
    font-size: max(1.1rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .06em;
    color: #fff;
    border: .1rem solid #fff;
    border-radius: 1rem
}
.nav .nav-cnt {
    margin-top: 2.6rem;
    padding: 1.1rem 2rem 2.6rem;
    border-radius: 1rem;
    background-color: #fff
}
.nav .nav-list__item {
    position: relative
}
.nav .nav-list__item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.nav .nav-list__link {
    display: block;
    position: relative;
    min-height: 5.6rem;
    padding: 1.5rem .9rem;
    font-size: 1.5rem;
    font-size: max(1.5rem, 10px);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.4
}
.nav .nav-list__link.nav-list__link--current {
    color: #CA7D50
}
.nav .nav-child {
    background-color: #f4f2eb
}
.nav .nav-child__item {
    position: relative
}
.nav .nav-child__item::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.nav .nav-child__link {
    display: block;
    position: relative;
    min-height: 4.6rem;
    padding: 1rem .9rem 1rem 1.9rem
}
.nav .nav-child__link .ico_svg .svg-circle {
    fill: rgba(0, 0, 0, 0)
}
.nav .nav-child__link.nav-child__link--current {
    color: #CA7D50
}
.nav .nav-other {
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem
}
.nav .nav-other__link {
    display: block;
    position: relative;
    padding-left: 2.2rem;
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0
}
.nav .nav-other__link::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: .3rem;
    margin: auto 0;
    width: .6rem;
    height: .6rem;
    border-radius: 50%;
    background-color: #CA7D50
}
.nav .nav-search {
    margin: 2.6rem auto 0;
    width: 31.5rem
}
.nav .nav-search__txt {
    text-align: center;
    font-size: 1.5rem;
    font-size: max(1.5rem, 10px);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .06em
}
.nav .nav-search__form {
    position: relative;
    margin-top: 1.2rem
}
.nav .nav-search__form .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1rem;
    margin: auto 0;
    width: 4.4rem;
    pointer-events: none
}
.nav .nav-search__form .ico_svg .svg-path {
    fill: #509DCA
}
.nav .nav-search__input {
    width: 100% !important;
    height: 6rem;
    border: .1rem solid #d1d1d1 !important;
    background-color: #fff !important;
    border-radius: 100vw !important;
    padding-left: 5.8rem;
    padding-right: 8.8rem;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px)
}
.nav .nav-search__input::-webkit-input-placeholder {
    color: #676767
}
.nav .nav-search__input::-moz-placeholder {
    color: #676767
}
.nav .nav-search__input:-ms-input-placeholder {
    color: #676767
}
.nav .nav-search__input::-ms-input-placeholder {
    color: #676767
}
.nav .nav-search__input::placeholder {
    color: #676767
}
.nav .nav-search__submit {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    margin: auto 0;
    width: 7.2rem;
    height: 3.2rem;
    font-size: 1rem;
    font-size: max(1rem, 10px);
    line-height: 1;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff;
    border-radius: 100vw;
    background-color: #509DCA
}
.nav .nav__close {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    min-height: 6rem;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .02em;
    background-color: #fff
}
.nav .nav__close .ico_svg {
    width: 2.5rem;
    margin-right: 1.1rem
}
.overlay {
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    width: 100%;
    height: 130%;
    background-color: rgba(209, 209, 209, .6);
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .5s ease, visibility .5s ease;
    transition: opacity .5s ease, visibility .5s ease;
    -webkit-backdrop-filter: blur(1.5rem);
    backdrop-filter: blur(1.5rem)
}
.fixed-nav {
    position: absolute;
    z-index: -1;
    top: 100%;
    left: 0;
    width: 100%;
    background-color: #d1d1d1;
    -webkit-transform: translateY(-105%);
    transform: translateY(-105%);
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.fixed-nav.fixed-nav--visible {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    -webkit-transition: -webkit-transform .5s ease;
    transition: -webkit-transform .5s ease;
    transition: transform .5s ease;
    transition: transform .5s ease, -webkit-transform .5s ease
}
@media screen and (max-width: 767px) {
    .fixed-nav {
        display: none
    }
}
.fixed-nav .fixed-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: .1rem solid #d1d1d1;
    border-bottom: .1rem solid #d1d1d1;
    gap: 1px
}
.fixed-nav .fixed-nav__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
.fixed-nav .fixed-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    height: 100%;
    min-height: 6rem;
    padding: 0 2rem;
    font-size: 1.3rem;
    font-size: max(1.3rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.6;
    line-height: 1.2;
    color: #509DCA;
    background-color: #eff6f8;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease;
    overflow: hidden
}
@media(hover: hover) {
    .fixed-nav .fixed-nav__link:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .fixed-nav .fixed-nav__link:hover {
        color: #fff;
        background-color: #509DCA
    }
}
.fixed-nav .fixed-nav__link::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -0.5rem;
    margin: auto 0;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: #4684d7
}
.header-search {
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: calc(100svh - 10rem);
    padding-top: 8.2rem;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    overflow-y: auto;
    -webkit-transition: opacity .5s ease, visibility .5s ease;
    transition: opacity .5s ease, visibility .5s ease;
    pointer-events: none
}
@media screen and (max-width: 767px) {
    .header-search {
        display: none
    }
}
.header-search.header-search--visible {
    opacity: 1;
    visibility: visible
}
.header-search .header-search__main {
    position: relative;
    width: 100rem;
    margin: 0 auto;
    padding: 6.5rem 0 5.5rem;
    background-color: #fff;
    border-radius: 2rem;
    -webkit-box-shadow: .5rem .5rem 3rem 0rem rgba(34, 34, 34, .2);
    box-shadow: .5rem .5rem 3rem 0rem rgba(34, 34, 34, .2);
    pointer-events: auto
}
.header-search .header-search__close {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 2rem;
    right: 2rem;
    font-size: 1.5rem;
    font-size: max(1.5rem, 10px);
    line-height: 1.8;
    font-weight: 500;
    letter-spacing: .02em;
    -webkit-transition: color .25s;
    transition: color .25s
}
@media(hover: hover) {
    .header-search .header-search__close:hover {
        color: #CA7D50
    }
    .header-search .header-search__close:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .header-search .header-search__close:hover {
        color: #CA7D50
    }
    .header-search .header-search__close:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
.header-search .header-search__close .ico_svg {
    width: 2.5rem
}
.header-search .header-search__ttl {
    text-align: center;
    font-size: 2.4rem;
    font-size: max(2.4rem, 10px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .1em
}
.header-search .header-search__form {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 60rem;
    margin: 2.3rem auto 0;
    border: .1rem solid #d1d1d1;
    padding: 1.6rem 2.5rem;
    gap: 1.3rem;
    border-radius: 100vw
}
.header-search .header-search__form .ico_search {
    width: 3.6rem
}
.header-search .header-search__form .ico_search .svg-path {
    fill: #509DCA
}
.header-search .header-search__input {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    height: 100%;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    line-height: 1.8;
    letter-spacing: .02em
}
.header-search .header-search__input::-webkit-input-placeholder {
    color: #676767
}
.header-search .header-search__input::-moz-placeholder {
    color: #676767
}
.header-search .header-search__input:-ms-input-placeholder {
    color: #676767
}
.header-search .header-search__input::-ms-input-placeholder {
    color: #676767
}
.header-search .header-search__input::placeholder {
    color: #676767
}
.header-search .header-search__submit {
    padding: 1.2rem 2rem;
    font-weight: 700;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
    background-color: #509DCA;
    border-radius: 100vw;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}
@media(hover: hover) {
    .header-search .header-search__submit:hover {
        background-color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .header-search .header-search__submit:hover {
        background-color: #CA7D50
    }
}
#main {
    margin-top: 10rem;
    overflow: hidden
}
@media screen and (min-width: 768px) {
    #main {
        display: block
    }
}
@media screen and (max-width: 767px) {
    #main {
        margin-top: 7rem
    }
}
#container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: 0 6rem;
    width: 110rem;
    margin-left: auto;
    margin-right: auto
}
@media screen and (min-width: 768px) {
    #container:has(#sidebar) #contents {
        width: calc(100% - 29rem)
    }
}
@media screen and (max-width: 767px) {
    #container {
        width: 100%
    }
}
@media screen and (max-width: 767px) {
    #contents {
        width: 100%
    }
}
#sidebar {
    width: 23rem
}
@media screen and (max-width: 767px) {
    #sidebar {
        display: none
    }
}
#sidebar a.sidebar-nav__ttl {
    -webkit-transition: color .25s ease, border-color .25s ease;
    transition: color .25s ease, border-color .25s ease
}
@media(hover: hover) {
    #sidebar a.sidebar-nav__ttl:hover {
        color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #sidebar a.sidebar-nav__ttl:hover {
        color: #CA7D50
    }
}
#sidebar .sidebar-nav__ttl {
    position: relative;
    display: block;
    padding: .8rem 0 .8rem 3rem;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    font-weight: 700;
    line-height: 2;
    letter-spacing: .05em;
    color: #509DCA;
    border-bottom: .1rem solid #509DCA
}
#sidebar .sidebar-nav__ttl::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: .9rem;
    width: 1rem;
    height: 1rem;
    margin: auto 0;
    background: url(../img/ico_circle01.svg) center/contain no-repeat
}
#sidebar .sidebar-nav__list {
    margin-top: 1rem
}
#sidebar .sidebar-nav__item:nth-of-type(n + 2) {
    margin-top: .8rem
}
#sidebar .sidebar-nav__link {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    padding: 1rem 0 1rem 3rem;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 400;
    line-height: 1.8;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease;
    position: relative
}
@media screen and (max-width: 767px) {
    #sidebar .sidebar-nav__link {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.9
    }
}
#sidebar .sidebar-nav__link.sidebar-nav__link--current {
    background-color: #f4f2eb
}
@media(hover: hover) {
    #sidebar .sidebar-nav__link:hover {
        color: #509DCA
    }
    #sidebar .sidebar-nav__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    #sidebar .sidebar-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #sidebar .sidebar-nav__link:hover {
        color: #509DCA
    }
    #sidebar .sidebar-nav__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    #sidebar .sidebar-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
#sidebar .sidebar-nav__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
#sidebar .sidebar-nav__link .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: .5rem;
    width: 1.9rem;
    height: 1.9rem;
    margin: auto 0
}
#sidebar .sidebar-nav__link+.ttl-toggle__ico {
    padding-right: .7rem;
    padding-left: .8rem
}
#sidebar .sidebar-nav__link+.ttl-toggle__ico .ico_svg {
    width: 1.9rem
}
#sidebar .sidebar-child {
    margin-top: .8rem;
    padding-left: 2.5rem
}
#sidebar .sidebar-child__item:nth-of-type(n + 2) {
    margin-top: .6rem
}
#sidebar .sidebar-child__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    padding-left: 2.3rem;
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    line-height: 2.2;
    letter-spacing: .02em;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
#sidebar .sidebar-child__link.sidebar-child__link--current {
    background-color: #f4f2eb
}
@media(hover: hover) {
    #sidebar .sidebar-child__link:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #sidebar .sidebar-child__link:hover {
        color: #fff;
        background-color: #509DCA
    }
}
#sidebar .sidebar-child__link::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: .2rem;
    margin: auto 0;
    width: 1.9rem;
    height: 1.9rem;
    background: url(../img/svg/ico_point.svg) center/contain no-repeat
}
#sidebar .sidebar-quick {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 2rem
}
#sidebar .sidebar-quick__item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
#sidebar .sidebar-quick__item.sidebar-quick__item--wide {
    width: 100%;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none
}
#sidebar .sidebar-quick__item.sidebar-quick__item--wide .sidebar-quick__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1.1rem
}
#sidebar .sidebar-quick__item.sidebar-quick__item--wide .sidebar-quick__link .ico_illust {
    margin: 0 .8rem 0 0
}
#sidebar .sidebar-quick__item.sidebar-quick__item--wide .sidebar-quick__link .sidebar-quick__txt {
    margin: 0
}
#sidebar .sidebar-quick__link {
    display: block;
    padding: .8rem 0 1rem;
    border-radius: .5rem;
    background-color: #f4f2eb;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media(hover: hover) {
    #sidebar .sidebar-quick__link:hover {
        color: #fff;
        background-color: #3dbdd7
    }
    #sidebar .sidebar-quick__link:hover.sidebar-quick__link--green {
        background-color: #6db55c
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #sidebar .sidebar-quick__link:hover {
        color: #fff;
        background-color: #3dbdd7
    }
    #sidebar .sidebar-quick__link:hover.sidebar-quick__link--green {
        background-color: #6db55c
    }
}
#sidebar .sidebar-quick__link .ico_illust {
    display: block;
    width: 5.8rem;
    margin: 0 auto
}
#sidebar .sidebar-quick__link .sidebar-quick__txt {
    margin-top: .8rem;
    text-align: center;
    font-size: 1.3rem;
    font-size: max(1.3rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0
}
#sidebar .sidebar-quick__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    padding: 1.8rem 4.5rem 1.8rem 2.5rem;
    border-radius: .5rem;
    background-color: #f4f2eb;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media(hover: hover) {
    #sidebar .sidebar-quick__btn:hover {
        color: #fff;
        background-color: #CA7D50
    }
    #sidebar .sidebar-quick__btn:hover .ico_svg .svg-circle {
        fill: #fff
    }
    #sidebar .sidebar-quick__btn:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #sidebar .sidebar-quick__btn:hover {
        color: #fff;
        background-color: #CA7D50
    }
    #sidebar .sidebar-quick__btn:hover .ico_svg .svg-circle {
        fill: #fff
    }
    #sidebar .sidebar-quick__btn:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
#sidebar .sidebar-quick__btn .ico_illust {
    width: 3.5rem;
    margin-right: 1rem
}
#sidebar .sidebar-quick__btn .sidebar-quick__txt {
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0
}
#sidebar .sidebar-quick__btn .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.1rem;
    width: 2.4rem;
    margin: auto 0
}
#sidebar .sidebar-quick__btn .ico_svg .svg-circle {
    fill: rgba(0, 0, 0, 0)
}
#sidebar .sidebar-quick__btn .ico_svg .svg-path {
    fill: #222
}
.pagetop__wrp {
    position: relative;
    width: 100%;
    height: 0;
    margin-right: auto;
    margin-left: auto
}
.pagetop {
    position: relative;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: opacity .25s ease, visibility 0s .25s ease;
    transition: opacity .25s ease, visibility 0s .25s ease
}
.pagetop.pagetop--show {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .25s ease, visibility 0s ease;
    transition: opacity .25s ease, visibility 0s ease
}
.pagetop a {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: fixed;
    z-index: 100;
    right: 3rem;
    bottom: 10rem;
    width: 7.2rem
}
@media(hover: hover) {
    .pagetop a:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .pagetop a:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
}
@media screen and (max-width: 767px) {
    .pagetop a {
        right: 1.5rem;
        bottom: 6rem;
        width: 6rem
    }
}
.breadcrumb {
    margin-top: 10rem
}
@media screen and (max-width: 767px) {
    .breadcrumb {
        margin-top: 6rem
    }
}
.breadcrumb a.breadcrumb__link {
    color: #222;
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0);
    -webkit-transition: color .25s ease, text-decoration-color .25s ease;
    transition: color .25s ease, text-decoration-color .25s ease
}
@media(hover: hover) {
    .breadcrumb a.breadcrumb__link:hover {
        color: #509DCA;
        text-decoration-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .breadcrumb a.breadcrumb__link:hover {
        color: #509DCA;
        text-decoration-color: #509DCA
    }
}
.breadcrumb .breadcrumb__list {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-bottom: 1rem
}
@media screen and (min-width: 768px) {
    .breadcrumb .breadcrumb__list {
        width: 110rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (max-width: 767px) {
    .breadcrumb .breadcrumb__list {
        width: 100%;
        padding: 0 1rem 1rem
    }
}
.breadcrumb .breadcrumb__item {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}
.breadcrumb .breadcrumb__item:not(:last-child)::after {
    content: "";
    width: 1.2rem;
    height: .1rem;
    margin: 0 1.2rem;
    background-color: #d1d1d1
}
@media screen and (max-width: 767px) {
    .breadcrumb .breadcrumb__item:not(:last-child)::after {
        width: .8rem;
        margin: 0 .6rem
    }
}
.breadcrumb .breadcrumb__link {
    display: block;
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    line-height: 1.8;
    letter-spacing: .05em;
    color: #509DCA
}
#footer .footer__in {
    position: relative;
    z-index: 1;
    padding: 5rem 0 10.6rem
}
@media screen and (max-width: 767px) {
    #footer .footer__in {
        padding: 5rem 2.5rem 12.2rem
    }
}
#footer .footer__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}
#footer .footer__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 70%;
    object-position: 50% 70%
}
#footer .footer__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto
}
@media screen and (min-width: 768px)and (min-width: 768px) {
    #footer .footer__wrap {
        width: 100rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (max-width: 767px) {
    #footer .footer__wrap {
        display: block
    }
}
#footer .footer__logo {
    display: block;
    width: 28.5rem
}
@media screen and (max-width: 767px) {
    #footer .footer__logo {
        margin: 0 auto
    }
}
@media screen and (max-width: 767px) {
    #footer .footer__cnt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }
}
#footer .footer__address {
    font-size: 1.1rem;
    font-size: max(1.1rem, 10px);
    line-height: 1.55;
    letter-spacing: 0
}
#footer .footer__tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 2.4rem;
    font-size: max(2.4rem, 10px);
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    line-height: 1;
    letter-spacing: .05em
}
#footer .footer__tel .ico_svg {
    width: 2.8rem;
    margin-right: 1.3rem
}
@media screen and (max-width: 767px) {
    #footer .footer__tel .ico_svg {
        margin-right: .6rem
    }
}
#footer .footer__iso {
    display: block;
    width: 14.6rem
}
@media screen and (max-width: 767px) {
    #footer .footer__iso {
        width: 9.6rem
    }
}
#footer .footer__copy {
    font-size: 1.1rem;
    font-size: max(1.1rem, 10px);
    line-height: 1.65
}
#footer .footer-nav__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    gap: 0 3rem
}
@media screen and (max-width: 767px) {
    #footer .footer-nav__in {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 0 1.8rem
    }
}
#footer .footer-nav__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: .6rem
}
#footer .footer-nav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 1.3rem;
    font-size: max(1.3rem, 10px);
    line-height: 2.2;
    letter-spacing: .05em;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media screen and (max-width: 767px) {
    #footer .footer-nav__link {
        font-size: 1.6rem;
        font-size: max(1.6rem, 16px);
        letter-spacing: .05em
    }
}
#footer .footer-nav__link .ico_svg {
    width: 1.5rem;
    margin-right: .8rem
}
@media screen and (max-width: 767px) {
    #footer .footer-nav__link .ico_svg {
        margin-right: .5rem
    }
}
@media(hover: hover) {
    #footer .footer-nav__link:hover {
        color: #4684d7
    }
    #footer .footer-nav__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    #footer .footer-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    #footer .footer-nav__link:hover {
        color: #4684d7
    }
    #footer .footer-nav__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    #footer .footer-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
#footer .footer-copy {
    padding: 1.1rem
}
@media screen and (min-width: 768px) {
    #footer .footer-copy {
        display: none
    }
}
#footer .footer-copy .footer-copy__txt {
    text-align: center;
    font-size: 1.1rem;
    font-size: max(1.1rem, 10px);
    line-height: 1.65;
    letter-spacing: .05em
}
.sitemap .sitemap-button {
    background: #509DCA;
    padding-block: 2rem;
    width: 100%;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}
.sitemap .sitemap-button+* {
    display: none
}
@media(hover: hover) {
    .sitemap .sitemap-button:hover {
        background-color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .sitemap .sitemap-button:hover {
        background-color: #CA7D50
    }
}
.sitemap .sitemap-button.sitemap-button--active .sitemap-button__line {
    -webkit-transition: top .125s ease, width .125s ease, -webkit-transform .25s .125s ease;
    transition: top .125s ease, width .125s ease, -webkit-transform .25s .125s ease;
    transition: top .125s ease, transform .25s .125s ease, width .125s ease;
    transition: top .125s ease, transform .25s .125s ease, width .125s ease, -webkit-transform .25s .125s ease
}
.sitemap .sitemap-button.sitemap-button--active .sitemap-button__line:nth-of-type(1) {
    -webkit-transform: rotate(137deg);
    transform: rotate(137deg)
}
.sitemap .sitemap-button.sitemap-button--active .sitemap-button__line:nth-of-type(2) {
    top: 0;
    width: 100%;
    -webkit-transform: rotate(137deg);
    transform: rotate(137deg)
}
.sitemap .sitemap-button.sitemap-button--active .sitemap-button__line:nth-of-type(3) {
    top: 0;
    width: 100%;
    -webkit-transform: rotate(-137deg);
    transform: rotate(-137deg);
    opacity: 1
}
.sitemap .sitemap-button.sitemap-button--active .sitemap-button__txt::before, .sitemap .sitemap-button.sitemap-button--active .sitemap-button__txt::after {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%)
}
.sitemap .sitemap-button__in {
    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
}
.sitemap .sitemap-button__icon {
    display: block;
    position: relative;
    width: 2.5rem;
    aspect-ratio: 1
}
.sitemap .sitemap-button__line {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    display: block;
    width: 2.5rem;
    height: .2rem;
    margin: auto;
    opacity: 1;
    background-color: #fff;
    -webkit-transition: top .25s .125s ease, width .125s ease, -webkit-transform .125s ease;
    transition: top .25s .125s ease, width .125s ease, -webkit-transform .125s ease;
    transition: top .25s .125s ease, transform .125s ease, width .125s ease;
    transition: top .25s .125s ease, transform .125s ease, width .125s ease, -webkit-transform .125s ease
}
.sitemap .sitemap-button__line:nth-of-type(2) {
    top: -1.6rem;
    width: 60%
}
.sitemap .sitemap-button__line:nth-of-type(3) {
    top: 1.6rem;
    width: 60%
}
.sitemap .sitemap-button__txt {
    position: relative;
    display: block;
    margin-left: 1.3rem;
    padding-right: 2em;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    overflow: hidden;
    white-space: nowrap
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap-button__txt {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.5
    }
}
.sitemap .sitemap-button__txt::after {
    content: "サイトマップをみる";
    display: block;
    position: relative;
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.sitemap .sitemap-button__txt::before {
    content: "サイトマップをとじる";
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
.sitemap .sitemap__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 3rem;
    margin-bottom: 10rem
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap__in {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: .6rem;
        margin-bottom: 6rem
    }
}
@media screen and (min-width: 768px) {
    .sitemap .sitemap__block {
        width: 23rem
    }
    .sitemap .sitemap__block.sitemap__block--large {
        width: 47rem
    }
    .sitemap .sitemap__block.sitemap__block--department {
        display: grid;
        gap: 0 1rem
    }
    .sitemap .sitemap__block.sitemap__block--department .sitemap__block:nth-of-type(1) {
        grid-column: 1/2;
        grid-row: 1/3
    }
    .sitemap .sitemap__block.sitemap__block--department .sitemap__block:nth-of-type(2) {
        grid-column: 2/3;
        grid-row: 1/2
    }
    .sitemap .sitemap__block.sitemap__block--department .sitemap__block:nth-of-type(3) {
        grid-column: 2/3;
        grid-row: 2/3
    }
}
.sitemap .sitemap__link01 {
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em;
    padding: .8rem 0 .9rem 3rem;
    margin-top: 2rem;
    border-bottom: max(1px, .1rem) solid #509DCA;
    color: #509DCA;
    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;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
.sitemap .sitemap__link01 .ico_svg .svg-circle {
    fill: rgba(0, 0, 0, 0)
}
.sitemap .sitemap__link01.sitemap__link01--current {
    background-color: #f4f2eb
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap__link01 {
        font-size: 1.5rem;
        font-size: max(1.5rem, 10px)
    }
}
@media(hover: hover) {
    .sitemap .sitemap__link01:hover {
        color: #CA7D50
    }
    .sitemap .sitemap__link01:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .sitemap .sitemap__link01:hover {
        color: #CA7D50
    }
    .sitemap .sitemap__link01:hover .ico_svg .svg-path {
        fill: #CA7D50
    }
}
.sitemap .sitemap__link01::before {
    content: "";
    position: absolute;
    top: 2rem;
    left: .9rem;
    width: 1rem;
    aspect-ratio: 1;
    background: url(../img/svg/ico_circle01.svg) no-repeat center/contain
}
.sitemap .sitemap__link01 .ico_svg {
    width: 1.9rem;
    -ms-flex-negative: 0;
    flex-shrink: 0
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap__link01 .ico_svg {
        width: 2.4rem
    }
}
.sitemap .sitemap__link02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: .6rem;
    padding: 1rem 0 1rem .5rem;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .sitemap .sitemap__link02:hover {
        color: #509DCA
    }
    .sitemap .sitemap__link02:hover .svg-circle {
        fill: #509DCA
    }
    .sitemap .sitemap__link02:hover .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .sitemap .sitemap__link02:hover {
        color: #509DCA
    }
    .sitemap .sitemap__link02:hover .svg-circle {
        fill: #509DCA
    }
    .sitemap .sitemap__link02:hover .svg-path {
        fill: #fff
    }
}
.sitemap .sitemap__link02::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: max(1px, .1rem);
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) repeat-x left/0.4rem 100%;
    background: linear-gradient(to right, #d1d1d1 50%, transparent 50%) repeat-x left/0.4rem 100%
}
.sitemap .sitemap__link02.sitemap__link02--current {
    background: #f4f2eb
}
.sitemap .sitemap__link02 .ico_svg {
    width: 1.9rem;
    -ms-flex-negative: 0;
    flex-shrink: 0
}
.sitemap .sitemap__link03 {
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    font-weight: 400;
    line-height: 2.2;
    letter-spacing: .02em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-item-align: center;
    align-self: center;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap__link03 {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px)
    }
}
@media(hover: hover) {
    .sitemap .sitemap__link03:hover {
        color: #fff;
        background: #509DCA
    }
    .sitemap .sitemap__link03:hover .svg-path {
        stroke: #fff
    }
    .sitemap .sitemap__link03:hover .svg-circle {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .sitemap .sitemap__link03:hover {
        color: #fff;
        background: #509DCA
    }
    .sitemap .sitemap__link03:hover .svg-path {
        stroke: #fff
    }
    .sitemap .sitemap__link03:hover .svg-circle {
        fill: #fff
    }
}
.sitemap .sitemap__link03.sitemap__link03--current:not(:hover) {
    background: #f4f2eb
}
.sitemap .sitemap__link03 .ico_svg {
    width: 2.3rem;
    -ms-flex-negative: 0;
    flex-shrink: 0
}
.sitemap .sitemap-list {
    margin-top: 1rem
}
.sitemap .sitemap-list__item:nth-of-type(n + 2) {
    margin-top: .8rem
}
.sitemap .sitemap-list-children__item {
    margin-left: 2.5rem;
    margin-top: .9rem
}
@media screen and (max-width: 767px) {
    .sitemap .sitemap-list-children__item {
        margin-left: 3rem
    }
}
.flex1 {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
@media screen and (min-width: 768px) {
    .flex1-w {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}
@media screen and (max-width: 767px) {
    .flex1-n {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1
    }
}
.bb-dash {
    position: relative
}
.bb-dash::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.sec {
    margin-top: 8rem
}
@media screen and (max-width: 767px) {
    .sec {
        margin-top: 5rem
    }
}
@media screen and (min-width: 768px) {
    .w1100 {
        width: 110rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (min-width: 768px) {
    .w1000 {
        width: 100rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (min-width: 768px) {
    .w810 {
        width: 81rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (min-width: 768px) {
    .w390-w {
        width: 39rem
    }
}
@media screen and (max-width: 767px) {
    .inner {
        width: 34.5rem;
        margin-left: auto;
        margin-right: auto
    }
}
.dot {
    padding-left: 1em;
    text-indent: -1em
}
.dot::before {
    content: "・"
}
.maru {
    padding-left: 1em;
    text-indent: -1em
}
.maru::before {
    content: "●"
}
.kome {
    padding-left: 1em;
    text-indent: -1em
}
.kome::before {
    content: "※"
}
@media screen and (min-width: 768px) {
    .indent {
        padding-left: 2rem
    }
}
*::before, *::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
.ico_svg, .ico_illust {
    width: 100%;
    height: auto
}
.ico_svg .svg-circle, .ico_illust .svg-circle {
    -webkit-transition: fill .25s ease, stroke .25s ease;
    transition: fill .25s ease, stroke .25s ease
}
.ico_svg .svg-path, .ico_illust .svg-path {
    -webkit-transition: fill .25s ease, stroke .25s ease;
    transition: fill .25s ease, stroke .25s ease
}
.c-black {
    color: #222
}
.c-gray {
    color: #d1d1d1
}
.c-white {
    color: #fff
}
.c-orange {
    color: #CA7D50
}
.c-blue {
    color: #509DCA
}
.c-beige {
    color: #f4f2eb
}
.c-red {
    color: #da1111
}
.c-green {
    color: #6db55c
}
.c-lightgreen {
    color: #e4f2ed
}
.c-lightblue {
    color: #eff6f8
}
.c-skyblue {
    color: #4684d7
}
.c-darkgray {
    color: #767676
}
.c-darkgreen {
    color: #369fa0
}
.c-purple {
    color: #c13eb6
}
.c-lightpurple {
    color: #f5eff8
}
.bgc-black {
    background-color: #222 !important
}
.bgc-gray {
    background-color: #d1d1d1 !important
}
.bgc-white {
    background-color: #fff !important
}
.bgc-orange {
    background-color: #CA7D50 !important
}
.bgc-blue {
    background-color: #509DCA !important
}
.bgc-beige {
    background-color: #f4f2eb !important
}
.bgc-red {
    background-color: #da1111 !important
}
.bgc-green {
    background-color: #6db55c !important
}
.bgc-lightblue {
    background-color: #eff6f8 !important
}
.bgc-skyblue {
    background-color: #4684d7 !important
}
.bgc-darkgray {
    background-color: #767676 !important
}
.bgc-darkgreen {
    background-color: #369fa0 !important
}
.bgc-purple {
    background-color: #c13eb6
}
.bgc-lightpurple {
    background-color: #f5eff8
}
.font-family {
    font-family: "Noto Sans JP", Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif
}
.ff-jost {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal
}
.txt-basic {
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 400;
    line-height: 1.8
}
@media screen and (max-width: 767px) {
    .txt-basic {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.9
    }
}
.txt-basic--lh {
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 400;
    line-height: 1.6
}
@media screen and (max-width: 767px) {
    .txt-basic--lh {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em
    }
}
.txt-small {
    font-size: 1.2rem;
    font-size: max(1.2rem, 10px);
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.8
}
@media screen and (max-width: 767px) {
    .txt-small {
        font-size: 1.1rem;
        font-size: max(1.1rem, 10px);
        letter-spacing: .02;
        line-height: 1.75
    }
}
.txt-basic--bold {
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.8
}
@media screen and (max-width: 767px) {
    .txt-basic--bold {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.9
    }
}
.txt-basic--bold--lh {
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.6
}
@media screen and (max-width: 767px) {
    .txt-basic--bold--lh {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.5
    }
}
.txt-copy {
    font-size: 2.3rem;
    font-size: max(2.3rem, 10px);
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.9
}
@media screen and (max-width: 767px) {
    .txt-copy {
        font-size: 1.9rem;
        font-size: max(1.9rem, 10px);
        letter-spacing: .02em;
        line-height: 1.7
    }
}
.txt-large--bold {
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.8
}
@media screen and (max-width: 767px) {
    .txt-large--bold {
        font-size: 1.6rem;
        font-size: max(1.6rem, 10px);
        letter-spacing: .02em;
        line-height: 1.75
    }
}
.ttl-01 {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7
}
@media screen and (max-width: 767px) {
    .ttl-01 {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}
.ttl-02 {
    font-size: 3.4rem;
    font-size: max(3.4rem, 10px);
    letter-spacing: .03em;
    font-weight: 700;
    line-height: 1.4
}
@media screen and (max-width: 767px) {
    .ttl-02 {
        font-size: 2.6rem;
        font-size: max(2.6rem, 10px);
        letter-spacing: .04em;
        line-height: 1.4
    }
}
.ttl-03 {
    font-size: 2.1rem;
    font-size: max(2.1rem, 10px);
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5
}
@media screen and (max-width: 767px) {
    .ttl-03 {
        font-size: 1.9rem;
        font-size: max(1.9rem, 10px);
        letter-spacing: .03em;
        line-height: 1.7
    }
}
.ttl-04 {
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.5
}
@media screen and (max-width: 767px) {
    .ttl-04 {
        font-size: 1.7rem;
        font-size: max(1.7rem, 10px);
        letter-spacing: .03em
    }
}
.ttl-05 {
    font-size: 1.7rem;
    font-size: max(1.7rem, 10px);
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.5
}
@media screen and (max-width: 767px) {
    .ttl-05 {
        font-size: 1.6rem;
        font-size: max(1.6rem, 10px);
        letter-spacing: 0
    }
}
.radius5 {
    border-radius: .5rem
}
@media screen and (min-width: 768px) {
    .radius5-w {
        border-radius: .5rem
    }
}
@media screen and (max-width: 767px) {
    .radius5-n {
        border-radius: .5rem
    }
}
.radius10 {
    border-radius: 1rem
}
@media screen and (min-width: 768px) {
    .radius10-w {
        border-radius: 1rem
    }
}
@media screen and (max-width: 767px) {
    .radius10-n {
        border-radius: 1rem
    }
}
.radius15 {
    border-radius: 1.5rem
}
@media screen and (min-width: 768px) {
    .radius15-w {
        border-radius: 1.5rem
    }
}
@media screen and (max-width: 767px) {
    .radius15-n {
        border-radius: 1.5rem
    }
}
.radius20 {
    border-radius: 2rem
}
@media screen and (min-width: 768px) {
    .radius20-w {
        border-radius: 2rem
    }
}
@media screen and (max-width: 767px) {
    .radius20-n {
        border-radius: 2rem
    }
}
.radius25 {
    border-radius: 2.5rem
}
@media screen and (min-width: 768px) {
    .radius25-w {
        border-radius: 2.5rem
    }
}
@media screen and (max-width: 767px) {
    .radius25-n {
        border-radius: 2.5rem
    }
}
.radius30 {
    border-radius: 3rem
}
@media screen and (min-width: 768px) {
    .radius30-w {
        border-radius: 3rem
    }
}
@media screen and (max-width: 767px) {
    .radius30-n {
        border-radius: 3rem
    }
}
.radius35 {
    border-radius: 3.5rem
}
@media screen and (min-width: 768px) {
    .radius35-w {
        border-radius: 3.5rem
    }
}
@media screen and (max-width: 767px) {
    .radius35-n {
        border-radius: 3.5rem
    }
}
.radius40 {
    border-radius: 4rem
}
@media screen and (min-width: 768px) {
    .radius40-w {
        border-radius: 4rem
    }
}
@media screen and (max-width: 767px) {
    .radius40-n {
        border-radius: 4rem
    }
}
.ico_toggle .svg-path {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transition: fill .25s ease, stroke .25s ease, -webkit-transform .25s ease;
    transition: fill .25s ease, stroke .25s ease, -webkit-transform .25s ease;
    transition: fill .25s ease, stroke .25s ease, transform .25s ease;
    transition: fill .25s ease, stroke .25s ease, transform .25s ease, -webkit-transform .25s ease
}
.ttl-toggle+* {
    display: none
}
.ttl-toggle.ttl-toggle--open .ico_toggle .svg-path01 {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}
.ttl-toggle.ttl-toggle--open .ico_toggle .svg-path02 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
.ttl-toggle__button {
    position: relative;
    width: 100%
}
@media(hover: hover) {
    .ttl-toggle__button.title-06:hover {
        background-color: #f4f2eb
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .ttl-toggle__button.title-06:hover {
        background-color: #f4f2eb
    }
}
@media(hover: hover) {
    .ttl-toggle__button.title-07:hover::after {
        background-color: #f4f2eb
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .ttl-toggle__button.title-07:hover::after {
        background-color: #f4f2eb
    }
}
@media(hover: hover) {
    button.ttl-toggle__ico:hover .ico_toggle .svg-circle {
        fill: #509DCA
    }
    button.ttl-toggle__ico:hover .ico_toggle .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    button.ttl-toggle__ico:hover .ico_toggle .svg-circle {
        fill: #509DCA
    }
    button.ttl-toggle__ico:hover .ico_toggle .svg-path {
        fill: #fff
    }
}
.ttl-toggle__ico {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
    height: 100%;
    padding: 0 1.1rem 0 1.7rem
}
@media screen and (max-width: 767px) {
    .ttl-toggle__ico {
        padding: 0 .5rem 0 1.5rem
    }
}
.ttl-toggle__ico::before {
    content: "";
    position: absolute;
    top: -100%;
    bottom: -100%;
    left: 0;
    width: .1rem;
    height: 2rem;
    margin: auto 0;
    background-color: #d1d1d1
}
@media screen and (max-width: 767px) {
    .ttl-toggle__ico::before {
        height: calc(100% - 2.4rem);
        min-height: 2.4rem
    }
}
.ttl-toggle__ico .ico_svg {
    width: 2.5rem
}
@media screen and (max-width: 767px) {
    .ttl-toggle__ico .ico_svg {
        width: 1.9rem
    }
}
.news-cat {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-width: 8rem;
    padding: .4rem 1rem;
    text-align: center;
    font-size: 1rem;
    font-size: max(1rem, 10px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;
    border-radius: 100vw;
    border: .1rem solid
}
@media screen and (max-width: 767px) {
    .news-cat {
        padding: .4rem .5rem;
        font-weight: 400
    }
}
.news-cat--emergency {
    color: #da1111;
    border-color: #da1111;
    background-color: #fff
}
.news-cat--notice {
    color: #509DCA;
    border-color: #509DCA;
    background-color: #fff
}
.news-cat--event {
    color: #6db55c;
    border-color: #6db55c;
    background-color: #fff
}
.news-cat--recruit {
    color: #CA7D50;
    border-color: #CA7D50;
    background-color: #fff
}
.news-cat--bidding {
    color: #7c344d;
    border-color: #7c344d;
    background-color: #fff
}
.title-03 {
    padding: 0 1rem
}
.title-03 .title-03__img {
    position: relative
}
.title-03 .title-03__img::after {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 0;
    width: 60rem;
    height: 11rem;
    background-color: #fff;
    border-radius: 0 2rem 0 0
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__img::after {
        width: 29.5rem;
        bottom: -0.6rem;
        height: 6rem
    }
}
.title-03 .title-03__main {
    position: relative;
    z-index: 1;
    margin-top: -10rem;
    padding: 4rem 0 0 9rem
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__main {
        margin-top: -5.4rem;
        padding: 2rem 0 0 .5rem
    }
}
.title-03 .title-03__main::before, .title-03 .title-03__main::after {
    content: "";
    position: absolute;
    width: 2rem;
    height: 2rem;
    background: url(../img/parts/corner.svg) center/contain no-repeat;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    -webkit-transform-origin: 20% 80%;
    transform-origin: 20% 80%
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__main::before, .title-03 .title-03__main::after {
        width: 1rem;
        height: 1rem
    }
}
.title-03 .title-03__main::before {
    left: 0;
    top: -2rem
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__main::before {
        top: -1rem
    }
}
.title-03 .title-03__main::after {
    left: 60rem;
    top: 8rem
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__main::after {
        left: 29.5rem;
        top: 4.4rem
    }
}
.title-03 .title-03__ttl {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7;
    color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__ttl {
        font-size: 2.4rem;
        font-size: max(2.4rem, 10px);
        letter-spacing: .1em
    }
}
.title-03 .title-03__lead {
    position: relative;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    line-height: 1.7;
    letter-spacing: .02em
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__lead {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        line-height: 1.9;
        letter-spacing: 0
    }
}
.title-03 .title-03__lead::before {
    content: "";
    display: block;
    width: 3.5rem;
    height: .2rem;
    margin-top: 1.9rem;
    margin-bottom: 1.9rem;
    background-color: #CA7D50
}
@media screen and (max-width: 767px) {
    .title-03 .title-03__lead::before {
        width: 2.5rem;
        margin-top: 1.4rem;
        margin-bottom: 1.6rem
    }
}
.title-04 {
    position: relative;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 2rem 0;
    border-radius: 2rem;
    background: url(../img/about/ttl_bg.jpg) center/cover no-repeat
}
@media screen and (max-width: 767px) {
    .title-04 {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        background-image: url(../img/about/ttl_bg_sp.jpg);
        border-radius: 0
    }
}
.title-04:has(.title-04__in)::before {
    content: "";
    position: absolute;
    top: 8.3rem;
    left: -1rem;
    width: 8.3rem;
    height: 1rem;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-04:has(.title-04__in)::before {
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        width: 3rem
    }
}
.title-04 .title-04__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 3.3rem 9rem 3.4rem
}
@media screen and (max-width: 767px) {
    .title-04 .title-04__in {
        min-height: 15rem;
        padding: .7rem 2rem .7rem 4.5rem
    }
}
.title-04 .title-04__ttl {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7
}
@media screen and (max-width: 767px) {
    .title-04 .title-04__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}


.title-04-visit {
    position: relative;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 2rem 0;
    border-radius: 2rem;
    background: url(../img/visit/ttl_bg.jpg) center/cover no-repeat
}
@media screen and (max-width: 767px) {
    .title-04-visit {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        background-image: url(../img/visit/ttl_bg_sp.jpg);
        border-radius: 0
    }
}
.title-04-visit:has(.title-04__in)::before {
    content: "";
    position: absolute;
    top: 8.3rem;
    left: -1rem;
    width: 7.3rem;
    height: .2rem;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-04-visit:has(.title-04__in)::before {
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        width: 3rem
    }
}
.title-04-visit .title-04__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 3.3rem 9rem 3.4rem
}
@media screen and (max-width: 767px) {
    .title-04-visit .title-04__in {
        min-height: 15rem;
        padding: .7rem 2rem .7rem 4.5rem
    }
}
.title-04-visit .title-04__ttl {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7
}
@media screen and (max-width: 767px) {
    .title-04-visit .title-04__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}

.title-04-member {
    position: relative;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 2rem 0;
    border-radius: 2rem;
    background: url(../img/member/ttl_bg.jpg) center/cover no-repeat
}
@media screen and (max-width: 767px) {
    .title-04-member {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        background-image: url(../img/member/ttl_bg_sp.jpg);
        border-radius: 0
    }
}
.title-04-member:has(.title-04__in)::before {
    content: "";
    position: absolute;
    top: 8.3rem;
    left: -1rem;
    width: 7.3rem;
    height: .2rem;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-04-member:has(.title-04__in)::before {
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        width: 3rem
    }
}
.title-04-member .title-04__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 3.3rem 9rem 3.4rem
}
@media screen and (max-width: 767px) {
    .title-04-member .title-04__in {
        min-height: 15rem;
        padding: .7rem 2rem .7rem 4.5rem
    }
}
.title-04-member .title-04__ttl {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7
}
@media screen and (max-width: 767px) {
    .title-04-member .title-04__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}

.title-04-news {
    position: relative;
    margin-left: 1rem;
    margin-right: 1rem;
    padding: 2rem 0;
    border-radius: 2rem;
    background: url(../img/news/ttl_bg.jpg) center/cover no-repeat
}
@media screen and (max-width: 767px) {
    .title-04-news {
        margin-left: 0;
        margin-right: 0;
        padding: 0;
        background-image: url(../img/news/ttl_bg_sp.jpg);
        border-radius: 0
    }
}
.title-04-news:has(.title-04__in)::before {
    content: "";
    position: absolute;
    top: 8.3rem;
    left: -1rem;
    width: 7.3rem;
    height: .2rem;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-04-news:has(.title-04__in)::before {
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto 0;
        width: 3rem
    }
}
.title-04-news .title-04__in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 3.3rem 9rem 3.4rem
}
@media screen and (max-width: 767px) {
    .title-04-news .title-04__in {
        min-height: 15rem;
        padding: .7rem 2rem .7rem 4.5rem
    }
}
.title-04-news .title-04__ttl {
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7
}
@media screen and (max-width: 767px) {
    .title-04-news .title-04__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}


.title-05.title-05 {
    position: relative;
    padding: 1.8rem 2rem 2.2rem;
    background-color: #f4f2eb;
    border-radius: .5rem;
    font-size: 2.1rem;
    font-size: max(2.1rem, 10px);
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5;
    color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-05.title-05 {
        font-size: 1.9rem;
        font-size: max(1.9rem, 10px);
        letter-spacing: .03em;
        line-height: 1.7
    }
}
@media screen and (max-width: 767px) {
    .title-05.title-05 {
        padding: 1.5rem 1.6rem;
        border-radius: 0
    }
}
.title-05.title-05::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    width: 0.5rem;
    height: 2.7rem;
    border-radius: 0 .5rem .5rem 0;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-05.title-05::before {
        width: .2rem;
        height: 2.6rem
    }
}
.title-06.title-06 {
    position: relative;
    padding: 1.3rem 0 1.7rem 3.5rem;
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.5;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease;
    position: relative
}
@media screen and (max-width: 767px) {
    .title-06.title-06 {
        font-size: 1.7rem;
        font-size: max(1.7rem, 10px);
        letter-spacing: .03em
    }
}
.title-06.title-06::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
@media screen and (max-width: 767px) {
    .title-06.title-06 {
        padding: 1.2rem 2rem
    }
}
.title-06.title-06:has(.ttl-toggle__ico) {
    padding-right: 6.3rem
}
@media screen and (max-width: 767px) {
    .title-06.title-06:has(.ttl-toggle__ico) {
        padding-right: 4.9rem
    }
}
.title-06.title-06::before {
    content: "";
    position: absolute;
    top: 1.9rem;
    left: 1rem;
    width: 1.5rem;
    height: 1.5rem;
    background: url(../img/ico_circle01.svg) center/contain no-repeat
}
body.wp-admin .title-06.title-06::before {
    background: url(../img/ico_circle01.svg) center/contain no-repeat
}
@media screen and (max-width: 767px) {
    .title-06.title-06::before {
        top: 2rem;
        left: 0;
        margin: 0;
        width: 1rem;
        height: 1rem
    }
}
.title-07.title-07 {
    position: relative;
    z-index: 1;
    padding: .8rem 0 1rem 2.4rem;
    font-size: 1.7rem;
    font-size: max(1.7rem, 10px);
    letter-spacing: 0;
    font-weight: 700;
    line-height: 1.5;
    color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-07.title-07 {
        font-size: 1.6rem;
        font-size: max(1.6rem, 10px);
        letter-spacing: 0
    }
}
@media screen and (max-width: 767px) {
    .title-07.title-07 {
        padding: 0 0 0 1.4rem
    }
}
.title-07.title-07:has(.ttl-toggle__ico) {
    padding-right: 6.3rem
}
@media screen and (max-width: 767px) {
    .title-07.title-07:has(.ttl-toggle__ico) {
        padding-right: 4.9rem
    }
}
.title-07.title-07::before {
    content: "";
    position: absolute;
    top: 1.3rem;
    left: .5rem;
    width: .4rem;
    height: 1.8rem;
    background-color: #4684d7
}
@media screen and (max-width: 767px) {
    .title-07.title-07::before {
        top: .4rem;
        left: 0
    }
}
.title-07.title-07::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: -100%;
    bottom: -100%;
    left: 0;
    margin: auto 0;
    width: 100%;
    height: 100%;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}
.title-08 {
    position: relative
}
@media screen and (min-width: 768px) {
    .title-08 {
        padding: 0 1rem
    }
}
.title-08 .title-08__img {
    position: relative;
    overflow: hidden
}
.title-08 .title-08__img::after {
    content: "";
    position: absolute;
    top: calc(100% - 25rem);
    left: 0;
    right: 0;
    display: block;
    width: 78rem;
    height: 78rem;
    margin: auto;
    border-radius: 50%;
    background-color: #fff
}
@media screen and (max-width: 767px) {
    .title-08 .title-08__img::after {
        top: calc(100% - 7.8rem);
        width: 25rem;
        height: 25rem
    }
}
.title-08 .title-08__main {
    text-align: center
}
@media screen and (min-width: 768px) {
    .title-08 .title-08__main {
        position: absolute;
        bottom: 1.5rem;
        left: 0;
        width: 100%
    }
}
@media screen and (max-width: 767px) {
    .title-08 .title-08__main {
        margin-top: -4.8rem
    }
}
.title-08 .title-08__ttl {
    position: relative;
    font-size: 3.6rem;
    font-size: max(3.6rem, 10px);
    letter-spacing: .05em;
    font-weight: 700;
    line-height: 1.7;
    color: #509DCA
}
@media screen and (max-width: 767px) {
    .title-08 .title-08__ttl {
        font-size: 2.2rem;
        font-size: max(2.2rem, 10px);
        letter-spacing: .1em;
        line-height: 1.6
    }
}
.title-08 .title-08__ttl::after {
    content: "";
    position: absolute;
    inset: auto 0 -2.5rem;
    display: block;
    width: 3.5rem;
    height: max(.2rem, 2px);
    margin: auto;
    background-color: #CA7D50
}
@media screen and (max-width: 767px) {
    .title-08 .title-08__ttl::after {
        bottom: -1.5rem
    }
}
.title-08 .title-08__lead {
    margin-top: 5rem;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: .02em
}
@media screen and (max-width: 767px) {
    .title-08 .title-08__lead {
        margin-top: 3rem;
        font-size: 1.4rem;
        font-size: max(1.4rem, 10px);
        line-height: 1.9;
        letter-spacing: 0
    }
}
.page-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    gap: .9rem
}
.page-link.page-link--center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}
.page-link .page-link__item {
    width: calc((100% - 1.8rem)*.333)
}
@media screen and (max-width: 767px) {
    .page-link .page-link__item {
        width: calc((100% - 0.9rem)/2)
    }
}
.page-link .page-link__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    height: 100%;
    min-height: 6rem;
    padding: .5rem 4.3rem .5rem 1.9rem;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 400;
    line-height: 1.6;
    border: .1rem solid #d1d1d1;
    border-radius: 1rem;
    overflow: hidden;
    background-color: #fff;
    -webkit-transition: color .25s ease, border-color .25s ease, background-color .25s ease;
    transition: color .25s ease, border-color .25s ease, background-color .25s ease
}
@media screen and (max-width: 767px) {
    .page-link .page-link__btn {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em
    }
}
@media(hover: hover) {
    .page-link .page-link__btn:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .page-link .page-link__btn:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (max-width: 767px) {
    .page-link .page-link__btn {
        padding: .5rem 2.4rem .5rem 1.3rem;
        font-size: 1.2rem;
        font-size: max(1.2rem, 10px);
        border-radius: .8rem
    }
}
.page-link .page-link__btn::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -0.5rem;
    right: 0;
    margin: auto 0;
    width: 1.2rem;
    height: 1.2rem;
    background-color: #509DCA;
    border-radius: 0.1rem;
    -webkit-transition: background-color .25s ease, -webkit-transform .25s ease;
    transition: background-color .25s ease, -webkit-transform .25s ease;
    transition: background-color .25s ease, transform .25s ease;
    transition: background-color .25s ease, transform .25s ease, -webkit-transform .25s ease
}
@media screen and (max-width: 767px) {
    .page-link .page-link__btn::before {
        width: 1rem;
        height: 1rem
    }
}
.page-link .page-link__btn .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: .8rem;
    width: 2.5rem;
    margin: auto 0
}
@media screen and (max-width: 767px) {
    .page-link .page-link__btn .ico_svg {
        right: .5rem;
        width: 1.8rem
    }
}
.child-nav {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2, 1fr)
}
@media screen and (max-width: 767px) {
    .child-nav {
        grid-template-columns: repeat(1, 1fr);
        gap: 2rem
    }
}
.child-nav .child-nav__link {
    display: block;
    position: relative;
    padding-bottom: 1.2rem;
    color: #509DCA;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
@media(hover: hover) {
    .child-nav .child-nav__link:hover {
        color: #CA7D50
    }
    .child-nav .child-nav__link:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
    .child-nav .child-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
    .child-nav .child-nav__link:hover::after {
        right: 0;
        width: 100%;
        background-color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .child-nav .child-nav__link:hover {
        color: #CA7D50
    }
    .child-nav .child-nav__link:hover .ico_svg .svg-circle {
        fill: #CA7D50
    }
    .child-nav .child-nav__link:hover .ico_svg .svg-path {
        fill: #fff
    }
    .child-nav .child-nav__link:hover::after {
        right: 0;
        width: 100%;
        background-color: #CA7D50
    }
}
.child-nav .child-nav__link::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background-color: #d1d1d1
}
.child-nav .child-nav__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 1rem;
    margin: auto;
    width: 3rem;
    height: .1rem;
    background-color: #509DCA;
    -webkit-transition: width .25s ease, right .25s ease, background-color .25s ease;
    transition: width .25s ease, right .25s ease, background-color .25s ease
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav__link::after {
        width: 2.6rem
    }
}
.child-nav .child-nav__main {
    position: relative;
    margin-top: 1rem;
    padding-left: 2rem
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav__main {
        margin-top: 1.2rem;
        padding-left: 1rem
    }
}
.child-nav .child-nav__main .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1rem;
    margin: auto 0;
    width: 3rem
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav__main .ico_svg {
        width: 2.6rem
    }
}
.child-nav .child-nav__txt {
    font-weight: 700;
    font-size: 2rem;
    font-size: max(2rem, 10px);
    line-height: 1.9;
    letter-spacing: .04em
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav__txt {
        font-size: 1.8rem;
        font-size: max(1.8rem, 10px);
        letter-spacing: .04em
    }
}
.child-nav .child-nav__link+.child-nav-sub {
    margin-top: 1rem
}
.child-nav .child-nav-sub__item:not(:first-of-type) {
    margin-top: .8rem
}
.child-nav .child-nav-sub__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 1rem;
    padding-left: 2rem;
    padding-bottom: 1rem;
    position: relative
}
.child-nav .child-nav-sub__link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav-sub__link {
        padding-left: 1.5rem
    }
}
@media(hover: hover) {
    .child-nav .child-nav-sub__link:hover .child-nav-sub__txt {
        color: #509DCA
    }
    .child-nav .child-nav-sub__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .child-nav .child-nav-sub__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .child-nav .child-nav-sub__link:hover .child-nav-sub__txt {
        color: #509DCA
    }
    .child-nav .child-nav-sub__link:hover .ico_svg .svg-circle {
        fill: #509DCA
    }
    .child-nav .child-nav-sub__link:hover .ico_svg .svg-path {
        fill: #fff
    }
}
.child-nav .child-nav-sub__link .ico_svg {
    width: 2.5rem;
    height: 2.5rem
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav-sub__link .ico_svg {
        width: 2rem;
        height: 2rem
    }
}
.child-nav .child-nav-sub__link .ico_svg .svg-circle {
    fill: #f4f2eb
}
.child-nav .child-nav-sub__txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 1rem;
    font-weight: 700;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    line-height: 1.8;
    letter-spacing: .02em;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media screen and (max-width: 767px) {
    .child-nav .child-nav-sub__txt {
        font-size: 1.5rem;
        font-size: max(1.5rem, 10px);
        letter-spacing: 0em
    }
}
@media screen and (min-width: 768px) {
    .btn01-list.btn01-list--3col-w {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem
    }
    .btn01-list.btn01-list--2col-w {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem 1rem
    }
}
@media screen and (max-width: 767px) {
    .btn01-list {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 1.5rem 1rem;
        width: 30.5rem;
        margin-left: auto;
        margin-right: auto
    }
    .btn01-list.btn01-list--2col-n {
        grid-template-columns: repeat(2, 1fr)
    }
    .btn01-list.btn01-list--2col-n .btn01 {
        padding-left: 1.8rem;
        padding-right: 3.9rem
    }
    .btn01-list.btn01-list--2col-n .btn01 .ico_svg {
        right: 1.6rem
    }
}
.btn01-list .btn01 {
    width: 100%
}
.btn01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -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;
    position: relative;
    width: 39rem;
    min-height: 6rem;
    padding: 0 6.5rem 0 2.5rem;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.6;
    border-radius: 100vw;
    background-color: #f4f2eb;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media screen and (max-width: 767px) {
    .btn01 {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.5
    }
}
@media screen and (min-width: 768px) {
    .btn01.btn01--narrow-w, .btn01.btn01--narrow {
        width: 27rem
    }
    .btn01.btn01--middle-w, .btn01.btn01--middle {
        width: 35rem
    }
    .btn01.btn01--low-w, .btn01.btn01--low {
        min-height: 6rem
    }
}
@media(hover: hover) {
    .btn01:hover {
        color: #fff;
        background-color: #509DCA
    }
    .btn01:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn01:hover {
        color: #fff;
        background-color: #509DCA
    }
    .btn01:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #fff
    }
}
@media screen and (max-width: 767px) {
    .btn01 {
        width: 30.5rem;
        min-height: 6.4rem;
        padding: 0 5rem 0 2.4rem
    }
    .btn01.btn01--narrow-n, .btn01.btn01--narrow {
        width: 17rem;
        padding-left: 1.8rem
    }
    .btn01.btn01--middle-n, .btn01.btn01--middle {
        width: 26.5rem
    }
    .btn01.btn01--low-n, .btn01.btn01--low {
        min-height: 4rem
    }
}
.btn01.btn01--white:not(:hover) {
    background-color: #fff
}
@media screen and (max-width: 767px) {
    .btn01.btn01--white {
        background-color: #fff
    }
}
.btn01.btn01--blue:not(:hover) {
    color: #fff;
    background-color: #509DCA
}
@media(hover: hover) {
    .btn01.btn01--blue:hover {
        background-color: #CA7D50
    }
    .btn01.btn01--blue:hover .ico_svg:has(.svg-circle) .svg-path {
        fill: #CA7D50
    }
    .btn01.btn01--blue:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #fff
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn01.btn01--blue:hover {
        background-color: #CA7D50
    }
    .btn01.btn01--blue:hover .ico_svg:has(.svg-circle) .svg-path {
        fill: #CA7D50
    }
    .btn01.btn01--blue:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #fff
    }
}
@media screen and (max-width: 767px) {
    .btn01.btn01--blue {
        background-color: #509DCA
    }
}
.btn01.btn01--reverse {
    padding: 0 2.5rem 0 6.5rem
}
@media screen and (max-width: 767px) {
    .btn01.btn01--reverse {
        padding: 0 2.4rem 0 5rem
    }
}
.btn01.btn01--reverse .ico_svg {
    right: auto;
    left: 1.5rem
}
@media screen and (max-width: 767px) {
    .btn01.btn01--reverse .ico_svg {
        left: 2.4rem
    }
}
.btn01.btn01--center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 0;
    right: 0
}
.btn01 .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 1.5rem;
    width: 2.5rem;
    height: 2.5rem;
    margin: auto 0
}
@media screen and (max-width: 767px) {
    .btn01 .ico_svg {
        right: 2.4rem;
        width: 2.2rem
    }
}
@media screen and (min-width: 768px) {
    .unorder-list01.unorder-list01--2col-w {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 0 2.5rem
    }
}
.unorder-list01 .unorder-list01__item {
    position: relative;
    padding-left: 2.1rem
}
@media screen and (max-width: 767px) {
    .unorder-list01 .unorder-list01__item {
        padding-left: 2.2rem
    }
}
.unorder-list01 .unorder-list01__item::before {
    content: "";
    position: absolute;
    top: .5rem;
    left: 0;
    width: 1.6rem;
    height: 1.6rem;
    background: url(../img/ico_circle02.svg) center/contain no-repeat
}
@media screen and (min-width: 768px) {
    .btn02-list.btn02-list--2col-w {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        gap: 3rem
    }
}
@media screen and (max-width: 767px) {
    .btn02-list {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 1rem
    }
}
.bnt02-list__item {
    width: calc((100% - 3rem)/2)
}
@media screen and (max-width: 767px) {
    .bnt02-list__item {
        width: 100%
    }
}
.bnt02-list__item .btn02 {
    width: 100%
}
.btn02 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    min-height: 10rem;
    padding: 0 6.6rem 0 2rem;
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    font-weight: 700;
    line-height: 1.9;
    letter-spacing: .04em;
    border-radius: 1rem;
    background-color: #f4f2eb;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media(hover: hover) {
    .btn02:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn02:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (max-width: 767px) {
    .btn02 {
        min-height: 8rem;
        padding: 0 1rem 0 5.6rem
    }
}
.btn02 .ico_svg {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2rem;
    margin: auto 0;
    width: 2.6rem
}
@media screen and (max-width: 767px) {
    .btn02 .ico_svg {
        right: auto;
        left: 1rem
    }
}
.btn-contact {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: .5rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 2.4rem;
    font-size: max(2.4rem, 10px);
    line-height: 1;
    letter-spacing: .02em;
    color: #509DCA
}
.btn-contact .ico_svg {
    width: 2.2rem
}
.btn-contact .ico_svg.ico_tel .svg-path {
    fill: #509DCA
}
.btn-guide-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem
}
@media screen and (max-width: 767px) {
    .btn-guide-list {
        grid-template-columns: repeat(2, 1fr)
    }
}
.btn-guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    position: relative;
    gap: .2rem;
    padding: 1.3rem 1.2rem;
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0;
    background-color: #fff;
    border-radius: 2rem;
    border: .1rem solid #d1d1d1;
    -webkit-transition: color .25s ease, background-color .25s ease, border-color .25s ease;
    transition: color .25s ease, background-color .25s ease, border-color .25s ease;
    color: #509DCA
}
@media screen and (max-width: 767px) {
    .btn-guide {
        font-size: 1.4rem;
        font-size: max(1.4rem, 10px)
    }
}
.btn-guide .btn-guide__arrow {
    background-color: #509DCA;
    border-color: #509DCA
}
@media(hover: hover) {
    .btn-guide:hover {
        color: #fff;
        border-color: #509DCA;
        background-color: #509DCA
    }
    .btn-guide:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide:hover {
        color: #fff;
        border-color: #509DCA;
        background-color: #509DCA
    }
    .btn-guide:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #509DCA
    }
}
.btn-guide.btn-guide--01 {
    color: #09b9a4
}
.btn-guide.btn-guide--01 .btn-guide__arrow {
    background-color: #09b9a4;
    border-color: #09b9a4
}
@media(hover: hover) {
    .btn-guide.btn-guide--01:hover {
        color: #fff;
        border-color: #09b9a4;
        background-color: #09b9a4
    }
    .btn-guide.btn-guide--01:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--01:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #09b9a4
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--01:hover {
        color: #fff;
        border-color: #09b9a4;
        background-color: #09b9a4
    }
    .btn-guide.btn-guide--01:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--01:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #09b9a4
    }
}
.btn-guide.btn-guide--02 {
    color: #6db55c
}
.btn-guide.btn-guide--02 .btn-guide__arrow {
    background-color: #6db55c;
    border-color: #6db55c
}
@media(hover: hover) {
    .btn-guide.btn-guide--02:hover {
        color: #fff;
        border-color: #6db55c;
        background-color: #6db55c
    }
    .btn-guide.btn-guide--02:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--02:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #6db55c
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--02:hover {
        color: #fff;
        border-color: #6db55c;
        background-color: #6db55c
    }
    .btn-guide.btn-guide--02:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--02:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #6db55c
    }
}
.btn-guide.btn-guide--03 {
    color: #6cb8c7
}
.btn-guide.btn-guide--03 .btn-guide__arrow {
    background-color: #6cb8c7;
    border-color: #6cb8c7
}
@media(hover: hover) {
    .btn-guide.btn-guide--03:hover {
        color: #fff;
        border-color: #6cb8c7;
        background-color: #6cb8c7
    }
    .btn-guide.btn-guide--03:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--03:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #6cb8c7
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--03:hover {
        color: #fff;
        border-color: #6cb8c7;
        background-color: #6cb8c7
    }
    .btn-guide.btn-guide--03:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--03:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #6cb8c7
    }
}
.btn-guide.btn-guide--04 {
    color: #da1111
}
.btn-guide.btn-guide--04 .btn-guide__arrow {
    background-color: #da1111;
    border-color: #da1111
}
@media(hover: hover) {
    .btn-guide.btn-guide--04:hover {
        color: #fff;
        border-color: #da1111;
        background-color: #da1111
    }
    .btn-guide.btn-guide--04:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--04:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #da1111
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--04:hover {
        color: #fff;
        border-color: #da1111;
        background-color: #da1111
    }
    .btn-guide.btn-guide--04:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--04:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #da1111
    }
}
.btn-guide.btn-guide--05 {
    color: #CA7D50
}
.btn-guide.btn-guide--05 .btn-guide__arrow {
    background-color: #CA7D50;
    border-color: #CA7D50
}
@media(hover: hover) {
    .btn-guide.btn-guide--05:hover {
        color: #fff;
        border-color: #CA7D50;
        background-color: #CA7D50
    }
    .btn-guide.btn-guide--05:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--05:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--05:hover {
        color: #fff;
        border-color: #CA7D50;
        background-color: #CA7D50
    }
    .btn-guide.btn-guide--05:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--05:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #CA7D50
    }
}
.btn-guide.btn-guide--06 {
    color: #7e57a0
}
.btn-guide.btn-guide--06 .btn-guide__arrow {
    background-color: #7e57a0;
    border-color: #7e57a0
}
@media(hover: hover) {
    .btn-guide.btn-guide--06:hover {
        color: #fff;
        border-color: #7e57a0;
        background-color: #7e57a0
    }
    .btn-guide.btn-guide--06:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--06:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #7e57a0
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide.btn-guide--06:hover {
        color: #fff;
        border-color: #7e57a0;
        background-color: #7e57a0
    }
    .btn-guide.btn-guide--06:hover .btn-guide__arrow {
        background-color: #fff
    }
    .btn-guide.btn-guide--06:hover .btn-guide__arrow .ico_svg .svg-path {
        fill: #7e57a0
    }
}
@media(hover: hover) {
    .btn-guide:hover .ico_illust {
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .btn-guide:hover .ico_illust {
        -webkit-transform: scale(0.8);
        transform: scale(0.8)
    }
}
.btn-guide.btn-guide--column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 1rem 1rem 2rem;
    text-align: center
}
@media screen and (max-width: 767px) {
    .btn-guide.btn-guide--column {
        padding: .3rem 1rem 3.5rem
    }
}
.btn-guide .ico_illust {
    width: 7.4rem;
    -webkit-transition: -webkit-transform .25s ease;
    transition: -webkit-transform .25s ease;
    transition: transform .25s ease;
    transition: transform .25s ease, -webkit-transform .25s ease
}
@media screen and (max-width: 767px) {
    .btn-guide .ico_illust {
        width: 6.2rem
    }
}
@media screen and (max-width: 767px) {
    .btn-guide .btn-guide__txt {
        margin-top: -0.5rem
    }
}
.btn-guide .btn-guide__arrow {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    bottom: -0.1rem;
    right: -0.1rem;
    width: 4rem;
    height: 4rem;
    border-width: .2rem;
    border-style: solid;
    border-radius: 2rem 0 2rem 0;
    -webkit-transition: background-color .25s ease;
    transition: background-color .25s ease
}
@media screen and (max-width: 767px) {
    .btn-guide .btn-guide__arrow {
        width: calc(100% + .2rem);
        height: 2.5rem;
        border-width: .1rem;
        border-radius: 0 0 2rem 2rem
    }
}
.btn-guide .btn-guide__arrow .ico_svg {
    width: 2.4rem
}
@media screen and (max-width: 767px) {
    .btn-guide .btn-guide__arrow .ico_svg {
        width: 2rem
    }
}
.btn-guide .btn-guide__arrow .ico_svg .svg-circle {
    fill: rgba(0, 0, 0, 0)
}
.btn-guide .btn-guide__arrow .ico_svg .svg-path {
    fill: #fff
}
.order-list01 {
    counter-reset: item;
    list-style-type: none
}
.order-list01 .order-list01__item {
    position: relative;
    padding-left: 3.5rem
}
@media screen and (max-width: 767px) {
    .order-list01 .order-list01__item {
        padding-left: 2.6rem
    }
}
.order-list01 .order-list01__item:nth-of-type(n + 2) {
    margin-top: 1rem
}
@media screen and (max-width: 767px) {
    .order-list01 .order-list01__item:nth-of-type(n + 2) {
        margin-top: .4rem
    }
}
.order-list01 .order-list01__item::before {
    counter-increment: item;
    content: counter(item);
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    width: 2.5rem;
    height: 2.5rem;
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-weight: 500;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    line-height: 1;
    color: #fff;
    background-color: #509DCA;
    border-radius: 50%;
    border: .2rem solid #fff
}
@media screen and (max-width: 767px) {
    .order-list01 .order-list01__item::before {
        top: .3rem;
        width: 2rem;
        height: 2rem;
        font-size: 1.2rem;
        font-size: max(1.2rem, 10px);
        border-width: .16rem
    }
}
.order-list02 {
    counter-reset: item;
    list-style-type: none
}
.order-list02 .order-list02__item {
    position: relative;
    padding-left: 2.1rem
}
@media screen and (max-width: 767px) {
    .order-list02 .order-list02__item {
        padding-left: 2.6rem
    }
}
.order-list02 .order-list02__item::before {
    counter-increment: item;
    content: counter(item);
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: .5rem;
    left: 0;
    margin: auto;
    width: 1.6rem;
    height: 1.6rem;
    text-align: center;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-weight: 500;
    font-size: 1rem;
    font-size: max(1rem, 10px);
    line-height: 1;
    color: #fff;
    background-color: #509DCA;
    border-radius: 50%;
    border: .15rem solid #fff
}
.text-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 3rem
}
@media screen and (min-width: 768px) {
    .text-image:has(.text-image__image--narrow) {
        gap: 2rem
    }
    .text-image.text-image--reverse-w {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}
@media screen and (max-width: 767px) {
    .text-image {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 2rem
    }
    .text-image.text-image--reverse-n {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse
    }
}
.text-image .text-image__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
.text-image .text-image__image {
    width: 39rem
}
@media screen and (min-width: 768px) {
    .text-image .text-image__image.text-image__image--middle {
        width: 31rem
    }
    .text-image .text-image__image.text-image__image--narrow {
        width: 30rem
    }
}
@media screen and (max-width: 767px) {
    .text-image .text-image__image {
        width: 100%
    }
}
.relations {
    position: relative;
    z-index: 1;
    padding: 4.5rem 0 6rem
}
@media screen and (max-width: 767px) {
    .relations {
        width: 100%;
        padding: 4rem 0;
        background-color: #f4f2eb
    }
}
@media screen and (min-width: 768px) {
    .relations::before {
        content: "";
        position: absolute;
        z-index: -1;
        top: 0;
        left: 1rem;
        width: calc(100% - 2rem);
        min-width: 1130px;
        height: 100%;
        border-radius: 1rem;
        background-color: #f4f2eb
    }
}
@media screen and (min-width: 768px)and (max-width: 1150px) {
    .relations::before {
        left: 0;
        border-radius: 0
    }
}
@media screen and (min-width: 768px) {
    #contents .relations::before {
        left: auto;
        right: -3rem;
        width: calc(100% + 11rem);
        width: calc(100% + (100vw - 110rem)/2 - var(--scrollbar) + 2rem);
        min-width: 870px
    }
}
@media screen and (min-width: 768px)and (max-width: 1150px) {
    #contents .relations::before {
        left: auto;
        border-radius: 1rem
    }
}
@media screen and (min-width: 768px) {
    .relations .relations__in {
        width: 81rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (min-width: 768px) {
    #contents .relations .relations__in {
        width: auto
    }
}
.relations+.frequently {
    margin-top: 6rem;
    padding-top: 0;
    border-top: 0
}
@media screen and (max-width: 767px) {
    .relations+.frequently {
        width: 100%;
        margin-top: 4rem
    }
}
.frequently {
    margin-top: 8rem;
    padding-top: 6rem;
    border-top: .1rem solid #d1d1d1
}
@media screen and (max-width: 767px) {
    .frequently {
        margin-top: 6rem;
        padding-top: 4rem
    }
}
@media screen and (min-width: 768px) {
    .frequently .frequently__in {
        width: 81rem !important;
        margin-left: auto;
        margin-right: auto
    }
}
@media screen and (min-width: 768px) {
    #contents .frequently .frequently__in {
        width: auto
    }
}
.desc-list01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: .1rem solid #d1d1d1
}
@media screen and (min-width: 768px) {
    .desc-list01.desc-list01--half-w .desc-list01__head, .desc-list01.desc-list01--half .desc-list01__head, .desc-list01.desc-list01--half-w .desc-list01__data, .desc-list01.desc-list01--half .desc-list01__data {
        width: 50%
    }
}
@media screen and (max-width: 767px) {
    .desc-list01.desc-list01--half-n .desc-list01__head, .desc-list01.desc-list01--half .desc-list01__head, .desc-list01.desc-list01--half-n .desc-list01__data, .desc-list01.desc-list01--half .desc-list01__data {
        width: 50%
    }
}
.desc-list01 .desc-list01__head {
    display: block;
    width: 18rem;
    padding: 1rem 2rem;
    background-color: #eff6f8;
    border-bottom: .1rem solid #d1d1d1
}
@media screen and (min-width: 768px) {
    .desc-list01 .desc-list01__head.desc-list01__head--wide-w {
        width: 25rem
    }
    .desc-list01 .desc-list01__head.desc-list01__head--wide-w+.desc-list01__data {
        width: calc(100% - 25rem)
    }
    .desc-list01 .desc-list01__head.desc-list01__head--narrow-w {
        width: 12rem
    }
    .desc-list01 .desc-list01__head.desc-list01__head--narrow-w+.desc-list01__data {
        width: calc(100% - 12rem)
    }
}
@media screen and (max-width: 767px) {
    .desc-list01 .desc-list01__head {
        width: 10.7rem;
        padding: .8rem 1rem
    }
}
.desc-list01 .desc-list01__data {
    display: block;
    width: calc(100% - 18rem);
    padding: 1rem 2rem;
    border-bottom: .1rem solid #d1d1d1
}
@media screen and (max-width: 767px) {
    .desc-list01 .desc-list01__data {
        width: calc(100% - 10.7rem);
        padding: .8rem 1.5rem
    }
}
@media screen and (max-width: 767px) {
    .sp-scroll {
        position: relative;
        width: 36rem;
        padding-right: 1.5rem;
        margin-left: auto;
        margin-right: 0;
        overflow: hidden;
        overflow-x: auto
    }
    .sp-scroll.sp-scroll--scrolled::after {
        opacity: 0;
        visibility: hidden
    }
    .sp-scroll::after {
        content: "";
        position: absolute;
        z-index: 10;
        top: 5rem;
        left: 0;
        right: 0;
        margin: 0 auto;
        width: 8.5rem;
        height: 8.5rem;
        pointer-events: none;
        background: url(../img/svg/ico_swipe.svg) center/contain no-repeat;
        -webkit-transition: opacity .25s ease, visibility .25s ease;
        transition: opacity .25s ease, visibility .25s ease;
        -webkit-animation: sp-scroll-ani 3s infinite both;
        animation: sp-scroll-ani 3s infinite both
    }
    @-webkit-keyframes sp-scroll-ani {
        0%, 95%, 100% {
            -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
            -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out
        }
        45%, 50% {
            -webkit-transform: translateX(20%);
            transform: translateX(20%);
            -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out
        }
    }
    @keyframes sp-scroll-ani {
        0%, 95%, 100% {
            -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
            -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out
        }
        45%, 50% {
            -webkit-transform: translateX(20%);
            transform: translateX(20%);
            -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out
        }
    }
    .sp-scroll table {
        max-width: unset;
        width: 81rem
    }
}
.table01 {
    width: 100%;
    max-width: 100%
}
.table01.table01--fixed {
    table-layout: fixed
}
.table01.table01--auto {
    width: initial
}
@media screen and (min-width: 768px) {
    .table01.table01--half {
        width: calc((100% - 3rem)/2)
    }
}
.table01 th, .table01 td {
    border: .1rem solid #d1d1d1
}
.table01 .table01__head {
    padding: .9rem 1.9rem;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    letter-spacing: .02em;
    font-weight: 700;
    line-height: 1.8;
    color: #fff;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .table01 .table01__head {
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        letter-spacing: 0em;
        line-height: 1.9
    }
}
@media screen and (max-width: 767px) {
    .table01 .table01__head {
        padding: .7rem 1.4rem
    }
}
.table01 .table01__ttl {
    padding: .9rem 1.9rem;
    background-color: #eff6f8
}
@media screen and (max-width: 767px) {
    .table01 .table01__ttl {
        padding: .7rem 1.4rem
    }
}
.table01 .table01__data {
    padding: .9rem 1.9rem
}
@media screen and (max-width: 767px) {
    .table01 .table01__data {
        padding: .7rem 1.4rem
    }
}
.table01 .table01__data.table01__data--low {
    padding-top: 0;
    padding-bottom: 0
}
.table01 .table01__data.table01__data--narrow {
    padding-left: 0;
    padding-right: 0
}
.list-box01 {
    padding: 1.7rem;
    border-radius: 1rem;
    border: .3rem solid #f4f2eb
}
.box01 {
    padding: 1.7rem 2.7rem 2.2rem;
    border-radius: 1rem;
    border: .3rem solid #f4f2eb
}
@media screen and (max-width: 767px) {
    .box01 {
        padding: 2.2rem 1.7rem
    }
}
.box01 .box01__ttl {
    font-size: 1.6rem;
    font-size: max(1.6rem, 10px);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .02em
}
.box02 {
    padding: 1rem 2rem;
    border-radius: .5rem;
    background-color: #f4f2eb
}
.flow01 {
    counter-reset: item;
    list-style-type: none
}
@media screen and (min-width: 768px) {
    .flow01 {
        padding-left: 1rem
    }
}
.flow01__item {
    position: relative;
    padding-left: 8rem
}
@media screen and (max-width: 767px) {
    .flow01__item {
        padding-left: 3.5rem
    }
}
.flow01__item:nth-of-type(n + 2) {
    margin-top: 3rem
}
.flow01__item::before {
    counter-increment: item;
    content: counter(item, decimal-leading-zero);
    position: absolute;
    top: .5rem;
    bottom: 0;
    left: 0;
    font-size: 3rem;
    font-size: max(3rem, 10px);
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    line-height: 1.9;
    letter-spacing: 0;
    color: #CA7D50
}
@media screen and (max-width: 767px) {
    .flow01__item::before {
        top: 0;
        font-size: 1.7rem;
        font-size: max(1.7rem, 10px)
    }
}
.flow01__main {
    padding-left: 2.9rem;
    padding-bottom: 1rem;
    border-left: .1rem solid #d1d1d1
}
@media screen and (min-width: 768px) {
    .flow01__main {
        padding-top: 1rem
    }
}
@media screen and (max-width: 767px) {
    .flow01__main {
        padding-left: 1.5rem
    }
}
@media screen and (max-width: 767px) {
    .flow01__main .btn01--middle-n, .flow01__main .btn01.btn01--middle {
        padding-left: 1.5rem
    }
}
.credit {
    padding: 2rem 3.5rem;
    background-color: #eff6f8;
    border-radius: .5rem
}
@media screen and (max-width: 767px) {
    .credit {
        padding: 1.5rem;
        border-radius: 1rem
    }
}
.belongings.belongings--red .belongings__head {
    background-color: #da1111
}
@media screen and (min-width: 768px) {
    .belongings.belongings--narrow-w .belongings__body {
        padding: 2rem
    }
}
.belongings .belongings__head {
    padding: 1rem;
    border-radius: 1rem 1rem 0 0;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .belongings .belongings__head {
        padding: .6rem
    }
}
.belongings .belongings__body {
    padding: 2rem 3rem;
    border-radius: 0 0 1rem 1rem;
    border: .1rem solid #d1d1d1;
    border-top: 0
}
@media screen and (max-width: 767px) {
    .belongings .belongings__body {
        padding: 1.5rem 2rem
    }
}
.contact01 {
    padding: 2.7rem 4rem;
    border-radius: 1rem;
    background-color: #f4f2eb
}
@media screen and (min-width: 768px) {
    .contact01.contact01--wide-w {
        padding: 2.7rem 3rem
    }
}
@media screen and (max-width: 767px) {
    .contact01 {
        padding: 2rem 1.5rem
    }
}
.contact01 .contact01__ttl {
    font-size: 2.1rem;
    font-size: max(2.1rem, 10px);
    letter-spacing: .04em;
    font-weight: 700;
    line-height: 1.5;
    color: #CA7D50
}
@media screen and (max-width: 767px) {
    .contact01 .contact01__ttl {
        font-size: 1.9rem;
        font-size: max(1.9rem, 10px);
        letter-spacing: .03em;
        line-height: 1.7
    }
}
.contact01 .contact01__ttl.contact01__ttl--center {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 2rem
}
@media screen and (max-width: 767px) {
    .contact01 .contact01__ttl.contact01__ttl--center {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: .2rem
    }
}
.contact01 .contact01__ttl.contact01__ttl--bb {
    position: relative;
    padding-bottom: 1rem
}
@media screen and (max-width: 767px) {
    .contact01 .contact01__ttl.contact01__ttl--bb {
        padding-bottom: .8rem
    }
}
.contact01 .contact01__ttl.contact01__ttl--bb::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
.contact01 .contact01__exclusive {
    padding: 0 3.5rem;
    font-weight: 700;
    font-size: 1.8rem;
    font-size: max(1.8rem, 10px);
    line-height: 1.8;
    letter-spacing: .02em;
    color: #fff;
    background-color: #CA7D50;
    border-radius: 100vw
}
@media screen and (max-width: 767px) {
    .contact01 .contact01__exclusive {
        padding: .2rem 2.2rem;
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        line-height: 1.75;
        letter-spacing: .02em
    }
}
.contact01-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem
}
@media screen and (min-width: 768px) {
    .contact01-list.contact01-list--wide {
        grid-template-columns: repeat(1, 1fr)
    }
    .contact01-list.contact01-list--wide .contact01-list__main {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row
    }
    .contact01-list.contact01-list--wide .contact01-list__time {
        margin-top: 0;
        padding-top: 0;
        margin-left: 3rem;
        padding-left: 3rem
    }
    .contact01-list.contact01-list--wide .contact01-list__time::before {
        top: 0;
        bottom: 0;
        left: 0;
        right: auto;
        height: 3rem;
        width: .1rem;
        margin: auto 0;
        background: #d1d1d1
    }
}
@media screen and (max-width: 767px) {
    .contact01-list {
        grid-template-columns: repeat(1, 1fr)
    }
}
.contact01-list .contact01-list__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column
}
.contact01-list .contact01-list__item.contact01-list__item--red .contact01-list__head {
    background-color: #da1111
}
.contact01-list .contact01-list__item.contact01-list__item--red .btn-contact {
    color: #da1111
}
.contact01-list .contact01-list__item.contact01-list__item--red .btn-contact .ico_svg .svg-path {
    fill: #da1111
}
.contact01-list .contact01-list__head {
    padding: 1rem;
    border-radius: 1rem 1rem 0 0;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .contact01-list .contact01-list__head {
        padding: .8rem
    }
}
.contact01-list .contact01-list__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    padding: 2rem 0 1.5rem;
    background-color: #fff;
    border-radius: 0 0 1rem 1rem
}
@media screen and (max-width: 767px) {
    .contact01-list .contact01-list__body {
        padding: 1rem 0
    }
}
.contact01-list .contact01-list__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto
}
@media screen and (min-width: 768px) {
    .contact01-list .contact01-list__main {
        min-width: 28rem
    }
}
@media screen and (max-width: 767px) {
    .contact01-list .contact01-list__main {
        width: 100%
    }
}
@media screen and (min-width: 768px) {
    .contact01-list .contact01-list__main.contact01-list__main--center {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center
    }
}
.contact01-list .contact01-list__to {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem
}
@media screen and (max-width: 767px) {
    .contact01-list .contact01-list__to {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0
    }
}
@media screen and (min-width: 768px) {
    .contact01-list .contact01-list__to.contact01-list__to--top {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start
    }
    .contact01-list .contact01-list__to.contact01-list__to--column {
        gap: .7rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column
    }
}
.contact01-list .contact01-list__time {
    position: relative;
    margin-top: 1.5rem;
    padding-top: .8rem
}
@media screen and (max-width: 767px) {
    .contact01-list .contact01-list__time {
        margin-top: .8rem
    }
    .contact01-list .contact01-list__time.contact01-list__time--btn-n {
        margin-top: .5rem;
        padding-top: 0
    }
    .contact01-list .contact01-list__time.contact01-list__time--btn-n::before {
        content: none
    }
}
.contact01-list .contact01-list__time::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .1rem;
    background: -webkit-gradient(linear, left top, right top, color-stop(50%, #d1d1d1), color-stop(50%, transparent)) center/0.4rem .4rem repeat-x;
    background: linear-gradient(90deg, #d1d1d1 50%, transparent 50%) center/0.4rem .4rem repeat-x
}
@media screen and (min-width: 768px) {
    .news-category {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        position: relative;
        gap: 0 1px
    }
    .news-category::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: .1rem;
        background-color: #222
    }
}
@media screen and (max-width: 767px) {
    .news-category {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: .7rem 1.1rem
    }
}
@media screen and (min-width: 768px) {
    .news-category .news-category__item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        position: relative
    }
    .news-category .news-category__item:nth-of-type(n + 2)::before {
        content: "";
        position: absolute;
        bottom: 0;
        left: -1px;
        width: 1px;
        height: 2.2rem;
        background-color: #f5f5f5
    }
}
.news-category .news-category__button {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    min-height: 5.7rem;
    height: 100%;
    font-size: 1.4rem;
    font-size: max(1.4rem, 10px);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0;
    border-radius: 1rem 1rem 0 0;
    color: #222;
    -webkit-transition: color .25s ease, background-color .25s ease;
    transition: color .25s ease, background-color .25s ease
}
@media(hover: hover) {
    .news-category .news-category__button:hover {
        color: #fff;
        background-color: #222
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button:hover {
        color: #fff;
        background-color: #222
    }
}
.news-category .news-category__button.news-category__button--current {
    color: #fff;
    background-color: #222
}
@media screen and (max-width: 767px) {
    .news-category .news-category__button {
        min-height: 4rem;
        font-size: 1.3rem;
        font-size: max(1.3rem, 10px);
        line-height: 1.9;
        letter-spacing: .02em;
        border-radius: 1rem;
        border: .1rem solid #d1d1d1
    }
    .news-category .news-category__button.news-category__button--current {
        border-color: rgba(0, 0, 0, 0)
    }
}
.news-category .news-category__button.news-category__button--emergency {
    color: #da1111
}
@media(hover: hover) {
    .news-category .news-category__button.news-category__button--emergency:hover {
        color: #fff;
        background-color: #da1111
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button.news-category__button--emergency:hover {
        color: #fff;
        background-color: #da1111
    }
}
.news-category .news-category__button.news-category__button--emergency.news-category__button--current {
    color: #fff;
    background-color: #da1111
}
.news-category .news-category__button.news-category__button--notice {
    color: #509DCA
}
@media(hover: hover) {
    .news-category .news-category__button.news-category__button--notice:hover {
        color: #fff;
        background-color: #509DCA
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button.news-category__button--notice:hover {
        color: #fff;
        background-color: #509DCA
    }
}
.news-category .news-category__button.news-category__button--notice.news-category__button--current {
    color: #fff;
    background-color: #509DCA
}
.news-category .news-category__button.news-category__button--event {
    color: #6db55c
}
@media(hover: hover) {
    .news-category .news-category__button.news-category__button--event:hover {
        color: #fff;
        background-color: #6db55c
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button.news-category__button--event:hover {
        color: #fff;
        background-color: #6db55c
    }
}
.news-category .news-category__button.news-category__button--event.news-category__button--current {
    color: #fff;
    background-color: #6db55c
}
.news-category .news-category__button.news-category__button--recruit {
    color: #CA7D50
}
@media(hover: hover) {
    .news-category .news-category__button.news-category__button--recruit:hover {
        color: #fff;
        background-color: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button.news-category__button--recruit:hover {
        color: #fff;
        background-color: #CA7D50
    }
}
.news-category .news-category__button.news-category__button--recruit.news-category__button--current {
    color: #fff;
    background-color: #CA7D50
}
.news-category .news-category__button.news-category__button--bidding {
    color: #7c344d
}
@media(hover: hover) {
    .news-category .news-category__button.news-category__button--bidding:hover {
        color: #fff;
        background-color: #7c344d
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .news-category .news-category__button.news-category__button--bidding:hover {
        color: #fff;
        background-color: #7c344d
    }
}
.news-category .news-category__button.news-category__button--bidding.news-category__button--current {
    color: #fff;
    background-color: #7c344d
}
.txt-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #509DCA;
    text-decoration: underline;
    -webkit-transition: color .25s ease;
    transition: color .25s ease
}
.txt-link .ico_svg {
    width: 1.9rem;
    margin-left: 1rem
}
.txt-link .ico_svg:has(.svg-circle) .svg-circle {
    fill: #509DCA
}
.txt-link .ico_svg:has(.svg-circle) .svg-path {
    fill: #fff
}
.txt-link .ico_svg:not(:has(.svg-circle)) .svg-path {
    fill: #509DCA
}
@media(hover: hover) {
    .txt-link:hover {
        color: #CA7D50;
        text-decoration: underline
    }
    .txt-link:hover .ico_svg {
        width: 1.9rem
    }
    .txt-link:hover .ico_svg:has(.svg-circle) .svg-circle {
        fill: #CA7D50
    }
    .txt-link:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #CA7D50
    }
}
@media screen and (min-width: 768px)and (-ms-high-contrast: none), screen and (min-width: 768px)and (-ms-high-contrast: active) {
    .txt-link:hover {
        color: #CA7D50;
        text-decoration: underline
    }
    .txt-link:hover .ico_svg {
        width: 1.9rem
    }
    .txt-link:hover .ico_svg:has(.svg-circle) .svg-circle {
        fill: #CA7D50
    }
    .txt-link:hover .ico_svg:not(:has(.svg-circle)) .svg-path {
        fill: #CA7D50
    }
}
.faq .faq__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background-color: #f4f2eb;
    border-radius: .5rem;
    overflow: hidden
}
.faq .faq__q {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 6rem;
    padding: 1.4rem;
    font-weight: 600;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 3rem;
    font-size: max(3rem, 10px);
    line-height: 1.4;
    letter-spacing: .1em;
    color: #fff;
    background-color: #509DCA
}
@media screen and (max-width: 767px) {
    .faq .faq__q {
        width: 5rem;
        font-size: 2rem;
        font-size: max(2rem, 10px)
    }
}
.faq .faq__txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 1.8rem
}
@media screen and (max-width: 767px) {
    .faq .faq__txt {
        padding: 1rem
    }
}
.faq .ttl-toggle__ico {
    position: relative;
    padding-left: 1.6rem;
    padding-right: 2.2rem
}
@media screen and (max-width: 767px) {
    .faq .ttl-toggle__ico {
        padding-left: .6rem;
        padding-right: .7rem
    }
}
.faq .ttl-toggle__ico .ico_toggle {
    width: 2.5rem
}
.faq .ttl-toggle__ico .ico_toggle .svg-circle {
    fill: rgba(0, 0, 0, 0)
}
.faq .faq__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 2rem;
    padding-right: 6.4rem
}
@media screen and (max-width: 767px) {
    .faq .faq__body {
        gap: 0 1rem;
        padding-right: 0
    }
}
.faq .faq__a {
    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;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: relative;
    width: 6rem;
    font-size: 3rem;
    font-size: max(3rem, 10px);
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: .1em;
    color: #CA7D50
}
@media screen and (max-width: 767px) {
    .faq .faq__a {
        width: 5rem;
        font-size: 2rem;
        font-size: max(2rem, 10px);
        letter-spacing: .1em
    }
}
.faq .faq__a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: .1rem;
    width: calc(100% - 2rem);
    margin: 0 auto;
    background-color: #CA7D50
}
@media screen and (max-width: 767px) {
    .faq .faq__a::after {
        width: calc(100% - 1rem)
    }
}
.faq .faq__main {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1
}
/*テーブル横スクロール注意書き*/
.red{
display: none;
}

@media screen and (max-width: 767px) {
.red{
    display: block; /* スマホでは表示 */
    color: #da1111;
    font-weight: bold;
}
}


.mb-30 {
    margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
.mb-30 {
    margin: 20px;
    text-align: justify;
}
}

@media screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}

/* 768px以下のとき */
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
}