.section {
    margin-top: 4.5em;
    margin-bottom: 4.5rem
}

.section-padding {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem
}

.section-padding-l {
    padding-top: 6rem;
    padding-bottom: 6rem
}

.section-margin {
    margin-top: 6rem;
    margin-bottom: 6rem
}

.section-margin-l {
    margin-top: 8rem;
    margin-bottom: 8rem
}

@media(min-width: 992px) {
    .pc_content_padding {
        padding-left:4em
    }
}

.content {
    margin-top: 1.75rem;
    margin-bottom: 1.75rem
}

.content-margin {
    margin-top: 4rem
}

.content-margin-m {
    margin-top: 6rem !important
}

.content-margin-l {
    margin-top: 8rem !important
}

.content-padding {
    padding-top: 4rem
}

.content-margin-sm {
    margin-top: 4rem
}

@media(min-width: 576px) {
    .content-margin-sm {
        margin-top:0
    }
}

@media(min-width: 992px) {
    .section {
        margin-top:5rem;
        margin-bottom: 5rem
    }

    .section-padding {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .content {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem
    }

    .content_L {
        margin-top: 6rem;
        margin-bottom: 6rem
    }
}

.container-fluid {
    overflow: hidden
}

.container-fluid,.container {
    padding-right: 25px;
    padding-left: 25px
}

.container.container_XL {
    max-width: 100vw
}

.row {
    margin-right: -25px;
    margin-left: -25px
}

.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto {
    padding-right: 25px;
    padding-left: 25px
}

.no-gutters>.col,.no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.container_pS .row {
    margin-right: -2px;
    margin-left: -2px
}

.container_pS .row>.col,.container_pS .row>[class*=col-] {
    padding-right: 2px;
    padding-left: 2px
}

@media(min-width: 576px) {
    .container {
        padding-right:20px;
        padding-left: 20px
    }

    .row {
        margin-right: -20px;
        margin-left: -20px
    }

    .col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto {
        padding-right: 20px;
        padding-left: 20px
    }
}

@media(min-width: 768px) {
    .container.container_XXS {
        max-width:540px
    }

    .container_pS .row {
        margin-right: -10px;
        margin-left: -10px
    }

    .container_pS .row>.col,.container_pS .row>[class*=col-] {
        padding-right: 10px;
        padding-left: 10px
    }
}

@media(min-width: 992px) {
    .container-fluid {
        padding-right:0px;
        padding-left: 0px
    }

    .container.container_XXS {
        max-width: 540px
    }

    .container.container_XS {
        max-width: 670px
    }

    .container.container_S {
        max-width: 840px
    }

    .container.container_L {
        max-width: 1040px
    }

    .container.container_full {
        max-width: inherit;
        padding: 0
    }

    .container_pM {
        max-width: 970px;
        padding-right: 25px;
        padding-left: 25px
    }

    .container_pM .row {
        margin-right: -25px;
        margin-left: -25px
    }

    .container_pM .row>.col,.container_pM .row>[class*=col-] {
        padding-right: 25px;
        padding-left: 25px
    }

    .container.container_L.container_pM {
        max-width: 1050px
    }

    .container_pL {
        max-width: 980px;
        padding-right: 30px;
        padding-left: 30px
    }

    .container_pL .row {
        margin-right: -30px;
        margin-left: -30px
    }

    .container_pL .row>.col,.container_pL .row>[class*=col-] {
        padding-right: 30px;
        padding-left: 30px
    }

    .container.container_L.container_pL {
        max-width: 1160px
    }
}

@media(min-width: 1200px) {
    .container.container_S {
        max-width:1040px
    }

    .container {
        max-width: 76.03em
    }

    .container.container_L {
        max-width: 1220px
    }

    .container_pM {
        max-width: 1170px;
        padding-right: 35px;
        padding-left: 35px
    }

    .container_pM .row {
        margin-right: -35px;
        margin-left: -35px
    }

    .container_pM .row>.col,.container_pM .row>[class*=col-] {
        padding-right: 35px;
        padding-left: 35px
    }

    .container.container_L.container_pM {
        max-width: 1250px
    }

    .container_pL {
        max-width: 1200px;
        padding-right: 50px;
        padding-left: 50px
    }

    .container_pL .row {
        margin-right: -50px;
        margin-left: -50px
    }

    .container_pL .row>.col,.container_pL .row>[class*=col-] {
        padding-right: 50px;
        padding-left: 50px
    }

    .container.container_L.container_pL {
        max-width: 1280px
    }
}

.row.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.over-right {
    margin-right: calc((100vw - 100%)/2*-1)
}

.over-left {
    margin-left: calc((100vw - 100%)/2*-1)
}

.full {
    width: 100vw;
    margin-right: calc((100vw - 100%)/2*-1);
    margin-left: calc((100vw - 100%)/2*-1);
    padding-right: 0;
    padding-left: 0
}

@media(max-width: 991px) {
    .full_md {
        width:100vw;
        margin-right: calc((100vw - 100%)/2*-1);
        margin-left: calc((100vw - 100%)/2*-1);
        padding-right: 0;
        padding-left: 0
    }
}

@media(max-width: 767px) {
    .full_sm {
        width:100vw;
        margin-right: calc((100vw - 100%)/2*-1);
        margin-left: calc((100vw - 100%)/2*-1);
        padding-right: 0;
        padding-left: 0
    }
}

@media(max-width: 575px) {
    .full_sp {
        width:100vw;
        margin-right: calc((100vw - 100%)/2*-1);
        margin-left: calc((100vw - 100%)/2*-1);
        padding-right: 0;
        padding-left: 0
    }

    .full_sp-r {
        margin-right: calc((100vw - 100%)/2*-1) !important
    }

    .full_sp-l {
        margin-left: calc((100vw - 100%)/2*-1) !important
    }

    .large_sp {
        width: calc(100vw - (100vw - 100%)/2);
        margin-right: calc((100vw - 100%)/4*-1) !important;
        margin-left: calc((100vw - 100%)/4*-1) !important
    }

    .large_sp-r {
        margin-right: calc((100vw - 100%)/4*-1) !important
    }

    .large_sp-l {
        margin-left: calc((100vw - 100%)/4*-1) !important
    }

    .no-over_sp {
        width: 100%;
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0
    }
}

@media(min-width: 992px) {
    .full_lg {
        width:100vw;
        margin-right: calc((100vw - 100%)/2*-1);
        margin-left: calc((100vw - 100%)/2*-1);
        padding-right: 0;
        padding-left: 0
    }

    .full_sp img {
        width: 100%
    }
}

hr {
    border-top: 1px solid var(--border1);
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

a {
    color: inherit;
    text-decoration: none;
    transition: all .2s ease-in-out
}

.underline {
    display: inline-block;
    line-height: 1.5;
    color: var(--VI_sub2, #98728d);
    border-bottom: 1px solid currentColor
}

a.underline:hover {
    border-color: var(--gray)
}

.icon-link {
    display: flex;
    align-items: center;
    gap: .5em;
    color: var(--Text_sub2, #704b65)
}

.icon-link-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
    color: var(--Text_sub2, #704b65)
}

.icon-link span {
    display: inline-block
}

figure,picture {
    display: block;
    position: relative
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle
}

figure.cover {
    padding-top: 70%
}

figure.cover_S {
    padding-top: 100%
}

figure.cover_v {
    padding-top: 128.75%
}

figure.cover img,figure.cover_S img,figure.cover_v img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

figure.cover_v img {
    object-position: center top
}

figure {
    position: relative
}

figcaption.en_ttl {
    display: block;
    text-align: center;
    position: absolute;
    bottom: 0;
    right: 0;
    left: 0;
    margin: 1em auto;
    color: var(--Base_wht)
}

@media(max-width: 991px) {
    figure.cover_md {
        padding-top:62.5%;
        position: relative
    }

    figure.cover_md_S {
        padding-top: 100%;
        position: relative
    }

    figure.cover_md img,figure.cover_md_S img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover
    }
}

@media(max-width: 767px) {
    figure.cover_sm {
        padding-top:62.5%;
        position: relative
    }

    figure.cover_sm_S {
        padding-top: 100%;
        height: auto;
        position: relative
    }

    figure.cover_sm img,figure.cover_sm_S img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center
    }
}

@media(min-width: 576px) {
    figure.cover {
        padding-top:60%
    }
}

@media(min-width: 992px) {
    figure.cover_width {
        padding-top:50%;
        position: relative
    }

    figure.cover_width img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover
    }
}

@media(orientation: portrait)and (max-width: 575px) {
    figure.cover_sp_S {
        padding-top:100%;
        height: auto;
        position: relative
    }

    figure.cover_sp_S img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center center
    }
}

@media(max-width: 991px) {
    .over_sp-none {
        margin-left:0 !important;
        margin-right: 0 !important
    }
}

.imgBox_L.no-image {
    background-size: 30%
}

.bg-l-gray .no-image {
    background-color: rgba(0,0,0,.04)
}

.imgBox {
    position: relative
}

