@charset "UTF-8";
html {
    font-size: 100px;
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 500;
    color: #282828;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

@media print,
screen and (min-width:641px) {
    html {
        line-height: 1.5
    }
}

@media screen and (max-width:640px) {
    html {
        -webkit-text-size-adjust: 100%
    }
}

@media print,
screen and (min-width:641px) {
    html {
        font-size: clamp(65px, 6.25vw, 100px);
        line-height: 1.5
    }
}

@media screen and (max-width:640px) {
    html {
        font-size: clamp(85px, 26.6666666667vw, 114px);
        -webkit-text-size-adjust: 100%
    }
}

html.edge {
    -ms-text-size-adjust: 100%
}

html.os-mac {
    -webkit-font-smoothing: antialiased
}

html.scrollingFlg {
    pointer-events: none
}

body {
    position: relative;
    margin: 0;
    padding: 0;
    font-size: 0.11rem;
    opacity: 0
}

@media print,
screen and (min-width:641px) {
    body {
        min-width: 1000px
    }
}

.loading-delay body,
.wf-active body {
    opacity: 1;
    -webkit-transition: opacity 1s;
    transition: opacity 1s
}

.touchevents * {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.chrome body {
    image-rendering: -webkit-optimize-contrast
}

dd,
dl,
dt,
figure,
h1,
h2,
h3,
h4,
h5,
h6,
li,
ol,
p,
td,
th,
ul {
    margin: 0;
    padding: 0
}

article,
aside,
figcaption,
figure,
footer,
header,
main,
nav,
section {
    display: block
}

img {
    -ms-interpolation-mode: bicubic;
    border-style: none
}

svg:not(:root) {
    overflow: visible;
    shape-rendering: geometricPrecision
}

hr {
    height: 0;
    overflow: visible;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

b,
strong {
    font-weight: inherit;
    font-weight: bolder
}

a {
    outline: 0;
    text-decoration: none;
    color: inherit;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

li {
    list-style: none
}

sub,
sup {
    position: relative;
    vertical-align: baseline;
    line-height: 0
}

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

audio,
video {
    display: inline-block
}

audio:not([controls]) {
    display: none;
    height: 0
}

canvas {
    display: inline-block
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    border: none;
    outline: 0;
    margin: 0;
    padding: 0
}

button,
input {
    overflow: visible
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0
}

button:-moz-focusring,
input:-moz-focusring {
    outline: 1px dotted ButtonText
}

button,
select {
    cursor: pointer;
    text-transform: none
}

:where(button) {
    color: inherit
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border: none
}

select::-ms-expand {
    display: none
}

[data-hidePrintMessageArea] {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10px;
    pointer-events: none;
    opacity: 0
}

@media print {
    body {
        position: relative;
        top: 100px
    }
    body:before {
        content: "ページを印刷する際は一番下までスクロールして下さい。";
        display: none;
        white-space: pre;
        font-size: 20px;
        padding: 10px 10px;
        border: 3px solid #000;
        background-color: #FFF;
        color: #000;
        position: absolute;
        top: -100px;
        left: 0px;
        right: 0px;
        text-align: center;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
    .chrome body:before {
        content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「基本設定」→「背景のグラフィック」を有効にして下さい。"
    }
    .ie body:before {
        content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「印刷プレビュー」→「ページ設定」→「背景の色とイメージを印刷する」を有効にして下さい。"
    }
    .safari body:before {
        content: "ページを印刷する際は一番下までスクロールして下さい。\a画像を表示させる場合は、「詳細を表示」→「背景をプリント」を有効にして下さい。"
    }
    .edge body:before {
        content: "※Microsoft Edgeは背景や画像を印刷できません。"
    }
    .addPrintMessage body:before {
        display: block
    }
    * {
        background-attachment: scroll!important
    }
}

@media print,
screen and (min-width:641px) {
    [data-sc-sp] {
        display: none!important
    }
}

@media screen and (max-width:640px) {
    [data-sc-pc] {
        display: none!important
    }
}

@media print,
screen and (min-width:641px) and (max-width:1024px) {
    .mod_main {
        overflow: hidden
    }
}

[data-autoheight],
[data-pc-autoheight],
[data-sp-autoheight] {
    -webkit-transition: none!important;
    transition: none!important
}

[data-lf] {
    opacity: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    -webkit-transition: opacity 1s;
    transition: opacity 1s
}

[data-lf].load_view,
[data-lf][src],
[data-lf][style*=background-image] {
    opacity: 1
}

.of {
    line-height: 0
}

.of img {
    -o-object-fit: cover;
    object-fit: cover;
    font-family: "object-fit: cover;";
    background-size: cover;
    background-position: center center;
    width: 100%;
    height: 100%
}

picture {
    display: block;
    line-height: 0
}

a[onclick] {
    cursor: pointer
}

address {
    font-style: normal
}

.f_device {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Times New Roman", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-weight: 400
}

.f_device_b {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Times New Roman", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", serif;
    font-weight: 700
}

.f_go {
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 500
}

.f_go_b {
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 700
}

.f_garam {
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.f_min {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.f_min_m {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.f_shs {
    font-family: "source-han-serif-japanese", serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.content_wrap {
    padding-top: 0.8rem
}

@media screen and (max-width:640px) {
    .content_wrap {
        margin: 0;
        padding-top: 0.6rem
    }
}

.-inline {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.-vertical {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    -webkit-font-feature-settings: "vpal";
    font-feature-settings: "vpal"
}

.-horizontal {
    -ms-writing-mode: lr-tb;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"
}

.-combine {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all
}

.-rotation {
    display: inline-block;
    position: relative;
    top: -0.125em;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    letter-spacing: 0;
    line-height: 1
}

.-bg_texture01 {
    background-image: url("../img/bg_texture01.jpg");
    background-size: contain;
    background-position: center top;
    background-repeat: repeat
}

.-dot_arrow {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 0.12rem;
    height: 0.12rem
}

.-dot_arrow svg {
    position: relative;
    z-index: 1;
    width: 100%;
    height: auto;
    fill: #fff;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.-dot_arrow:before {
    content: "";
    position: absolute;
    left: calc(50% - 0.12rem);
    top: calc(50% - 0.12rem);
    width: 0.24rem;
    height: 0.24rem;
    border-radius: 50%;
    background-color: #808057;
    -webkit-transform: scale(0.4);
    transform: scale(0.4);
    -webkit-transition: -webkit-transform 0.7s;
    transition: -webkit-transform 0.7s;
    transition: transform 0.7s;
    transition: transform 0.7s, -webkit-transform 0.7s
}

.-dot_arrow.-up svg {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.-dot_arrow.-down svg {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}

.-dot_arrow.-left svg {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg)
}

.sec_tit {
    position: relative;
    text-align: center
}

.sec_tit .title {
    position: relative;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #282828;
    text-align: center
}

@media screen and (max-width:640px) {
    .sec_tit .title {
        font-size: 0.15rem
    }
}

.sec_tit .title[data-txt]:before {
    content: attr(data-txt);
    display: block;
    text-align: center;
    margin-bottom: 0.15rem;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.46rem;
    letter-spacing: 0.2em;
    line-height: 0.8;
    color: #808057
}

@media screen and (max-width:640px) {
    .sec_tit .title[data-txt]:before {
        font-size: 0.28rem;
        white-space: pre
    }
}

@media screen and (max-width:640px) {
    .sec_tit.-small .title {
        font-size: 0.15rem
    }
}

.sec_tit.-small .title[data-txt]:before {
    font-size: 0.34rem;
    margin-bottom: 0.2rem
}

@media screen and (max-width:640px) {
    .sec_tit.-small .title[data-txt]:before {
        font-size: 0.28rem
    }
}

.sec_tit.-left {
    text-align: left
}

.sec_tit.-left .title {
    text-align: left
}

.sec_tit.-left .title[data-txt]:before {
    text-align: left
}

.sec_tit.-right {
    text-align: right
}

.sec_tit.-right .title {
    text-align: right
}

.sec_tit.-right .title[data-txt]:before {
    text-align: right
}

.sec_tit.-vertical {
    position: absolute;
    z-index: 1
}

.sec_tit.-vertical .title[data-txt]:before {
    margin-bottom: 0;
    margin-left: 0.2rem
}

.sec_tit .catch {
    font-size: 0.2rem;
    letter-spacing: 0.2em;
    line-height: 2.3;
    margin-top: 0.4rem
}

@media screen and (max-width:640px) {
    .sec_tit .catch {
        font-size: 0.16rem;
        line-height: 2.12;
        margin-top: 0.4rem
    }
}

.sec_tit.-num .num {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.46rem;
    letter-spacing: 0.05em;
    line-height: 0.8;
    color: #393836
}

@media screen and (max-width:640px) {
    .sec_tit.-num .num {
        font-size: 0.3rem
    }
}

.sec_tit.-num .num[data-txt]:before {
    content: attr(data-txt);
    display: inline-block;
    margin-right: 0.15rem;
    font-size: 0.12rem;
    letter-spacing: 0.07em;
    line-height: 1.5;
    white-space: pre
}

@media screen and (max-width:640px) {
    .sec_tit.-num .num[data-txt]:before {
        margin-right: 0.1rem;
        font-size: 0.1rem;
        line-height: 1.4
    }
}

.sec_tit.-num .num.-box[data-txt]:before {
    max-width: 1.1rem;
    white-space: normal;
    text-align: justify;
    -moz-text-align-last: justify;
    text-align-last: justify;
    word-break: break-all
}

@media screen and (max-width:640px) {
    .sec_tit.-num .num.-box[data-txt]:before {
        max-width: 0.9rem
    }
}

.sec_tit.-num .title {
    margin-top: 0.3rem
}

@media screen and (max-width:640px) {
    .sec_tit.-num .title {
        font-size: 0.15rem;
        margin-top: 0.2rem
    }
}

.sec_tit.-num .title[data-txt]:before {
    margin-bottom: 0.2rem
}

@media screen and (max-width:640px) {
    .sec_tit.-num .title[data-txt]:before {
        font-size: 0.32rem;
        margin-bottom: 0.15rem
    }
}

.sec_tit.-btmline {
    padding-bottom: 0.9rem
}

@media screen and (max-width:640px) {
    .sec_tit.-btmline {
        padding-bottom: 0.3rem
    }
}

.sec_tit.-btmline:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    display: block;
    width: 1px;
    height: 0.4rem;
    background-color: #282828
}

@media screen and (max-width:640px) {
    .sec_tit.-btmline:before {
        height: 0.2rem
    }
}

.cont_tit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.5rem;
    background-color: #f3f2f0
}

@media screen and (max-width:640px) {
    .cont_tit {
        height: 53.33vw
    }
}

.cont_tit .title {
    position: relative;
    text-align: center;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.05em;
    line-height: 1
}

@media screen and (max-width:640px) {
    .cont_tit .title {
        font-size: 0.16rem
    }
}

.cont_tit .title[data-txt]:before {
    position: relative;
    display: block;
    content: attr(data-txt);
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.46rem;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #808057;
    margin-bottom: 0.2rem
}

@media screen and (max-width:640px) {
    .cont_tit .title[data-txt]:before {
        font-size: 0.32rem;
        white-space: pre;
        margin-bottom: 0.15rem
    }
}

.cont_tit .title.-min[data-txt]:before {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.32rem;
    letter-spacing: 0.05em;
    margin-bottom: 0.3rem
}

@media screen and (max-width:640px) {
    .cont_tit .title.-min[data-txt]:before {
        font-size: 0.26rem;
        line-height: 1.44;
        white-space: pre;
        margin-bottom: 0.2rem
    }
}

.cont_tit .sub {
    display: block;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.14rem;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #808057;
    margin-bottom: 0.2rem
}

@media screen and (max-width:640px) {
    .cont_tit .sub {
        font-size: 0.12rem;
        margin-bottom: 0.15rem
    }
}

.cont_header {
    position: relative;
    z-index: 0;
    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;
    height: 5rem;
    width: 100%
}

@media screen and (max-width:640px) {
    .cont_header {
        height: 72vw
    }
}

.cont_header>.cont_tit {
    height: auto;
    background: none
}

@media screen and (max-width:640px) {
    .cont_header>.cont_tit {
        height: auto
    }
}

.cont_header>.cont_tit .title {
    color: #fff
}

.cont_header>.cont_tit .title[data-txt]:before {
    color: #fff
}

.cont_header .bg {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%
}

.catch {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.24rem;
    letter-spacing: 0.2em;
    line-height: 2
}

@media screen and (max-width:640px) {
    .catch {
        font-size: 0.18rem;
        line-height: 2.22
    }
}

.read {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.16rem;
    letter-spacing: 0.2em;
    line-height: 2
}

.txt {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.12rem;
    letter-spacing: 0.1em;
    line-height: 2
}

.caption {
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 500;
    font-size: 0.16rem;
    letter-spacing: 0.1em;
    line-height: 2.5
}

@media screen and (max-width:640px) {
    .caption {
        font-size: 0.14rem;
        line-height: 2.28
    }
}

.deco_txt {
    position: absolute;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.deco_txt>a[href],
.deco_txt>span {
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.215rem;
    letter-spacing: 0.1em;
    line-height: 0.8
}

@media screen and (max-width:640px) {
    .deco_txt>a[href],
    .deco_txt>span {
        font-size: 0.18rem
    }
}

.deco_txt.-vs a[href]+a[href],
.deco_txt.-vs a[href]+span,
.deco_txt.-vs span+a[href],
.deco_txt.-vs span+span {
    position: relative;
    margin-left: 0.6rem
}

.deco_txt.-vs a[href]+a[href]:after,
.deco_txt.-vs a[href]+a[href]:before,
.deco_txt.-vs a[href]+span:after,
.deco_txt.-vs a[href]+span:before,
.deco_txt.-vs span+a[href]:after,
.deco_txt.-vs span+a[href]:before,
.deco_txt.-vs span+span:after,
.deco_txt.-vs span+span:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -0.45rem;
    height: 1px;
    width: 0.3rem;
    background-color: #393836
}

.deco_txt.-vs a[href]+a[href]:before,
.deco_txt.-vs a[href]+span:before,
.deco_txt.-vs span+a[href]:before,
.deco_txt.-vs span+span:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.deco_txt.-vs a[href]+a[href]:after,
.deco_txt.-vs a[href]+span:after,
.deco_txt.-vs span+a[href]:after,
.deco_txt.-vs span+span:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

:root {
    --scrollbar-w: 0px
}

[id]:target {
    scroll-margin-top: 0.8rem
}

@media screen and (max-width:640px) {
    [id]:target {
        scroll-margin-top: 0.6rem
    }
}

.no-touchevents .underline[href]:hover>span:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.underline>span {
    position: relative;
    display: inline-block
}

.underline>span:before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0.05rem;
    left: 0;
    width: 100%;
    height: 1px;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right top;
    transform-origin: right top;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    transition: -webkit-transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
    transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1), -webkit-transform 0.4s cubic-bezier(0.77, 0, 0.175, 1)
}

.underline.current>span:before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transition: none;
    transition: none
}

.txtlink {
    color: #808057;
    text-decoration: underline
}

.no-touchevents .txtlink:hover {
    text-decoration: none
}

.external span:after {
    content: "";
    position: relative;
    top: 0.02rem;
    display: inline-block;
    margin-left: 0.1rem;
    width: 0.15rem;
    height: 0.15rem;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% auto
}

@media screen and (max-width:640px) {
    .external span:after {
        margin-left: 0.05rem;
        width: 0.12rem;
        height: 0.12rem
    }
}

.btn01 {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 2.6rem;
    height: 0.8rem;
    text-align: center;
    margin: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    -webkit-transition: background-color 0.7s;
    transition: background-color 0.7s
}

@media screen and (max-width:640px) {
    .btn01 {
        height: 0.6rem;
        width: 100%;
        max-width: 100%
    }
}

.btn01:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 0.1rem);
    display: block;
    width: 0.2rem;
    height: 1px;
    background-color: #fff;
    -webkit-transition: background-color 0.7s;
    transition: background-color 0.7s
}

.btn01>span {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #fff;
    -webkit-transition: color 0.7s;
    transition: color 0.7s
}

.no-touchevents .btn01:hover {
    background-color: #fff
}

.no-touchevents .btn01:hover span {
    color: #393836
}

.no-touchevents .btn01:hover.-contact:after {
    background-color: #242c28
}

.no-touchevents .btn01:hover.-contact span {
    color: #242c28
}

.no-touchevents .btn01:hover.-fair:after {
    background-color: #808057
}

.no-touchevents .btn01:hover.-fair span {
    color: #808057
}

.btn01.-contact {
    background-color: #242c28
}

.btn01.-fair {
    background-color: #808057
}

.btn02 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 3rem;
    height: 0.56rem;
    border-radius: 0.28rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #808057;
    -webkit-transition: background 0.7s;
    transition: background 0.7s;
    margin: auto
}

@media screen and (max-width:640px) {
    .btn02 {
        height: 0.5rem;
        border-radius: 0.25rem;
        width: 100%;
        max-width: 2.3rem
    }
}

.btn02:after,
.btn02:before {
    content: "";
    position: absolute;
    right: 0.15rem;
    top: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 0.24rem;
    height: 0.24rem;
    border-radius: 50%
}

.btn02:after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../img/ico_btn02_arrow.svg");
    background-size: 0.12rem auto;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s
}

@media screen and (max-width:640px) {
    .btn02:after {
        opacity: 1
    }
}

.btn02:before {
    background-color: #fff;
    -webkit-transform: translateY(-50%) scale(0.3);
    transform: translateY(-50%) scale(0.3);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media screen and (max-width:640px) {
    .btn02:before {
        -webkit-transform: translateY(-50%) scale(1);
        transform: translateY(-50%) scale(1)
    }
}

.btn02>span {
    position: relative;
    right: 0.05rem;
    display: inline-block;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.05em;
    line-height: 2.25;
    color: white;
    -webkit-transition: color 0.7s;
    transition: color 0.7s
}

@media screen and (max-width:640px) {
    .btn02>span {
        font-size: 0.14rem
    }
}

.no-touchevents .btn02:hover {
    background-color: #999971
}

.no-touchevents .btn02:hover:after {
    opacity: 1
}

.no-touchevents .btn02:hover:before {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1)
}

.no-touchevents .btn02:hover span {
    color: white
}

.btn03 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 5rem;
    height: 1.1rem;
    border: 1px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #808057;
    -webkit-transition: background 0.3s;
    transition: background 0.3s
}