@media(max-width: 575px) {
    .imgBox .imgSize_s img {
        aspect-ratio:393/271;
        object-fit: cover
    }
}

.imgBox .inner-txt {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    color: var(--Base_wht);
    background: rgba(0,0,0,.4)
}

.huge,h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6 {
    font-weight: 400;
    letter-spacing: .04em;
    position: relative
}

.huge a,h1 a,.h1 a,h2 a,.h2 a,h3 a,.h3 a,h4 a,.h4 a,h5 a,.h5 a,h6 a,.h6 a {
    text-decoration: none
}

.huge {
    font-size: 3.846em;
    line-height: 1
}

.huge2 {
    font-size: 3.846em;
    line-height: 1.125
}

.huge3 {
    font-size: 2.693em;
    line-height: 1.125
}

.huge4 {
    font-size: 2.462em;
    line-height: 1.25
}

.huge5 {
    font-size: 2.077em;
    line-height: 1.25
}

h1,.h1 {
    font-size: var(--font-xl);
    line-height: 1.375
}

h2,.h2 {
    font-size: var(--font-l);
    line-height: 1.5
}

h3,.h3 {
    font-size: var(--font-ml);
    line-height: 1.75
}

h4,.h4 {
    font-size: 1.308em;
    line-height: 1.5
}

h5,.h5 {
    font-size: 1.077em;
    line-height: 2
}

h6,.h6 {
    font-size: 1.077em;
    line-height: 2
}

h7,.h7 {
    font-size: 1em;
    line-height: 2
}

@media(max-width: 575px) {
    .sp_h4 {
        font-size:1.308em;
        line-height: 1.85
    }
}

@media(min-width: 992px) {
    .huge {
        font-size:6.154em
    }

    .huge2 {
        font-size: 3.846em
    }

    .huge3 {
        font-size: 3.077em
    }

    .huge4 {
        font-size: 2.692em
    }

    .huge5 {
        font-size: 2.538em
    }

    h1,.h1 {
        font-size: 2.308em
    }

    h2,.h2 {
        font-size: 1.769em
    }

    h4,.h4 {
        font-size: 1.308em
    }

    h5,.h5 {
        font-size: 1.154em
    }

    h6,.h6 {
        font-size: 1.077em
    }

    .txt {
        font-size: 1.077em
    }
}

.ttl-tate {
    font-size: var(--font-l);
    font-family: var(--mincho);
    writing-mode: vertical-rl;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center
}

.ttl-tate.has-border {
    gap: .5em
}

.ttl-tate.has-border .border {
    height: 1.25em;
    width: 1px;
    background: rgba(40,40,27,.5)
}

.text-h1 {
    font-size: 14px;
    line-height: 1.8
}

@media(min-width: 768px) {
    .text-h1 {
        font-size:16px;
        line-height: 1.75
    }
}

.text-18-120-tate {
    font-size: 18px;
    line-height: 1.2
}

@media(min-width: 768px) {
    .text-18-120-tate {
        font-size:20px;
        line-height: 1.25
    }
}

p {
    margin-top: 1.75rem;
    margin-bottom: 1.75rem;
    letter-spacing: .04em
}

p:last-child {
    margin-bottom: 0
}

small {
    font-size: .846rem;
    display: inline-block;
    line-height: 1.5
}

/* .small {
    font-size: .846em;
    display: inline-block
} */

.xsmall {
    font-size: .692em;
    display: inline-block
}

.fw-400,.text-normal {
    font-weight: 400 !important
}

.fw-500,.text-medium {
    font-weight: 500 !important
}

.fw-600,.text-semibold {
    font-weight: 600 !important
}

.fw-700,.text-bold {
    font-weight: 700 !important
}

.text-italic {
    font-style: italic
}

.text-justify {
    text-align: justify
}

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}

@media(min-width: 576px) {
    .text-sm-left {
        text-align:left !important
    }

    .text-sm-right {
        text-align: right !important
    }

    .text-sm-center {
        text-align: center !important
    }
}

@media(min-width: 768px) {
    .text-md-left {
        text-align:left !important
    }

    .text-md-right {
        text-align: right !important
    }

    .text-md-center {
        text-align: center !important
    }
}

@media(min-width: 992px) {
    .text-lg-left {
        text-align:left !important
    }

    .text-lg-right {
        text-align: right !important
    }

    .text-lg-center {
        text-align: center !important
    }
}

@media(min-width: 1200px) {
    .text-xl-left {
        text-align:left !important
    }

    .text-xl-right {
        text-align: right !important
    }

    .text-xl-center {
        text-align: center !important
    }
}

.res_ttl {
    display: flex;
    justify-content: center;
    padding-top: 1rem
}

.res_ttl img {
    max-width: 230px;
    margin-bottom: 2rem
}

@media(min-width: 641px) {
    .res_ttl {
        justify-content:left
    }

    .res_ttl img {
        max-width: 300px
    }
}

.ttl {
    font-family: var(--mincho);
    line-height: 1.5
}