@media screen and (max-width:640px) {
    .btn03 {
        width: 3.15rem;
        height: 1rem
    }
}

.btn03:after,
.btn03:before {
    content: "";
    position: absolute;
    right: 0.25rem;
    top: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 0.24rem;
    height: 0.24rem;
    border-radius: 50%
}

@media screen and (max-width:640px) {
    .btn03:after,
    .btn03:before {
        right: 0.15rem;
        top: auto;
        bottom: 0.12rem
    }
}

.btn03:after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../img/ico_btn02_arrow.svg");
    background-size: 0.12rem auto;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s
}

@media screen and (max-width:640px) {
    .btn03:after {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

.btn03:before {
    background-color: #fff;
    -webkit-transform: translateY(-50%) scale(0.3);
    transform: translateY(-50%) scale(0.3);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media screen and (max-width:640px) {
    .btn03:before {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.btn03 .thumb {
    width: 1.4rem;
    height: 100%;
    overflow: hidden;
    background-color: #fff
}

@media screen and (max-width:640px) {
    .btn03 .thumb {
        width: 0.9rem
    }
}

.btn03 .thumb .img {
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.btn03>span {
    position: relative;
    display: inline-block;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: white;
    -webkit-transition: color 0.7s;
    transition: color 0.7s;
    text-align: left;
    padding-left: 0.25rem
}

@media screen and (max-width:640px) {
    .btn03>span {
        width: calc(100% - 0.9rem);
        margin: 0;
        padding-left: 0.2rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 0.13rem
    }
}

.btn03>span[data-txt]:before {
    content: attr(data-txt);
    display: block;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.2rem;
    letter-spacing: 0.15em;
    line-height: 1;
    color: #fff;
    white-space: pre;
    opacity: 1;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s;
    margin-bottom: 0.15rem
}

@media screen and (max-width:640px) {
    .btn03>span[data-txt]:before {
        font-size: 0.18rem;
        line-height: 1.33;
        letter-spacing: 0.2em;
        white-space: normal;
        margin-bottom: 0.05rem
    }
}

.no-touchevents .btn03:hover {
    background-color: #999971
}

.no-touchevents .btn03:hover:after {
    opacity: 1
}

.no-touchevents .btn03:hover:before {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1)
}

.no-touchevents .btn03:hover .thumb .img {
    opacity: 0.7
}

.btn04 {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 5rem;
    height: 1.3rem;
    border: 1px solid #fff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #2C3449;
    -webkit-transition: background 0.3s;
    transition: background 0.3s;
    border: 1px solid #E6C8A2
}

@media screen and (max-width:640px) {
    .btn04 {
        width: 3.15rem;
        height: 1.4rem
    }
}

.btn04:after,
.btn04:before {
    content: "";
    position: absolute;
    right: 0.25rem;
    top: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 0.24rem;
    height: 0.24rem;
    border-radius: 50%
}

@media screen and (max-width:640px) {
    .btn04:after,
    .btn04:before {
        right: 0.15rem;
        top: auto;
        bottom: 0.16rem
    }
}

.btn04:after {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    background-image: url("../img/ico_btn03_arrow.svg");
    background-size: 0.12rem auto;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 0;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s
}

@media screen and (max-width:640px) {
    .btn04:after {
        opacity: 1;
        -webkit-transform: none;
        transform: none
    }
}

.btn04:before {
    background-color: #E6C8A2;
    -webkit-transform: translateY(-50%) scale(0.3);
    transform: translateY(-50%) scale(0.3);
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

@media screen and (max-width:640px) {
    .btn04:before {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

.btn04 .thumb {
    width: 1.6rem;
    height: 100%;
    overflow: hidden;
    background-color: #fff
}

@media screen and (max-width:640px) {
    .btn04 .thumb {
        width: 0.9rem
    }
}

.btn04 .thumb .img {
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s
}

.btn04>span {
    position: relative;
    display: inline-block;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.16rem;
    letter-spacing: 0.2em;
    line-height: 1.76;
    color: white;
    -webkit-transition: color 0.7s;
    transition: color 0.7s;
    text-align: left;
    padding-left: 0.5rem;
    text-align: center
}

@media screen and (max-width:640px) {
    .btn04>span {
        width: calc(100% - 0.9rem);
        margin: 0;
        padding-left: 0.06rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        font-size: 0.13rem
    }
}

.btn04>span[data-txt]:after {
    content: attr(data-txt);
    display: block;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.16rem;
    letter-spacing: 0.15em;
    line-height: 1;
    color: #E6C8A2;
    white-space: pre;
    opacity: 1;
    -webkit-transition: opacity 0.7s;
    transition: opacity 0.7s;
    margin-top: 0.05rem;
    border-bottom: 1px solid #E6C8A2
}

@media screen and (max-width:640px) {
    .btn04>span[data-txt]:after {
        font-size: 0.12rem;
        line-height: 1.33;
        letter-spacing: 0.16em;
        white-space: normal;
        margin-top: 0.1rem;
        border-bottom: none;
        text-decoration: underline;
        text-align: center;
        padding-right: 0.3rem
    }
}

.no-touchevents .btn04:hover {
    background-color: #2C3449
}

.no-touchevents .btn04:hover:after {
    opacity: 1
}

.no-touchevents .btn04:hover:before {
    -webkit-transform: translateY(-50%) scale(1);
    transform: translateY(-50%) scale(1)
}

.no-touchevents .btn04:hover .thumb .img {
    opacity: 0.7
}

._line-clamp,
.line_clamp {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    text-align: left;
    overflow: hidden
}

._line-clamp._line1,
.line_clamp._line1 {
    -webkit-line-clamp: 1
}

._line-clamp._line2,
.line_clamp._line2 {
    -webkit-line-clamp: 2
}

._line-clamp._line3,
.line_clamp._line3 {
    -webkit-line-clamp: 3
}

._line-clamp._line4,
.line_clamp._line4 {
    -webkit-line-clamp: 4
}

._line-clamp._line5,
.line_clamp._line5 {
    -webkit-line-clamp: 5
}

._line-clamp._line6,
.line_clamp._line6 {
    -webkit-line-clamp: 6
}

@media screen and (max-width:640px) {
    ._line-clamp._sp-line1,
    .line_clamp._sp-line1 {
        -webkit-line-clamp: 1
    }
    ._line-clamp._sp-line2,
    .line_clamp._sp-line2 {
        -webkit-line-clamp: 2
    }
    ._line-clamp._sp-line3,
    .line_clamp._sp-line3 {
        -webkit-line-clamp: 3
    }
    ._line-clamp._sp-line4,
    .line_clamp._sp-line4 {
        -webkit-line-clamp: 4
    }
    ._line-clamp._sp-line5,
    .line_clamp._sp-line5 {
        -webkit-line-clamp: 5
    }
    ._line-clamp._sp-line6,
    .line_clamp._sp-line6 {
        -webkit-line-clamp: 6
    }
}

@media print,
screen and (min-width:641px) {
    .other_link>li+li {
        margin-left: 0.2rem
    }
}

.other_link>li a {
    position: relative;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.1rem;
    letter-spacing: 0.1em;
    line-height: 2;
    color: #393836;
    -webkit-transition: color 0.3s;
    transition: color 0.3s;
    margin-left: 0.1rem
}

.no-touchevents .other_link>li a[href]:hover {
    color: #808057
}

.other_link>li a:before {
    content: "";
    position: absolute;
    left: -0.1rem;
    top: calc(50% - 0.02rem);
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.03rem 0 0.03rem 0.05rem;
    border-color: transparent transparent transparent #808057
}

.g_nav>li {
    position: relative
}

.g_nav>li+li {
    margin-left: 0.3rem
}

.g_nav>li+li:before {
    content: "";
    position: absolute;
    left: -0.15rem;
    top: 0;
    display: block;
    width: 1px;
    height: 0.14rem;
    background-color: #808080
}

.g_nav>li a {
    font-family: "source-han-serif-japanese", serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.13rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #393836;
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.g_nav>li a:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0.27rem;
    height: 0.03rem;
    background-color: #808057;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s
}

.no-touchevents .g_nav>li a:hover {
    color: #808057
}

.no-touchevents .g_nav>li a:hover:before {
    -webkit-transform: scaleY(1);
    transform: scaleY(1)
}

.s_nav>li {
    position: relative;
    padding-left: 0.14rem;
    font-family: "source-han-serif-japanese", serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.1em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (max-width:640px) {
    .s_nav>li {
        padding-left: 0.13rem;
        margin-top: 0.2rem
    }
}

.s_nav>li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 1.4em;
    height: 1px;
    width: 0.06rem;
    background-color: #80804e
}

@media screen and (max-width:640px) {
    .s_nav>li:before {
        top: 1.1em
    }
}

@media print,
screen and (min-width:641px) {
    .s_nav>li:not([data-sc-sp])+li {
        margin-top: 0.16rem
    }
}

.s_nav>li a {
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.no-touchevents .s_nav>li a[href]:hover {
    color: #808057
}

.s_nav>li>a {
    font-size: 0.14rem;
    line-height: 2
}

@media screen and (max-width:640px) {
    .s_nav>li>a {
        font-size: 0.13rem;
        line-height: 1.69
    }
}

.s_nav>li .second>dt a {
    font-size: 0.14rem;
    line-height: 2
}

@media screen and (max-width:640px) {
    .s_nav>li .second>dt a {
        font-size: 0.13rem
    }
}

.s_nav>li .second>dd {
    margin-top: 0.05rem
}

.s_nav>li .second>dd a {
    font-size: 0.13rem;
    line-height: 2.3
}

@media screen and (max-width:640px) {
    .s_nav>li .second>dd a {
        font-size: 0.12rem;
        line-height: 2.5
    }
}

.mod_footer .signature_box_tel,
.tel_num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #808057
}

.mod_footer .signature_box_tel>dt,
.tel_num>dt {
    position: relative;
    top: 0.02rem;
    font-size: 0.14rem
}

.mod_footer .signature_box_tel>dd,
.tel_num>dd {
    font-size: 0.22rem;
    margin-left: 0.05rem
}

.sns_link li {
    line-height: 0
}

.sns_link a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center
}

.sns_link a svg {
    width: 0.22rem;
    height: auto
}

.sns_link a svg.ico_fb {
    width: auto;
    height: 0.22rem
}

.link {
    text-align: center
}

.-disabled {
    opacity: 0.5!important
}

.-disabled>a[href] {
    pointer-events: none!important
}

.mod_header {
    position: relative;
    z-index: 1000
}

.mod_header>.in {
    position: fixed;
    top: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: 100%;
    height: 0.8rem;
    background-color: #fff;
    -webkit-box-shadow: 0 0 0.03rem rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 0.03rem rgba(0, 0, 0, 0.2)
}

@media screen and (max-width:640px) {
    .mod_header>.in {
        height: 0.6rem;
        -webkit-transition: -webkit-transform 1s;
        transition: -webkit-transform 1s;
        transition: transform 1s;
        transition: transform 1s, -webkit-transform 1s
    }
}

@media screen and (max-width:640px) {
    .headerMenuFix .mod_header>.in {
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%)
    }
}

@media screen and (max-width:640px) {
    .headerMenuDown .mod_header>.in {
        -webkit-transform: translateY(0)!important;
        transform: translateY(0)!important
    }
}

@media screen and (max-width:640px) {
    .spmenuopen .mod_header>.in {
        -webkit-transform: translateY(0)!important;
        transform: translateY(0)!important
    }
}

.mod_header .header_logo {
    position: absolute;
    left: 0.34rem
}

@media screen and (max-width:640px) {
    .mod_header .header_logo {
        left: 0.2rem
    }
}

.mod_header .header_logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s
}

.mod_header .header_logo a>img {
    width: 2.9rem;
    height: auto
}

@media screen and (max-width:640px) {
    .mod_header .header_logo a>img {
        width: 48.8vw
    }
}

.mod_header .header_logo a>span {
    position: relative;
    top: 0.03rem;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.16rem;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #808057;
    padding-left: 0.36rem
}

@media screen and (max-width:640px) {
    .mod_header .header_logo a>span {
        top: 0.03rem;
        font-size: 0.1rem;
        padding-left: 0.2rem
    }
}

.mod_header .header_logo a>span:before {
    content: "";
    position: absolute;
    left: 0.18rem;
    top: calc(50% - 0.06rem);
    width: 1px;
    height: 0.12rem;
    background-color: #878787
}

@media screen and (max-width:640px) {
    .mod_header .header_logo a>span:before {
        left: 0.1rem;
        top: calc(50% - 0.05rem);
        height: 0.08rem
    }
}

.no-touchevents .mod_header .header_logo a:hover {
    opacity: 0.5
}

.mod_header .global_link .lower,
.mod_header .global_link .upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    height: 0.4rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.mod_header .global_link .upper {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 0.1rem
}

.mod_header .global_link .lower {
    padding-top: 0.1rem
}

.mod_header .global_link .other_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.mod_footer .mod_header .global_link .signature_box_tel,
.mod_header .global_link .mod_footer .signature_box_tel,
.mod_header .global_link .tel_num {
    margin-left: 0.24rem
}

.mod_header .global_link .g_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.mod_header .action_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 0.8rem;
    max-width: 2.4rem;
    margin-left: 0.3rem
}

.mod_header .action_link>li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 1rem;
    height: 0.8rem;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.13rem;
    letter-spacing: 0.1em;
    line-height: 1.53;
    color: #fff;
    text-align: center;
    -webkit-transition: background 0.5s, color 0.3s;
    transition: background 0.5s, color 0.3s
}

.no-touchevents .mod_header .action_link>li a:hover {
    background-color: #fff
}

.mod_header .action_link>li.-contact a {
    position: relative;
    background-color: #242c28
}

.mod_header .action_link>li.-contact a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background-color: rgba(36, 44, 40, 0.3)
}

.no-touchevents .mod_header .action_link>li.-contact a:hover {
    color: #242c28
}

.mod_header .action_link>li.-fair a {
    background-color: #808061
}

.no-touchevents .mod_header .action_link>li.-fair a:hover {
    color: #808061
}

@media screen and (max-width:640px) {
    .mod_header .sp_drawer {
        background-color: rgba(0, 0, 0, 0.5);
        position: fixed;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        top: 0.6rem;
        left: 0;
        width: 100%;
        bottom: 0;
        opacity: 0;
        z-index: 1000;
        pointer-events: none;
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s
    }
    .spmenuopen .mod_header .sp_drawer {
        opacity: 1;
        pointer-events: auto
    }
    .mod_header .sp_drawer .in {
        background-color: #f3f2f0
    }
    .mod_header .sp_drawer .lower,
    .mod_header .sp_drawer .upper {
        max-width: calc(100% - 0.6rem);
        width: 100%;
        margin: auto
    }
    .mod_header .sp_drawer .upper {
        border-top: 1px solid rgba(152, 152, 147, 0.3);
        text-align: center;
        padding: 0.35rem 0 0.4rem
    }
    .mod_header .sp_drawer .lower {
        padding-top: 0.1rem;
        padding-bottom: 0.5rem
    }
    .mod_header .sp_drawer .lower .link {
        margin-top: 0.4rem
    }
    .mod_header .sp_drawer .catch {
        font-size: 0.14rem;
        line-height: 2.14;
        letter-spacing: 0.14em
    }
    .mod_header .sp_drawer .action_link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: calc(100% - 0.3rem);
        width: 100%;
        height: auto;
        margin: auto;
        margin-top: 0.4rem;
        gap: 0.2rem 0
    }
    .mod_header .sp_drawer .action_link .btn01 {
        width: 100%;
        height: 0.6rem
    }
    .mod_header .sp_drawer .signature_box {
        margin-top: 0.4rem
    }
    .mod_header .sp_drawer .signature_box>dt {
        font-family: shippori-mincho-b1, sans-serif;
        font-weight: 500;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 0.18rem;
        letter-spacing: 0.2em;
        line-height: 1
    }
    .mod_header .sp_drawer .signature_box_tel {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        font-family: "eb-garamond", serif;
        font-weight: 400;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        line-height: 1;
        color: #808057;
        margin-top: 0.15rem;
        border-bottom: 1px solid #808057
    }
    .mod_header .sp_drawer .signature_box_tel>dt {
        position: relative;
        top: 0.02rem;
        font-size: 0.22rem;
        letter-spacing: 0.05em
    }
    .mod_header .sp_drawer .signature_box_tel>dd {
        font-size: 0.34rem;
        letter-spacing: 0.1em;
        margin-left: 0.05rem
    }
    .mod_header .sp_drawer .signature_box_info {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 0.1rem;
        font-family: "source-han-serif-japanese", serif;
        font-weight: 500;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 0.12rem;
        letter-spacing: 0.08em;
        line-height: 2;
        color: #393836;
        margin-top: 0.15rem
    }
    .mod_header .sp_drawer .signature_box_info>dd {
        margin-left: 0.5em
    }
    .mod_header .sp_drawer .signature_box_info.-address {
        display: block;
        text-align: center
    }
    .mod_header .sp_drawer .signature_box_info.-address span {
        margin-right: 1em
    }
    .mod_header .sp_drawer .signature_box_info.-holyday {
        margin-top: 0
    }
    .mod_header .sp_drawer .link {
        margin-top: 0.25rem
    }
    .mod_header .sp_drawer .link .btn02 {
        max-width: 1.7rem;
        height: 0.4rem;
        border-radius: 0.2rem
    }
    .mod_header .sp_drawer .link .btn02:after,
    .mod_header .sp_drawer .link .btn02:before {
        right: 0.1rem
    }
    .mod_header .sp_drawer .s_nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .mod_header .sp_drawer .s_nav>li {
        width: 50%
    }
    .mod_header .sp_drawer .other_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin: auto;
        margin-top: 0.3rem
    }
    .mod_header .sp_drawer .other_link li {
        width: 50%;
        margin-top: 0.05rem
    }
    .mod_header .sp_drawer .other_link li a {
        font-size: 0.12rem;
        letter-spacing: 0.1em
    }
    .mod_header .sp_drawer .sns_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 0.4rem
    }
    .mod_header .sp_drawer .sns_link li+li {
        margin-left: 0.4rem
    }
    .mod_header .sp_drawer .sns_link li svg {
        fill: #808057
    }
}

@media screen and (max-width:640px) {
    .mod_header .drawer_btn {
        width: 0.7rem;
        height: 0.6rem;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        background-color: rgba(255, 255, 255, 0)
    }
    .mod_header .drawer_btn .open .bar {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        width: 0.24rem;
        height: 0.02rem;
        margin: auto;
        background-color: #808057;
        opacity: 0;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
    .mod_header .drawer_btn .open .bar:first-child {
        top: -0.08rem;
        opacity: 1
    }
    .mod_header .drawer_btn .open .bar:nth-child(3) {
        bottom: -0.08rem;
        opacity: 1
    }
    .mod_header .drawer_btn .close .bar {
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        width: 0;
        height: 0.02rem;
        margin: auto;
        background-color: #808057;
        -webkit-transition: 0.3s;
        transition: 0.3s
    }
    .mod_header .drawer_btn .close .bar:first-child {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
    .mod_header .drawer_btn .close .bar:nth-child(2) {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
    .spmenuopen .mod_header .drawer_btn .open .bar {
        width: 0
    }
    .spmenuopen .mod_header .drawer_btn .close .bar {
        width: 0.24rem
    }
}

.mod_footer {
    position: relative;
    background-color: #fff
}

.mod_footer>.in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    max-width: 14rem;
    width: 100%;
    margin: auto;
    padding-top: 0.95rem
}

@media screen and (max-width:640px) {
    .mod_footer>.in {
        display: block;
        padding-top: 0.6rem
    }
}

@media screen and (max-width:640px) {
    .mod_footer .upper {
        width: calc(100% - 0.6rem);
        margin: auto;
        text-align: center
    }
}

.mod_footer .lower {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 6.7rem;
    width: 100%
}

@media screen and (max-width:640px) {
    .mod_footer .lower {
        display: block;
        width: calc(100% - 0.6rem);
        max-width: 100%;
        margin: auto;
        margin-top: 0.3rem
    }
    .mod_footer .lower .link {
        margin-top: 0.4rem
    }
}

@media print,
screen and (min-width:641px) {
    .mod_footer .lower .link {
        position: absolute;
        right: 0;
        bottom: 0
    }
    .mod_footer .lower .link .btn02 {
        width: 1.8rem
    }
}

.mod_footer .footer_logo a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s
}

.mod_footer .footer_logo a>img {
    width: 2.9rem;
    height: auto
}

@media screen and (max-width:640px) {
    .mod_footer .footer_logo a>img {
        width: 58.66vw
    }
}

.mod_footer .footer_logo a>span {
    position: relative;
    top: 0.03rem;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.16rem;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #808057;
    padding-left: 0.36rem
}

@media screen and (max-width:640px) {
    .mod_footer .footer_logo a>span {
        top: 0.03rem;
        font-size: 0.11rem;
        padding-left: 0.22rem
    }
}

.mod_footer .footer_logo a>span:before {
    content: "";
    position: absolute;
    left: 0.18rem;
    top: calc(50% - 0.06rem);
    width: 1px;
    height: 0.12rem;
    background-color: #878787
}

@media screen and (max-width:640px) {
    .mod_footer .footer_logo a>span:before {
        left: 0.11rem;
        top: calc(50% - 0.05rem);
        height: 0.08rem
    }
}

.no-touchevents .mod_footer .footer_logo a:hover {
    opacity: 0.5
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box {
        text-align: center
    }
}

.mod_footer .signature_box>dt {
    font-family: "source-han-serif-japanese", serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.18rem;
    letter-spacing: 0.3em;
    line-height: 1.66;
    color: #393836
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box>dt {
        letter-spacing: 0.2em
    }
}

.mod_footer .signature_box_tel {
    margin-top: 0.15rem
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_tel {
        position: relative;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex
    }
    .mod_footer .signature_box_tel:before {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 1px;
        background-color: #808057
    }
}

.mod_footer .signature_box_tel>dt {
    font-size: 0.15rem
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_tel>dt {
        font-size: 0.22rem;
        letter-spacing: 0.05em;
        margin-right: 0.25em
    }
}

.mod_footer .signature_box_tel>dd {
    font-size: 0.24rem
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_tel>dd {
        font-size: 0.34rem;
        letter-spacing: 0.1em
    }
}

.mod_footer .signature_box_info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0.1rem;
    font-family: "source-han-serif-japanese", serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.14rem;
    letter-spacing: 0.1em;
    line-height: 2.14;
    color: #393836
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_info {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin-top: 0.15rem;
        font-size: 0.12rem;
        letter-spacing: 0.08em;
        line-height: 2
    }
}