.en_ttl {
    color: var(--Text_sub2, #89637e);
    font-family: var(--urw);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: .04em;
    text-transform: uppercase
}

.clr_sub {
    color: var(--Text_sub2, #89637e)
}

.font1 {
    font-family: var(--font1) !important;
    font-weight: 600;
    letter-spacing: .04em
}

.font2 {
    font-family: var(--font2) !important;
    font-weight: 400 !important
}

.Gothic {
    font-family: var(--gothic) !important
}

.Mincho {
    font-family: var(--mincho) !important;
    font-weight: 400 !important
}

.copy {
    font-family: var(--mincho) !important;
    letter-spacing: .08em;
    margin-top: 1.75rem;
    margin-bottom: 1.75rem
}

.copy+p {
    margin-top: 0;
    font-family: var(--mincho)
}

.read {
    font-family: var(--mincho) !important;
    font-weight: 400 !important;
    line-height: 2.3
}

.en_ttl .ttl {
    font-family: revert;
    font-size: 1rem
}

.ttl_dot {
    display: flex;
    align-items: center;
    font-family: var(--mincho);
    gap: .4em
}

.ttl_dot span {
    margin: 0 !important;
    position: relative;
    width: .65em;
    height: .65em
}

.ttl_dot span:before {
    content: "";
    width: .15em;
    height: .15em;
    background: var(--VI_sub2, #98728d);
    border-radius: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.ttl_dot span:after {
    content: "";
    width: .65em;
    height: .65em;
    border: 1px dashed var(--VI_sub2, #98728d);
    border-radius: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.ttl_dot_column {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-inline:auto;font-family: var(--mincho);
    gap: .4em
}

@media(min-width: 576px) {
    .ttl_dot_column {
        margin-left:0;
        flex-direction: row
    }
}

.ttl_dot_column span {
    margin: 0 !important;
    position: relative;
    width: .65em;
    height: .65em
}

.ttl_dot_column span:before {
    content: "";
    width: .15em;
    height: .15em;
    background: var(--VI_sub2, #98728d);
    border-radius: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.ttl_dot_column span:after {
    content: "";
    width: .65em;
    height: .65em;
    border: 1px dashed var(--VI_sub2, #98728d);
    border-radius: 1em;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.lh-160 {
    line-height: 1.6
}

.btn {
    display: inline-flex;
    justify-content: center;
    gap: 10px;
    font-size: 1rem;
    letter-spacing: .08em;
    line-height: 1.75;
    font-weight: 500;
    padding: 1em 1.5em;
    width: 100%;
    max-width: 100%;
    font-family: var(--mincho);
    background: var(--VI_sub2, #98728d);
    color: var(--Base_wht);
    border: 1px solid rgba(0, 0, 0, 0);
    text-decoration: none;
    border-radius: 4px;
    outline: none;
    cursor: pointer;
    position: relative;
}

.btn.btn-b {
    background: rgba(0,0,0,0);
    border-color: currentColor;
    color: var(--VI_sub2, #98728d)
}

.btn.btn2-b {
    text-align: center;
    background: rgba(0,0,0,0);
    border-color: currentColor;
    color: var(--VI_sub2, #98728d)
}

.btn.btn-white {
    background: var(--Base_wht) !important;
    color: var(--VI_sub2, #98728d)
}

.btn.btn-white-b {
    background: rgba(0,0,0,0) !important;
    border-color: currentColor;
    color: var(--Base_wht)
}

.btn.btn-bg1 {
    background: var(--color1)
}

.btn.btn-bg3 {
    background: var(--color3)
}

.btn.btn-white1 {
    background: var(--Base_wht) !important;
    color: var(--color1)
}

.btn.btn-back {
    background: rgba(0,0,0,0);
    border-color: currentColor;
    color: var(--color1)
}

.btn.btn-border {
    background: rgba(0,0,0,0);
    border-color: currentColor;
    color: var(--VI_sub2, #98728d)
}

.btn.btn-border-white {
    background: rgba(0,0,0,0);
    border-color: currentColor;
    color: #fff;
    transition: .3s
}

.btn.btn-border-white span {
    margin: 0
}

.btn:hover {
    background: #825e78
}

.btn.btn-b:hover {
    background: var(--VI_sub2, #98728d);
    border-color: var(--VI_sub2, #98728d);
    color: var(--Base_wht)
}

.btn.btn2-b:hover {
    background: var(--color1);
    border-color: var(--color1);
    color: var(--Base_wht)
}

.btn.btn-bg1:hover {
    background: var(--color1-h)
}

.btn.btn-bg3:hover {
    background: var(--color3-h)
}

.btn.btn-border:hover {
    background: var(--VI_sub2, #98728d);
    color: var(--Base_wht)
}

.btn.btn-pdf {
    background: rgba(0,0,0,0) !important;
    color: var(--color1) !important;
    width: 100%;
    text-align: center;
    padding: 1.25em 0
}

.btn.btn-pdf>span {
    display: inline-block;
    padding-left: calc(4% + 1.2em);
    position: relative
}

.btn.btn-pdf::before {
    content: "";
    display: block;
    width: 1.2em;
    height: 1.2em;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../img/common/icon-pdf.svg);
    background-size: contain;
    position: absolute;
    top: calc(50% - .6em);
    left: 4%
}

.btn.btn-pdf:hover {
    background: var(--l-gray2) !important
}

@media(min-width: 992px) {
    .btn.btn-pdf {
        padding:.9em 0
    }
}

.txtBox .btn {
    margin-top: 1em
}

.button-list .btn {
    margin-top: .5em
}

@media(min-width: 576px) {
    .btn {
        width:22.6em
    }

    .btn.btn_M {
        width: 24em
    }

    .btn.btn_L {
        width: 28em
    }
}

.more-btn {
    display: inline-block;
    text-align: left;
    font-family: var(--gothic);
    font-size: 1rem;
    letter-spacing: .08em;
    line-height: 1.5;
    font-weight: 500;
    padding: .5em 2em .5em 0;
    width: auto;
    max-width: 28em;
    background: rgba(0,0,0,0);
    color: var(--color1);
    border-bottom: 1px solid currentColor;
    text-decoration: none;
    border-radius: 0;
    outline: none;
    cursor: pointer;
    position: relative
}

.arrow-btn.white {
    color: var(--Base_wht)
}

.arrow-btn::before {
    display: none
}

.btn span.arrow {
    display: block;
    position: absolute;
    transform: translate(0%, -50%);
    top: 50%;
    right: 5%;
    transition: background .2s ease-in-out;
    display: flex;
    align-items: center;
    gap: 10px
}

.btn span.arrow svg {
    width: 2em;
    block-size: revert-layer
}

@media(min-width: 576px) {
    .btn span.arrow svg {
        width:1.25em
    }
}

@media(min-width: 992px) {
    .btn span.arrow svg {
        width:2em
    }
}

.btn span.arrow:before {
    content: "";
    width: 25px;
    height: 1px;
    background: var(--VI_base, #fffffb);
    opacity: .5
}

.btn-b span.arrow {
    display: block;
    position: absolute;
    transform: translate(0%, -50%);
    top: 50%;
    right: 5%;
    transition: background .2s ease-in-out;
    display: flex;
    align-items: center;
    gap: 10px
}

.btn-b span.arrow svg {
    width: 2em;
    block-size: revert-layer
}

@media(min-width: 576px) {
    .btn-b span.arrow svg {
        width:1.25em
    }
}

@media(min-width: 992px) {
    .btn-b span.arrow svg {
        width:2em
    }
}

.btn-b span.arrow:before {
    content: "";
    width: 25px;
    height: 1px;
    background: var(--VI_sub2, #98728d);
    opacity: .5
}

i.arrow {
    display: block;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: currentColor;
    position: absolute;
    top: 50%;
    right: 5%;
    transition: background .2s ease-in-out;
    margin-top: -0.8rem
}

i.arrow::after {
    content: "";
    display: block;
    width: 31%;
    height: 31%;
    color: var(--VI_sub2, #98728d);
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-70%, -50%) rotate(45deg)
}

.more-btn i.arrow {
    right: 0
}

.more-btn i.arrow::after {
    border-color: var(--Base_wht)
}

.btn-b:not(:hover) i.arrow::after {
    color: var(--Base_wht)
}

.btn.btn-bg1 i.arrow::after {
    border-color: var(--color1)
}

.btn.btn-bg3 i.arrow::after {
    border-color: var(--color3)
}

.btn.btn-white i.arrow::after,.btn.btn-white1 i.arrow::after {
    border-color: var(--Base_wht)
}

@media(min-width: 768px) {
    .more-btn {
        width:auto
    }
}

.buttons.row {
    margin-right: -5px;
    margin-left: -5px
}

.buttons.row>.col,.buttons.row>[class*=col-] {
    padding: 5px
}

.badge {
    display: inline-block;
    background: var(--VI_sub2, #98728d);
    color: var(--Base_wht) !important;
    font-size: .923rem;
    line-height: 1.5;
    padding: .25em .75em
}

.border-t {
    border-top: 1px solid var(--gray)
}

.border-b {
    border-bottom: 1px solid var(--gray)
}

.border-r {
    border-right: 1px solid var(--gray)
}

.border-l {
    border-left: 1px solid var(--gray)
}

.page__header {
    color: var(--color1);
    width: 100%;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: hidden
}

.page__header .en_ttl {
    display: block
}

.page__header .ttl {
    font-family: var(--mincho);
    font-weight: 400;
    letter-spacing: .12em
}

.page__header .en_ttl+.ttl {
    margin-top: .75rem
}

.page__header .ttl+.en_ttl {
    margin-top: .75rem
}

.page__header .read {
    font-size: 1.308em
}

.page__header .read+p {
    max-width: 38.5em;
    letter-spacing: .06em
}

@media(min-width: 992px) {
    .page__header {
        padding-top:6rem;
        padding-bottom: 6rem
    }
}

.section__header {
    margin-top: 1.75rem;
    margin-bottom: 3.5rem;
    text-align: center
}

.section__header .en_ttl {
    position: relative
}

.section__header .en_ttl+.ttl {
    margin-top: .25em
}

.section__header p {
    margin: 1em 0 1em
}

@media(min-width: 992px) {
    .section__header {
        margin-top:2.5rem;
        margin-bottom: 5rem
    }
}

.headline {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 4.5em
}

.headline-l {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 4.5em
}

.headline-m {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 3em
}

.headline-s {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 2em
}

.headline-num-s {
    margin-bottom: 1.7em;
    display: flex;
    align-items: center
}

.headline-num-s span {
    font-size: var(--font-m);
    color: var(--VI_sub2, #98728d);
    padding-right: 1em;
    margin-right: 1em;
    border-right: 1px solid var(--VI_sub2, #98728d)
}

.headline span,.headline-s span {
    display: block;
    margin: 0 0 .8em 0
}

.headline span .ttl,.headline-s span .ttl {
    font-size: 1rem;
    font-weight: 400
}

.headline-f {
    margin-bottom: 3rem
}

@media(min-width: 992px) {
    .headline-f {
        display:flex;
        align-items: baseline;
        gap: 1.5em
    }

    .headline-f .copy br {
        display: none
    }
}

.headline-c {
    margin-bottom: 4em
}

.headline-c h2 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .8em;
    margin-bottom: 1em
}

.headline-c .en_ttl {
    font-size: 1rem;
    margin-top: .5rem
}

#intro .headline span {
    margin: 0
}

#intro .headline .en_ttl {
    margin-top: .4em;
    color: var(--Base_blk)
}

@media(min-width: 992px) {
    #intro .headline .en_ttl {
        font-size:var(--font-xl);
        margin-top: 0
    }
}

#intro img {
    width: 100%
}

.headline-hr {
    display: grid;
    grid-auto-flow: column;
    justify-content: center;
    align-items: center;
    font-weight: normal;
    gap: 1em
}

.headline-hr .vl {
    width: 1px;
    height: 1.8em;
    opacity: .5;
    background: #7d7a69
}

.headline-hr .en_ttl {
    color: var(--Dark_sub3, #7d7a69);
    font-family: var(--urw);
    font-size: var(--font-ml);
    font-weight: normal;
    text-transform: none;
    margin-top: .4em
}

.headline-hr .ttl {
    font-family: var(--mincho);
    font-size: var(--font-l);
    line-height: 1.5
}

.cont-ttl {
    color: var(--color1);
    font-family: var(--mincho);
    line-height: 1.5;
    letter-spacing: .06em;
    padding-left: 45px;
    position: relative
}

.cont-ttl::before {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: currentColor;
    position: absolute;
    top: .7em;
    left: 0
}

@media(min-width: 992px) {
    .cont-ttl {
        padding-left:65px
    }

    .cont-ttl::before {
        width: 50px
    }

    .headline-hr .en_ttl {
        font-size: var(--font-m)
    }

    .headline-hr .ttl {
        font-size: var(--font-ml)
    }
}

.line {
    display: block;
    width: 100%;
    height: 0;
    position: relative;
    z-index: 2
}

.line::before {
    content: "";
    display: block;
    margin: 0 auto;
    width: 112px;
    height: 1px;
    background: var(--border1);
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
    transform: rotate(90deg)
}

.section__header+.line {
    margin-top: 2em
}

.alert {
    border: 1px solid var(--d-gray);
    padding: 1.5em 1.75em
}

.alert>*:first-child {
    margin-top: 0
}

.alert p {
    line-height: 2
}

@media(min-width: 768px) {
    .alert {
        padding:2em 2.25em
    }
}

.gallery.row {
    margin-right: 0px;
    margin-left: 0px
}

.gallery.row>.col,.gallery.row>[class*=col-] {
    display: block;
    padding: 1px
}

.gallery.row a {
    display: block;
    padding-top: 100%;
    position: relative;
    overflow: hidden
}

.gallery.row a img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
    transition: .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}

.gallery.row a:hover img {
    transform: scale(1.1)
}

.gallery-content {
    margin-bottom: 8em
}

.gallery-content .gallery {
    margin-top: 3.5em
}

.gallery-content .link-section {
    margin-top: 3.5em
}

@media(min-width: 992px) {
    .gallery-content .articleBody {
        padding-inline:0 1.33em !important
    }
}

.iziModal-navigate {
    z-index: 999 !important
}

.iziModal-navigate>button.iziModal-navigate-prev,.iziModal-navigate>button.iziModal-navigate-next {
    background: none;
    margin: 0;
    opacity: 1;
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.iziModal-navigate>button.iziModal-navigate-prev::before,.iziModal-navigate>button.iziModal-navigate-next::before {
    content: "";
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    display: block;
    width: 40px;
    height: 40px;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    padding: 0;
    cursor: pointer;
    color: rgba(0,0,0,0);
    border: none;
    outline: none;
    background: var(--VI_sub2, #98728d);
    color: var(--Base_wht)
}

.iziModal-navigate>button.iziModal-navigate-prev::after,.iziModal-navigate>button.iziModal-navigate-next::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    color: var(--Base_wht);
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 10;
    transform: translate(-70%, -50%) rotate(45deg);
    transition: .2s
}

.iziModal-navigate>button.iziModal-navigate-prev {
    transform: rotate(180deg)
}

@media(max-width: 960px) {
    .iziModal-navigate>button.iziModal-navigate-prev {
        width:40px;
        right: auto !important;
        left: 0 !important
    }

    .iziModal-navigate>button.iziModal-navigate-next {
        width: 40px;
        left: auto !important;
        right: 0 !important
    }
}

@media(min-width: 961px) {
    .iziModal-navigate>button.iziModal-navigate-prev {
        left:auto !important;
        right: calc((100vw - 920px)/2 + 920px - 42px)
    }

    .iziModal-navigate>button.iziModal-navigate-next {
        right: auto !important;
        left: calc((100vw - 920px)/2 + 920px - 42px)
    }
}

.modal-gallery.iziModal {
    box-shadow: none
}

.modal-gallery .iziModal-content figure {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 920px;
    height: 920px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 40px);
    margin: 0 auto;
    position: relative
}

.modal-gallery .iziModal-content figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain
}

@media(orientation: portrait)and (max-width: 575px) {
    .modal-gallery .iziModal-content figure {
        max-height:calc(100vw - 40px)
    }

    .modal-gallery .iziModal-content figure img {
        object-fit: cover
    }
}

.iframeBox {
    width: 100%;
    height: 100%;
    padding-top: 100%;
    position: relative
}

.iframeBox iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

@media(min-width: 575px) {
    .iframeBox.gmap {
        padding-top:48%
    }
}

.pickups-original {
    width: 100%;
    height: 380px
}

ul.row,ol.row,.lists {
    list-style-type: none
}

.lists .list {
    display: block;
    line-height: 1.5;
    letter-spacing: .08em;
    border-bottom: 1px solid var(--border1);
    padding: 1.5em 0 1.5em;
    position: relative
}

.lists .list .entry__meta {
    display: flex;
    align-items: baseline;
    margin: .5em 1em .5em 0
}

.lists .list .entry__meta time {
    display: block;
    min-width: 6.75em
}

.lists .list .ttl {
    flex-basis: 100%;
    line-height: 1.5;
    font-size: 1em;
    position: relative
}

.lists a:hover {
    opacity: .6
}

.lists.topics .list:after {
    content: "";
    display: block;
    width: 25vw;
    height: 1px;
    position: absolute;
    top: 100%;
    left: 100%;
    background: var(--border1)
}

.lists.topics .category .cat {
    display: inline-block;
    text-align: center;
    margin-right: 2em
}

.lists.topics+.viewmore {
    margin: 3em 0 1em
}

@media(min-width: 992px) {
    .lists.topics .list {
        display:flex
    }

    .lists.topics .list .entry__meta {
        margin: 0 1em 0 0
    }

    .lists.topics .list .ttl {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis
    }
}

.fbox {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto
}

.fbox li {
    width: calc(50% - 5px)
}

.fbox li img {
    margin: 0
}

@media(max-width: 640px) {
    .fbox li {
        width:100%
    }
}

.explain {
    border: 1px solid;
    padding: .3rem;
    color: #ba8f54;
    font-weight: 600;
    max-width: 800px;
    margin: auto
}

.cards {
    list-style-type: none
}

.cards.row .card:not(:last-child) {
    margin-bottom: 50px
}

.card {
    display: block;
    color: var(--Base_blk);
    line-height: 1.75;
    position: relative
}

.card>a {
    display: block;
    border-bottom: 1px solid rgba(157,155,141,.3);
    padding-bottom: .75em
}

.card .imgBox,.card .imgBox_L {
    padding-top: 100%;
    margin-bottom: 1.5rem;
    overflow: hidden;
    position: relative
}

.card .imgBox_L {
    padding-top: 61.76%
}

.card .imgBox img,.card .imgBox_L img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    object-fit: cover;
    transition: .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}

.card>a:hover .imgBox img,.card>a:hover .imgBox_L img {
    transform: scale(1.1)
}

.card .entry__meta {
    font-family: var(--font1);
    letter-spacing: .06em;
    display: flex;
    align-items: center;
    margin-top: .5rem
}

.card .entry__meta time {
    font-weight: 300;
    display: inline-block;
    color: var(--Text_gray, #9d9d96)
}

.card .entry__meta .cat+time {
    margin-left: 2em
}

.card .cat {
    color: var(--color1);
    display: inline-block;
    margin-left: 1em
}

.card .tags {
    color: var(--VI_sub2, #98728d)
}

.card .tax_list {
    display: flex;
    font-size: .929em
}

.card .tax_list .tax_ttl {
    position: relative
}

.card .tax_list .tax_ttl::after {
    content: "：";
    margin: 0 .5em
}

.card .headline-num-s {
    margin-top: 1.2em
}

.card>:not(.cover) {
    padding-inline:.5em}

.card .ttl {
    margin-top: 0;
    font-weight: 500
}

.card p {
    margin-top: .5em;
    margin-bottom: .75em
}

.card .more {
    margin-top: .75em
}

.card .more-btn {
    display: inline-flex;
    align-items: center;
    color: var(--Text_sub2, #704b65);
    font-family: var(--mincho);
    padding: 0;
    letter-spacing: .04em;
    position: relative;
    transition: .2s;
    border: none;
    position: relative;
    max-width: inherit;
    gap: .6em;
    line-height: 1
}

.card .more-btn .arrow {
    position: relative;
    display: flex;
    align-items: center;
    gap: .6em
}

.card .more-btn .arrow:before {
    content: "";
    width: 20px;
    height: 1px;
    background: var(--Text_sub2, #704b65);
    opacity: .5
}

@media(min-width: 576px) {
    .cards.row {
        margin-right:-0.26em;
        margin-left: -0.26em
    }

    .cards.row>div {
        padding-right: .26em;
        padding-left: .26em
    }
}

.card:hover .more-btn {
    color: var(--color1-h)
}

.cards.row .card {
    margin-bottom: 54px
}

@media(max-width: 575px) {
    .cards.row .card {
        margin-right:auto;
        margin-left: auto
    }
}

@media(min-width: 1200px) {
    .cards.row .card {
        margin-bottom:60px
    }
}

.topics-list .card .ttl {
    line-height: 2
}

@media(min-width: 575px) {
    .topics-list .card a {
        display:flex;
        align-items: center;
        gap: 4em
    }

    .topics-list .card a .imgBox_L {
        width: 21.1em;
        padding-top: inherit;
        aspect-ratio: 317/196
    }

    .topics-list .card a .txtBox {
        flex: 1
    }

    .topics-list .card a .entry__meta {
        margin-top: 0
    }
}

@media(min-width: 992px) {
    .post-type-archive-topics .articleBody {
        padding-inline:4em
    }
}

table.detail tbody th {
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    padding: .5em 1.5em .5em 0
}

@media(max-width: 767px) {
    table.detail th,table.detail td {
        display:block
    }
}

table.detail-inline tbody th {
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    white-space: nowrap;
    padding: .25em 1.5em .25em 0
}

table.detail-inline tbody td {
    line-height: 1.5;
    padding: .25em 0
}

@media(max-width: 575px) {
    table.detail-inline tbody th {
        display:block
    }

    table.detail-inline tbody td {
        display: block;
        padding: 0 0 .5em
    }
}

.outline-table-ttl {
    border-bottom: 1px solid var(--border1);
    font-size: 1.231em;
    margin-bottom: 2em;
    padding: .5em 0
}

table.outline tbody th {
    font-weight: 400;
    text-align: left;
    white-space: nowrap;
    padding: .5em 2em .5em 0;
    border-right: 1px solid #d5d1c8
}

table.outline tbody td {
    padding: 0 0 0 2em
}

@media(max-width: 767px) {
    table.outline tbody th {
        display:block;
        border-right: none;
        border-bottom: 1px solid #d5d1c8
    }

    table.outline tbody td {
        display: block;
        padding: .5em 0 1.5em 0
    }
}

@media(min-width: 992px) {
    table.outline tbody th {
        padding:.5em 3em .5em 0
    }

    table.outline tbody td {
        padding: 0 0 0 3em
    }
}

.table {
    margin-top: 1.75rem
}

.table:first-child {
    margin-top: 0
}

.table th {
    text-align: left;
    width: 6.73em;
    padding-right: 16px;
    color: var(--Text_gray, #9d9d96)
}

.table tr:nth-of-type(n + 2) th,.table tr:nth-of-type(n + 2) td {
    padding-top: 1rem
}

dl.pattern dt {
    color: var(--color1);
    border-bottom: 1px solid var(--border1);
    font-size: 1.308em;
    padding-bottom: .25em;
    margin-bottom: .75em
}

.tabs,.entry__content .tabs {
    display: flex;
    flex-wrap: nowrap;
    margin-right: -3px;
    margin-left: -3px;
    list-style-type: none;
    border-bottom: 1px solid var(--border, rgba(157, 155, 141, 0.3))
}

.tabs .tab {
    padding: 0 5px 0;
    width: fit-content;
    cursor: pointer
}

.tabs .tab span {
    display: block;
    text-align: center;
    line-height: 1.5;
    letter-spacing: .08em;
    padding: 1em 0;
    color: var(--Text_grayout, #b5b5b2);
    transition: .3s
}

.tabs .tab span:hover,.tabs .tab.active span {
    border-bottom: 1px solid var(--Text_sub2, #89637e);
    color: var(--Text_sub2, #89637e)
}

.tab-cont:not(:first-of-type) {
    display: none
}

.tab-cont .tab-cont_label {
    font-size: 1rem;
    margin-bottom: 2rem;
    display: flex;
    align-items: center
}

.tab-cont .tab-cont_label::before {
    content: "";
    display: block;
    width: 3em;
    height: 1px;
    background-color: currentColor;
    margin-right: 1em
}

.faq-list:not(:last-child) {
    margin-bottom: 6em
}

.faq-list .headline-s {
    margin-bottom: 3em
}

.faq-list .content {
    border-top: 1px solid rgba(157,155,141,.3)
}

.acc_btn.more-btn {
    border-bottom: 0
}

.acc_btn:not(.btn):not(.more-btn) {
    display: block;
    white-space: nowrap;
    border-bottom: 1px solid rgba(157,155,141,.3);
    padding: 2em 1.5em;
    position: relative;
    cursor: pointer
}

@media(min-width: 961px) {
    .acc_btn:not(.btn):not(.more-btn) {
        padding:2em 1.5em 2em 3em
    }
}

.acc.on .acc_btn:not(.btn)::before {
    background: rgba(0,0,0,0)
}

.acc.on .acc_btn:not(.btn)::after {
    transform: translate(-50%, -25%) rotate(-135deg);
    color: var(--color1)
}

.acc_btn .faq__q {
    font-size: var(--font-m);
    line-height: 1.5;
    letter-spacing: .08em;
    white-space: normal;
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 1.25em
}

.acc_btn .faq__q .icon {
    margin-top: .15em
}

.acc_body .faq__a {
    padding: 2em 0 2em 1.5em;
    position: relative
}

@media(min-width: 961px) {
    .acc_body .faq__a {
        padding:2em 0 3em 3em
    }
}

.acc_body .faq__a .label {
    font-family: var(--font3);
    color: var(--color1);
    display: block;
    font-size: 1.538rem;
    line-height: 1.25;
    position: absolute;
    top: 1.5rem;
    left: .1em
}

.acc_body .faq__a a {
    color: var(--color1);
    text-decoration: underline
}

@media(max-width: 575px) {
    .acc_btn .faq__q {
        font-size:1.154em
    }
}

.acc_btn.acc_btn-bg1 {
    background: var(--d-gray);
    color: var(--Base_wht);
    border-bottom: none;
    text-align: center
}

.acc_btn.acc_btn-bg1::before {
    width: .5rem;
    height: .5rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    background: none;
    right: 5%;
    transform: translateY(-50%) rotate(45deg)
}

.acc.on .acc_btn.acc_btn-bg1:before {
    transform: translateY(-50%) rotate(-135deg)
}

.acc_btn.btn i.arrow::after {
    border-top: 0;
    border-bottom: 1px solid currentColor;
    transform: translate(-50%, -75%) rotate(45deg)
}

.acc.on .acc_btn.btn i.arrow::after {
    transform: translate(-50%, -25%) rotate(-135deg)
}

@media(min-width: 768px) {
    .acc_btn.btn {
        border-bottom:0
    }
}

.acc_close {
    display: inline-block;
    text-align: center;
    color: var(--color1);
    position: relative
}

.acc_close>span {
    display: block;
    position: relative
}

.acc_close.more-btn {
    border-bottom: 0
}

.acc_close.arrow-btn {
    color: var(--VI_sub2, #98728d);
    text-align: left
}

.acc_close.more-btn .arrow::after,.acc_close.arrow-btn i.arrow::after {
    transform: translate(-50%, -25%) rotate(-45deg)
}

.menu-content {
    color: var(--Text_grayout, #b5b5b2)
}

.bg-white {
    background-color: var(--Base_wht);
    overflow: hidden
}

.bg-l-gray {
    background-color: var(--l-gray);
    overflow: hidden
}

.bg-l-gray2 {
    background-color: var(--l-gray2);
    overflow: hidden
}

.bg-l-gray3 {
    background-color: var(--l-gray3);
    overflow: hidden
}

.bg-color1 {
    background-color: var(--color1);
    overflow: hidden;
    color: var(--Base_wht)
}

.black {
    color: var(--Base_blk)
}

.color1 {
    color: var(--color1)
}

.color2 {
    color: var(--VI_sub2, #98728d)
}

.color3 {
    color: var(--color3)
}

.gray {
    color: var(--gray)
}

.red {
    color: var(--red)
}

.grayscale {
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%)
}

.container-entry {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto
}

.single .articleHeader .ttl {
    line-height: 1.6
}

.single .articleHeader .headline {
    margin-bottom: 1.5em
}

.single .articleBody {
    margin-top: 4em;
    margin-bottom: 6rem
}

@media(min-width: 992px) {
    .single .articleBody {
        padding-inline:4em
    }
}

.single .thumbnail {
    margin-bottom: 4em
}

.article__header {
    margin-bottom: 45px
}

.article__header .entry__ttl {
    border-bottom: 1px solid var(--gray);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem
}

.article__header .entry__meta {
    display: block
}

.article__header .entry__meta .cat {
    color: var(--VI_sub2, #98728d);
    margin-left: 1em
}

.article__header .ttl {
    margin: 0 !important;
    line-height: 1.6
}

.oneColumn .article__header .entry__ttl {
    border-bottom: none;
    padding-bottom: 0
}

.article__footer {
    margin: 60px auto 15px;
    padding-top: 45px;
    border-top: 1px solid rgba(0,0,0,.1)
}

.entry__content {
    letter-spacing: 0;
    line-height: 2;
    -webkit-font-smoothing: antialiased
}

.entry__content a {
    color: var(--color1);
    text-decoration: underline
}

.entry__content blockquote {
    margin: 0 0 1.5em .75em;
    padding: 0 0 0 .75em;
    border-left: 3px solid #8da0b6;
    font-style: italic;
    color: #abb1b5
}

.entry__content dl {
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content dt {
    font-feature-settings: "palt";
    background-color: #1a1a1a;
    font-weight: 700;
    font-size: 1.125em;
    margin-bottom: .75em;
    padding: .5em .75em
}

.entry__content dd {
    margin-left: 0;
    margin-bottom: 1em;
    padding: 0 1em
}

.entry__content dd+dt {
    margin-top: 1em
}

.entry__content figure {
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content pre {
    background: #323944;
    color: #f8f9fa;
    font-size: .9em;
    padding: 15px;
    border-radius: 3px;
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content .video {
    position: relative;
    width: 100%;
    padding-top: 56.25%
}

.entry__content .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content table {
    width: 100%;
    margin-top: 1rem;
    margin-bottom: 3rem;
    line-height: 1.5
}

.entry__content table th {
    background-color: var(--l-gray2);
    border: 1px solid var(--border1);
    padding: .5em;
    font-weight: 400
}

.entry__content table tbody th {
    text-align: left
}

.entry__content table td {
    border: 1px solid var(--border1);
    padding: .5em
}

.entry__content table.table_S {
    width: auto;
    margin: 0
}

.entry__content table.table_S th {
    border: 0;
    padding: .25em 0
}

.entry__content table.table_S td {
    border: 0;
    padding: .25em 0
}

.entry__content table.table_S *+td {
    padding-left: 1.5em
}

.entry__content .scroll-table {
    overflow-x: auto;
    margin-bottom: 3rem
}

.entry__content .scroll-table table {
    margin-bottom: 1rem
}

.entry__content .scroll-table table tbody th {
    white-space: nowrap
}

.entry__content ul,.entry__content ol {
    margin-left: 0;
    padding-left: 0;
    margin-top: 1rem;
    margin-bottom: 3rem;
    counter-reset: cnt
}

.entry__content ol ol,.entry__content ul ul,.entry__content ol ul,.entry__content ul ol {
    margin-top: .5em;
    margin-bottom: .5em
}

.entry__content ol li,.entry__content ul li {
    margin-top: .5em;
    margin-bottom: .5em
}

.entry__content ol li {
    list-style-type: none;
    counter-increment: cnt;
    position: relative
}

.entry__content ol li::before {
    font-family: sans-serif;
    content: "( " counter(cnt) " )";
    margin-right: .5em
}

.entry__content ol li ol li::before {
    font-family: sans-serif;
    display: inline-block;
    width: 2em;
    text-align: center;
    margin-right: 0;
    content: counter(cnt);
    transform: scale(0.75)
}

.entry__content ol li ol li::after {
    content: "";
    display: block;
    width: 2em;
    height: 2em;
    border: 1px solid currentColor;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    transform: scale(0.65)
}

.entry__content ol li ol li ol {
    margin-left: 2em
}

.entry__content ol li ol li ol li,.entry__content .list-katakana-iroha li {
    list-style-type: katakana-iroha;
    padding-left: 1em;
    text-indent: -1em
}

.entry__content ol li ol li ol li::before,.entry__content .list-katakana-iroha li::before,.entry__content ol li ol li ol li::after,.entry__content .list-katakana-iroha li::after {
    display: none !important
}

.entry__content p {
    margin-top: 1rem;
    margin-bottom: 3rem
}

.entry__content h1,.entry__content h2,.entry__content h3,.entry__content h4,.entry__content h5,.entry__content h6 {
    font-family: var(--gothic)
}

.entry__content h1 {
    font-size: 1.846em;
    line-height: 1.8;
    margin: 1.25em 0
}

.entry__content h2 {
    font-size: 1.692em;
    line-height: 1.8;
    margin: 1.25em 0
}

.entry__content h3 {
    font-size: 1.538em;
    line-height: 2;
    margin: 1.25em 0
}

.entry__content h4 {
    font-size: 1.385em;
    line-height: 2;
    margin: 1.25em 0
}

.entry__content h5 {
    font-size: 1.154em;
    line-height: 2;
    margin: 1.25em 0
}

.entry__content h6 {
    font-size: 1em;
    line-height: 2;
    margin: 1.25em 0
}

.entry__content>.section>h2:first-child {
    margin-top: 0
}

.tags {
    margin: .75em 0 0
}

.tags span {
    display: inline-block;
    font-size: .923rem;
    margin-right: .75em
}

.tags a {
    text-decoration: none
}

#post-not-found {
    text-align: center;
    margin: 0 auto;
    padding: 1em 0
}

.has-red-color {
    color: #e8383d !important
}

.has-red-background-color {
    background-color: #e8383d !important
}

.has-pink-color {
    color: #d83473 !important
}

.has-pink-background-color {
    background-color: #d83473 !important
}

.has-purple-color {
    color: #915da3 !important
}

.has-purple-background-color {
    background-color: #915da3 !important
}

.has-blue-color {
    color: #006eb0 !important
}

.has-blue-background-color {
    background-color: #006eb0 !important
}

.has-light-blue-color {
    color: #409ecc !important
}

.has-light-blue-background-color {
    background-color: #409ecc !important
}

.has-green-color {
    color: #009854 !important
}

.has-green-background-color {
    background-color: #009854 !important
}

.has-yellow-color {
    color: #ffdc00 !important
}

.has-yellow-background-color {
    background-color: #ffdc00 !important
}

.has-dark-gray-color {
    color: #444 !important
}

.has-dark-gray-background-color {
    background-color: #444 !important
}

.has-gray-color {
    color: #777 !important
}

.has-gray-background-color {
    background-color: #777 !important
}

.has-light-gray-color {
    color: #ccc !important
}

.has-light-gray-background-color {
    background-color: #ccc !important
}

.has-white-color {
    color: #fff !important
}

.has-white-background-color {
    background-color: #fff !important
}

.has-x-small-font-size {
    font-size: 10px
}

.has-small-font-size {
    font-size: 12px
}

.has-regular-font-size {
    font-size: 14px
}

.has-large-font-size {
    font-size: 21px
}

.has-x-large-font-size {
    font-size: 28px
}

.has-huge-font-size {
    font-size: 35px
}

.entry__content .alignfull,.entry__content .alignwide {
    width: 100vw;
    margin-left: calc((100vw - 100%)/2*-1)
}

@media(min-width: 576px) {
    .entry__content .alignwide {
        width:calc(100% + (100vw - 100%)/2);
        margin-left: calc((100vw - 100%)/4*-1)
    }
}

.entry__content .alignfull>img,.entry__content .alignwide>img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    min-width: 100%
}

@media(min-width: 576px) {
    .entry__content .excerpt {
        margin-right:-1.25em;
        margin-left: -1.25em
    }
}

.entry__content .wp-block-separator {
    margin-top: 3em;
    margin-bottom: 3em
}

.entry__content .wp-block-buttons {
    margin: 3em -15px;
    display: flex;
    flex-wrap: wrap;
    align-items: center
}

.entry__content .wp-block-buttons.aligncenter {
    justify-content: center
}

.entry__content .wp-block-buttons.alignright {
    justify-content: flex-end
}

.entry__content .wp-block-buttons .wp-block-button,.entry__content .wp-block-buttons .wp-block-button:last-child {
    margin-right: 0;
    margin-left: 0;
    padding: 0 15px;
    width: 100%
}

.entry__content .wp-block-button__link {
    width: 100%;
    padding: 1.5em 3em;
    display: inline-block;
    text-align: center;
    font-size: 1em;
    letter-spacing: .1em;
    line-height: 1.54em;
    border-radius: 0
}

.entry__content .is-style-fill .wp-block-button__link {
    background-color: #111;
    color: #fff;
    border: 1px solid rgba(0,0,0,0)
}

.entry__content .is-style-outline .wp-block-button__link,.entry__content .wp-block-button__link.is-style-outline {
    background-color: rgba(0,0,0,0);
    color: #111;
    border: 1px solid currentColor
}

@media(min-width: 768px) {
    .entry__content .wp-block-buttons .wp-block-button,.entry__content .wp-block-buttons .wp-block-button:last-child {
        width:50%;
        min-width: 300px
    }

    .entry__content .wp-block-buttons .wp-block-button:first-child:last-child {
        width: 100%
    }
}

.entry__content .wp-block-table.is-style-stripes {
    border-bottom: none
}

.entry__content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
    background-color: rgba(0,0,0,.05)
}

.entry__content small svg {
    max-width: 16px;
    top: 3px;
    position: relative;
    fill: var(--color1)
}

.single-page-cover {
    overflow: hidden;
    position: relative
}

.single-page-cover::before {
    content: "";
    display: block;
    height: 50%;
    min-height: 22rem;
    background: var(--l-gray2);
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0
}

.tax_listBlock .tax_list {
    font-family: var(--gothic);
    margin-bottom: .5em;
    line-height: 2.4
}

.tax_listBlock .tax_ttl {
    font-family: var(--font1);
    color: var(--color1);
    letter-spacing: .08em;
    border-bottom: 1px solid var(--border1)
}

@media(max-width: 767px) {
    .tax_listBlock {
        margin:0 auto .5em;
        max-width: 24em
    }

    .tax_listBlock .tax_list {
        padding: 0;
        display: flex;
        justify-content: space-between;
        margin-bottom: 1em;
        border-bottom: 1px solid var(--border1)
    }

    .tax_listBlock .tax_ttl {
        border-bottom: 0
    }
}

@media(max-width: 575px) {
    .single-page-cover {
        background:var(--l-gray2)
    }
}

@media(min-width: 576px) {
    .single-page-cover .thumbnail {
        margin-top:4em
    }
}

@media(min-width: 992px) {
    .single-page-cover {
        padding:2em 0 .5em
    }

    .tax_listBlock .tax_ttl {
        padding-bottom: .5em;
        margin-bottom: .5em
    }
}

.archive-menu-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin-right: calc((100vw - 100%)/2*-1);
    margin-left: calc((100vw - 100%)/2*-1);
    position: relative;
    padding-left: 25px
}

.archive-menu-wrapper .menu-content {
    border-bottom: 1px solid;
    width: fit-content;
    margin-right: 25px
}

.archive-menu-wrapper ul {
    display: flex;
    width: fit-content;
    gap: 2em;
    white-space: nowrap
}

.archive-menu-wrapper ul li {
    flex-grow: 1
}

.archive-menu-wrapper ul a {
    padding-block:1em;padding-inline:.5em;display: block;
    font-family: var(--mincho)
}

.archive-menu-wrapper ul .current {
    border-bottom: 1px solid var(--Text_sub2, #89637e)
}

.archive-menu-wrapper ul .current span {
    color: var(--Text_sub2, #89637e)
}

.archive-menu-wrapper .acc_btn {
    letter-spacing: .12em
}

.archive-menu-wrapper ul.acc-menu {
    list-style-type: none;
    line-height: 1.35;
    padding-top: 1em
}

.archive-menu-wrapper ul.acc-menu li a {
    display: block;
    line-height: 1.5;
    padding: .5em 0
}

@media(min-width: 768px) {
    .archive-menu-wrapper {
        margin-left:0;
        margin-right: 0;
        padding-left: 0
    }

    .archive-menu-wrapper .menu-content {
        width: 100%;
        margin-right: 0
    }
}

.category-search {
    color: var(--color1)
}

.category-search-ttl {
    display: inline-block;
    margin-bottom: 1em;
    letter-spacing: .12em
}

.category-search-list {
    margin-right: -3px;
    margin-left: -3px
}

.category-search-list li {
    padding: 3px
}

.category-search-list li a {
    display: block;
    line-height: 1.5;
    letter-spacing: .08em;
    padding: 1em 0;
    border-radius: .25em;
    border: 1px solid var(--color1)
}

.category-search-list li a:hover,.category-search-list li.current a {
    background: var(--color1);
    color: var(--Base_wht)
}

.category-search-list li select {
    width: 100%;
    height: calc(3.5em + 2px);
    padding: 0 calc(1em + 6%);
    border-radius: .25em;
    border-color: var(--color1);
    background-image: url(../img/common/arrow-down.svg);
    background-repeat: no-repeat;
    background-position: center right 6%;
    background-size: 1.2em 1.2em;
    font-family: inherit;
    text-align: center
}

.category-search-list li select:focus {
    background-color: var(--l-gray2)
}

.category-search-list li select.selected {
    background: var(--color3);
    color: var(--Base_wht)
}

@media(min-width: 575px) {
    .category-search-ttl {
        margin-bottom:.75em
    }

    .category-search-list {
        margin-right: -6px;
        margin-left: -6px
    }

    .category-search-list li {
        padding: 6px
    }
}

.archive-title {
    color: var(--color1);
    letter-spacing: .08em;
    margin-bottom: 30px
}

@media(max-width: 575px) {
    .archive-title {
        max-width:320px;
        margin-right: auto;
        margin-left: auto
    }
}

.switch-nav li a {
    display: block;
    font-size: 1.385rem;
    letter-spacing: .08em;
    padding: .5em;
    color: var(--gray);
    font-family: var(--mincho)
}

.switch-nav li a span {
    display: block;
    padding: .25em 0;
    position: relative
}

.switch-nav li a span:before {
    content: "";
    display: block;
    width: 0;
    height: 1px;
    background: currentColor;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin: 0 auto;
    transition: width .2s
}

.switch-nav li.current a {
    color: var(--Base_blk);
    pointer-events: none;
    cursor: default
}

.switch-nav li.current a span:before {
    color: var(--color1);
    width: 100%
}

.switch-nav li a:hover span:before {
    width: 100%
}

@media(max-width: 575px) {
    .switch-nav .row {
        margin-right:-2.5vw;
        margin-left: -2.5vw;
        flex-wrap: nowrap
    }

    .switch-nav li {
        padding: 0 2.5vw
    }

    .switch-nav li a {
        font-size: 1.077rem
    }
}

.side_box ul {
    list-style-type: none
}

.side_box a {
    color: var(--VI_sub2, #98728d);
    display: block;
    line-height: 1.5;
    padding: .75em 0
}

.side_box select {
    width: 100%;
    height: 40px;
    padding: 0 1em;
    font-size: inherit;
    border-radius: 0;
    background-color: var(--Base_wht);
    background-image: url(../img/common/icon-arrow-down2.svg);
    background-repeat: no-repeat;
    background-position: center right 5%;
    background-size: 14px 14px
}

.side_box .side_ttl {
    font-size: 1rem
}

@media(max-width: 991px) {
    .sideCol {
        margin-bottom:3em
    }

    .side_box {
        color: var(--color1);
        text-align: center
    }

    .side_box .acc-menu {
        padding-top: 1em
    }

    .side_box.side_box__recently ul {
        text-align: left
    }

    .side_box.side_box__category {
        margin-top: 1.5em
    }

    .side_box.side_box__category ul {
        display: flex;
        flex-wrap: wrap;
        margin-right: -3px;
        margin-left: -3px
    }

    .side_box.side_box__category ul li {
        flex: 0 0 50%;
        padding: 3px
    }

    .side_box.side_box__category ul li a {
        display: block;
        line-height: 1.5;
        letter-spacing: .08em;
        padding: 1em 0;
        border-radius: .25em;
        border: 1px solid var(--color1)
    }

    .side_box.side_box__category ul li a:hover,.side_box.side_box__category ul li.current a {
        background: var(--color1);
        color: var(--Base_wht)
    }
}

@media(min-width: 992px) {
    .side_box {
        margin-bottom:2em
    }

    .side_box .side_ttl {
        border-bottom: 1px solid var(--gray);
        padding-top: .25em;
        padding-bottom: 1em;
        margin-bottom: 1em
    }

    .side_box.side_box__archive .side_ttl {
        border-bottom: none;
        padding-bottom: 0
    }
}

.pagination,.wp-prev-next {
    margin: 30px 0 15px
}

.pagination {
    text-align: center
}

.pagination ul {
    display: flex;
    justify-content: flex-start;
    white-space: nowrap;
    padding: 0
}

.pagination li {
    padding: 0;
    margin: 0;
    overflow: hidden
}

.pagination li .page-numbers {
    color: var(--Text_grayout, #b5b5b2);
    font-family: var(--urw);
    margin: 0 .25em;
    padding: 0;
    width: 2rem;
    line-height: 2rem;
    font-size: .875rem;
    font-weight: normal;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center
}

.pagination li .page-numbers.current {
    color: var(--Base_blk, #2d2d1c);
    cursor: default
}

.pagination li .page-numbers.next,.pagination li .page-numbers.prev {
    background: rgba(0,0,0,0);
    color: rgba(0,0,0,0);
    margin: 0 .5em;
    position: relative
}

.pagination li .page-numbers.next::after,.pagination li .page-numbers.prev::after {
    content: "";
    display: block;
    width: 30%;
    height: 30%;
    border-top: 1px solid var(--color1);
    border-right: 1px solid var(--color1);
    position: absolute;
    top: 50%;
    right: 50%;
    transition: .2s;
    transform: translateY(-50%) rotate(45deg)
}

.pagination li .page-numbers.prev {
    transform: rotate(180deg)
}

.paginav {
    color: var(--color1);
    border-top: 1px solid rgba(157,155,141,.3);
    padding-top: 3rem;
    margin-top: 6em
}

.paginav a:not(.btn) {
    display: inline-block;
    margin: 1em 0
}

.paginav .next {
    padding: 0 .5em;
    text-align: right
}

.paginav .prev {
    padding: 0 .5em
}

.paginav .back {
    padding: 0 .5em
}

.paginav .back a {
    text-decoration: underline
}

@media(max-width: 991px) {
    .paginav {
        padding-top:3rem
    }
}

.block-banner-list {
    list-style-type: none;
    position: relative;
    z-index: 2
}

.block-banner-list li {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative
}

.block-banner-list li::before {
    content: "";
    display: block;
    background-color: rgba(0,0,0,.32);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}

.block-banner-list li:hover::before {
    background-color: rgba(0,0,0,.48)
}

.block-banner-list li a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    text-align: center;
    min-height: 28rem;
    padding-right: 32px;
    padding-left: 32px;
    color: var(--Base_wht);
    position: relative
}

.block-banner-list li a .next {
    position: absolute;
    left: 0;
    top: 4em;
    padding-left: 40px;
    font-family: var(--urw);
    font-size: var(--font-ml)
}

.block-banner-list li a .next:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0%, -50%);
    width: 25px;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.5) 100%)
}

.block-banner-list li a .next:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translate(0%, -50%);
    width: 10px;
    height: 1px;
    background: #fff
}

@media(min-width: 992px) {
    .block-banner-list li a .next {
        padding-left:4em
    }

    .block-banner-list li a .next:before {
        width: 3em
    }

    .block-banner-list li a .next:after {
        width: .5em;
        left: 2.5em
    }
}

.block-banner-list li a span {
    display: block;
    line-height: 1.5;
    letter-spacing: .08em;
    margin: .35em 0
}

.block-banner-list li a .copy {
    font-size: 1.308rem;
    margin: .75em 0 0
}

.block-banner-list li a .read {
    font-size: 1.154rem;
    font-family: var(--mincho);
    line-height: 2
}

.block-banner-list li a .ttl {
    margin: .75em 0
}

.block-banner-list li a .btn {
    margin-top: 2em;
    max-width: 22.6em
}

@media(min-width: 768px) {
    .block-banner-list li a {
        min-height:30rem
    }
}

@media(min-width: 992px) {
    .block-banner-list li a {
        height:37rem;
        align-items: center;
        justify-content: center
    }

    .block-banner-list.block-banner-list-half li a {
        height: 30rem
    }

    .block-banner-list li a .copy {
        font-size: 1.5rem
    }

    .block-banner-list li a .read {
        font-size: 1.538rem
    }
}

a.block-banner {
    display: block;
    height: 29em;
    position: relative
}

a.block-banner .bg {
    height: 100%
}

a.block-banner .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

a.block-banner .bg::before {
    content: "";
    display: block;
    background-color: rgba(0,0,0,.25);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    transition: .6s cubic-bezier(0.39, 0.575, 0.565, 1)
}

a.block-banner:hover .bg::before {
    background-color: rgba(0,0,0,.5)
}

a.block-banner .txtBox {
    color: var(--Base_wht);
    position: absolute;
    bottom: 3em
}

@media(min-width: 576px) {
    a.block-banner .btn {
        width:22.6em
    }
}

@media(min-width: 992px) {
    a.block-banner {
        height:44em
    }

    a.block-banner .txtBox {
        bottom: 5em
    }
}

ul.stepbar {
    text-align: center;
    list-style-type: none;
    display: flex;
    margin-right: -20px;
    margin-left: -20px;
    font-family: var(--gothic)
}

ul.stepbar li {
    padding: 0 20px;
    flex-basis: 100%;
    position: relative
}

ul.stepbar li:not(:last-child)::before {
    content: "";
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: var(--color1);
    position: absolute;
    top: 50%;
    right: -0.7em;
    transition: background .2s;
    transform: translateY(-50%)
}

ul.stepbar li:not(:last-child)::after {
    content: "";
    display: block;
    width: .5rem;
    height: .5rem;
    color: var(--Base_wht);
    border-right: 1px solid currentColor;
    border-top: 1px solid currentColor;
    position: absolute;
    top: 50%;
    right: -0.485rem;
    transition: color .2s;
    transform: translate(-75%, -50%) rotate(45deg)
}

ul.stepbar li span {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--l-gray2);
    color: var(--color1);
    line-height: 1.5;
    padding: 1em 0
}

ul.stepbar li.current span {
    background: var(--color1);
    color: var(--Base_wht)
}

.bg-l-gray2 ul.stepbar li:not(.current) span {
    background: var(--Base_wht);
    color: var(--color1)
}

@media(max-width: 991px) {
    ul.stepbar {
        margin-right:-15px;
        margin-left: -15px
    }

    ul.stepbar li {
        padding: 0 15px
    }
}

@media print {
    * {
        background: rgba(0,0,0,0) !important;
        color: #000 !important;
        text-shadow: none !important;
        filter: none !important;
        -ms-filter: none !important
    }

    a,a:visited {
        color: #444 !important;
        text-decoration: underline
    }

    a:after,a:visited:after {
        content: " (" attr(href) ")"
    }

    a abbr[title]:after,a:visited abbr[title]:after {
        content: " (" attr(title) ")"
    }

    .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after {
        content: ""
    }

    pre,blockquote {
        border: 1px solid #999;
        page-break-inside: avoid
    }

    thead {
        display: table-header-group
    }

    tr,img {
        page-break-inside: avoid
    }

    img {
        max-width: 100% !important
    }

    @page {
        margin: .5cm
    }

    p,h2,h3 {
        orphans: 3;
        widows: 3
    }

    h2,h3 {
        page-break-after: avoid
    }

    .sidebar,.page-navigation,.wp-prev-next,.respond-form,nav {
        display: none
    }
}

li {
    list-style: none
}

.single small {
    border: 1px dotted;
    display: block;
    padding: 0 .4rem
}

.ilink {
    text-decoration: underline;
    display: inline;
    margin: 0 .2rem
}

.ilink:hover {
    color: #d00
}

@media(max-width: 640px) {
    .gallery-planBtn {
        margin-top:.5rem
    }
}

.fixed-layout {
    display: flex;
    gap: 4.26em
}

.fixed-layout .article-title {
    width: 10.65em;
    height: calc(100dvh - 6.656em);
    position: sticky;
    top: 6.656em;
    flex-shrink: 0
}

@media(min-width: 992px) {
    .fixed-layout .article-title.has-menu {
        display:flex !important;
        flex-direction: column;
        justify-content: space-between
    }

    .fixed-layout .article-title.has-menu .anchorLink {
        padding: 0 0 3em 2em
    }

    .fixed-layout .article-title.has-menu .anchorLink ul {
        flex-direction: column
    }

    .fixed-layout .article-title.has-menu .anchorLink a {
        font-size: var(--font-s)
    }
}

.fixed-layout .article-title_inner {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 7.99em
}

.fixed-layout .articleHeader {
    padding-top: 6em
}

@media(min-width: 992px) {
    .fixed-layout .articleHeader {
        padding-top:7.99em
    }

    .articleBody {
        padding-right: 1.33em;
        overflow: hidden
    }
}

.border-box>div {
    border-bottom: 1px solid rgba(157,155,141,.3);
    padding-bottom: 2em
}

.border-box>div:not(:last-child) {
    margin-bottom: 2em
}

@media(min-width: 992px) {
    .border-box .flex-pc {
        display:flex;
        align-items: center;
        gap: 2.663em
    }

    .border-box .flex-pc .headline-s {
        min-width: 8.655em;
        margin: 0
    }

    .border-box .flex-pc .headline-s h4 {
        font-size: var(--font-m)
    }

    .border-box .flex-pc p {
        margin-top: 0
    }
}

.anchorLink p {
    font-family: var(--mincho);
    margin-top: 0;
    margin-bottom: 1.25em
}

.anchorLink ul {
    display: flex;
    gap: 1em 2em;
    flex-wrap: wrap
}

.anchorLink ul a {
    color: var(--Text_grayout, #b5b5b2);
    display: flex;
    gap: .5em;
    align-items: center
}

.anchorLink ul a.active {
    color: var(--Text_title, #44443b)
}

.anchorLink ul a:before {
    content: "";
    width: 4px;
    height: 4px;
    background: var(--Text_title, #44443b);
    border-radius: 8px
}

.anchorLink ul a .arrow {
    margin-top: -0.3em
}

.gray-box {
    border-radius: 5px;
    background: var(--Base_gry, #f9f7f4);
    padding: 2em 1.5em
}

.gray-box+.gray-box {
    margin-top: 1.5em
}

@media(min-width: 576px) {
    .gray-box .headline-s {
        margin-bottom:1.2em
    }
}

.meta-list {
    border-top: 1px solid rgba(157,155,141,.3);
    width: 100%;
    margin-top: 3.5em
}

.meta-list th,.meta-list td {
    padding-top: 1.5em;
    line-height: 1.25
}

.meta-list th {
    color: var(--Text_gray, #9d9d96);
    width: 7em;
    text-align: left
}

@media(min-width: 992px) {
    .corner {
        position:relative
    }

    .corner:before {
        content: "";
        position: absolute;
        top: -1;
        left: -1;
        width: 2.13em;
        height: 2.13em;
        background: #fff;
        border-radius: 0 0 2.13em 0;
        z-index: 2
    }

    .corner:after {
        content: "";
        position: absolute;
        bottom: -1px;
        left: -1px;
        width: 2.13em;
        height: 2.13em;
        background: #fff;
        border-radius: 0 2.13em 0 0;
        z-index: 2
    }
}

.parallax-wrapper {
    height: 500px;
    overflow: hidden;
    position: relative
}

.parallax-wrapper.parallax-wrapper-hero {
    height: 400px
}

.parallax-wrapper.parallax-wrapper-hero .parallax-img {
    height: 125%;
    top: 0%
}

@media(min-width: 992px) {
    .parallax-wrapper.parallax-wrapper-hero {
        height:39.7em
    }

    .parallax-wrapper.parallax-wrapper-hero .parallax-img {
        height: 140%
    }
}

.parallax-wrapper .parallax-img {
    width: 100%;
    height: 150%;
    top: -10%;
    left: 0;
    position: absolute;
    object-fit: cover;
    will-change: transform
}

@media(min-width: 768px) {
    .parallax-wrapper .parallax-img {
        height:130%
    }
}

.parallax-float {
    display: block;
    will-change: transform;
    transition: transform .1s linear
}

/*# sourceMappingURL=set.css.map */