.mod_footer .signature_box_info>dt {
    min-width: 0.86rem
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_info>dt {
        min-width: 0;
        margin-right: 1em
    }
}

.mod_footer .signature_box_info>dd {
    position: relative
}

.mod_footer .signature_box_info>dd:before {
    content: "";
    position: absolute;
    left: -0.12rem;
    top: calc(50% - 0.07rem);
    display: block;
    width: 1px;
    height: 0.14rem;
    background: #393836
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_info>dd:before {
        content: none
    }
}

.mod_footer .signature_box_info.-holyday {
    margin-top: 0
}

.mod_footer .signature_box_info.-holyday>dt {
    letter-spacing: 0.6em
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_info.-holyday>dt {
        letter-spacing: 0.08em
    }
}

@media screen and (max-width:640px) {
    .mod_footer .signature_box_info.-address {
        margin-top: 0;
        text-decoration: none!important
    }
    .mod_footer .signature_box_info.-address>* {
        text-decoration: none!important
    }
}

.mod_footer .signature_box_info.-address span {
    margin-right: 1em
}

.mod_footer .link {
    margin-top: 0.3rem
}

@media screen and (max-width:640px) {
    .mod_footer .link {
        margin-top: 0.2rem
    }
}

.mod_footer .link .btn02 {
    width: 2rem;
    height: 0.4rem;
    border-radius: 0.2rem;
    margin: 0
}

@media screen and (max-width:640px) {
    .mod_footer .link .btn02 {
        max-width: 1.7rem;
        margin: auto
    }
}

@media print,
screen and (min-width:641px) {
    .mod_footer .link .btn02>span {
        font-size: 0.13rem;
        letter-spacing: 0.2em
    }
}

.mod_footer .link .btn02:after,
.mod_footer .link .btn02:before {
    right: 0.1rem
}

@media screen and (max-width:640px) {
    .mod_footer .s_nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width:640px) {
    .mod_footer .s_nav>li {
        width: 50%
    }
}

.mod_footer .copyright_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 0.6rem;
    margin-top: 0.3rem;
    padding-top: 0.4rem
}

@media screen and (max-width:640px) {
    .mod_footer .copyright_box {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        height: auto;
        margin-top: 0.4rem;
        padding-top: 0;
        padding-bottom: 0.15rem
    }
}

.mod_footer .copyright_box .copyright {
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.12rem;
    letter-spacing: 0.1em;
    line-height: 1
}

@media screen and (max-width:640px) {
    .mod_footer .copyright_box .copyright {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
        display: inline-block;
        font-size: 0.1rem;
        letter-spacing: 0.05em;
        white-space: nowrap;
        margin-top: 0.4rem;
        padding: 0 0.2rem
    }
}

.mod_footer .copyright_box .other_link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media print,
screen and (min-width:641px) {
    .mod_footer .copyright_box .other_link {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
}

@media screen and (max-width:640px) {
    .mod_footer .copyright_box .other_link {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: calc(100% - 0.6rem);
        margin: auto
    }
}

@media screen and (max-width:640px) {
    .mod_footer .copyright_box .other_link li {
        width: 50%;
        margin-top: 0.05rem
    }
}

@media print,
screen and (min-width:641px) {
    .mod_footer .copyright_box .other_link li+li {
        margin-left: 0.65rem
    }
}

.mod_footer .copyright_box .other_link li a {
    font-size: 0.12rem;
    letter-spacing: 0.1em
}

.mod_footer .copyright_box .sns_link {
    position: absolute;
    left: 0;
    top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

@media screen and (max-width:640px) {
    .mod_footer .copyright_box .sns_link {
        position: static;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        margin-top: 0.4rem
    }
}

.mod_footer .copyright_box .sns_link li+li {
    margin-left: 0.4rem
}

.mod_footer .copyright_box .sns_link li a {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s
}

.no-touchevents .mod_footer .copyright_box .sns_link li a:hover {
    opacity: 0.5
}

.mod_footer .copyright_box .sns_link li svg {
    fill: #808057
}

.flowbottomSP {
    position: fixed;
    bottom: 0;
    left: 0.1rem;
    max-width: calc(100% - 0.2rem);
    width: 100%;
    height: 1rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-transition: -webkit-transform 1s;
    transition: -webkit-transform 1s;
    transition: transform 1s;
    transition: transform 1s, -webkit-transform 1s;
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
    z-index: 999
}

.flowbottomSP a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 0.5rem;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.14rem;
    letter-spacing: 0.1em;
    line-height: 1.53;
    color: #fff;
    text-align: center
}

.flowbottomSP a.-contact {
    background-color: #242c28
}

.flowbottomSP a.-fair {
    background-color: #808057
}

.flowbottomSP span {
    font-size: 0.11rem
}

.state_fewscroll .flowbottomSP {
    -webkit-transform: none;
    transform: none
}

.flowbottomSP.-endline {
    -webkit-transform: translateY(100%);
    transform: translateY(100%)
}

.pagetopbtn {
    position: fixed;
    bottom: 0.4rem;
    right: 0rem;
    width: 0.5rem;
    height: 0.5rem;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: opacity 1s, bottom 1s;
    transition: opacity 1s, bottom 1s;
    background-color: #808057;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 999;
    margin-bottom: env(safe-area-inset-bottom)
}

@media screen and (max-width:640px) {
    .pagetopbtn {
        bottom: 1rem;
        width: 0.4rem;
        height: 0.4rem
    }
}

.pagetopbtn:before {
    content: "";
    display: block;
    position: absolute;
    top: 0.1rem;
    bottom: 0;
    right: 0;
    left: 0;
    width: 0.1rem;
    height: 0.1rem;
    margin: auto;
    border-top: 0.01rem solid #fff;
    border-right: 0.01rem solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (max-width:640px) {
    .pagetopbtn:before {
        top: 0.07rem;
        width: 0.08rem;
        height: 0.08rem
    }
}

.no-touchevents .pagetopbtn:hover {
    opacity: 0.6
}

.state_screenheightscroll .pagetopbtn {
    opacity: 1;
    pointer-events: auto
}

.pagetopbtn.-endline {
    bottom: 0rem
}

.breadlist_wrap {
    width: 100%;
    background-color: #f3f2f0
}

@media screen and (max-width:640px) {
    .breadlist_wrap {
        overflow: auto
    }
}

.breadlist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 0.4rem;
    max-width: 16rem;
    width: 100%;
    padding: 0 1rem;
    margin: auto;
    text-align: left;
    white-space: nowrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (max-width:640px) {
    .breadlist {
        max-width: calc(100% - 0.6rem);
        padding: 0
    }
}

.breadlist .link {
    display: inline-block;
    position: relative;
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 500;
    font-size: 0.14rem;
    letter-spacing: 0.05em;
    line-height: 1
}

.breadlist .link+.link {
    margin-left: 1.6em
}

.breadlist .link+.link:before {
    content: "";
    display: block;
    width: 0.05rem;
    height: 0.05rem;
    border-right: 1px solid #808057;
    border-top: 1px solid #808057;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -0.16rem;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.breadlist .link:last-child {
    color: #b4b4b4
}

.breadlist .linkin {
    -webkit-transition: color 0.3s;
    transition: color 0.3s
}

.no-touchevents .breadlist .linkin:hover {
    color: #808057
}

.floating_cookie_accept_area {
    color: #282828;
    position: fixed;
    left: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 10000;
    letter-spacing: 0;
    opacity: 0;
    pointer-events: none
}

@media print,
screen and (min-width:641px) {
    .floating_cookie_accept_area {
        -webkit-transition: opacity 0.3s, -webkit-transform 0.7s;
        transition: opacity 0.3s, -webkit-transform 0.7s;
        transition: transform 0.7s, opacity 0.3s;
        transition: transform 0.7s, opacity 0.3s, -webkit-transform 0.7s;
        background-color: rgba(250, 249, 248, 0.9);
        width: 100%;
        bottom: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%)
    }
}

@media screen and (max-width:640px) {
    .floating_cookie_accept_area {
        -webkit-transition: opacity 0.7s;
        transition: opacity 0.7s;
        bottom: 1rem
    }
}

.state_screenheightscroll .floating_cookie_accept_area {
    opacity: 1;
    pointer-events: all
}

@media print,
screen and (min-width:641px) {
    .state_screenheightscroll .floating_cookie_accept_area {
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area {
        padding: 0.2rem 0.3rem
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area {
        padding: 0.2rem 0.2rem
    }
}

@media print,
screen and (min-width:641px) {
    .floating_cookie_accept_area.floating_cookie_accept_area_color_b {
        background-color: rgba(0, 0, 0, 0.7)
    }
}

@media screen and (max-width:640px) {
    .floating_cookie_accept_area.floating_cookie_accept_area_color_b .floating_cookie_accept_area_in {
        background-color: rgba(0, 0, 0, 0.7)
    }
}

.floating_cookie_accept_area.floating_cookie_accept_area_color_b .floating_cookie_accept_area_in_p {
    color: #FFF
}

.floating_cookie_accept_area.floating_cookie_accept_area_color_b .floating_cookie_accept_area_in_acceptbtn {
    background-color: #FFF
}

.floating_cookie_accept_area.floating_cookie_accept_area_color_b .floating_cookie_accept_area_in_acceptbtn span {
    color: #000
}

.floating_cookie_accept_area.floating_cookie_accept_area_color_b .floating_cookie_accept_area_in_rejectbtn span {
    color: #FFF
}

.floating_cookie_accept_area.floating_cookie_accept_area_remove {
    -webkit-transition: 0.6s;
    transition: 0.6s;
    opacity: 0
}

.floating_cookie_accept_area_in {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in {
        max-width: 1000px;
        width: 100%;
        margin: auto
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
}

@media screen and (max-width:640px) {
    .floating_cookie_accept_area_in {
        padding: 0.2rem;
        background-color: rgba(250, 249, 248, 0.9)
    }
}

.floating_cookie_accept_area_in_p {
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, verdana, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
    font-weight: 400;
    text-align: left;
    color: #282828
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_p {
        font-size: 0.13rem;
        letter-spacing: 0.1em;
        line-height: 1.8;
        padding-right: 0.5rem
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in_p {
        font-size: 0.12rem;
        letter-spacing: 0.1em;
        line-height: 1.7;
        text-align: justify;
        text-justify: inter-ideograph;
        margin-bottom: 0.1rem
    }
}

.floating_cookie_accept_area_in_p a {
    text-decoration: underline;
    color: #808057
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_p a:hover {
        text-decoration: none
    }
}

.floating_cookie_accept_area_in_acceptbtn {
    background-color: #282828;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_acceptbtn {
        height: 0.5rem;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        cursor: pointer;
        width: 2.4rem
    }
    .floating_cookie_accept_area_in_acceptbtn:hover {
        opacity: 0.7
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in_acceptbtn {
        width: 48%;
        height: 0.5rem;
        margin-left: auto;
        margin-right: auto
    }
}

.floating_cookie_accept_area_in_acceptbtn span {
    line-height: 1;
    color: #fff
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_acceptbtn span {
        font-size: 0.14rem;
        letter-spacing: 0.1em
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in_acceptbtn span {
        font-size: 0.12rem;
        letter-spacing: 0.1em
    }
}

.floating_cookie_accept_area_in_rejectbtn {
    display: none!important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_rejectbtn {
        height: 50px;
        -webkit-transition: 0.2s;
        transition: 0.2s;
        cursor: pointer;
        width: 100px
    }
    .floating_cookie_accept_area_in_rejectbtn:hover {
        opacity: 0.7
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in_rejectbtn {
        width: 48%;
        height: 44px;
        margin-left: auto;
        margin-right: auto
    }
}

.floating_cookie_accept_area_in_rejectbtn span {
    line-height: 1
}

@media screen and (min-width:721px) {
    .floating_cookie_accept_area_in_rejectbtn span {
        font-size: 14px;
        letter-spacing: 2px
    }
}

@media screen and (max-width:720px) {
    .floating_cookie_accept_area_in_rejectbtn span {
        font-size: 12px;
        letter-spacing: 2px
    }
}

.mod_localnav>.in {
    position: relative;
    background-color: #fff;
    padding: 1rem 0
}

@media screen and (max-width:640px) {
    .mod_localnav>.in {
        padding-top: 0.3rem;
        padding-bottom: 0.6rem
    }
}

.mod_localnav .nav_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 12rem;
    width: 100%;
    margin: auto
}

@media screen and (max-width:640px) {
    .mod_localnav .nav_box {
        max-width: calc(100% - 0.6rem)
    }
}

.mod_localnav .nav_box .item {
    position: relative;
    z-index: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 2.8rem;
    height: 2rem
}

@media print,
screen and (min-width:641px) {
    .mod_localnav .nav_box .item:nth-of-type(n+5) {
        width: 1.8rem;
        height: 1.6rem;
        margin-top: 0.26rem
    }
    .mod_localnav .nav_box .item:nth-of-type(n+5) .label[data-txt]:before {
        font-size: 0.2rem;
        letter-spacing: 0.1em
    }
}

@media screen and (max-width:640px) {
    .mod_localnav .nav_box .item {
        width: calc((100% - 0.15rem) / 2);
        height: 26.66vw;
        margin-top: 0.15rem
    }
}

.mod_localnav .nav_box .wrap_link {
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.no-touchevents .mod_localnav .nav_box .wrap_link:hover~.bg:before {
    opacity: 0
}

.no-touchevents .mod_localnav .nav_box .wrap_link:hover~.label {
    -webkit-filter: drop-shadow(0 0 0.07rem rgba(57, 56, 54, 0.2)) drop-shadow(0 0 0.05rem rgba(57, 56, 54, 0.5));
    filter: drop-shadow(0 0 0.07rem rgba(57, 56, 54, 0.2)) drop-shadow(0 0 0.05rem rgba(57, 56, 54, 0.5))
}

.mod_localnav .nav_box .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: -1
}

.mod_localnav .nav_box .bg:before {
    content: "";
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    opacity: 0.6;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    background-color: #282828;
    mix-blend-mode: multiply
}

.mod_localnav .nav_box .label {
    position: relative;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.14rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #fff;
    text-align: center;
    -webkit-transition: -webkit-filter 0.3s;
    transition: -webkit-filter 0.3s;
    transition: filter 0.3s;
    transition: filter 0.3s, -webkit-filter 0.3s
}

@media screen and (max-width:640px) {
    .mod_localnav .nav_box .label {
        font-size: 0.14rem
    }
}

@media print,
screen and (min-width:641px) {
    .mod_localnav .nav_box .label[data-txt]:before {
        content: attr(data-txt);
        position: relative;
        margin-bottom: 0.05rem;
        display: block;
        font-family: "eb-garamond", serif;
        font-weight: 400;
        font-style: normal;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        font-size: 0.22rem;
        letter-spacing: 0.2em;
        line-height: 1.3;
        color: #fff;
        white-space: pre;
        text-align: center
    }
}

.mod_contact>.in {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 6.8rem
}

@media screen and (max-width:640px) {
    .mod_contact>.in {
        display: block;
        height: auto;
        padding-top: 0.6rem;
        padding-bottom: 0.5rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }
}

.mod_contact .bg {
    position: absolute;
    z-index: -1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0
}

.mod_contact .detail_box {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    max-width: 12rem;
    width: 100%;
    height: 4.8rem;
    backdrop-filter: blur(7px);
    background-color: rgba(40, 40, 40, 0.65)
}

@media screen and (max-width:640px) {
    .mod_contact .detail_box {
        display: block;
        text-align: center;
        max-width: calc(100% - 0.4rem);
        height: auto;
        margin: auto;
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
        background-color: rgba(40, 40, 40, 0.5)
    }
}

.mod_contact .sec_tit .title {
    color: #fff
}

.mod_contact .sec_tit .title[data-txt]:before {
    color: #fff
}

.mod_contact .tel_box {
    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;
    margin-top: 0.4rem
}

@media screen and (max-width:640px) {
    .mod_contact .tel_box {
        display: inline-block;
        text-align: center;
        border-bottom: 1px solid #fff
    }
}

.mod_contact .tel_box dt {
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.2rem;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #fff
}

@media screen and (max-width:640px) {
    .mod_contact .tel_box dt {
        font-size: 0.18rem
    }
}

.mod_contact .tel_box dd {
    margin-left: 0.4rem
}

@media screen and (max-width:640px) {
    .mod_contact .tel_box dd {
        margin: auto;
        margin-top: 0.15rem
    }
}

.mod_contact .tel_box .tel {
    display: inline-block;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.24rem;
    letter-spacing: 0.05em;
    line-height: 1;
    color: #fff
}

@media screen and (max-width:640px) {
    .mod_contact .tel_box .tel {
        font-size: 0.22rem
    }
}

.mod_contact .tel_box .tel>span {
    position: relative;
    top: 0.01rem;
    font-size: 0.38rem;
    letter-spacing: 0.1em
}

@media screen and (max-width:640px) {
    .mod_contact .tel_box .tel>span {
        font-size: 0.34rem;
        margin-left: 0.25em
    }
}

.mod_contact .note_box {
    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;
    margin-top: 0.1rem
}

@media screen and (max-width:640px) {
    .mod_contact .note_box {
        display: block;
        text-align: center;
        margin-top: 0.1rem
    }
}

.mod_contact .note_box .item {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.13rem;
    letter-spacing: 0.1em;
    line-height: 2;
    color: #fff
}

@media screen and (max-width:640px) {
    .mod_contact .note_box .item {
        font-size: 0.12rem;
        line-height: 2.16
    }
}

.mod_contact .note_box .item>dd {
    margin-left: 0.5em
}

@media print,
screen and (min-width:641px) {
    .mod_contact .note_box .item+.item {
        margin-left: 0.25rem
    }
}

.mod_contact .action_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;
    gap: 0 0.4rem;
    margin-top: 0.6rem
}

@media screen and (max-width:640px) {
    .mod_contact .action_link {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0.2rem 0;
        max-width: calc(100% - 0.5rem);
        width: 100%;
        margin: auto;
        margin-top: 0.2rem
    }
}

.mod_bridalfair>.in {
    position: relative;
    max-width: 13rem;
    width: 100%;
    margin: auto;
    padding-top: 1.4rem;
    padding-bottom: 0.4rem
}

@media screen and (max-width:640px) {
    .mod_bridalfair>.in {
        max-width: calc(100% - 0.4rem);
        padding-top: 0.8rem;
        padding-bottom: 0.2rem
    }
}

.mod_bridalfair>.in:before {
    content: "";
    position: absolute;
    top: 1.4rem;
    bottom: 0.4rem;
    left: 0;
    right: 0;
    border: 1px solid #808057;
    pointer-events: none
}

@media screen and (max-width:640px) {
    .mod_bridalfair>.in:before {
        top: 0.8rem;
        bottom: 0.2rem
    }
}

.mod_bridalfair .upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 10.8rem;
    width: 100%;
    margin: auto;
    padding-top: 1rem
}

@media screen and (max-width:640px) {
    .mod_bridalfair .upper {
        display: block;
        padding-top: 0.6rem
    }
}

.mod_bridalfair .upper .sec_tit.-left {
    width: 50%
}

@media screen and (max-width:640px) {
    .mod_bridalfair .upper .sec_tit.-left {
        width: 100%;
        text-align: center
    }
}

@media screen and (max-width:640px) {
    .mod_bridalfair .upper .sec_tit.-left .title {
        text-align: center
    }
}

@media screen and (max-width:640px) {
    .mod_bridalfair .upper .sec_tit.-left .title[data-txt]:before {
        text-align: center
    }
}

.mod_bridalfair .upper .catch {
    width: 50%;
    font-size: 0.18rem;
    letter-spacing: 0.2em;
    line-height: 2.4
}

@media screen and (max-width:640px) {
    .mod_bridalfair .upper .catch {
        width: 100%;
        font-size: 0.16rem;
        letter-spacing: 0.1em;
        line-height: 2;
        text-align: center;
        margin-top: 0.3rem
    }
}

.mod_bridalfair .mod_wrap {
    margin-top: 0.6rem
}

@media screen and (max-width:640px) {
    .mod_bridalfair .mod_wrap {
        margin-top: 0.4rem
    }
}

.mod_bridalfair .link {
    padding-top: 0.4rem;
    padding-bottom: 1rem
}

@media screen and (max-width:640px) {
    .mod_bridalfair .link {
        padding-top: 0.3rem;
        padding-bottom: 0.6rem
    }
}

@media print,
screen and (min-width:641px) {
    .mod_bridalfair.-cuisine .upper .sec_tit.-left,
    .mod_bridalfair.-party .upper .sec_tit.-left {
        width: 4.3rem
    }
}

@media print,
screen and (min-width:641px) {
    .mod_bridalfair.-cuisine .upper .catch,
    .mod_bridalfair.-party .upper .catch {
        width: calc(100% - 4.3rem)
    }
}

:root {
    --gallery_modal-duration: .5s
}

.mod_gallery_modal {
    --gap: .20rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-gap: var(--gap);
    -moz-column-gap: var(--gap);
    column-gap: var(--gap);
    position: relative;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

@media print,
screen and (min-width:641px) {
    .mod_gallery_modal {
        margin-inline: auto;
        width: 11.1rem;
        padding: 0.05rem
    }
}

@media screen and (max-width:640px) {
    .mod_gallery_modal {
        --gap: .10rem;
        padding: 0.05rem 0.2rem;
        -webkit-column-gap: 0.15rem 0.1rem;
        -moz-column-gap: 0.15rem 0.1rem;
        column-gap: 0.15rem 0.1rem
    }
}

.mod_gallery_modal:not(.__more-view) .mod_gallery_modal-img:is(:nth-child(n+9):not(.__view),
.__hide) {
    display: none
}

.mod_gallery_modal-img {
    padding-top: var(--gap);
    width: calc(25% - var(--gap) * 3 / 4);
    -webkit-transition: opacity var(--gallery_modal-duration);
    transition: opacity var(--gallery_modal-duration);
    position: relative;
    cursor: pointer;
    overflow: hidden
}

@media screen and (max-width:640px) {
    .mod_gallery_modal-img {
        width: calc(50% - var(--gap) / 2)
    }
}

.mod_gallery_modal-img>img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: opacity var(--gallery_modal-duration);
    transition: opacity var(--gallery_modal-duration);
    aspect-ratio: 1/1;
    -o-object-fit: cover;
    object-fit: cover
}

.__modal-active .mod_gallery_modal-img {
    pointer-events: none
}

.no-touchevents .mod_gallery_modal-img:hover img {
    opacity: 0.7
}

.mod_gallery_modal .__modal-current {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    margin: -0.05rem 0 0 -0.05rem;
    padding: 0.05rem;
    width: 2.6rem;
    height: 2.6rem;
    background-color: #808057;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition-property: width, height, top, left, opacity;
    transition-property: width, height, top, left, opacity;
    -webkit-transition-duration: var(--gallery_modal-duration);
    transition-duration: var(--gallery_modal-duration);
    opacity: 0;
    pointer-events: none;
    z-index: -1
}

@media screen and (max-width:640px) {
    .mod_gallery_modal .__modal-current {
        margin: -0.04rem 0 0 -0.04rem;
        padding: 0.04rem;
        width: 1.05rem;
        height: 1.05rem
    }
}

.__modal-active .mod_gallery_modal .__modal-current {
    opacity: 1
}

.mod_gallery_modal-more {
    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;
    gap: 0.12rem;
    margin-top: 0.48rem;
    width: 100%;
    text-align: center;
    font-size: 0.18rem;
    letter-spacing: 0.1em;
    color: #808057;
    font-family: "eb-garamond", serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s
}

@media screen and (max-width:640px) {
    .mod_gallery_modal-more {
        margin-top: 0.32rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 0.06rem
    }
}

.no-touchevents .mod_gallery_modal-more:hover {
    opacity: 0.7
}

@media screen and (max-width:640px) {
    .mod_gallery_modal-more {
        margin-top: 0.36rem;
        margin-inline: 0.2rem;
        width: calc(100% - 0.4rem)
    }
}

.mod_gallery_modal-more:after {
    content: "";
    display: block;
    width: 0.8em;
    height: 0.8em;
    border-right: 1px solid;
    border-bottom: 1px solid;
    -webkit-transform: rotate(45deg) translate(-0.25em, -0.25em) skew(4deg, 4deg);
    transform: rotate(45deg) translate(-0.25em, -0.25em) skew(4deg, 4deg);
    -webkit-transition: -webkit-transform 0.5s;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s
}

.mod_gallery_modal-more.__hide:after {
    -webkit-transform: rotate(45deg) translate(0.1em, 0.1em) skew(4deg, 4deg) scale(-1);
    transform: rotate(45deg) translate(0.1em, 0.1em) skew(4deg, 4deg) scale(-1)
}

@media screen and (max-width:640px) {
    .mod_gallery_modal-more.__hide:after {
        -webkit-transform: rotate(45deg) translate(-1.75em, -1.75em) skew(4deg, 4deg) scale(-1);
        transform: rotate(45deg) translate(-1.75em, -1.75em) skew(4deg, 4deg) scale(-1)
    }
}

body.__modal-active {
    overflow-y: hidden;
    padding-right: var(--scrollbar-w)
}

@media print,
screen and (min-width:641px) {
    body.__modal-active .mod_header>.in {
        width: calc(100% - var(--scrollbar-w))
    }
    body.__modal-active .pagetopbtn {
        -webkit-box-sizing: content-box;
        box-sizing: content-box;
        right: var(--scrollbar-w)
    }
    body.__modal-active .floating_cookie_accept_area {
        padding-right: calc(var(--scrollbar-w) + 0.3rem)
    }
}

@media print,
screen and (min-width:641px) {
    body.__modal-noclick:not(.__modal-active) .js-gallery_modal_wrap {
        width: calc(100% - 1.2rem + var(--scrollbar-w) * 2)
    }
}

body:has(.mod_gallery_modal) .mod_header>.in {
    -webkit-transition: opacity var(--gallery_modal-duration);
    transition: opacity var(--gallery_modal-duration)
}

body:has(.mod_gallery_modal).__modal-active .mod_header>.in {
    opacity: 0
}

.js-gallery_modal_wrap {
    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;
    margin: auto;
    z-index: 2;
    width: calc(100% - 1.2rem);
    height: calc(100vh - 1.2rem);
    z-index: 250000;
    opacity: 0;
    -webkit-transition: opacity var(--gallery_modal-duration);
    transition: opacity var(--gallery_modal-duration);
    position: fixed;
    inset: 0;
    -webkit-tap-highlight-color: transparent!important
}

.js-gallery_modal_wrap:focus {
    outline: none!important
}

@media screen and (max-width:640px) {
    .js-gallery_modal_wrap {
        top: -0.5rem;
        padding: 0;
        width: calc(100% - 0.1rem);
        height: calc(100vh - 1rem)
    }
}

.__modal-active .js-gallery_modal_wrap {
    opacity: 1;
    pointer-events: auto
}

.__modal-noclick .js-gallery_modal_wrap {
    pointer-events: none!important
}

.js-gallery_modal-img {
    width: auto;
    max-height: 100%;
    height: auto;
    position: absolute;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: transform, opacity;
    transition-property: transform, opacity, -webkit-transform;
    -webkit-transition-duration: var(--gallery_modal-duration);
    transition-duration: var(--gallery_modal-duration)
}

.js-gallery_modal-img:not(.__view) {
    opacity: 0;
    pointer-events: none
}

@media print,
screen and (min-width:641px) {
    .js-gallery_modal-img {
        max-width: 11rem
    }
}

@media screen and (max-width:640px) {
    .js-gallery_modal-img {
        max-width: calc(100% - 0.6rem)
    }
}

.js-gallery_modal-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;
    width: 0.3rem;
    height: auto;
    aspect-ratio: 1/1;
    color: #808057;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 10;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-duration: var(--gallery_modal-duration);
    transition-duration: var(--gallery_modal-duration)
}

.js-gallery_modal-close:not(.__view) {
    opacity: 0;
    pointer-events: none
}

@media screen and (max-width:640px) {
    .js-gallery_modal-close {
        top: -0.1rem;
        right: 0.1rem
    }
}

.js-gallery_modal-close i {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: absolute
}

.js-gallery_modal-close i:after,
.js-gallery_modal-close i:before {
    content: "";
    display: block;
    margin: auto;
    width: 100%;
    border-bottom: 1px solid;
    position: absolute
}

.js-gallery_modal-close i:before {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.js-gallery_modal-close i:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.js-gallery_modal-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;
    margin: auto 0;
    height: 100%;
    width: 0.4rem;
    position: absolute;
    top: 0;
    z-index: 10
}

@media screen and (max-width:640px) {
    .js-gallery_modal-arrow {
        width: 0.32rem
    }
}

.js-gallery_modal-arrow:after {
    content: ""
}

.js-gallery_modal-arrow:after {
    content: "";
    display: block;
    margin: auto;
    border-radius: 50%;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    background-color: #fff;
    background-image: url(/common/img/ico_btn02_arrow.svg);
    background-position: center;
    background-size: 50% auto;
    background-repeat: no-repeat
}

.js-gallery_modal-arrow.-next {
    right: 0
}

.js-gallery_modal-arrow.-prev {
    left: 0
}

.js-gallery_modal-arrow.-prev:after {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.js-gallery_modal-overlay {
    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;
    z-index: 200000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% + 1rem);
    background-color: rgba(128, 128, 87, 0.2);
    backdrop-filter: blur(8px);
    will-change: backdrop-filter;
    pointer-events: none;
    -webkit-transition: opacity var(--gallery_modal-duration);
    transition: opacity var(--gallery_modal-duration);
    opacity: 0
}

.__modal-active .js-gallery_modal-overlay {
    opacity: 1;
    pointer-events: auto
}

.js-gallery_modal-overlay-loading {
    margin-top: -1rem;
    position: absolute;
    width: 4px;
    height: 4px
}

.js-gallery_modal-overlay-loading>div {
    -webkit-animation-fill-mode: both;
    width: 100%;
    height: 100%;
    border-radius: 100%;
    background-color: #fff;
    margin: 2px;
    --angle: (360deg/8 * var(--i));
    --x: calc(cos(var(--angle)) * 30px);
    --y: calc(sin(var(--angle)) * 30px);
    --duration: 2s;
    --delay: calc(var(--duration)* var(--i) / 8);
    -webkit-animation: ball-spin-fade-loader var(--duration) var(--delay) infinite linear;
    animation: ball-spin-fade-loader var(--duration) var(--delay) infinite linear;
    position: absolute;
    top: var(--y);
    left: var(--x);
    opacity: 0.3
}

.js-gallery_modal-overlay-loading>div:first-child {
    --i: 1
}

.js-gallery_modal-overlay-loading>div:nth-child(2) {
    --i: 2
}

.js-gallery_modal-overlay-loading>div:nth-child(3) {
    --i: 3
}

.js-gallery_modal-overlay-loading>div:nth-child(4) {
    --i: 4
}

.js-gallery_modal-overlay-loading>div:nth-child(5) {
    --i: 5
}

.js-gallery_modal-overlay-loading>div:nth-child(6) {
    --i: 6
}

.js-gallery_modal-overlay-loading>div:nth-child(7) {
    --i: 7
}

.js-gallery_modal-overlay-loading>div:nth-child(8) {
    --i: 8
}

@-webkit-keyframes ball-spin-fade-loader {
    0% {
        opacity: 0.3;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(4);
        transform: scale(4)
    }
    to {
        opacity: 0.3;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

@keyframes ball-spin-fade-loader {
    0% {
        opacity: 0.3;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    50% {
        opacity: 1;
        -webkit-transform: scale(4);
        transform: scale(4)
    }
    to {
        opacity: 0.3;
        -webkit-transform: scale(1);
        transform: scale(1)
    }
}

[data-pararax01] {
    position: relative
}

[data-pararax01] [data-pararax01-inview] {
    position: absolute;
    top: 200px;
    bottom: 200px;
    left: 0;
    width: 100%;
    pointer-events: none;
    opacity: 0
}

@media screen and (max-width:640px) {
    [data-pararax01] [data-pararax01-inview] {
        top: 100px;
        bottom: 100px
    }
}

[data-pararax01] [data-pararax01-opacity01] {
    opacity: 0;
    -webkit-transition: opacity 1.3s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 1.3s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity01].active {
    opacity: 1
}

[data-pararax01] [data-pararax01-opacity02] {
    opacity: 0;
    -webkit-transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity02].active {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px)
}

[data-pararax01] [data-pararax01-opacity02] {
    -webkit-transform: translate(-15px, 0);
    transform: translate(-15px, 0)
}

[data-pararax01] [data-pararax01-opacity03] {
    opacity: 0;
    -webkit-transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity03].active {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px)
}

[data-pararax01] [data-pararax01-opacity03] {
    -webkit-transform: translate(15px, 0);
    transform: translate(15px, 0)
}

[data-pararax01] [data-pararax01-opacity04] {
    opacity: 0;
    -webkit-transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity04].active {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px)
}

[data-pararax01] [data-pararax01-opacity04] {
    -webkit-transform: translate(0, 15px);
    transform: translate(0, 15px)
}

[data-pararax01] [data-pararax01-opacity05] {
    opacity: 0;
    -webkit-transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 0.7s cubic-bezier(0.625, 0, 0.355, 1), transform 0.7s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 0.7s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity05].active {
    opacity: 1;
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px)
}

[data-pararax01] [data-pararax01-opacity05] {
    -webkit-transform: translate(0, -15px);
    transform: translate(0, -15px)
}

[data-pararax01] [data-pararax01-opacity06] {
    opacity: 0;
    -webkit-transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 1s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 1s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1), transform 1s cubic-bezier(0.625, 0, 0.355, 1);
    transition: opacity 1s cubic-bezier(0.625, 0, 0.355, 1), transform 1s cubic-bezier(0.625, 0, 0.355, 1), -webkit-transform 1s cubic-bezier(0.625, 0, 0.355, 1)
}

[data-pararax01] [data-pararax01-opacity06].active {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1
}

[data-pararax01] [data-pararax01-opacity06] {
    -webkit-transform: scale(0.9);
    transform: scale(0.9)
}

.mod_archives-pager01 {
    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;
    padding-block: 0.7rem;
    background-color: #f3f2f0;
    font-size: 0.18rem
}

@media print,
screen and (min-width:641px) {
    .mod_archives-pager01 {
        height: var(--pager-pc-height)
    }
}

@media screen and (max-width:640px) {
    .mod_archives-pager01 {
        -webkit-margin-before: 0.18rem;
        margin-block-start: 0.18rem;
        border-top: 1px solid #faf4e4;
        padding-block: 0.28rem;
        font-size: 0.16rem
    }
}

.mod_archives-pager01>.wp-pagenavi {
    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;
    gap: 0.16rem;
    padding-inline: 0.4rem;
    position: relative;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 400;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.mod_archives-pager01 .wp-pagenavi>span,
.mod_archives-pager01 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;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 0.4rem;
    height: auto;
    aspect-ratio: 1/1;
    text-align: center;
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s
}

@media screen and (max-width:640px) {
    .mod_archives-pager01 .wp-pagenavi>span,
    .mod_archives-pager01 a {
        width: 0.32rem
    }
}

.mod_archives-pager01 .wp-pagenavi>span:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last),
.mod_archives-pager01 a:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last) {
    border-bottom: 1px solid transparent
}

.mod_archives-pager01 .wp-pagenavi>span:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last).current,
.mod_archives-pager01 a:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last).current {
    border-bottom-color: #808057
}

@media (hover) {
    .mod_archives-pager01 .wp-pagenavi>span:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last),
    .mod_archives-pager01 a:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last) {
        -webkit-transition: border-bottom-color 0.5s;
        transition: border-bottom-color 0.5s
    }
    .mod_archives-pager01 .wp-pagenavi>span:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last):is(a):hover,
    .mod_archives-pager01 a:not(.extend):not(.previouspostslink):not(.nextpostslink):not(.first):not(.last):is(a):hover {
        border-bottom-color: #808057
    }
}

.mod_archives-pager01 .wp-pagenavi>span:is(.previouspostslink,
.nextpostslink),
.mod_archives-pager01 a:is(.previouspostslink,
.nextpostslink) {
    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;
    position: relative
}

.mod_archives-pager01 .wp-pagenavi>span:is(.previouspostslink,
.nextpostslink):after,
.mod_archives-pager01 a:is(.previouspostslink,
.nextpostslink):after {
    content: "";
    width: 1em;
    height: 1em;
    background-color: #808057;
    clip-path: polygon(0 calc(80% - 1px), calc(100% - 2px) calc(80% - 1px), calc(100% - 0.3em - 2px) calc(80% - 0.3em), calc(100% - 0.3em) calc(80% - 0.3em), 100% 80%, 0 80%);
    position: absolute
}

.mod_archives-pager01 .wp-pagenavi>span.previouspostslink,
.mod_archives-pager01 a.previouspostslink {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.mod_single-pager01 {
    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;
    padding-block: 0.7rem;
    background-color: #f3f2f0;
    font-family: shippori-mincho-b1, sans-serif;
    font-weight: 500;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #808057;
    font-size: 0.16rem
}

@media print,
screen and (min-width:641px) {
    .mod_single-pager01 {
        height: var(--pager-pc-height)
    }
}

@media screen and (max-width:640px) {
    .mod_single-pager01 {
        padding: 0.4rem 0.2rem;
        font-size: 0.14rem
    }
}

.mod_single-pager01_inner {
    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;
    position: relative
}

@media print,
screen and (min-width:641px) {
    .mod_single-pager01_inner {
        width: 4.3rem
    }
}

@media screen and (max-width:640px) {
    .mod_single-pager01_inner {
        width: 100%
    }
}

@media (hover) {
    .mod_single-pager01_inner>a {
        -webkit-transition: opacity 0.5s;
        transition: opacity 0.5s
    }
    .mod_single-pager01_inner>a:is(a):hover {
        opacity: 0.7
    }
}

:is(.mod_single-pager01-prev,
.mod_single-pager01-next) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.12rem;
    font-size: 0.12rem;
    position: absolute
}

:is(.mod_single-pager01-prev,
.mod_single-pager01-next):after {
    content: "";
    width: 1.33em;
    height: 1.33em;
    background-color: #808057;
    clip-path: polygon(0 calc(60% - 1px), calc(100% - 2px) calc(60% - 1px), calc(100% - 0.3em - 2px) calc(60% - 0.3em), calc(100% - 0.3em) calc(60% - 0.3em), 100% 60%, 0 60%)
}

.mod_single-pager01-prev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-right: auto;
    left: 0
}

.mod_single-pager01-prev:after {
    -webkit-transform: scaleX(-1);
    transform: scaleX(-1)
}

.mod_single-pager01-next {
    margin-left: auto;
    right: 0
}


/*# sourceMappingURL=common.css.map */