/*!
 * ress.css • v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
    box-sizing: border-box;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    line-height: 180%
}

*,
:before,
:after {
    background-repeat: no-repeat;
    box-sizing: inherit
}

:before,
:after {
    text-decoration: inherit;
    vertical-align: inherit
}

* {
    padding: 0;
    margin: 0
}

audio:not([controls]) {
    display: none;
    height: 0
}

hr {
    overflow: visible
}

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

summary {
    display: list-item
}

small {
    font-size: 80%
}

[hidden],
template {
    display: none
}

abbr[title] {
    border-bottom: 1px dotted;
    text-decoration: none
}

a {
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:active,
a:hover {
    outline-width: 0
}

code,
kbd,
pre,
samp {
    font-family: monospace, monospace
}

b,
strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background-color: #ff0;
    color: #000
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

input {
    border-radius: 0
}

button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
    cursor: pointer
}

[disabled] {
    cursor: default
}

[type=number] {
    width: auto
}

[type=search] {
    -webkit-appearance: textfield
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

textarea {
    overflow: auto;
    resize: vertical
}

button,
input,
optgroup,
select,
textarea {
    font: inherit
}

optgroup {
    font-weight: 700
}

button {
    overflow: visible
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    border-style: 0;
    padding: 0
}

button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
    outline: 1px dotted ButtonText
}

button,
html [type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: button
}

button,
select {
    text-transform: none
}

button,
input,
select,
textarea {
    background-color: transparent;
    border-style: none;
    color: inherit
}

select {
    -moz-appearance: none;
    -webkit-appearance: none
}

select::-ms-expand {
    display: none
}

select::-ms-value {
    color: currentColor
}

legend {
    border: 0;
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

img {
    border-style: none
}

progress {
    vertical-align: baseline
}

svg:not(:root) {
    overflow: hidden
}

audio,
canvas,
progress,
video {
    display: inline-block
}

@media screen {
    [hidden~=screen] {
        display: inherit
    }

    [hidden~=screen]:not(:active):not(:focus):not(:target) {
        position: absolute !important;
        clip: rect(0 0 0 0) !important
    }
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled] {
    cursor: default
}

::-moz-selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

::selection {
    background-color: #b3d4fc;
    color: #000;
    text-shadow: none
}

* {
    box-sizing: border-box
}

html {
    font-size: 62.5%
}

@media print,
screen and (min-width:1600px) {
    html {
        font-size: 78.125%
    }
}

html .all_wrap {
    opacity: 1;
    transition: 0s cubic-bezier(.26, .06, 0, 1)
}

@media print,
screen and (min-width:768px) {
    html .all_wrap {
        opacity: 0;
        transition: .3s cubic-bezier(.26, .06, 0, 1)
    }
}

html.loading-delay {
    visibility: visible
}

html.wf-active .all_wrap {
    opacity: 1;
    transition: 0s cubic-bezier(.26, .06, 0, 1);
    visibility: visible
}

@media print,
screen and (min-width:768px) {
    html.wf-active .all_wrap {
        transition: .3s cubic-bezier(.26, .06, 0, 1);
        visibility: visible
    }
}

body {
    position: relative;
    /*    background: url(../image/main_black_bg__sp.gif) 0 0 repeat;*/
    background: #B49C69;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    color: #000;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.8;
    line-break: normal !important;
    font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt"1;
    text-size-adjust: 100%;
    word-wrap: break-word;
    background-size: 50%;
    max-width: 100vw
}

@media print,
screen and (min-width:544px) {
    body {
        font-size: 1.4rem;
        background-size: auto
    }
}

body #page {
    position: relative;
    z-index: 1;
    padding: 0;
    background: #EEEDEA;
}

@media print,
screen and (min-width:1024px) {
    body #page {
        padding: 11rem 0 0
    }
}

body #fadein_wrap {
    /* padding-top: 11rem; */
}

@media (max-width:1023px) {
    body #fadein_wrap {
        padding-top: 0
    }
}

body #fadein_wrap #page {
    margin-top: 0
}

#page.site {
    margin: 0;
    padding: 0
}

@media print,
screen and (min-width:1024px) {
    #page.site {}
}

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

svg {
    max-width: 100%
}

a {
    color: inherit;
    text-decoration: none
}

@media print,
screen and (min-width:992px) {
    a.mobile-link {
        pointer-events: none
    }
}

ul,
ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
    line-height: 1.8
}

ul.disc {
    padding-left: 1.5rem
}

ul.disc li {
    margin-bottom: .5rem
}

ul.disc,
ul.disc li {
    list-style-type: disc;
    list-style-position: outside
}

h1,
h2,
h3,
h4,
h5 {
    margin: 1rem 0;
    font-weight: 900;
    line-height: 150%
}

@media print,
screen and (min-width:992px) {

    h1,
    h2,
    h3,
    h4,
    h5 {
        line-height: 170%
    }
}

p {
    letter-spacing: 0px;
    margin-bottom: .5rem
}

@media print,
screen and (min-width:992px) {
    p {
        margin-bottom: 1.5rem;
        letter-spacing: 1px
    }
}

p+p {
    margin-top: 1em
}

*:focus {
    outline: none
}

ol {
    margin: 0 0 2rem
}

ol li {
    margin: 0 0 0 1.4rem
}

@media print,
screen and (min-width:544px) {
    ol li {
        margin: 0 0 0 2.8rem
    }
}

@media print,
screen and (min-width:992px) {
    ol li {
        margin: 0 0 0 1.4rem
    }
}

.large_container__sp {
    width: 100%;
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    box-sizing: border-box
}

@media only screen and (min-width:1024px) {
    .large_container__sp {
        max-width: 1100px;
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1160px) {
    .large_container__sp {
        max-width: 1100px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .large_container__sp {
        max-width: 1350px;
        padding-right: 0;
        padding-left: 0
    }
}

.large_container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .large_container {
        max-width: 1100px;
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1160px) {
    .large_container {
        max-width: 1100px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .large_container {
        max-width: 1350px;
        padding-right: 0;
        padding-left: 0
    }
}

.middle_container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .middle_container {
        padding-right: 3rem;
        padding-left: 3rem;
        max-width: 100%
    }
}

@media only screen and (min-width:960px) {
    .middle_container {
        max-width: 900px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .middle_container {
        max-width: 1125px
    }
}

.middle_container__index {
    width: 100%;
    padding-right: 3rem;
    padding-left: 3rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .middle_container__index {
        padding-right: 6rem;
        padding-left: 6rem;
        max-width: 100%
    }
}

@media only screen and (min-width:1020px) {
    .middle_container__index {
        max-width: 900px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .middle_container__index {
        max-width: 1125px
    }
}

.middle_container__index__relative {
    position: relative
}

.container {
    width: 100%;
    padding-right: 3rem;
    padding-left: 3rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 700px;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .container {
        padding-right: 6rem;
        padding-left: 6rem
    }
}

@media only screen and (min-width:768px) {
    .container {
        max-width: 700px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .container {
        max-width: 875px
    }
}

.page_container {
    width: 100%;
    padding-right: 1.5rem !important;
    padding-left: 1.5rem !important
}

@media only screen and (min-width:768px) {
    .page_container {
        padding-right: 3rem !important;
        padding-left: 3rem !important
    }
}

.page_middle_container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 900px;
    box-sizing: border-box
}

@media only screen and (min-width:768px) {
    .page_middle_container {
        padding-right: 0;
        padding-left: 0;
        max-width: 900px;
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1600px) {
    .page_middle_container {
        max-width: 1125px
    }
}

.no-padding-container {
    padding-right: 0;
    padding-left: 0
}

.flex_center {
    justify-content: center
}

.clearfix:after {
    content: "";
    display: block;
    clear: both
}

.inline-block {
    display: inline-block;
    *display: inline;
    *zoom: 1
}

hr {
    margin: 3rem 0;
    border: none;
    height: 1px;
    width: 100%
}

.hover-opacity {
    -webkit-transition: .4s;
    transition: .4s
}

@media (min-width:768px) {
    .hover-opacity:hover {
        filter: alpha(opacity=60);
        -moz-opacity: .6;
        opacity: .6
    }
}

.inner-link {
    color: #000
}

.inner-link:hover {
    text-decoration: underline
}

.text-bold {
    font-weight: 700
}

.text-note {
    font-size: .875em
}

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

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

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

@media only screen and (min-width:768px) {
    .text-center__pc {
        text-align: center !important
    }
}

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

@media only screen and (min-width:768px) {
    .text-center__sp {
        text-align: left !important
    }
}

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

.text-justify {
    text-align: justify
}

.indent {
    text-indent: -1em;
    padding-left: 1em
}

.mt0 {
    margin-top: 0 !important
}

.mb0 {
    margin-bottom: 0 !important
}

.ml0 {
    margin-left: 0 !important
}

.mr0 {
    margin-right: 0 !important
}

.pt0 {
    padding-top: 0 !important
}

.pb0 {
    padding-bottom: 0 !important
}

.pl0 {
    padding-left: 0 !important
}

.pr0 {
    padding-right: 0 !important
}

.mt5 {
    margin-top: 5px !important
}

.mb5 {
    margin-bottom: 5px !important
}

.ml5 {
    margin-left: 5px !important
}

.mr5 {
    margin-right: 5px !important
}

.pt5 {
    padding-top: 5px !important
}

.pb5 {
    padding-bottom: 5px !important
}

.pl5 {
    padding-left: 5px !important
}

.pr5 {
    padding-right: 5px !important
}

.mt10 {
    margin-top: 10px !important
}

.mb10 {
    margin-bottom: 10px !important
}

.ml10 {
    margin-left: 10px !important
}

.mr10 {
    margin-right: 10px !important
}

.pt10 {
    padding-top: 10px !important
}

.pb10 {
    padding-bottom: 10px !important
}

.pl10 {
    padding-left: 10px !important
}

.pr10 {
    padding-right: 10px !important
}

.mt15 {
    margin-top: 15px !important
}

.mb15 {
    margin-bottom: 15px !important
}

.ml15 {
    margin-left: 15px !important
}

.mr15 {
    margin-right: 15px !important
}

.pt15 {
    padding-top: 15px !important
}

.pb15 {
    padding-bottom: 15px !important
}

.pl15 {
    padding-left: 15px !important
}

.pr15 {
    padding-right: 15px !important
}

.mt20 {
    margin-top: 20px !important
}

.mb20 {
    margin-bottom: 20px !important
}

.ml20 {
    margin-left: 20px !important
}

.mr20 {
    margin-right: 20px !important
}

.pt20 {
    padding-top: 20px !important
}

.pb20 {
    padding-bottom: 20px !important
}

.pl20 {
    padding-left: 20px !important
}

.pr20 {
    padding-right: 20px !important
}

.mt25 {
    margin-top: 25px !important
}

.mb25 {
    margin-bottom: 25px !important
}

.ml25 {
    margin-left: 25px !important
}

.mr25 {
    margin-right: 25px !important
}

.pt25 {
    padding-top: 25px !important
}

.pb25 {
    padding-bottom: 25px !important
}

.pl25 {
    padding-left: 25px !important
}

.pr25 {
    padding-right: 25px !important
}

.mt30 {
    margin-top: 30px !important
}

.mb30 {
    margin-bottom: 30px !important
}

.ml30 {
    margin-left: 30px !important
}

.mr30 {
    margin-right: 30px !important
}

.pt30 {
    padding-top: 30px !important
}

.pb30 {
    padding-bottom: 30px !important
}

.pl30 {
    padding-left: 30px !important
}

.pr30 {
    padding-right: 30px !important
}

.mt35 {
    margin-top: 35px !important
}

.mb35 {
    margin-bottom: 35px !important
}

.ml35 {
    margin-left: 35px !important
}

.mr35 {
    margin-right: 35px !important
}

.pt35 {
    padding-top: 35px !important
}

.pb35 {
    padding-bottom: 35px !important
}

.pl35 {
    padding-left: 35px !important
}

.pr35 {
    padding-right: 35px !important
}

.mt40 {
    margin-top: 40px !important
}

.mb40 {
    margin-bottom: 40px !important
}

.ml40 {
    margin-left: 40px !important
}

.mr40 {
    margin-right: 40px !important
}

.pt40 {
    padding-top: 40px !important
}

.pb40 {
    padding-bottom: 40px !important
}

.pl40 {
    padding-left: 40px !important
}

.pr40 {
    padding-right: 40px !important
}

.mt45 {
    margin-top: 45px !important
}

.mb45 {
    margin-bottom: 45px !important
}

.ml45 {
    margin-left: 45px !important
}

.mr45 {
    margin-right: 45px !important
}

.pt45 {
    padding-top: 45px !important
}

.pb45 {
    padding-bottom: 45px !important
}

.pl45 {
    padding-left: 45px !important
}

.pr45 {
    padding-right: 45px !important
}

.mt50 {
    margin-top: 50px !important
}

.mb50 {
    margin-bottom: 50px !important
}

.ml50 {
    margin-left: 50px !important
}

.mr50 {
    margin-right: 50px !important
}

.pt50 {
    padding-top: 50px !important
}

.pb50 {
    padding-bottom: 50px !important
}

.pl50 {
    padding-left: 50px !important
}

.pr50 {
    padding-right: 50px !important
}

.mt55 {
    margin-top: 55px !important
}

.mb55 {
    margin-bottom: 55px !important
}

.ml55 {
    margin-left: 55px !important
}

.mr55 {
    margin-right: 55px !important
}

.pt55 {
    padding-top: 55px !important
}

.pb55 {
    padding-bottom: 55px !important
}

.pl55 {
    padding-left: 55px !important
}

.pr55 {
    padding-right: 55px !important
}

.mt60 {
    margin-top: 60px !important
}

.mb60 {
    margin-bottom: 60px !important
}

.ml60 {
    margin-left: 60px !important
}

.mr60 {
    margin-right: 60px !important
}

.pt60 {
    padding-top: 60px !important
}

.pb60 {
    padding-bottom: 60px !important
}

.pl60 {
    padding-left: 60px !important
}

.pr60 {
    padding-right: 60px !important
}

.mt65 {
    margin-top: 65px !important
}

.mb65 {
    margin-bottom: 65px !important
}

.ml65 {
    margin-left: 65px !important
}

.mr65 {
    margin-right: 65px !important
}

.pt65 {
    padding-top: 65px !important
}

.pb65 {
    padding-bottom: 65px !important
}

.pl65 {
    padding-left: 65px !important
}

.pr65 {
    padding-right: 65px !important
}

.mt70 {
    margin-top: 70px !important
}

.mb70 {
    margin-bottom: 70px !important
}

.ml70 {
    margin-left: 70px !important
}

.mr70 {
    margin-right: 70px !important
}

.pt70 {
    padding-top: 70px !important
}

.pb70 {
    padding-bottom: 70px !important
}

.pl70 {
    padding-left: 70px !important
}

.pr70 {
    padding-right: 70px !important
}

.mt75 {
    margin-top: 75px !important
}

.mb75 {
    margin-bottom: 75px !important
}

.ml75 {
    margin-left: 75px !important
}

.mr75 {
    margin-right: 75px !important
}

.pt75 {
    padding-top: 75px !important
}

.pb75 {
    padding-bottom: 75px !important
}

.pl75 {
    padding-left: 75px !important
}

.pr75 {
    padding-right: 75px !important
}

.mt80 {
    margin-top: 80px !important
}

.mb80 {
    margin-bottom: 80px !important
}

.ml80 {
    margin-left: 80px !important
}

.mr80 {
    margin-right: 80px !important
}

.pt80 {
    padding-top: 80px !important
}

.pb80 {
    padding-bottom: 80px !important
}

.pl80 {
    padding-left: 80px !important
}

.pr80 {
    padding-right: 80px !important
}

.mt85 {
    margin-top: 85px !important
}

.mb85 {
    margin-bottom: 85px !important
}

.ml85 {
    margin-left: 85px !important
}

.mr85 {
    margin-right: 85px !important
}

.pt85 {
    padding-top: 85px !important
}

.pb85 {
    padding-bottom: 85px !important
}

.pl85 {
    padding-left: 85px !important
}

.pr85 {
    padding-right: 85px !important
}

.mt90 {
    margin-top: 90px !important
}

.mb90 {
    margin-bottom: 90px !important
}

.ml90 {
    margin-left: 90px !important
}

.mr90 {
    margin-right: 90px !important
}

.pt90 {
    padding-top: 90px !important
}

.pb90 {
    padding-bottom: 90px !important
}

.pl90 {
    padding-left: 90px !important
}

.pr90 {
    padding-right: 90px !important
}

.mt95 {
    margin-top: 95px !important
}

.mb95 {
    margin-bottom: 95px !important
}

.ml95 {
    margin-left: 95px !important
}

.mr95 {
    margin-right: 95px !important
}

.pt95 {
    padding-top: 95px !important
}

.pb95 {
    padding-bottom: 95px !important
}

.pl95 {
    padding-left: 95px !important
}

.pr95 {
    padding-right: 95px !important
}

.mt100 {
    margin-top: 100px !important
}

.mb100 {
    margin-bottom: 100px !important
}

.ml100 {
    margin-left: 100px !important
}

.mr100 {
    margin-right: 100px !important
}

.pt100 {
    padding-top: 100px !important
}

.pb100 {
    padding-bottom: 100px !important
}

.pl100 {
    padding-left: 100px !important
}

.pr100 {
    padding-right: 100px !important
}

.mte0 {
    margin-top: 0 !important
}

.mbe0 {
    margin-bottom: 0 !important
}

.mtr0 {
    margin-top: 0 !important
}

.mbr0 {
    margin-bottom: 0 !important
}

.mte5 {
    margin-top: .5em !important
}

.mbe5 {
    margin-bottom: .5em !important
}

.mtr5 {
    margin-top: .5rem !important
}

.mbr5 {
    margin-bottom: .5rem !important
}

.mte10 {
    margin-top: 1em !important
}

.mbe10 {
    margin-bottom: 1em !important
}

.mtr10 {
    margin-top: 1rem !important
}

.mbr10 {
    margin-bottom: 1rem !important
}

.mte15 {
    margin-top: 1.5em !important
}

.mbe15 {
    margin-bottom: 1.5em !important
}

.mtr15 {
    margin-top: 1.5rem !important
}

.mbr15 {
    margin-bottom: 1.5rem !important
}

.mte20 {
    margin-top: 2em !important
}

.mbe20 {
    margin-bottom: 2em !important
}

.mtr20 {
    margin-top: 2rem !important
}

.mbr20 {
    margin-bottom: 2rem !important
}

.mte25 {
    margin-top: 2.5em !important
}

.mbe25 {
    margin-bottom: 2.5em !important
}

.mtr25 {
    margin-top: 2.5rem !important
}

.mbr25 {
    margin-bottom: 2.5rem !important
}

.mte30 {
    margin-top: 3em !important
}

.mbe30 {
    margin-bottom: 3em !important
}

.mtr30 {
    margin-top: 3rem !important
}

.mbr30 {
    margin-bottom: 3rem !important
}

.mte35 {
    margin-top: 3.5em !important
}

.mbe35 {
    margin-bottom: 3.5em !important
}

.mtr35 {
    margin-top: 3.5rem !important
}

.mbr35 {
    margin-bottom: 3.5rem !important
}

.mte40 {
    margin-top: 4em !important
}

.mbe40 {
    margin-bottom: 4em !important
}

.mtr40 {
    margin-top: 4rem !important
}

.mbr40 {
    margin-bottom: 4rem !important
}

.mte45 {
    margin-top: 4.5em !important
}

.mbe45 {
    margin-bottom: 4.5em !important
}

.mtr45 {
    margin-top: 4.5rem !important
}

.mbr45 {
    margin-bottom: 4.5rem !important
}

.mte50 {
    margin-top: 5em !important
}

.mbe50 {
    margin-bottom: 5em !important
}

.mtr50 {
    margin-top: 5rem !important
}

.mbr50 {
    margin-bottom: 5rem !important
}

.mte55 {
    margin-top: 5.5em !important
}

.mbe55 {
    margin-bottom: 5.5em !important
}

.mtr55 {
    margin-top: 5.5rem !important
}

.mbr55 {
    margin-bottom: 5.5rem !important
}

.mte60 {
    margin-top: 6em !important
}

.mbe60 {
    margin-bottom: 6em !important
}

.mtr60 {
    margin-top: 6rem !important
}

.mbr60 {
    margin-bottom: 6rem !important
}

.mte65 {
    margin-top: 6.5em !important
}

.mbe65 {
    margin-bottom: 6.5em !important
}

.mtr65 {
    margin-top: 6.5rem !important
}

.mbr65 {
    margin-bottom: 6.5rem !important
}

.mte70 {
    margin-top: 7em !important
}

.mbe70 {
    margin-bottom: 7em !important
}

.mtr70 {
    margin-top: 7rem !important
}

.mbr70 {
    margin-bottom: 7rem !important
}

.mte75 {
    margin-top: 7.5em !important
}

.mbe75 {
    margin-bottom: 7.5em !important
}

.mtr75 {
    margin-top: 7.5rem !important
}

.mbr75 {
    margin-bottom: 7.5rem !important
}

.mte80 {
    margin-top: 8em !important
}

.mbe80 {
    margin-bottom: 8em !important
}

.mtr80 {
    margin-top: 8rem !important
}

.mbr80 {
    margin-bottom: 8rem !important
}

.mte85 {
    margin-top: 8.5em !important
}

.mbe85 {
    margin-bottom: 8.5em !important
}

.mtr85 {
    margin-top: 8.5rem !important
}

.mbr85 {
    margin-bottom: 8.5rem !important
}

.mte90 {
    margin-top: 9em !important
}

.mbe90 {
    margin-bottom: 9em !important
}

.mtr90 {
    margin-top: 9rem !important
}

.mbr90 {
    margin-bottom: 9rem !important
}

.mte95 {
    margin-top: 9.5em !important
}

.mbe95 {
    margin-bottom: 9.5em !important
}

.mtr95 {
    margin-top: 9.5rem !important
}

.mbr95 {
    margin-bottom: 9.5rem !important
}

.mte100 {
    margin-top: 10em !important
}

.mbe100 {
    margin-bottom: 10em !important
}

.mtr100 {
    margin-top: 10rem !important
}

.mbr100 {
    margin-bottom: 10rem !important
}

.sort-vertical {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column
}

.sort-vertical-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    flex-direction: column-reverse
}

.content-right {
    -webkit-box-pack: end;
    justify-content: flex-end
}

.content-center {
    -webkit-box-pack: center;
    justify-content: center
}

.content-between {
    -webkit-box-pack: justify;
    justify-content: space-between
}

.content-around {
    justify-content: space-around
}

.content-top {
    -webkit-box-align: start;
    align-items: flex-start
}

.content-bottom {
    -webkit-box-align: end;
    align-items: flex-end
}

.content-middle {
    -webkit-box-align: center;
    align-items: center
}

.content-baseline {
    -webkit-box-align: baseline;
    align-items: baseline
}

span.br {
    display: inline
}

@media only screen and (min-width:1024px) {
    span.br {
        display: block
    }
}

span.sp_br {
    display: block
}

@media only screen and (min-width:1024px) {
    span.sp_br {
        display: inline
    }
}

.pc_content {
    display: none
}

@media only screen and (min-width:768px) {
    .pc_content {
        display: block
    }
}

.sp_content {
    display: block
}

@media only screen and (min-width:768px) {
    .sp_content {
        display: none
    }
}

.section {
    padding: 6rem 0
}

@media only screen and (min-width:768px) {
    .section {
        padding: 15rem 0
    }
}

.large_section {
    padding: 5rem 0
}

@media only screen and (min-width:768px) {
    .large_section {
        padding: 13rem 0 10rem
    }
}

.fadein {
    opacity: 1;
    transform: translateY(0px);
    transition: all 1s
}

@media only screen and (min-width:768px) {
    .fadein {
        opacity: 0;
        transform: translateY(20px)
    }
}

.fadein__right {
    opacity: 1;
    transform: translateX(0px);
    transition: all 1s
}

@media only screen and (min-width:768px) {
    .fadein__right {
        opacity: 0;
        transform: translateX(50%)
    }
}

.fadein__left {
    opacity: 1;
    transform: translateX(0px);
    transition: all 1s
}

@media only screen and (min-width:768px) {
    .fadein__left {
        opacity: 0;
        transform: translateX(-50%)
    }
}

.white {
    color: #fff
}

.red {
    color: red
}

.overflow_hidden {
    overflow: hidden
}

.text-red {
    color: #f33
}

@media (min-width:768px) {
    .c-line-btn__outer:hover .c-line-btn__target--white {
        background-position: 0 100%;
        background-size: 100% 1px
    }
}

.c-line-btn__outer .c-line-btn__target--white {
    background-image: linear-gradient(#fff, #fff);
    background-position: 100% 100%;
    background-repeat: no-repeat;
    background-size: 0% 1px;
    display: inline !important;
    transition: background-size .4s cubic-bezier(.43, .05, .17, 1)
}

header {
    width: 100%;
    z-index: 8000;
    top: 0;
    left: 0;
    position: static;
    height: 22rem;
    padding: 0;
    display: block !important;
    justify-content: center;
}

@media only screen and (min-width:1024px) {
    header {
        top: 0;
        position: fixed;
        padding: 0 1rem;
        display: flex !important
    }
}

@media only screen and (min-width:1024px) {
    header.header_index {
        top: 0;
        position: absolute;
    }
}

header.border-bottom {
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

@media (max-width:767px) {
    header.border-bottom {
        border-bottom: none
    }
}

@media only screen and (min-width:544px) {
    header.border-bottom {
        border-bottom: 1px solid rgba(255, 255, 255, .1)
    }
}

@media only screen and (min-width:1024px) {
    header.border-bottom {
        border-bottom: transparent
    }
}

header.head_pc_no_fix__page {
    opacity: 1 !important;
    display: block;
    filter: blur(0)
}

header.header_pc {
    filter: blur(8px);
    opacity: 0
}

header.header_pc.header_pc__fadeIn {
    opacity: 1 !important;
    -webkit-transition: 2s cubic-bezier(.19, 1, .22, 1) .3s;
    transition: 2s cubic-bezier(.19, 1, .22, 1) .3s;
    filter: none
}

header.header_page {
    opacity: 1 !important;
    filter: none
}

#header {
    width: 100%;
    z-index: 777;
    margin: 0 auto 0 auto;
    padding: 2.5rem 0 2.05rem;
    opacity: 1;
    top: 0;
    transition-delay: .1s;
    pointer-events: auto;
    transition: transform .8s cubic-bezier(.43, .05, .17, 1);
    display: block;
    background: #B49C69;
}

@media only screen and (min-width:544px) {
    #header {
        padding: 5rem 0 4.2rem;
        position: relative
    }
}

@media only screen and (min-width:1024px) {
    #header {
        padding: 0 3rem;
        position: absolute;
        -webkit-transition: all .6s ease;
        transition: all .6s ease;
        display: block
    }
}

@media only screen and (min-width:1180px) {
    #header {
        margin: 0 auto;
        padding: 0;
        -webkit-transition: all .6s ease;
        transition: all .6s ease
    }
}

#header.header_home {
    display: none
}

@media (max-width:1023px) {
    #header.header_home {
        display: none !important
    }
}

@media only screen and (min-width:1024px) {
    #header.header_home {
        display: block;
        transition: opacity .4s
    }

    #header.header_home.is-hide {
        opacity: 0
    }
}

#header.border-bottom {
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

@media only screen and (min-width:544px) {
    #header.border-bottom {
        border-bottom: 1px solid rgba(255, 255, 255, .1)
    }
}

@media only screen and (min-width:1024px) {
    #header.border-bottom {
        border-bottom: transparent
    }
}

#header #headerInner {
    display: block;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    max-width: 100%;
    margin: 0 auto;
    padding: 6rem 0 2rem 0;
}

@media only screen and (min-width:1024px) {
    #header #headerInner {
        display: flex;
        max-width: 110rem
    }
}

#header.drawer_active {
    width: 100%;
    max-width: 100%;
    -webkit-transition: all .6s;
    transition: all .6s
}

#header .nav_open_btn {
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateY(-1rem);
    -webkit-transition: .6s;
    transition: .6s;
    display: none;
    z-index: 100
}

@media only screen and (min-width:1024px) {
    #header .nav_open_btn {
        display: block;
        right: 3rem
    }
}

@media only screen and (min-width:1180px) {
    #header .nav_open_btn {
        right: 0
    }
}

#header .nav_open_btn .circle {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url(../image/nav_open_btn_yellow_bg.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

#header .nav_open_btn .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    width: 1.65rem;
    height: .345rem;
    z-index: 999
}

#header .nav_open_btn .line span {
    display: inline-block;
    position: absolute;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, .7);
    width: 100%;
    -webkit-transition: all .2s;
    transition: all .2s
}

#header .nav_open_btn .line span:nth-of-type(1) {
    top: 0;
    -webkit-transition: all .2s;
    transition: all .2s
}

#header .nav_open_btn .line span:nth-of-type(2) {
    top: 100%;
    -webkit-transition: all .2s;
    transition: all .2s;
    opacity: 1
}

#header .nav_open_btn .line span:nth-of-type(3) {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transition: all .5s;
    transition: all .5s;
    opacity: 0
}

#header .nav_open_btn .line.active span:nth-of-type(1),
#header .nav_open_btn .line.active span:nth-of-type(2),
#header .nav_open_btn .line.active span:nth-of-type(3) {
    top: 23px
}

#header .nav_open_btn:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5.9rem;
    height: 5.9rem;
    border-radius: 50%;
    opacity: .6;
    background: url(../image/nav_bg_dot_btn.svg) center center no-repeat;
    background-size: 100% 100%;
    background-repeat: no-repeat
}

@media only screen and (min-width:1024px) {
    #header .nav_open_btn:before {
        opacity: .6
    }
}

#header .nav_open_btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 3.9rem;
    height: 3.9rem;
    background: url(../image/nav_open_btn_yellow_bg.png) 0 0 no-repeat;
    background-size: cover;
    border-radius: 50%;
    z-index: 0;
    opacity: 0;
    filter: blur(5px);
    -webkit-transition: all .3s;
    transition: all .3s
}

@media (min-width:768px) {
    #header .nav_open_btn:hover {
        cursor: pointer
    }

    #header .nav_open_btn:hover:after {
        opacity: 1;
        filter: blur(0px);
        transform: translate(-50%, -50%) scale(1);
        width: 6.3rem;
        height: 6.3rem;
        -webkit-transition: all .3s;
        transition: opacity .6s, transform 1s
    }

    #header .nav_open_btn:hover .circle {
        animation: .9s navcircleanime forwards
    }

    #header .nav_open_btn:hover .line span:nth-of-type(1) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .2s;
        transition: all .2s;
        opacity: 0
    }

    #header .nav_open_btn:hover .line span:nth-of-type(2) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .2s;
        transition: all .2s;
        opacity: 0
    }

    #header .nav_open_btn:hover .line span:nth-of-type(3) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .5s;
        transition: all .5s;
        opacity: 1
    }
}

#header .nav_open_btn.nav_open_btn__close {
    z-index: 9999;
    border-radius: 0;
    transform: translateY(-4.7rem);
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    -webkit-transition: .6s;
    transition: .6s;
    top: 0;
    right: 2rem
}

@media only screen and (min-width:1180px) {
    #header .nav_open_btn.nav_open_btn__close {
        right: 6.3rem
    }
}

#header .nav_open_btn.nav_open_btn__close .circle {
    -webkit-transition: .6s;
    transition: .6s;
    width: 0;
    height: 0
}

#header .nav_open_btn.nav_open_btn__close:before {
    -webkit-transition: .6s;
    transition: .6s;
    width: 0;
    height: 0
}

#header .nav_open_btn.nav_open_btn__close:after {
    -webkit-transition: .6s;
    transition: .6s;
    width: 0;
    height: 0
}

#header .nav_open_btn.nav_open_btn__close.nav_open_btn__active .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    width: 100%;
    height: 100%;
    z-index: 999;
    -webkit-transition: .6s;
    transition: .6s
}

#header .nav_open_btn.nav_open_btn__close.nav_open_btn__active .line span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #333;
    -webkit-transition: all .6s;
    transition: all .6s
}

#header .nav_open_btn.nav_open_btn__close.nav_open_btn__active .line span:nth-of-type(1) {
    position: absolute;
    width: 40px;
    height: 1px;
    transform: translate(-50%, -50%) rotate(-135deg);
    content: "";
    top: 50%;
    left: 50%;
    background: #333;
    -webkit-transition: .6s;
    transition: .6s
}

#header .nav_open_btn.nav_open_btn__close.nav_open_btn__active .line span:nth-of-type(2) {
    position: absolute;
    width: 40px;
    height: 1px;
    transform: translate(-50%, -50%) rotate(-45deg);
    content: "";
    top: 50%;
    left: 50%;
    background: #333;
    -webkit-transition: .6s;
    transition: .6s
}

#header .nav_open_btn.nav_open_btn__close.nav_open_btn__active .line span:nth-of-type(3) {
    opacity: 0
}

@media (min-width:768px) {
    #header .nav_open_btn.nav_open_btn__close:hover {
        cursor: pointer
    }

    #header .nav_open_btn.nav_open_btn__close:hover .line span:nth-of-type(1) {
        transform: translate(-50%, -50%) rotate(-135deg);
        -webkit-transition: 0s;
        transition: 0s;
        opacity: 1;
        top: 50%;
        left: 50%
    }

    #header .nav_open_btn.nav_open_btn__close:hover .line span:nth-of-type(2) {
        transform: translate(-50%, -50%) rotate(-45deg);
        -webkit-transition: 0s;
        transition: 0s;
        opacity: 1;
        top: 50%;
        left: 50%
    }
}

#header .nav_open_btn.nav_open_btn__close_active {
    z-index: 9999;
    border-radius: 0;
    transform: translateY(-4.7rem);
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    top: 0;
    -webkit-transition: .6s;
    transition: .6s;
    right: 2rem
}

@media only screen and (min-width:1180px) {
    #header .nav_open_btn.nav_open_btn__close_active {
        right: 6.3rem
    }
}

#header .nav_open_btn.nav_open_btn__close_active .circle {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: url(../image/nav_open_btn_yellow_bg.png) 0 0 no-repeat;
    background-size: 100% auto;
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

#header .nav_open_btn.nav_open_btn__close_active .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    width: 1.65rem;
    height: .345rem;
    z-index: 999
}

#header .nav_open_btn.nav_open_btn__close_active .line span {
    display: inline-block;
    position: absolute;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, .7);
    width: 100%;
    -webkit-transition: all .6s;
    transition: all .6s
}

#header .nav_open_btn.nav_open_btn__close_active .line span:nth-of-type(1) {
    top: 0;
    -webkit-transition: all .6s;
    transition: all .6s
}

#header .nav_open_btn.nav_open_btn__close_active .line span:nth-of-type(2) {
    top: 100%;
    -webkit-transition: all .6s;
    transition: all .6s;
    opacity: 1
}

#header .nav_open_btn.nav_open_btn__close_active .line span:nth-of-type(3) {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transition: all .5s;
    transition: all .5s;
    opacity: 0
}

#header .nav_open_btn.nav_open_btn__close_active .line.active span:nth-of-type(1),
#header .nav_open_btn.nav_open_btn__close_active .line.active span:nth-of-type(2),
#header .nav_open_btn.nav_open_btn__close_active .line.active span:nth-of-type(3) {
    top: 23px
}

#header .nav_open_btn.nav_open_btn__close_active:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 5.9rem;
    height: 5.9rem;
    border-radius: 50%;
    opacity: 1;
    background: url(../image/nav_bg_dot_btn.svg) center center no-repeat;
    background-size: 100% 100%;
    background-repeat: no-repeat
}

@media only screen and (min-width:1024px) {
    #header .nav_open_btn.nav_open_btn__close_active:before {
        opacity: 1
    }
}

#header .nav_open_btn.nav_open_btn__close_active:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1);
    width: 3.9rem;
    height: 3.9rem;
    background: url(../image/nav_open_btn_yellow_bg.png) 0 0 no-repeat;
    background-size: cover;
    border-radius: 50%;
    z-index: 0;
    opacity: 0;
    filter: blur(5px);
    -webkit-transition: all .6s;
    transition: all .6s
}

@media (min-width:768px) {
    #header .nav_open_btn.nav_open_btn__close_active:hover {
        cursor: pointer
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover:after {
        opacity: 0;
        filter: blur(0px);
        width: 3.9rem;
        height: 3.9rem;
        -webkit-transition: all .3s;
        transition: all .3s
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .circle {
        animation: none
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        cursor: pointer;
        width: 1.65rem;
        height: .345rem;
        z-index: 999
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line span {
        display: inline-block;
        position: absolute;
        left: 0;
        height: 1px;
        background: rgba(255, 255, 255, .7);
        width: 100%;
        -webkit-transition: all .6s;
        transition: all .6s
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line span:nth-of-type(1) {
        top: 0;
        -webkit-transition: all .6s;
        transition: all .6s
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line span:nth-of-type(2) {
        top: 100%;
        -webkit-transition: all .6s;
        transition: all .6s;
        opacity: 1
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line span:nth-of-type(3) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .5s;
        transition: all .5s;
        opacity: 0
    }

    #header .nav_open_btn.nav_open_btn__close_active:hover .line.active span:nth-of-type(1),
    #header .nav_open_btn.nav_open_btn__close_active:hover .line.active span:nth-of-type(2),
    #header .nav_open_btn.nav_open_btn__close_active:hover .line.active span:nth-of-type(3) {
        top: 23px
    }
}

header.is-fix #headerInner {
    max-width: 100%
}

.head_left {
    display: flex;
    justify-content: space-between;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:1024px) {
    .head_left {
        justify-content: flex-start
    }
}

.head_left .head_logo_information {
    white-space: nowrap;
    color: #B5B5B5;
    line-height: 1.05;
    margin: 0 1.9rem 0 0;
    position: relative;
    display: block;
    font-size: .9rem;
    padding-top: .6rem;
    letter-spacing: 1px;
}

@media only screen and (min-width:544px) {
    .head_left .head_logo_information {
        display: block;
        font-size: 1.8rem;
        color: #B5B5B5;
        padding-top: .6rem;
    }
}

@media only screen and (max-width:769px) {
    .head_left .head_logo_information {
        display: none;
        font-size: 1.2rem;
        color: rgba(255, 255, 255, .3);
        padding-top: 0
    }
}

@media only screen and (min-width:1110px) {
    .head_left .head_logo_information {
        display: block;
        font-size: 1.2rem
    }
}

.head_left .head_logo_information__left {
    display: none;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 2.4000000953674316px;
    color: #fff;
    max-width: 320px;
    white-space: break-spaces;
    margin-top: 4%;
}

@media only screen and (min-width:1024px) {
    .head_left .head_logo_information__left {
        display: inline-block
    }
}

.head_left .head_logo_information__right {
    padding: 0 0 0 1.5rem;
    display: inline-block
}

.head_left .head_logo_information__sp_tel {
    display: block;
    margin-top: .5rem
}

@media only screen and (min-width:544px) {
    .head_left .head_logo_information__sp_tel {
        margin-top: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .head_left .head_logo_information__sp_tel {
        display: none
    }
}

.head_left .head_logo__wrap {
    position: relative;
    height: auto;
    display: block;
    z-index: 10;
    width: 9.75rem;
    transform: translateX(0rem)
}

@media only screen and (min-width:544px) {
    .head_left .head_logo__wrap {
        /* width: 19.5rem; */
    }
}

@media only screen and (min-width:1024px) {
    .head_left .head_logo__wrap {
        /* width: 7.2rem; */
        transform: translateX(-.8rem)
    }
}

.head_left .head_logo__wrap a.head_logo {
    display: block;
    /* position: absolute; */
    top: 0;
    left: 0;
    /* width: 100%; */
    /* height: 100%; */
}

.head_left .head_logo__wrap a.head_logo .head_logo_svg {
    width: 100%;
    height: auto;
}

@media (max-width:1024px) {
    .head_left .head_logo__wrap a.head_logo .head_logo_svg {
        opacity: 0
    }
}

.head_left .head_logo__wrap a.head_logo__isfix {
    display: none
}

.head_left .head_logo__wrap a.head_logo__isfix .onlyLogo {
    fill: #fff
}

.head_right {
    display: none;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:1024px) {
    .head_right {
        display: flex
    }
}

.head_right ul.pc_nav_list__tate {
    display: -webkit-box;
    display: -ms-flexbox;
    margin: 0 0 0 0;
}

.head_right ul.pc_nav_list__tate li {
    display: block;
    width: 5.5rem;
    float: left
}

.head_right ul.pc_nav_list__tate li a {
    position: relative;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: rgba(255, 255, 255, 1);
    font-feature-settings: initial;
    font-family: ryo-display-plusn, serif;
    font-size: 1.5rem;
    padding: 0 .9rem;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    white-space: nowrap
}

.head_right ul.pc_nav_list__tate li a:before {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%) scale(0);
    width: .6rem;
    height: .6rem;
    background: #fff;
    border-radius: 50%;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media (min-width:768px) {
    .head_right ul.pc_nav_list__tate li a:hover {
        color: #c6a317;
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1)
    }
}

.head_right ul.pc_nav_list__tate li.active a {
    position: relative;
    color: #fff
}

.head_right ul.pc_nav_list__tate li.active a:before {
    content: "";
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%) scale(1);
    width: .6rem;
    height: .6rem;
    background: #fff;
    border-radius: 50%
}

.head_right ul.pc_nav_list__tate li.is-open a {
    color: #c6a317;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.head_right ul.pc_nav_list__yoko {
    margin: 0;
    height: 100%
}

.head_right ul.pc_nav_list__yoko li {
    position: relative;
    display: block;
    width: auto;
    float: left;
    height: 100%
}

.head_right ul.pc_nav_list__yoko li:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 10rem;
    height: 1.6rem;
    opacity: .5;
    background-image: linear-gradient(to bottom, #fff, #fff 1px, transparent 2px);
    background-size: 1px 3px;
    background-position: right top;
    background-repeat: repeat-y;
    pointer-events: none
}

/*.head_right ul.pc_nav_list__yoko li:nth-child(6):after {
    display: none
}*/

.head_right ul.pc_nav_list__yoko li:nth-child(8):after {
    display: none
}

.head_right ul.pc_nav_list__yoko li a {
    display: block;
    position: relative;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    color: #fff;
    font-feature-settings: initial;
    font-family: ryo-display-plusn, serif;
    white-space: nowrap;
    font-size: 1.4rem;
    padding: 0 1.75rem;
    height: 100%
}

@media only screen and (min-width:1160px) {
    .head_right ul.pc_nav_list__yoko li a {
        font-size: 1.5rem;
        padding: 0 2.5rem
    }
}

.head_right ul.pc_nav_list__yoko li a:before {
    display: none
}

.head_right ul.pc_nav_list__yoko li a span {
    display: inline-block;
    padding: 1.15rem 0;
    position: relative;
    height: 100%;
    z-index: 1000
}

.head_right ul.pc_nav_list__yoko li a span:after {
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    animation: none;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media (min-width:768px) {
    .head_right ul.pc_nav_list__yoko li a:hover {
        color: #fc0;
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1);
        cursor: pointer
    }
}

.head_right ul.pc_nav_list__yoko li.active a {
    position: relative;
    color: #fff
}

@media (min-width:768px) {
    .head_right ul.pc_nav_list__yoko li.active a:hover {
        color: #fc0
    }
}

.head_right ul.pc_nav_list__yoko li.active a span:after {
    transform-origin: left top;
    transform: scale(1, 1)
}

.head_right ul.pc_nav_list__yoko li.contact a:after {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    background: #B49C69;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    z-index: -1;
    transform-origin: unset;
    border-radius: 0;
    opacity: 1
}

.head_right ul.pc_nav_list__yoko li.contact a span {
    display: inline-block;
    padding: 1.15rem 0;
    position: relative;
    height: 100%
}

.head_right ul.pc_nav_list__yoko li.contact a span:after {
    display: none
}

@media (min-width:768px) {
    .head_right ul.pc_nav_list__yoko li.contact a:hover {
        color: #fff
    }

    .head_right ul.pc_nav_list__yoko li.contact a:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: #B49C69
    }
}

.head_right .nav_open_btn__wrap {
    position: relative;
    width: 6rem;
    height: 6rem
}

.pc_nav_list>li .dropdown {
    -webkit-transition: all 1.2s cubic-bezier(.16, 1, .3, 1);
    transition: all 1.2s cubic-bezier(.16, 1, .3, 1);
    -webkit-transition-property: visibility, opacity, top;
    transition-property: visibility, opacity, top;
    position: absolute;
    top: 7.7rem;
    width: auto;
    margin: 0 auto;
    overflow: hidden;
    border-radius: .5rem;
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .05);
    pointer-events: none;
    z-index: 9999;
    background: url(../image/megamenu01_bg.png) center center no-repeat;
    background-size: cover;
    padding: 3.5rem 3.5rem 4rem;
    opacity: 0;
    visibility: visible;
    display: block;
    width: auto
}

.pc_nav_list>li .dropdown.dropdown__food {
    top: 10rem
}

.pc_nav_list>li .dropdown .dropdown__inner {
    border-radius: .5rem
}

.pc_nav_list>li .dropdown__wedding {
    background: 0 0;
    transform: translateX(0rem);
    right: 12.5rem;
    top: 3rem;
    width: auto;
    padding: 2rem 0 0
}

.pc_nav_list>li .dropdown__wedding .dropdown__inner {
    background: url(../image/megamenu02_bg.png) center center no-repeat;
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding: 4rem 5.5rem 6rem 4rem;
    max-width: 100%;
    background-size: cover
}

.pc_nav_list>li .dropdown__wedding .dropdown__inner ul.dropdown_about__list__first {
    margin: 0 11.5rem 0 0
}

.pc_nav_list>li .dropdown__wedding .dropdown__inner ul.dropdown_about__list__second {
    margin: 0 7.3rem 4.5rem 0
}

.pc_nav_list>li .dropdown__wedding .dropdown__inner ul.dropdown_about__list__third {
    margin: 0 10.3rem 0 0
}

.pc_nav_list>li .dropdown__wedding .dropdown__inner ul.dropdown_about__list__left {
    margin: 0 7.3rem 0 0
}

.pc_nav_list>li ul.dropdown_about__list li {
    width: auto !important;
    margin: 0 0 1rem;
    float: none !important;
    display: block
}

.pc_nav_list>li ul.dropdown_about__list li:last-child {
    margin: 0 !important
}

.pc_nav_list>li ul.dropdown_about__list li.head a {
    color: #fff !important;
    -ms-writing-mode: lr-tb !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 600;
    padding: 0 !important;
    line-height: 1
}

.pc_nav_list>li ul.dropdown_about__list li a {
    color: rgba(255, 255, 255, .3) !important;
    -ms-writing-mode: lr-tb !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-size: 1.3rem !important;
    padding: 0 !important;
    line-height: 1;
    display: inline-block !important;
    letter-spacing: 0
}

.pc_nav_list>li ul.dropdown_about__list li a:before {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.pc_nav_list>li ul.dropdown_about__list li a:after {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    .pc_nav_list>li ul.dropdown_about__list li a:hover {
        color: #fff !important;
        transition: .3s
    }

    .pc_nav_list>li ul.dropdown_about__list li a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.pc_nav_list>li ul.dropdown_about__list__bottom_margin {
    margin: 0 0 4rem
}

.pc_nav_list>li.is-open a {
    color: #c6a317 !important;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.pc_nav_list>li.is-open a:after {
    opacity: 1 !important;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.pc_nav_list>li.is-open .dropdown {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
    -webkit-transition: all 1.2s cubic-bezier(.16, 1, .3, 1);
    transition: all 1.2s cubic-bezier(.16, 1, .3, 1)
}

.header_pc {
    display: none
}

@media only screen and (min-width:1024px) {
    .header_pc {
        display: block
    }
}

.header_pc.header_page {
    display: block
}

@media only screen and (min-width:1024px) {
    .header_pc.header_page {
        display: block
    }
}

.header_sp {
    display: block;
    position: fixed !important;
    bottom: -1px !important;
    left: 0;
    width: 100%;
    height: auto;
    top: auto;
    z-index: 8888;
    box-shadow: .5rem 0 1rem rgba(12, 2, 0, .2)
}

@media only screen and (min-width:1024px) {
    .header_sp {
        display: none
    }
}

.header_sp:before {
    content: "";
    -webkit-transition: all .8s cubic-bezier(.16, 1, .3, 1);
    transition: all .8s cubic-bezier(.16, 1, .3, 1);
    transition-property: visibility, opacity;
    position: fixed;
    z-index: 8888;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .3);
    pointer-events: none;
    opacity: 0;
    z-index: 1000;
    transition-delay: .3s
}

.header_sp.is-open {
    position: relative
}

.header_sp.is-open #header {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0)
}

.header_sp.is-open #header .nav_open_btn {
    border-radius: 0 .5rem 0 0
}

.header_sp.is-open #headerbottom {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0)
}

.header_sp.is-open #headerbottom.is-fix {
    position: fixed;
    top: 0;
    opacity: 1 !important
}

.header_sp.is-open #headerbottom.active {
    width: 100%
}

.header_sp.is-open #headerbottom .nav_open_btn {
    border-radius: 0 .5rem 0 0
}

.header_sp.is-open:before {
    opacity: 1;
    transition-delay: .3s;
    -webkit-transition: all .8s cubic-bezier(.16, 1, .3, 1);
    transition: all .8s cubic-bezier(.16, 1, .3, 1)
}

.header_sp nav ul.header_nav_list__sp {
    display: flex;
    background: #0d0d0b
}

.header_sp nav ul.header_nav_list__sp li {
    width: calc(100% / 3);
    position: relative;
    overflow: hidden;
    height: 6.3rem
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li {
        height: auto
    }
}

.header_sp nav ul.header_nav_list__sp li:after {
    content: "";
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    opacity: .2;
    width: .5px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .5px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li:after {
        width: 1px;
        background-size: 1px 4px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.header_sp nav ul.header_nav_list__sp li:first-child:after {
    display: none
}

.header_sp nav ul.header_nav_list__sp li:last-child:after {
    display: none
}

.header_sp nav ul.header_nav_list__sp li a {
    color: #fff;
    text-align: center;
    display: block;
    background: #171515;
    padding: 1.5rem 0;
    font-size: .9rem
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a {
        font-size: 1.8rem;
        padding: 3rem 0
    }
}

.header_sp nav ul.header_nav_list__sp li a span {
    opacity: 1;
    margin-top: 4px;
    display: block;
}

.header_sp nav ul.header_nav_list__sp li a.active span {
    opacity: 1
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 .15rem;
    height: 1.35rem
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a .header_nav__icon {
        margin: 0 0 .225rem;
        height: 2.5rem
    }
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon img {
    display: block;
    margin: 0 auto
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_home {
    width: 2rem;
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_home {
        width: 2.7rem
    }
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_wedding {
    width: 2rem;
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_wedding {
        width: 2.5rem
    }
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_facility {
    width: 2rem;
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_facility {
        width: 2.6rem
    }
}

.header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_contact {
    width: 1.35rem
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li a .header_nav__icon .icon_contact {
        width: 2.7rem
    }
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn {
    width: 20%;
    display: block;
    border-radius: 0;
    position: fixed;
    background: #b49c69;
    top: auto;
    bottom: 0;
    right: 0;
    height: 6.3rem;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(0)
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li .nav_open_btn {
        height: 11.964rem;
        border-radius: 0
    }
}

@media only screen and (min-width:1024px) {
    .header_sp nav ul.header_nav_list__sp li .nav_open_btn {
        border-radius: 0 .5rem .5rem 0
    }
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .circle {
    display: none
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    height: .4rem;
    z-index: 999;
    width: 2.5rem
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li .nav_open_btn .line {
        width: 5rem;
        height: .6rem
    }
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line span {
    display: inline-block;
    position: absolute;
    left: 0;
    height: 1px;
    background: #fff;
    width: 100%;
    transition: all .4s ease
}

@media only screen and (min-width:544px) {
    .header_sp nav ul.header_nav_list__sp li .nav_open_btn .line span {
        height: .2rem
    }
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line span:nth-of-type(1) {
    top: 0;
    transition: all .4s ease
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line span:nth-of-type(2) {
    top: 100%;
    transition: all .4s ease
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line.active span:nth-of-type(1),
.header_sp nav ul.header_nav_list__sp li .nav_open_btn .line.active span:nth-of-type(3) {
    top: 23px;
    opacity: 0
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn:before {
    display: none
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn:after {
    display: none
}

@media (min-width:768px) {
    .header_sp nav ul.header_nav_list__sp li .nav_open_btn:hover {
        cursor: pointer
    }

    .header_sp nav ul.header_nav_list__sp li .nav_open_btn:hover .line span:nth-of-type(1) {
        top: 0;
        -webkit-transition: all .6s;
        transition: all .6s;
        opacity: 1
    }

    .header_sp nav ul.header_nav_list__sp li .nav_open_btn:hover .line span:nth-of-type(2) {
        top: 100%;
        -webkit-transition: all .6s;
        transition: all .6s;
        opacity: 1
    }
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn.active {
    background: #fff;
}

.header_sp nav ul.header_nav_list__sp li .nav_open_btn.active .line span {
    background: #b49c69;
}

#g-nav {
    position: fixed;
    z-index: 8888;
    top: 0;
    right: -120%;
    width: calc(100% - 2.5rem);
    height: 100vh;
    -webkit-backdrop-filter: blur(100px);
    backdrop-filter: blur(100px);
    background-color: rgb(180 156 105);
    -webkit-transition: all .8s cubic-bezier(.16, 1, .3, 1);
    transition: all .8s cubic-bezier(.16, 1, .3, 1);
    bottom: 0;
    left: auto;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    -webkit-transition-property: right;
    transition-property: right
}

@media only screen and (min-width:544px) {
    #g-nav {
        width: calc(100% - 5rem)
    }
}

#g-nav dl {
    width: 100%;
    border-top: .5px solid rgba(255, 255, 255, .1);
    margin: 0 0 2rem;
    line-height: 1.3;
    position: relative
}

@media only screen and (min-width:544px) {
    #g-nav dl {
        margin: 0 0 4rem
    }
}

#g-nav dl.has-accordion {
    border-top: .9px solid rgba(255, 255, 255, .1)
}

#g-nav dl:not(.has-accordion) {
    padding: 0;
    margin-bottom: 0
}

#g-nav dl:not(.has-accordion) dt {
    padding: 0
}

#g-nav dl:not(.has-accordion) dt:after {
    height: calc(100% - 2rem)
}

#g-nav dl:not(.has-accordion) dt .arrow {
    height: calc(100% - 2rem);
    pointer-events: none
}

#g-nav dl:not(.has-accordion) dt a {
    display: inline-block;
    width: 100%;
    border-top: .9px solid rgba(255, 255, 255, .1);
    padding: 1.5rem 0 2rem
}

@media only screen and (min-width:544px) {
    #g-nav dl:not(.has-accordion) dt a {
        padding: 3rem 0 4rem
    }
}

#g-nav dt {
    position: relative;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    color: #fff;
    padding: 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    #g-nav dt {
        font-size: 3.2rem;
        padding: 3rem 0 0
    }
}

#g-nav dt small {
    display: block;
    font-size: .8rem;
    font-family: philosopher, sans-serif;
    color: rgba(255, 255, 255, .8);
    letter-spacing: .08rem
}

@media only screen and (min-width:544px) {
    #g-nav dt small {
        font-size: 1.6rem
    }
}

#g-nav dt:hover {
    cursor: pointer
}

#g-nav dt:after {
    content: "";
    position: absolute;
    right: 4.5rem;
    top: 1px;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-color: transparent;
    background-size: .9px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    #g-nav dt:after {
        right: 9rem;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

#g-nav dd ul.sp_sub_foot_link {
    margin: .3rem 0;
    background: rgba(0, 0, 0, .15);
    padding: 1.5rem;
    border-radius: .3rem
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link {
        margin: .4rem 0;
        padding: 3rem;
        border-radius: .6rem
    }
}

#g-nav dd ul.sp_sub_foot_link.sp_sub_foot_link__first {
    margin: 2rem 0 .3rem
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link.sp_sub_foot_link__first {
        margin: 4rem 0 .4rem
    }
}

#g-nav dd ul.sp_sub_foot_link li {
    margin: 1.5rem 0;
    line-height: 1
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li {
        margin: 3rem 0
    }
}

#g-nav dd ul.sp_sub_foot_link li a {
    color: rgba(255, 255, 255, .3);
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li a {
        font-size: 2.2rem
    }
}

#g-nav dd ul.sp_sub_foot_link li:last-child {
    margin: 1.5rem 0 1rem
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li:last-child {
        margin: 3rem 0 2rem
    }
}

#g-nav dd ul.sp_sub_foot_link li.head {
    margin: 0 0 1rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    line-height: 1
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li.head {
        padding: 0 0 3rem;
        margin: 0 0 2rem
    }
}

#g-nav dd ul.sp_sub_foot_link li.head a {
    color: #fff;
    font-size: 1.3rem;
    display: inline-block;
    border-bottom: 1px solid #fff;
    line-height: 1;
    font-family: ryo-display-plusn, serif
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li.head a {
        font-size: 2.6rem
    }
}

#g-nav dd ul.sp_sub_foot_link li.head_only {
    margin: 0;
    padding: 0;
    border-bottom: transparent;
    line-height: 1
}

#g-nav dd ul.sp_sub_foot_link li.head_only a {
    color: #fff;
    font-size: 1.3rem;
    display: inline-block;
    border-bottom: 1px solid #fff;
    line-height: 1;
    font-family: ryo-display-plusn, serif
}

@media only screen and (min-width:544px) {
    #g-nav dd ul.sp_sub_foot_link li.head_only a {
        font-size: 2.6rem
    }
}

#g-nav .arrow {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    #g-nav .arrow {
        width: 9rem
    }
}

#g-nav .arrow svg {
    display: block;
    width: .75rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    opacity: .2
}

@media only screen and (min-width:544px) {
    #g-nav .arrow svg {
        width: 1.8rem
    }
}

#g-nav .arrow svg use {
    fill: #fff
}

#g-nav .arrow:before {
    display: none !important
}

#g-nav .arrow:after {
    display: none !important
}

#g-nav .cross {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    #g-nav .cross {
        width: 9rem
    }
}

#g-nav .cross:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .6);
    border-radius: 50%;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    width: 1.4rem;
    height: 1.4rem
}

@media only screen and (min-width:544px) {
    #g-nav .cross:after {
        width: 2.8rem;
        height: 2.8rem
    }
}

#g-nav span {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    #g-nav span {
        width: 9rem
    }
}

#g-nav span:before,
#g-nav span:after {
    content: "";
    display: block;
    width: .6rem;
    height: 1px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    z-index: 10;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media only screen and (min-width:544px) {

    #g-nav span:before,
    #g-nav span:after {
        width: 1rem;
        height: .2rem
    }
}

#g-nav span:after {
    background: #000;
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#g-nav .active:after {
    background: #454140;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#g-nav .active span:before {
    background: #fff;
    transform: translate(-50%, -50%) rotate(0);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#g-nav .active span:after {
    background: #fff;
    transform: translate(-50%, -50%) rotate(0);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#g-nav.panelactive {
    right: 0;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    overflow: scroll;
    height: 100vh
}

#g-nav #g-nav-list {
    width: 100%;
    padding: 3rem
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list {
        padding: 6rem
    }
}

#g-nav #g-nav-list ul.g-nav-sns-list {
    display: flex;
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-sns-list {
        margin: 0 3rem 3rem 0
    }
}

#g-nav #g-nav-list ul.g-nav-sns-list li {
    margin: 0 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-sns-list li {
        margin: 0 3rem 0 0
    }
}

#g-nav #g-nav-list ul.g-nav-sns-list li a {
    display: inline-block;
    position: relative;
    margin: 0 0 .5rem;
    color: #fff
}

#g-nav #g-nav-list ul.g-nav-sns-list li a.snas_link {
    margin: 0 0 .75rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-sns-list li a.snas_link {
        font-size: 2.2rem;
        margin: 0 0 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    #g-nav #g-nav-list ul.g-nav-sns-list li a.snas_link {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

#g-nav #g-nav-list ul.g-nav-sns-list li a.snas_link__last {
    margin: 0
}

#g-nav #g-nav-list ul.g-nav-sns-list li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#g-nav #g-nav-list ul.g-nav-sns-list li a:after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    #g-nav #g-nav-list ul.g-nav-sns-list li a:hover {
        color: #fff;
        transition: .3s
    }

    #g-nav #g-nav-list ul.g-nav-sns-list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    #g-nav #g-nav-list ul.g-nav-sns-list li a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#g-nav #g-nav-list ul.g-nav-info-list {
    display: flex;
    justify-content: space-between;
    margin: 0 0 4rem;
    width: 100%
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list {
        margin: 0 0 8rem
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li {
    width: 49.2%
}

#g-nav #g-nav-list ul.g-nav-info-list li a {
    width: 100%;
    display: block;
    background: rgba(255, 255, 255, .1);
    border-radius: .5rem;
    text-align: center;
    position: static;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    height: 6rem
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a {
        height: 12rem;
        border-radius: 1rem
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li a .g-nav-info-list__inner {
    transform: translateY(-2px)
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a .g-nav-info-list__inner {
        transform: translateY(0)
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li a small {
    opacity: .8;
    color: #fff;
    font-size: 1rem;
    display: block;
    width: 100%;
    line-height: 1;
    margin: 0 0 .65rem
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a small {
        font-size: 1.6rem
    }
}

@media only screen and (min-width:768px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a small {
        font-size: 2rem;
        margin: 0 0 1.3rem
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li a span.en {
    font-family: philosopher, sans-serif;
    color: #fff;
    font-size: 1.7rem;
    white-space: nowrap;
    display: block;
    position: static;
    width: auto;
    height: auto;
    line-height: 1;
    width: 100%
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a span.en {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:768px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a span.en {
        font-size: 3.4rem
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li a span.en:before,
#g-nav #g-nav-list ul.g-nav-info-list li a span.en:after {
    display: none
}

#g-nav #g-nav-list ul.g-nav-info-list li a span.text {
    font-family: ryo-display-plusn, serif;
    color: #fff;
    font-size: 1.4rem;
    white-space: nowrap;
    display: block;
    position: static;
    width: auto;
    height: auto;
    line-height: 1;
    width: 100%
}

@media only screen and (min-width:544px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a span.text {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:768px) {
    #g-nav #g-nav-list ul.g-nav-info-list li a span.text {
        font-size: 2.8rem
    }
}

#g-nav #g-nav-list ul.g-nav-info-list li a span.text:before,
#g-nav #g-nav-list ul.g-nav-info-list li a span.text:after {
    display: none
}

.header_nav_list__sp .nav_open_btn.active {
    width: 5rem !important;
    height: 5rem !important;
    position: fixed !important;
    right: 1.25rem !important;
    bottom: 1.25rem !important;
    border-radius: 50% !important;
    z-index: 9999;
    margin: 0 !important;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
}

@media only screen and (min-width:544px) {
    .header_nav_list__sp .nav_open_btn.active {
        width: 10rem !important;
        height: 10rem !important;
        right: 2.5rem !important;
        bottom: 2.5rem !important
    }
}

.header_nav_list__sp .nav_open_btn.active .line {
    width: 1.35rem !important;
    height: 1px !important
}

@media only screen and (min-width:544px) {
    .header_nav_list__sp .nav_open_btn.active .line {
        width: 2.7rem !important;
        height: 2px !important
    }
}

.header_nav_list__sp .nav_open_btn.active .line span {
    display: inline-block;
    position: absolute;
    left: 0;
    height: 1px;
    background: rgb(180 156 105);
    width: 100%;
    transition: all .4s ease
}

@media only screen and (min-width:544px) {
    .header_nav_list__sp .nav_open_btn.active .line span {
        height: 2px
    }
}

.header_nav_list__sp .nav_open_btn.active .line span:nth-of-type(1) {
    top: .1rem !important;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transform: rotate(45deg);
    opacity: 1 !important
}

.header_nav_list__sp .nav_open_btn.active .line span:nth-of-type(2) {
    top: .1rem !important;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transform: rotate(-45deg);
    opacity: 1 !important
}

@media (min-width:768px) {
    .header_nav_list__sp .nav_open_btn.active:hover {
        cursor: pointer
    }

    .header_nav_list__sp .nav_open_btn.active:hover .line span:nth-of-type(1) {
        top: .1rem !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transform: rotate(45deg) !important;
        opacity: 1 !important
    }

    .header_nav_list__sp .nav_open_btn.active:hover .line span:nth-of-type(2) {
        top: .1rem !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transform: rotate(-45deg) !important;
        opacity: 1 !important
    }
}

#g-nav-bottom {
    background: #b49c69;
    padding: 4.5rem 3rem 15rem
}

@media only screen and (min-width:544px) {
    #g-nav-bottom {
        padding: 9rem 6rem
    }
}

#g-nav-bottom table.nav_info_table {
    width: 100%
}

#g-nav-bottom table.nav_info_table tr th {
    text-align: left;
    font-size: 1rem;
    color: rgba(255, 255, 255, .8);
    padding: 0 0 .7rem;
    vertical-align: top;
    width: 100%;
    display: block;
    line-height: 1
}

@media only screen and (min-width:544px) {
    #g-nav-bottom table.nav_info_table tr th {
        padding: 0 0 1.5rem;
        font-size: 2rem;
        font-weight: 400
    }
}

#g-nav-bottom table.nav_info_table tr td {
    vertical-align: top;
    color: #fff;
    text-align: left;
    display: block;
    width: 100%;
    padding: 0 0 3rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    #g-nav-bottom table.nav_info_table tr td {
        padding: 0 0 6rem;
        font-size: 2.2rem
    }
}

#g-nav-bottom table.nav_info_table tr td.address span {
    position: relative;
    padding: 0 0 .2rem
}

#g-nav-bottom table.nav_info_table tr td.address span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#g-nav-bottom table.nav_info_table tr td.address span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    #g-nav-bottom table.nav_info_table tr td.address span:hover {
        color: #fff;
        transition: .3s
    }

    #g-nav-bottom table.nav_info_table tr td.address span:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    #g-nav-bottom table.nav_info_table tr td.address span:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#g-nav-bottom table.nav_info_table tr td a {
    display: inline-block;
    position: relative;
    margin: 0 0 .5rem
}

#g-nav-bottom table.nav_info_table tr td a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:1024px) {
    #g-nav-bottom table.nav_info_table tr td a:before {
        bottom: -1rem
    }
}

#g-nav-bottom table.nav_info_table tr td a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:1024px) {
    #g-nav-bottom table.nav_info_table tr td a:after {
        bottom: -1rem
    }
}

@media (min-width:768px) {
    #g-nav-bottom table.nav_info_table tr td a:hover {
        color: #fff;
        transition: .3s
    }

    #g-nav-bottom table.nav_info_table tr td a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    #g-nav-bottom table.nav_info_table tr td a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#g-nav-bottom ul.nav_bottom_link_list {
    margin: 0
}

@media only screen and (min-width:1024px) {
    #g-nav-bottom ul.nav_bottom_link_list {
        margin: 4rem 0 0
    }
}

#g-nav-bottom ul.nav_bottom_link_list li {
    margin: 0;
    width: 100%
}

#g-nav-bottom ul.nav_bottom_link_list li a {
    color: rgba(255, 255, 255, .8);
    font-size: 1.1rem;
    position: relative;
    transition: .3s;
    padding: 0 0 .3rem
}

@media only screen and (min-width:544px) {
    #g-nav-bottom ul.nav_bottom_link_list li a {
        font-size: 2.2rem
    }
}

#g-nav-bottom ul.nav_bottom_link_list li a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: .3s
}

#g-nav-bottom ul.nav_bottom_link_list li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    #g-nav-bottom ul.nav_bottom_link_list li a:hover {
        color: #fff;
        transition: transform .3s
    }

    #g-nav-bottom ul.nav_bottom_link_list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    #g-nav-bottom ul.nav_bottom_link_list li a:hover:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.head_pc_no_fix__page #header .head_left .head_logo__wrap a.head_logo {
    display: none
}

.head_pc_no_fix__page {
    width: 100%;
    margin: 0 auto;
    padding-right: 1.5rem;
    padding-left: 1.5rem
}

@media only screen and (min-width:544px) {
    .head_pc_no_fix__page {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1160px) {
    .head_pc_no_fix__page {
        padding-right: 1rem;
        padding-left: 1rem
    }
}

.head_pc_no_fix__page #header {
    align-items: flex-start;
    transition: .6s
}

.head_pc_no_fix__page #header .head_left {
    align-items: flex-start
}

.head_pc_no_fix__page #header .head_left .head_logo__wrap {
    width: 9.75rem
}

@media only screen and (min-width:544px) {
    .head_pc_no_fix__page #header .head_left .head_logo__wrap {
        width: 19.5rem
    }
}

@media only screen and (min-width:1024px) {
    .head_pc_no_fix__page #header .head_left .head_logo__wrap {
        width: 11.4rem
    }
}

.head_pc_no_fix__page #header .head_left .head_logo__wrap a.head_logo__isfix_white {
    display: block;
    transform: translateY(0)
}

@media only screen and (min-width:1024px) {
    .head_pc_no_fix__page #header .head_left .head_logo__wrap a.head_logo__isfix_white {
        transform: translateY(-1rem)
    }
}

.head_pc_no_fix__page #header .head_left .head_logo_information {
    margin: 0;
    text-align: right
}

@media only screen and (min-width:1024px) {
    .head_pc_no_fix__page #header .head_left .head_logo_information {
        margin: 0 0 0 2.5rem;
        text-align: left
    }
}

#header .head_right ul.pc_nav_list li.active ul li a:before {
    display: none
}

#headerbottom {
    box-shadow: transparent;
    display: block;
    margin: 0 auto 0 auto;
    width: 0;
    max-width: 0;
    z-index: 9999;
    border-radius: 0;
    padding: 2.5rem 0 2.05rem;
    transition: .4s cubic-bezier(.19, 1, .22, 1);
    opacity: 0;
    pointer-events: none;
    position: absolute;
    z-index: 9999;
    left: 50%;
    transform: translateX(-50%);
    position: fixed;
    top: 0
}

#headerbottom.is-fix {
    opacity: 1;
    width: 100%;
    pointer-events: all
}

@media only screen and (min-width:544px) {
    #headerbottom {
        padding: 5rem 0 4.5rem;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    #headerbottom {
        margin: 0 auto 0 auto;
        width: calc(100% - 2rem);
        padding: 0;
        box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15);
        display: block;
        width: 96%;
        max-width: 96%
    }
}

@media screen and (min-width:1160px) {
    #headerbottom {
        width: 98%;
        max-width: 100%
    }
}

#headerbottom:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    z-index: 10;
    background-color: transparent;
    transition: .6s
}

@media only screen and (min-width:1024px) {
    #headerbottom:after {
        background-color: rgba(38, 34, 33, .9);
        -webkit-backdrop-filter: blur(3px);
        backdrop-filter: blur(3px)
    }
}

#headerbottom.has_drop01 {
    padding: 0 0 17.5rem;
    transition: .4s cubic-bezier(.19, 1, .22, 1) !important
}

#headerbottom.has_drop01:after {
    background-color: rgba(38, 34, 33, .9)
}

#headerbottom.has_drop02 {
    padding: 0 0 32.7rem;
    transition: .4s cubic-bezier(.19, 1, .22, 1) !important
}

#headerbottom.has_drop02:after {
    background-color: rgba(38, 34, 33, .9)
}

#headerbottom.has_drop03 {
    padding: 0 0 27rem;
    transition: .4s cubic-bezier(.19, 1, .22, 1) !important
}

#headerbottom.has_drop03:after {
    background-color: rgba(38, 34, 33, .9)
}

#headerbottom .head_logo_information {
    display: none
}

@media only screen and (min-width:1024px) {
    #headerbottom .head_logo_information {
        display: none
    }
}

#headerbottom .pc_nav_list>li ul.dropdown_about__list li {
    margin: 0 0 1rem
}

#headerbottom .pc_nav_list>li>a {
    position: relative
}

#headerbottom .pc_nav_list>li>a:after {
    content: "";
    position: absolute;
    background: rgba(0, 0, 0, .15);
    width: calc(100% - 1.5rem);
    height: calc(100% - 1.2rem);
    border-radius: .5rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    z-index: 0;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media (min-width:768px) {
    #headerbottom .pc_nav_list>li>a:hover:after {
        opacity: 1;
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1)
    }
}

#headerbottom .pc_nav_list>li .dropdown {
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    top: 0;
    padding: 4.9rem 0 0;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    position: fixed;
    left: 0;
    z-index: -1
}

#headerbottom .pc_nav_list>li .dropdown .dropdown__wrap {
    width: 100%;
    height: 100%;
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 4rem 0 10rem;
    z-index: 9999;
    position: relative;
    display: block
}

#headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list {
    position: relative;
    max-width: 10rem
}

#headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list li:after {
    display: none
}

#headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list li a:before {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list li a:after {
    position: absolute;
    bottom: -.5rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    #headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list li a:hover {
        color: #fff !important;
        transition: .3s
    }

    #headerbottom .pc_nav_list>li .dropdown ul.dropdown_about__list li a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#headerbottom .pc_nav_list>li .dropdown__wedding {
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    top: 0;
    padding: 4.9rem 0 0;
    width: 100%;
    right: auto;
    left: 0;
    margin: 0 auto;
    max-width: none;
    position: fixed;
    z-index: -1
}

#headerbottom .pc_nav_list>li .dropdown__wedding .dropdown__wrap {
    width: 100%;
    height: 100%;
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 4rem 0 5rem;
    z-index: 9999;
    position: relative
}

#headerbottom .pc_nav_list>li .dropdown__wedding .dropdown__inner {
    background-image: none;
    width: auto;
    display: flex;
    justify-content: center;
    transform: translateX(-47%);
    position: relative;
    padding: 0
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list {
    transform: translateX(0%);
    position: relative;
    max-width: none
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list__first {
    margin: 0 11.3rem 0 0
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list__second {
    margin: 0 7.5rem 3.5rem 0
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list__third {
    margin: 0 10.6rem 0 0
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list__forth {
    margin: 0
}

#headerbottom .pc_nav_list>li .dropdown__wedding ul.dropdown_about__list li:after {
    display: none
}

#headerbottom .dropdown {
    width: 100% !important;
    background-image: none;
    transform: translateX(0);
    background: 0 0
}

#headerbottom .nav_open_btn {
    border-radius: 0 .5rem .5rem 0
}

#headerbottom #headerInner {
    display: block;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    position: relative;
    z-index: 100
}

@media only screen and (min-width:1024px) {
    #headerbottom #headerInner {
        display: flex
    }
}

#headerbottom #headerInner .head_left {
    margin-left: 0;
    transition: .6s
}

@media only screen and (min-width:1024px) {
    #headerbottom #headerInner .head_left {
        margin-left: 1rem
    }
}

@media screen and (min-width:1160px) {
    #headerbottom #headerInner .head_left {
        margin-left: 2rem
    }
}

#headerbottom #headerInner .head_left .head_logo__wrap {
    position: relative;
    height: auto;
    display: block;
    z-index: 1000;
    width: 9.75rem
}

@media only screen and (min-width:544px) {
    #headerbottom #headerInner .head_left .head_logo__wrap {
        width: 19.5rem
    }
}

@media only screen and (min-width:1024px) {
    #headerbottom #headerInner .head_left .head_logo__wrap {
        width: 9.9rem
    }
}

#headerbottom #headerInner .head_left .head_logo__wrap a.head_logo__isfix_white {
    display: block;
    transform: translateY(0rem);
    padding: 0
}

@media only screen and (min-width:1024px) {
    #headerbottom #headerInner .head_left .head_logo__wrap a.head_logo__isfix_white {
        padding: .9rem 0 .7rem
    }
}

#headerbottom #headerInner .head_left .head_logo_information {
    margin-left: 0
}

@media only screen and (min-width:1024px) {
    #headerbottom #headerInner .head_left .head_logo_information {
        margin-left: 2rem
    }
}

#headerbottom #headerInner .head_right ul.pc_nav_list__yoko {
    transition: .6s
}

#headerbottom #headerInner .head_right ul.pc_nav_list__yoko li.contact a {
    background: #8e7823;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media (min-width:768px) {
    #headerbottom #headerInner .head_right ul.pc_nav_list__yoko li.contact a:hover {
        color: #fff;
        background: #B49C69
    }

    #headerbottom #headerInner .head_right ul.pc_nav_list__yoko li.contact a:hover:after {
        display: none
    }
}

#headerbottom #headerInner .head_right .nav_open_btn__fix {
    width: 8rem;
    height: auto;
    border-radius: 0;
    position: relative;
    background: #B49C69;
    transform: translateY(0rem);
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media screen and (min-width:1160px) {
    #headerbottom #headerInner .head_right .nav_open_btn__fix {
        width: 10rem
    }
}

#headerbottom #headerInner .head_right .nav_open_btn__fix .line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    cursor: pointer;
    width: 2.2rem;
    height: .4rem;
    z-index: 999
}

#headerbottom #headerInner .head_right .nav_open_btn__fix .line span {
    display: inline-block;
    position: absolute;
    left: 0;
    height: 1px;
    background: rgba(255, 255, 255, .6);
    width: 100%;
    transition: all .4s ease
}

#headerbottom #headerInner .head_right .nav_open_btn__fix .line span:nth-of-type(1) {
    top: 0;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

#headerbottom #headerInner .head_right .nav_open_btn__fix .line span:nth-of-type(2) {
    top: 100%;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

#headerbottom #headerInner .head_right .nav_open_btn__fix .line.active span:nth-of-type(1),
#headerbottom #headerInner .head_right .nav_open_btn__fix .line.active span:nth-of-type(3) {
    top: 23px
}

#headerbottom #headerInner .head_right .nav_open_btn__fix:before {
    display: none
}

#headerbottom #headerInner .head_right .nav_open_btn__fix:after {
    display: none
}

@media (min-width:768px) {
    #headerbottom #headerInner .head_right .nav_open_btn__fix:hover {
        cursor: pointer
    }

    #headerbottom #headerInner .head_right .nav_open_btn__fix:hover .line span:nth-of-type(1) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .6s cubic-bezier(.43, .05, .17, 1);
        transition: all .6s cubic-bezier(.43, .05, .17, 1);
        opacity: 1 !important
    }

    #headerbottom #headerInner .head_right .nav_open_btn__fix:hover .line span:nth-of-type(2) {
        top: 50%;
        transform: translateY(-50%);
        -webkit-transition: all .6s cubic-bezier(.43, .05, .17, 1);
        transition: all .6s cubic-bezier(.43, .05, .17, 1);
        opacity: 0 !important
    }
}

header.is-fix {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
    z-index: 9999;
    height: auto;
    transform: translateY(0px)
}

@media only screen and (min-width:1024px) {
    header.is-fix {
        height: 5rem
    }
}

@media only screen and (min-width:1200px) {
    header.is-fix {
        transform: translateY(-1px)
    }
}

header.is-fix #header {
    -webkit-transition: .6s ease;
    transition: .6s ease;
    height: auto;
    opacity: 1;
    pointer-events: auto;
    max-width: 100%;
    width: 100%;
    transition-delay: 0s
}

@media only screen and (min-width:1024px) {
    header.is-fix #header {
        height: 0;
        opacity: 0;
        pointer-events: none;
        max-width: 112.5rem
    }
}

header.is-fix #headerbottom {
    transition: .6s ease;
    opacity: 0;
    pointer-events: none;
    width: 100%;
    max-width: 100%
}

@media only screen and (min-width:1024px) {
    header.is-fix #headerbottom {
        opacity: 1;
        pointer-events: auto
    }
}

header.is-open #header {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0)
}

header.is-open #header .nav_open_btn {
    border-radius: 0 .5rem 0 0
}

header.is-open #headerbottom {
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, 0)
}

header.is-open #headerbottom #headerInner .head_right .nav_open_btn__fix {
    border-radius: 0 .5rem 0 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

#headerbottom .pc_nav_list>li.is_has-dropdown_01>.dropdown__wedding ul.dropdown_about__list {
    opacity: 0;
    height: 0;
    margin-top: 0;
    margin-bottom: 0
}

#headerbottom .pc_nav_list>li.is_has-dropdown_01.is-open>.dropdown__wedding ul.dropdown_about__list {
    opacity: 0;
    pointer-events: none;
    height: 0
}

#headerbottom .pc_nav_list>li.is_has-dropdown_01.is-open>.dropdown__wedding ul.dropdown_about__list.dropdown_about__visible {
    height: auto;
    opacity: 1;
    pointer-events: auto
}

#headerbottom .pc_nav_list>li.is_has-dropdown_02>.dropdown__wedding ul.dropdown_about__list.dropdown_about__visible {
    display: none
}

#headerbottom .pc_nav_list>li.is_has-dropdown_02>.dropdown__wedding ul.dropdown_about__list.dropdown_facility__visible {
    display: none
}

#headerbottom .pc_nav_list>li.is_has-dropdown_03>.dropdown__wedding ul.dropdown_about__list {
    opacity: 0;
    height: 0;
    margin-top: 0;
    margin-bottom: 0
}

#headerbottom .pc_nav_list>li.is_has-dropdown_03.is-open>.dropdown__wedding ul.dropdown_about__list {
    opacity: 0;
    pointer-events: none;
    height: 0
}

#headerbottom .pc_nav_list>li.is_has-dropdown_03.is-open>.dropdown__wedding ul.dropdown_about__list.dropdown_facility__visible {
    height: auto;
    opacity: 1;
    pointer-events: auto
}

header.drawer_open {
    transform: none
}

header.drawer_open #header {
    pointer-events: none
}

header.drawer_open .nav_open_btn {
    opacity: 0
}

header.drawer_open .nav_open_btn.nav_open_btn__close {
    pointer-events: auto;
    opacity: 1
}

header.drawer_open .head_right ul.pc_nav_list__tate {
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

header.drawer_open .head_left {
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none;
    position: relative;
    z-index: -1
}

header.drawer_open #headerbottom {
    transition: 0s;
    box-shadow: none;
    top: 0;
    position: fixed;
    opacity: 1;
    width: 100% !important
}

header.drawer_open #headerbottom .nav_open_btn__fix {
    opacity: 0
}

header.drawer_open #headerbottom .nav_open_btn__fix__close {
    opacity: 1;
    pointer-events: auto
}

header.drawer_open #headerbottom:after {
    background-color: transparent;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    transition: 0s
}

header.drawer_open #headerbottom #headerInner .head_left {
    opacity: 0;
    transition: 0s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

header.drawer_open #headerbottom #headerInner ul.pc_nav_list__yoko {
    opacity: 0;
    transition: 0s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active {
    background: 0 0;
    -webkit-transition: .6s;
    transition: .6s
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active .line {
    position: fixed;
    background: 0 0;
    display: block;
    width: 28px;
    height: 28px;
    top: 6.3rem;
    right: 6.3rem;
    z-index: 9999;
    -webkit-transition: .6s;
    transition: .6s
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active.nav_open_btn__fix__close .line span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #333;
    -webkit-transition: all 1s;
    transition: all 1s
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active.nav_open_btn__fix__close .line span:nth-of-type(1) {
    position: absolute;
    width: 40px;
    height: 1px;
    transform: translate(-50%, -50%) rotate(-135deg);
    content: "";
    top: 50%;
    left: 50%;
    background: #333;
    -webkit-transition: .6s;
    transition: .6s
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active.nav_open_btn__fix__close .line span:nth-of-type(2) {
    position: absolute;
    width: 40px;
    height: 1px;
    transform: translate(-50%, -50%) rotate(-45deg);
    content: "";
    top: 50%;
    left: 50%;
    background: #333;
    -webkit-transition: .6s;
    transition: .6s
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active.nav_open_btn__fix__close .line span:nth-of-type(3) {
    opacity: 0
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active:before {
    display: none
}

header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active:after {
    display: none
}

@media (min-width:768px) {
    header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active:hover {
        cursor: pointer
    }

    header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active:hover .line span:nth-of-type(1) {
        position: absolute;
        width: 40px;
        height: 1px;
        transform: translate(-50%, -50%) rotate(-135deg);
        content: "";
        top: 50%;
        left: 50%;
        background: #333;
        -webkit-transition: .6s;
        transition: .6s;
        opacity: 1 !important
    }

    header.drawer_open #headerbottom #headerInner .head_right .nav_open_btn__fix.active:hover .line span:nth-of-type(2) {
        position: absolute;
        width: 40px;
        height: 1px;
        transform: translate(-50%, -50%) rotate(-45deg);
        content: "";
        top: 50%;
        left: 50%;
        background: #333;
        -webkit-transition: .6s;
        transition: .6s;
        opacity: 1 !important
    }
}

#head_wedding {
    height: 5rem;
    padding: 0;
    display: none !important
}

@media only screen and (min-width:1024px) {
    #head_wedding {
        display: block !important
    }
}

#head_wedding_top {
    display: none;
    justify-content: space-between;
    width: calc(100% - 3rem);
    margin: 0 auto;
    align-items: center
}

@media only screen and (min-width:544px) {
    #head_wedding_top {
        width: calc(100% - 6rem);
        align-items: center;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    #head_wedding_top {
        width: calc(100% - 4rem);
        align-items: normal;
        display: flex
    }
}

#head_wedding_top.active_wedding_head {
    display: flex !important
}

#head_wedding_top a.top_back_anchor {
    display: inline-block;
    position: relative;
    line-height: 1;
    margin: 0
}

@media only screen and (min-width:544px) {
    #head_wedding_top a.top_back_anchor {
        display: inline-block
    }
}

@media only screen and (min-width:1024px) {
    #head_wedding_top a.top_back_anchor {
        display: none
    }
}

#head_wedding_top a.top_back_anchor .top_back_anchor__inner {
    display: flex;
    align-items: center
}

#head_wedding_top a.top_back_anchor img.turnback_icon {
    width: .75rem;
    margin: -.15rem .5rem 0 0
}

@media only screen and (min-width:544px) {
    #head_wedding_top a.top_back_anchor img.turnback_icon {
        width: 1.5rem;
        margin: -.3rem 1rem 0 0
    }
}

#head_wedding_top a.top_back_anchor span.text {
    color: #333;
    position: relative;
    display: inline-block;
    z-index: 10;
    padding: 0 0 .2rem;
    font-size: 1rem
}

@media only screen and (min-width:544px) {
    #head_wedding_top a.top_back_anchor span.text {
        font-size: 2rem;
        padding: 0 0 .4rem
    }
}

#head_wedding_top a.top_back_anchor span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    #head_wedding_top a.top_back_anchor span.text:before {
        height: 1px
    }
}

#head_wedding_top a.top_back_anchor span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    #head_wedding_top a.top_back_anchor span.text:after {
        height: 1px
    }
}

@media (min-width:768px) {
    #head_wedding_top a.top_back_anchor:hover {
        cursor: pointer
    }

    #head_wedding_top a.top_back_anchor:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    #head_wedding_top a.top_back_anchor:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    #head_wedding_top a.top_back_anchor:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    #head_wedding_top a.top_back_anchor:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#head_wedding_top .head_left {
    padding: 1.1rem 0;
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

@media only screen and (min-width:544px) {
    #head_wedding_top .head_left {
        padding: 2.2rem 0
    }
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_left {
        padding: 1.5rem 0
    }
}

#head_wedding_top .head_left .head_wedding_logo_information {
    display: flex;
    align-items: center
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__left {
    color: #000;
    padding: 0 2rem 0 0;
    position: relative;
    line-height: 1;
    display: none
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__left {
        display: block;
        border-right: transparent
    }
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__left:after {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, .1)
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__right {
    color: #000;
    padding: 0 2rem;
    position: relative;
    line-height: 1;
    display: none
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__right {
        display: block
    }
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__right:after {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 1.6rem;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, .1)
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__sp {
    position: relative;
    display: block;
    font-size: .9rem;
    padding: 0 1rem 0 0;
    color: #333;
    line-height: 1
}

@media only screen and (min-width:544px) {
    #head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__sp {
        font-size: 1.8rem;
        padding: 0 2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__sp {
        display: none
    }
}

#head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__sp:after {
    content: "";
    position: absolute;
    right: 0;
    width: 1px;
    height: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, .1)
}

@media only screen and (min-width:544px) {
    #head_wedding_top .head_left .head_wedding_logo_information .head_logo_information__sp:after {
        height: 2.5rem
    }
}

#head_wedding_top .head_right {
    display: none
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_right {
        display: flex
    }
}

#head_wedding_top .head_right ul.pc_nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    align-items: center;
    display: none
}

@media only screen and (min-width:1024px) {
    #head_wedding_top .head_right ul.pc_nav_list {
        display: flex
    }
}

#head_wedding_top .head_right ul.pc_nav_list li {
    display: block
}

#head_wedding_top .head_right ul.pc_nav_list li a {
    position: relative;
    display: block;
    color: #333;
    font-size: 1.2rem;
    padding: 0 1.5rem;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    white-space: nowrap;
    line-height: 1
}

#head_wedding_top .head_right ul.pc_nav_list li a span {
    position: relative;
    display: inline-block;
    height: 100%;
    padding: 2.2rem 0
}

#head_wedding_top .head_right ul.pc_nav_list li a span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) scale(0);
    width: 100%;
    height: .2rem;
    background: #C31111;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media (min-width:768px) {
    #head_wedding_top .head_right ul.pc_nav_list li a:hover {
        color: #8e7823;
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1)
    }

    #head_wedding_top .head_right ul.pc_nav_list li a:hover span:before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%) scale(1);
        width: 100%;
        height: .2rem;
        background: #C31111
    }
}

#head_wedding_top .head_right ul.pc_nav_list li:last-child a {
    padding: 0 0 0 1.5rem
}

#head_wedding_top .head_right ul.pc_nav_list li.active a {
    position: relative;
    color: #8e7823;
    font-weight: 700
}

#head_wedding_top .head_right ul.pc_nav_list li.active a span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%) scale(1);
    width: 100%;
    height: .2rem;
    background: #8e7823
}

ul.head_wedding__sns_icon {
    position: relative;
    display: flex;
    align-items: center;
    margin: 0 0 0 1rem
}

@media only screen and (min-width:544px) {
    ul.head_wedding__sns_icon {
        margin: 0
    }
}

ul.head_wedding__sns_icon li {
    height: 1.8rem;
    width: 1.8rem;
    margin: 0 .15rem
}

@media only screen and (min-width:544px) {
    ul.head_wedding__sns_icon li {
        height: 3.6rem;
        width: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    ul.head_wedding__sns_icon li {
        height: 2.6rem;
        width: 2.6rem
    }
}

ul.head_wedding__sns_icon li a {
    height: 1.8rem;
    width: 1.8rem;
    display: block;
    position: relative;
    background: #fff;
    border-radius: 50%
}

@media only screen and (min-width:544px) {
    ul.head_wedding__sns_icon li a {
        height: 3.6rem;
        width: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    ul.head_wedding__sns_icon li a {
        height: 2.6rem;
        width: 2.6rem
    }
}

ul.head_wedding__sns_icon li a:before {
    content: "";
    border: 1px solid #d7d5d3;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 1
}

ul.head_wedding__sns_icon li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #1878f2;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    mix-blend-mode: normal;
    z-index: 2
}

ul.head_wedding__sns_icon li a.facebook:after {
    background: #1878f2
}

ul.head_wedding__sns_icon li a.twitter:after {
    background: #1da1f2
}

ul.head_wedding__sns_icon li a .facebook_icon svg {
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: .5rem;
    height: .9rem
}

@media only screen and (min-width:544px) {
    ul.head_wedding__sns_icon li a .facebook_icon svg {
        width: .9rem;
        height: 1.7rem;
        left: 52%
    }
}

@media only screen and (min-width:1024px) {
    ul.head_wedding__sns_icon li a .facebook_icon svg {
        width: .62rem;
        height: 1.217rem
    }
}

ul.head_wedding__sns_icon li a .facebook_icon svg use {
    fill: #aba9a5;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

ul.head_wedding__sns_icon li a .twitter_icon svg {
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: .9rem;
    height: .9rem
}

@media only screen and (min-width:544px) {
    ul.head_wedding__sns_icon li a .twitter_icon svg {
        width: 1.7rem;
        height: 1.7rem;
        left: 54%
    }
}

@media only screen and (min-width:1024px) {
    ul.head_wedding__sns_icon li a .twitter_icon svg {
        width: 1.2rem;
        height: 1.199rem
    }
}

ul.head_wedding__sns_icon li a .twitter_icon svg use {
    fill: #aba9a5;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    ul.head_wedding__sns_icon li a:hover {
        mix-blend-mode: normal
    }

    ul.head_wedding__sns_icon li a:hover:before {
        border: 1px solid transparent !important;
        transition: all .5s cubic-bezier(.26, .06, 0, 1)
    }

    ul.head_wedding__sns_icon li a:hover .facebook_icon {
        mix-blend-mode: normal
    }

    ul.head_wedding__sns_icon li a:hover .facebook_icon svg {
        mix-blend-mode: normal
    }

    ul.head_wedding__sns_icon li a:hover .facebook_icon svg use {
        fill: #fff !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    ul.head_wedding__sns_icon li a:hover .twitter_icon {
        mix-blend-mode: normal
    }

    ul.head_wedding__sns_icon li a:hover .twitter_icon svg {
        mix-blend-mode: normal
    }

    ul.head_wedding__sns_icon li a:hover .twitter_icon svg use {
        fill: #fff !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    ul.head_wedding__sns_icon li a:hover:after {
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        width: 101%;
        height: 101%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        mix-blend-mode: normal
    }
}

#head_wedding_bottom {
    background: #fff;
    display: flex;
    justify-content: space-between;
    width: calc(100% - 4rem);
    margin: 0 auto;
    border-radius: .5rem .5rem 0 0;
    position: relative;
    top: 0;
    letter-spacing: 0;
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

@media only screen and (min-width:1160px) {
    #head_wedding_bottom {
        justify-content: center
    }
}

#head_wedding_bottom:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

#head_wedding_bottom:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    -webkit-backdrop-filter: blur(100px);
    backdrop-filter: blur(100px);
    background-color: rgba(255, 255, 255, .8);
    z-index: -1
}

#head_wedding_bottom .head_left {
    padding: 0 0 0 2rem;
    margin: 0;
    position: static
}

@media only screen and (min-width:1160px) {
    #head_wedding_bottom .head_left {
        padding: 0 0 0 3rem;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%)
    }
}

#head_wedding_bottom .head_left a.head_logo {
    font-family: philosopher, sans-serif;
    font-size: 1.5rem;
    height: 100%;
    display: flex;
    align-items: center;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#head_wedding_bottom .head_left a.head_logo .onlyLogo {
    width: 11.4rem;
    height: auto;
    margin: 0 1.5rem 0 0;
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding_bottom .head_left a.head_logo .onlyLogo .onlyLogo {
    fill: #333 !important
}

#head_wedding_bottom .head_left a.head_logo .onlyLogo_index {
    width: 0;
    opacity: 0;
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding_bottom .head_left a.head_logo .text {
    white-space: nowrap
}

#head_wedding_bottom .head_left a.head_logo .text .fixed_hide {
    display: inline-block;
    width: auto;
    opacity: 1;
    transition: .4s cubic-bezier(.19, 1, .22, 1);
    padding: 0 .5rem 0 0
}

@media (min-width:768px) {
    #head_wedding_bottom .head_left a.head_logo:hover {
        color: #8e7823;
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1)
    }
}

#head_wedding_bottom .head_right {
    margin: 0;
    transition: .6s cubic-bezier(.19, 1, .22, 1);
    position: static;
    top: 0;
    right: 0;
    height: auto
}

@media only screen and (min-width:1160px) {
    #head_wedding_bottom .head_right {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%
    }
}

@media only screen and (min-width:1280px) {
    #head_wedding_bottom .head_right {
        margin: 0
    }
}

#head_wedding_bottom .head_right .nav_open_btn {
    height: 100%;
    display: block;
    width: auto;
    transform: translateY(0rem);
    white-space: nowrap;
    position: relative
}

#head_wedding_bottom .head_right .nav_open_btn:before {
    display: none
}

#head_wedding_bottom .head_right .nav_open_btn:after {
    display: none
}

#head_wedding_bottom .head_right .nav_open_btn a {
    border-radius: 0 .5rem 0 0;
    background: #8e7823;
    height: 100%;
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    font-family: ryo-display-plusn, serif;
    color: #fff;
    font-weight: 700;
    padding: 0 1rem
}

@media only screen and (min-width:1160px) {
    #head_wedding_bottom .head_right .nav_open_btn a {
        font-size: 1.6rem;
        padding: 0 1rem
    }
}

@media only screen and (min-width:1160px) {
    #head_wedding_bottom .head_right .nav_open_btn a {
        padding: 0 3rem;
        font-size: 1.6rem
    }
}

@media (min-width:768px) {
    #head_wedding_bottom .head_right .nav_open_btn a:hover {
        -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
        transition: all .6s cubic-bezier(.16, 1, .3, 1);
        background: #B49C69
    }
}

#head_wedding_bottom .head_center {
    display: flex
}

#head_wedding_bottom .head_center ul.pc_nav_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

@media only screen and (min-width:1280px) {
    #head_wedding_bottom .head_center ul.pc_nav_list {
        margin: 0
    }
}

#head_wedding_bottom .head_center ul.pc_nav_list li {
    display: block
}

#head_wedding_bottom .head_center ul.pc_nav_list li a {
    display: block;
    position: relative;
    color: #333;
    font-size: 1.6rem;
    padding: 0 1rem;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    white-space: nowrap;
    line-height: 0;
    display: block;
    font-family: ryo-display-plusn, serif;
    letter-spacing: .09rem
}

@media only screen and (min-width:1130px) {
    #head_wedding_bottom .head_center ul.pc_nav_list li a {
        padding: 0 2rem
    }
}

#head_wedding_bottom .head_center ul.pc_nav_list li a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.6rem;
    background: #000;
    opacity: .1
}

#head_wedding_bottom .head_center ul.pc_nav_list li a span {
    position: relative;
    display: inline-block;
    height: 100%;
    padding: 4.25rem 0
}

#head_wedding_bottom .head_center ul.pc_nav_list li a span:before {
    position: absolute;
    bottom: 0;
    left: 50%;
    content: "";
    width: 0;
    height: .2rem;
    background: #8e7823;
    transform: translateX(-50%);
    transition: .3s
}

@media (min-width:768px) {
    #head_wedding_bottom .head_center ul.pc_nav_list li a:hover {
        color: #8e7823;
        transition: transform .3s
    }

    #head_wedding_bottom .head_center ul.pc_nav_list li a:hover span:before {
        transform: translateX(-50%);
        transition: .3s;
        width: 100%
    }
}

#head_wedding_bottom .head_center ul.pc_nav_list li.active a {
    position: relative;
    color: #8e7823;
    font-weight: 700
}

#head_wedding_bottom .head_center ul.pc_nav_list li.active a span:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: .2rem;
    background: #8e7823
}

#head_wedding_bottom .head_center ul.pc_nav_list li:last-child a:after {
    display: none
}

#head_wedding_bottom .head_center ul.pc_nav_list li.active a.other span:before {
    content: "";
    position: absolute;
    bottom: 2.9rem;
    height: 1px
}

#head_wedding_bottom .head_center ul.pc_nav_list li.active a.other span:after {
    content: "";
    position: absolute;
    bottom: 2.9rem;
    height: 1px
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a.other span:before {
    bottom: 0;
    height: .2rem
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a.other span:after {
    bottom: 0;
    height: .2rem
}

@media (min-width:768px) {
    #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a:hover {
        color: #8e7823
    }
}

@media (min-width:768px) {
    .bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a:hover {
        color: #8e7823
    }
}

.bg_transparent #head_wedding_top {
    position: relative;
    z-index: 999
}

.bg_transparent #head_wedding_top .head_left ul.head_wedding__sns_icon li a {
    background: 0 0
}

.bg_transparent #head_wedding_top .head_left ul.head_wedding__sns_icon li a:before {
    content: "";
    border: 1px solid #fff
}

.bg_transparent #head_wedding_top .head_left ul.head_wedding__sns_icon li a .facebook_icon svg use {
    fill: #fff
}

.bg_transparent #head_wedding_top .head_left ul.head_wedding__sns_icon li a .twitter_icon svg use {
    fill: #fff
}

.bg_transparent #head_wedding_top .head_left .head_logo_information__left {
    color: #fff
}

.bg_transparent #head_wedding_top .head_left .head_logo_information__right {
    color: #fff
}

.bg_transparent #head_wedding_top .head_left .head_logo_information__left:after {
    background: rgba(255, 255, 255, .2)
}

.bg_transparent #head_wedding_top .head_left .head_logo_information__right:after {
    background: rgba(255, 255, 255, .2)
}

.bg_transparent #head_wedding_top .head_right ul.pc_nav_list li a {
    color: #fff
}

.bg_transparent #head_wedding_top .head_right ul.pc_nav_list li.active a {
    color: #C31111;
    font-weight: 700
}

.bg_transparent #head_wedding_top .head_right ul.pc_nav_list li.active a span:before {
    background: #C31111
}

.bg_transparent #head_wedding {
    position: sticky;
    z-index: 999;
    height: 5rem;
    top: 0
}

.bg_transparent #head_wedding_bottom {
    background: 0 0
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li a {
    color: #fff;
    transition: .4s cubic-bezier(.26, .06, 0, 1)
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li a:after {
    background: #fff
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li.active a {
    color: #C31111
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li a span:before {
    background: #C31111
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li a span:after {
    background: #C31111
}

.bg_transparent #head_wedding_bottom .head_center ul.pc_nav_list li.active a span:before {
    background: #C31111
}

.bg_transparent #head_wedding_bottom .head_left a.head_logo .text {
    color: #fff
}

.bg_transparent #head_wedding_bottom .head_left a.head_logo .onlyLogo {
    fill: #fff !important
}

.bg_transparent #head_wedding_bottom .head_left a.head_logo .onlyLogo {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 1;
    position: relative
}

.bg_transparent #head_wedding_bottom .head_left a.head_logo .onlyLogoBlack {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    position: absolute;
    pointer-events: none;
    margin: 0 1.5rem 0 0;
    width: 9.9rem
}

.bg_transparent #head_wedding_bottom .head_right .nav_open_btn {
    position: relative;
    z-index: 100
}

.bg_transparent #head_wedding_bottom:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: .1rem;
    width: calc(100% - .2rem);
    opacity: .35;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-repeat: repeat-x
}

.bg_transparent .page_mv_area__port__line {
    position: absolute;
    width: calc(100% - 4rem);
    height: calc(100% - 5.6rem);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 100;
    pointer-events: none;
    background: url(../image/bg_dotted_radius.svg) 0 0 no-repeat;
    background-size: cover;
    display: none
}

@media only screen and (min-width:1024px) {
    .bg_transparent .page_mv_area__port__line {
        display: block
    }
}

.header_sp__wedding {
    box-shadow: none;
    background: #faf9f5
}

.header_sp__wedding:after {
    position: absolute;
    content: "";
    width: 100%;
    height: .9px;
    border-top: .5px solid rgba(51, 51, 51, .2);
    left: 0;
    top: 0
}

.header_sp__wedding #g-nav #g-nav-list {
    padding: 4rem 3rem 3rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-list {
        padding: 10rem 6rem 6rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp {
    background: #f1ecdc !important
}

.header_sp__wedding nav ul.header_nav_list__sp li {
    width: 16.6%;
    position: relative;
    overflow: hidden;
    height: 6rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li {
        height: 12rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li.last_child {
    width: 17%
}

.header_sp__wedding nav ul.header_nav_list__sp li:after {
    content: "";
    position: absolute;
    height: 100%;
    top: 0;
    left: 0;
    opacity: .2;
    width: .9px;
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    background-image: linear-gradient(to bottom, #333, #333 .9px, transparent .9px)
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li:after {
        opacity: .4;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, #333, #333 1px, transparent 1px)
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a {
    background: #faf9f5;
    color: rgba(51, 51, 51, .8)
}

.header_sp__wedding nav ul.header_nav_list__sp li a span {
    opacity: 1
}

.header_sp__wedding nav ul.header_nav_list__sp li a.active {
    color: #B49C69
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon {
    display: block;
    justify-content: center;
    align-items: center;
    margin: 0;
    height: 1.6rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon {
        height: 3.2rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon {
    position: relative;
    display: block;
    margin: 0 auto;
    top: 50%;
    transform: translateY(-50%)
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon__hov {
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_01 {
    width: 1.25rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_01 {
        width: 2.5rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_02 {
    width: 1.3rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_02 {
        width: 2.6rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_03 {
    width: 1.75rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_03 {
        width: 3.5rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_04 {
    width: 1.35rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_04 {
        width: 2.7rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_05 {
    width: 1.35rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a span.header_nav__icon img.nav_icon_05 {
        width: 2.7rem
    }
}

.header_sp__wedding nav ul.header_nav_list__sp li a.active span.header_nav__icon img.nav_icon {
    opacity: 0
}

.header_sp__wedding nav ul.header_nav_list__sp li a.active span.header_nav__icon img.nav_icon__hov {
    opacity: 1
}

.header_sp__wedding nav ul.header_nav_list__sp li .nav_open_btn {
    width: 17%;
    background: #6d6442;
    height: 6rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li .nav_open_btn {
        height: 12rem
    }
}

.header_sp__wedding .header_nav_list__sp .nav_open_btn.active {
    background: #fff !important
}

.header_sp__wedding .header_nav_list__sp .nav_open_btn.active .line span {
    background: #836e1f
}

.header_sp__wedding #g-nav {
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px);
    background-color: #6d6442
}

.header_sp__wedding #g-nav dt small {
    color: rgba(255, 255, 255, .3) !important;
    letter-spacing: .1rem !important
}

.header_sp__wedding #g-nav .arrow svg {
    opacity: .5 !important
}

.header_sp__wedding #g-nav dl {
    border-top: .5px solid rgba(255, 255, 255, .2) !important
}

.header_sp__wedding #g-nav a.sougou_top_link {
    background: #5d5538;
    border-radius: .5rem;
    color: #fff;
    font-size: 1.4rem;
    display: inline-block;
    text-align: center;
    line-height: 1;
    padding: 1.5rem 0 1.75rem;
    font-family: ryo-display-plusn, serif;
    width: 100%;
    margin: 0 0 .6rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav a.sougou_top_link {
        border-radius: 1rem;
        font-size: 2.8rem;
        margin: 0 0 1.2rem;
        padding: 3rem 0 3.5rem
    }
}

.header_sp__wedding #g-nav a.sougou_top_link div {
    display: inline;
    position: relative
}

.header_sp__wedding #g-nav a.sougou_top_link div:after {
    content: "";
    position: absolute;
    width: 100%;
    height: .1rem;
    background: #fff;
    bottom: -.1rem;
    left: 0
}

.header_sp__wedding #g-nav #g-nav-list ul.g-nav-info-list {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-list ul.g-nav-info-list {
        margin: 0 0 4rem
    }
}

.header_sp__wedding #g-nav ul.g-nav-info-list li a small {
    opacity: .2;
    font-size: 1rem !important
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a small {
        font-size: 1.6rem !important
    }
}

@media screen and (min-width:700px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a small {
        font-size: 2rem !important
    }
}

.header_sp__wedding #g-nav ul.g-nav-info-list li a .g-nav-info-list__inner {
    transform: translateY(-1px) !important
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a .g-nav-info-list__inner {
        transform: translateY(-4px) !important
    }
}

@media only screen and (min-width:1024px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a .g-nav-info-list__inner {
        transform: translateY(0px) !important
    }
}

.header_sp__wedding #g-nav ul.g-nav-info-list li a .g-nav-info-list__inner small {
    margin: 0 0 .8rem !important
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a .g-nav-info-list__inner small {
        margin: 0 0 1rem !important
    }
}

.header_sp__wedding #g-nav ul.g-nav-info-list li a span.en {
    font-size: 1.7rem !important
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a span.en {
        font-size: 2.4rem !important
    }
}

@media screen and (min-width:700px) {
    .header_sp__wedding #g-nav ul.g-nav-info-list li a span.en {
        font-size: 3.4rem !important
    }
}

.header_sp__wedding #g-nav #g-nav-list ul.g-nav-info-list li:last-child a {
    margin: 0 0 0 auto
}

.header_sp__wedding #g-nav .nav_info_table_wedding {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav .nav_info_table_wedding {
        margin: 0 0 7rem
    }
}

.header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block {
    color: #fff;
    font-size: 1.1rem;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block {
        font-size: 2.2rem
    }
}

.header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block.nav_info_table_wedding__block_top {
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block.nav_info_table_wedding__block_top {
        margin: 0 0 2rem
    }
}

.header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block span {
    position: static !important;
    width: auto !important;
    opacity: .5;
    padding: 0 1rem 0 0
}

.header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block span:before {
    display: none !important
}

.header_sp__wedding #g-nav .nav_info_table_wedding .nav_info_table_wedding__block span:after {
    display: none !important
}

.header_sp__wedding #g-nav #g-nav-bottom {
    background: url(../image/wedding_bg_sp.png) 0 0 repeat;
    padding: 4.5rem 3rem 15rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-bottom {
        padding: 9rem 6rem 30rem
    }
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list {
    display: flex;
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list {
        margin: 0 3rem 7rem 0
    }
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li {
    margin: 0 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li {
        margin: 0 3rem 0 0
    }
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a {
    display: inline-block;
    position: relative;
    margin: 0 0 .5rem;
    color: #333
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a.snas_link {
    margin: 0 0 .75rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a.snas_link {
        font-size: 2.2rem;
        margin: 0 0 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a.snas_link {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a.snas_link__last {
    margin: 0
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a:before {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a:after {
    position: absolute;
    bottom: -1px;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a:hover {
        color: #333;
        transition: .3s
    }

    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .header_sp__wedding #g-nav #g-nav-bottom ul.g-nav-sns-list li a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.header_sp__wedding #g-nav #g-nav-bottom ul.nav_bottom_link_list li a {
    color: rgba(51, 51, 51, .5)
}

.header_sp__wedding #g-nav #g-nav-bottom ul.nav_bottom_link_list li a:before {
    background: rgba(51, 51, 51, .5)
}

.header_sp__wedding #g-nav #g-nav-bottom ul.nav_bottom_link_list li a:after {
    background: rgba(51, 51, 51, .5)
}

.header_sp__wedding #g-nav dd ul.sp_sub_foot_link li.head_only {
    margin: 0 0 1.25rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav dd ul.sp_sub_foot_link li.head_only {
        margin: 0 0 2.5rem
    }
}

.header_sp__wedding #g-nav dd ul.sp_sub_foot_link li.head_only:last-child {
    margin: 0
}

.header_sp__wedding #g-nav dd ul.sp_sub_foot_link {
    padding: 2rem 1rem 2rem 1.5rem
}

@media only screen and (min-width:544px) {
    .header_sp__wedding #g-nav dd ul.sp_sub_foot_link {
        padding: 4rem 1rem 4rem 3rem
    }
}

.header_sp__wedding #g-nav dd ul.sp_sub_foot_link {
    background: rgba(0, 0, 0, .15)
}

.header_sp__wedding nav ul.header_nav_list__sp li a {
    font-size: .8rem !important
}

@media only screen and (min-width:544px) {
    .header_sp__wedding nav ul.header_nav_list__sp li a {
        font-size: 1.6rem !important
    }
}

.head_wedding_sp {
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(51, 51, 51, .1);
    padding: 2.5rem 1.5rem
}

@media only screen and (min-width:544px) {
    .head_wedding_sp {
        padding: 5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .head_wedding_sp {
        display: none
    }
}

.head_wedding_sp .head_left a.head_logo {
    display: flex;
    align-items: center
}

.head_wedding_sp .head_left a.head_logo .onlyLogo {
    display: block;
    width: 9.75rem;
    margin: 0 .9rem 0 0
}

@media only screen and (min-width:544px) {
    .head_wedding_sp .head_left a.head_logo .onlyLogo {
        width: 15rem;
        margin: 0 1rem 0 0
    }
}

@media only screen and (min-width:670px) {
    .head_wedding_sp .head_left a.head_logo .onlyLogo {
        width: 19.5rem;
        margin: 0 1.5rem 0 0
    }
}

.head_wedding_sp .head_left a.head_logo .onlyLogo__fair {
    display: none
}

.head_wedding_sp .head_left a.head_logo .text {
    font-family: philosopher, sans-serif;
    white-space: nowrap;
    font-size: 1rem
}

@media only screen and (min-width:544px) {
    .head_wedding_sp .head_left a.head_logo .text {
        font-size: 1.5rem
    }
}

@media only screen and (min-width:670px) {
    .head_wedding_sp .head_left a.head_logo .text {
        font-size: 2rem
    }
}

.head_wedding_sp .head_right {
    display: flex;
    align-items: center
}

.head_wedding_sp .head_right .tel_num {
    font-size: .9rem;
    line-height: 1;
    display: block;
    color: rgba(51, 51, 51, .5);
    margin: 0 1rem 0 0;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .head_wedding_sp .head_right .tel_num {
        font-size: 1.8rem;
        margin: 0 2rem 0 0
    }
}

.head_wedding_sp .head_right a.top_back_anchor {
    color: #333;
    font-size: 1rem;
    line-height: 1;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .head_wedding_sp .head_right a.top_back_anchor {
        font-size: 2rem
    }
}

.head_wedding_sp .head_right a.top_back_anchor .text {
    position: relative
}

.head_wedding_sp .head_right a.top_back_anchor .text:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -.1rem;
    width: 100%;
    height: 1px;
    background: #333
}

#head_wedding.is-fix {
    box-shadow: .5rem 0 1rem rgba(0, 0, 0, .15)
}

#head_wedding.is-fix #head_wedding_bottom {
    width: 100%;
    transition: .6s cubic-bezier(.19, 1, .22, 1);
    border-radius: 0;
    background: 0 0
}

#head_wedding.is-fix #head_wedding_bottom:before {
    display: none
}

#head_wedding.is-fix #head_wedding_bottom:after {
    opacity: 1
}

#head_wedding.is-fix #head_wedding_bottom .head_left {
    margin-right: auto;
    padding: 0 0 0 2rem;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .onlyLogo_index {
    width: 9.9rem;
    opacity: 1;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .onlyLogo {
    width: 9.9rem;
    opacity: 1;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .text .fixed_hide {
    width: 0;
    opacity: 0;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list {
    margin: 0;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a {
    transition: .6s cubic-bezier(.19, 1, .22, 1);
    font-size: 1.5rem;
    padding: 0 1.2rem
}

@media only screen and (min-width:1200px) {
    #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a {
        padding: 0 2.2rem
    }
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a:after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.6rem;
    background: 0 0;
    opacity: .3;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 2px);
    background-size: 1px 3px;
    background-position: right top;
    background-repeat: repeat-y
}

#head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a span {
    padding: 2.5rem 0
}

@media (min-width:768px) {
    #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a:hover span:before {
        transform: translateX(-50%) scale(1, 1);
        transition: .3s;
        width: 100%
    }
}

@media (min-width:768px) {
    #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a:hover span:before {
        transform: translateX(-50%) scale(1, 1)
    }
}

#head_wedding.is-fix #head_wedding_bottom .head_right {
    margin: 0;
    transition: .6s cubic-bezier(.19, 1, .22, 1)
}

#head_wedding.is-fix #head_wedding_bottom .head_right .nav_open_btn a {
    border-radius: 0;
    font-size: 1.5rem;
    display: flex;
    padding: 0 2rem
}

@media only screen and (min-width:1200px) {
    #head_wedding.is-fix #head_wedding_bottom .head_right .nav_open_btn a {
        padding: 0 4rem
    }
}

.bg_transparent #head_wedding.is-fix {
    box-shadow: .5rem 0 1rem rgba(0, 0, 0, .3)
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .onlyLogo_index {
    width: 9.9rem;
    opacity: 1;
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .onlyLogo {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    position: absolute;
    pointer-events: none
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .onlyLogoBlack {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 1;
    position: relative;
    width: 9.9rem;
    pointer-events: auto
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_left a.head_logo .text {
    color: #333
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list {
    transition: .4s cubic-bezier(.19, 1, .22, 1);
    margin: 0
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li a {
    color: #333;
    transition: .4s cubic-bezier(.26, .06, 0, 1)
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a {
    color: #8e7823
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a span:before {
    background: #8e7823
}

.bg_transparent #head_wedding.is-fix #head_wedding_bottom .head_center ul.pc_nav_list li.active a span:after {
    background: #8e7823
}

.head_wedding_fair_sp {
    background: 0 0;
    position: relative;
    z-index: 999;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

@media only screen and (min-width:1024px) {
    .head_wedding_fair_sp {
        display: none
    }
}

.head_wedding_fair_sp .head_left a.head_logo .onlyLogo {
    display: none
}

@media only screen and (min-width:1024px) {
    .head_wedding_fair_sp .head_left a.head_logo .onlyLogo {
        display: block
    }
}

.head_wedding_fair_sp .head_left a.head_logo .onlyLogo__fair {
    display: block
}

@media only screen and (min-width:1024px) {
    .head_wedding_fair_sp .head_left a.head_logo .onlyLogo__fair {
        display: none
    }
}

.head_wedding_fair_sp .head_left a.head_logo .text {
    color: #fff
}

.head_wedding_fair_sp .head_right .tel_num {
    color: rgba(255, 255, 255, .5)
}

.head_wedding_fair_sp .head_right a.top_back_anchor {
    color: #fff
}

.head_wedding_fair_sp .head_right a.top_back_anchor .text:after {
    background: #fff
}

.head_wedding_fairdetail_sp {
    background: 0 0;
    position: relative;
    z-index: 100;
    border-bottom: transparent
}

@media only screen and (min-width:1024px) {
    .head_wedding_fairdetail_sp {
        display: none
    }
}

.head_wedding_fairdetail_sp .head_left a.head_logo .onlyLogo {
    display: none
}

@media only screen and (min-width:1024px) {
    .head_wedding_fairdetail_sp .head_left a.head_logo .onlyLogo {
        display: block
    }
}

.head_wedding_fairdetail_sp .head_left a.head_logo .onlyLogo__fair {
    display: block
}

@media only screen and (min-width:1024px) {
    .head_wedding_fairdetail_sp .head_left a.head_logo .onlyLogo__fair {
        display: none
    }
}

.head_wedding_fairdetail_sp .head_left a.head_logo .text {
    color: #fff
}

.head_wedding_fairdetail_sp .head_right .tel_num {
    color: rgba(255, 255, 255, .5)
}

.head_wedding_fairdetail_sp .head_right a.top_back_anchor {
    color: #fff
}

.head_wedding_fairdetail_sp .head_right a.top_back_anchor .text:after {
    background: #fff
}

footer {
    position: relative;
    z-index: 100
}

@media (min-width:768px) {
    footer {
        background-image: url(../image/main_black_bg__sp.gif) !important;
        background-size: 20%;
        background-repeat: repeat
    }
}

@media (max-width:767px) {
    footer {
        background-image: url(../image/main_black_bg__sp.gif) !important;
        background-size: 50%;
        background-repeat: repeat
    }
}

@media only screen and (min-width:544px) {
    footer {
        background-size: auto
    }
}

@media (max-width:767px) {
    footer.is-home {}
}

.sns_link_area {
    color: #fff;
    padding: 0;
    display: flex;
    justify-content: center;
    background-image: url(../image/main_green_bg__sp.gif) !important;
    background-repeat: repeat;
    background-size: 20%
}

@media (max-width:767px) {
    .sns_link_area {
        background-image: url(../image/main_green_bg__sp.gif) !important;
        background-repeat: repeat;
        background-size: 20%
    }
}

@media only screen and (min-width:544px) {
    .sns_link_area {
        background-size: auto
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area {
        padding: 15rem 0
    }
}

.sns_link_area .large_container {
    padding: 0;
    margin-left: 0;
    margin-right: 0
}

@media only screen and (min-width:1024px) {
    .sns_link_area .large_container {
        margin-left: 3rem;
        margin-right: 3rem
    }
}

.sns_link_area .sns_link_list {
    display: flex
}

.sns_link_area .sns_link_list a.sns_link_list__block {
    display: block;
    height: 100%;
    position: relative;
    padding: 10rem 0 10.5rem;
    width: 33.3333%;
    text-align: center
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block {
        padding: 20rem 0 21rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block {
        padding: 2.5rem 0 4rem
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .6), rgba(255, 255, 255, .6) .9px, transparent .9px);
    background-size: .5px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block:before {
        opacity: .3;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .6), rgba(255, 255, 255, .6) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .text {
    position: relative
}

.sns_link_area .sns_link_list a.sns_link_list__block .text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .text:before {
        display: block
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .text:after {
        display: block
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block.sns_link_list__block__first:before {
    display: none
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block.sns_link_list__block__first:before {
        display: block
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .sns_type {
    font-family: philosopher, sans-serif;
    letter-spacing: .24rem;
    height: 20rem
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type {
        height: 40rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type {
        height: auto
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .sns_type small {
    line-height: 1;
    font-size: 1.1rem;
    opacity: .5;
    display: block;
    letter-spacing: .16rem;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    margin: 0;
    min-height: 5.5rem;
    position: relative;
    transform: translateX(-50%);
    left: 50%
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type small {
        -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
        margin: 0;
        font-size: 2.2rem;
        min-height: 9rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type small {
        position: static;
        transform: translateX(0);
        left: 0;
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        margin: 0;
        font-size: 1.2rem;
        min-height: auto
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .sns_type span {
    font-size: 1.7rem;
    -webkit-writing-mode: vertical-lr;
    -ms-writing-mode: tb-lr;
    writing-mode: vertical-lr;
    margin: 3rem 0
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type span {
        -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: tb-lr;
        writing-mode: vertical-lr;
        font-size: 3.4rem;
        margin: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type span {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        font-size: 2rem;
        margin: 0
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block .sns_type_arrow__wrap {
    width: 1.85rem;
    height: 1.85rem;
    position: relative;
    display: block;
    z-index: 1000;
    margin: 2.75rem auto 0 auto
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type_arrow__wrap {
        margin: 5.5rem auto 0 auto;
        width: 3.7rem;
        height: 3.7rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block .sns_type_arrow__wrap {
        margin: .8rem auto 0 auto;
        width: 3.1rem;
        height: 3.1rem
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block span.arrow {
    display: block;
    z-index: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    transition: .5s cubic-bezier(.43, .05, .17, 1)
}

.sns_link_area .sns_link_list a.sns_link_list__block span.arrow use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.sns_link_area .sns_link_list a.sns_link_list__block span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: none
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block span.arrow:before {
        display: block
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block span.arrow:after {
    border: .09px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.sns_link_area .sns_link_list a.sns_link_list__block span.arrow svg.sns_type_arrow {
    width: .95rem;
    height: .8rem;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block span.arrow svg.sns_type_arrow {
        width: 1.9rem;
        height: 1.6rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block span.arrow svg.sns_type_arrow {
        width: 1.2rem;
        height: 1.2rem
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block_last {
    display: block;
    height: 100%;
    position: relative;
    padding: 10rem 0 10.5rem;
    width: 33.3333%
}

@media only screen and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block_last {
        padding: 20rem 0 21rem
    }
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block_last {
        padding: 2.5rem 0 4rem
    }
}

.sns_link_area .sns_link_list a.sns_link_list__block_last:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .5;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    .sns_link_area .sns_link_list a.sns_link_list__block_last:after {
        display: block
    }
}

@media (min-width:768px) {
    .sns_link_area .sns_link_list a.sns_link_list__block:hover .text {
        transition: transform .3s
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover .text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover .text:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover span.arrow {
        transition: .5s cubic-bezier(.43, .05, .17, 1)
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover span.arrow use {
        fill: #fff;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover span.arrow:before {
        width: 110%;
        padding-bottom: 110%;
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }

    .sns_link_area .sns_link_list a.sns_link_list__block:hover span.arrow:after {
        opacity: 0;
        scale: 0 0
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .sns_link_area .sns_link_list a.sns_link_list__block:hover span.arrow use {
        fill: #233512
    }
}

section.cta_contact_area {
    background: #EEEDEA;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 6rem 0 3rem;
}

@media only screen and (min-width:544px) {
    section.cta_contact_area {
        padding: 6rem 0 3rem;
    }
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area {
        padding: 6rem 0 3rem;
    }
}

section.cta_contact_area:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #EEEDEA;
    opacity: 1;
    transition: all .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1;
    top: 0;
    left: 0;
}

/*@media only screen and (min-width:544px) {
    section.cta_contact_area:after {
        display: block
    }
}*/

section.cta_contact_area .center_text_area {
    text-align: center;
    color: #fff;
    position: relative;
    letter-spacing: .15rem;
    z-index: 15
}

section.cta_contact_area .center_text_area #moon-svg {
    position: absolute;
    top: -6rem;
    left: 50%;
    translate: -50% 0%;
    width: 25rem;
    z-index: 1;
    max-width: none
}

@media (max-width:767px) {
    section.cta_contact_area .center_text_area #moon-svg {
        width: 17rem
    }
}

section.cta_contact_area .center_text_area #moon-svg .moon-logo {
    transition: fill .6s cubic-bezier(.26, .06, 0, 1)
}

section.cta_contact_area .center_text_area small {
    font-family: philosopher, sans-serif;
    opacity: .5;
    margin: 0 0 2rem;
    letter-spacing: .16rem;
    font-weight: 500;
    font-size: 1.2rem;
    display: block;
    position: relative;
    z-index: 2;
    color: #fff;
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area .center_text_area small {
        display: block
    }
}

section.cta_contact_area .center_text_area .vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: ryo-display-plusn, serif;
    font-feature-settings: initial;
    font-size: 2.1rem;
    letter-spacing: .2rem;
    display: block;
    line-height: 1;
    position: relative;
    z-index: 2;
    color: #050505;
    margin-top: 0rem;
}

@media only screen and (min-width:544px) {
    section.cta_contact_area .center_text_area .vertical {
        display: inline-block;
        font-size: 4.2rem;
        letter-spacing: .3rem
    }
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area .center_text_area .vertical {
        font-size: 2.4rem;
        letter-spacing: .15rem
    }
}

section.cta_contact_area .center_text_area span.arrow {
    display: block;
    border: .9px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    z-index: 0;
    position: relative;
    background: rgb(180 156 105);
    bottom: 0;
    left: auto;
    transform: translateX(1px);
    margin: 1rem auto 1.5rem auto;
    width: 3.2rem;
    height: 3.2rem;
    transition: .4s cubic-bezier(.26, .06, 0, 1);
    position: relative;
    z-index: 2
}

@media only screen and (min-width:544px) {
    section.cta_contact_area .center_text_area span.arrow {
        transform: translateX(0);
        background: #B49C69;
        border: 1px solid #B49C69;
        width: 3.9rem;
        height: 3.9rem;
        margin: 1rem auto 1.5rem auto
    }
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area .center_text_area span.arrow {
        width: 3.2rem;
        height: 3.2rem;
        margin: 3.5rem auto 1.5rem auto;
    }
}

section.cta_contact_area .center_text_area span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-radius: 50%;
    background: #fff;
    transition: .4s cubic-bezier(.26, .06, 0, 1);
    display: none;
    opacity: 0
}

@media only screen and (min-width:544px) {
    section.cta_contact_area .center_text_area span.arrow:before {
        display: block
    }
}

section.cta_contact_area .center_text_area span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1.5rem;
}

@media only screen and (min-width:544px) {
    section.cta_contact_area .center_text_area span.arrow svg {
        width: 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area .center_text_area span.arrow svg {
        width: 1.2rem
    }
}

section.cta_contact_area .center_text_area span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

section.cta_contact_area .center_text_area span.sub_text {
    font-size: 1.1rem;
    opacity: .2;
    color: #fff;
    padding: 2rem 0 0;
    display: none
}

@media only screen and (min-width:544px) {
    section.cta_contact_area .center_text_area span.sub_text {
        font-size: 2.2rem;
        padding: 6rem 0 0;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    section.cta_contact_area .center_text_area span.sub_text {
        font-size: 1.2rem;
        padding: 0;
        display: block
    }
}

@media (min-width:768px) {
    section.cta_contact_area a:hover #moon-svg .moon-logo {
        fill: #E3E3E3
    }

    /*section.cta_contact_area a:hover:after {
        opacity: 1;
        transition: all .6s cubic-bezier(.26, .06, 0, 1);
        z-index: 1
    }*/

    section.cta_contact_area a:hover .center_text_area {
        color: #fff;
        transition: all 0s cubic-bezier(.26, .06, 0, 1)
    }

    section.cta_contact_area a:hover .center_text_area .sub_text {
        color: #fff;
        transition: all 0s cubic-bezier(.26, .06, 0, 1);
        opacity: .2
    }

    section.cta_contact_area a:hover .center_text_area .arrow {
        border: .9px solid rgba(255, 255, 255, .7);
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }

    section.cta_contact_area a:hover .center_text_area .arrow:before {
        width: 110%;
        padding-bottom: 110%;
        transition: .4s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    section.cta_contact_area a:hover .center_text_area {
        color: #333;
        transition: all .6s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    section.cta_contact_area a:hover .center_text_area .sub_text {
        opacity: 1;
        color: #333;
        transition: all .6s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    section.cta_contact_area a:hover .center_text_area .arrow {
        border: .9px solid transparent
    }
}

.foot_top_area {
    padding: 0
}

@media only screen and (min-width:544px) {
    .foot_top_area {
        padding: 0 3rem
    }
}

.foot_top_area .large_container {
    padding: 0
}

.foot_top_area .foot_link_area {
    padding: 15rem 0 12rem;
    position: relative;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .foot_top_area .foot_link_area {
        display: flex
    }
}

.foot_top_area .foot_link_area:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    opacity: .4;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 4px 1px;
    background-position: left top;
    background-repeat: repeat-x
}

.foot_top_area .foot_link_area ul.foot_link_list {
    width: 25%;
    position: relative;
    padding: 0 0 0 3rem
}

.foot_top_area .foot_link_area ul.foot_link_list:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

.foot_top_area .foot_link_area ul.foot_link_list__last:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

.foot_top_area .foot_link_area ul.foot_link_list li {
    margin: 0 0 1rem
}

.foot_top_area .foot_link_area ul.foot_link_list li:last-child {
    margin: 0
}

.foot_top_area .foot_link_area ul.foot_link_list li a {
    color: rgba(255, 255, 255, .45);
    font-size: 1.4rem;
    position: relative;
    padding: 0 0 .3rem;
    transition: transform .3s
}

.foot_top_area .foot_link_area ul.foot_link_list li a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.foot_top_area .foot_link_area ul.foot_link_list li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    .foot_top_area .foot_link_area ul.foot_link_list li a:hover {
        color: #fff;
        transition: transform .3s
    }

    .foot_top_area .foot_link_area ul.foot_link_list li a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.foot_top_area .foot_link_area ul.foot_link_list li.head {
    margin: 0 0 2.5rem
}

.foot_top_area .foot_link_area ul.foot_link_list li.head a {
    color: #fff;
    font-family: ryo-display-plusn, serif;
    font-size: 1.8rem;
    line-height: 1
}

.foot_top_area .foot_link_area ul.foot_link_list li.head a:after {
    transform-origin: left top;
    transform: scale(1, 1)
}

@media (min-width:768px) {
    .foot_top_area .foot_link_area ul.foot_link_list li.head a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .foot_top_area .foot_link_area ul.foot_link_list li.head a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.foot_bottom_area {
    padding: 7rem 3rem 7rem;
    background: #B49C69;
}

@media only screen and (min-width:544px) {
    .foot_bottom_area {
        padding: 12rem 6rem 12rem;
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area {
        padding: 10rem 3rem 10rem;
    }
}

.foot_bottom_area .large_container {
    padding: 0
}

.foot_bottom_area .foot_info_area {
    display: block;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area {
        display: flex
    }
}

.foot_bottom_area .foot_info_area__right {
    width: 100%
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right {
        width: 34rem
    }
}

.foot_bottom_area .foot_info_area__right .foot_link__logo {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 1000;
    display: flex;
    margin-left: auto;
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo {
        width: 100%;
        height: auto;
        display: flex;
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo {
        width: 15rem;
        height: 11.5rem;
        display: block;
    }
}

.foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link {
    position: static;
    top: 0;
    left: 0;
    display: inline-block;
    margin: 0 auto;
    width: auto;
    height: auto
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link {
        position: static;
        display: inline-block;
        margin: 0 auto;
        width: auto;
        height: auto
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link {
        position: absolute;
        display: block;
        width: 100%;
        height: 100%
    }
}

.foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link .foot_link__logo_link_svg {
    width: 100%;
    height: auto;
    display: none
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link .foot_link__logo_link_svg {
        display: block
    }
}

.foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link .foot_link__logo_link_svg__sp {
    height: auto;
    display: block;
    width: 60%;
    margin: 0 auto;
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link .foot_link__logo_link_svg__sp {
        width: 6.2rem
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right .foot_link__logo a.foot_link__logo_link .foot_link__logo_link_svg__sp {
        display: none
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list {
    display: flex;
    justify-content: end;
    margin: 0;
    flex-wrap: wrap
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list {
        justify-content: end;
        flex-wrap: wrap
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list {
        justify-content: end;
        flex-wrap: nowrap
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li {
    margin: 0;
    width: 100%;
    display: flex;
    justify-content: center
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li {
        width: auto;
        margin: 0 0 0 2rem;
        display: block
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-4 {
    order: 4
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-4 {
        order: 4
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-3 {
    order: 3
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-3 {
        order: 3
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-2 {
    order: 1
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-2 {
        order: 2
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-1 {
    order: 2
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li.order-md-1 {
        order: 1
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a {
    color: rgba(255, 255, 255, .8);
    font-size: 1.1rem;
    position: relative;
    transition: transform .3s;
    padding: 0 0 .3rem
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a {
        font-size: 1.2rem
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:before {
        display: block
    }
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:after {
        display: block
    }
}

@media (min-width:768px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:hover {
        color: rgba(255, 255, 255, .3);
        transition: transform 0s
    }

    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:hover:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list li a:hover {
        color: #fff;
        transition: transform .3s
    }
}

table.foot_info_table {
    width: 100%
}

table.foot_info_table tr th {
    text-align: center;
    font-size: 1rem;
    color: rgba(255, 255, 255, .4);
    padding: 0 0 1rem;
    vertical-align: top;
    width: 100%;
    display: block;
    line-height: 1;
    vertical-align: middle
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr th {
        font-size: 2rem;
        font-weight: 400
    }
}

@media only screen and (min-width:1024px) {
    table.foot_info_table tr th {
        font-size: 1.2rem;
        width: 13rem;
        text-align: left;
        display: table-cell;
        padding: 0 0 2.5rem;
        line-height: 180%;
        font-weight: 400
    }
}

table.foot_info_table tr th.last {
    padding: 0 0 .5rem;
    vertical-align: top
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr th.last {
        padding: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    table.foot_info_table tr th.last {
        padding: 0
    }
}

table.foot_info_table tr td {
    vertical-align: top;
    color: #fff;
    text-align: center;
    display: block;
    width: 100%;
    padding: 0 0 2.5rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td {
        padding: 0 0 5rem;
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    table.foot_info_table tr td {
        font-size: 1.15rem;
        width: auto;
        text-align: left;
        display: table-cell;
        padding: 0 0 3rem
    }
}

table.foot_info_table tr td.last {
    padding: 0;
}

table.foot_info_table tr td.last p {
    display: inline-block;
    width: calc(98% / 4);
    margin-bottom: 0;
    margin-top: .5em;
}

table.foot_info_table tr td.tel {
    font-size: 2.5rem;
    font-family: philosopher, sans-serif;
    line-height: 1
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td.tel {
        font-size: 5rem
    }
}

@media only screen and (min-width:1024px) {
    table.foot_info_table tr td.tel {
        font-size: 3.6rem
    }
}

table.foot_info_table tr td.address span {
    position: relative;
    padding: 0 0 .2rem
}

table.foot_info_table tr td.address span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td.address span:before {
        height: 1px
    }
}

table.foot_info_table tr td.address span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td.address span:after {
        height: 1px
    }
}

@media (min-width:768px) {
    table.foot_info_table tr td.address span:hover {
        color: #fff;
        transition: transform .3s
    }

    table.foot_info_table tr td.address span:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    table.foot_info_table tr td.address span:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

table.foot_info_table tr td a {
    display: inline-block;
    position: relative;
    margin: 0 3rem 0 0;
}

table.foot_info_table tr td a.sns_link {
    margin: 0 3rem 0 0;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td a.sns_link {
        font-size: 2.2rem;
        margin: 0 3rem 0 0rem;
    }
}

@media only screen and (min-width:1024px) {
    table.foot_info_table tr td a.sns_link {
        font-size: 1.2rem;
        margin: 0 3rem 0 0;
    }
}

table.foot_info_table tr td a.sns_link__last {
    margin: 0
}

table.foot_info_table tr td a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td a:before {
        height: 1px
    }
}

table.foot_info_table tr td a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    table.foot_info_table tr td a:after {
        height: 1px
    }
}

@media (min-width:768px) {
    table.foot_info_table tr td a:hover {
        color: #fff;
        transition: transform .3s
    }

    table.foot_info_table tr td a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    table.foot_info_table tr td a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    table.foot_info_table tr td a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    table.foot_info_table tr td a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.follow_card {
    border-radius: .5rem;
    max-width: 95%;
    width: 36.6rem;
    height: auto;
    position: fixed;
    z-index: 1000;
    right: 50%;
    transform: translateX(50%);
    bottom: 8.5rem;
    padding: 2.8rem 2rem 2.8rem;
    color: #fff;
    box-shadow: 0 1rem 1rem rgba(8, 0, 0, .5);
    background-color: #B49C69;
    border: 1px solid #000000;
}

@media (min-width:768px) {
    .follow_card {
        background-repeat: repeat;
        background-size: 30%
    }
}

@media (max-width:767px) {
    .follow_card {
        background-image: url('') !important;
        background-repeat: repeat;
        background-size: 20%
    }
}

@media only screen and (min-width:544px) {
    .follow_card {
        right: 50%;
        transform: translateX(50%);
        bottom: 15rem;
        padding: 3.2rem 3rem;
        border-radius: .7rem
    }
}

@media only screen and (min-width:1024px) {
    .follow_card {
        right: 1rem;
        bottom: 2rem;
        transform: translateX(0%)
    }
}

.follow_card h3 {
    margin: 0;
    line-height: 1;
    font-family: philosopher, sans-serif;
    font-size: 1.7rem;
    font-weight: 500
}

@media only screen and (min-width:544px) {
    .follow_card h3 {
        font-size: 2rem
    }
}

.follow_card p {
    margin: 1.3rem 0 .8rem;
    font-size: 1rem;
    line-height: 1.8
}

@media print,
screen and (min-width:544px) {
    .follow_card p {
        font-size: 1.2rem
    }
}

@media print,
screen and (min-width:768px) {
    .follow_card p {
        font-size: 1.2rem
    }
}

.follow_card ul.sns_link_list {
    display: flex
}

.follow_card ul.sns_link_list li {
    margin: 0 1.2rem 0 0
}

.follow_card ul.sns_link_list li a {
    display: inline-block;
    position: relative;
    margin: 0;
    font-size: 1rem
}

@media print,
screen and (min-width:544px) {
    .follow_card ul.sns_link_list li a {
        font-size: 1.2rem
    }
}

@media print,
screen and (min-width:768px) {
    .follow_card ul.sns_link_list li a {
        font-size: 1.2rem
    }
}

.follow_card ul.sns_link_list li a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.follow_card ul.sns_link_list li a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    .follow_card ul.sns_link_list li a:hover {
        color: #fff;
        transition: transform .3s
    }

    .follow_card ul.sns_link_list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .follow_card ul.sns_link_list li a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.follow_card .btn-close {
    display: inline-block;
    cursor: pointer;
    position: absolute;
    top: 1.75rem;
    right: 1.5rem;
    z-index: 100;
    width: 1.3rem;
    height: 1.3rem
}

.follow_card .btn-close .btn-close-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    min-width: 45px;
    min-height: 45px
}

@media only screen and (min-width:768px) {
    .follow_card .btn-close {
        top: 3.5rem;
        right: 3rem
    }
}

.follow_card .btn-close:hover {
    cursor: pointer
}

.follow_card .btn-close:before,
.follow_card .btn-close:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    margin: -8% 0 0 -42%;
    background: #fff
}

.follow_card .btn-close:before {
    transform: rotate(-45deg)
}

.follow_card .btn-close:after {
    transform: rotate(45deg)
}

.foot_link_area__sp {
    display: block;
    padding: 5.25rem 1.5rem 3rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp {
        padding: 10.5rem 1.5rem 6rem
    }
}

@media only screen and (min-width:1024px) {
    .foot_link_area__sp {
        display: none;
        padding: 10.5rem 3rem 6rem
    }
}

.foot_link_area__sp dl {
    width: 100%;
    padding: 0 0 2rem;
    line-height: 1.3
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dl {
        padding: 0 0 4rem;
        border-top: 1px solid rgba(255, 255, 255, .1)
    }
}

.foot_link_area__sp dl.has-accordion {
    border-top: .9px solid rgba(255, 255, 255, .1)
}

.foot_link_area__sp dl:not(.has-accordion) {
    padding: 0
}

.foot_link_area__sp dl:not(.has-accordion) dt {
    padding: 0
}

.foot_link_area__sp dl:not(.has-accordion) dt:before {
    height: calc(100% - 2rem)
}

.foot_link_area__sp dl:not(.has-accordion) dt .arrow {
    height: calc(100% - 2rem)
}

.foot_link_area__sp dl:not(.has-accordion) dt a {
    display: inline-block;
    width: 100%;
    border-top: .9px solid rgba(255, 255, 255, .1);
    padding: 1.5rem 0 2rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dl:not(.has-accordion) dt a {
        padding: 3rem 0 4rem
    }
}

.foot_link_area__sp dt {
    position: relative;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    color: #fff;
    padding: 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dt {
        font-size: 3.2rem;
        padding: 3rem 0 0
    }
}

.foot_link_area__sp dt:before {
    background: 0 0;
    content: "";
    position: absolute;
    top: 1px;
    right: 4.5rem;
    width: .5px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .5px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dt:before {
        right: 9rem;
        opacity: .3;
        width: 1px;
        background-size: 1px 4px;
        background-image: linear-gradient(to bottom, #fff, #fff 1px, transparent 1px)
    }
}

.foot_link_area__sp dt .arrow {
    pointer-events: none
}

.foot_link_area__sp dt .arrow use {
    fill: #fff
}

.foot_link_area__sp dt small {
    display: block;
    font-size: .8rem;
    font-family: philosopher, sans-serif;
    color: rgba(255, 255, 255, .3);
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dt small {
        font-size: 1.6rem
    }
}

.foot_link_area__sp dt:hover {
    cursor: pointer
}

.foot_link_area__sp dd ul.sp_sub_foot_link {
    margin: .3rem 0;
    background: rgba(0, 0, 0, .15);
    padding: 1.5rem;
    border-radius: .3rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link {
        margin: .4rem 0;
        padding: 3rem;
        border-radius: .6rem
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link.sp_sub_foot_link__first {
    margin: 2rem 0 .3rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link.sp_sub_foot_link__first {
        margin: 4rem 0 .4rem
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li {
    margin: 1.5rem 0;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li {
        margin: 3rem 0
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li a {
    color: rgba(255, 255, 255, .3);
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li a {
        font-size: 2.2rem
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li:last-child {
    margin: 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li:last-child {
        margin: 3rem 0 0
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li.head {
    margin: 0 0 1rem;
    padding: 0 0 1.5rem;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    line-height: 1
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li.head {
        padding: 0 0 3rem;
        margin: 0 0 2rem
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li.head a {
    color: #fff;
    font-size: 1.3rem;
    display: inline-block;
    border-bottom: 1px solid #fff;
    line-height: 1;
    font-family: ryo-display-plusn, serif
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li.head a {
        font-size: 2.6rem
    }
}

.foot_link_area__sp dd ul.sp_sub_foot_link li.head_only {
    margin: 0;
    padding: 0;
    border-bottom: transparent;
    line-height: 1
}

.foot_link_area__sp dd ul.sp_sub_foot_link li.head_only a {
    color: #fff;
    font-size: 1.3rem;
    display: inline-block;
    border-bottom: 1px solid #fff;
    line-height: 1;
    font-family: ryo-display-plusn, serif
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp dd ul.sp_sub_foot_link li.head_only a {
        font-size: 2.6rem
    }
}

.foot_link_area__sp .arrow {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp .arrow {
        width: 9rem
    }
}

.foot_link_area__sp .arrow svg {
    display: block;
    width: 1.2rem;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    opacity: .2
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp .arrow svg {
        width: 1.9rem
    }
}

.foot_link_area__sp .arrow:before {
    display: none !important
}

.foot_link_area__sp .arrow:after {
    display: none !important
}

.foot_link_area__sp .cross {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp .cross {
        width: 9rem
    }
}

.foot_link_area__sp .cross:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .6);
    border-radius: 50%;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    width: 1.4rem;
    height: 1.4rem
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp .cross:after {
        width: 2.8rem;
        height: 2.8rem
    }
}

.foot_link_area__sp span {
    position: absolute;
    top: 0;
    right: 0;
    width: 4.5rem;
    height: 100%
}

@media only screen and (min-width:544px) {
    .foot_link_area__sp span {
        width: 9rem
    }
}

.foot_link_area__sp span:before,
.foot_link_area__sp span:after {
    content: "";
    display: block;
    width: .6rem;
    height: 1px;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    z-index: 10;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

@media only screen and (min-width:544px) {

    .foot_link_area__sp span:before,
    .foot_link_area__sp span:after {
        width: 1rem;
        height: .2rem
    }
}

.foot_link_area__sp span:after {
    background: #000;
    transform: translate(-50%, -50%) rotate(90deg);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.foot_link_area__sp .active:after {
    background: #454140;
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.foot_link_area__sp .active span:before {
    background: #fff;
    transform: translate(-50%, -50%) rotate(0);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.foot_link_area__sp .active span:after {
    background: #fff;
    transform: translate(-50%, -50%) rotate(0);
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

.sns_icon__fixed {
    position: fixed;
    left: 3rem;
    bottom: 3rem;
    z-index: 5555;
    display: none;
    width: 2.6rem
}

@media only screen and (min-width:1024px) {
    .sns_icon__fixed {
        display: block;
        left: 5rem
    }
}

.sns_icon__fixed ul.main_visual__sns_icon {
    position: relative
}

.sns_icon__fixed ul.main_visual__sns_icon li {
    height: 2.6rem;
    width: 2.6rem;
    margin: .4rem 0
}

.sns_icon__fixed ul.main_visual__sns_icon li a {
    height: 2.6rem;
    width: 2.6rem;
    display: block;
    position: relative
}

.sns_icon__fixed ul.main_visual__sns_icon li a:before {
    content: "";
    border: 1px solid #fff;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 1
}

.sns_icon__fixed ul.main_visual__sns_icon li a .facebook_icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3
}

.sns_icon__fixed ul.main_visual__sns_icon li a .facebook_icon svg {
    width: .62rem;
    height: 1.217rem
}

.sns_icon__fixed ul.main_visual__sns_icon li a .facebook_icon svg use {
    fill: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.sns_icon__fixed ul.main_visual__sns_icon li a .twitter_icon {
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3
}

.sns_icon__fixed ul.main_visual__sns_icon li a .twitter_icon svg {
    width: 1.2rem;
    height: 1.199rem
}

.sns_icon__fixed ul.main_visual__sns_icon li a .twitter_icon svg use {
    fill: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

ul.main_visual__sns_icon.is-black a:before {
    border: 1px solid #333 !important;
    transition: 0s
}

ul.main_visual__sns_icon.is-black a .facebook_icon svg use {
    fill: #333 !important;
    transition: 0s
}

ul.main_visual__sns_icon.is-black a .twitter_icon svg use {
    fill: #333 !important;
    transition: 0s
}

ul.main_visual__sns_icon li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #1878f2;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    mix-blend-mode: normal;
    z-index: 2
}

ul.main_visual__sns_icon li a:before {
    transform-origin: center center
}

ul.main_visual__sns_icon li a.facebook:after {
    background: #1878f2
}

ul.main_visual__sns_icon li a.twitter:after {
    background: #1da1f2
}

@media (min-width:768px) {
    ul.main_visual__sns_icon li a:hover {
        border: transparent;
        mix-blend-mode: normal
    }

    ul.main_visual__sns_icon li a:hover:before {
        transform: translate(-50%, -50%) scale(0, 0)
    }

    ul.main_visual__sns_icon li a:hover .facebook_icon {
        mix-blend-mode: normal
    }

    ul.main_visual__sns_icon li a:hover .facebook_icon svg {
        mix-blend-mode: normal
    }

    ul.main_visual__sns_icon li a:hover .facebook_icon svg use {
        fill: #fff !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    ul.main_visual__sns_icon li a:hover .twitter_icon {
        mix-blend-mode: normal
    }

    ul.main_visual__sns_icon li a:hover .twitter_icon svg {
        mix-blend-mode: normal
    }

    ul.main_visual__sns_icon li a:hover .twitter_icon svg use {
        fill: #fff !important;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    ul.main_visual__sns_icon li a:hover:after {
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        mix-blend-mode: normal
    }
}

.grecaptcha-badge {
    visibility: hidden
}

#loading {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    z-index: 99999;
    width: 100%;
    height: 100%;
    z-index: 5;
    background: #B49C68;
}

#loading .img {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

#loading #loadingBg1 {
    width: 50%;
    transform: translateX(-100%);
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    animation: RtL 2s 0s linear;
}

#loading #loadingBg2 {
    width: 50%;
    transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -moz-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -o-transform: translateX(100%);
    animation: LtR 2s 0s linear;
}

@keyframes RtL {
    0% {
        transform: translateX(0%);
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
    }

    100% {
        transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
        -moz-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        -o-transform: translateX(-100%);
    }
}

@keyframes LtR {
    0% {
        transform: translateX(0%);
        -webkit-transform: translateX(0%);
        -moz-transform: translateX(0%);
        -ms-transform: translateX(0%);
        -o-transform: translateX(0%);
    }

    100% {
        transform: translateX(100%);
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -o-transform: translateX(100%);
    }
}


#loading-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    max-width: 270px;
    width: 90%;
    transition: all 1s;
    -webkit-transition: all 1s;
}

#loadCon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    opacity: 1;
    transition: all 2s ease;
    -webkit-transition: all 2s ease;
    -moz-transition: all 2s ease;
    -ms-transition: all 2s ease;
    -o-transition: all 2s ease;
    text-align: center;
    width: 90%;
    z-index: 11;
}

#loading_logo {
    width: 90%;
    max-width: 360px;
    margin: 0 auto;
    opacity: 1;
    /*transition: all 1s ease;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    -o-transition: all 1s ease;*/
}

#loadCon ul {
    display: flex;
    justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    margin-top: 7%;
}

#loadCon ul li {
    margin: 0 2%;
}

#loadCon ul li a {
    display: block;

}

#loadCon ul li img {
    width: 100%;
    max-width: 290px;
    transition: all .5s;
    -webkit-transition: all .5s;
}

#loadCon ul li a:hover img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -o-transform: scale(1.1);
}

/*#loadLi1,
#loadLi2 {
    opacity: 0;
    transition: all 1s ease;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    -o-transition: all 1s ease;
}*/



@media only screen and (min-width:544px) {
    #loading {
        background-size: auto
    }
}

#loading.loading_fadeOut {
    transition: 3s cubic-bezier(.43, .05, .17, 1);
    pointer-events: none;
    opacity: 0;
    z-index: -1
}

#loading-bar {
    height: 2px;
    width: 100vw;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    background-color: rgba(51, 51, 51, .5);
    transform-origin: left;
    animation: loading-bar-anime 3s ease-out forwards;
    scale: 0 100%
}

@keyframes loading-bar-anime {
    0% {
        scale: 0 100%
    }

    30% {
        scale: 30% 100%
    }

    80% {
        scale: 80% 100%
    }

    100% {
        scale: 100% 100%
    }
}

#loading-bar.loading__finish {
    display: none
}

#loading_box {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 30rem;
    transform: translate(-50%, -50%) scale(1, 1);
    z-index: 2;
    pointer-events: none;
    transition: 1s cubic-bezier(.43, .05, .17, 1)
}

#loading_box #loading_logo {
    animation: loading-logo-appear 10s forwards linear
}

@keyframes loading-logo-appear {
    0% {
        scale: 1 1;
        opacity: 0;
        filter: blur(5px)
    }

    15% {
        opacity: 1;
        filter: blur(0px)
    }

    100% {
        scale: 1.4 1.4
    }
}

@media only screen and (min-width:544px) {
    #loading_box {
        width: 20rem;
    }
}

#loading_box.loading_logo__scale {
    filter: blur(5px);
    opacity: 0;
    transition: 1s cubic-bezier(.43, .05, .17, 1)
}

.loader__cursor {
    -webkit-transition: all .6s cubic-bezier(.165, .84, .44, 1) 0s;
    transition: all .6s cubic-bezier(.165, .84, .44, 1) 0s;
    -webkit-transition-property: top, left, width, height;
    transition-property: top, left, width, height;
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    width: 14px;
    height: 14px;
    background: 0 0;
    -webkit-box-shadow: 0px 1px 0px #000;
    box-shadow: 0px 1px 0px #000;
    background: 0 0;
    -webkit-animation: mymove .55s ease-in-out infinite;
    animation: mymove .55s ease-in-out infinite;
    display: none;
    z-index: 3
}

@media only screen and (min-width:544px) {
    .loader__cursor {
        display: block
    }
}

svg.spinner {
    animation: rotator 2s ease-in-out infinite
}

svg.spinner>.path {
    stroke-dasharray: 100;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: dash 1.5s ease-in-out infinite;
    stroke: #777
}

svg.spinner>.path.spinner__finish {
    opacity: 0;
    transition: .5s ease-in-out
}

@-webkit-keyframes mymove {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

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

@keyframes mymove {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg)
    }

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

@keyframes dash {
    0% {
        stroke-dashoffset: 100
    }

    50% {
        stroke-dashoffset: 40;
        transform: rotate(125deg)
    }

    100% {
        stroke-dashoffset: 100;
        transform: rotate(366deg)
    }
}

#loading_stoker {
    position: fixed;
    z-index: 100;
    pointer-events: none;
    opacity: 0
}

#fadein_wrap {
    opacity: 0;
    position: relative;
    transition: 2s cubic-bezier(.19, 1, .22, 1) .5s
}

#fadein_wrap:before {
    background-image: url(../image/main_black_bg__sp.gif);
    background-repeat: repeat;
    background-size: 30%;
    content: "";
    width: 100%;
    height: 100vh;
    position: absolute;
    top: 0;
    left: 0
}

#fadein_wrap.is_open {
    opacity: 1
}

#fadein_wrap_page {
    opacity: 0
}

#fadein_wrap_page.is_open {
    opacity: 1;
    transition: 3.5s cubic-bezier(.19, 1, .22, 1) .5s
}

.main-slider {
    height: 80rem !important;
    /* overflow: hidden; */
    /*-webkit-transition: all 1.3s cubic-bezier(.43, .05, .17, 1) !important;
    transition: all 1.3s cubic-bezier(.43, .05, .17, 1) !important;*/
    filter: blur(0px);
    opacity: 1 !important;
}

.main-slider.main_visual__fadeIn {
    height: 80rem !important;
    -webkit-transition: all 1.3s cubic-bezier(.43, .05, .17, 1) !important;
    transition: all 1.3s cubic-bezier(.43, .05, .17, 1) !important;
    filter: blur(0px);
    opacity: 1 !important
}

.sns_icon__fixed {
    opacity: 0 !important;
    -webkit-transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s
}

.sns_icon__fixed.sns_icon__fixed__fadeIn {
    opacity: 1 !important;
    -webkit-transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s
}

.main_visual_vertical_text {
    opacity: 0 !important;
    -webkit-transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s
}

.main_visual_vertical_text.main_visual_vertical_text__fadeIn {
    opacity: 1 !important;
    -webkit-transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s
}

.main-slider__sp {
    overflow: hidden;
    -webkit-transition: all 1s cubic-bezier(.43, .05, .17, 1) !important;
    transition: all 1s cubic-bezier(.43, .05, .17, 1) !important;
    height: 100vh !important;
    opacity: 0
}

.main-slider__sp.main_visual_sp__fadeIn {
    opacity: 1;
    -webkit-transition: all 1s cubic-bezier(.43, .05, .17, 1) !important;
    transition: all 1s cubic-bezier(.43, .05, .17, 1) !important
}

.main_visual__sp__inner {
    opacity: 0 !important;
    -webkit-transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: all 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    filter: blur(8px)
}

.main_visual__sp__inner.main_visual__sp__inner_fadeIn {
    opacity: 1 !important;
    -webkit-transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: 2.5s cubic-bezier(.19, 1, .22, 1) .4s;
    filter: none
}

.header_sp {
    opacity: 0 !important;
    -webkit-transition: all 1s cubic-bezier(.19, 1, .22, 1) .4s;
    transition: all 1s cubic-bezier(.19, 1, .22, 1) .4s;
    filter: blur(8px)
}

.header_sp.header_sp__fadeIn {
    opacity: 1 !important;
    -webkit-transition: 1s cubic-bezier(.19, 1, .22, 1) 0s;
    transition: 1s cubic-bezier(.19, 1, .22, 1) 0s;
    filter: none
}

@keyframes navcircleanime {
    0% {
        transform: translate(-50%, -50%) scale(1.4)
    }

    100% {
        transform: translate(-50%, -50%) scale(2.6);
        opacity: 0
    }
}

@keyframes circleanime {
    0% {
        transform: translateX(-50%) scale(0)
    }

    100% {
        transform: translateX(-50%) scale(2.4);
        opacity: 0
    }
}

@keyframes loop-slide {
    from {
        transform: translateX(0)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes blur {
    from {
        opacity: 0
    }

    to {
        opacity: 0;
        visibility: visible
    }
}

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

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

#stalker {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    transition: .1s;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 9999;
    opacity: 1;
    -webkit-transition: -webkit-opacity .2s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .2s cubic-bezier(.215, .61, .355, 1);
    display: none
}

@media only screen and (min-width:544px) {
    #stalker {
        display: block
    }
}

#stalker span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalker.slider_stalker_next {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    mix-blend-mode: exclusion
}

#stalker.slider_stalker_next span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalker.slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid #fff;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalker.slider_stalker_next:after {
    content: "次へ";
    position: absolute;
    color: #000;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#stalker.slider_stalker_prev {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    mix-blend-mode: exclusion
}

#stalker.slider_stalker_prev span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalker.slider_stalker_prev span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid #fff;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalker.slider_stalker_prev:after {
    content: "前へ";
    position: absolute;
    color: #000;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#stalkerWedding {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    transition: .1s;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 9999;
    opacity: 1;
    -webkit-transition: -webkit-opacity .2s cubic-bezier(.215, .61, .355, 1);
    transition: opacity .2s cubic-bezier(.215, .61, .355, 1);
    display: none
}

@media only screen and (min-width:544px) {
    #stalkerWedding {
        display: block
    }
}

#stalkerWedding span {
    background: rgba(18, 12, 9, .6);
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.slider_stalker_next {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1
}

#stalkerWedding.slider_stalker_next span {
    background: rgba(18, 12, 9, .6);
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid rgba(18, 12, 9, .6);
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalkerWedding.slider_stalker_next:after {
    content: "次へ";
    position: absolute;
    color: #fff;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#stalkerWedding.slider_stalker_prev {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1
}

#stalkerWedding.slider_stalker_prev span {
    background: rgba(18, 12, 9, .6);
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.slider_stalker_prev span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid rgba(18, 12, 9, .6);
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalkerWedding.slider_stalker_prev:after {
    content: "前へ";
    position: absolute;
    color: #fff;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#stalkerWedding.lightbox_stalker_btn {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 14rem;
    height: 14rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    mix-blend-mode: exclusion
}

#stalkerWedding.lightbox_stalker_btn span {
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 14rem;
    height: 14rem;
    position: absolute;
    background: #fff
}

#stalkerWedding.lightbox_stalker_btn:after {
    content: "拡大する";
    position: absolute;
    color: #000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block;
    background: 0 0
}

#stalkerWedding.lightbox_stalker_btn:before {
    display: none
}

#stalkerWedding.wedding_white_stalker span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.wedding_white_stalker.slider_stalker_next {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    mix-blend-mode: exclusion
}

#stalkerWedding.wedding_white_stalker.slider_stalker_next span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.wedding_white_stalker.slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid #fff;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalkerWedding.wedding_white_stalker.slider_stalker_next:after {
    content: "次へ";
    position: absolute;
    color: #000;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#stalkerWedding.wedding_white_stalker.slider_stalker_prev {
    position: fixed;
    top: -6rem;
    left: -6rem;
    width: 15rem;
    height: 15rem;
    background: 0 0;
    border-radius: 50%;
    transition-timing-function: ease-out;
    pointer-events: none;
    z-index: 8888;
    -webkit-transition: -webkit-transform .16s cubic-bezier(.215, .61, .355, 1);
    transition: transform .16s cubic-bezier(.215, .61, .355, 1);
    opacity: 1;
    mix-blend-mode: exclusion
}

#stalkerWedding.wedding_white_stalker.slider_stalker_prev span {
    background: #fff;
    display: block;
    border-radius: 50%;
    transform: scale(1, 1);
    -webkit-transition: -webkit-transform .3s cubic-bezier(.215, .61, .355, 1);
    transition: transform .3s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#stalkerWedding.wedding_white_stalker.slider_stalker_prev span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: .1rem solid #fff;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#stalkerWedding.wedding_white_stalker.slider_stalker_prev:after {
    content: "前へ";
    position: absolute;
    color: #000;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

.js-slideArea {
    -webkit-transition: -webkit-transform .5s cubic-bezier(.43, .05, .17, 1);
    transition: -webkit-transform .5s cubic-bezier(.43, .05, .17, 1);
    transition: transform .5s cubic-bezier(.43, .05, .17, 1);
    transition: transform .5s cubic-bezier(.43, .05, .17, 1), -webkit-transform .5s cubic-bezier(.43, .05, .17, 1)
}

.sp_parallax__attachment img {
    -webkit-transition: left .5s cubic-bezier(.43, .05, .17, 1);
    transition: left .5s cubic-bezier(.43, .05, .17, 1);
    left: 0
}

html.drawerMenu-open .js-slideArea {
    -webkit-transform: translateX(-8rem);
    transform: translateX(-8rem)
}

html.drawerMenu-open .sp_parallax__attachment img {
    left: -8rem
}

.sp_navigation {
    display: block;
    position: relative;
    z-index: 1000;
    width: 100%;
    overflow-x: hidden
}

.sp_navigation:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .5px;
    background-color: #3b3837;
    z-index: 20
}

@media only screen and (min-width:1024px) {
    .sp_navigation {
        display: none
    }
}

.sp_navigation:after {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 1rem;
    right: 0;
    width: 2.5rem;
    height: 2rem;
    background: #252120;
    background: linear-gradient(90deg, rgba(37, 33, 32, 0) 0%, rgba(37, 33, 32, .3) 11%, rgba(37, 33, 32, .7) 37%, #252120 65%)
}

@media only screen and (min-width:544px) {
    .sp_navigation:after {
        width: 5rem;
        height: 4rem;
        top: 1.9rem
    }
}

.sp_navigation.sp_navigation__not_after:after {
    display: none
}

.sp_navigation .sp_navi_list {
    display: flex;
    align-items: center;
    padding: 1rem 0 0 1.5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list {
        padding: 1.9rem 0 0 3rem
    }
}

.sp_navigation .sp_navi_list__parnt {
    display: block;
    line-height: 1;
    position: relative;
    padding: 0 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__parnt {
        padding: 0 3rem 0 0
    }
}

.sp_navigation .sp_navi_list__parnt:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 1px;
    height: 2rem;
    background: rgba(255, 255, 255, .1)
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__parnt:after {
        height: 4rem
    }
}

.sp_navigation .sp_navi_list__parnt a {
    line-height: 1;
    display: block;
    color: rgba(255, 255, 255, .4);
    font-size: 1.2rem;
    position: relative;
    white-space: nowrap;
    transform: translateY(-1px)
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__parnt a {
        transform: translateY(-2px)
    }
}

.sp_navigation .sp_navi_list__parnt a:after {
    content: "";
    position: absolute;
    bottom: -.3rem;
    left: 0;
    width: 100%;
    height: .1rem;
    background: rgba(255, 255, 255, .4)
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__parnt a:after {
        height: .2rem
    }
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__parnt a {
        font-size: 2.4rem
    }
}

.sp_navigation .sp_navi_list__child {
    overflow: hidden;
    position: relative;
    margin-left: 0
}

.sp_navigation .sp_navi_list__child:before {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 100%;
    background: #252120;
    background: linear-gradient(270deg, rgba(37, 33, 32, 0) 0%, rgba(37, 33, 32, .3) 11%, rgba(37, 33, 32, .7) 37%, #252120 75%)
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__child:before {
        width: 3rem
    }
}

.sp_navigation .sp_navi_list__child.sp_navi_list__child__history {
    margin-left: 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation .sp_navi_list__child.sp_navi_list__child__history {
        margin-left: 3rem
    }
}

.sp_navigation .sp_navi_list__child.sp_navi_list__child__history:before {
    display: none
}

.sp_navigation .sp_navi_list__child.sp_navi_list__child__history ul.sp_navi_child_list li:first-child {
    margin-left: 0 !important
}

.sp_navigation .sp_navi_list__child::-webkit-scrollbar {
    display: none
}

.sp_navigation ul.sp_navi_child_list {
    display: flex;
    align-items: center
}

.sp_navigation ul.sp_navi_child_list .slick-track {
    display: flex;
    width: auto !important;
    padding: 0
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list .slick-track {
        padding: 0
    }
}

.sp_navigation ul.sp_navi_child_list li {
    margin-right: .5rem;
    width: auto !important
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list li {
        margin-right: 1rem
    }
}

.sp_navigation ul.sp_navi_child_list li.small_margin {
    margin-right: .5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list li.small_margin {
        margin-right: .5rem
    }
}

.sp_navigation ul.sp_navi_child_list li:first-child {
    margin-left: 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list li:first-child {
        margin-left: 3rem
    }
}

.sp_navigation ul.sp_navi_child_list li:last-child {
    margin-right: 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list li:last-child {
        margin-right: 3rem
    }
}

.sp_navigation ul.sp_navi_child_list li a {
    white-space: nowrap;
    color: #fff;
    line-height: 1;
    font-size: 1.2rem;
    background: rgba(255, 255, 255, .1);
    display: block;
    border-radius: .25rem;
    padding: .24rem .75rem .4rem
}

@media only screen and (min-width:544px) {
    .sp_navigation ul.sp_navi_child_list li a {
        line-height: .98;
        font-size: 2.4rem;
        border-radius: .5rem;
        padding: .5rem 1.5rem .75rem
    }
}

.sp_navigation ul.sp_navi_child_list li a.active {
    background: rgba(255, 255, 255, .3);
    position: relative
}

.sp_navigation.sp_navigation_has_child .sp_navi_list {
    display: flex;
    align-items: center;
    padding: 0 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation.sp_navigation_has_child .sp_navi_list {
        padding: 0 0 0 3rem
    }
}

.sp_navigation.sp_navigation_has_child ul.sp_navi_child_list {
    padding: 1rem 0
}

@media only screen and (min-width:544px) {
    .sp_navigation.sp_navigation_has_child ul.sp_navi_child_list {
        padding: 1.9rem 0 2rem
    }
}

.sp_navigation.sp_navigation_has_child ul.sp_navi_child_list li a.active {
    position: relative
}

.sp_navigation.sp_navigation_has_child ul.sp_navi_child_list li a.active:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1rem;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 4.25px 4px;
    border-color: transparent transparent rgba(0, 0, 0, .3) transparent
}

@media only screen and (min-width:544px) {
    .sp_navigation.sp_navigation_has_child ul.sp_navi_child_list li a.active:after {
        bottom: -2rem;
        border-width: 0 8.5px 8px
    }
}

.sp_navigation__sub {
    background-color: #1a1716;
    display: block;
    position: absolute;
    z-index: 1000;
    width: 100%;
    overflow: hidden;
    margin: 0
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub {
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .sp_navigation__sub {
        display: none
    }
}

.sp_navigation__sub:before {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 100%;
    background: #252120;
    background: linear-gradient(-90deg, rgba(25, 22, 22, 0) 0%, rgba(25, 22, 22, .3) 11%, rgba(25, 22, 22, .7) 25%, #191616 50%)
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub:before {
        width: 3rem
    }
}

.sp_navigation__sub:after {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 3.5rem;
    height: 100%;
    background: #252120;
    background: linear-gradient(90deg, rgba(25, 22, 22, 0) 0%, rgba(25, 22, 22, .3) 11%, rgba(25, 22, 22, .7) 50%, #191616 75%)
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub:after {
        width: 7rem
    }
}

.sp_navigation__sub ul.sp_navigation__sub_list {
    padding: 0 .75rem;
    position: relative;
    display: flex
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub ul.sp_navigation__sub_list {
        padding: 0 1.5rem
    }
}

.sp_navigation__sub ul.sp_navigation__sub_list li {
    display: flex;
    width: auto !important;
    position: relative
}

.sp_navigation__sub ul.sp_navigation__sub_list li:last-child {
    margin-right: 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub ul.sp_navigation__sub_list li:last-child {
        margin-right: 3rem
    }
}

.sp_navigation__sub ul.sp_navigation__sub_list li a {
    line-height: 1;
    color: #fff;
    opacity: .5;
    font-size: 1rem;
    padding: 1.25rem .75rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .sp_navigation__sub ul.sp_navigation__sub_list li a {
        padding: 2.5rem 1.5rem;
        font-size: 2rem
    }
}

.sp_navigation__sub ul.sp_navigation__sub_list li a.active {
    opacity: 1;
    color: #c90
}

.sp_navigation__wedding {
    background: #fff;
    border-bottom: 1px solid rgba(51, 51, 51, .1);
    position: relative
}

.sp_navigation__wedding:after {
    display: block !important;
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 1rem;
    right: 0;
    width: 2.5rem;
    height: 2rem;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 11%, rgba(255, 255, 255, .7) 37%, #fff 65%)
}

@media only screen and (min-width:544px) {
    .sp_navigation__wedding:after {
        width: 5rem;
        height: 4rem;
        top: 1.9rem
    }
}

.sp_navigation__wedding .sp_navi_list {
    padding: 1rem 0 1rem 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__wedding .sp_navi_list {
        padding: 2rem 0 2rem 3rem
    }
}

.sp_navigation__wedding .sp_navi_list__parnt:after {
    width: .9px;
    background: rgba(51, 51, 51, .13);
    height: 2rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__wedding .sp_navi_list__parnt:after {
        height: 4rem
    }
}

.sp_navigation__wedding .sp_navi_list__parnt a {
    color: rgba(51, 51, 51, .7)
}

.sp_navigation__wedding .sp_navi_list__parnt a:after {
    bottom: -.3rem;
    height: .9px;
    background: rgba(51, 51, 51, .7)
}

.sp_navigation__wedding .sp_navi_list__child {
    position: relative
}

.sp_navigation__wedding .sp_navi_list__child:before {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem;
    height: 100%;
    background: #fff;
    background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .3) 11%, rgba(255, 255, 255, .7) 37%, #fff 75%)
}

@media only screen and (min-width:544px) {
    .sp_navigation__wedding .sp_navi_list__child:before {
        width: 3rem;
        top: 0;
        left: 0
    }
}

.sp_navigation__wedding ul.sp_navi_child_list li a {
    background: #f0eee9;
    color: #333
}

.sp_navigation__wedding ul.sp_navi_child_list li a.active {
    background: #8e7823;
    color: #fff
}

.sp_navigation__bridalfair {
    background: 0 0;
    border-bottom: 1px solid rgba(51, 51, 51, .1);
    position: relative
}

.sp_navigation__bridalfair:before {
    z-index: 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(3rem);
    -webkit-backdrop-filter: blur(3rem)
}

.sp_navigation__bridalfair:after {
    display: none
}

.sp_navigation__bridalfair .sp_navi_list {
    padding: 1rem 0 1rem 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__bridalfair .sp_navi_list {
        padding: 2rem 0 2rem 3rem
    }
}

.sp_navigation__bridalfair .sp_navi_list__parnt:after {
    width: .9px;
    background: rgba(255, 255, 255, .3);
    height: 2rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__bridalfair .sp_navi_list__parnt:after {
        height: 4rem
    }
}

.sp_navigation__bridalfair .sp_navi_list__parnt a {
    color: rgba(255, 255, 255, .7)
}

.sp_navigation__bridalfair .sp_navi_list__parnt a:after {
    bottom: -.3rem;
    height: .9px;
    background: rgba(255, 255, 255, .7)
}

.sp_navigation__bridalfair .sp_navi_list__child {
    position: relative
}

.sp_navigation__bridalfair .sp_navi_list__child:before {
    display: none
}

.sp_navigation__bridalfair ul.sp_navi_child_list li a {
    background: 0 0;
    color: #fff;
    border: .9px solid #fff
}

@media only screen and (min-width:544px) {
    .sp_navigation__bridalfair ul.sp_navi_child_list li a {
        border: 1px solid #fff
    }
}

.sp_navigation__bridalfair ul.sp_navi_child_list li a.active {
    background: #8e7823;
    color: #fff;
    border: .9px solid #8e7823
}

@media only screen and (min-width:544px) {
    .sp_navigation__bridalfair ul.sp_navi_child_list li a.active {
        border: 1px solid #8e7823
    }
}

.main_visual {
    position: relative;
    z-index: 1000;
    display: none
}

@media only screen and (min-width:1024px) {
    .main_visual {
        display: block
    }
}

.main_visual .glow_animation {
    border-radius: .6rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.main_visual .glow_animation.glow_active {
    background: radial-gradient(#fff, rgba(255, 255, 255, 0));
    background-size: 250% 250%;
    -webkit-animation: glow 1.7s ease-out forwards;
    animation: glow 1.7s ease-out forwards;
    mix-blend-mode: overlay;
    opacity: 0;
    z-index: 2
}

.main_visual .main-slider {
    width: 100%;
    height: 80rem;
    background-size: cover;
    border-radius: .6rem;
    filter: brightness(.8)
}

.main_visual .main-slider .slick-list {
    height: 80rem;
    width: 100%;
    overflow: hidden;
    border-radius: .6rem
}

.main_visual .main-slider .slick-list .slick-track {
    height: 80rem;
    overflow: hidden
}

.main_visual .main-slider .slick-list .slick-track li {
    background-blend-mode: hard-light !important;
    border-radius: .6rem
}

.main_visual .main-slider .slick-list .slick-track li .itemImg {
    width: 100%;
    height: 108%
}

@media only screen and (min-width:544px) {
    .main_visual .main-slider .slick-list .slick-track li .itemImg {
        height: 108%
    }
}

.main_visual .main-slider .slick-list .slick-track li .item01 {
    background: url('') center center no-repeat;
    background-size: cover
}

.main_visual .main-slider .slick-list .slick-track li .item02 {
    background: url('') center center no-repeat;
    background-size: cover
}

.main_visual .main-slider .slick-list .slick-track li .item03 {
    background: url('') center center no-repeat;
    background-size: cover
}

.main_visual .main-slider .slick-list .slick-track li .item04 {
    background: url('') center center no-repeat;
    background-size: cover
}

@-webkit-keyframes glow {
    0% {
        background-position: -20% -20%;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    60% {
        background-position: -140% -140%;
        opacity: 1
    }

    100% {
        background-position: -140% -140%;
        opacity: 0
    }
}

@keyframes glow {
    0% {
        background-position: -20% -20%;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    60% {
        background-position: -140% -140%;
        opacity: 1
    }

    100% {
        background-position: -140% -140%;
        opacity: 0
    }
}

ul#index_section_01__bg_slide {
    position: fixed;
    top: 0;
    left: 0;
    translate: 0 calc(50svh - 50%);
    display: flex;
    align-items: center;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
    opacity: 0
}

ul#index_section_01__bg_slide li {
    animation: loop-slide 100s infinite linear 1s both;
    width: 140rem
}

@media only screen and (min-width:544px) {
    ul#index_section_01__bg_slide li {
        width: 170rem;
        animation: loop-slide 150s infinite linear 1s both
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_01__bg_slide li {
        top: 21%;
        width: 200rem
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_01__bg_slide li {
        width: 230rem;
        top: 42%
    }
}

ul#index_section_01__bg_slide img {
    width: 140rem;
    height: auto
}

@media only screen and (min-width:1024px) {
    ul#index_section_01__bg_slide img {
        top: 42%;
        width: 200rem
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_01__bg_slide img {
        width: 230rem;
        top: 42%
    }
}

ul#index_section_02__bg_slide {
    position: fixed;
    top: 0;
    left: 0;
    translate: 0 calc(50svh - 50%);
    display: flex;
    align-items: center;
    z-index: -1;
    overflow: hidden;
    pointer-events: none;
    opacity: 0
}

ul#index_section_02__bg_slide li {
    animation: loop-slide 100s infinite linear 1s both;
    width: 160rem
}

@media only screen and (min-width:1024px) {
    ul#index_section_02__bg_slide li {
        top: 21%;
        width: 220rem;
        animation: loop-slide 150s infinite linear 1s both
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_02__bg_slide li {
        width: 257rem;
        top: 42%
    }
}

ul#index_section_02__bg_slide img {
    width: 160rem;
    height: auto
}

@media only screen and (min-width:1024px) {
    ul#index_section_02__bg_slide img {
        top: 42%;
        width: 220rem
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_02__bg_slide img {
        width: 257rem;
        top: 42%
    }
}

ul#index_section_03__bg_slide {
    position: fixed;
    top: 0;
    left: 0;
    translate: 0 calc(50svh - 50%);
    display: flex;
    align-items: center;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
    opacity: 0;
    z-index: 1
}

ul#index_section_03__bg_slide li {
    animation: loop-slide 100s infinite linear 1s both;
    width: 170rem
}

@media only screen and (min-width:1024px) {
    ul#index_section_03__bg_slide li {
        top: 21%;
        width: 230rem;
        animation: loop-slide 150s infinite linear 1s both
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_03__bg_slide li {
        width: 261rem;
        top: 42%
    }
}

ul#index_section_03__bg_slide img {
    width: 170rem;
    height: auto
}

@media only screen and (min-width:1024px) {
    ul#index_section_03__bg_slide img {
        top: 42%;
        width: 230rem
    }
}

@media only screen and (min-width:1024px) {
    ul#index_section_03__bg_slide img {
        width: 261rem;
        top: 42%
    }
}

.main_visual {
    position: relative;
    z-index: 1000;
    margin: 22rem 0 0;
}

.main_visual .main_visual__slide_area {
    position: relative;
    height: 80rem;
    border-radius: .6rem
}

.main_visual .main_visual__slide_area p.main_visual_vertical_text {
    font-size: 1.2rem;
    color: #fff;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    position: absolute;
    top: 7.5rem;
    right: 3.5rem;
    z-index: 100;
    line-height: 1
}

.main_visual .main_visual__bottom_message {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -26.5rem;
    display: flex;
    justify-content: flex-end;
    z-index: 500
}

@media only screen and (min-width:1024px) {
    .main_visual .main_visual__bottom_message {
        padding-right: 0;
        padding-left: 0
    }
}

.main_visual .main_visual__bottom_message h1.main_visual__h1 {
    color: #fff;
    display: flex;
    position: relative;
    z-index: 500
}

.main_visual .main_visual__bottom_message h1.main_visual__h1 .randomAnime {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    letter-spacing: 1.2rem;
    font-family: ryo-display-plusn, serif;
    font-size: 3.4rem;
    font-weight: 400;
    margin: 0 .6rem;
    transition: all .5s
}

.main_visual .main_visual__bottom_message h1.main_visual__h1 .randomAnime2 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    letter-spacing: 1.2rem;
    font-family: ryo-display-plusn, serif;
    font-size: 3.4rem;
    font-weight: 400;
    margin: 0 .6rem;
    transition: all .5s
}

.main_visual .main_visual__bottom_message h1.main_visual__h1 .randomAnime3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    letter-spacing: 1.2rem;
    font-family: ryo-display-plusn, serif;
    font-size: 3.4rem;
    font-weight: 400;
    margin: 0 .6rem;
    transition: all .5s
}

.index_section_01 {
    padding: 10rem 0 8.5rem;
    background-image: url(../image/main_black_bg__sp.gif);
    background-size: 20%;
    background-repeat: repeat
}

@media (max-width:1023px) {
    .index_section_01 {
        background-image: url(../image/main_black_bg__sp.gif);
        background-size: 50%;
        background-repeat: repeat;
        position: relative;
        z-index: 1;
        padding-top: 20rem
    }
}

.index_section_01_wrapper {
    position: relative;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .index_section_01 {
        padding: 20rem 0 17rem
    }
}

@media only screen and (min-width:1024px) {
    .index_section_01 {
        padding: 16rem 0
    }
}

@media only screen and (min-width:1024px) {
    .index_section_01 .index_section_01_top_container {
        padding-right: 0;
        padding-left: 0
    }
}

.index_section_01 p {
    color: rgba(255, 255, 255, .5)
}

.index_section_01 p.index_top__text {
    max-width: 50%;
    width: 100%
}

@media only screen and (min-width:1024px) {
    .index_section_01 p.index_top__text {
        max-width: 48rem
    }
}

ul.index_section_01__link_list {
    padding: 8rem 0 4.5rem
}

@media only screen and (min-width:544px) {
    ul.index_section_01__link_list {
        padding: 16rem 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list {
        padding: 10rem 0 8rem
    }
}

@media only screen and (min-width:1600px) {
    ul.index_section_01__link_list {
        padding: 8rem 0
    }
}

ul.index_section_01__link_list li {
    position: relative
}

/*ul.index_section_01__link_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    opacity: .5;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 4px 1px;
    background-position: left top;
    background-repeat: repeat-x;
    display: none
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li:before {
        display: block
    }
}

ul.index_section_01__link_list li:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    opacity: .5;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 4px 1px;
    background-position: left top;
    background-repeat: repeat-x;
    display: none
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li:last-child:after {
        display: block
    }
}*/

ul.index_section_01__link_list li a {
    padding: 4.5rem 3rem 7rem;
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: .4rem .4rem 0 0;
    background: linear-gradient(90deg, #2B2929 0%, #272727 66.77%, #2E2E2E 100%);
}

@media only screen and (min-width:544px) {
    ul.index_section_01__link_list li a {
        padding: 9rem 6rem 16rem;
        border-radius: .8rem .8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li a {
        padding: 4.6rem 0 9.5rem;
        border-radius: 0
    }
}

ul.index_section_01__link_list li a .areaBackground {
    content: "";
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 80%);
    top: 0;
    left: 0;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    z-index: -2;
    opacity: 0
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li a .areaBackground {
        display: block
    }
}

ul.index_section_01__link_list li a .link_list__inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    box-sizing: border-box;
    display: block
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li a .link_list__inner {
        display: flex;
        max-width: 90rem
    }
}

ul.index_section_01__link_list li a .link_list__inner__left {
    width: 100%;
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    color: #fff;
    line-height: 1;
    letter-spacing: .15rem;
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    ul.index_section_01__link_list li a .link_list__inner__left {
        font-size: 3.6rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li a .link_list__inner__left {
        width: 57%;
        font-size: 2.6rem;
        margin: 0
    }
}

ul.index_section_01__link_list li a .link_list__inner__left span {
    display: inline-block;
    padding-bottom: 1px;
    border-bottom: 1px solid #fff
}

ul.index_section_01__link_list li a .link_list__inner__right {
    width: 100%;
    color: rgba(255, 255, 255, .5);
    letter-spacing: .08rem
}

@media only screen and (min-width:1024px) {
    ul.index_section_01__link_list li a .link_list__inner__right {
        width: 50%
    }
}

@media (min-width:768px) {
    ul.index_section_01__link_list li a:hover .areaBackground {
        opacity: .7;
        -webkit-transition: 0s;
        transition: 0s
    }
}

#stalker01,
#stalker02,
#stalker03 {
    pointer-events: none;
    position: fixed;
    width: 25rem;
    height: 25rem;
    top: -14rem;
    left: -14rem;
    right: auto;
    z-index: 1;
    -webkit-transition: .4s cubic-bezier(.19, 1, .22, 1);
    transition: .4s cubic-bezier(.19, 1, .22, 1);
    display: none
}

@media only screen and (min-width:1024px) {

    #stalker01,
    #stalker02,
    #stalker03 {
        display: block
    }
}

#stalker01 img,
#stalker02 img,
#stalker03 img {
    width: 100%;
    height: auto;
    border-radius: .5rem;
    opacity: 0;
    -webkit-transition: .6s cubic-bezier(.19, 1, .22, 1);
    transition: .6s cubic-bezier(.19, 1, .22, 1);
    -webkit-filter: blur(10px);
    filter: blur(10px)
}

#stalker01.hov_,
#stalker02.hov_,
#stalker03.hov_ {
    position: fixed;
    width: 25rem;
    height: 25rem;
    top: -14rem;
    left: -14rem;
    right: auto;
    -webkit-transition: .4s cubic-bezier(.19, 1, .22, 1);
    transition: .4s cubic-bezier(.19, 1, .22, 1)
}

#stalker01.hov_ img,
#stalker02.hov_ img,
#stalker03.hov_ img {
    opacity: 1;
    -webkit-transition: .6s cubic-bezier(.19, 1, .22, 1);
    transition: .6s cubic-bezier(.19, 1, .22, 1);
    -webkit-filter: blur(0px);
    filter: blur(0px)
}

a.index_about_link_btn {
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    position: relative;
    margin: 0 auto;
    display: block
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn {
        width: 32rem;
        height: 32rem
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn {
        width: 22rem;
        height: 22rem
    }
}

a.index_about_link_btn .circle {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .05);
    background-size: 100% auto;
    width: 14.8rem;
    height: 14.8rem;
    border-radius: 50%;
    transition: all .4s ease-out;
    border: 1px solid #C31111;
    opacity: .7
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn .circle {
        width: 29.6rem;
        height: 29.6rem
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn .circle {
        width: 20.5rem;
        height: 20.5rem;
        opacity: 1
    }
}

a.index_about_link_btn .circle:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/about_link_btn__hovBg.png) center center no-repeat;
    background-size: cover;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

a.index_about_link_btn:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 16rem;
    height: 16rem;
    border-radius: 50%;
    opacity: 1;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 160 160' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='80' cy='80' r='80' stroke='%23fff' stroke-width='.5' paint-order='stroke' stroke-dasharray='0 2' stroke-linecap='round' fill='transparent' /></svg>");
    background-size: 100% 100%;
    background-repeat: no-repeat
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn:before {
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 320 320' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='160' cy='160' r='160' stroke='%23fff' stroke-width='1' paint-order='stroke' stroke-dasharray='0 4' stroke-linecap='round' fill='transparent' /></svg>");
        width: 32rem;
        height: 32rem
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn:before {
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 220 220' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='110' cy='110' r='110' stroke='%23fff' stroke-width='1' paint-order='stroke' stroke-dasharray='0 4' stroke-linecap='round' fill='transparent' /></svg>");
        width: 22rem;
        height: 22rem;
        opacity: .6
    }
}

a.index_about_link_btn .text {
    position: absolute;
    color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block
}

a.index_about_link_btn .text span.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
    margin: 0 0 .75rem;
    line-height: 1;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: .08rem;
    font-size: 1.2rem;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn .text span.vertical {
        font-size: 2.3rem;
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn .text span.vertical {
        font-size: 1.4rem;
        margin: 0 0 1.5rem
    }
}

a.index_about_link_btn .text span.arrow {
    display: block;
    width: 2rem;
    height: 2rem;
    z-index: 0;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0);
    transition: all .5s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn .text span.arrow {
        background: rgba(255, 255, 255, .1);
        width: 4rem;
        height: 4rem;
        border-radius: 50%
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn .text span.arrow {
        width: 3rem;
        height: 3rem;
        border-radius: 50%
    }
}

a.index_about_link_btn .text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
    transform: translate(-50%, -50%) scale(0, 0);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    opacity: 0
}

a.index_about_link_btn .text span.arrow:after {
    content: "";
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: .9px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    opacity: 1
}

a.index_about_link_btn .text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    a.index_about_link_btn .text span.arrow svg {
        width: 2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

@media only screen and (min-width:1024px) {
    a.index_about_link_btn .text span.arrow svg {
        width: 1.2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

a.index_about_link_btn .text span.arrow svg use {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    fill: #fff
}

@media (min-width:768px) {
    a.index_about_link_btn:hover {
        cursor: pointer
    }

    a.index_about_link_btn:hover .circle {
        background: rgba(255, 255, 255, .05);
        transform: translate(-50%, -50%) scale(1, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        position: relative;
        border: 1px solid #C31111
    }

    a.index_about_link_btn:hover .circle:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: url(../image/about_link_btn__hovBg.png) center center no-repeat;
        background-size: cover;
        transition: all .5s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }

    a.index_about_link_btn:hover .text span.arrow {
        border: .9px solid transparent;
        transition: all .5s cubic-bezier(.26, .06, 0, 1)
    }

    a.index_about_link_btn:hover .text span.arrow:before {
        display: none
    }

    a.index_about_link_btn:hover .text span.arrow svg use {
        fill: #fff;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.index_about_link_btn:hover .circle {
        background: rgba(255, 255, 255, 0);
        transform: translate(-50%, -50%) scale(.95, .95);
        border: 0 solid #C31111
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.index_about_link_btn:hover .text span.arrow:before {
        display: block;
        -webkit-transform: translate(-50%, -50%) scale(1, 1);
        transform: translate(-50%, -50%) scale(1, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.index_about_link_btn:hover .text span.arrow:after {
        opacity: 0;
        scale: 0 0
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.index_about_link_btn:hover .text span.arrow svg use {
        fill: #C31111
    }
}

.home_caption_slider__body {
    width: 100%;
    overflow: hidden;
    margin: 5rem 0 0
}

@media only screen and (min-width:544px) {
    .home_caption_slider__body {
        margin: 13rem 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .home_caption_slider__body {
        margin: 5rem 0 0
    }
}

.home_caption_slider__body_wrap {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    box-sizing: border-box;
    overflow: visible
}

@media only screen and (min-width:768px) {
    .home_caption_slider__body_wrap {
        max-width: 1100px
    }
}

@media only screen and (min-width:1600px) {
    .home_caption_slider__body_wrap {
        max-width: 1350px
    }
}

.home_caption_slider {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    margin-top: 3rem;
    margin-bottom: 6rem;
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .home_caption_slider {
        width: 100%;
    }
}

@media only screen and (min-width:1024px) {
    .home_caption_slider {
        margin-right: 0;
        margin-left: 0;
        width: 100%;
        margin-top: 10rem;
        margin-bottom: 12rem
    }
}

.home_caption_slider a.caption-swiper-button-prev {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -100%
}

.home_caption_slider a.caption-swiper-button-prev:after {
    display: none
}

.home_caption_slider a.caption-swiper-button-next {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.home_caption_slider a.caption-swiper-button-next:after {
    display: none
}

.home_caption_slider .caption-swiper-wrapper {
    width: 100%;
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide {
    display: block
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    border-radius: .5rem;
    margin-bottom: 1rem;
    box-shadow: .5rem 1rem 2rem rgba(0, 0, 0, .1)
}

@media only screen and (min-width:1024px) {
    .home_caption_slider .caption-swiper-wrapper .swiper-slide .thumb {
        border-radius: .5rem
    }
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide .home_caption_slider__txt {
    font-size: 1.2rem;
    display: none;
    line-height: 1.7;
    color: rgba(255, 255, 255, .2) !important
}

@media only screen and (min-width:1024px) {
    .home_caption_slider .caption-swiper-wrapper .swiper-slide .home_caption_slider__txt {
        display: block
    }
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide img {
    border-radius: .5rem;
    width: 100%;
    transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:1024px) {
    .home_caption_slider .caption-swiper-wrapper .swiper-slide img {
        border-radius: .5rem
    }
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide {
    /* width: 70% !important; */
     !I;
     !;
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide {
    transform: scale(.7) translateX(15%) !important;
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide .home_caption_slider__txt {
    font-size: 1.7rem !important;
    transition-delay: .8s;
    -webkit-transition-delay: .8s
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide-active {
    transform: scale(1) !important;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide-active .home_caption_slider__txt {
    font-size: 1.2rem !important;
    transition-delay: 0s;
    -webkit-transition-delay: 0s
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide-next {
    transform: scale(.7) translateX(-15%) !important;
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.home_caption_slider .caption-swiper-wrapper .swiper-slide-next .home_caption_slider__txt {
    font-size: 1.7rem !important;
    transition-delay: .8s;
    -webkit-transition-delay: .8s
}

#caption_slider_stalker_prev {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 3rem;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    margin: 0;
    display: none
}

@media only screen and (min-width:544px) {
    #caption_slider_stalker_prev {
        display: block
    }
}

#caption_slider_stalker_prev span {
    background: rgba(0, 0, 0, .6);
    display: block;
    transform: scale(0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    border-radius: 50%
}

.caption_slider_stalker {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    margin: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    display: none
}

@media only screen and (min-width:544px) {
    .caption_slider_stalker {
        display: block
    }
}

.caption_slider_stalker span {
    background: rgba(0, 0, 0, .6);
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    -webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

.caption_slider_stalker span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

.caption_slider_stalker:after {
    content: "前へ";
    position: absolute;
    color: #fff;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#caption_slider_stalker_next {
    width: 15rem;
    height: 15rem;
    display: none
}

@media only screen and (min-width:544px) {
    #caption_slider_stalker_next {
        display: block
    }
}

#caption_slider_stalker_next span {
    border-radius: 50%;
    background: rgba(0, 0, 0, .6);
    transform: scale(.8, .8);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#caption_slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#caption_slider_stalker_next:after {
    display: block;
    content: "次へ";
    color: #fff
}

.corona_info__wrap {
    width: 100%;
    overflow: hidden;
    padding-right: 3rem;
    padding-left: 3rem;
    margin: 0 auto
}

@media only screen and (min-width:544px) {
    .corona_info__wrap {
        padding-right: 6rem;
        padding-left: 6rem
    }
}

@media only screen and (min-width:1024px) {
    .corona_info__wrap {
        padding-right: 3rem;
        padding-left: 3rem;
        max-width: 110rem
    }
}

a.corona_info {
    position: relative;
    padding: 4.5rem 0 5rem;
    display: block;
    width: 100%;
    margin: 0 0 2.25rem
}

@media only screen and (min-width:544px) {
    a.corona_info {
        padding: 9rem 0 8rem;
        margin: 0 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    a.corona_info {
        padding: 6rem 0 5rem;
        margin: 0
    }
}

a.corona_info .areaBackground {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 80%);
    top: 0;
    left: 0;
    -webkit-transition: all .6s cubic-bezier(.43, .05, .17, 1);
    transition: all .6s cubic-bezier(.43, .05, .17, 1);
    z-index: -2;
    opacity: 0
}

@media only screen and (min-width:1024px) {
    a.corona_info .areaBackground {
        display: block
    }
}

a.corona_info span.corona_info__head {
    display: block;
    font-family: ryo-display-plusn, serif;
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    letter-spacing: .32rem;
    font-weight: 600;
    line-height: 1
}

@media only screen and (min-width:544px) {
    a.corona_info span.corona_info__head {
        font-size: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    a.corona_info span.corona_info__head {
        font-size: 1.8rem
    }
}

a.corona_info span.corona_info__text {
    text-align: center;
    display: block;
    color: rgba(255, 255, 255, .5);
    margin: 1.5rem 0
}

@media only screen and (min-width:544px) {
    a.corona_info span.corona_info__text {
        margin: 1.5rem 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    a.corona_info span.corona_info__text {
        color: rgba(255, 255, 255, .2)
    }
}

a.corona_info:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, .1) 5%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 95%);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 1
}

@media only screen and (min-width:1024px) {
    a.corona_info:before {
        width: 98rem;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 95%)
    }
}

a.corona_info:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, .1) 5%, rgba(255, 255, 255, .1) 50%, rgba(255, 255, 255, .1) 95%);
    bottom: 0;
    left: 50%;
    opacity: 1;
    transform: translateX(-50%)
}

@media only screen and (min-width:1024px) {
    a.corona_info:after {
        width: 98rem;
        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, rgba(255, 255, 255, .08) 50%, rgba(255, 255, 255, 0) 95%)
    }
}

a.corona_info span.arrow {
    display: block;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0)
}

@media only screen and (min-width:544px) {
    a.corona_info span.arrow {
        width: 4rem;
        height: 4rem;
        background: rgba(255, 255, 255, .1)
    }
}

@media only screen and (min-width:1024px) {
    a.corona_info span.arrow {
        background: rgba(255, 255, 255, .1);
        width: 3rem;
        height: 3rem
    }
}

a.corona_info span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1);
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

a.corona_info span.arrow:after {
    border: .9px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    transform-origin: center center
}

a.corona_info span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    a.corona_info span.arrow svg {
        width: 2rem
    }
}

@media only screen and (min-width:1024px) {
    a.corona_info span.arrow svg {
        width: 1.2rem
    }
}

a.corona_info span.arrow svg use {
    fill: #fff;
    -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    a.corona_info:hover .areaBackground {
        opacity: .7;
        -webkit-transition: opacity .5s cubic-bezier(.26, .06, 0, 1);
        transition: opacity .5s cubic-bezier(.26, .06, 0, 1)
    }

    a.corona_info:hover span.arrow use {
        fill: #fff;
        -webkit-transition: all 0s cubic-bezier(.43, .05, .17, 1);
        transition: all 0s cubic-bezier(.43, .05, .17, 1)
    }

    a.corona_info:hover span.arrow:before {
        width: 110%;
        height: 110%;
        -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
        transition: all .4s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }

    a.corona_info:hover span.arrow:after {
        opacity: 0;
        scale: 0 0
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.corona_info:hover span.arrow use {
        fill: #000;
        -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
        transition: all .4s cubic-bezier(.43, .05, .17, 1)
    }
}

.index_section_02 {
    position: relative;
    z-index: 100;
    background: #b49c69;
    padding-top: 1px;
}

@media (min-width:768px) {
    .index_section_02 {}
}

@media (max-width:767px) {
    .index_section_02 {
        background-image: url('');
        background-repeat: repeat;
        background-size: 20%
    }
}

.index_section_02 .index_section_02__inner {
    padding: 0 0 9rem 0;
    margin: 0 auto;
}

.index_section_02 .index_section_02__inner .tab-panel {
    margin-top: 0;
}

@media only screen and (min-width:544px) {
    .index_section_02 .index_section_02__inner {
        padding: 0 0 18rem;
        max-width: 80rem;
    }
}

@media only screen and (min-width:1024px) {
    .index_section_02 .index_section_02__inner {
        padding: 0 0 9rem;
    }
}

.index_section_02 .index_section_02__inner .middle_container {
    padding-left: 3rem;
    padding-right: 3rem
}

@media only screen and (min-width:544px) {
    .index_section_02 .index_section_02__inner .middle_container {
        padding-left: 6rem;
        padding-right: 6rem
    }
}

@media only screen and (min-width:1024px) {
    .index_section_02 .index_section_02__inner .middle_container {
        padding-left: 0;
        padding-right: 0
    }
}

.index_section_02 h2.index_pickup_h2 {
    display: block;
    margin: 0 0 2rem;
    font-weight: 400;
    font-family: ryo-display-plusn, serif;
    color: #000;
    line-height: .9;
    letter-spacing: .24rem;
    font-size: 2.1rem;
    padding: 0 0 0 1rem;
    border-left: 1px solid #B49C69
}

@media only screen and (min-width:544px) {
    .index_section_02 h2.index_pickup_h2 {
        font-size: 4.2rem;
        border-left: 1px solid #B49C69;
        padding: 0 0 0 2rem;
        line-height: .9
    }
}

@media only screen and (min-width:1024px) {
    .index_section_02 h2.index_pickup_h2 {
        font-size: 3rem;
        border-left: transparent;
        padding: 0;
        line-height: 1
    }
}

.index_section_02 h2.index_pickup_h2 small {
    font-family: philosopher, sans-serif;
    display: none;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.2rem;
    letter-spacing: .08rem;
    margin: 0 0 1rem
}

@media only screen and (min-width:1024px) {
    .index_section_02 h2.index_pickup_h2 small {
        display: block
    }
}

.width_hidden {
    width: 100%;
    overflow: hidden;
    padding-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .width_hidden {
        padding-bottom: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .width_hidden {
        padding-bottom: 1rem
    }
}

.home_pickup_slider__body {
    width: 100%;
    position: relative;
    display: block;
    height: 41rem;
    margin: 2rem 0
}

@media only screen and (min-width:544px) {
    .home_pickup_slider__body {
        height: 81rem;
        margin: 6rem 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider__body {
        height: 32rem;
        margin: 3rem 0 4rem
    }
}

.home_pickup_slider__body .middle_container {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 41rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider__body .middle_container {
        height: 81rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider__body .middle_container {
        height: 32rem
    }
}

.home_pickup_slider__body .middle_container .home_pickup_slider__wrap {
    position: relative;
    width: 100%;
    min-width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: visible
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider__body .middle_container .home_pickup_slider__wrap {
        position: absolute;
        min-width: 100vw;
        overflow: hidden
    }
}

.home_pickup_slider {
    width: 100%;
    margin-right: auto !important;
    margin-left: 0 !important;
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:768px) {
    .home_pickup_slider {
        max-width: 900px
    }
}

@media only screen and (min-width:1600px) {
    .home_pickup_slider {
        max-width: 1125px
    }
}

.home_pickup_slider a.pickup-swiper-button-prev {
    position: absolute;
    z-index: 3;
    top: 2rem;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -85%
}

.home_pickup_slider a.pickup-swiper-button-prev:after {
    display: none
}

.home_pickup_slider a.pickup-swiper-button-next {
    position: absolute;
    z-index: 3;
    top: 2rem;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%;
    display: none;
    pointer-events: none
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider a.pickup-swiper-button-next {
        display: block;
        pointer-events: auto
    }

    .home_pickup_slider a.pickup-swiper-button-next.swiper-button-disabled {
        pointer-events: none
    }
}

.home_pickup_slider a.pickup-swiper-button-next:after {
    display: none
}

.home_pickup_slider .pickup-slide-wrapper {
    width: 100%
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide {
    border-radius: .5rem;
    min-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    -webkit-transition: all .8s ease;
    transition: all .8s ease;
    position: absolute;
    transform: translate3d(0px, 0px, 0px) scale(1, 1) !important;
    opacity: 1 !important;
    transition-duration: .8s !important
}

@media (min-width:768px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide {
        background-image: url(../image/main_gold_bg__sp.gif);
        background-size: 10%;
        background-repeat: repeat
    }
}

@media (max-width:767px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide {
        background-image: url(../image/main_gold_bg__sp.gif);
        background-size: 10%;
        background-repeat: repeat
    }
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide {
        border-radius: .5rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide:after {
    border-radius: .5rem;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: 1.6s cubic-bezier(.26, .06, 0, 1);
    transition: 1.6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    z-index: 1
}

@media (min-width:768px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:after {
        background-image: url(../image/main_gold_bg__sp.gif) !important;
        background-size: 20%;
        background-repeat: repeat
    }
}

@media (max-width:767px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:after {
        background-image: url(../image/main_gold_bg__sp.gif) !important;
        background-size: 20%;
        background-repeat: repeat
    }
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:after {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:after {
        background: url(../image/follow_yellow_bg-new.png) 0 0 repeat
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide:before {
    border-radius: .5rem;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 2
}

@media (min-width:768px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:before {
        background-image: url(../image/main_gold_bg__sp.gif);
        background-size: 20%;
        background-repeat: repeat
    }
}

@media (max-width:767px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:before {
        background-image: url(../image/main_gold_bg__sp.gif);
        background-size: 20%;
        background-repeat: repeat
    }
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:before {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:before {
        background-image: url(../image/main_gold_bg__sp.gif);
        background-size: 20%;
        background-repeat: repeat
    }
}

@media (min-width:768px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide:hover:before {
        opacity: 1;
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a {
    border-radius: .5rem;
    padding: 2rem;
    justify-content: space-between;
    position: relative;
    z-index: 10;
    display: block
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a {
        display: block;
        padding: 6rem 4rem 4rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a {
        display: flex;
        padding: 2rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
    width: 100%;
    padding: 1rem 0 1rem .5rem;
    height: 16.5rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
        height: 33rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
        width: 32%;
        height: auto
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top {
    letter-spacing: .15rem
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
    color: #fff;
    border: .9px solid #ccc;
    border-radius: .2rem;
    padding: .3rem .2rem .3rem .45rem;
    line-height: 1;
    font-size: 1rem;
    display: inline-block;
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
        font-size: 2rem;
        border: .2rem solid #ccc;
        padding: .4rem .5rem .6rem .8rem;
        border-radius: .4rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
        font-size: 1rem;
        padding: .3rem .2rem .3rem .45rem;
        border-radius: .2rem;
        border: 1px solid #ccc
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
    color: #fff;
    font-family: philosopher, sans-serif;
    font-size: 1rem;
    margin: 0 0 0 .7rem;
    opacity: .6
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
        font-size: 2rem;
        margin: 0 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
        font-size: 1rem;
        margin: 0 0 0 .7rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
    width: 100%;
    font-family: ryo-display-plusn, serif;
    color: #fff;
    margin: 1rem 0;
    line-height: 1.5;
    letter-spacing: .1rem;
    font-weight: 500;
    font-size: 1.6rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    position: relative
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
        font-size: 3.2rem;
        letter-spacing: .1rem;
        margin: 1.5rem 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
        font-size: 2.2rem;
        letter-spacing: .16rem;
        margin: 1rem 0;
        overflow: visible;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: auto
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, .6);
    bottom: 3rem;
    left: 2.5rem;
    letter-spacing: .16rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
        position: static;
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
        position: absolute;
        font-size: 1.2rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom span {
    line-height: 1
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow {
    display: flex;
    align-items: center
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
    margin: .2rem 0 0 .6rem;
    width: 1.3rem !important;
    height: .9rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
        width: 2rem !important;
        margin: .3rem 0 0 .6rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
        width: 1.3rem !important;
        margin: 0 0 0 .6rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
    min-width: none;
    overflow: hidden;
    display: block;
    border-radius: .5rem;
    box-shadow: .5rem 1rem 2rem rgba(0, 0, 0, .1);
    margin: 0;
    width: 100%;
    height: 20rem
}

@media only screen and (min-width:544px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        height: 38rem;
        min-width: none;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        width: 100%;
        height: 28rem;
        min-width: 39.8rem
    }
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        border-radius: .5rem;
        width: 42%
    }
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb img {
    object-fit: cover;
    object-position: center;
    border-radius: .5rem;
    width: 100%;
    height: 100%
}

@media only screen and (min-width:1024px) {
    .home_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb img {
        border-radius: .5rem
    }
}

.home_pickup_slider .pickup-slide-wrapper .swiper-slide-active {
    position: relative;
    opacity: 1
}

.home_pickup_slider .pickup-slide-wrapper .swiper-slide-active:after {
    opacity: 1;
    -webkit-transition: 1.6s cubic-bezier(.18, .06, .23, 1);
    transition: 1.6s cubic-bezier(.18, .06, .23, 1)
}

.home_pickup_slider .pickup-slide-wrapper .pickup-slide__back {
    opacity: 0 !important;
    -webkit-transition: all 1.2s ease, transform .8s;
    transition: all 1.2s ease, transform .8s;
    transform: translate3d(0px, 0px, 0px) scale(.95, .95) !important
}

.pickup_slider_btn {
    position: absolute;
    width: 8rem;
    height: 100%;
    top: 0;
    left: -8.5rem;
    z-index: 100;
    display: none
}

@media only screen and (min-width:1024px) {
    .pickup_slider_btn {
        display: block
    }
}

.pickup_slider_btn .pickup_button_next {
    display: block;
    width: 100%;
    height: 50%;
    background: #6d6442;
    border-radius: .5rem .5rem 0 0;
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    position: relative;
    transition: .5s cubic-bezier(.18, .06, .23, 1)
}

@media (min-width:768px) {
    .pickup_slider_btn .pickup_button_next:hover {
        background: #5c5538;
        cursor: pointer;
        transition: .5s cubic-bezier(.18, .06, .23, 1)
    }
}

.pickup_slider_btn .pickup_button_next .arrow {
    display: block;
    width: .7rem;
    height: 1.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.pickup_slider_btn .pickup_button_next .arrow svg {
    width: 100%;
    height: 100%
}

.pickup_slider_btn .pickup_button_prev {
    display: block;
    width: 100%;
    height: 50%;
    background: #6d6442;
    border-radius: 0 0 .5rem .5rem;
    position: relative;
    transition: .5s cubic-bezier(.18, .06, .23, 1)
}

@media (min-width:768px) {
    .pickup_slider_btn .pickup_button_prev:hover {
        background: #5c5538;
        cursor: pointer;
        transition: .5s cubic-bezier(.18, .06, .23, 1)
    }
}

.pickup_slider_btn .pickup_button_prev .arrow {
    display: block;
    width: .7rem;
    height: 1.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(180deg)
}

.pickup_slider_btn .pickup_button_prev .arrow svg {
    width: 100%;
    height: 100%
}

#pickup_slider_stalker_prev {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 3rem;
    margin: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    bottom: 0;
    left: 0;
    display: none
}

@media only screen and (min-width:544px) {
    #pickup_slider_stalker_prev {
        display: block
    }
}

#pickup_slider_stalker_prev span {
    background: rgba(0, 0, 0, .6);
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 3rem;
    transform: scale(0, 0);
    webkit-transition: -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    border-radius: 50%
}

.pickup_slider_stalker {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    margin: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    display: none
}

@media only screen and (min-width:544px) {
    .pickup_slider_stalker {
        display: block
    }
}

.pickup_slider_stalker span {
    background: rgba(0, 0, 0, .6);
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    webkit-transition: -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: -webkit-transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1);
    transition: transform 1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

.pickup_slider_stalker span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

.pickup_slider_stalker:after {
    content: "前へ";
    position: absolute;
    color: #fff;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#pickup_slider_stalker_next {
    width: 15rem;
    height: 15rem;
    display: none
}

@media only screen and (min-width:544px) {
    #pickup_slider_stalker_next {
        display: block
    }
}

#pickup_slider_stalker_next span {
    border-radius: 50%;
    background: rgba(0, 0, 0, .6);
    transform: scale(.8, .8);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#pickup_slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#pickup_slider_stalker_next:after {
    display: block;
    content: "次へ";
    color: #fff
}

.swiper-container-horizontal>.swiper-pagination-progressbar,
.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    bottom: -5rem !important;
    top: auto !important;
    width: 90rem !important
}

.swiper-pagination-progressbar {
    background-color: transparent !important;
    background-image: linear-gradient(to right, rgba(0, 0, 0, .7), rgba(0, 0, 0, .7) .9px, transparent .9px);
    background-size: 4px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    width: calc(100% - 6rem);
    height: .3rem;
    bottom: -3rem;
    left: 50%;
    transform: translateX(-50%)
}

@media only screen and (min-width:544px) {
    .swiper-pagination-progressbar {
        width: calc(100% - 12rem);
        height: .6rem;
        bottom: -7rem;
        background-size: 4px 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

@media only screen and (min-width:1024px) {
    .swiper-pagination-progressbar {
        width: 90rem;
        left: 50%;
        transform: translateX(-50%);
        height: .3rem;
        bottom: -5rem
    }
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #333;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
    opacity: .98;
    top: -1px
}

@media only screen and (min-width:544px) {
    .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        top: -.3rem
    }
}

@media only screen and (min-width:1024px) {
    .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        top: -1px
    }
}

ul.index_news_list {
    padding: 1.5rem 0 3rem
}

@media only screen and (min-width:544px) {
    ul.index_news_list {
        padding: 2.5rem 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    ul.index_news_list {
        padding: 2.5rem 0 6rem
    }
}

ul.index_news_list li {
    position: relative
}

ul.index_news_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .09rem;
    opacity: .4;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    ul.index_news_list li:before {
        opacity: .4;
        background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
        background-size: 4px 1px
    }
}

ul.index_news_list li:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .09rem;
    opacity: .4;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    ul.index_news_list li:last-child:after {
        background-size: 4px 1px;
        opacity: .4;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
    }
}

ul.index_news_list li a {
    padding: 1.5rem 0 2.3rem;
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff;
}

@media only screen and (min-width:544px) {
    ul.index_news_list li a {
        padding: 3.5rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    ul.index_news_list li a {
        padding: 3rem 0 5.4rem
    }
}

ul.index_news_list li a .areaBackground {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 25%, #fff 50%, rgba(255, 255, 255, 0) 75%);
    top: 0;
    left: 0;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    z-index: -2;
    opacity: 0;
    display: none
}

@media only screen and (min-width:544px) {
    ul.index_news_list li a .areaBackground {
        display: block
    }
}

ul.index_news_list li a .index_news_list__link__inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 90rem;
    box-sizing: border-box;
    display: block
}

@media only screen and (min-width:1024px) {
    ul.index_news_list li a .index_news_list__link__inner {
        display: flex;
        width: auto
    }
}

ul.index_news_list li a .index_news_list__link__inner .index_news_list__link__inner__inner {
    display: flex;
    align-items: center;
    -webkit-align-items: center;
}

ul.index_news_list li a .index_news_list__link__inner__left {
    width: auto;
    font-size: 1rem;
    font-family: philosopher, sans-serif;
    color: #fff;
    padding: .3rem 0 0;
    letter-spacing: .16rem
}

@media only screen and (min-width:544px) {
    ul.index_news_list li a .index_news_list__link__inner__left {
        font-size: 2rem;
        width: auto
    }
}

@media only screen and (min-width:1024px) {
    ul.index_news_list li a .index_news_list__link__inner__left {
        font-size: 1rem;
        width: 11rem
    }
}

ul.index_news_list li a .index_news_list__link__inner__center {
    width: 9.5rem
}

ul.index_news_list li a .index_news_list__link__inner__center object {
    transform: translateY(5px);
    display: block
}

ul.index_news_list li a .index_news_list__link__inner__center a.cat_icon {
    position: relative;
    z-index: 100;
    display: inline-block;
    border: .9px solid #fff;
    /* background: #fff; */
    color: #fff;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .3rem .3rem .4rem .45rem;
    letter-spacing: .16rem;
    border-radius: .2rem;
    margin: 0 0 0 1rem;
    transition: .4s ease
}

@media only screen and (min-width:544px) {
    ul.index_news_list li a .index_news_list__link__inner__center a.cat_icon {
        font-size: 2rem;
        border-radius: .3rem;
        padding: .4rem .6rem .6rem .7rem;
        margin: 0 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    ul.index_news_list li a .index_news_list__link__inner__center a.cat_icon {
        font-size: 1rem;
        border-radius: .2rem;
        padding: .3rem .3rem .4rem .45rem;
        margin: 0
    }
}

@media (min-width:768px) {
    ul.index_news_list li a .index_news_list__link__inner__center a.cat_icon:hover {
        color: #333;
        border: 1px solid #8e7823;
        transition: .4s ease
    }
}

ul.index_news_list li a .index_news_list__link__inner__right {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: .16rem;
    margin: .75rem 0 0
}

@media only screen and (min-width:544px) {
    ul.index_news_list li a .index_news_list__link__inner__right {
        font-size: 2.6rem;
        margin: 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    ul.index_news_list li a .index_news_list__link__inner__right {
        font-size: 1.4rem;
        margin: 0
    }
}

ul.index_news_list li a .index_news_list__link__inner__right span {
    position: relative
}

ul.index_news_list li a .index_news_list__link__inner__right span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

/*ul.index_news_list li a .index_news_list__link__inner__right span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    ul.index_news_list li a:hover span:before {
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background: #333;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s
    }

    ul.index_news_list li a:hover span:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    ul.index_news_list li a:hover .areaBackground {
        opacity: .7;
        -webkit-transition: opacity .5s cubic-bezier(.26, .06, 0, 1);
        transition: opacity .5s cubic-bezier(.26, .06, 0, 1)
    }
}*/

.panel-group {
    overflow: hidden;
    width: calc(100% - 6rem);
    margin: 0 auto
}

@media only screen and (min-width:544px) {
    .panel-group {
        width: calc(100% - 12rem);
        margin: 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .panel-group {
        width: 100%
    }
}

.tab-panel {
    margin: 9.5rem 0 0
}

@media only screen and (min-width:544px) {
    .tab-panel {
        margin: 19rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .tab-panel {
        margin: 12rem 0 0
    }
}

.news_title_area {
    display: block;
    align-items: flex-end;
    justify-content: space-between
}

@media only screen and (min-width:1024px) {
    .news_title_area {
        display: flex
    }
}

.news_title_area ul.tab-group {
    display: flex;
    justify-content: flex-start;
    margin: 3.75rem 0 1.75rem;
    overflow-x: scroll;
    padding: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .news_title_area ul.tab-group {
        overflow-x: auto;
        margin: 7.5rem 0 3.5rem;
        padding: 0
    }
}

@media only screen and (min-width:1024px) {
    .news_title_area ul.tab-group {
        justify-content: center;
        margin: 0 0 2rem
    }
}

.news_title_area ul.tab-group li.tab {
    white-space: nowrap;
    list-style: none;
    text-align: center;
    cursor: pointer;
    color: rgba(0, 0, 0, .5);
    position: relative;
    transition: transform .3s;
    letter-spacing: .16rem;
    margin: 0 1.5rem 0 0;
    font-size: 1.3rem;
    line-height: 1.2
}

@media only screen and (min-width:544px) {
    .news_title_area ul.tab-group li.tab {
        margin: 0 3rem 0 0;
        font-size: 2rem;
        line-height: 1.2
    }
}

@media only screen and (min-width:768px) {
    .news_title_area ul.tab-group li.tab {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .news_title_area ul.tab-group li.tab {
        margin: 0 0 0 2rem;
        font-size: 1.4rem;
        line-height: 1.8
    }
}

.news_title_area ul.tab-group li.tab.is-active {
    color: #000
}

.news_title_area ul.tab-group li.tab:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    height: 1px
}

.news_title_area ul.tab-group li.tab:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    .news_title_area ul.tab-group li.tab:hover {
        color: rgba(0, 0, 0, .5);
        transition: .3s
    }

    .news_title_area ul.tab-group li.tab:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .news_title_area ul.tab-group li.tab:hover {
        color: #000
    }
}

.news_title_area ul.tab-group li.tab.is-active:after {
    transform-origin: left top;
    transform: scale(1, 1)
}

@media (min-width:768px) {
    .news_title_area ul.tab-group li.tab.is-active:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .news_title_area ul.tab-group li.tab.is-active:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

.panel {
    display: none
}

.panel.is-show {
    display: block
}

.link_btn__wrap__right {
    text-align: right;
    display: block;
    padding: 0;
    margin: 0
}

@media only screen and (min-width:544px) {
    .link_btn__wrap__right {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .link_btn__wrap__right {
        margin: 0 3rem 0 0;
        transform: translateX(0rem)
    }
}

@media only screen and (min-width:1010px) {
    .link_btn__wrap__right {
        transform: translateX(5rem)
    }
}

.bg_white_link_btn {
    display: block;
    display: -ms-inline-flexbox;
    display: inline-flex;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: 0 0;
    line-height: 1.67;
    text-decoration: none;
    vertical-align: top;
    border-radius: 3rem;
    border: 1px solid rgba(51, 51, 51, .1);
    z-index: 1;
    font-size: 1.1rem;
    padding: .3rem 3rem .35rem 1rem;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn {
        font-size: 2.2rem;
        padding: .6rem 4.8rem .8rem 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn {
        font-size: 1.4rem;
        padding: .8rem 4.3rem .8rem 1.8rem
    }
}

.bg_white_link_btn .txt {
    font-weight: 400;
    z-index: 10;
    display: inline-block;
    position: relative;
    color: #333
}

.bg_white_link_btn .txt:after {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: 50% 50% .7em;
    transition-duration: .45s;
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(.43, .05, .2, 1);
    content: attr(data-text) "";
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: rotateX(90deg);
    display: none
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn .txt:after {
        display: block
    }
}

.bg_white_link_btn .txt .words {
    display: block;
    opacity: 1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform-origin: 50% 50% .7em;
    transition-duration: .45s;
    transition-property: transform, opacity;
    transition-timing-function: cubic-bezier(.43, .05, .2, 1)
}

.bg_white_link_btn .bg_white_link_btn__wrap {
    position: relative;
    width: 100%;
    display: block
}

.bg_white_link_btn .circle {
    overflow: hidden;
    position: absolute;
    top: 50%;
    right: -2.5rem;
    transform: translateY(-50%);
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    z-index: 1
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn .circle {
        right: -3.8rem;
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn .circle {
        width: 2.9rem;
        height: 2.9rem
    }
}

.bg_white_link_btn .circle svg {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: .75rem
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn .circle svg {
        width: 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn .circle svg {
        width: 1rem
    }
}

.bg_white_link_btn .circle svg use {
    fill: #000;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.bg_white_link_btn .circle:after {
    content: "";
    z-index: -1;
    position: absolute;
    background-color: #B49C69;
    border-radius: 50%;
    margin: auto;
    top: 50%;
    left: 50%;
    transform-origin: center;
    scale: 0 0;
    translate: -50% -50%;
    transition: transform 0s cubic-bezier(.43, .05, .17, 1), background-color 0s cubic-bezier(.18, .06, .23, 1), opacity .3s cubic-bezier(.26, .06, 0, 1), scale .2s ease-out, opacity .4s;
    opacity: 0;
    width: 1.9rem;
    height: 1.9rem
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn .circle:after {
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn .circle:after {
        width: 2.9rem;
        height: 2.9rem
    }
}

@media (min-width:768px) {
    .bg_white_link_btn:hover {
        -webkit-transition: all 0s cubic-bezier(.43, .05, .17, 1);
        transition: all 0s cubic-bezier(.43, .05, .17, 1);
        border: 1px solid rgba(51, 51, 51, .1)
    }

    .bg_white_link_btn:hover .circle:after {
        scale: 1 1;
        opacity: 1
    }

    .bg_white_link_btn:hover .circle svg use {
        fill: #fff
    }

    .bg_white_link_btn:hover .bg_white_link_btn__wrap .txt {
        webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        transform-origin: 50% 50% .7em;
        transition-duration: .45s;
        transition-property: transform, opacity;
        transition-timing-function: cubic-bezier(.43, .05, .2, 1)
    }

    .bg_white_link_btn:hover .bg_white_link_btn__wrap .txt:after {
        color: #C31111;
        opacity: 1;
        transform: rotateX(0)
    }

    .bg_white_link_btn:hover .bg_white_link_btn__wrap .txt .words {
        color: #333;
        opacity: 1;
        transform: rotateX(0)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .bg_white_link_btn:hover {
        border: 1px solid #C31111;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .bg_white_link_btn:hover .bg_white_link_btn__wrap .txt .words {
        opacity: 1;
        color: #C31111;
        transform: rotateX(-90deg)
    }
}

.sticky-container {
    height: auto;
    margin: 0
}

.sticky-container .sticky-content {
    position: sticky;
    overflow: hidden;
    top: 0;
    height: 100vh
}

.sticky-container .sticky-content .will-change {
    will-change: transform
}

.sticky-container .sticky-content .expansion-container {
    width: 100%;
    height: 100vh;
    z-index: 50;
    margin: 0 auto;
    position: relative;
    max-width: 100%
}

@media only screen and (min-width:768px) {
    .sticky-container .sticky-content .expansion-container {
        max-width: 1100px
    }
}

@media only screen and (min-width:1600px) {
    .sticky-container .sticky-content .expansion-container {
        max-width: 1350px
    }
}

.sticky-container .sticky-content figure.expansion_img {
    background: url(../image/expansion_img.jpg) center center no-repeat;
    z-index: 4;
    background-size: cover;
    width: 100%;
    height: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1, 1)
}

.sticky-container .sticky-content figure.expansion_img:after {
    opacity: 0;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.sticky-container .sticky-content figure.expansion_img.bg1:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../image/main_slide_01.webp) center center no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.sticky-container .sticky-content figure.expansion_img.bg2:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../image/main_slide_02.webp) center center no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.sticky-container .sticky-content figure.expansion_img.bg3:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../image/main_slide_03.webp) center center no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.sticky-container .sticky-content figure.expansion_img.bg4:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../image/main_slide_04.webp) center center no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 1;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.zoom_bg_background__wrap {
    margin: 0;
    position: relative;
    height: 40vh;
    max-height: 80rem;
    width: calc(100vw + 1px)
}

@media only screen and (min-width:544px) {
    .zoom_bg_background__wrap {
        height: 90vh;
        margin: 0;
        max-height: none
    }
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__wrap {
        height: 90vh;
        margin: 0;
        max-height: none
    }
}

@media only screen and (min-width:1024px) {
    .zoom_bg_background__wrap {
        height: 90vh;
        margin: 0;
        max-height: none
    }
}

@media only screen and (min-width:1200px) {
    .zoom_bg_background__wrap {
        height: 90vh;
    }
}

@media only screen and (min-width:1600px) {
    .zoom_bg_background__wrap {
        height: 90vh;
    }
}

.zoom_bg_background__wrap .zoom_bg_background {
    background: url('') center center no-repeat;
    background-size: cover;
    background-attachment: scroll;
    top: 0;
    left: 50%;
    position: absolute;
    z-index: -1;
    transform: translateX(-50%);
    display: block;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
    transition: 0s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .zoom_bg_background__wrap .zoom_bg_background {
        z-index: 4;
        top: 0;
        left: 0;
        position: relative;
        transform: none;
        background: url('') center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        width: 100%;
        height: 100%;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__wrap .zoom_bg_background {
        background: url('') center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        width: 100%;
        height: 100%;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:1024px) {
    .zoom_bg_background__wrap .zoom_bg_background {
        background: url('') center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        width: 100%;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        background-size: cover
    }
}

@media only screen and (min-width:1200px) {
    .zoom_bg_background__wrap .zoom_bg_background {
        background: url('') center center no-repeat;
        background-size: cover;
        /* background-attachment: fixed; */
        width: 100%;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        background-size: cover
    }
}

@media only screen and (min-width:1600px) {
    .zoom_bg_background__wrap .zoom_bg_background {
        background: url('') center center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        width: 100%;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        background-size: cover
    }
}

.zoom_bg_background__wrap .zoom_bg_background.zoom_in {
    height: 100% !important;
    -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
    transition: 0s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .zoom_bg_background__wrap .zoom_bg_background.zoom_in {
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:1024px) {
    .zoom_bg_background__wrap .zoom_bg_background.zoom_in {
        height: 100% !important;
        -webkit-transition: 0s cubic-bezier(.43, .05, .17, 1);
        transition: 0s cubic-bezier(.43, .05, .17, 1)
    }
}

.zoom_bg_background__wrap .zoom_bg_background__inner {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .8;
    -webkit-transition: 1s cubic-bezier(.43, .05, .17, 1);
    transition: 1s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__wrap .zoom_bg_background__inner {
        opacity: 0
    }
}

.zoom_bg_background__wrap .zoom_bg_background__inner.zoom_in {
    opacity: .8;
    -webkit-transition: 1.4s cubic-bezier(.43, .05, .17, 1);
    transition: 1.4s cubic-bezier(.43, .05, .17, 1)
}

.zoom_bg_background__img {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity .6s cubic-bezier(.26, .06, 0, 1);
    background-attachment: fixed
}

.zoom_bg_background__img:before {
    content: "";
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .8
}

.zoom_bg_background__img.bg1 {
    background: url('') center center no-repeat;
    background-size: cover !important;
    opacity: 0;
    transition: opacity .6s cubic-bezier(.26, .06, 0, 1);
    display: none;
    background-attachment: scroll
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__img.bg1 {
        display: block;
        background-attachment: fixed
    }
}

.zoom_bg_background__img.bg2 {
    background: url('') center center no-repeat;
    background-size: cover !important;
    opacity: 0;
    transition: opacity .6s cubic-bezier(.26, .06, 0, 1);
    display: none;
    background-attachment: scroll
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__img.bg2 {
        display: block;
        background-attachment: fixed
    }
}

.zoom_bg_background__img.bg3 {
    background: url('') center center no-repeat;
    background-size: cover !important;
    opacity: 0;
    transition: opacity .6s cubic-bezier(.26, .06, 0, 1);
    display: none;
    background-attachment: scroll
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__img.bg3 {
        display: block;
        background-attachment: fixed
    }
}

.zoom_bg_background__img.bg4 {
    background: url('') center center no-repeat;
    background-size: cover !important;
    opacity: 0;
    transition: opacity .6s cubic-bezier(.26, .06, 0, 1);
    display: none;
    background-attachment: scroll
}

@media only screen and (min-width:768px) {
    .zoom_bg_background__img.bg4 {
        display: block;
        background-attachment: fixed
    }
}

.index_fixed_menu {
    margin: 0;
    position: absolute;
    z-index: 100;
    left: 0;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

@media (min-width:768px) {
    .index_fixed_menu {
        translate: 0 3rem
    }
}

@media only screen and (min-width:544px) {
    .index_fixed_menu {
        position: absolute;
    }
}

@media only screen and (min-width:1600px) {
    .index_fixed_menu {
        padding: 18rem 0 17rem
    }
}

.index_fixed_menu .middle_container {
    position: static;
    left: 0;
    transform: translateX(0%);
    bottom: 0
}

@media only screen and (min-width:544px) {
    .index_fixed_menu .middle_container {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 20rem
    }
}

@media only screen and (min-width:1600px) {
    .index_fixed_menu .middle_container {
        bottom: 17rem
    }
}

.acordion_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.acordion_inner .acordion_inner__left {
    width: 82%
}

@media only screen and (min-width:544px) {
    .acordion_inner .acordion_inner__left {
        width: 83%
    }
}

@media only screen and (min-width:1024px) {
    .acordion_inner .acordion_inner__left {
        width: 69rem
    }
}

.acordion_nav_wrap {
    padding: 3.5rem 0;
    position: relative;
    display: block
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap {
        padding: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap {
        padding: 4rem 0 6rem
    }
}

@media (min-width:768px) {
    .acordion_nav_wrap:hover {
        cursor: pointer
    }

    .acordion_nav_wrap:hover a.nav-open span.circle:before {
        opacity: 1
    }
}

.acordion_nav_wrap:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .4;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap:before {
        background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 3px 1px;
        opacity: .5;
        height: 1px
    }
}

.acordion_nav_wrap.acordion_nav_wrap04:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .4;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) .9px, transparent .9px);
    background-size: 4px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap.acordion_nav_wrap04:after {
        background-size: 4px 1px;
        opacity: .5;
        display: block;
        background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        height: 1px
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap.acordion_nav_wrap04:after {
        display: none
    }
}

.acordion_nav_wrap a.nav-open {
    color: #fff;
    position: relative;
    font-family: ryo-display-plusn, serif;
    letter-spacing: .3rem;
    display: flex;
    align-items: center;
    font-size: 2.3rem;
    line-height: 1;
    margin-bottom: 0;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open {
        font-size: 4.6rem;
        line-height: 1.2;
        margin-bottom: .5rem
    }
}

.acordion_nav_wrap a.nav-open span.text {
    position: relative;
    overflow: hidden
}

.acordion_nav_wrap a.nav-open span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.text:before {
        display: block
    }
}

.acordion_nav_wrap a.nav-open span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.text:after {
        display: block
    }
}

.acordion_nav_wrap a.nav-open span.text .text_transparent {
    position: static;
    opacity: 1
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.text .text_transparent {
        opacity: 0
    }
}

.acordion_nav_wrap a.nav-open span.text .text_over {
    position: absolute;
    top: 0;
    left: 0;
    webkit-transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    display: none;
    opacity: 1;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px)
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.text .text_over {
        display: block
    }
}

.acordion_nav_wrap a.nav-open span.text .text_under {
    position: absolute;
    top: 110%;
    left: 0;
    webkit-transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    display: none;
    opacity: 0;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.text .text_under {
        display: block
    }
}

.acordion_nav_wrap a.nav-open span.circle {
    display: block;
    border-radius: 50%;
    z-index: 0;
    position: relative;
    background: rgba(255, 255, 255, .1);
    margin: 0 0 0 .7rem;
    width: 1.8rem;
    height: 1.8rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.circle {
        width: 3.9rem;
        height: 3.9rem;
        margin: 0 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap a.nav-open span.circle {
        width: 3rem;
        height: 3rem
    }
}

.acordion_nav_wrap a.nav-open span.circle:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0);
    transform: translate(-50%, -50%) scale(0);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: none
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.circle:before {
        display: block
    }
}

.acordion_nav_wrap a.nav-open span.circle:after {
    border: .09px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.acordion_nav_wrap a.nav-open span.circle svg {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap a.nav-open span.circle svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap a.nav-open span.circle svg {
        width: 1.2rem
    }
}

.acordion_nav_wrap a.nav-open span.circle svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.acordion_nav_wrap nav.index_fixed_menu__nav {
    display: block;
    margin: 2rem 0 0
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav {
        margin: 3rem 0 0
    }
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner {
    display: flex
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner span.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: rgba(255, 255, 255, .5);
    font-size: 1rem;
    line-height: 1;
    margin: .6rem 2.5rem 0 0;
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner span.vertical {
        font-size: 2rem;
        line-height: 1;
        margin: .6rem 4rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner span.vertical {
        font-size: 1rem;
        line-height: 180%
    }
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner span.vertical span.horizontal {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    line-height: 1;
    letter-spacing: 0rem
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner span.vertical span.horizontal {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list {
    padding-bottom: 1.5rem;
    letter-spacing: .15rem
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li {
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li {
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li {
        margin: 0 0 1.5rem
    }
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a {
    color: rgba(255, 255, 255, .7);
    line-height: 1;
    list-style: none;
    text-align: center;
    cursor: pointer;
    margin: 0;
    position: relative;
    transition: transform .3s;
    padding: 0 0 .1rem;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a {
        font-size: 2.6rem;
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a {
        font-size: 1.6rem
    }
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .7);
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform .3s
}

.acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, .7);
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a:hover {
        transition: transform .3s
    }

    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .acordion_nav_wrap nav.index_fixed_menu__nav .index_fixed_menu__nav__inner ul.index_fixed_menu__nav_list li a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.acordion_nav_wrap .nav-open:before {
    position: absolute;
    right: 20px
}

.acordion_nav_wrap:hover a.nav-open span.text:after {
    transform-origin: right top;
    transform: scale(0, 1)
}

.acordion_nav_wrap:hover a.nav-open span.text:before {
    transition: transform .3s ease-out;
    transform-origin: left top;
    transform: scale(1, 1)
}

.acordion_nav_wrap:hover a.nav-open span.text .text_over {
    position: absolute;
    transform: translateY(-110%);
    webkit-transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    opacity: 0;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px)
}

.acordion_nav_wrap:hover a.nav-open span.text .text_under {
    position: absolute;
    transform: translateY(-110%);
    webkit-transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    transition: transform .6s cubic-bezier(.43, .05, .17, 1), opacity .6s ease-in;
    opacity: 1;
    -webkit-backdrop-filter: blur(0px);
    backdrop-filter: blur(0px)
}

.acordion_nav_wrap:hover a.nav-open span.circle {
    border: transparent
}

.acordion_nav_wrap:hover a.nav-open span.circle:before {
    transform: translate(-50%, -50%) scale(1);
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    opacity: 1
}

.acordion_nav_wrap:hover a.nav-open span.circle:after {
    scale: 0 0;
    opacity: 0
}

.acordion_nav_wrap:hover a.nav-open span.circle svg use {
    fill: #fff;
    transition: all 0s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap:hover a.nav-open span.circle svg use {
        fill: #000;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

.acordion_nav_wrap03 {
    pointer-events: none;
    opacity: .3
}

.acordion_nav_wrap03 a.nav-open {
    pointer-events: none
}

.acordion_nav_wrap03 span.small_text {
    font-size: 1.1rem;
    margin: 0 0 0 1rem;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    .acordion_nav_wrap03 span.small_text {
        font-size: 1.4rem
    }
}

.acordion_inner__right {
    display: flex
}

.acordion_inner__right a.acordion_link {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    color: #fff;
    margin: 0;
    padding: 0 0 1.6rem;
    font-family: ryo-display-plusn, serif;
    letter-spacing: .24rem;
    position: relative;
    font-feature-settings: initial;
    font-size: 2.1rem;
    line-height: 1;
    display: flex
}

@media only screen and (min-width:544px) {
    .acordion_inner__right a.acordion_link {
        font-size: 4.2rem;
        padding: 0 0 4rem;
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link {
        font-size: 3rem;
        margin: 4.4rem 2rem 0 0;
        padding: 0 0 4.3rem;
        line-height: 1.8
    }
}

.acordion_inner__right a.acordion_link span.text {
    margin: 0 0 .75rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .acordion_inner__right a.acordion_link span.text {
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link span.text {
        margin: 0
    }
}

.acordion_inner__right a.acordion_link span.sp_none_text {
    display: none
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link span.sp_none_text {
        display: inline-block
    }
}

.acordion_inner__right a.acordion_link small {
    font-family: philosopher, sans-serif;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: 1.2rem;
    margin: 0 0 .9rem;
    line-height: 1;
    letter-spacing: 0rem;
    display: none;
    text-align: center
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link small {
        display: inline-block
    }
}

.acordion_inner__right a.acordion_link span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    position: absolute;
    background: rgba(255, 255, 255, .1);
    margin: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1.8rem;
    height: 1.8rem
}

@media only screen and (min-width:544px) {
    .acordion_inner__right a.acordion_link span.arrow {
        width: 3.9rem;
        height: 3.9rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.acordion_inner__right a.acordion_link span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%) scale(0);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    opacity: 0;
    -webkit-transition: .5s cubic-bezier(.43, .05, .17, 1);
    transition: .5s cubic-bezier(.43, .05, .17, 1);
    display: none
}

@media only screen and (min-width:544px) {
    .acordion_inner__right a.acordion_link span.arrow:before {
        display: block
    }
}

.acordion_inner__right a.acordion_link span.arrow:after {
    border: .09px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.acordion_inner__right a.acordion_link span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .acordion_inner__right a.acordion_link span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .acordion_inner__right a.acordion_link span.arrow svg {
        width: 1.2rem
    }
}

.acordion_inner__right a.acordion_link span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .acordion_inner__right a.acordion_link:hover span.arrow {
        border: .09px solid transparent;
        -webkit-transition: .5s cubic-bezier(.43, .05, .17, 1);
        transition: .5s cubic-bezier(.43, .05, .17, 1)
    }

    .acordion_inner__right a.acordion_link:hover span.arrow:before {
        transform: translate(-50%, -50%) scale(1);
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }

    .acordion_inner__right a.acordion_link:hover span.arrow:after {
        opacity: 0;
        scale: 0 0
    }

    .acordion_inner__right a.acordion_link:hover span.arrow svg use {
        fill: #fff;
        transition: all 0s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .acordion_inner__right a.acordion_link:hover span.arrow svg use {
        fill: #000;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

.index_section_03 {
    position: relative;
    z-index: 1
}

@media (max-width:767px) {
    .index_section_03 {
        clip-path: polygon(0% 0%, 100% 0%, 100% 85%, 0% 85%)
    }
}

.wedding_area {
    padding: 12.5rem 0 11.5rem;
    position: relative;
    margin: 0;
    overflow: hidden
}

@media (max-width:767px) {
    .wedding_area {
        background-image: url(../image/wedding_bg__sp.webp) !important;
        background-size: cover;
        background-position: 100% 51%;
        height: 100vh
    }
}

@media only screen and (min-width:544px) {
    .wedding_area {
        background-image: url(../image/wedding_bg__sp.webp);
        padding: 25rem 0 23rem;
        background-size: cover;
        background-position: 50% 50%;
        background-attachment: fixed
    }
}

@media only screen and (min-width:1024px) {
    .wedding_area {
        padding: 18rem 0 12rem;
        background: url(../image/wedding_bg.webp) center center no-repeat;
        background-size: cover;
        background-attachment: fixed
    }
}

.wedding_area .middle_container {
    position: relative;
    z-index: 100;
    display: block
}

.wedding_area h2.wedding_h2 {
    display: block;
    color: #fff;
    text-align: center;
    font-family: ryo-display-plusn, serif;
    margin: 0 auto;
    font-weight: 500;
    line-height: 1.7;
    width: 100%;
    position: relative;
    font-size: 2.1rem
}

@media only screen and (min-width:544px) {
    .wedding_area h2.wedding_h2 {
        font-size: 4.2rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_area h2.wedding_h2 {
        font-size: 3rem
    }
}

.wedding_area h2.wedding_h2 span.vertical {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: .16rem
}

.wedding_area h2.wedding_h2 small {
    font-family: philosopher, sans-serif;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-size: 1.2rem;
    margin: 0 0 1rem;
    display: none
}

@media only screen and (min-width:544px) {
    .wedding_area h2.wedding_h2 small {
        display: none
    }
}

@media only screen and (min-width:1024px) {
    .wedding_area h2.wedding_h2 small {
        display: block
    }
}

.wedding_area p {
    color: #fff;
    text-align: center;
    display: block;
    margin: 3rem 0;
    font-size: 1.3rem;
    letter-spacing: .16rem;
    line-height: 1.8
}

@media only screen and (min-width:544px) {
    .wedding_area p {
        font-size: 2.6rem;
        margin: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_area p {
        font-size: 1.4rem;
        margin: 3rem 0
    }
}

@media only screen and (min-width:1600px) {
    .wedding_area p {
        margin: 2.5rem 0 2rem
    }
}

.wedding_area a.index_about_link_btn {
    display: block;
    position: relative;
    z-index: 10;
    pointer-events: auto
}

.wedding_area a.index_about_link_btn:before {
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 160 160' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='80' cy='80' r='80' stroke='%23fff' stroke-width='.5' paint-order='stroke' stroke-dasharray='0 2' stroke-linecap='round' fill='transparent' /></svg>");
    opacity: 1
}

@media only screen and (min-width:544px) {
    .wedding_area a.index_about_link_btn:before {
        opacity: 1
    }
}

@media (min-width:768px) {
    .wedding_area a.index_about_link_btn:hover {
        cursor: pointer
    }
}

.liquid_wrap {
    display: block
}

@media only screen and (min-width:1024px) {
    .liquid_wrap {
        display: flex
    }
}

.liquid_wrap .liquid_wrap__left {
    width: 100%;
    padding: 6.5rem 0 5rem;
    background: url(../image/main_white_bg02.png) 0 0 repeat;
    overflow: hidden;
    position: relative;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    .liquid_wrap .liquid_wrap__left {
        padding: 13rem 0;
        width: 100%;
        background-size: auto
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left {
        padding: 13rem 0 10rem;
        width: 50%
    }
}

.liquid_wrap .liquid_wrap__left:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

.liquid_wrap .liquid_wrap__left .event_title_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    width: calc(100% - 6rem);
    margin: 0 auto
}

@media only screen and (min-width:544px) {
    .liquid_wrap .liquid_wrap__left .event_title_area {
        padding: 0;
        width: calc(100% - 12rem);
        margin: 0 auto;
        align-items: center
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left .event_title_area {
        padding: 0 5rem 0 10rem;
        align-items: flex-end;
        width: 100%
    }
}

@media only screen and (min-width:1600px) {
    .liquid_wrap .liquid_wrap__left .event_title_area {
        padding: 0 5rem 0 15rem;
        width: 100%
    }
}

.liquid_wrap .liquid_wrap__left .event_title_area .link_btn__wrap__right {
    display: block
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left .event_title_area .link_btn__wrap__right {
        display: none
    }
}

.liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link {
    font-size: 1.2rem;
    color: #333;
    margin: 0 0 0 2rem;
    position: relative;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link {
        display: block
    }
}

.liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    .liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link:hover {
        transition: transform .3s
    }

    .liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .liquid_wrap .liquid_wrap__left .event_title_area a.under_border_link:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.liquid_wrap .liquid_wrap__left h2.index_event_h2 {
    margin: 0;
    font-family: ryo-display-plusn, serif;
    font-size: 1.8rem;
    color: #333;
    font-weight: 500;
    line-height: .9;
    letter-spacing: .04rem;
    border-left: 1px solid #B49C69;
    padding: 0 0 0 1rem
}

@media only screen and (min-width:544px) {
    .liquid_wrap .liquid_wrap__left h2.index_event_h2 {
        font-size: 3.6rem;
        border-left: 1px solid #B49C69;
        padding: 0 0 0 2rem;
        line-height: .9;
        letter-spacing: .14rem
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left h2.index_event_h2 {
        font-size: 2.6rem;
        border-left: transparent;
        padding: 0;
        line-height: 1.5;
        letter-spacing: .24rem
    }
}

.liquid_wrap .liquid_wrap__left h2.index_event_h2 small {
    font-family: philosopher, sans-serif;
    display: none;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.2rem;
    margin: 0 0 .5rem;
    letter-spacing: .08rem
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__left h2.index_event_h2 small {
        display: block
    }
}

.liquid_wrap .liquid_wrap__right {
    width: 100%;
    background: url(../image/main_white_bg.webp) 0 0 repeat;
    padding: 6.5rem 0 4rem;
    overflow: hidden;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    .liquid_wrap .liquid_wrap__right {
        width: 100%;
        padding: 13rem 0 8rem;
        background-size: auto
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__right {
        width: 50%;
        padding: 13rem 0 10rem
    }
}

.liquid_wrap .liquid_wrap__right h2.index_event_h2 {
    margin: 0;
    text-align: center;
    font-family: ryo-display-plusn, serif;
    color: #333;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: .24rem;
    font-size: 1.8rem
}

@media only screen and (min-width:544px) {
    .liquid_wrap .liquid_wrap__right h2.index_event_h2 {
        font-size: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__right h2.index_event_h2 {
        font-size: 2.6rem
    }
}

.liquid_wrap .liquid_wrap__right h2.index_event_h2 small {
    font-family: philosopher, sans-serif;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.2rem;
    margin: 0 0 .5rem;
    letter-spacing: .08rem;
    display: none
}

@media only screen and (min-width:1024px) {
    .liquid_wrap .liquid_wrap__right h2.index_event_h2 small {
        display: block
    }
}

.liquid_wrap ul.travel_info_list {
    width: calc(100% - 6rem);
    margin: 3.5rem auto 2rem auto
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list {
        width: calc(100% - 12rem);
        margin: 7rem auto 2rem auto
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap ul.travel_info_list {
        width: 68%;
        margin: 3rem auto 2rem auto
    }
}

.liquid_wrap ul.travel_info_list li {
    position: relative
}

.liquid_wrap ul.travel_info_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .4;
    height: .09rem;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 4px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li:before {
        background-size: 4px 1px;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.liquid_wrap ul.travel_info_list li a {
    display: block;
    text-align: center;
    padding: 1.5rem 0 2.25rem;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li a {
        font-size: 2.6rem;
        padding: 2.7rem 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap ul.travel_info_list li a {
        font-size: 1.6rem;
        padding: 2.7rem 0 3.5rem
    }
}

.liquid_wrap ul.travel_info_list li a .text {
    letter-spacing: .16rem;
    color: #333;
    position: relative
}

.liquid_wrap ul.travel_info_list li a .text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li a .text:before {
        display: block
    }
}

.liquid_wrap ul.travel_info_list li a .text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li a .text:after {
        display: block
    }
}

.liquid_wrap ul.travel_info_list li a span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    position: relative;
    background: #B49C69;
    width: 1.9rem;
    height: 1.9rem
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li a span.arrow {
        width: 3.8rem;
        height: 3.8rem;
        margin: 1rem auto
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap ul.travel_info_list li a span.arrow {
        width: 3rem;
        height: 3rem;
        margin: .5rem auto
    }
}

.liquid_wrap ul.travel_info_list li a span.arrow svg {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .liquid_wrap ul.travel_info_list li a span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .liquid_wrap ul.travel_info_list li a span.arrow svg {
        width: 1.2rem
    }
}

.liquid_wrap ul.travel_info_list li a span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .liquid_wrap ul.travel_info_list li a:hover .text {
        transition: transform .3s
    }

    .liquid_wrap ul.travel_info_list li a:hover .text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .liquid_wrap ul.travel_info_list li a:hover .text:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.home_event_slider__body {
    width: 100%;
    overflow: hidden;
    margin: 0
}

.home_event_slider {
    width: 24rem;
    margin-right: 0;
    margin-left: 3rem;
    margin-top: 4.5rem;
    margin-bottom: 3.5rem;
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .home_event_slider {
        margin-left: 6rem;
        margin-top: 9rem;
        width: 48rem
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider {
        margin-left: 10rem;
        margin-top: 3.5rem;
        width: 35rem
    }
}

@media only screen and (min-width:1600px) {
    .home_event_slider {
        margin-left: 15rem
    }
}

.home_event_slider a.event-swiper-button-prev {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -100%
}

.home_event_slider a.event-swiper-button-prev:after {
    display: none
}

.home_event_slider a.event-swiper-button-next {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.home_event_slider a.event-swiper-button-next:after {
    display: none
}

.home_event_slider .event-slide-wrapper {
    width: 100%
}

.home_event_slider .event-slide-wrapper .event-slide {
    min-width: 100%;
    width: 100% !important;
    padding-right: 0;
    padding-left: 0
}

.home_event_slider .event-slide-wrapper .event-slide a {
    border-radius: .5rem
}

.home_event_slider .event-slide-wrapper .event-slide a .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    box-shadow: .5rem 1rem 2rem rgba(0, 0, 0, .1);
    height: 15.5rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .thumb {
        height: 31rem
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .thumb {
        height: 21rem
    }
}

.home_event_slider .event-slide-wrapper .event-slide a .thumb img {
    object-fit: cover;
    object-position: center;
    border-radius: .25rem;
    width: 100%;
    height: 100%;
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .thumb img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .thumb img {
        border-radius: .5rem
    }
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom {
    width: 100%
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    letter-spacing: .15rem;
    margin: 1.75rem 0 0
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top {
        margin: 3.5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top {
        margin: 1.5rem 0 0
    }
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top object {
    display: block;
    transform: translateY(-2px)
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top a.event-slide__cat_icon {
    display: inline-block;
    border: 1px solid #ccc;
    background: rgba(255, 255, 255, .4);
    color: rgba(51, 51, 51, .6);
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .25rem .4rem;
    border-radius: .25rem;
    transition: .6s ease
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top a.event-slide__cat_icon {
        font-size: 2rem;
        background: rgba(255, 255, 255, .4);
        border-radius: .5rem;
        padding: .5rem .8rem
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top a.event-slide__cat_icon {
        font-size: 1rem;
        background: #fff;
        border-radius: .2rem;
        padding: .3rem .5rem
    }
}

@media (min-width:768px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top a.event-slide__cat_icon:hover {
        color: #333;
        border: 1px solid #8e7823;
        transition: .6s ease
    }
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top .event-slide__date_time {
    font-size: 1rem;
    font-family: philosopher, sans-serif;
    color: rgba(51, 51, 51, .6);
    margin: 0 0 0 .8rem;
    letter-spacing: .16rem;
    font-weight: 400
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top .event-slide__date_time {
        font-size: 2rem;
        margin: 0 0 0 1.2rem;
        color: rgba(51, 51, 51, .6)
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom__top .event-slide__date_time {
        font-size: 1rem;
        margin: 0 0 0 .8rem;
        color: rgba(0, 0, 0, .6)
    }
}

.home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom .event-slide__ttl {
    display: block;
    width: 100%;
    font-size: 1.1rem;
    color: #333;
    margin: .7rem 0;
    line-height: 1.6;
    letter-spacing: .16rem
}

@media only screen and (min-width:544px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom .event-slide__ttl {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .home_event_slider .event-slide-wrapper .event-slide a .event-slide__bottom .event-slide__ttl {
        font-size: 1.4rem
    }
}

#event_slider_stalker_prev {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 3rem;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    margin: 0;
    display: none
}

@media only screen and (min-width:544px) {
    #event_slider_stalker_prev {
        display: block
    }
}

#event_slider_stalker_prev span {
    background: rgba(0, 0, 0, .6);
    display: block;
    transform: scale(0, 0);
    webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    border-radius: 50%
}

.event_slider_stalker {
    position: fixed;
    width: 15rem;
    height: 15rem;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    margin: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0;
    display: none
}

@media only screen and (min-width:544px) {
    .event_slider_stalker {
        display: block
    }
}

.event_slider_stalker span {
    background: rgba(0, 0, 0, .6);
    display: block;
    border-radius: 50%;
    transform: scale(0, 0);
    webkit-transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

.event_slider_stalker span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

.event_slider_stalker:after {
    content: "前へ";
    position: absolute;
    color: #fff;
    top: 45%;
    left: 45%;
    transform: translate(-50%, -50%);
    z-index: 10;
    font-size: 1.3rem;
    font-weight: 600;
    white-space: nowrap;
    display: block
}

#event_slider_stalker_next {
    width: 15rem;
    height: 15rem;
    display: none
}

@media only screen and (min-width:544px) {
    #event_slider_stalker_next {
        display: block
    }
}

#event_slider_stalker_next span {
    border-radius: 50%;
    background: rgba(0, 0, 0, .6);
    transform: scale(.8, .8);
    width: 13.5rem;
    height: 13.5rem;
    position: absolute
}

#event_slider_stalker_next span:before {
    width: 15rem;
    height: 15rem;
    content: "";
    border: 1px solid #000;
    opacity: .6;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%
}

#event_slider_stalker_next:after {
    display: block;
    content: "次へ";
    color: #fff
}

@-webkit-keyframes glow_sp {
    0% {
        background-position: -20% -20%;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    60% {
        background-position: -140% -140%;
        opacity: 1
    }

    100% {
        background-position: -140% -140%;
        opacity: 0
    }
}

@keyframes glow_sp {
    0% {
        background-position: -20% -20%;
        opacity: 0
    }

    20% {
        opacity: 1
    }

    60% {
        background-position: -140% -140%;
        opacity: 1
    }

    100% {
        background-position: -140% -140%;
        opacity: 0
    }
}

.main_visual__sp {
    position: relative;
    display: block;
    width: 100%;
    height: 100svh;
    overflow: hidden;
    z-index: 2
}

@media only screen and (min-width:1024px) {
    .main_visual__sp {
        display: none
    }
}

.main_visual__sp .glow_animation {
    border-radius: .6rem;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2
}

.main_visual__sp .glow_animation.glow_active {
    background: radial-gradient(#fff, rgba(255, 255, 255, 0));
    background-size: 250% 250%;
    -webkit-animation: glow_sp 1s ease-out forwards;
    animation: glow_sp 1s ease-out forwards;
    mix-blend-mode: overlay;
    opacity: 0
}

.main_visual__sp .main_visual__sp__inner {
    position: absolute;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    top: 0;
    left: 0;
    width: 100%;
    padding: 4rem 3rem 0
}

@media only screen and (min-width:544px) {
    .main_visual__sp .main_visual__sp__inner {
        padding: 8rem 6rem 0
    }
}

.main_visual__sp .main_visual__sp__inner a.head_logo {
    display: block;
    width: 9rem;
    height: auto
}

@media only screen and (min-width:544px) {
    .main_visual__sp .main_visual__sp__inner a.head_logo {
        width: 9rem
    }
}

.main_visual__sp .main_visual__sp__inner p.info_text {
    text-align: right;
    color: #fff;
    font-size: 12px;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .main_visual__sp .main_visual__sp__inner p.info_text {
        font-size: 2rem;
        line-height: 1.8
    }
}

.main_visual__sp .main-slider__sp {
    width: 100%;
    height: 100svh;
    position: absolute;
    top: 0;
    left: 0;
    filter: brightness(.8)
}

.main_visual__sp .main-slider__sp .slick-list {
    height: 100%
}

.main_visual__sp .main-slider__sp .slick-list .slick-track {
    height: 100%
}

.main_visual__sp .main-slider__sp .slick-list .slick-track li .itemImg {
    width: 100%;
    height: 100%
}

.main_visual__sp .main-slider__sp .slick-list .slick-track li .itemImg {
    background-size: cover;
}

h1.main_visual__h1__sp {
    color: #fff;
    display: flex;
    justify-content: flex-end;
    position: absolute;
    top: 100svh;
    right: 0;
    z-index: 1000;
    padding: 0;
    transform: translate(-2rem, -1rem);
    margin: 0 0 -1rem;
    opacity: 0;
    transition-delay: 1s;
    transition: opacity .4s
}

h1.main_visual__h1__sp.is_open {
    opacity: 1
}

@media (max-width:767px) {
    h1.main_visual__h1__sp {
        translate: 0 -4rem
    }
}

@media only screen and (min-width:544px) {
    h1.main_visual__h1__sp {
        transform: translateX(-4rem);
        margin: 0 0 -2rem
    }
}

@media only screen and (min-width:1024px) {
    h1.main_visual__h1__sp {
        display: none
    }
}

h1.main_visual__h1__sp .randomAnimeSP {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0 .6rem;
    font-size: 2.4rem;
    letter-spacing: .5rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    h1.main_visual__h1__sp .randomAnimeSP {
        font-size: 4.6rem;
        letter-spacing: 1rem;
        line-height: 1.4
    }
}

h1.main_visual__h1__sp .randomAnimeSP>span>span>span {
    animation: blur 1s 1s forwards linear
}

h1.main_visual__h1__sp .randomAnimeSP2 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0 .6rem;
    font-size: 2.4rem;
    letter-spacing: .5rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    h1.main_visual__h1__sp .randomAnimeSP2 {
        font-size: 4.6rem;
        letter-spacing: 1rem;
        line-height: 1.4
    }
}

h1.main_visual__h1__sp .randomAnimeSP2>span>span>span {
    animation: blur 1s 1s forwards linear
}

h1.main_visual__h1__sp .randomAnimeSP3 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-feature-settings: initial;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0 .6rem;
    font-size: 2.4rem;
    letter-spacing: .5rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    h1.main_visual__h1__sp .randomAnimeSP3 {
        font-size: 4.6rem;
        letter-spacing: 1rem;
        line-height: 1.4
    }
}

h1.main_visual__h1__sp .randomAnimeSP3>span>span>span {
    animation: blur 1s 1s forwards linear
}

.sp_no_disp {
    display: none !important
}

@media only screen and (min-width:1024px) {
    .sp_no_disp {
        display: block !important
    }
}

.index_wrap {
    width: 100%;
    overflow: hidden
}

#page {
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#page.is-open {
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1)
}

#page.is-open:before {
    content: "";
    -webkit-transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition: all .6s cubic-bezier(.16, 1, .3, 1);
    transition-property: visibility, opacity;
    position: fixed;
    z-index: 8888;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, .3);
    pointer-events: none;
    opacity: 1;
    z-index: 4000
}

.page_wrap .large_container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem
}

@media only screen and (min-width:544px) {
    .page_wrap .large_container {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1160px) {
    .page_wrap .large_container {
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1200px) {
    .page_wrap .large_container {
        padding-right: 0;
        padding-left: 0
    }
}

.page_header_area {
    overflow: visible;
    margin: 13.75rem 0 0;
    color: #fff
}

@media only screen and (min-width:544px) {
    .page_header_area {
        margin: 27.5rem 0 0;
        overflow: visible
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area {
        margin: 18.3rem 0 4.6rem;
        overflow: hidden
    }
}

.page_header_area.page_header_area__child {
    margin: 11.7rem 0 3.25rem;
    overflow-x: hidden
}

@media only screen and (min-width:544px) {
    .page_header_area.page_header_area__child {
        margin: 24rem 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area.page_header_area__child {
        margin: 15.7rem 0 7.5rem
    }
}

.page_header_area.page_header_area__child h1 {
    line-height: 1.2 !important;
    margin: 0 !important
}

@media only screen and (min-width:544px) {
    .page_header_area.page_header_area__child h1 {
        margin: 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area.page_header_area__child h1 {
        margin: 0 0 7rem
    }
}

.page_header_area.page_header_area__child_has_subnav {
    margin: 10.75rem 0 3.25rem
}

@media only screen and (min-width:544px) {
    .page_header_area.page_header_area__child_has_subnav {
        margin: 14.5rem 0 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area.page_header_area__child_has_subnav {
        margin: 15.5rem 0 7.5rem
    }
}

.page_header_area.page_header_area__child_has_subnav .popout_page__h1 {
    margin: 0 !important
}

@media only screen and (min-width:544px) {
    .page_header_area.page_header_area__child_has_subnav .popout_page__h1 {
        margin: 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area.page_header_area__child_has_subnav .popout_page__h1 {
        margin: 1rem 0 0 !important
    }
}

.page_header_area .page_header_area__h1 {
    position: relative;
    padding: 0
}

.page_header_area .page_header_area__h1 a.page_header_area__h1__link {
    color: #C31111;
    line-height: 1;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-size: .9rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link {
        font-size: 1.8rem;
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link {
        font-size: 1.2rem;
        margin: 0 0 1.5rem
    }
}

.page_header_area .page_header_area__h1 a.page_header_area__h1__link.page_header_area__h1__link__fadein {
    opacity: 1;
    transition: 1s ease
}

.page_header_area .page_header_area__h1 a.page_header_area__h1__link:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #C31111;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:before {
        height: 1px
    }
}

.page_header_area .page_header_area__h1 a.page_header_area__h1__link:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #C31111;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:after {
        height: 1px
    }
}

.page_header_area .page_header_area__h1 a.page_header_area__h1__link:hover {
    cursor: pointer
}

@media (min-width:768px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_header_area .page_header_area__h1 a.page_header_area__h1__link:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.page_header_area .page_header_area__h1 .popout_page__h1 {
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 .popout_page__h1 {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 .popout_page__h1 {
        margin: 1rem 0 0
    }
}

.page_header_area .page_header_area__h1 h1 {
    color: #000;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .05rem;
    line-height: 1;
    margin: 0 0 6.75rem;
    font-size: 2.4rem
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 h1 {
        font-size: 4.8rem;
        margin: 0 0 13.5rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 h1 {
        font-size: 3rem;
        margin: 1rem 0 7rem;
        letter-spacing: .2rem
    }
}

.page_header_area .page_header_area__h1 .bg_en__img {
    position: absolute;
    left: 0;
    top: 1.5rem
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 .bg_en__img {
        top: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 .bg_en__img {
        top: 1rem
    }
}

.page_header_area .page_header_area__h1 .bg_en__img__about {
    width: calc(100% + 1.5rem)
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 .bg_en__img__about {
        width: calc(100% + 3rem)
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 .bg_en__img__about {
        width: 58.8rem
    }
}

nav.page_index_nav {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav {
        margin: 0 0 15rem
    }
}

nav.page_index_nav ul {
    display: block
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul {
        display: flex
    }
}

nav.page_index_nav ul li {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li {
        width: 33.333%
    }
}

nav.page_index_nav ul li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li:before {
        display: block
    }
}

nav.page_index_nav ul li:last-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li:last-child:after {
        display: block
    }
}

nav.page_index_nav ul li a {
    display: block;
    color: #fff;
    padding: 0 0 3.5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a {
        padding: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a {
        padding: 6.5rem 4rem 0
    }
}

nav.page_index_nav ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/index_nav_bg.png) 0 0 no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 0;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

@media (min-width:768px) {
    nav.page_index_nav ul li a:hover:after {
        opacity: 0;
        transition: .8s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    nav.page_index_nav ul li a:hover:after {
        opacity: 1
    }
}

nav.page_index_nav ul li a span.page_index_nav__text_block {
    transform: translateY(-1rem);
    padding: 0 1.5rem;
    display: block
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a span.page_index_nav__text_block {
        transform: translateY(-2rem);
        padding: 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.page_index_nav__text_block {
        transform: translateY(0);
        padding: 0
    }
}

nav.page_index_nav ul li a span.page_index_nav__title {
    color: #fff;
    font-family: ryo-display-plusn, serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: .1rem;
    display: inline-block;
    position: relative;
    line-height: 1.3;
    z-index: 10;
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a span.page_index_nav__title {
        margin: 0 0 2rem;
        font-size: 3.6rem;
        letter-spacing: .2rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.page_index_nav__title {
        margin: 0 0 2rem;
        font-size: 2rem;
        letter-spacing: .2rem
    }
}

nav.page_index_nav ul li a span.page_index_nav__title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a span.page_index_nav__title:after {
        border-bottom: 2px solid #fff
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.page_index_nav__title:after {
        border-bottom: 1px solid #fff
    }
}

nav.page_index_nav ul li a span.page_index_nav__text {
    color: #ccc;
    opacity: .5;
    display: block;
    position: relative;
    z-index: 10;
    font-size: 1.2rem;
    line-height: 1.6;
    min-height: auto
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a span.page_index_nav__text {
        font-size: 2.4rem;
        color: #ccc;
        opacity: .5;
        line-height: 1.6;
        min-height: auto
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.page_index_nav__text {
        color: #fff;
        font-size: 1.2rem;
        opacity: 1;
        line-height: 1.8;
        min-height: 4.5rem
    }
}

nav.page_index_nav ul li a .thumb {
    border-radius: .5rem;
    will-change: transform;
    isolation: isolate;
    display: none;
    overflow: hidden;
    border-radius: .5rem;
    margin: 8rem 0 0
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a .thumb {
        display: block
    }
}

nav.page_index_nav ul li a .thumb img {
    width: 100%;
    border-radius: .5rem;
    position: relative;
    z-index: 10;
    isolation: isolate;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1)
}

nav.page_index_nav ul li a .thumb__sp {
    display: block
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a .thumb__sp {
        display: none
    }
}

nav.page_index_nav ul li a .thumb__sp img {
    width: 100%;
    position: relative;
    z-index: 10;
    isolation: isolate
}

nav.page_index_nav ul li a span.arrow {
    bottom: -1.5rem;
    right: 3.5rem;
    display: block;
    border-radius: 50%;
    position: absolute;
    background: #B49C69;
    width: 3rem;
    height: 3rem;
    transform: scale(0, 0);
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    z-index: 10;
    opacity: 0
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.arrow {
        display: block;
        right: 7rem;
        width: 6rem;
        height: 6rem;
        bottom: -3rem
    }
}

nav.page_index_nav ul li a span.arrow svg {
    position: absolute;
    top: 50%;
    left: 51%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav ul li a span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav ul li a span.arrow svg {
        width: 1.2rem
    }
}

nav.page_index_nav ul li a span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    nav.page_index_nav ul li a:hover {
        opacity: 1
    }

    nav.page_index_nav ul li a:hover .thumb img {
        transition: 0s;
        transform: scale(1, 1)
    }

    nav.page_index_nav ul li a:hover span.arrow {
        transform: scale(0, 0);
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        opacity: 0
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_index_nav ul li a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_index_nav ul li a:hover span.arrow {
        opacity: 1;
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1)
    }
}

nav.page_index_nav02 {
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 {
        margin: 0 0 6rem
    }
}

nav.page_index_nav02 ul {
    display: flex;
    flex-wrap: wrap
}

nav.page_index_nav02 ul li {
    width: 50%;
    position: relative;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, .05)
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li {
        width: 50%;
        border-top: 1px solid rgba(255, 255, 255, .1)
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li {
        width: 33.333%
    }
}

nav.page_index_nav02 ul li:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li:before {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

nav.page_index_nav02 ul li:nth-child(1):after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    display: block
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li:nth-child(1):after {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li:nth-child(1):after {
        display: none
    }
}

nav.page_index_nav02 ul li:nth-child(3):after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li:nth-child(3):after {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

nav.page_index_nav02 ul li:nth-child(5):after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    display: block
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li:nth-child(5):after {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li:nth-child(5):after {
        display: none
    }
}

nav.page_index_nav02 ul li:last-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li:last-child:after {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

nav.page_index_nav02 ul li.last_child {
    position: relative
}

nav.page_index_nav02 ul li.last_child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    opacity: .1;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li.last_child:after {
        opacity: .2;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 4px
    }
}

nav.page_index_nav02 ul li a {
    display: block;
    color: #fff;
    padding: 7rem 4rem 0;
    position: relative
}

nav.page_index_nav02 ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/index_nav_bg.png) 0 0 no-repeat;
    background-size: cover;
    z-index: 1;
    opacity: 0;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none;
    z-index: 1
}

@media (min-width:768px) {
    nav.page_index_nav02 ul li a:hover:after {
        opacity: 0;
        transition: .8s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_index_nav02 ul li a:hover:after {
        opacity: 1
    }
}

nav.page_index_nav02 ul li a span.page_index_nav__title {
    color: #fff;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 400;
    letter-spacing: .1rem;
    display: inline-block;
    margin: 0 0 1.25rem;
    position: relative;
    line-height: 1.3;
    z-index: 10;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li a span.page_index_nav__title {
        font-size: 2.6rem;
        font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        letter-spacing: .2rem;
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li a span.page_index_nav__title {
        font-size: 2rem;
        font-family: ryo-display-plusn, serif;
        letter-spacing: .2rem;
        margin: 0 0 2.5rem
    }
}

nav.page_index_nav02 ul li a span.page_index_nav__title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff
}

nav.page_index_nav02 ul li a span.page_index_nav__text {
    color: #fff;
    display: block;
    position: relative;
    z-index: 10
}

nav.page_index_nav02 ul li a .thumb {
    will-change: transform;
    isolation: isolate;
    display: block;
    overflow: hidden;
    border-radius: .25rem;
    position: relative;
    z-index: 10;
    margin: 0
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li a .thumb {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li a .thumb {
        border-radius: .5rem
    }
}

nav.page_index_nav02 ul li a .thumb img {
    width: 100%;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1);
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li a .thumb img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li a .thumb img {
        border-radius: .5rem
    }
}

nav.page_index_nav02 ul li a span.arrow {
    bottom: -1.5rem;
    right: 3.5rem;
    display: block;
    border-radius: 50%;
    z-index: 0;
    position: absolute;
    background: #B49C69;
    width: 3rem;
    height: 3rem;
    transform: scale(0, 0);
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    z-index: 10
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li a span.arrow {
        right: 7rem;
        width: 6rem;
        height: 6rem;
        bottom: -3rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li a span.arrow {
        right: 7rem;
        width: 6rem;
        height: 6rem;
        bottom: -3rem
    }
}

nav.page_index_nav02 ul li a span.arrow svg {
    position: absolute;
    top: 50%;
    left: 51%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    nav.page_index_nav02 ul li a span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav02 ul li a span.arrow svg {
        width: 1.2rem
    }
}

nav.page_index_nav02 ul li a span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    nav.page_index_nav02 ul li a:hover .thumb img {
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }

    nav.page_index_nav02 ul li a:hover span.arrow {
        transform: scale(0, 0);
        transition: 0s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_index_nav02 ul li a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_index_nav02 ul li a:hover span.arrow {
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1)
    }
}

nav.page_index_nav_col2 {
    margin: 0 0 6rem
}

nav.page_index_nav_col2 ul li {
    width: 50%
}

nav.page_index_nav_col2 ul li span.text {
    margin: 0;
    display: block;
    font-size: 1.2rem
}

nav.page_index_nav_col2 ul li .thumb {
    margin: 5rem 0 0 !important
}

nav.page_index_nav_col2 ul li .thumb img {
    margin: 0
}

nav.page_index_nav__hov_small a .thumb img {
    transition: 0s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1) !important
}

@media only screen and (min-width:544px) {
    nav.page_index_nav__hov_small a .thumb img {
        transition: .6s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03) !important
    }
}

@media (min-width:768px) {
    nav.page_index_nav__hov_small a:hover .thumb img {
        transition: .6s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1) !important
    }
}

.page_index_bottom {
    background: url(../image/main_white_bg02__sp.png) 0 0 repeat;
    padding: 6.25rem 0 7.75rem;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    .page_index_bottom {
        padding: 12.5rem 0 15.5rem;
        background-size: auto
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom {
        padding: 9.5rem 0;
        background: url(../image/main_white_bg02.png) 0 0 repeat
    }
}

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

@media only screen and (min-width:1024px) {
    .page_index_bottom .text-center {
        text-align: center !important
    }
}

.page_index_bottom h2.page_index_bottom__h2 {
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    display: inline-block;
    letter-spacing: .15rem;
    color: #333;
    position: relative;
    line-height: 1.1;
    margin: 0 0 2.5rem;
    font-size: 1.85rem
}

@media only screen and (min-width:544px) {
    .page_index_bottom h2.page_index_bottom__h2 {
        font-size: 3.71rem;
        line-height: 1.1;
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom h2.page_index_bottom__h2 {
        font-size: 2rem;
        line-height: 1.3;
        margin: 0 0 3rem
    }
}

.page_index_bottom h2.page_index_bottom__h2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #333;
    width: 100%
}

@media only screen and (min-width:544px) {
    .page_index_bottom h2.page_index_bottom__h2:after {
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom h2.page_index_bottom__h2:after {
        height: 1px
    }
}

.page_index_bottom ul.page_index_bottom__list {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.page_index_bottom ul.page_index_bottom__list li {
    width: calc(50% - 1rem);
    margin: 0
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li {
        margin: 0 0 1rem
    }
}

.page_index_bottom ul.page_index_bottom__list li a {
    transition: .4s cubic-bezier(.26, .06, 0, 1);
    padding: 1rem 0;
    background: 0 0;
    border-radius: 0;
    position: relative;
    display: flex;
    align-items: center;
    height: auto;
    color: #333;
    font-size: 1.6rem
}

@media only screen and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a {
        padding: 2rem 0;
        height: auto
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a {
        padding: 0;
        height: 11rem;
        background: #fff;
        border-radius: .5rem
    }
}

.page_index_bottom ul.page_index_bottom__list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0;
    border: transparent;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    transition: 0s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:after {
        opacity: .3;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 4px 1px
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a:after {
        background-image: none;
        width: 100%;
        height: 100%;
        border: 1px solid #B49C69;
        border-radius: .5rem;
        opacity: 0;
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img {
    width: 5rem;
    height: 5rem;
    transition: .2s ease-out;
    overflow: hidden;
    ransform: scale(1, 1)
}

@media only screen and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img {
        width: 10rem;
        height: 10rem
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img {
        width: 11rem;
        height: 11rem
    }
}

.page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img img {
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    object-fit: cover;
    object-position: center center;
    transition: .2s ease-out;
    transform: scale(1, 1)
}

@media only screen and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__img img {
        border-radius: .5rem 0 0 .5rem
    }
}

.page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__text {
    margin: 0 0 0 1rem;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__text {
        margin: 0 0 0 2rem;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a .page_index_bottom__list__text {
        margin: 0 0 0 3rem;
        font-size: 1.6rem
    }
}

.page_index_bottom ul.page_index_bottom__list li a span.arrow {
    display: none;
    border-radius: 50%;
    z-index: 0;
    background: #B49C69;
    width: 3rem;
    height: 3rem;
    transform: scale(0, 0) translateY(-50%);
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    margin: 0 3rem 0 auto;
    opacity: 0
}

@media only screen and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a span.arrow {
        display: block
    }
}

.page_index_bottom ul.page_index_bottom__list li a span.arrow svg {
    position: absolute;
    top: 50%;
    left: 51%;
    transform: translate(-50%, -50%);
    width: .85rem
}

.page_index_bottom ul.page_index_bottom__list li a span.arrow svg use {
    fill: #fff;
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover {
        transition: .4s cubic-bezier(.26, .06, 0, 1);
        color: #333;
        font-weight: 400
    }

    .page_index_bottom ul.page_index_bottom__list li a:hover span.arrow {
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }

    .page_index_bottom ul.page_index_bottom__list li a:hover:before {
        opacity: .2
    }

    .page_index_bottom ul.page_index_bottom__list li a:hover:after {
        opacity: .2
    }

    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img {
        border-radius: .25rem;
        transition: .5s cubic-bezier(.43, .05, .17, 1);
        overflow: hidden
    }

    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img img {
        border-radius: .25rem;
        transition: .5s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover {
        font-weight: 700;
        color: #8e7823
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover:before {
        opacity: .3
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover:before {
        opacity: 1
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover:after {
        opacity: .3
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover:after {
        opacity: 1;
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img {
        border-radius: .5rem;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img {
        border-radius: .5rem;
        transform: scale(.9, .9)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img img {
        border-radius: .5rem;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .page_index_bottom ul.page_index_bottom__list li a:hover .page_index_bottom__list__img img {
        border-radius: .5rem;
        transform: scale(1.16, 1.16)
    }
}

.page_index_bottom ul.page_index_bottom__list li:nth-child(5) a:before,
.page_index_bottom ul.page_index_bottom__list li:last-child a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    transition: 0s cubic-bezier(.26, .06, 0, 1);
    display: block
}

@media only screen and (min-width:544px) {

    .page_index_bottom ul.page_index_bottom__list li:nth-child(5) a:before,
    .page_index_bottom ul.page_index_bottom__list li:last-child a:before {
        opacity: .3;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 4px 1px
    }
}

@media only screen and (min-width:1024px) {

    .page_index_bottom ul.page_index_bottom__list li:nth-child(5) a:before,
    .page_index_bottom ul.page_index_bottom__list li:last-child a:before {
        display: none
    }
}

section.page_section {
    padding: 2.25rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    section.page_section {
        padding: 3.5rem 0 0;
    }
}

@media only screen and (min-width:1024px) {
    section.page_section {
        padding: 10.3rem 0 0;
    }
}

section.page_section__wide {
    padding: 3.25rem 0 5rem
}

@media only screen and (min-width:544px) {
    section.page_section__wide {
        padding: 6.5rem 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section__wide {
        padding: 10.3rem 0 15rem
    }
}

section.page_section__top_fix {
    padding: 23.5rem 0 7.5rem
}

@media only screen and (min-width:544px) {
    section.page_section__top_fix {
        padding: 47rem 0 15rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section__top_fix {
        padding: 51.1rem 0 15rem
    }
}

section.page_section__top_fix__sp {
    padding: 3.5rem 0 5rem
}

@media only screen and (min-width:544px) {
    section.page_section__top_fix__sp {
        padding: 7rem 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section__top_fix__sp {
        padding: 51.1rem 0 15rem
    }
}

.section-full-wrap {
    width: 100%;
    position: relative
}

.page_mv_area {
    width: 100%;
    position: relative;
    background-position: center -100px;
    background-repeat: no-repeat;
    transition: 0s !important;
    background-attachment: scroll;
    overflow: hidden;
    background-size: auto 110%
}

@media only screen and (min-width:544px) {
    .page_mv_area {
        background-attachment: scroll;
        background-position: center -100px;
        background-size: auto 115%
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area {
        background-attachment: scroll;
        background-position: center -100px;
        background-size: auto 115%
    }
}

.page_mv_area img {
    opacity: 1
}

@media only screen and (min-width:1024px) {
    .page_mv_area img {
        opacity: 0
    }
}

.page_mv_area img.pc_img {
    display: none
}

@media only screen and (min-width:1024px) {
    .page_mv_area img.pc_img {
        display: block
    }
}

.page_mv_area img.sp_img {
    display: block;
    opacity: 1
}

@media only screen and (min-width:544px) {
    .page_mv_area img.sp_img {
        display: block;
        opacity: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area img.sp_img {
        display: none
    }
}

.sp_parallax {
    display: block;
    height: 31rem
}

@media only screen and (min-width:544px) {
    .sp_parallax {
        height: 62rem
    }
}

@media only screen and (min-width:1024px) {
    .sp_parallax {
        display: none
    }
}

.sp_parallax__institution {
    height: 32.4rem
}

@media only screen and (min-width:544px) {
    .sp_parallax__institution {
        height: 62rem
    }
}

@media only screen and (min-width:1024px) {
    .sp_parallax__institution {
        display: none
    }
}

.sp_parallax__attachment {
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    height: 100%;
    width: 100%
}

.sp_parallax__attachment__clip {
    position: relative;
    overflow: hidden;
    clip-path: inset(0 0 0 0);
    height: 100%
}

.sp_parallax__attachment img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    object-fit: cover;
    object-position: center
}

@media only screen and (min-width:544px) {
    .sp_parallax__attachment img {
        transform: scale(1.2)
    }
}

.sp_parallax .sp_parallax__attachment__height {
    height: 31rem
}

@media only screen and (min-width:544px) {
    .sp_parallax .sp_parallax__attachment__height {
        height: 62rem
    }
}

.page_mv_area__inner {
    color: #fff;
    margin: -1.5rem 0 0;
    z-index: 100;
    position: relative
}

@media only screen and (min-width:544px) {
    .page_mv_area__inner {
        margin: -2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__inner {
        margin: -3rem 0 0
    }
}

.page_mv_area__inner h2 {
    font-family: ryo-display-plusn, serif;
    letter-spacing: .2rem;
    font-weight: 400;
    margin: 0 0 1.5rem;
    font-size: 2.1rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__inner h2 {
        font-size: 4.2rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__inner h2 {
        font-size: 3.8rem;
        margin: 0 0 5rem
    }
}

.page_mv_area__inner h2 span.text {
    line-height: 1;
    display: block;
    margin: 1rem 0 .75rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__inner h2 span.text {
        margin: 1rem 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__inner h2 span.text {
        margin: 1rem 0
    }
}

.page_mv_area__inner h2 small {
    color: #C31111;
    display: block;
    font-family: philosopher, sans-serif;
    line-height: 1;
    font-size: .7rem;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__inner h2 small {
        font-size: 1.6rem;
        letter-spacing: .15rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__inner h2 small {
        font-size: 1.2rem;
        letter-spacing: .15rem
    }
}

.page_mv_area__inner p {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__inner p {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__inner p {
        margin: 0 0 3rem
    }
}

.page_mv_area__top_fix {
    position: absolute;
    top: 0;
    left: 0;
    height: 31rem;
    overflow: hidden;
    background-position-y: -100px;
    background-size: auto 115%;
    background-attachment: scroll;
    z-index: -1
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix {
        height: 62rem;
        background-size: auto 115%;
        z-index: -1
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix {
        height: 58rem;
        background-size: auto 115%;
        z-index: 0
    }
}

.page_mv_area__top_fix img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix img {
        position: relative
    }
}

.page_mv_area__top_fix img.mv_parallax_ryotei {
    height: 100%
}

.page_mv_area__top_fix .large_container {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

.page_mv_area__top_fix .large_container .page_header_area {
    position: relative;
    width: 100%;
    top: 0;
    left: 0;
    margin: 12.25rem 0 3.05rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .large_container .page_header_area {
        margin: 14.5rem 0 6.1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .large_container .page_header_area {
        margin: 15rem 0 0
    }
}

.page_mv_area__top_fix .large_container .page_header_area h1 {
    line-height: 1.2;
    margin: .15rem 0 0
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .large_container .page_header_area h1 {
        line-height: 1.2;
        margin: 3px 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .large_container .page_header_area h1 {
        margin: 0 0 7rem
    }
}

.page_mv_area__top_fix .page_header_area__h1 h1 {
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .page_header_area__h1 h1 {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .page_header_area__h1 h1 {
        margin: 0 0 7rem
    }
}

.page_mv_area__top_fix__sp {
    top: 0;
    left: 0;
    z-index: 1;
    height: 31rem;
    overflow: hidden;
    position: relative
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix__sp {
        position: relative;
        height: 62rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix__sp {
        position: absolute;
        height: 58rem
    }
}

nav.section_side_nav {
    position: sticky;
    top: 9rem;
    left: 0
}

@media only screen and (min-width:1600px) {
    nav.section_side_nav {
        top: 12rem
    }
}

.page_section__inner {
    display: block;
    width: 100%;
    justify-content: space-between;
    color: #fff;
    line-height: 2.2
}

@media only screen and (min-width:1024px) {
    .page_section__inner {
        display: flex
    }
}

.page_section__inner__left {
    width: 0;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_section__inner__left {
        width: 24rem;
        display: block
    }
}

.page_section__inner__right {
    width: 100%;
    font-size: 1.4rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    .page_section__inner__right {
        font-size: 2.8rem;
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right {
        width: calc(100% - 27rem);
        font-size: 1.4rem
    }
}

@media only screen and (min-width:1250px) {
    .page_section__inner__right {
        width: 100%;
    }
}

.page_section__inner__right .page_section__inner__right__top {
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid rgba(0, 0, 0, 0);
    border-bottom: 1px solid rgba(0, 0, 0, 0)
}

.page_section__inner__right .page_section__inner__right__top p {
    margin-top: -.7rem;
    margin-bottom: -.7rem;
    width: 100%;
    font-size: 1.4rem;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_section__inner__right__top p {
        font-size: 2.8rem;
        line-height: 1.6
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_section__inner__right__top p {
        font-size: 1.4rem;
        line-height: 1.7
    }
}

.page_section__inner__right .page_section__inner__right__top_has_subnav p {
    font-size: 1.3rem !important
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_section__inner__right__top_has_subnav p {
        font-size: 2.6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_section__inner__right__top_has_subnav p {
        font-size: 1.4rem !important
    }
}

.page_section__inner__right .page_h2__group {
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    padding: 0 1.5rem 0;
    position: relative;
    margin: 0 0 2rem;
}

@media (max-width:1023px) {
    .page_section__inner__right .page_h2__group.page_h2__group-access {
        margin: 0
    }
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group {
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        padding: 0 3rem 0;
        margin: 0 0 2rem;
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group {
        width: 100%;
        transform: translateX(0);
        padding: 0;
        margin: 0 0 2rem;
    }
}

/*.page_section__inner__right .page_h2__group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #C31111;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group:before {
        display: block
    }
}*/

.page_section__inner__right .page_h2__group:after {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #fff;
    opacity: .03
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group:after {
        width: calc(100% - 1rem);
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

.page_section__inner__right .page_h2__group span {
    color: #C31111;
    display: block;
    font-size: 1rem;
    line-height: 1;
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group span {
        font-size: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group span {
        font-size: 1.2rem
    }
}

.page_section__inner__right .page_h2__group h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: .2rem 0 0;
    letter-spacing: .05rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group h2 {
        font-size: 3.6rem;
        margin: .4rem 0 0;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group h2 {
        font-size: 2.4rem;
        margin: .9rem 0 0;
        letter-spacing: .15rem
    }
}

.page_section__inner__right .page_h2__group__not_en {
    position: relative;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    padding: 3.5rem 1.5rem 0;
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group__not_en {
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        padding: 7rem 3rem 0;
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group__not_en {
        width: 100%;
        transform: translateX(0);
        padding: 6rem 0 0;
        margin: 10rem 0 6rem
    }
}

.page_section__inner__right .page_h2__group__not_en:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #C31111;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group__not_en:before {
        display: block
    }
}

.page_section__inner__right .page_h2__group__not_en:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #fff;
    opacity: .03;
    width: 100%
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group__not_en:after {
        width: 100%;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group__not_en:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

.page_section__inner__right .page_h2__group__not_en span {
    color: #C31111;
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0
}

.page_section__inner__right .page_h2__group__not_en h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0;
    line-height: 1;
    letter-spacing: .05rem
}

@media only screen and (min-width:544px) {
    .page_section__inner__right .page_h2__group__not_en h2 {
        font-size: 3.6rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner__right .page_h2__group__not_en h2 {
        font-size: 2.4rem;
        letter-spacing: .15rem
    }
}

.page_section__inner .page_section__contents p {
    margin: 0 0 2.5rem;
    display: block;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p {
        margin: 0 0 4.8rem
    }
}

.page_section__inner .page_section__contents p span.small {
    display: block;
    font-size: 1.1rem;
    opacity: .5;
    letter-spacing: .05rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p span.small {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p span.small {
        font-size: 1.2rem
    }
}

.page_section__inner .page_section__contents p span.small.small-margin-large {
    margin-top: 1.4rem !important;
    margin-bottom: 3.5rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p span.small.small-margin-large {
        margin-top: 2.8rem !important;
        margin-bottom: 7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p span.small.small-margin-large {
        margin-top: 2.8rem !important;
        margin-bottom: 0
    }
}

.page_section__inner .page_section__contents p span.small.small-margin-small {
    margin-top: .9rem !important;
    margin-bottom: 2rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p span.small.small-margin-small {
        margin-top: 1.8rem !important;
        margin-bottom: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p span.small.small-margin-small {
        margin-top: 1.8rem !important;
        margin-bottom: 0
    }
}

.page_section__inner .page_section__contents p.h3_top_text {
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p.h3_top_text {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p.h3_top_text {
        margin: 0 0 4.8rem
    }
}

.page_section__inner .page_section__contents h3 {
    font-weight: 400;
    color: #fff;
    background: rgb(180 156 105);
    font-family: ryo-display-plusn, serif;
    border-radius: .25rem;
    position: relative;
    margin: 0 0 2rem;
    display: block;
    letter-spacing: .05rem;
    line-height: 1;
    font-size: 1.5rem;
    padding: .7rem 1rem .75rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents h3 {
        font-size: 3rem;
        padding: 1.4rem 1rem 1.5rem 2rem;
        border-radius: .5rem;
        margin: 0 0 4rem;
        letter-spacing: .15rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents h3 {
        font-size: 2rem;
        padding: 1.2rem 1rem 1.4rem 2rem
    }
}

.page_section__inner .page_section__contents h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    height: 1.5rem;
    background: #fff;
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents h3:before {
        left: 0;
        height: 3rem;
        width: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents h3:before {
        left: 1rem;
        height: 1.5rem;
        width: .2rem
    }
}

.page_section__inner .page_section__contents h4 {
    color: #fff;
    padding: 0 0 0 .85rem;
    font-size: 1.5rem;
    border-radius: .5rem;
    position: relative;
    margin: 0 0 1.75rem;
    display: block;
    letter-spacing: .05rem;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents h4 {
        font-size: 3rem;
        padding: 0 0 0 1.7rem;
        margin: 0 0 3.5rem;
        letter-spacing: .15rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents h4 {
        font-size: 1.8rem;
        padding: 0 0 0 1.2rem;
        margin: 0 0 2rem;
        letter-spacing: .15rem
    }
}

.page_section__inner .page_section__contents h4:before {
    content: "";
    position: absolute;
    left: 0;
    top: 57%;
    transform: translateY(-50%);
    width: .15rem;
    height: 1.2rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents h4:before {
        width: .3rem;
        height: 2.4rem;
        top: 55%
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents h4:before {
        width: .2rem;
        height: 1.7rem;
        top: 59%
    }
}

.page_section__inner .page_section__contents img {
    margin: 0 0 2.75rem;
    border-radius: .5rem;
    display: block;
    width: 100%
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents img {
        margin: 0 0 5.5rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents img {
        margin: 0 0 5.2rem;
        border-radius: .5rem
    }
}

.page_section__inner .page_section__contents img.page_h2__bottom_img {
    display: block;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    margin: 0 0 2.25rem;
    border-radius: 0
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents img.page_h2__bottom_img {
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents img.page_h2__bottom_img {
        border-radius: .5rem;
        width: 100%;
        transform: translateX(0);
        margin: 0 0 5.2rem
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav {
    margin: 3.5rem 0 0;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav {
        margin: 5rem 0 0;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav {
        margin: 5rem 0 0;
        border-radius: .5rem
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav.page_section_bottom_nav__story {
    margin: 19rem 0 0
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav.page_section_bottom_nav__institution {
    margin: 10.3rem 0 0
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav .page_section_bottom_nav__title {
    padding: 1.5rem 2rem 1.5rem 1rem;
    border-bottom: .1px solid rgba(204, 204, 204, .1);
    background: rgba(255, 255, 255, .05);
    border-radius: 5px;
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav .page_section_bottom_nav__title {
        padding: 1.5rem 2rem 1.5rem 1rem;
        border-bottom: 2px solid rgba(204, 204, 204, .1)
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav .page_section_bottom_nav__title {
        padding: 1.5rem 2rem 1.5rem 1rem;
        border-bottom: 1px solid rgba(204, 204, 204, .1)
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav h4 {
    color: #fff;
    font-size: 1.5rem;
    padding: 0 0 0 1.1rem;
    border-radius: .5rem;
    position: relative;
    margin: 0;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav h4 {
        font-size: 3rem;
        padding: 0 0 0 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav h4 {
        font-size: 1.8rem;
        padding: 0 0 0 1rem
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav h4:before {
    content: "";
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
    width: .15rem;
    height: 1.35rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav h4:before {
        width: .3rem;
        height: 2.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav h4:before {
        width: .2rem;
        height: 1.5rem
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul {
    display: flex
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li {
    width: calc(100% / 2 - 1%);
    position: relative;
    margin-right: 3%;
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li:nth-child(2n+2) {
    margin-right: 0;
}

/*.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li:first-child a:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: .9px;
    height: calc(100% - 5rem);
    opacity: .2;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li:first-child a:before {
        opacity: .3;
        height: calc(100% - 10rem);
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        width: 1px
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li:first-child a:before {
        height: calc(100% - 7rem)
    }
}*/

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a {
    display: block;
    color: #fff;
    padding: 0;
    position: relative
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a {
        padding: 0;
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a {
        padding: 0;
    }
}

/*.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/index_nav_bg.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

@media (min-width:768px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover:after {
        opacity: 0;
        transition: 0s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover:after {
        opacity: 1;
        transition: .8s cubic-bezier(.26, .06, 0, 1)
    }
}*/

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__title {
    color: #fff;
    font-family: ryo-display-plusn, serif;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: .05rem;
    display: inline-block;
    margin: 0 0 .85rem;
    position: relative;
    line-height: 1
}


.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__unit {
    font-size: 11.63px;
    font-weight: 700;
    line-height: 26.4px;
    text-align: left;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;

}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__title {
        margin: 0 0 1.7rem;
        font-size: 1.7rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__title {
        margin: 0 0 1.7rem;
        font-size: 1.7rem;
        letter-spacing: .2rem
    }
}

/*.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff
}*/

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__text {
    color: #fff;
    display: block;
    font-size: 1.3rem;
    line-height: 1.6;
    display: none;
    min-height: auto;
    margin-top: 6px;
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a span.page_index_nav__text {
        display: block;
        min-height: 3.9rem
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb {
    width: 100%;
    height: auto;
    margin: 1.25rem 0 0;
    transform: translateX(0) !important;
    border-radius: .25rem;
    display: block;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb {
        border-radius: .5rem;
        margin: 2.5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb {
        border-radius: .5rem;
        margin: 3rem 0 0
    }
}

.page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb img {
    width: 100%;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    margin: 0;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a .thumb img {
        border-radius: .5rem
    }
}

@media (min-width:768px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover .thumb {
        overflow: hidden
    }

    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover .thumb img {
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }

    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover span.arrow {
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_section__inner .page_section__contents nav.page_section_bottom_nav ul li a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03)
    }
}

.page_section__inner .page_section__contents__history h3 {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents__history h3 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents__history h3 {
        margin: 0 0 5rem
    }
}

.page_section__inner .page_section__contents__history p {
    margin: 0 0 2.5rem;
    display: block;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents__history p {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents__history p {
        margin: 0 0 4.8rem
    }
}

.section_side_nav h4.page_section_nav_title {
    margin: 0;
    padding: 0;
    font-size: 1.4rem
}

.section_side_nav h4.page_section_nav_title a {
    font-size: 1.8rem;
    line-height: 1;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    color: #000;
}

.section_side_nav h4.page_section_nav_title a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .section_side_nav h4.page_section_nav_title a:before {
        height: 1px
    }
}

.section_side_nav h4.page_section_nav_title a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #000;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .section_side_nav h4.page_section_nav_title a:after {
        height: 1px
    }
}

.section_side_nav h4.page_section_nav_title a:hover {
    cursor: pointer
}

@media (min-width:768px) {
    .section_side_nav h4.page_section_nav_title a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .section_side_nav h4.page_section_nav_title a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .section_side_nav h4.page_section_nav_title a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .section_side_nav h4.page_section_nav_title a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.section_side_nav ul.page_section_side_nav__list {
    margin: 2.5rem 0 0
}

.section_side_nav ul.page_section_side_nav__list li a {
    padding: 1.5rem 0;
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.5;
}

/*.section_side_nav ul.page_section_side_nav__list li a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.section_side_nav ul.page_section_side_nav__list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - .05rem);
    background: rgba(242, 240, 238, .05);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

.section_side_nav ul.page_section_side_nav__list li a.active:after {
    opacity: 1;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}*/

.section_side_nav ul.page_section_side_nav__list li a span {
    position: relative;
    display: inline-block;
    color: #000;
}

.section_side_nav ul.page_section_side_nav__list li a span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .section_side_nav ul.page_section_side_nav__list li a span:before {
        height: 1px
    }
}

.section_side_nav ul.page_section_side_nav__list li a span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #000;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .section_side_nav ul.page_section_side_nav__list li a span:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .section_side_nav ul.page_section_side_nav__list li a:hover {
        cursor: pointer
    }

    .section_side_nav ul.page_section_side_nav__list li a:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .section_side_nav ul.page_section_side_nav__list li a:hover span:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .section_side_nav ul.page_section_side_nav__list li a:hover span:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.section_side_nav ul.page_section_side_nav__list li:first-child {
    position: relative
}

/*.section_side_nav ul.page_section_side_nav__list li:first-child:after {
    content: "";
    position: absolute;
    top: .05rem;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}*/

.section_side_nav ul.page_section_side_nav__list li.has_child a {
    border-radius: .5rem .5rem 0 0
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub {
    position: relative
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li {
    background: url(../image/page_section_side_nav__list__sub_bg.png) 0 0 repeat-y;
    background-size: 100%;
    border-radius: 0
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a {
    padding: 1.5rem 0 1.5rem 2rem;
    font-size: 1.2rem;
    font-weight: 700;
    position: relative
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 1rem);
    opacity: .05;
    height: 1px;
    background: #fff;
    background-image: none;
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:after {
    content: "";
    position: absolute;
    top: calc(50% + .125rem);
    transform: translateY(-50%);
    left: 2rem;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: #C31111;
    opacity: 0
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current {
    padding-left: 3rem;
    color: #C31111;
    position: relative;
    background: rgba(0, 0, 0, .2);
    border-radius: 0
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current:after {
    opacity: 1
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current span:after {
    transform: scale(0, 1)
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current span:before {
    transform: scale(0, 1)
}

.section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li:last-child a {
    border-radius: 0 0 .5rem .5rem
}

.page_section_side_nav h4.page_section_nav_title {
    margin: 0;
    padding: 0
}

.page_section_side_nav h4.page_section_nav_title a {
    font-size: 1.8rem;
    line-height: 1;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .15rem
}

.page_section_side_nav h4.page_section_nav_title a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_section_side_nav h4.page_section_nav_title a:before {
        height: 1px
    }
}

.page_section_side_nav h4.page_section_nav_title a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_section_side_nav h4.page_section_nav_title a:after {
        height: 1px
    }
}

.page_section_side_nav h4.page_section_nav_title a:hover {
    cursor: pointer
}

@media (min-width:768px) {
    .page_section_side_nav h4.page_section_nav_title a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .page_section_side_nav h4.page_section_nav_title a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_section_side_nav h4.page_section_nav_title a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .page_section_side_nav h4.page_section_nav_title a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.page_section_side_nav ul.page_section_side_nav__list {
    margin: 2.5rem 0 0
}

.page_section_side_nav ul.page_section_side_nav__list li a {
    padding: 1.8rem 0;
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1
}

.page_section_side_nav ul.page_section_side_nav__list li a:before {
    content: "";
    position: absolute;
    bottom: -.05rem;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.page_section_side_nav ul.page_section_side_nav__list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100% - .05rem);
    background: rgba(242, 240, 238, .05);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

.page_section_side_nav ul.page_section_side_nav__list li a.active {
    background: url(../image/page_nav_active_bg.png) 0 0 repeat;
    border-radius: .5rem;
    padding-left: 1rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.page_section_side_nav ul.page_section_side_nav__list li a.active:before {
    display: none
}

@media (min-width:768px) {
    .page_section_side_nav ul.page_section_side_nav__list li a.active:hover {
        background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_section_side_nav ul.page_section_side_nav__list li a.current:after {
    opacity: 1 !important
}

.page_section_side_nav ul.page_section_side_nav__list li a span {
    position: relative;
    display: inline-block
}

.page_section_side_nav ul.page_section_side_nav__list li a span:before {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_section_side_nav ul.page_section_side_nav__list li a span:before {
        height: 1px
    }
}

.page_section_side_nav ul.page_section_side_nav__list li a span:after {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .page_section_side_nav ul.page_section_side_nav__list li a span:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .page_section_side_nav ul.page_section_side_nav__list li a:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_section_side_nav ul.page_section_side_nav__list li a:hover span:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .page_section_side_nav ul.page_section_side_nav__list li a:hover span:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.page_section_side_nav ul.page_section_side_nav__list li a.border_none:before {
    display: none
}

.page_section_side_nav ul.page_section_side_nav__list li.has_border_top {
    position: relative
}

.page_section_side_nav ul.page_section_side_nav__list li.has_border_top:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.page_section_side_nav ul.page_section_side_nav__list li:first-child a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.page_section_side_nav ul.page_section_side_nav__list li:first-child a.active:after {
    display: none
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child a {
    border-radius: .5rem .5rem 0 0
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub {
    position: relative
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li {
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, .045) 65%, rgba(255, 255, 255, 0) 100%) !important;
    border-radius: 0
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a {
    padding: 1.5rem 0 1.5rem 1rem;
    font-size: 1.2rem;
    font-weight: 400;
    position: relative
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 1rem;
    width: calc(100% - 1rem);
    opacity: .05;
    height: 1px;
    background: #fff;
    background: linear-gradient(90deg, #fff 50%, rgba(255, 255, 255, 0) 100%) !important;
    background-image: none;
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:after {
    content: "";
    position: absolute;
    top: calc(50% + .125rem);
    transform: translateY(-50%);
    left: 1rem;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: #C31111;
    opacity: 0
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current {
    padding-left: 2rem;
    color: #C31111;
    position: relative;
    background: rgba(0, 0, 0, .17);
    border-radius: 0;
    font-weight: 700
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current:before {
    display: none
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current:after {
    opacity: 1
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current span:after {
    transform: scale(0, 1)
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current span:before {
    transform: scale(0, 1)
}

.page_section_side_nav ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li:last-child a {
    border-radius: 0 0 .5rem .5rem
}

nav.page_section_anchor_link_nav {
    background: rgba(0, 0, 0, .15);
    padding: 1.25rem 1rem 1rem 1.25rem;
    margin: 3.25rem 0 0;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav {
        padding: 2.5rem 1rem 2rem 2.5rem;
        margin: 6.5rem 0 0;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav {
        padding: 2rem 1rem 2rem 2.5rem;
        margin: 4.5rem 0 0
    }
}

nav.page_section_anchor_link_nav ul {
    display: block;
    flex-wrap: wrap
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul {
        display: flex
    }
}

nav.page_section_anchor_link_nav ul li {
    margin: 0 2rem .5rem 0;
    padding: 0 2.7rem 0 0
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li {
        margin: 0 2rem 1rem 0
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li {
        margin: 0 2rem 0 0
    }
}

nav.page_section_anchor_link_nav ul li a {
    line-height: 1;
    font-size: 1.4rem;
    position: relative;
    white-space: nowrap;
    display: inline-block;
    letter-spacing: .05rem;
    padding: 0 0 0 2.05rem
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a {
        display: inline-block;
        padding: 0 0 0 4.1rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a {
        display: block;
        padding: 0
    }
}

nav.page_section_anchor_link_nav ul li a span.text {
    color: #fff;
    position: relative;
    display: inline-block;
    z-index: 10;
    padding: 0 0 .3rem;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a span.text {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a span.text {
        font-size: 1.4rem
    }
}

nav.page_section_anchor_link_nav ul li a span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a span.text:before {
        height: .185rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a span.text:before {
        height: 1px
    }
}

nav.page_section_anchor_link_nav ul li a span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a span.text:after {
        height: .185rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a span.text:after {
        height: 1px
    }
}

nav.page_section_anchor_link_nav ul li a:hover {
    cursor: pointer
}

@media (min-width:768px) {
    nav.page_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    nav.page_section_anchor_link_nav ul li a:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

nav.page_section_anchor_link_nav ul li a span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #373433;
    width: 1.55rem;
    height: 1.55rem;
    right: auto;
    left: 0
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a span.arrow {
        width: 3.1rem;
        height: 3.1rem;
        right: auto;
        left: 0;
        margin: 0 auto
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a span.arrow {
        left: auto;
        width: 1.7rem;
        height: 1.7rem;
        right: -2.3rem;
        margin: 0
    }
}

nav.page_section_anchor_link_nav ul li a span.arrow svg {
    position: absolute;
    top: 53%;
    left: 50%;
    width: .45rem;
    transform: translate(-50%, -50%);
    transform-origin: 50% 50%
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav ul li a span.arrow svg {
        width: .9rem
    }
}

@media only screen and (min-width:1024px) {
    nav.page_section_anchor_link_nav ul li a span.arrow svg {
        width: .57rem
    }
}

nav.page_section_anchor_link_nav ul li a span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

nav.page_section_anchor_link_nav__02 {
    padding: .65rem .5rem 1.25rem 1.25rem
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav__02 {
        padding: 1.25rem 1rem 1.25rem 2.5rem
    }
}

nav.page_section_anchor_link_nav__02 ul li {
    margin-top: .375rem;
    margin-bottom: .375rem
}

@media only screen and (min-width:544px) {
    nav.page_section_anchor_link_nav__02 ul li {
        margin-top: .75rem;
        margin-bottom: .75rem
    }
}

.page_section__img_slide {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    margin: 5rem 0 2.5rem
}

.page_section__img_slide::-webkit-scrollbar {
    display: none
}

.page_section__img_slide .page_section__img_slide__inner {
    display: flex;
    flex-wrap: nowrap
}

.page_section__img_slide .page_section__img_slide__group {
    min-width: 60rem;
    margin: 0 3rem 0 0
}

.page_section__img_slide .page_section__img_slide__group img {
    width: 100%;
    margin: 0 0 1.5rem
}

.page_section__img_slide .page_section__img_slide__group .small {
    font-size: 1.2rem;
    opacity: .2
}

nav.page_bread_nav {
    position: absolute;
    display: block;
    top: 10rem;
    right: 4rem;
    transform: translate(100%, -1rem) rotate(90deg);
    transform-origin: left center;
    color: #252120;
    font-size: 1rem;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.page_bread_nav {
        display: block;
        right: 1.5rem
    }
}

@media only screen and (min-width:1250px) {
    nav.page_bread_nav {
        right: 4rem
    }
}

nav.page_bread_nav.page_bread_nav__top0 {
    top: 0
}

nav.page_bread_nav span {
    margin: 0 .3rem;
    letter-spacing: 0 !important
}

nav.page_bread_nav span:first-child {
    margin: 0 .3rem 0 0
}

nav.page_bread_nav span.current-item {
    color: #252120;
}

nav.page_bread_nav a {
    position: relative;
    color: #252120;
}

nav.page_bread_nav a:before {
    position: absolute;
    bottom: -.3rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: #252120;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

nav.page_bread_nav a:after {
    position: absolute;
    bottom: -.2rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: #252120;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.page_bread_nav a:after {
        height: 1px
    }
}

@media (min-width:768px) {
    nav.page_bread_nav a:hover {
        cursor: pointer
    }

    nav.page_bread_nav a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    nav.page_bread_nav a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_bread_nav a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_bread_nav a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

nav.page_bread_nav span:first-child {
    margin: 0 .3rem 0 0
}

nav.page_bread_nav span:first-child a:before {
    left: 0;
    width: calc(100% - .3rem)
}

nav.page_bread_nav span:first-child a:after {
    left: 0;
    width: calc(100% - .3rem)
}

nav.page_bread_nav span.line {
    margin: 0 1rem;
    height: .8rem;
    width: 1px;
    background: #252120;
    display: inline-block
}

.page_section__top_fix nav.page_bread_nav {
    top: 51rem
}

a.page_contents_link {
    display: inline-block;
    position: relative;
    line-height: 1;
    margin: 0;
    letter-spacing: 0rem
}

@media only screen and (min-width:544px) {
    a.page_contents_link {
        letter-spacing: .09rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link {
        letter-spacing: .18rem
    }
}

a.page_contents_link span.text {
    color: #fff;
    font-weight: 400;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-size: 1.3rem;
    padding: 0 0 .4rem
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.text {
        font-size: 2.6rem;
        font-weight: 400;
        padding: 0 0 .8rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.text {
        font-size: 1.4rem;
        font-weight: 700;
        padding: 0 0 .8rem
    }
}

a.page_contents_link span.text:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    height: .9px
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.text:before {
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.text:before {
        height: 1px
    }
}

a.page_contents_link span.text:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    height: .9px
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.text:after {
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.text:after {
        height: 1px
    }
}

a.page_contents_link:hover {
    cursor: pointer
}

@media (min-width:768px) {
    a.page_contents_link:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    a.page_contents_link:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.page_contents_link:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.page_contents_link:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

a.page_contents_link span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: absolute;
    top: 45%;
    right: -2.3rem;
    transform: translateY(-50%);
    background: #B49C69;
    width: 1.9rem;
    height: 1.9rem
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.arrow {
        width: 3.8rem;
        height: 3.8rem;
        right: -4.6rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.arrow {
        width: 3rem;
        height: 3rem;
        right: -3.8rem
    }
}

a.page_contents_link span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .9rem
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.arrow svg {
        width: 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.arrow svg {
        width: 1.1rem
    }
}

a.page_contents_link span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

a.page_contents_link span.arrow svg.sns_type_arrow {
    width: .95rem;
    height: .8rem;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (min-width:544px) {
    a.page_contents_link span.arrow svg.sns_type_arrow {
        width: 1.9rem;
        height: 1.6rem
    }
}

@media only screen and (min-width:1024px) {
    a.page_contents_link span.arrow svg.sns_type_arrow {
        width: 1.2rem;
        height: 1.2rem
    }
}

a.page_contents_link span.arrow svg.sns_type_arrow use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_content_news_area {
    background: rgba(255, 255, 255, .05);
    margin: 2.5rem 0 1.5rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .page_content_news_area {
        margin: 5rem 0 3rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area {
        margin: 5rem 0 3rem;
        border-radius: .5rem;
        background: rgba(255, 255, 255, .03)
    }
}

.page_content_news_area ul.page_content_news_list li {
    position: relative
}

.page_content_news_area ul.page_content_news_list li:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 1.5rem;
    width: calc(100% - 3rem);
    opacity: .1;
    height: .09rem;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li:before {
        height: .09rem;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
        background-size: 4px 1px;
        opacity: .3;
        left: 3rem;
        width: calc(100% - 6rem);
        background-size: 4px .9px
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li:before {
        opacity: .6;
        background-size: 3px .9px;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 1px;
        background: #231f1f
    }
}

.page_content_news_area ul.page_content_news_list li:last-child:before {
    display: none
}

.page_content_news_area ul.page_content_news_list li a {
    padding: 1.4rem 1.5rem 1.75rem;
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a {
        padding: 2.8rem 3rem 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a {
        padding: 2.8rem 2rem
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 90rem;
    box-sizing: border-box;
    display: block
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner {
        display: flex;
        width: auto
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner .index_news_list__link__inner__inner {
    display: flex;
    align-items: center
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__left {
    font-family: philosopher, sans-serif;
    color: rgba(255, 255, 255, .3);
    padding: .3rem .65rem 0 0;
    letter-spacing: .05rem;
    display: block;
    line-height: 1;
    font-size: 1rem
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__left {
        font-size: 2rem;
        width: auto;
        padding: .3rem 1.3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__left {
        font-size: 1rem;
        width: 9rem;
        padding: .3rem 0 0
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center {
    width: auto
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center {
        width: 9.5rem
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center object {
    transform: translateY(2px);
    display: block
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
    position: relative;
    z-index: 100;
    display: block;
    border: .9px solid rgba(255, 255, 255, .5);
    color: rgba(255, 255, 255, .6);
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    letter-spacing: .16rem;
    border-radius: .2rem;
    margin: 0 1rem 0 0;
    width: auto;
    text-align: center;
    padding: .3rem .3rem .4rem .45rem;
    transition: .4s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
        font-size: 2rem;
        border-radius: .3rem;
        padding: .4rem .5rem .6rem .6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
        font-size: 1rem;
        width: 4.3rem;
        padding: .3rem .3rem .4rem .45rem
    }
}

@media (min-width:768px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__center a.cat_icon:hover {
        border: .9px solid #8e7823;
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: .05rem;
    margin: .75rem 0 0;
    font-weight: 400;
    position: relative;
    display: inline-block
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right {
        font-size: 2.6rem;
        margin: 1rem 0 0;
        line-height: 1.4
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right {
        font-size: 1.4rem;
        margin: 0;
        line-height: 1.7
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:before {
        height: 1px;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:before {
        display: block
    }
}

.page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:after {
        height: 1px;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    .page_content_news_area ul.page_content_news_list li a .index_news_list__link__inner__right:after {
        display: block
    }
}

@media (min-width:768px) {
    .page_content_news_area ul.page_content_news_list li a:hover .areaBackground {
        opacity: .7;
        -webkit-transition: opacity .5s cubic-bezier(.26, .06, 0, 1);
        transition: opacity .5s cubic-bezier(.26, .06, 0, 1)
    }

    .page_content_news_area ul.page_content_news_list li a:hover .index_news_list__link__inner__right:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .page_content_news_area ul.page_content_news_list li a:hover .index_news_list__link__inner__right:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.page_content_link_btn__right {
    text-align: right;
    padding-bottom: 0
}

.page_content_link_btn__right a {
    margin: 0 2.3rem 0 0
}

@media only screen and (min-width:544px) {
    .page_content_link_btn__right a {
        margin: 0 3.8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_content_link_btn__right a {
        margin: 0 3.8rem 0 0
    }
}

.section-carousel {
    overflow: hidden;
    margin: 0 0 6rem
}

.section-carousel .carousel-wrap {
    position: relative
}

.section-carousel .carousel-slider img {
    display: block;
    width: 100%
}

.section-carousel .slick-list {
    overflow: visible
}

.page_caption_slider__body {
    width: calc(100% + 1.5rem);
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
    margin-bottom: 3.5rem;
    position: relative;
    overflow: hidden !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body {
        width: calc(100% + 3rem)
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body {
        margin-right: 0;
        margin-left: 0;
        width: 100%;
        margin-top: 0;
        margin-bottom: 3.5rem
    }
}

.page_caption_slider__body.page_caption_slider__body__menu {
    margin-bottom: 2.25rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body.page_caption_slider__body__menu {
        margin-bottom: 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body.page_caption_slider__body__menu {
        margin-bottom: 3.5rem
    }
}

.page_caption_slider__body .page_caption_slider__body_wrap {
    width: 30rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .page_caption_slider__body_wrap {
        width: 60rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .page_caption_slider__body_wrap {
        width: 60rem
    }
}

.page_caption_slider__body .swiper-container {
    overflow: visible !important;
    transition: .6s cubic-bezier(.43, .05, .17, 1)
}

.page_caption_slider__body a.caption-swiper-button-prev {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -85%
}

.page_caption_slider__body a.caption-swiper-button-prev:after {
    display: none
}

.page_caption_slider__body a.caption-swiper-button-next {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.page_caption_slider__body a.caption-swiper-button-next:after {
    display: none
}

.page_caption_slider__body .caption-swiper-wrapper {
    width: 60rem
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide a {
    display: block
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    border-radius: .25rem;
    margin-bottom: .5rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
        border-radius: .5rem;
        margin-bottom: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
        border-radius: .5rem;
        margin-bottom: 1rem
    }
}


.page_caption_slider__body .caption-swiper-wrapper .swiper-slide .txt {
    font-size: 1.2rem;
    color: rgba(255, 255, 255, .3) !important;
     !i;
     !;
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
    font-size: 1.1rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, .2) !important;
    display: block
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 1.2rem
    }
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide img {
    margin-bottom: 0;
    border-radius: .25rem;
    width: 100%;
    transition: -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide img {
        border-radius: .5rem
    }
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide {
    width: 100%
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide {
    transform: scale(.7) !important;
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
    font-size: 1.35rem !important
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 2.7rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 1.7rem !important;
        transition-delay: .8s;
        -webkit-transition-delay: .8s
    }
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide-active {
    transform: scale(1) !important;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide-active .page_caption_slider__txt {
    font-size: 1.1rem !important
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide-active .page_caption_slider__txt {
        font-size: 2.2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide-active .page_caption_slider__txt {
        font-size: 1.2rem !important;
        transition-delay: 0s;
        -webkit-transition-delay: 0s
    }
}

.page_caption_slider__body .caption-swiper-wrapper .swiper-slide-next {
    transform: scale(.7) !important;
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    font-size: 1.35rem !important
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide-next {
        font-size: 2.7rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .caption-swiper-wrapper .swiper-slide-next {
        font-size: 1.7rem !important
    }
}

.page_caption_slider__body {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body {
        margin: 0 0 6rem
    }
}

.page_caption_slider__body .page_caption_slider__normal {
    overflow: visible !important;
    transition: .6s cubic-bezier(.43, .05, .17, 1)
}

.page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide {
    transform: scale(1) !important
}

.page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
    font-size: 1.1rem !important
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 2.2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
        font-size: 1.2rem !important
    }
}

.page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide-next {
    transform: scale(1) !important
}

.page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide-next .page_caption_slider__txt {
    font-size: 1.1rem !important
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide-next .page_caption_slider__txt {
        font-size: 2.2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body .page_caption_slider__normal .caption-swiper-wrapper .swiper-slide-next .page_caption_slider__txt {
        font-size: 1.2rem !important
    }
}

.scene_caption_slider__body {
    width: calc(100% + 1.5rem);
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
    margin-bottom: 3.5rem;
    position: relative;
    overflow: hidden !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body {
        width: calc(100% + 3rem)
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body {
        margin-right: 0;
        margin-left: 0;
        width: 100%;
        margin-top: 0;
        margin-bottom: 3.5rem
    }
}

.scene_caption_slider__body .page_caption_slider__body_wrap {
    width: 31rem
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .page_caption_slider__body_wrap {
        width: 62rem
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .page_caption_slider__body_wrap {
        width: 48.4rem
    }
}

.scene_caption_slider__body .swiper-container {
    overflow: visible !important;
    transition: .6s cubic-bezier(.43, .05, .17, 1)
}

.scene_caption_slider__body a.scene-swiper-button-prev {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -85%
}

.scene_caption_slider__body a.scene-swiper-button-prev:after {
    display: none
}

.scene_caption_slider__body a.scene-swiper-button-next {
    position: absolute;
    z-index: 3;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body a.scene-swiper-button-next {
        width: 50%
    }
}

.scene_caption_slider__body a.scene-swiper-button-next:after {
    display: none
}

.scene_caption_slider__body .caption-swiper-wrapper {
    width: auto
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper {
        width: auto
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper {
        width: 48.4rem
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide {
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .1);
    margin: 0 !important;
    width: 16rem !important
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide {
        width: 31rem !important
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide {
        width: 24.2rem !important
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .15;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:before {
        opacity: .3;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1):before {
    content: "";
    position: absolute;
    top: 1px;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1):before {
        display: block;
        opacity: .3;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:last-child:after {
    content: "";
    position: absolute;
    top: 1px;
    right: 0;
    width: .9px;
    height: 100%;
    opacity: .15;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:last-child:after {
        opacity: .3;
        width: 1px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
        background-size: 1px 3px
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a {
    display: block;
    position: relative;
    padding: 1.25rem 1.5rem 0
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a {
        padding: 2.5rem 3rem 0
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a {
        padding: 3rem 2rem 0
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: url(../image/index_nav_bg.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none;
    z-index: 1;
    background-size: cover;
    height: calc(100% + .5rem)
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:after {
        height: calc(100% + 1rem)
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:after {
        height: calc(100% + 1rem)
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    border-radius: .25rem;
    margin-bottom: .5rem
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb {
        border-radius: .5rem;
        margin-bottom: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb {
        border-radius: .5rem;
        margin-bottom: 1rem
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb img {
    margin-bottom: 0;
    border-radius: .25rem;
    width: 100%;
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1);
    height: 80px
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb img {
        border-radius: .5rem;
        height: 153px
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a .thumb img {
        border-radius: .5rem;
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03);
        height: 128px;
        object-fit: cover;
        object-position: center center
    }
}

@media (min-width:768px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:hover:after {
        opacity: 0;
        transition: 0s cubic-bezier(.26, .06, 0, 1)
    }

    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:hover .thumb img {
        transition: 0s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:hover:after {
        opacity: 1;
        transition: .8s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a span.page_index_nav__title {
    color: #fff;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 400;
    display: inline-block;
    position: relative;
    line-height: 1.3;
    letter-spacing: .1rem;
    font-size: 1.3rem;
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a span.page_index_nav__title {
        letter-spacing: .2rem;
        font-size: 2.6rem;
        font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a span.page_index_nav__title {
        letter-spacing: .2rem;
        font-size: 1.6rem;
        font-family: ryo-display-plusn, serif;
        margin: 0 0 2rem
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a span.page_index_nav__title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide a span.page_index_nav__text {
    color: #fff;
    display: block
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) {
    width: 14rem !important
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) {
        width: 28rem !important
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) {
        width: 24.2rem !important
    }
}

.scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) a {
    display: block;
    position: relative;
    padding: 1.25rem 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) a {
        padding: 2.5rem 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .scene_caption_slider__body .caption-swiper-wrapper .swiper-slide:nth-child(1) a {
        padding: 3rem 2rem 0
    }
}

.carousel-wrap {
    width: 63rem
}

ul.carousel-slider li {
    width: 100%;
    position: relative;
    margin: 0 3rem 0 0
}

ul.carousel-slider li span.slider_caption {
    color: #fff;
    display: block;
    font-size: 1.2rem;
    opacity: .2;
    margin: 1rem 0 0
}

ul.carousel-slider li img {
    width: 100%;
    margin: 0 !important;
    border-radius: .5rem
}

.kakaku {
    display: block;
    font-weight: 700;
    margin: 1rem 0 0;
    font-size: 1.5rem;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .kakaku {
        font-size: 3rem;
        line-height: 1.7
    }
}

@media only screen and (min-width:1024px) {
    .kakaku {
        font-size: 1.8rem;
        line-height: 2.2
    }
}

.kakaku .zeikomi {
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    .kakaku .zeikomi {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .kakaku .zeikomi {
        font-size: 1.2rem
    }
}

ul.caution_list {
    margin: 0 0 2rem
}

ul.caution_list li {
    opacity: .5;
    font-size: 1.1rem;
    position: relative;
    padding: 0 0 0 1.2rem;
    line-height: 1.4;
    margin: .3rem 0
}

@media only screen and (min-width:544px) {
    ul.caution_list li {
        font-size: 2.2rem;
        padding: 0 0 0 2.4rem;
        line-height: 1.6;
        margin: .6rem 0
    }
}

@media only screen and (min-width:1024px) {
    ul.caution_list li {
        font-size: 1.2rem;
        padding: 0 0 0 1.3rem;
        line-height: 1.8;
        margin: 0
    }
}

ul.caution_list li:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0
}

ul.caution_list.caution_list__black li {
    color: #333
}

.page_contact_block {
    /* background: url(../image/page_contact_bg.png) center center no-repeat; */
    /* background-size: 100% 100%; */
    background: #B49C69;
    margin: 0 0 2rem;
    padding: 4rem 0 0
}

@media only screen and (min-width:544px) {
    .page_contact_block {
        padding: 8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block {
        padding: 3rem 0
    }
}

.page_contact_block span.page_contact_block__title {
    font-family: ryo-display-plusn, serif;
    text-align: center;
    color: #fff;
    display: block;
    line-height: 1;
    margin: 1rem 0;
    font-size: 1.85rem
}

@media only screen and (min-width:544px) {
    .page_contact_block span.page_contact_block__title {
        font-size: 3.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block span.page_contact_block__title {
        font-size: 2rem
    }
}

.page_contact_block span.page_contact_block__title_bottom {
    text-align: center;
    color: #fff;
    opacity: .5;
    display: block;
    font-size: 1.1rem;
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .page_contact_block span.page_contact_block__title_bottom {
        font-size: 2.2rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block span.page_contact_block__title_bottom {
        font-size: 1.2rem;
        margin: 0 0 2rem
    }
}

.page_contact_block .page_contact_block__btn_area {
    display: flex;
    justify-content: space-between;
    margin: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area {
        justify-content: center
    }
}

.page_contact_block .page_contact_block__btn_area__center {
    justify-content: center
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel {
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, .2);
    color: #fff;
    height: 9rem;
    margin: 0;
    border-radius: .25rem;
    width: calc(50% - .5rem);
    pointer-events: auto
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel {
        border-radius: .5rem;
        height: 18rem;
        width: calc(50% - 1rem);
        pointer-events: none
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel {
        height: 11.9rem;
        width: 35rem;
        margin: 0 1rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_title {
    opacity: .5;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 .5rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_title {
        font-size: 2.2rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_title {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_num {
    font-family: philosopher, sans-serif;
    display: block;
    text-align: center;
    line-height: 1;
    letter-spacing: .1rem;
    font-size: 2rem
}


.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_num>span {
    font-size: 14px;
    font-weight: 400;
    line-height: 26px;
    letter-spacing: 2px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    display: block;
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_num {
        font-size: 4rem;
        letter-spacing: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__tel .page_contact_block__btn_inner_num {
        font-size: 2.6rem;
        letter-spacing: .2rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    background: rgba(0, 0, 0, .2);
    color: #fff;
    margin: 0 1rem;
    padding: 3rem 0 4rem;
    padding: 1.7rem 0 1rem;
    border-radius: .25rem;
    width: calc(50% - .5rem);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    margin: 0;
    position: relative
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        border-radius: .5rem;
        height: 18rem;
        width: calc(50% - 1rem);
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        height: 11.9rem;
        width: 35rem;
        margin: 0 1rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: #B49C69;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:after {
        border-radius: .5rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
    opacity: .5;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 .5rem;
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 2.2rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 .65rem;
    font-weight: 700;
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.4rem;
        margin: 0 0 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 1.4rem;
        margin: 0 0 1.3rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    position: relative;
    border: 1px solid #fff;
    width: 2rem;
    height: 2rem
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

a.yellow_link_text {
    color: #C31111;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    position: relative;
    border-bottom: 1px solid #C31111
}

@media only screen and (min-width:544px) {
    a.yellow_link_text {
        border-bottom: transparent
    }
}

a.yellow_link_text span {
    position: relative
}

a.yellow_link_text span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #C31111;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    a.yellow_link_text span:before {
        height: 1px;
        display: block
    }
}

a.yellow_link_text span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #C31111;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:544px) {
    a.yellow_link_text span:after {
        height: 1px;
        display: block
    }
}

@media (min-width:768px) {
    a.yellow_link_text:hover {
        transition: transform .3s
    }

    a.yellow_link_text:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    a.yellow_link_text:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.strong {
    font-weight: 700
}

.c-faqs {
    overflow: hidden;
    margin: 0 0 5rem;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem)
}

@media only screen and (min-width:544px) {
    .c-faqs {
        margin: 0 0 10rem;
        width: calc(100% + 6rem);
        transform: translateX(-3rem)
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs {
        margin: 0 0 10rem;
        width: 100%;
        transform: translateX(0)
    }
}

.c-faqs .item {
    position: relative;
    font-size: 1.3rem;
    transition: .6s
}

@media only screen and (min-width:544px) {
    .c-faqs . item {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item {
        font-size: 1.6rem
    }
}

.c-faqs .item:after {
    content: "";
    background: rgba(255, 255, 255, .05);
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s
}

.c-faqs .item__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    border-top: rgba(255, 255, 255, .1) solid 1px;
    cursor: pointer;
    padding: 2.5rem 1.5rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl {
        padding: 5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl {
        padding: 4rem 0 4rem 2rem
    }
}

.c-faqs .item__ttl .item__ttl_q {
    color: #C31111;
    font-family: philosopher, sans-serif;
    display: block;
    line-height: 1;
    font-size: 2.2rem;
    width: 3rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl .item__ttl_q {
        font-size: 4.4rem;
        width: 6rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl .item__ttl_q {
        font-size: 2.4rem;
        width: 5rem
    }
}

.c-faqs .item__ttl p {
    margin: 0;
    position: relative;
    width: 100%;
    padding: 0 3rem 0 0
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl p {
        padding: 0 6rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl p {
        padding: 0 5rem 0 0
    }
}

.c-faqs .item__ttl .icon {
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: all .5s cubic-bezier(.43, .05, .17, 1) 0s;
    -webkit-transition-property: background, border-color, -webkit-transform;
    transition-property: background, border-color, -webkit-transform;
    transition-property: transform, background, border-color;
    transition-property: transform, background, border-color, -webkit-transform;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: .2rem;
    right: .5rem;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .5)
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl .icon {
        top: .4rem;
        right: 1rem;
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl .icon {
        top: calc(50% - 1.5rem);
        right: 2.5rem;
        width: 3rem;
        height: 3rem
    }
}

.c-faqs .item__ttl .icon:before {
    -webkit-transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    width: .65rem;
    height: .2rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl .icon:before {
        width: 1.3rem;
        height: .4rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl .icon:before {
        width: 1rem;
        height: .2rem
    }
}

.c-faqs .item__ttl .icon:after {
    -webkit-transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #000;
    width: .2rem;
    height: .65rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__ttl .icon:after {
        width: .4rem;
        height: 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__ttl .icon:after {
        width: .2rem;
        height: 1rem
    }
}

.c-faqs .item__body {
    position: relative;
    z-index: 10;
    color: rgba(255, 255, 255, .5);
    display: none;
    opacity: 0;
    -webkit-transition: opacity .8s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .8s cubic-bezier(.43, .05, .17, 1) 0s;
    transform: translateY(0rem);
    padding: 0 1.5rem 3rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__body {
        padding: 0 3rem 6rem;
        transform: translateY(0rem)
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__body {
        padding: 0 2rem 3rem;
        transform: translateY(-2rem)
    }
}

.c-faqs .item__body .item__body__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    margin: 0;
    position: relative;
    width: 100%;
    padding: 0 3rem 0 0
}

@media only screen and (min-width:544px) {
    .c-faqs .item__body .item__body__inner {
        padding: 0 6rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__body .item__body__inner {
        padding: 0 5rem 0 0
    }
}

.c-faqs .item__body .item__ttl_a {
    font-family: philosopher, sans-serif;
    line-height: 1;
    padding: .1rem 0 0 .2rem;
    font-size: 2.2rem;
    width: 4rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item__body .item__ttl_a {
        font-size: 4.4rem;
        width: 8rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item__body .item__ttl_a {
        font-size: 2.4rem;
        width: 5rem
    }
}

.c-faqs .item__body p {
    margin: 0;
    padding: 0;
    width: 100%
}

@media (min-width:768px) {
    .c-faqs .item:hover:after {
        opacity: 1;
        -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
        transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s
    }

    .c-faqs .item:hover .icon {
        -webkit-transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
        transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
        -webkit-transition-property: background, border-color, -webkit-transform;
        transition-property: background, border-color, -webkit-transform;
        transition-property: transform, background, border-color;
        transition-property: transform, background, border-color, -webkit-transform;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        position: absolute;
        transform: scale(.3, .3);
        border-radius: 50%
    }

    .c-faqs .item:hover .icon:before {
        display: none
    }

    .c-faqs .item:hover .icon:after {
        display: none
    }
}

.c-faqs .item.is-open {
    transition: .6s
}

.c-faqs .item.is-open .item__body {
    opacity: 1
}

.c-faqs .item.is-open:after {
    opacity: 1
}

.c-faqs .item.is-open .icon {
    -webkit-transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    display: block;
    position: absolute;
    border-radius: 50%;
    background: rgba(0, 0, 0, .5);
    transform: scale(1, 1)
}

.c-faqs .item.is-open .icon:before {
    -webkit-transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    opacity: 1;
    width: .65rem;
    height: .2rem
}

@media only screen and (min-width:544px) {
    .c-faqs .item.is-open .icon:before {
        width: 1.3rem;
        height: .4rem
    }
}

@media only screen and (min-width:1024px) {
    .c-faqs .item.is-open .icon:before {
        width: 1rem;
        height: .2rem
    }
}

.c-faqs .item.is-open .icon:after {
    -webkit-transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0, 0) !important;
    width: .2rem;
    height: 1rem;
    opacity: 0;
    background: #91908f
}

.plan_prace_area {
    border: 1px solid rgba(140, 118, 31, .5);
    border-radius: .5rem;
    line-height: 1.6;
    padding: 1.85rem 1rem 2.85rem;
    font-size: 1.4rem;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .plan_prace_area {
        font-size: 2.8rem;
        padding: 3.7rem 1rem 5.7rem;
        border-radius: 1rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area {
        font-size: 1.4rem;
        padding: 2rem 1rem 2.5rem;
        border-radius: .5rem;
        margin: 0
    }
}

.plan_prace_area__bottom {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .plan_prace_area__bottom {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__bottom {
        margin: 0
    }
}

.plan_prace_area .plan_prace_area__flex {
    display: flex;
    align-items: flex-end;
    justify-content: center
}

.plan_prace_area .kingaku {
    color: #C31111;
    font-weight: 700;
    line-height: 1.3;
    font-size: 2.65rem;
    transform: translateY(.25rem);
    margin: 0 .15rem 0 0
}

@media only screen and (min-width:544px) {
    .plan_prace_area .kingaku {
        font-size: 5.3rem;
        transform: translateY(.5rem);
        margin: 0 .3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area .kingaku {
        font-size: 2.4rem;
        transform: translateY(0);
        margin: 0
    }
}

.plan_prace_area .yen {
    color: #C31111;
    font-size: 1.05rem
}

@media only screen and (min-width:544px) {
    .plan_prace_area .yen {
        font-size: 2.1rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area .yen {
        font-size: 1.4rem
    }
}

.plan_prace_area .zeikomi {
    margin: 0 0 0 .5rem
}

.plan_prace_area .plan_prace_area__flex_start {
    display: flex;
    align-items: flex-end;
    justify-content: flex-start
}

.plan_prace_area__left {
    padding: 2.5rem 1rem 2.75rem 2.75rem
}

@media only screen and (min-width:544px) {
    .plan_prace_area__left {
        padding: 5rem 1rem 5.5rem 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__left {
        padding: 2.5rem 1rem 3.5rem 3.5rem
    }
}

.plan_prace_area__left .plan_prace_area__flex_start {
    margin: 0 0 1.7rem
}

@media only screen and (min-width:544px) {
    .plan_prace_area__left .plan_prace_area__flex_start {
        margin: 0 0 3.4rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__left .plan_prace_area__flex_start {
        margin: 0 0 2rem
    }
}

.plan_prace_area__left .plan_prace_area__flex_start .kingaku {
    transform: translateY(0rem);
    line-height: 1.1
}

@media only screen and (min-width:544px) {
    .plan_prace_area__left .plan_prace_area__flex_start .kingaku {
        transform: translateY(0rem);
        line-height: 1.1
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__left .plan_prace_area__flex_start .kingaku {
        transform: translateY(0);
        line-height: 1.3
    }
}

.plan_prace_area__left .plan_prace_area__flex_bottom {
    margin: 0
}

.plan_prace_area__center {
    text-align: left;
    margin: 5rem 0 2rem;
    display: flex;
    justify-content: center;
    align-items: flex-end
}

@media only screen and (min-width:544px) {
    .plan_prace_area__center {
        display: flex;
        text-align: left;
        justify-content: center;
        align-items: flex-end
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__center {
        display: block;
        text-align: center
    }
}

.plan_prace_area__center .white_text {
    margin: 0 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .plan_prace_area__center .white_text {
        margin: 0 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_prace_area__center .white_text {
        margin: 0
    }
}

.plan_prace_area__center .zeikomi {
    margin: .5rem 0 0
}

.large-text {
    font-size: 1.6rem;
    font-weight: 700
}

.under_line {
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

span.pc_br {
    display: block
}

.page_section__flex {
    display: block;
    justify-content: space-between;
    margin: 0;
    align-items: flex-start
}

@media only screen and (min-width:1024px) {
    .page_section__flex {
        display: flex;
        margin: 0 0 6rem
    }
}

.page_section__flex .order-1 {
    order: 1
}

.page_section__flex .order-2 {
    order: 2
}

.page_section__flex p {
    width: 100% !important;
    margin: 0;
    line-height: 1.7
}

@media only screen and (min-width:1024px) {
    .page_section__flex p {
        width: calc(50% - 2rem) !important
    }

    .page_section__flex p:before,
    .page_section__flex p:after {
        content: "";
        display: block;
        width: 0;
        height: 0
    }

    .page_section__flex p:before {
        margin-top: calc((1 - 1.7)*0.5em)
    }

    .page_section__flex p:after {
        margin-bottom: calc((1 - 1.7)*0.5em)
    }
}

.page_section__flex img {
    width: 100% !important;
    margin: 0 0 5rem
}

@media only screen and (min-width:1024px) {
    .page_section__flex img {
        width: calc(50% - 2rem) !important;
        margin: 0
    }
}

.page_section__flex picture {
    width: 100% !important;
    margin: 0 0 5rem
}

@media only screen and (min-width:1024px) {
    .page_section__flex picture {
        width: calc(50% - 2rem) !important;
        margin: 0
    }
}

.page_section__flex picture img {
    width: 100% !important
}

.page_section__flex .page_section__flex_inner {
    width: 100% !important
}

@media only screen and (min-width:1024px) {
    .page_section__flex .page_section__flex_inner {
        width: calc(50% - 1rem) !important
    }
}

.page_section__flex .page_section__flex_inner.page_section__flex_inner_dinner {
    width: calc(50% - 2rem)
}

.page_section__flex .page_section__flex_inner h4 {
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    .page_section__flex .page_section__flex_inner h4 {
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__flex .page_section__flex_inner h4 {
        margin: 0 0 2.5rem
    }
}

.page_section__flex .page_section__flex_inner p {
    width: 100% !important;
    margin: 0 0 1.5rem
}

.page_section__flex .page_section__flex_inner p span.small {
    display: block;
    margin: 1rem 0 0
}

.page_section__flex .page_section__flex_inner img {
    width: 100% !important
}

.gallery_section__flex {
    display: block;
    justify-content: space-between;
    margin: 0 0 4.5rem;
    align-items: flex-start
}

@media only screen and (min-width:1024px) {
    .gallery_section__flex {
        display: flex
    }
}

.gallery_section__flex .caption_block {
    width: 100%;
    letter-spacing: 0;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .gallery_section__flex .caption_block {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .gallery_section__flex .caption_block {
        width: calc(50% - 1.5rem);
        margin: 0
    }
}

.gallery_section__flex .caption_block img {
    width: calc(100%);
    border-radius: .5rem;
    margin: 0 0 .75rem
}

@media only screen and (min-width:544px) {
    .gallery_section__flex .caption_block img {
        border-radius: 1rem;
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .gallery_section__flex .caption_block img {
        border-radius: .5rem;
        margin: 0 0 1rem
    }
}

.gallery_section__flex .caption_block .caption {
    margin: 0;
    font-size: 1.4rem;
    color: #333;
    display: block;
    line-height: 1.8
}

.gallery_section__flex .caption_block .caption .caption_title {
    font-weight: 700;
    display: block
}

.gallery_section__flex .caption_block .caption_gray {
    margin: 0;
    font-size: 1.1rem;
    color: #333;
    display: block;
    line-height: 1.8;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .gallery_section__flex .caption_block .caption_gray {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .gallery_section__flex .caption_block .caption_gray {
        font-size: 1.2rem
    }
}

#standard_page {
    padding: 0;
}

.page_header_area__border_bottom.page_header_area__border_bottom__standard {
    margin: 12rem 0 2.75rem !important;
    padding: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .page_header_area__border_bottom.page_header_area__border_bottom__standard {
        margin: 24rem 0 5.5rem !important;
        padding: 0 3rem 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__border_bottom.page_header_area__border_bottom__standard {
        margin: 19.5rem 0 9.5rem !important;
        padding: 0 0 7.5rem
    }
}

.page_main_content {
    color: #fff;
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 80rem;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .page_main_content {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content {
        max-width: 80rem;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .page_main_content {
        max-width: 80rem
    }
}

.page_main_content .page_h2__group {
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    padding: 0 1.5rem 0;
    position: relative;
    margin: 0 0 2rem;
}

@media only screen and (min-width:544px) {
    .page_main_content .page_h2__group {
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        padding: 0 3rem 0;
        margin: 0 0 4rem;
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content .page_h2__group {
        width: 100%;
        transform: translateX(0);
        padding: 0;
        margin: 0 0 5rem;
    }
}

/*.page_main_content .page_h2__group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #F24C4C;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_main_content .page_h2__group:before {
        display: block
    }
}*/

.page_main_content .page_h2__group:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #fff;
    opacity: .03
}

@media (max-width:1023px) {
    .page_main_content .page_h2__group:after {
        display: none
    }
}

@media only screen and (min-width:544px) {
    .page_main_content .page_h2__group:after {
        width: 100%;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content .page_h2__group:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

.page_main_content .page_h2__group span {
    color: #C31111;
    display: block;
    font-size: 1rem;
    line-height: 1;
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_main_content .page_h2__group span {
        font-size: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content .page_h2__group span {
        font-size: 1.2rem
    }
}

.page_main_content .page_h2__group h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: .2rem 0 0;
    letter-spacing: 0rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    .page_main_content .page_h2__group h2 {
        font-size: 3.6rem;
        margin: .4rem 0 0;
        letter-spacing: .05rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content .page_h2__group h2 {
        font-size: 2.4rem;
        margin: .9rem 0 0;
        letter-spacing: .15rem
    }
}

.page_main_content h3 {
    font-weight: 400;
    color: #fff;
    background: rgb(180 156 105);
    font-family: ryo-display-plusn, serif;
    border-radius: .25rem;
    position: relative;
    margin: 0 0 1.5rem;
    display: block;
    letter-spacing: 0rem;
    line-height: 1;
    font-size: 1.5rem;
    padding: .7rem 1rem .75rem .75rem
}

@media only screen and (min-width:544px) {
    .page_main_content h3 {
        font-size: 3rem;
        padding: 1.4rem 1rem 1.5rem 1.5rem;
        border-radius: .5rem;
        margin: 0 0 2.2rem;
        letter-spacing: 0rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content h3 {
        font-size: 2rem;
        padding: 1.2rem 1rem 1.4rem 2rem
    }
}

.page_main_content h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    height: 1.85rem;
    background: #fff;
}

@media only screen and (min-width:544px) {
    .page_main_content h3:before {
        left: 0;
        height: 3.7rem;
        width: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content h3:before {
        left: 1rem;
        height: 1.5rem;
        width: .2rem
    }
}

.page_main_content h4 {
    color: #fff;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    border-radius: .5rem;
    position: relative;
    margin: 0 0 1.1rem;
    display: block;
    letter-spacing: .05rem;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .page_main_content h4 {
        font-size: 3.2rem;
        margin: 0 0 2.2rem;
        letter-spacing: .15rem
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content h4 {
        font-size: 2rem;
        margin: 0 0 3rem;
        letter-spacing: .15rem
    }
}

.page_main_content p {
    margin: 0;
    color: #000;
}

@media only screen and (min-width:544px) {
    .page_main_content p {
        margin: 0;
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content p {
        margin: 0;
    }
}

.page_main_content p.text-right-info {
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_main_content p.text-right-info {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_main_content p.text-right-info {
        margin: 0 0 5rem
    }
}

.page_main_content p.last_text {
    margin: 0 0 11rem
}

.page_reserve_wrap {
    padding: 0 0 1.5rem !important;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap {
        padding: 0 0 3rem !important;
        line-height: 1.6
    }
}

@media only screen and (min-width:1024px) {
    .page_reserve_wrap {
        padding: 0 0 9rem;
        line-height: 1.8
    }
}

.page_reserve_wrap ul.caution_list {
    display: block
}

@media only screen and (min-width:1024px) {
    .page_reserve_wrap ul.caution_list {
        display: none
    }
}

.page_reserve_wrap ul.caution_list__visible {
    display: block
}

.page_reserve_wrap p {
    letter-spacing: 0;
    line-height: 1.5
}

@media only screen and (min-width:1024px) {
    .page_reserve_wrap p {
        line-height: 1.8
    }
}

.page_reserve_wrap .reserve_form_block__h2 {
    margin: 4.75rem 0 3rem
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap .reserve_form_block__h2 {
        margin: 9.5rem 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_reserve_wrap .reserve_form_block__h2 {
        margin: 9.5rem 0 6rem
    }
}

.page_reserve_wrap h3 {
    margin: 0 0 2rem;
    font-weight: 700 !important
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap h3 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_reserve_wrap h3 {
        margin: 0 0 3rem
    }
}

.page_reserve_wrap .caution_text_list_margin_5half {
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap .caution_text_list_margin_5half {
        margin: 0 0 5.5rem
    }
}

.page_reserve_wrap .caution_text_list_margin_10 {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap .caution_text_list_margin_10 {
        margin: 0 0 10rem
    }
}

.page_reserve_wrap .page_contact_block__bottom {
    margin: 2.75rem 0 .5rem
}

@media only screen and (min-width:544px) {
    .page_reserve_wrap .page_contact_block__bottom {
        margin: 5.5rem 0 1rem
    }
}

.info_tel_box {
    margin: 0 0 2.4rem
}

@media only screen and (min-width:544px) {
    .info_tel_box {
        margin: 0 0 4.8rem
    }
}

.info_tel_box .info_tel_box__top {
    text-align: center;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .5rem;
    padding: 2.4rem 1.5rem;
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__top {
        padding: 4.75rem 1.5rem;
        border-radius: 1rem;
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__top {
        padding: 3.5rem 1rem;
        border-radius: .5rem;
        margin: 0 0 4rem
    }
}

.info_tel_box .info_tel_box__top .info_tel_box__top__text {
    opacity: .5;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__top .info_tel_box__top__text {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__top .info_tel_box__top__text {
        font-size: 1.2rem
    }
}

.info_tel_box .info_tel_box__top .info_tel_box__top__num {
    font-size: 2.5rem;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    display: block;
    line-height: 1;
    margin: .25rem 0 .75rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__top .info_tel_box__top__num {
        font-size: 5rem;
        margin: .5rem 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__top .info_tel_box__top__num {
        font-size: 2.8rem
    }
}

.info_tel_box .info_tel_box__top .info_tel_caution_text {
    color: #fff;
    opacity: .5;
    margin: 0;
    font-size: 1.1rem;
    text-align: center
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__top .info_tel_caution_text {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__top .info_tel_caution_text {
        font-size: 1.2rem
    }
}

.info_tel_box .info_tel_caution_text__bottom {
    display: none !important
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_caution_text__bottom {
        display: block !important
    }
}

.info_tel_box .info_tel_box__bottom {
    display: block;
    width: 100%;
    text-align: left;
    margin: 0 0 1.65rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__bottom {
        margin: 0 0 3.3rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom {
        text-align: center;
        display: flex;
        margin: 0 0 3.3rem
    }
}

.info_tel_box .info_tel_box__bottom__left {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom__left {
        width: 50%
    }
}

.info_tel_box .info_tel_box__bottom__left:after {
    content: "";
    position: absolute;
    height: 8.6rem;
    width: 1px;
    background: rgba(204, 204, 204, .1);
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    display: none
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom__left:after {
        display: block
    }
}

.info_tel_box .info_tel_box__bottom__right {
    width: 100%
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom__right {
        width: 50%
    }
}

.info_tel_box .info_tel_box__bottom .info_tel_box__bottom__text {
    font-weight: 400;
    font-size: 1.1rem;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__text {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__text {
        font-weight: 700;
        font-size: 1.6rem
    }
}

.info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num {
    font-size: 2.5rem;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    line-height: 1;
    margin: .5rem 0 .75rem;
    display: flex;
    align-items: center;
    justify-content: flex-start
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num {
        font-size: 5rem;
        margin: 1rem 0 1.5rem;
        align-items: center
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num {
        font-size: 2.8rem;
        display: flex;
        margin: 1.5rem 0 1rem;
        align-items: flex-end;
        justify-content: center
    }
}

.info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num .small-text {
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 1.1rem;
    margin: 0 0 0 .3rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num .small-text {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__num .small-text {
        font-size: 1.4rem
    }
}

.info_tel_box .info_tel_box__bottom .info_tel_box__bottom__caution {
    color: #fff;
    opacity: .5;
    font-size: 1.1rem;
    text-align: left;
    opacity: .5;
    display: block;
    line-height: 1;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__caution {
        font-size: 2.2rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_box__bottom .info_tel_box__bottom__caution {
        font-size: 1.4rem;
        text-align: center;
        margin: 0
    }
}

.info_tel_box .info_tel_caution_text {
    color: #fff;
    opacity: .5;
    font-size: 1.1rem;
    text-align: left;
    opacity: .5;
    display: block;
    margin: 0 0 3.75rem
}

@media only screen and (min-width:544px) {
    .info_tel_box .info_tel_caution_text {
        font-size: 2.2rem;
        margin: 0 0 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .info_tel_box .info_tel_caution_text {
        font-size: 1.2rem;
        text-align: center;
        margin: 0
    }
}

.reserve_form_block {
    width: 100%;
    position: relative;
    padding: 7.5rem 0 4.25rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block {
        padding: 15rem 0 8.5rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block {
        padding: 15rem 0 13rem
    }
}

.reserve_form_block.reserve_form_block__last {
    padding: 7rem 0 3rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block.reserve_form_block__last {
        padding: 14rem 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block.reserve_form_block__last {
        padding: 14rem 0 6rem
    }
}

.reserve_form_block .reserve_form_block__wrap {
    padding: 0 3rem !important
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_form_block__wrap {
        padding: 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_form_block__wrap {
        padding: 0 !important
    }
}

.reserve_form_block.reserve_form_block__01:before {
    content: "";
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background: url(../image/mail_bg01__sp.png) center top no-repeat;
    background-size: cover !important;
    height: 19.8rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block.reserve_form_block__01:before {
        height: 39.6rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block.reserve_form_block__01:before {
        height: 30.8rem;
        background: url(../image/mail_bg01.png) center top no-repeat
    }
}

.reserve_form_block.reserve_form_block__02:before {
    content: "";
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background: url(../image/mail_bg02__sp.png) center top no-repeat;
    background-size: cover !important;
    height: 19.8rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block.reserve_form_block__02:before {
        height: 39.6rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block.reserve_form_block__02:before {
        height: 30.8rem;
        background: url(../image/mail_bg02.png) center top no-repeat
    }
}

.reserve_form_block.reserve_form_block__03:before {
    content: "";
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    background: url(../image/mail_bg03__sp.png) center top no-repeat;
    background-size: cover !important;
    height: 19.8rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block.reserve_form_block__03:before {
        height: 39.6rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block.reserve_form_block__03:before {
        height: 30.8rem;
        background: url(../image/mail_bg03.png) center top no-repeat
    }
}

.reserve_form_block h3.reserve_form_block__h3 {
    color: #fff;
    font-size: 1.5rem;
    padding: 0 0 0 .85rem;
    border-radius: .5rem;
    position: relative;
    margin: 0 0 1.5rem;
    display: block;
    letter-spacing: .05rem;
    line-height: 1.5;
    background: 0 0
}

@media only screen and (min-width:544px) {
    .reserve_form_block h3.reserve_form_block__h3 {
        font-size: 3rem;
        padding: 0 0 0 1.7rem;
        letter-spacing: .1rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block h3.reserve_form_block__h3 {
        font-size: 2rem;
        padding: 0 0 0 1rem;
        letter-spacing: .15rem;
        margin: 0 0 2rem
    }
}

.reserve_form_block h3.reserve_form_block__h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .1rem;
    height: 1.2rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .reserve_form_block h3.reserve_form_block__h3:before {
        width: .2rem;
        height: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block h3.reserve_form_block__h3:before {
        width: .2rem;
        height: 1.5rem;
        top: 53%
    }
}

.reserve_form_block .reserve_mail_block {
    display: block;
    justify-content: space-between;
    flex-wrap: wrap
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block {
        display: flex
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn {
    width: 100%;
    background: url(../image/mail_link_bg.png) 0 0 repeat;
    display: block;
    color: #fff;
    padding: 4.45rem 1rem 4.45rem 1.75rem;
    position: relative;
    border-radius: .5rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    margin: 0 0 .5rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn {
        padding: 8.9rem 1rem 8.9rem 3.5rem;
        margin: 0 0 1rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn {
        width: calc(50% - 1rem);
        padding: 5.45rem 1rem 5.45rem 3rem;
        margin: 0 0 2rem;
        border-radius: .5rem
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/mail_link_bg__hover.png) 0 0 repeat;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    z-index: 1;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:after {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:after {
        border-radius: .5rem
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn .txt {
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.4rem;
    font-weight: 400;
    z-index: 10;
    left: 1.75rem;
    max-width: 80%;
    line-height: 1.3
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn .txt {
        font-size: 2.8rem;
        left: 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn .txt {
        font-size: 1.6rem;
        left: 3rem;
        max-width: 70%
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow {
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    border-radius: 50%;
    width: 2rem;
    height: 2rem;
    transition: .4s cubic-bezier(.26, .06, 0, 1);
    z-index: 10;
    border: 1px solid #fff
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow {
        right: 4rem;
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow {
        right: 3rem;
        width: 3rem;
        height: 3rem
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1);
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    display: none
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow:before {
        display: block
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow svg {
    position: absolute;
    top: 50%;
    left: 51%;
    transform: translate(-50%, -50%);
    width: .95rem
}

@media only screen and (min-width:544px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow svg {
        width: 1.9rem
    }
}

@media only screen and (min-width:1024px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow svg {
        width: .95rem
    }
}

.reserve_form_block .reserve_mail_block a.reserve_mail__btn span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.26, .06, 0, 1)
}

@media (min-width:768px) {
    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover:after {
        background: url(../image/mail_link_bg__hover.png) 0 0 repeat;
        opacity: 1;
        z-index: 1
    }

    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover .txt {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .reserve_form_block .reserve_mail_block a.reserve_mail__btn:hover span.arrow svg use {
        fill: #8e7823;
        transition: all .5s cubic-bezier(.26, .06, 0, 1)
    }
}

a.link_white {
    position: relative;
    transition: .4s
}

a.link_white:before {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

a.link_white:after {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    a.link_white:hover {
        transition: .4s;
        opacity: 1
    }

    a.link_white:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    a.link_white:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

a.link_black {
    position: relative;
    transition: .4s
}

a.link_black:before {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

a.link_black:after {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    a.link_black:hover {
        transition: .4s;
        opacity: 1
    }

    a.link_black:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    a.link_black:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.page_access_wrap .page_section_anchor_link_nav__access {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_section_anchor_link_nav__access {
        margin: 0 0 10rem
    }
}

.page_access_wrap p.page_reserve_top_txt {
    color: #ccc
}

@media only screen and (min-width:1024px) {
    .page_access_wrap p.page_reserve_top_txt {
        color: #fff
    }
}

.page_access_wrap .page_h2__group {
    padding: 3rem 1.5rem 0;
    margin: 2.75rem 0 2rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_h2__group {
        padding: 6rem 3rem 0;
        margin: 5.5rem 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_h2__group {
        padding: 4rem 0 0;
        margin: 5.5rem 0 5rem
    }
}

.page_access_wrap h4 {
    color: #fff;
    font-size: 1.5rem;
    padding: 0 0 0 .6rem;
    border-radius: .5rem;
    position: relative;
    margin: 0 0 2rem;
    display: block;
    letter-spacing: .15rem;
    line-height: 1.5;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 700
}

@media only screen and (min-width:544px) {
    .page_access_wrap h4 {
        font-size: 3rem;
        margin: 0 0 4rem;
        padding: 0 0 0 1.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap h4 {
        font-size: 1.8rem;
        margin: 0 0 3rem;
        padding: 0 0 0 1.2rem
    }
}

.page_access_wrap h4:before {
    content: "";
    position: absolute;
    left: 0;
    top: 51%;
    transform: translateY(-50%);
    width: .1rem;
    height: 1.2rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .page_access_wrap h4:before {
        font-size: 3rem;
        width: .2rem;
        height: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap h4:before {
        font-size: 1.8rem;
        width: .2rem;
        height: 1.7rem
    }
}

.page_access_wrap h3 {
    margin: 0 0 2rem;
    font-weight: 700 !important
}

@media only screen and (min-width:544px) {
    .page_access_wrap h3 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap h3 {
        margin: 0 0 3rem
    }
}

.page_access_wrap img {
    border-radius: .5rem;
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap img {
        border-radius: 1rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap img {
        border-radius: .5rem;
        margin: 0 0 2rem
    }
}

.page_access_wrap a.page_contents_link {
    margin: 0 0 4rem;
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap a.page_contents_link {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap a.page_contents_link {
        margin: 0 0 6rem
    }
}

.page_access_wrap .list_block_nav__list_black__margin_4 {
    margin: 0 0 1.9rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .list_block_nav__list_black__margin_4 {
        margin: 0 0 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .list_block_nav__list_black__margin_4 {
        margin: 0 0 3.8rem
    }
}

.page_access_wrap .page_access_flex {
    display: block;
    justify-content: space-between;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex {
        margin: 0 0 5rem;
        display: flex
    }
}

.page_access_wrap .page_access_flex img {
    margin: 0
}

.page_access_wrap .page_access_flex .page_access_flex__inner.page_access_flex__inner_left {
    width: 100%;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner.page_access_flex__inner_left {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner.page_access_flex__inner_left {
        width: 50%;
        margin: 0
    }
}

.page_access_wrap .page_access_flex .page_access_flex__inner.page_access_flex__inner_right {
    width: 100%
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner.page_access_flex__inner_right {
        width: calc(50% - 4rem)
    }
}

.page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right {
    margin: 0 0 2.25rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right {
        margin: 0 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right {
        margin: 0 0 2.7rem
    }
}

.page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right.info_tel_box__bottom__right_min {
    margin: 0 0 1.8rem !important
}

.page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__text {
    font-size: 1.1rem;
    line-height: 1.7;
    display: block;
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__text {
        font-size: 2.2rem;
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__text {
        font-size: 1.2rem;
        margin: 0
    }
}

.page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__num {
    font-size: 2.5rem;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    display: block;
    line-height: 1;
    margin: 0 0 .5rem
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__num {
        font-size: 5rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__num {
        font-size: 3.2rem;
        margin: .2rem 0
    }
}

.page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__caution {
    color: #fff;
    opacity: .5;
    font-size: 1.1rem;
    display: block
}

@media only screen and (min-width:544px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__caution {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_access_wrap .page_access_flex .page_access_flex__inner .info_tel_box__bottom__right .info_tel_box__bottom__caution {
        font-size: 1.2rem
    }
}

table.list_block_nav__list_black {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black {
        margin: 0 0 5rem
    }
}

table.list_block_nav__list_black tr th.head {
    line-height: 1.5;
    color: #fff;
    background: #B49C69;
    width: 7.5rem;
    text-align: left;
    position: relative;
    padding: 1.75rem 1.5rem;
    font-size: 1.1rem;
    font-weight: 500;
    vertical-align: top;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black tr th.head {
        width: 15rem;
        font-size: 2.2rem;
        padding: 2.5rem 1rem 2.5rem 1.7rem;
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black tr th.head {
        width: 15rem;
        font-size: 1.4rem;
        padding: 2.5rem 1rem 2.5rem 1.7rem;
        line-height: 1.7
    }
}

table.list_block_nav__list_black tr th.head:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .15;
    height: .9px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black tr th.head:after {
        width: calc(100% - 1px);
        opacity: .3;
        height: 1px;
        background-image: linear-gradient(to right, #636363, #636363 1px, transparent 1px);
        background-size: .35rem 1px
    }
}

table.list_block_nav__list_black tr td.body {
    line-height: 1.5;
    color: #000000;
    text-align: left;
    position: relative;
    padding: 1.75rem .5rem 1.75rem 1.5rem;
    font-size: 1.1rem;
    vertical-align: top
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black tr td.body {
        font-size: 2.2rem;
        padding: 2.5rem 0 2.5rem 3rem;
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black tr td.body {
        font-size: 1.4rem;
        padding: 2.5rem 0 2.5rem 3rem;
        line-height: 1.7
    }
}

table.list_block_nav__list_black tr td.body:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .15;
    height: .9px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black tr td.body:after {
        opacity: .3;
        height: 1px;
        background-image: linear-gradient(to right, #636363, #636363 1px, transparent 1px);
        background-size: .35rem 1px
    }
}

table.list_block_nav__list_black tr td.body span.list_block__caution {
    display: block;
    color: #fff;
    opacity: .5;
    font-size: 1.1rem;
    display: block;
    line-height: 1.7;
    margin: .7rem 0 0
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black tr td.body span.list_block__caution {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black tr td.body span.list_block__caution {
        font-size: 1.2rem
    }
}

table.list_block_nav__list_black tr td.body span.list_block__caution.list_block__caution_mini {
    margin: 0 !important
}

table.list_block_nav__list_black_term {
    width: 100%;
    border-collapse: collapse
}

table.list_block_nav__list_black_term tr th.head {
    border: 1px solid rgba(255, 255, 255, .1);
    line-height: 1.5;
    color: #fff;
    background: rgba(255, 255, 255, .03);
    width: 7.5rem;
    text-align: left;
    padding: 1rem .75rem;
    font-size: 1.1rem;
    font-weight: 700;
    vertical-align: top;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black_term tr th.head {
        width: auto;
        font-size: 2.2rem;
        padding: 1.5rem 1rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black_term tr th.head {
        width: auto;
        font-size: 1.4rem;
        padding: 1.5rem 1rem;
        line-height: 1.7
    }
}

table.list_block_nav__list_black_term tr th.head.m-33 {
    width: 33%
}

table.list_block_nav__list_black_term tr td.body {
    border: 1px solid rgba(255, 255, 255, .1);
    line-height: 1.5;
    color: #fff;
    text-align: left;
    position: relative;
    padding: 1rem .75rem;
    font-size: 1.1rem;
    vertical-align: middle;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black_term tr td.body {
        font-size: 2.2rem;
        padding: 1.5rem 1rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black_term tr td.body {
        font-size: 1.4rem;
        padding: 1.5rem 1rem;
        line-height: 1.7
    }
}

table.list_block_nav__list_black_term tr td.body span.list_block__caution {
    display: block;
    color: #fff;
    opacity: .5;
    font-size: 1.1rem;
    display: block;
    line-height: 1.7;
    margin: .7rem 0 0
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list_black_term tr td.body span.list_block__caution {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list_black_term tr td.body span.list_block__caution {
        font-size: 1.2rem
    }
}

table.list_block_nav__list_black_term tr td.body span.list_block__caution.list_block__caution_mini {
    margin: 0 !important
}

.sp_nowrap {
    width: 100%;
    overflow-x: scroll;
    margin: 1rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    .sp_nowrap {
        margin: 1rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .sp_nowrap {
        overflow-x: auto;
        margin: 1rem 0 3rem
    }
}

p.big_txt {
    font-weight: 700;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    p.big_txt {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    p.big_txt {
        font-size: 1.6rem
    }
}

.page_contact_block__access {
    background: url(../image/page_contact_bg.png) center center no-repeat;
    background-size: 100% 100%;
    padding: 4rem 0 2rem;
    margin: 0 0 3rem;
    display: flex;
    justify-content: center
}

@media only screen and (min-width:544px) {
    .page_contact_block__access {
        padding: 8rem 0 4rem;
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access {
        padding: 5rem 0 4rem;
        margin: 0 0 6rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    border-radius: .25rem;
    margin: 0 1rem;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    position: relative;
    width: 31.5rem;
    height: 11rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form {
        width: 63rem;
        height: 22rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access a.page_contact_block__btn__form {
        width: 35rem;
        height: 11.9rem;
        border-radius: .5rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form:after {
        border-radius: .5rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10
}

.page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
    opacity: .5;
    font-size: 1.1rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 2.2rem;
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    font-size: 1.4rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1.5rem;
    font-weight: 700
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.8rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 1.4rem;
        margin: 0 0 1.3rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    border: 1px solid #fff
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__access a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__access a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.page_contact_block__access a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_contact_block__access a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .page_contact_block__access a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block__access a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block__access a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block__access a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block__access a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.gmap {
    height: 21.3rem;
    padding-bottom: 21.3rem;
    overflow: hidden;
    position: relative;
    border-radius: .5rem;
    margin: 0 0 2rem;
}

@media only screen and (min-width:544px) {
    .gmap {
        height: 42.6rem;
        padding-bottom: 42.6rem;
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .gmap {
        height: 40rem;
        padding-bottom: 40rem;
        margin: 0 0 3rem
    }
}

.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 21.3rem;
    width: 100%;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .gmap iframe {
        border-radius: 1rem;
        height: 42.6rem
    }
}

@media only screen and (min-width:1024px) {
    .gmap iframe {
        border-radius: .5rem;
        height: 40rem
    }
}

.access_flow {
    display: block;
    justify-content: space-between;
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .access_flow {
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .access_flow {
        display: flex
    }
}

.access_flow .access_flow__block {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin: 0 0 3.8rem
}

@media only screen and (min-width:544px) {
    .access_flow .access_flow__block {
        margin: 0 0 7.6rem
    }
}

@media only screen and (min-width:1024px) {
    .access_flow .access_flow__block {
        width: calc(25% - 3rem);
        display: block;
        margin: 0
    }
}

.access_flow .access_flow__block .access_flow__block_img {
    position: relative;
    display: block;
    margin: 0;
    width: 17.25rem
}

@media only screen and (min-width:544px) {
    .access_flow .access_flow__block .access_flow__block_img {
        width: 34.5rem;
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .access_flow .access_flow__block .access_flow__block_img {
        width: 100%;
        margin: 0 0 1.8rem
    }
}

.access_flow .access_flow__block .access_flow__block_img:after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 5px 0;
    border-color: #c90 transparent transparent;
    transform: translate(-50%, 0%);
    top: auto;
    bottom: -2.3rem;
    left: 50%;
    right: auto
}

@media only screen and (min-width:544px) {
    .access_flow .access_flow__block .access_flow__block_img:after {
        transform: translate(-50%, 0%);
        top: auto;
        bottom: -4.6rem;
        left: 50%;
        right: auto;
        border-style: solid;
        border-width: 16px 10px 0;
        border-color: #c90 transparent transparent
    }
}

@media only screen and (min-width:1024px) {
    .access_flow .access_flow__block .access_flow__block_img:after {
        transform: translate(0, -50%);
        top: 50%;
        bottom: auto;
        left: auto;
        right: -2.5rem;
        border-width: 5px 0 5px 8px;
        border-color: transparent transparent transparent #c90
    }
}

.access_flow .access_flow__block .access_flow__block_img.access_flow__block_img__last:after {
    display: none
}

.access_flow .access_flow__block img {
    border-radius: .25rem;
    margin: 0;
    width: 100%;
    height: auto
}

@media only screen and (min-width:544px) {
    .access_flow .access_flow__block img {
        border-radius: .5rem
    }
}

.access_flow .access_flow__block p {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    width: calc(100% - 19rem)
}

@media only screen and (min-width:544px) {
    .access_flow .access_flow__block p {
        font-size: 2.2rem;
        width: calc(100% - 38rem)
    }

    .access_flow .access_flow__block p:before,
    .access_flow .access_flow__block p:after {
        content: "";
        display: block;
        width: 0;
        height: 0
    }

    .access_flow .access_flow__block p:before {
        margin-top: calc((1 - 1.6)*0.5em)
    }

    .access_flow .access_flow__block p:after {
        margin-bottom: calc((1 - 1.6)*0.5em)
    }
}

@media only screen and (min-width:1024px) {
    .access_flow .access_flow__block p {
        font-size: 1.2rem;
        width: 100%
    }
}

.parking_block {
    border: 1px solid rgba(255, 255, 255, .1);
    margin: 2rem 0 2.5rem;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .parking_block {
        border-radius: 1rem;
        margin: 4rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block {
        border-radius: .5rem;
        margin: 4rem 0
    }
}

.parking_block .parking_block__top {
    display: flex;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.parking_block .parking_block__top .parking_block__top__inner {
    width: 50%;
    text-align: center;
    padding: 2.75rem 0
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__top .parking_block__top__inner {
        padding: 5.5rem 0
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__top .parking_block__top__inner {
        padding: 8rem 1rem 8.5rem
    }
}

.parking_block .parking_block__top .parking_block__top__inner__left {
    border-right: 1px solid rgba(255, 255, 255, .1)
}

.parking_block .parking_block__top .parking_block__top__inner .text_top__white {
    font-size: 1.3rem;
    font-weight: 700;
    display: block;
    line-height: 1.5;
    margin: 0 0 .9rem;
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__top .parking_block__top__inner .text_top__white {
        font-size: 2.6rem;
        margin: 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__top .parking_block__top__inner .text_top__white {
        font-size: 1.6rem;
        line-height: 1;
        margin: 0 0 1.3rem
    }
}

.parking_block .parking_block__top .parking_block__top__inner .text_top__yellow {
    font-size: 2rem;
    display: block;
    color: #C31111;
    font-family: ryo-display-plusn, serif;
    line-height: 1;
    letter-spacing: 0rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__top .parking_block__top__inner .text_top__yellow {
        font-size: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__top .parking_block__top__inner .text_top__yellow {
        font-size: 2.2rem;
        letter-spacing: .15rem
    }
}

.parking_block .parking_block__bottom {
    padding: 2.5rem 0 3.35rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__bottom {
        padding: 5rem 0 6.7rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom {
        padding: 8rem 0 10rem
    }
}

.parking_block .parking_block__bottom .text_bottom__white {
    font-size: 1.3rem;
    font-weight: 700;
    display: block;
    line-height: 1.4;
    text-align: center;
    margin: 0 0 1.65rem;
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__bottom .text_bottom__white {
        font-size: 2.6rem;
        margin: 0 0 3.3rem;
        line-height: 1.5
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .text_bottom__white {
        font-size: 1.6rem;
        line-height: 1;
        margin: 0 0 3.3rem
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex {
    display: block
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex {
        display: flex
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner {
        width: 33.3333%
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner:after {
    content: "";
    position: absolute;
    left: 50%;
    right: 0;
    bottom: 0;
    top: auto;
    transform: translate(-50%, 0);
    width: 15rem;
    background: rgba(204, 204, 204, .1);
    height: 1px
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner:after {
        left: 50%;
        right: 0;
        bottom: 0;
        top: auto;
        transform: translate(-50%, 0);
        width: 30rem;
        background: rgba(204, 204, 204, .1);
        height: 1px
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner:after {
        left: auto;
        right: 0;
        bottom: auto;
        top: 50%;
        transform: translate(0, -50%);
        width: 1px;
        height: 4.6rem;
        background: rgba(255, 255, 255, .1)
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner.parking_block__bottom__inner__last:after {
    display: none
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__text {
    font-size: 1.1rem;
    display: block;
    color: #fff;
    opacity: .5;
    text-align: center;
    line-height: 1;
    margin: 0 0 .75rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__text {
        font-size: 2.2rem;
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__text {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__yellow {
    font-size: 2rem;
    display: block;
    color: #C31111;
    font-family: ryo-display-plusn, serif;
    line-height: 1;
    text-align: center;
    letter-spacing: 0rem;
    padding: 0 0 2.5rem;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__yellow {
        font-size: 4rem;
        letter-spacing: .05rem;
        padding: 0 0 5rem;
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner .text_bottom__yellow {
        font-size: 2.2rem;
        letter-spacing: .15rem;
        padding: 0;
        margin: 0
    }
}

.parking_block .parking_block__bottom .parking_block__bottom__flex .parking_block__bottom__inner.parking_block__bottom__inner__last .text_bottom__yellow {
    padding: 0 !important;
    margin: 0 !important
}

ul.caution_text_list li {
    list-style: none;
    font-size: 1.2rem !important;
    color: #fff;
    opacity: .5;
    padding: 0 0 0 1.3rem;
    position: relative
}

ul.caution_text_list li:before {
    content: "※";
    position: absolute;
    left: 0;
    top: 0
}

p.link_btn_top_txt {
    margin: 0 0 1.5rem !important;
    line-height: 1.7 !important
}

@media only screen and (min-width:1024px) {
    p.link_btn_top_txt {
        margin: 0 0 3rem !important;
        line-height: 1.8 !important
    }
}

.pc_text {
    display: none
}

@media only screen and (min-width:1024px) {
    .pc_text {
        display: block
    }
}

.sp_text {
    display: block
}

@media only screen and (min-width:1024px) {
    .sp_text {
        display: none
    }
}

img.pc_img {
    display: none !important
}

@media only screen and (min-width:1024px) {
    img.pc_img {
        display: block !important
    }
}

img.sp_img {
    display: block !important
}

@media only screen and (min-width:1024px) {
    img.sp_img {
        display: none !important
    }
}

.single_column_wrap {
    position: relative;
    width: 100%
}

.single_column_wrap nav.page_bread_nav {
    top: -9rem;
    right: 4rem;
    display: none
}

@media only screen and (min-width:1024px) {
    .single_column_wrap nav.page_bread_nav {
        display: block;
        top: -9rem;
        right: 1rem
    }
}

@media screen and (min-width:1250px) {
    .single_column_wrap nav.page_bread_nav {
        top: -9rem;
        right: 4rem;
        display: block
    }
}

.thumb_border {
    border-radius: .5rem !important;
    border: .09rem solid #e5e5e5
}

@media only screen and (min-width:768px) {
    .thumb_border {
        border: 1px solid #e5e5e5
    }
}

.page_header_area__border_line {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    margin: 0 0 3rem !important
}

@media only screen and (min-width:544px) {
    .page_header_area__border_line {
        margin: 0 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__border_line {
        margin: 0 0 9.3rem !important
    }
}

a.white_border_link span {
    position: relative;
    padding: 0 0 .1rem
}

a.white_border_link span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    a.white_border_link span:before {
        height: 1px
    }
}

a.white_border_link span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    a.white_border_link span:after {
        height: 1px
    }
}

@media (min-width:768px) {
    a.white_border_link span:hover {
        color: #fff;
        transition: transform .3s
    }

    a.white_border_link span:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    a.white_border_link span:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.section_404 {
    color: #fff
}

.section_404 a.link_404 {
    border-bottom: 1px solid #fff
}

a[href^="tel:"] {
    pointer-events: auto
}

@media only screen and (min-width:768px) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

.all_wrap {
    opacity: 0 !important;
    transition: .8s
}

.all_wrap__active {
    opacity: 1 !important;
    transition: .6s !important
}

.bg_en__img.bg_en__img-access {
    width: 25rem;
    display: block
}

@media (max-width:1023px) {
    .page_header_area__h1-access {
        margin-bottom: 3rem
    }
}

.bg_en__img-contact {
    width: 70rem;
    top: 2.5rem !important
}

@media (max-width:1023px) {
    .bg_en__img-contact {
        width: 50rem
    }
}

@media (max-width:767px) {
    .bg_en__img-contact {
        width: 40rem;
        top: 2rem !important
    }
}

.page_header_area-contact {
    padding-bottom: 5.5rem !important
}

.page_section__inner .page_section__contents p.tel_information {
    text-align: center;
    margin-bottom: 2rem
}

.tel_form_tap {
    margin: 0 auto;
    padding: 1rem;
    display: block;
    font-weight: 700;
    font-size: 2.2rem;
    max-width: 270px;
    background: #353332;
    border: 1px solid #6f6f6f;
    text-align: center;
    border-radius: 50px;
    box-sizing: border-box
}

.page_heder_area img.bg_en__img__about {
    width: 58rem
}

.reason_section .page_section__flex p {
    margin: 0 0 2.75rem !important
}

@media only screen and (min-width:544px) {
    .reason_section .page_section__flex p {
        margin: 0 0 5.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .reason_section .page_section__flex p {
        margin: 0 !important
    }
}

.reason_section .page_section__flex p.h3_top_text {
    margin: 0 0 4rem !important
}

@media only screen and (min-width:544px) {
    .reason_section .page_section__flex p.h3_top_text {
        margin: 0 0 8rem !important
    }
}

@media only screen and (min-width:1024px) {
    .reason_section .page_section__flex p.h3_top_text {
        margin: 0 !important
    }
}

.reason_section .page_section__flex img {
    margin: 0 0 2.75rem !important
}

@media only screen and (min-width:544px) {
    .reason_section .page_section__flex img {
        margin: 0 0 5.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .reason_section .page_section__flex img {
        margin: 0 !important
    }
}

.history_section .page_section__flex p {
    margin: 0 !important
}

.history_section .page_section__flex img {
    margin: 0 0 2.5rem !important;
    border-radius: .25rem !important
}

@media only screen and (min-width:544px) {
    .history_section .page_section__flex img {
        margin: 0 0 5rem !important;
        border-radius: .5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .history_section .page_section__flex img {
        margin: 0 !important;
        border-radius: .5rem !important
    }
}

.history_section .page_section__flex img.sp-margin-bottom-2 {
    margin-bottom: 1rem !important
}

@media only screen and (min-width:544px) {
    .history_section .page_section__flex img.sp-margin-bottom-2 {
        margin-bottom: 2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .history_section .page_section__flex img.sp-margin-bottom-2 {
        margin-bottom: 5rem !important
    }
}

.history_section img {
    border-radius: .25rem !important
}

@media only screen and (min-width:544px) {
    .history_section img {
        border-radius: .5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .history_section img {
        border-radius: .5rem !important
    }
}

.history_section nav.page_section_bottom_nav.page_section_bottom_nav__story {
    margin: 5rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .history_section nav.page_section_bottom_nav.page_section_bottom_nav__story {
        margin: 10rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .history_section nav.page_section_bottom_nav.page_section_bottom_nav__story {
        margin: 13rem 0 0 !important
    }
}

.history_section span.small {
    font-size: 1.1rem !important;
    line-height: 1.9
}

@media only screen and (min-width:544px) {
    .history_section span.small {
        font-size: 2.2rem !important;
        line-height: 1.9
    }
}

@media only screen and (min-width:1024px) {
    .history_section span.small {
        font-size: 1.2rem !important;
        line-height: 1.7
    }
}

.page_header_area__child_institution {
    margin: 11.75rem 0 2.5rem !important
}

@media only screen and (min-width:544px) {
    .page_header_area__child_institution {
        margin: 23.5rem 0 5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__child_institution {
        margin: 16.7rem 0 7.5rem
    }
}

.institution_section .page_caption_slider__body {
    margin-bottom: 1.5rem
}

@media only screen and (min-width:544px) {
    .institution_section .page_caption_slider__body {
        margin-bottom: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .institution_section .page_caption_slider__body {
        margin-bottom: 1.5rem
    }
}

.institution_section nav.page_section_bottom_nav.page_section_bottom_nav__institution {
    margin: 3rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .institution_section nav.page_section_bottom_nav.page_section_bottom_nav__institution {
        margin: 6rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .institution_section nav.page_section_bottom_nav.page_section_bottom_nav__institution {
        margin: 13rem 0 0 !important
    }
}

.page_section__inner {
    position: relative
}

.page_header_area .page_header_area__h1 .bg_en__img__food {
    width: calc(100% + 1.5rem);
    top: 2rem !important
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 .bg_en__img__food {
        width: calc(100% + 3rem);
        top: 2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 .bg_en__img__food {
        width: 56rem;
        top: 2rem !important
    }
}

.carousel-wrap__scene {
    width: 24rem
}

ul.carousel-slider_ryotei_scene li {
    width: 100%;
    position: relative;
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding: 3rem 2rem 0;
    margin: 0 !important
}

ul.carousel-slider_ryotei_scene li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

ul.carousel-slider_ryotei_scene li:nth-child(3):after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

ul.carousel-slider_ryotei_scene li:last-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 4px;
    background-position: left top;
    background-repeat: repeat-y
}

ul.carousel-slider_ryotei_scene li span.page_index_nav__title {
    color: #fff;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    font-weight: 400;
    display: inline-block;
    margin: 0 0 2rem;
    position: relative;
    line-height: 1.3;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    ul.carousel-slider_ryotei_scene li span.page_index_nav__title {
        letter-spacing: .2rem
    }
}

@media only screen and (min-width:1024px) {
    ul.carousel-slider_ryotei_scene li span.page_index_nav__title {
        letter-spacing: .2rem
    }
}

ul.carousel-slider_ryotei_scene li span.page_index_nav__title:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid #fff
}

ul.carousel-slider_ryotei_scene li span.page_index_nav__text {
    color: #fff;
    display: block
}

ul.carousel-slider_ryotei_scene li img {
    width: 100%;
    margin: 0 !important;
    border-radius: .5rem
}

#ryotei .page_section__inner__right .page_h2__group__not_en {
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    #ryotei .page_section__inner__right .page_h2__group__not_en {
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei .page_section__inner__right .page_h2__group__not_en {
        margin: 10rem 0 5.5rem
    }
}

#ryotei nav.page_index_nav02 ul li a {
    display: block;
    color: #fff;
    padding: 7rem 4rem 0;
    position: relative
}

#ryotei nav.page_index_nav02 ul li .page_index_nav__title {
    line-height: 1.7
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 ul li .page_index_nav__title {
        line-height: 1.3
    }
}

#ryotei nav.page_index_nav02 ul li .text {
    display: none
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 ul li .text {
        display: block
    }
}

#ryotei nav.page_index_nav02 ul li .thumb {
    margin: 0 !important
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 ul li .thumb {
        margin: 5rem 0 0 !important
    }
}

#ryotei nav.page_index_nav02 ul li:first-child a {
    display: block;
    color: #fff;
    padding: 2.5rem 1.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    #ryotei nav.page_index_nav02 ul li:first-child a {
        padding: 5rem 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 ul li:first-child a {
        padding: 7rem 4rem 0
    }
}

#ryotei nav.page_index_nav02 ul li:last-child a {
    display: block;
    color: #fff;
    padding: 2.5rem 0 0 1.5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    #ryotei nav.page_index_nav02 ul li:last-child a {
        padding: 5rem 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 ul li:last-child a {
        padding: 7rem 4rem 0
    }
}

#ryotei nav.page_index_nav02 {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    #ryotei nav.page_index_nav02 {
        margin: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei nav.page_index_nav02 {
        margin: 0 0 10.5rem
    }
}

#concept .page_section__contents img {
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    #concept .page_section__contents img {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #concept .page_section__contents img {
        margin: 0 0 4.2rem
    }
}

#concept .page_h2__group__not_en {
    margin: 5rem 0 2.75rem
}

@media only screen and (min-width:544px) {
    #concept .page_h2__group__not_en {
        margin: 10rem 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    #concept .page_h2__group__not_en {
        margin: 10rem 0 5.5rem
    }
}

#concept .page_section__flex__fujimura .page_section__flex_inner {
    width: calc(50% - 3rem)
}

#concept .page_section__flex__fujimura .page_section__flex_inner p {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #concept .page_section__flex__fujimura .page_section__flex_inner p {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    #concept .page_section__flex__fujimura .page_section__flex_inner p {
        margin: 0 0 4rem
    }
}

#concept .page_section__flex__fujimura .page_section__flex_inner h4 {
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    #concept .page_section__flex__fujimura .page_section__flex_inner h4 {
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    #concept .page_section__flex__fujimura .page_section__flex_inner h4 {
        margin: 0 0 2rem
    }
}

#cseneplan .page_h2__group__not_en__cseneplan {
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_h2__group__not_en__cseneplan {
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_h2__group__not_en__cseneplan {
        margin: 10rem 0 5.5rem
    }
}

#cseneplan .page_h2__group__not_en__cseneplan02 {
    margin: 5rem 0 1.75rem;
    padding: 2.75rem 1.5rem 0
}

@media only screen and (min-width:544px) {
    #cseneplan .page_h2__group__not_en__cseneplan02 {
        margin: 10rem 0 3.5rem;
        padding: 5.5rem 3rem 0
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_h2__group__not_en__cseneplan02 {
        margin: 10rem 0 3.5rem;
        padding: 6rem 0 0
    }
}

#cseneplan .page_section_anchor_link_nav__02 {
    padding: .65rem .5rem 1.25rem 1.25rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section_anchor_link_nav__02 {
        padding: 1.25rem 1rem 1.25rem 2.5rem
    }
}

#cseneplan .page_section_anchor_link_nav__02 ul li {
    margin-top: .375rem;
    margin-bottom: .375rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section_anchor_link_nav__02 ul li {
        margin-top: .75rem;
        margin-bottom: .75rem
    }
}

#cseneplan .page_section__inner .page_section__contents img {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section__inner .page_section__contents img {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_section__inner .page_section__contents img {
        margin: 0 0 4rem
    }
}

#cseneplan .page_section__flex__cseneplan img {
    margin: 0 0 1.5rem !important
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section__flex__cseneplan img {
        margin: 0 0 3rem !important
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_section__flex__cseneplan img {
        margin: 0 !important
    }
}

#cseneplan .page_section__flex__cseneplan .page_section__flex_inner {
    width: calc(50% - 3rem)
}

#cseneplan .page_section__flex__cseneplan .page_section__flex_inner p {
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section__flex__cseneplan .page_section__flex_inner p {
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_section__flex__cseneplan .page_section__flex_inner p {
        margin: 0 0 3.5rem
    }
}

#cseneplan .page_section__flex__cseneplan .page_section__flex_inner p span.small {
    margin: 0
}

#cseneplan .page_section__flex__scene02 {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #cseneplan .page_section__flex__scene02 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    #cseneplan .page_section__flex__scene02 {
        margin: 0 0 4rem
    }
}

#cseneplan .page_section__flex__scene02 .page_section__flex_inner {
    width: calc(50% - 2rem)
}

#ryotei_menu .large-text {
    font-size: 1.4rem;
    font-weight: 400
}

@media only screen and (min-width:544px) {
    #ryotei_menu .large-text {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu .large-text {
        font-size: 1.4rem
    }
}

#ryotei_menu .middle-text {
    font-size: 1.6rem
}

#ryotei_menu .font_bold {
    display: block;
    font-weight: 700
}

#ryotei_menu .large-text__top {
    line-height: 1;
    display: block;
    margin-top: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem
}

#ryotei_menu .large-text__top:before,
#ryotei_menu .large-text__top:after {
    content: "";
    display: block;
    width: 0;
    height: 0
}

#ryotei_menu .large-text__top:before {
    margin-top: calc((1 - 1)*0.5em)
}

#ryotei_menu .large-text__top:after {
    margin-bottom: calc((1 - 1)*0.5em)
}

@media only screen and (min-width:544px) {
    #ryotei_menu .large-text__top {
        margin-top: 0;
        margin-bottom: 1rem;
        font-size: 3rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu .large-text__top {
        margin-top: 0;
        margin-bottom: 1.7rem;
        font-size: 1.6rem
    }
}

#ryotei_menu .page_h2__group__not_en {
    margin: 3.25rem 0 4rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu .page_h2__group__not_en {
        margin: 6.5rem 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu .page_h2__group__not_en {
        margin: 0 0 5rem
    }
}

#ryotei_menu .section-carousel {
    margin: 0 0 4rem
}

#ryotei_menu .page_section__flex .page_section__flex_inner {
    width: calc(50% - 2rem)
}

#ryotei_menu .page_section__flex {
    margin: 0 0 4.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu .page_section__flex {
        margin: 0 0 9rem
    }
}

#ryotei_menu .page_section__flex img {
    margin: 0 !important
}

#ryotei_menu .caption_child_lunch {
    opacity: .2;
    display: block;
    line-height: 1;
    margin: .9rem 0 2.5rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu .caption_child_lunch {
        font-size: 2.2rem;
        margin: 1.8rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu .caption_child_lunch {
        opacity: 1;
        font-size: 1.4rem;
        margin: 1rem 0 0
    }
}

#ryotei_menu .page_h2__group__drink {
    margin: 3.25rem 0 4rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu .page_h2__group__drink {
        margin: 6.5rem 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu .page_h2__group__drink {
        margin: 0 0 4rem
    }
}

#ryotei_menu img.oshinagaki_img {
    display: none
}

@media only screen and (min-width:1024px) {
    #ryotei_menu img.oshinagaki_img {
        display: block
    }
}

#ryotei_menu a.page_contents_link__menu {
    margin-bottom: 3rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu a.page_contents_link__menu {
        display: inline-block;
        margin-bottom: 6rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_menu a.page_contents_link__menu {
        display: none;
        margin-bottom: 0
    }
}

#ryotei_menu .is-layout-flex.wp-block-columns {
    margin: 0 0 4.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_menu .is-layout-flex.wp-block-columns {
        margin: 0 0 9rem
    }
}

#ryotei_menu .is-layout-flex.wp-block-columns img {
    margin: 0 !important
}

#ryotei_menu .page_section__contents a.link {
    position: relative;
    transition: .4s
}

#ryotei_menu .page_section__contents a.link:before {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#ryotei_menu .page_section__contents a.link:after {
    position: absolute;
    bottom: -.1rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    #ryotei_menu .page_section__contents a.link:hover {
        transition: .4s;
        opacity: 1
    }
}

#ryotei_menu .page_section__contents a.link:hover:after {
    transfrm-origin: right top;
    transform: scale(0, 1)
}

#ryotei_menu .page_section__contents a.link:hover:before {
    transition: transform .3s ease-out;
    transition-delay: .35s;
    transform-origin: left top;
    transform: scale(1, 1)
}

#ryotei_room .page_h2__group__not_en {
    margin: 3.25rem 0 4.25rem
}

@media only screen and (min-width:544px) {
    #ryotei_room .page_h2__group__not_en {
        margin: 6.5rem 0 8.5rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_room .page_h2__group__not_en {
        margin: 10rem 0 5rem
    }
}

#ryotei_room .page_section__inner .page_section__contents h3 {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_room .page_section__inner .page_section__contents h3 {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_room .page_section__inner .page_section__contents h3 {
        margin: 0 0 2.5rem
    }
}

#ryotei_room p.room_madori_menseki {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #ryotei_room p.room_madori_menseki {
        margin: 0 0 4rem
    }
}

#ryotei_room p {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #ryotei_room p {
        margin: 0 0 4rem
    }
}

#ryotei_room pre {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    #ryotei_room pre {
        margin: 0 0 4rem
    }
}

#ryotei_room .page_contact_block__last {
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    #ryotei_room .page_contact_block__last {
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_room .page_contact_block__last {
        margin: 0 !important
    }
}

.page_header_area.page_header_area__child_small {
    margin: 7.25rem 0 3rem !important
}

@media only screen and (min-width:544px) {
    .page_header_area.page_header_area__child_small {
        margin: 14.5rem 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area.page_header_area__child_small {
        margin: 15.7rem 0 7.5rem !important
    }
}

#ryotei_reserve {
    padding: 0;
}

@media only screen and (min-width:544px) {
    #ryotei_reserve {
        padding: 0;
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_reserve {
        padding: 0;
    }
}

.page_header_area__border_bottom {
    border-bottom: 1px solid rgba(255, 255, 255, .1);
    margin: 7.25rem 0 3rem !important;
    padding: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .page_header_area__border_bottom {
        margin: 14.5rem 0 6rem !important;
        padding: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__border_bottom {
        margin: 16.5rem 0 9.3rem !important;
        padding: 0 0 7.5rem
    }
}

.page_header_area__border_bottom_none {
    margin: 13.5rem 0 0 !important;
    padding: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .page_header_area__border_bottom_none {
        margin: 14.5rem 0 0 !important;
        padding: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__border_bottom_none {
        margin: 18.3rem 0 0 !important;
        padding: 0 0 7.5rem
    }
}

#ryotei_index p {
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    #ryotei_index p {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index p {
        font-size: 1.2rem
    }
}

#ryotei_index .page_header_area__child02 {
    overflow: visible;
    margin: 13.5rem 0 0
}

@media only screen and (min-width:544px) {
    #ryotei_index .page_header_area__child02 {
        margin: 27.5rem 0 0;
        overflow: visible
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_header_area__child02 {
        overflow: hidden;
        margin: 18.3rem 0 8rem !important
    }
}

#ryotei_index .page_header_area__child02 p {
    font-size: 1.4rem
}

#ryotei_index .page_header_area .page_header_area__h1 h1 {
    margin: 0 0 6.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_index .page_header_area .page_header_area__h1 h1 {
        margin: 0 0 13.5rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_header_area .page_header_area__h1 h1 {
        margin: 1rem 0 5.5rem
    }
}

#ryotei_index .page_mv_area__wrap {
    position: relative;
    padding: 0 0 5rem
}

@media only screen and (min-width:544px) {
    #ryotei_index .page_mv_area__wrap {
        padding: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap {
        padding: 0 0 13rem
    }
}

#ryotei_index .page_mv_area__wrap .page_mv_parallax {
    height: auto
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax {
        height: 60rem
    }
}

#ryotei_index .page_mv_area__wrap .page_mv_parallax {
    width: 100%;
    position: relative;
    background-position: center center;
    background-repeat: no-repeat;
    transition: 0s !important;
    background-attachment: scroll;
    overflow: hidden;
    background-size: auto 125%
}

@media only screen and (min-width:544px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax {
        background-attachment: scroll;
        background-position: center 0;
        background-size: auto 140%
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax {
        background-attachment: scroll;
        background-position: center 0;
        background-size: auto 140%
    }
}

#ryotei_index .page_mv_area__wrap .page_mv_parallax img {
    opacity: 1
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax img {
        opacity: 0
    }
}

#ryotei_index .page_mv_area__wrap .page_mv_parallax img.pc_img {
    display: none
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax img.pc_img {
        display: block
    }
}

#ryotei_index .page_mv_area__wrap .page_mv_parallax img.sp_img {
    display: block;
    opacity: 1
}

@media only screen and (min-width:544px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax img.sp_img {
        display: block;
        opacity: 0
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index .page_mv_area__wrap .page_mv_parallax img.sp_img {
        display: none
    }
}

#ryotei_index nav.page_index_nav02 ul li {
    margin: 0 0 3rem
}

@media only screen and (min-width:544px) {
    #ryotei_index nav.page_index_nav02 ul li {
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index nav.page_index_nav02 ul li {
        margin: 0 0 9rem
    }
}

#ryotei_index nav.page_index_nav02 ul li a {
    display: block;
    color: #fff;
    padding: 2.5rem 1.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    #ryotei_index nav.page_index_nav02 ul li a {
        padding: 5rem 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index nav.page_index_nav02 ul li a {
        padding: 5rem 4rem 0
    }
}

#ryotei_index nav.page_index_nav02 ul li:nth-child(even) a {
    padding: 2.5rem 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_index nav.page_index_nav02 ul li:nth-child(even) a {
        padding: 5rem 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index nav.page_index_nav02 ul li:nth-child(even) a {
        padding: 5rem 4rem 0
    }
}

#ryotei_index nav.page_index_nav02 ul li a img {
    margin: 0
}

#ryotei_index nav.page_index_nav02 ul li a span.page_index_nav__title {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    #ryotei_index nav.page_index_nav02 ul li a span.page_index_nav__title {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei_index nav.page_index_nav02 ul li a span.page_index_nav__title {
        margin: 0 0 3rem
    }
}

#ryotei {
    padding: 0
}

@media only screen and (min-width:1024px) {
    #ryotei {
        padding: 0 0 7rem
    }
}

#ryotei .page_section__inner__right .page_h2__group__important {
    padding: 3.5rem 1.5rem 0;
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    #ryotei .page_section__inner__right .page_h2__group__important {
        padding: 7rem 3rem 0;
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #ryotei .page_section__inner__right .page_h2__group__important {
        padding: 6.3rem 0 0;
        margin: 10rem 0 7.9rem
    }
}

.ryotei_section .page_section__flex__top {
    margin: 0 0 2rem
}

.ryotei_section .page_section__flex__top p {
    margin: 0 !important
}

.ryotei_section .page_section__flex__top img {
    margin: 0 !important
}

.ryotei_section .page_section__flex_inner img {
    width: 100% !important
}

.ryotei_section .caution_list_top {
    margin: 0 0 1.75rem !important
}

@media only screen and (min-width:544px) {
    .ryotei_section .caution_list_top {
        margin: 0 0 3.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_section .caution_list_top {
        margin: 0 0 1rem !important
    }
}

.ryotei_section .page_contact_block {
    margin: 5rem 0 !important
}

@media only screen and (min-width:768px) {
    .ryotei_section .page_contact_block {
        margin: 10rem 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_section .page_contact_block {
        margin: 10rem 0 7rem !important
    }
}

.ryotei_section .important_block {
    margin: 0 0 4.5rem
}

@media only screen and (min-width:768px) {
    .ryotei_section .important_block {
        margin: 0 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_section .important_block {
        margin: 0 0 5.3rem
    }
}

.ryotei_section .important_block img {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:768px) {
    .ryotei_section .important_block img {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_section .important_block img {
        margin: 0 0 4rem
    }
}

.ryotei_section .important_block h3.important_h3 {
    margin: 0 0 2rem
}

@media only screen and (min-width:768px) {
    .ryotei_section .important_block h3.important_h3 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_section .important_block h3.important_h3 {
        margin: 0 0 2.5rem
    }
}

.ryotei_wrap .page_contact_block__last {
    margin: 0 0 1rem;
    padding: 3.7rem 0 0
}

@media only screen and (min-width:544px) {
    .ryotei_wrap .page_contact_block__last {
        margin: 0 0 2rem;
        padding: 8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .ryotei_wrap .page_contact_block__last {
        padding: 3rem 0 0;
        margin: 0 !important
    }
}

.page_mv_area__wrap__last {
    padding: 0 0 15rem !important
}

@media only screen and (min-width:544px) {
    .page_mv_area__wrap__last {
        padding: 0 0 22rem !important
    }
}

.mice-scroll-table {
    overflow: auto;
    white-space: nowrap
}

.mice-place-table {
    font-size: 1.4rem;
    width: 100%;
    min-width: 500px;
    text-align: center
}

.mice-place-table .table,
.mice-place-table td,
.mice-place-table th {
    border-collapse: collapse;
    vertical-align: middle;
    border: 1px solid #595959
}

.mice-place-table td {
    display: table-cell
}

.page_section__inner .page_section__contents p.photo_recommend {
    margin-top: 0;
    margin-bottom: 0
}

@media only screen and (min-width:544px) {
    .page_section__inner .page_section__contents p.photo_recommend {
        margin-top: -2rem;
        margin-bottom: 0
    }
}

@media only screen and (min-width:1024px) {
    .page_section__inner .page_section__contents p.photo_recommend {
        margin-top: -2rem;
        margin-bottom: 0
    }
}

.page_section__inner .page_section__contents p.photo_recommend02 {
    margin-bottom: 2rem
}

.page_section__inner .page_section__contents p.photo_recommend03 {
    margin-bottom: 1rem
}

.photo_price_box {
    margin-top: 2rem;
    margin-bottom: 6rem
}

@media only screen and (min-width:544px) {
    .photo_price_box {
        margin-top: 2rem;
        margin-bottom: 6rem
    }
}

@media only screen and (min-width:1024px) {
    .photo_price_box {
        margin-top: 2rem;
        margin-bottom: 6rem
    }
}

.photo_price_box.m-0 {
    margin-bottom: 0
}

.photo_price_box+.photo_price_box {
    margin-top: 0;
    margin-bottom: 0
}

.photo_price_box+.photo_price_box.m-last {
    margin-bottom: 6rem
}

.photo_price_box-dl {
    display: flex;
    flex-wrap: wrap;
    width: 100%
}

@media only screen and (min-width:544px) {
    .photo_price_box-dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .photo_price_box-dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%
    }
}

.photo_price_box-dl-title {
    width: 100%;
    background: #343231;
    padding: .5rem 1rem;
    border: 1px solid #343231
}

@media only screen and (min-width:544px) {
    .photo_price_box-dl-title {
        width: 100%;
        font-weight: 700
    }
}

@media only screen and (min-width:1024px) {
    .photo_price_box-dl-title {
        width: 100%;
        font-weight: 700
    }
}

.photo_price_box-dl-dt {
    width: 50%;
    padding: .5rem 1rem;
    border-bottom: 1px solid #343231
}

@media only screen and (min-width:544px) {
    .photo_price_box-dl-dt {
        width: 50%
    }
}

@media only screen and (min-width:1024px) {
    .photo_price_box-dl-dt {
        width: 50%
    }
}

.photo_price_box-dl-dd {
    width: 50%;
    padding: .5rem 1rem;
    border-bottom: 1px solid #343231
}

@media only screen and (min-width:544px) {
    .photo_price_box-dl-dd {
        width: 50%
    }
}

@media only screen and (min-width:1024px) {
    .photo_price_box-dl-dd {
        width: 50%
    }
}

.wpcf7-form-control-wrap input[type=text],
.wpcf7-form-control-wrap input[type=email],
.wpcf7-form-control-wrap input[type=tel],
.wpcf7-form-control-wrap input[type=zip] {
    border: 1px solid #bababa;
    margin: 5px 0;
    padding: 5px 10px;
    border-radius: 5px;
    width: 100%
}

@media only screen and (min-width:544px) {

    .wpcf7-form-control-wrap input[type=text],
    .wpcf7-form-control-wrap input[type=email],
    .wpcf7-form-control-wrap input[type=tel],
    .wpcf7-form-control-wrap input[type=zip] {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 100%;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {

    .wpcf7-form-control-wrap input[type=text],
    .wpcf7-form-control-wrap input[type=email],
    .wpcf7-form-control-wrap input[type=tel],
    .wpcf7-form-control-wrap input[type=zip] {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 100%;
        font-size: 1.4rem
    }
}

.wpcf7-form-control-wrap input[type=number] {
    border: 1px solid #bababa;
    margin: 5px 0;
    padding: 5px 10px;
    border-radius: 5px;
    width: 50px
}

@media only screen and (min-width:544px) {
    .wpcf7-form-control-wrap input[type=number] {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 50px
    }
}

@media only screen and (min-width:1024px) {
    .wpcf7-form-control-wrap input[type=number] {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 50px;
        font-size: 1.4rem
    }
}

.wpcf7-form-control-wrap select {
    border: 1px solid #bababa;
    margin: 5px 0;
    padding: 5px 10px;
    border-radius: 5px;
    width: 100%;
    background: #23201f;
    color: #fff
}

@media only screen and (min-width:544px) {
    .wpcf7-form-control-wrap select {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 100%;
        background: #23201f;
        color: #fff
    }
}

@media only screen and (min-width:1024px) {
    .wpcf7-form-control-wrap select {
        border: 1px solid #bababa;
        margin: 5px 0;
        padding: 5px 10px;
        border-radius: 5px;
        width: 100%;
        background: #23201f;
        color: #fff;
        font-size: 1.4rem
    }
}

.inputarea-must,
.wpcf7-not-valid-tip {
    color: #ae1d1d
}

.page_section__inner .page_section__contents .form-name-box p {
    display: flex;
    align-items: center
}

.wpcf7-list-item {
    margin: 0
}

.form-name-box {
    margin-top: -30px
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #821b1b;
    border: 1px solid #ae1d1;
    width: 100%;
    margin: 0 auto 50px;
    border-radius: 5px;
    background: #821b1b;
    color: #fff;
    font-size: 16px
}

#autozip {
    display: none !important
}

.select_outbox {
    display: block
}

#wpcf7cpcnf p {
    margin: 0 !important
}

#wpcf7cpcnf table {
    width: 100%;
    border: 1px solid #fff;
    display: table;
    border-collapse: collapse
}

#wpcf7cpcnf tr {
    display: table-row;
    vertical-align: middle;
    width: 100%;
    border-bottom: 1px solid #fff
}

#wpcf7cpcnf th {
    text-align: left;
    width: 35%;
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    box-sizing: border-box;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    background-color: #5f5f5f;
    color: #fff
}

#wpcf7cpcnf p {
    margin: 0 !important;
    line-height: 2
}

#wpcf7cpcnf td {
    width: 65%;
    display: table-cell;
    padding: 25px 10px;
    word-break: break-all
}

.google_announcement {
    font-size: 1rem;
    padding: 5px
}

.wpcf7 form.sent .wpcf7-response-output {
    background: #6d0d0d;
    border: none;
    margin: 0;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 30px
}

span.form-name {
    font-weight: 700
}

textarea.osechi-textarea {
    background-color: transparent;
    border-style: none;
    color: inherit;
    width: 100%;
    border: 1px solid #bababa;
    padding: 10px;
    box-sizing: border-box;
    border-radius: 5px;
    margin-top: 5px
}

.wpcf7-form-control-wrap[data-name=request-date] {
    display: block;
    width: 100%
}

.wpcf7-form-control-wrap input[type=date] {
    position: relative;
    display: block;
    border: 1px solid #bababa;
    margin: 5px 0;
    padding: 5px 10px;
    border-radius: 5px;
    width: 100%;
    background: #23201f;
    color: #fff
}

input[type=date]::-webkit-calendar-picker-indicator {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0
}

input[type=date]::-webkit-inner-spin-button {
    -webkit-appearance: none
}

input[type=date]::-webkit-clear-button {
    -webkit-appearance: none
}

input[type=date] {
    position: relative
}

.page_section__inner .page_section__contents p.form-name {
    margin: 0
}

.page_section__inner .page_section__contents p.form-area {
    margin: 0 0 2rem
}

.appearance {
    display: flex;
    align-items: center
}

.form-checkbox input {
    appearance: none;
    height: 24px;
    width: 24px;
    margin: 6px 6px 6px 0;
    border: 1px solid #bababa;
    border-radius: 4px
}

.wpcf7-list-item-label {
    margin-right: 15px
}

@media only screen and (min-width:544px) {
    .wpcf7-list-item-label {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wpcf7-list-item-label {
        font-size: 1.4rem
    }
}

.form-checkbox input:checked {
    border: 1px solid #bababa;
    background-color: #8e7823
}

.form-checkbox input:checked:before {
    content: "";
    display: block;
    position: relative;
    left: 7.4px;
    top: 3px;
    width: 8px;
    height: 12px;
    border: solid #fff;
    border-width: 0 3px 3px 0;
    transform: rotate(45deg)
}

.form-checkbox input:focus-visible {
    outline: 2px solid #1d9bf0;
    outline-offset: 2px
}

.form-checkbox .wpcf7-list-item label {
    margin-bottom: 0;
    display: flex;
    align-items: center
}

.wpcf7-form-control-wrap .has-free-text {
    display: flex
}

.wpcf7-form-control-wrap .has-free-text input[type=text].wpcf7-free-text {
    max-width: 190px;
    margin: 6px 0 6px -10px
}

@media only screen and (min-width:544px) {
    .wpcf7-form-control-wrap .has-free-text input[type=text].wpcf7-free-text {
        padding: 15px 5px
    }
}

.into-outer {
    display: block;
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .into-outer {
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .into-outer {
        display: flex
    }
}

.page_section__inner .page_section__contents .into-outer p.form-area {
    margin-bottom: 0
}

.into2,
.into3 {
    display: flex;
    align-items: baseline;
    width: 100%
}

@media only screen and (min-width:544px) {

    .into2,
    .into3 {
        display: flex;
        align-items: baseline;
        width: auto
    }
}

@media only screen and (min-width:1024px) {

    .into2,
    .into3 {
        display: flex;
        align-items: baseline;
        width: auto
    }
}

.into2-txt,
.into3-txt {
    margin: 0 2%
}

@media only screen and (min-width:544px) {

    .into2-txt,
    .into3-txt {
        margin: 0 20px
    }
}

@media only screen and (min-width:1024px) {

    .into2-txt,
    .into3-txt {
        margin: 0 20px
    }
}

.into2 .form-area {
    width: calc(94%/2)
}

.into3 .form-area {
    width: calc(94%/3)
}

.wpcf7-form-control-wrap select.form-time {
    width: 100%;
    text-align: center
}

@media only screen and (min-width:544px) {
    .wpcf7-form-control-wrap select.form-time {
        width: 100%;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wpcf7-form-control-wrap select.form-time {
        width: 90px;
        font-size: 1.4rem
    }
}

.photo_recommend03+a.page_contents_link {
    display: inline-block;
    margin-bottom: 50px
}

@media only screen and (min-width:544px) {
    .photo_recommend03+a.page_contents_link {
        display: inline-block;
        margin-bottom: 80px
    }
}

@media only screen and (min-width:1024px) {
    .photo_recommend03+a.page_contents_link {
        display: inline-block;
        margin-bottom: 80px
    }
}

.form-area .your-textarea {
    border: 1px solid #bababa;
    margin: 5px 0;
    padding: 5px 10px;
    border-radius: 5px;
    width: 100%;
    background: #23201f;
    color: #fff
}

@media only screen and (min-width:544px) {
    .form-area .your-textarea {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .form-area .your-textarea {
        font-size: 1.4rem
    }
}

.form-area .wpcf7-not-valid-tip {
    font-size: 1rem
}

@media only screen and (min-width:544px) {
    .form-area .wpcf7-not-valid-tip {
        font-size: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .form-area .wpcf7-not-valid-tip {
        font-size: 1.2rem
    }
}

.wpcf7-submit {
    border: 1px solid #e8e8e8;
    background: #e8e8e8;
    margin: 5px 0;
    padding: 25px 0;
    border-radius: 5px;
    width: 100%;
    color: #000
}

@media only screen and (min-width:544px) {
    .wpcf7-submit {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wpcf7-submit {
        font-size: 1.6rem
    }
}

.wpcf7cp-cfm-edit-btn {
    border: 1px solid #5f5f5f;
    background: #5f5f5f;
    margin: 5px 0;
    padding: 25px 0;
    border-radius: 5px;
    width: 100%;
    color: #fff
}

#restaurant .page_section__inner__right .page_h2__group__not_en {
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    #restaurant .page_section__inner__right .page_h2__group__not_en {
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    #restaurant .page_section__inner__right .page_h2__group__not_en {
        margin: 10rem 0 5.5rem
    }
}

#restaurant nav.page_index_nav02 ul li a {
    display: block;
    color: #fff;
    padding: 7rem 4rem 0;
    position: relative
}

#restaurant nav.page_index_nav02 ul li .page_index_nav__title {
    line-height: 1.7
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 ul li .page_index_nav__title {
        line-height: 1.3
    }
}

#restaurant nav.page_index_nav02 ul li .text {
    display: none
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 ul li .text {
        display: block
    }
}

#restaurant nav.page_index_nav02 ul li .thumb {
    margin: 0 !important
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 ul li .thumb {
        margin: 5rem 0 0 !important
    }
}

#restaurant nav.page_index_nav02 ul li:first-child a {
    display: block;
    color: #fff;
    padding: 2.5rem 1.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    #restaurant nav.page_index_nav02 ul li:first-child a {
        padding: 5rem 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 ul li:first-child a {
        padding: 7rem 4rem 0
    }
}

#restaurant nav.page_index_nav02 ul li:last-child a {
    display: block;
    color: #fff;
    padding: 2.5rem 0 0 1.5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    #restaurant nav.page_index_nav02 ul li:last-child a {
        padding: 5rem 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 ul li:last-child a {
        padding: 7rem 4rem 0
    }
}

#restaurant nav.page_index_nav02 {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    #restaurant nav.page_index_nav02 {
        margin: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    #restaurant nav.page_index_nav02 {
        margin: 0 0 10.5rem
    }
}

.event_holiday {
    display: none
}

.fc .fc-non-business {
    background: 0 0;
    opacity: 1
}

td.fc-day:has(.event_holiday) {
    background: #4b4b4b;
    opacity: 1
}

td.fc-day-sat {
    background: #4b4b4b;
    opacity: 1
}

td.fc-day-sun {
    background: #4b4b4b;
    opacity: 1
}

.fc-daygrid-dot-event.fc-event-mirror,
.fc-daygrid-dot-event:hover {
    background: rgba(0, 0, 0, 0);
    cursor: unset
}

.fc-h-event {
    background: #333;
    border: none
}

.fc .fc-button-primary {
    background: #4b4b4b;
    border: none
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    background: #5b5b5b
}

.fc .fc-button-primary:hover {
    background: #5b5b5b
}

.fc .fc-button-primary:disabled {
    background: #4b4b4b
}

.fc-daygrid-event-dot {
    display: none
}

.fc-event.fc-event-draggable,
.fc-event[href] {
    cursor: unset
}

.fc .fc-cell-shaded,
.fc .fc-day-disabled {
    background: 0 0
}

.fc-direction-ltr .fc-daygrid-event.fc-event-end,
.fc-direction-rtl .fc-daygrid-event.fc-event-start {
    flex-flow: wrap;
    line-height: 1.2
}

.fc-h-event .fc-event-title {
    white-space: break-spaces
}

.fc-daygrid-dot-event .fc-event-title {
    font-weight: 400
}

.fc-theme-standard .fc-scrollgrid {
    border: 1px solid rgba(255, 255, 255, .1)
}

.fc-theme-standard td,
.fc-theme-standard th {
    border: 1px solid rgba(255, 255, 255, .1)
}

#calendar {
    min-width: 600px;
    position: relative
}

.fc-icon {
    line-height: .7
}

.fc .fc-toolbar-title {
    font-size: 1.6em
}

.calendar-adjust {
    z-index: 100;
    top: 72px;
    position: absolute;
    width: 100%;
    height: calc(100% - 72px)
}

.fc .fc-view-harness {
    z-index: -1
}

.caution_list_top .m-underline {
    text-decoration: underline
}

body.wedding_body {
    background: url(../image/wedding_bg_sp.png) 0 0 repeat;
    color: #333;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    body.wedding_body {
        background-size: auto
    }
}

@media only screen and (min-width:1024px) {
    body.wedding_body {
        background: url(../image/wedding_bg.png) 0 0 repeat
    }
}

ul#wedding__bg_slide {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    z-index: 1;
    overflow: hidden;
    pointer-events: none;
    translate: 0 25%
}

ul#wedding__bg_slide.wedding__bg_slide-gold {
    translate: 0 0
}

ul#wedding__bg_slide li {
    animation: loop-slide 100s infinite linear 1s both;
    width: 120vw
}

@media only screen and (min-width:544px) {
    ul#wedding__bg_slide li {
        width: 100vw;
        animation: loop-slide 150s infinite linear 1s both
    }
}

@media only screen and (min-width:1024px) {
    ul#wedding__bg_slide li {
        top: 21%;
        width: 200rem
    }
}

@media only screen and (min-width:1024px) {
    ul#wedding__bg_slide li {
        width: 60vw;
        top: 42%
    }
}

ul#wedding__bg_slide img {
    width: calc(100vw + 4rem);
    height: auto
}

@media only screen and (min-width:544px) {
    ul#wedding__bg_slide img {
        width: 80vw
    }
}

@media only screen and (min-width:1024px) {
    ul#wedding__bg_slide img {
        width: 69rem
    }
}

.bg_white {
    background: #fff
}

.wedding_white_bg {
    /* background: #fff; */
    margin: 0 auto;
    width: calc(100% - 3rem)
}

@media only screen and (min-width:544px) {
    .wedding_white_bg {
        width: calc(100% - 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg {
        width: calc(100% - 4rem)
    }
}

.wedding_white_bg.wedding_white_bg__index {
    border-radius: .5rem .5rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg.wedding_white_bg__index {
        border-radius: 1rem 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.wedding_white_bg__index {
        border-radius: 0
    }
}

.wedding_white_bg.wedding_white_bg__page {
    /* background: #fff; */
    width: 100%
}

@media only screen and (min-width:544px) {
    .wedding_white_bg.wedding_white_bg__page {
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.wedding_white_bg__page {
        width: 100%;
    }
}

.wedding_section {
    padding: 9.5rem 0 10rem
}

@media only screen and (min-width:544px) {
    .wedding_section {
        padding: 19rem 0 20rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_section {
        padding: 14rem 0
    }
}

.wedding_index_logo_area {
    padding: 12rem 0 3.5rem !important
}

@media only screen and (min-width:544px) {
    .wedding_index_logo_area {
        padding: 24rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_logo_area {
        padding: 9.5rem 0 5rem
    }
}

.wedding_index_logo_area img.black_logo {
    display: block;
    margin: 0 auto 1rem auto;
    width: 3.2rem
}

@media only screen and (min-width:544px) {
    .wedding_index_logo_area img.black_logo {
        width: 6.4rem;
        margin: 0 auto 2rem auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_logo_area img.black_logo {
        width: 4rem;
        margin: 0 auto 2rem auto
    }
}

.wedding_index_logo_area span.en_title {
    text-align: center;
    display: block;
    color: #8e7823;
    font-family: philosopher, sans-serif;
    font-size: 1.4rem;
    letter-spacing: .05rem
}

@media only screen and (min-width:544px) {
    .wedding_index_logo_area span.en_title {
        font-size: 2.8rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_logo_area span.en_title {
        font-size: 1.3rem;
        letter-spacing: 0
    }
}

.wedding_index_slider__wrap {
    overflow: hidden;
    background: #fff;
    width: calc(100% - 3rem);
    margin: 0 auto;
    position: relative;
    padding-top: 6.25rem
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap {
        width: calc(100% - 6rem);
        padding-top: 12.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap {
        width: 100%;
        padding-top: 0
    }
}

.wedding_index_slider__wrap ul#wedding__bg_slide {
    bottom: auto;
    top: 0
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap ul#wedding__bg_slide {
        display: none
    }
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap ul#wedding__bg_slide img {
        width: 90vw
    }
}

.wedding_index_slider__wrap li {
    width: 70vw
}

.wedding_index_slider__wrap img.wedding_slider_bg {
    width: 101vw;
    display: block
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap img.wedding_slider_bg {
        display: none
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider {
    margin: 0 auto;
    overflow: visible;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1);
    width: 26.5rem
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap .wedding_swiper_slider {
        width: 53rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap .wedding_swiper_slider {
        width: 80rem
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__pc {
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__pc {
        display: block
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp {
    display: block
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp {
        display: none
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block {
    position: relative;
    width: 4.5rem;
    margin: .5rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block {
        width: 8rem;
        margin: 1rem 0 0
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
    bottom: 0;
    position: relative;
    text-align: left;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    display: flex;
    justify-content: space-between;
    font-family: philosopher, sans-serif;
    font-size: .9rem
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
        display: flex;
        font-size: 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
        display: none
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination .swiper-pagination-current {
    color: #8e7823
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination .swiper-pagination-total {
    color: #333;
    opacity: .5
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 40%;
    background: #fff;
    z-index: 1;
    display: block
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar {
    position: absolute;
    width: 1.5rem;
    height: 1px;
    background: rgba(51, 51, 51, .1);
    overflow: hidden;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar {
        width: 3rem;
        height: 2px
    }
}

.wedding_index_slider__wrap .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar span {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    transform-origin: left center;
    background: #8e7823;
    transform: scaleX(0);
    transition-timing-function: linear;
    z-index: 10
}

.wedding_index_slider__wrap .swiper-wrapper {
    transition-timing-function: linear !important
}

.wedding_white_bg__top {
    padding: 9.5rem 0 13.5rem;
    position: relative;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .wedding_white_bg__top {
        padding: 19rem 0 27rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg__top {
        padding: 10rem 0 15rem
    }
}

.wedding_white_bg__top img.messege_bg_img {
    position: absolute;
    bottom: -1.9rem;
    width: calc(100% + 4rem);
    left: -2rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg__top img.messege_bg_img {
        width: calc(100% + 6rem);
        left: -3rem;
        bottom: -3.8rem;
        transform: translateX(0%)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg__top img.messege_bg_img {
        width: 69rem;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%)
    }
}

.wedding_index_message {
    position: relative
}

@media only screen and (min-width:544px) {
    .wedding_index_message {
        display: block;
        height: auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_message {
        display: flex;
        height: 28rem
    }
}

.wedding_index_message:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_index_message:after {
        display: block
    }
}

.wedding_index_message .wedding_index_message__right {
    order: 2;
    margin: 0 0 2.75rem;
    display: flex
}

@media only screen and (min-width:544px) {
    .wedding_index_message .wedding_index_message__right {
        width: 100%;
        padding: 0;
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_message .wedding_index_message__right {
        width: 50%;
        padding: 0 0 0 6rem;
        margin: 0
    }
}

.wedding_index_message .wedding_index_message__right h1 {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: ryo-display-plusn, serif;
    margin: 0 auto;
    font-weight: 400;
    font-size: 2.1rem;
    letter-spacing: .4rem;
    font-feature-settings: normal;
    white-space: nowrap
}

.wedding_index_message .wedding_index_message__right h1:before,
.wedding_index_message .wedding_index_message__right h1:after {
    content: "";
    display: block;
    width: 0;
    height: 0
}

.wedding_index_message .wedding_index_message__right h1:before {
    margin-top: calc((1 - 2.2)*0.5em)
}

.wedding_index_message .wedding_index_message__right h1:after {
    margin-bottom: calc((1 - 2.2)*0.5em)
}

@media only screen and (min-width:544px) {
    .wedding_index_message .wedding_index_message__right h1 {
        display: block;
        margin: 0 auto;
        font-size: 4.2rem;
        line-height: 1.8;
        letter-spacing: .8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_message .wedding_index_message__right h1 {
        display: inline-block;
        margin: 0;
        font-size: 2.2rem;
        line-height: 2.2;
        letter-spacing: .4rem
    }
}

.wedding_index_message .wedding_index_message__left {
    order: 1;
    padding: 0
}

@media only screen and (min-width:544px) {
    .wedding_index_message .wedding_index_message__left {
        width: 100%;
        padding: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_message .wedding_index_message__left {
        display: flex;
        width: 50%;
        padding: 0 6.3rem 0 0
    }
}

.wedding_index_message .wedding_index_message__left p {
    font-family: ryo-display-plusn, serif;
    display: block;
    margin: 0 0 0 auto;
    line-height: 1.8;
    font-size: 1.3rem;
    text-align: center;
    font-feature-settings: normal
}

.wedding_index_message .wedding_index_message__left p:before,
.wedding_index_message .wedding_index_message__left p:after {
    content: "";
    display: block;
    width: 0;
    height: 0
}

.wedding_index_message .wedding_index_message__left p:before {
    margin-top: calc((1 - 1.8)*0.5em)
}

.wedding_index_message .wedding_index_message__left p:after {
    margin-bottom: calc((1 - 1.8)*0.5em)
}

@media only screen and (min-width:544px) {
    .wedding_index_message .wedding_index_message__left p {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        text-align: center;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_message .wedding_index_message__left p {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        text-align: left;
        font-size: 1.4rem
    }
}

.text_center_wrap {
    text-align: center
}

h2.wedding_index_h2 {
    position: relative;
    display: inline-block;
    font-weight: 400;
    font-family: ryo-display-plusn, serif;
    color: #000;
    line-height: .9;
    letter-spacing: .24rem;
    font-size: 2.1rem;
    padding: 0;
    text-align: center;
    margin: 0 auto 4rem auto
}

@media only screen and (min-width:544px) {
    h2.wedding_index_h2 {
        font-size: 4.2rem;
        line-height: .9;
        margin: 0 auto 8rem auto
    }
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_h2 {
        font-size: 3rem;
        border-left: transparent;
        line-height: 1;
        margin: 0 auto 5rem auto
    }
}

h2.wedding_index_h2 a {
    pointer-events: none
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_h2 a {
        pointer-events: auto
    }
}

h2.wedding_index_h2 a span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_h2 a span:after {
        display: block
    }
}

h2.wedding_index_h2 a span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_h2 a span:before {
        display: block
    }
}

@media (min-width:768px) {
    h2.wedding_index_h2 a:hover span:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    h2.wedding_index_h2 a:hover span:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

h2.wedding_index_h2 small {
    font-family: philosopher, sans-serif;
    display: block;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: .08rem;
    margin: 0 0 .9rem
}

@media only screen and (min-width:544px) {
    h2.wedding_index_h2 small {
        font-size: 2.2rem;
        margin: 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_h2 small {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

h2.wedding_index_h2__bottom {
    margin: 0 auto 2.5rem auto
}

.home_fair_slider__body {
    width: 100%;
    overflow: hidden;
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .home_fair_slider__body {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .home_fair_slider__body {
        margin: 0 0 6rem
    }
}

.wedding_fair_slider {
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1);
    width: 29.5rem
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider {
        width: 59rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider {
        width: 110rem
    }
}

.wedding_fair_slider a.event-swiper-button-prev {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -100%
}

.wedding_fair_slider a.event-swiper-button-prev:after {
    display: none
}

.wedding_fair_slider a.event-swiper-button-next {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.wedding_fair_slider a.event-swiper-button-next:after {
    display: none
}

.wedding_fair_slider .event-slide-wrapper {
    width: 50%
}

.wedding_fair_slider .event-slide-wrapper .event-slide {
    min-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0
}

.wedding_fair_slider .event-slide-wrapper .event-slide:before {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    height: 100%;
    opacity: .2;
    width: .9px;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide:before {
        top: 2px;
        opacity: .4;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px)
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: .2rem .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide:after {
        opacity: .4;
        background-size: .3rem 1px;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block {
    position: relative
}

.wedding_fair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block:before {
        opacity: .4;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px)
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    border-radius: .5rem;
    position: relative;
    background: 0 0;
    padding: 2rem 2rem 0;
    display: block;
    mix-blend-mode: multiply;
    min-height: 28rem
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0;
        min-height: 55rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem;
        min-height: auto
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/fair_slide_bg.png) center center no-repeat;
    background-size: cover;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1;
    display: none
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
        display: block
    }
}

@media (min-width:768px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    height: 12rem;
    margin: 0 0 1.5rem;
    border-radius: .25rem;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        height: 24rem;
        border-radius: .5rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        height: 22.8rem;
        margin: 0 0 2.1rem
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom {
    width: 100%;
    position: relative;
    z-index: 10
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    letter-spacing: .16rem;
    position: relative;
    border-bottom: .9px solid #333;
    line-height: 1.4
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: inline;
        margin: 0;
        font-size: 3.4rem;
        line-height: 1.3;
        border-bottom: 1px solid #333
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: block;
        margin: 0 0 1rem;
        font-size: 1.8rem;
        line-height: 1.6;
        border-bottom: transparent
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
    font-size: 1.1rem;
    display: block;
    color: #333;
    margin: 0 0 .5rem;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        font-size: 2.2rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        margin: 0 0 1rem;
        font-size: 1.2rem
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    letter-spacing: .15rem;
    display: block;
    margin: 1rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
        margin: 3rem 0 0;
        line-height: 1
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
        margin: 0;
        line-height: 1.8
    }
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
    display: inline-block;
    color: rgba(0, 0, 0, .6);
    white-space: nowrap;
    font-size: 1rem;
    background: #fff;
    line-height: 1;
    padding: .4rem .5rem;
    border-radius: .2rem;
    letter-spacing: 0;
    margin: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    padding: .25rem .3rem;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
        font-size: 2rem;
        color: rgba(0, 0, 0, .6);
        border-radius: .4rem;
        border: 1px solid #ccc;
        padding: .5rem .6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
        font-size: 1rem;
        color: #333;
        border-radius: .2rem;
        border: 1px solid #fff;
        padding: .4rem .5rem
    }
}

@media (min-width:768px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon:hover {
        border: transparent;
        transition: 0s
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon:hover {
        border: 1px solid #8e7823;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

@media (min-width:768px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover .thumb img {
        transform: scale(1, 1);
        transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover .thumb img {
        transform: scale(1.03, 1.03)
    }
}

a.wedding_circle_link_btn {
    width: 12.5rem;
    height: 12.5rem;
    border-radius: 50%;
    position: relative;
    margin: 0 auto 4rem auto;
    display: block
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn {
        width: 25rem;
        height: 25rem;
        margin: 0 auto 8rem auto
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn {
        width: 14rem;
        height: 14rem;
        margin: 0 auto 10rem auto
    }
}

a.wedding_circle_link_btn .circle {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .05);
    background-size: 100% auto;
    border-radius: 50%;
    transition: all .4s ease-out;
    opacity: 1;
    background: #fff;
    width: 12.5rem;
    height: 12.5rem
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn .circle {
        width: 25rem;
        height: 25rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn .circle {
        width: 14rem;
        height: 14rem
    }
}

a.wedding_circle_link_btn .circle:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/about_link_btn__hovBg.png) center center no-repeat;
    background-size: cover;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

a.wedding_circle_link_btn:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    opacity: 1;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 125 125' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='62.5' cy='62.5' r='62.5' stroke='%23999' stroke-width='1.1' paint-order='stroke' stroke-dasharray='0.1 3.1' stroke-linecap='round' fill='transparent' /></svg>");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 100;
    width: 12.5rem;
    height: 12.5rem
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn:before {
        width: 25rem;
        height: 25rem;
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 250 250' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='125' cy='125' r='125' stroke='%23808080' stroke-width='2px' paint-order='stroke' stroke-dasharray='0.01 6' stroke-linecap='round' fill='transparent' /></svg>")
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn:before {
        width: 14rem;
        height: 14rem;
        background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 140 140' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='70' cy='70' r='70' stroke='%23999' stroke-width='1' paint-order='stroke' stroke-dasharray='0 3.5' stroke-linecap='round' fill='transparent' /></svg>")
    }
}

a.wedding_circle_link_btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background: #8e7823;
    z-index: 1;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    width: 12.55rem;
    height: 12.55rem;
    display: none
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn:after {
        width: 25.1rem;
        height: 25.1rem;
        display: block
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn:after {
        width: 15rem;
        height: 15rem
    }
}

a.wedding_circle_link_btn .text {
    position: absolute;
    color: #333;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    white-space: nowrap;
    z-index: 10;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

a.wedding_circle_link_btn .text span.vertical {
    display: block;
    margin: 0 0 .9rem;
    line-height: 1;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: .08rem;
    font-size: 1.2rem;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn .text span.vertical {
        font-size: 2.4rem;
        margin: 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn .text span.vertical {
        font-size: 1.4rem;
        margin: 0 0 1rem
    }
}

a.wedding_circle_link_btn .text span.arrow {
    display: block;
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    margin: 0 auto;
    position: relative;
    overflow: visible;
    z-index: 10;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn .text span.arrow {
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn .text span.arrow {
        width: 3rem;
        height: 3rem
    }
}

a.wedding_circle_link_btn .text span.arrow:after {
    content: "";
    z-index: -2;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 50%;
    background: #8e7823;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn .text span.arrow:after {
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn .text span.arrow:after {
        width: 3rem;
        height: 3rem
    }
}

a.wedding_circle_link_btn .text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

a.wedding_circle_link_btn .text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    a.wedding_circle_link_btn .text span.arrow svg {
        width: 2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_circle_link_btn .text span.arrow svg {
        width: 1.2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

a.wedding_circle_link_btn .text span.arrow svg use {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    fill: #fff
}

@media (min-width:768px) {
    a.wedding_circle_link_btn:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1;
        width: 12rem;
        height: 12rem
    }

    a.wedding_circle_link_btn:hover .text {
        color: #333;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    a.wedding_circle_link_btn:hover .text span.arrow:after {
        width: 100%;
        height: 100%;
        transition: 0s cubic-bezier(.26, .06, 0, 1)
    }

    a.wedding_circle_link_btn:hover .text span.arrow:before {
        display: none
    }

    a.wedding_circle_link_btn:hover .text span.arrow svg use {
        fill: #fff;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.wedding_circle_link_btn:hover:after {
        width: 24rem;
        height: 24rem
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    a.wedding_circle_link_btn:hover:after {
        width: 13.2rem;
        height: 13.2rem
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.wedding_circle_link_btn:hover .text {
        color: #fff
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.wedding_circle_link_btn:hover .text span.arrow:after {
        width: 0;
        height: 0;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.wedding_circle_link_btn:hover .text span.arrow:before {
        display: block;
        width: 100%;
        padding-bottom: 100%;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.wedding_circle_link_btn:hover .text span.arrow svg use {
        fill: #8e7823
    }
}

.wedding_corona_info__wrap {
    width: 100%;
    overflow: hidden;
    padding-right: 3rem;
    padding-left: 3rem;
    margin: 12rem auto 0
}

@media only screen and (min-width:544px) {
    .wedding_corona_info__wrap {
        padding-right: 6rem;
        padding-left: 6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_corona_info__wrap {
        padding-right: 3rem;
        padding-left: 3rem;
        max-width: 110rem
    }
}

a.wedding_corona_info {
    position: relative;
    padding: 4rem 0;
    display: block;
    width: 100%
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info {
        padding: 8rem 0
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info {
        padding: 6rem 0 5rem
    }
}

a.wedding_corona_info .areaBackground {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: url(../image/wedding_corona_info__bg.png) center center;
    background-size: cover;
    top: 0;
    left: 0;
    -webkit-transition: all .6s cubic-bezier(.43, .05, .17, 1);
    transition: all .6s cubic-bezier(.43, .05, .17, 1);
    z-index: -2;
    opacity: 0;
    display: none
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info .areaBackground {
        display: block
    }
}

a.wedding_corona_info span.corona_info__head {
    display: block;
    font-family: ryo-display-plusn, serif;
    text-align: center;
    color: #2d2928;
    font-size: 2rem;
    letter-spacing: .32rem;
    font-weight: 600;
    line-height: 1
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info span.corona_info__head {
        font-size: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info span.corona_info__head {
        font-size: 2rem
    }
}

a.wedding_corona_info span.corona_info__text {
    text-align: center;
    display: block;
    color: #333;
    margin: 1.5rem 0;
    opacity: .5
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info span.corona_info__text {
        margin: 1.5rem 0
    }
}

a.wedding_corona_info:before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    background: linear-gradient(90deg, rgba(0, 0, 0, .1) 5%, rgba(0, 0, 0, .1) 50%, rgba(0, 0, 0, .1) 95%);
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    opacity: 1
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info:before {
        width: 98rem;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, .08) 50%, rgba(0, 0, 0, 0) 95%)
    }
}

a.wedding_corona_info:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #fff;
    background: linear-gradient(90deg, rgba(0, 0, 0, .1) 5%, rgba(0, 0, 0, .1) 50%, rgba(0, 0, 0, .1) 95%);
    bottom: 0;
    left: 50%;
    opacity: 1;
    transform: translateX(-50%)
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info:after {
        width: 98rem;
        background: linear-gradient(90deg, rgba(0, 0, 0, 0) 5%, rgba(0, 0, 0, .08) 50%, rgba(0, 0, 0, 0) 95%)
    }
}

a.wedding_corona_info span.arrow {
    display: block;
    width: 2rem;
    height: 2rem;
    background: #8e7823 !important;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0)
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info span.arrow {
        width: 4rem;
        height: 4rem;
        background: url(../image/about_link_btn__hovBg.png) center center no-repeat !important
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info span.arrow {
        background: url(../image/about_link_btn__hovBg.png) center center no-repeat !important;
        width: 3rem;
        height: 3rem
    }
}

a.wedding_corona_info span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1);
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    display: none
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info span.arrow:before {
        display: block
    }
}

a.wedding_corona_info span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    a.wedding_corona_info span.arrow svg {
        width: 2rem
    }
}

@media only screen and (min-width:1024px) {
    a.wedding_corona_info span.arrow svg {
        width: 1.2rem
    }
}

a.wedding_corona_info span.arrow svg use {
    fill: #fff;
    -webkit-transition: all .4s cubic-bezier(.43, .05, .17, 1);
    transition: all .4s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    a.wedding_corona_info:hover .areaBackground {
        -webkit-transition: all .6s cubic-bezier(.43, .05, .17, 1);
        transition: all .6s cubic-bezier(.43, .05, .17, 1);
        opacity: 1
    }
}

.wedding_section__feature {
    padding: 10rem 0 9rem
}

@media only screen and (min-width:544px) {
    .wedding_section__feature {
        padding: 20rem 0 18rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_section__feature {
        padding: 14rem 0
    }
}

.wedding_index_feature_area {
    width: calc(100% - 4rem);
    margin: 0 auto 4rem auto;
    background: #000
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area {
        display: block;
        border-radius: 0;
        width: calc(100% - 6rem);
        margin: 0 auto 8rem auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area {
        display: flex;
        border-radius: .5rem;
        width: calc(100% - 4rem);
        margin: 0 auto 6rem auto
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block {
    display: block;
    position: relative;
    overflow: hidden;
    padding: 6.35rem 0 7.35rem
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block {
        width: 100%;
        padding: 12.7rem 0 14.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block {
        width: 33.3333%;
        padding: 7.5rem 0
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text {
    min-height: auto;
    position: relative;
    color: #fff;
    top: 0;
    left: 50%;
    transform: translate(-50%, 1.25rem);
    display: block;
    height: 100%;
    z-index: 100;
    text-align: center
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text {
        min-height: auto;
        text-align: center;
        transform: translate(-50%, 2.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text {
        min-height: 34rem;
        text-align: left;
        transform: translate(-50%, 0)
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.vertical {
    font-family: ryo-display-plusn, serif;
    line-height: 1;
    position: relative;
    letter-spacing: .08rem;
    font-size: 1.6rem;
    pointer-events: none;
    margin: 0 auto 1.75rem auto;
    display: inline-block;
    font-feature-settings: normal !important
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.vertical {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb;
        left: 0;
        transform: translateX(0%);
        text-align: center;
        margin: 0 auto 3.5rem auto;
        display: inline-block;
        font-size: 3.2rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.vertical {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        left: 50%;
        transform: translateX(-50%);
        text-align: left;
        margin: 0;
        display: block;
        font-size: 2.2rem
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.vertical:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: block
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.vertical:after {
        display: none
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow {
    display: block;
    width: 2rem;
    height: 2rem;
    border: .9px solid rgba(255, 255, 255, .7);
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: relative;
    background: rgba(255, 255, 255, 0);
    overflow: hidden;
    bottom: 0;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow {
        background: rgba(255, 255, 255, .1);
        width: 4rem;
        height: 4rem;
        border: 1px solid #fff;
        position: relative;
        transform: translateX(0%);
        left: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow {
        width: 3rem;
        height: 3rem;
        border: 1px solid #fff;
        position: absolute;
        transform: translateX(-50%);
        left: 50%
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #8e7823;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow svg {
        width: 2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow svg {
        width: 1.2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

.wedding_index_feature_area a.wedding_index_feature_area__block .text span.arrow svg use {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    fill: #fff
}

@media (min-width:768px) {
    .wedding_index_feature_area a.wedding_index_feature_area__block:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .wedding_index_feature_area a.wedding_index_feature_area__block:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

.wedding_index_feature_area .wedding_index_feature_area__block01 {
    border-radius: 0
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area .wedding_index_feature_area__block01 {
        border-radius: .5rem 0 0 .5rem
    }
}

.wedding_index_feature_area .wedding_index_feature_area__block01:after {
    border-radius: 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/feature_bg01.jpg) center center no-repeat;
    background-size: cover;
    opacity: .4;
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1)
}

@media only screen and (min-width:1024px) {
    .wedding_index_feature_area .wedding_index_feature_area__block01:after {
        border-radius: .5rem 0 0 .5rem
    }
}

@media (min-width:768px) {
    .wedding_index_feature_area .wedding_index_feature_area__block01:hover:after {
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: .4;
        -moz-transform: scale(1);
        -webkit-transform: scale(1);
        -ms-transform: scale(1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_feature_area .wedding_index_feature_area__block01:hover:after {
        opacity: .2;
        -moz-transform: scale(1.03);
        -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03)
    }
}

.wedding_index_feature_area .wedding_index_feature_area__block02 {
    background-size: cover
}

.wedding_index_feature_area .wedding_index_feature_area__block02:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/feature_bg02.jpg) center center no-repeat;
    background-size: cover;
    opacity: .4;
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1)
}

@media (min-width:768px) {
    .wedding_index_feature_area .wedding_index_feature_area__block02:hover:after {
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: .4;
        -moz-transform: scale(1);
        -webkit-transform: scale(1);
        -ms-transform: scale(1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_feature_area .wedding_index_feature_area__block02:hover:after {
        opacity: .2;
        -moz-transform: scale(1.03);
        -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03)
    }
}

.wedding_index_feature_area .wedding_index_feature_area__block03 {
    border-radius: 0 .5rem .5rem 0
}

.wedding_index_feature_area .wedding_index_feature_area__block03:after {
    border-radius: 0 .5rem .5rem 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/feature_bg03.jpg) center center no-repeat;
    background-size: cover;
    opacity: .4;
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    -ms-transform: scale(1)
}

@media (min-width:768px) {
    .wedding_index_feature_area .wedding_index_feature_area__block03:hover:after {
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: .4;
        -moz-transform: scale(1);
        -webkit-transform: scale(1);
        -ms-transform: scale(1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_feature_area .wedding_index_feature_area__block03:hover:after {
        opacity: .2;
        -moz-transform: scale(1.03);
        -webkit-transform: scale(1.03);
        -ms-transform: scale(1.03)
    }
}

.wedding_circle_link_btn__feature {
    margin-bottom: 2rem !important
}

.vertical_h2_wrap {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb
}

@media only screen and (min-width:544px) {
    .vertical_h2_wrap {
        -ms-writing-mode: lr-tb;
        writing-mode: horizontal-tb
    }
}

@media only screen and (min-width:1024px) {
    .vertical_h2_wrap {
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl
    }
}

.vertical_h2_wrap .wedding_index_h2 {
    text-align: left;
    margin: 0
}

@media only screen and (min-width:544px) {
    .vertical_h2_wrap .wedding_index_h2 {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .vertical_h2_wrap .wedding_index_h2 {
        margin: 0 0 0 3rem
    }
}

.vertical_h2_wrap .wedding_index_h2 small {
    margin: 0 0 .75rem
}

@media only screen and (min-width:544px) {
    .vertical_h2_wrap .wedding_index_h2 small {
        margin: 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .vertical_h2_wrap .wedding_index_h2 small {
        margin: 0 0 0 1rem
    }
}

.vertical_h2_wrap .wedding_index_h2:after {
    display: none
}

.vertical_h2_wrap p {
    margin: 1.5rem 0 3.5rem;
    font-feature-settings: normal
}

@media only screen and (min-width:544px) {
    .vertical_h2_wrap p {
        margin: 3rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .vertical_h2_wrap p {
        margin: 0
    }
}

.wedding_index_plan {
    display: block;
    flex-wrap: wrap;
    justify-content: space-between
}

@media only screen and (min-width:1024px) {
    .wedding_index_plan {
        display: flex
    }
}

.wedding_index_plan .wedding_index_plan__right {
    order: 2
}

.wedding_index_plan .wedding_index_plan__right .vertical_h2_wrap {
    position: static;
    right: 0;
    top: 8rem
}

@media only screen and (min-width:1024px) {
    .wedding_index_plan .wedding_index_plan__right .vertical_h2_wrap {
        position: sticky
    }
}

.wedding_index_plan .wedding_index_plan__left {
    order: 1;
    width: 100%
}

@media only screen and (min-width:544px) {
    .wedding_index_plan .wedding_index_plan__left {
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_plan .wedding_index_plan__left {
        width: 90rem;
        position: static
    }
}

.wedding_index_plan .wedding_index_plan__left .link_btn__wrap__right__weding {
    width: 100%;
    display: block;
    transform: translateX(0)
}

nav.wedding_index_plan_nav {
    margin: 0
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list {
    display: block;
    flex-wrap: wrap;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list {
        display: flex
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list.wedding_index_plan_nav__list__top {
    margin: 0
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list.wedding_index_plan_nav__list__top {
        margin: 0 0 6rem
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list:before {
        display: block;
        width: 1px;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 3px
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li {
        width: 50%
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li:before {
        display: block;
        width: 1px;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 3px
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li:last-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li:last-child:after {
        display: block;
        width: 1px;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 3px
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a {
    color: #fff;
    padding: 3rem 0;
    display: flex
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a {
        padding: 6rem 0;
        display: flex
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a {
        padding: 5rem 4rem 0;
        display: block
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:before {
        left: 0;
        width: 100%;
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:before {
        left: 0;
        width: 100%
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/fair_slide_bg.png) center bottom no-repeat;
    background-size: cover;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1
}

@media (min-width:768px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 0
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:hover:after {
        opacity: 1
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text_block {
    width: calc(100% - 12rem);
    margin: -.45rem 0 0
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text_block {
        width: calc(100% - 24rem);
        margin: -.9rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text_block {
        width: auto;
        margin: 0
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__title {
    color: #333;
    font-weight: 700;
    letter-spacing: .05rem;
    display: inline-block;
    margin: 0 0 1rem;
    position: relative;
    z-index: 10;
    font-size: 1.5rem;
    line-height: 1.2;
    display: inline;
    border-bottom: 1px solid #333
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__title {
        font-size: 3rem;
        border-bottom: 1px solid #333;
        display: inline;
        line-height: 1.2;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__title {
        display: block;
        font-size: 1.6rem;
        border-bottom: transparent;
        line-height: 1.8;
        margin: 1.5rem 0 1rem
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text {
    font-size: 1.1rem;
    color: #333;
    display: block;
    z-index: 10;
    position: relative;
    line-height: 1.5;
    margin: .5rem 0 0
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text {
        font-size: 2.2rem;
        line-height: 1.5;
        margin: 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a span.page_index_nav__text {
        font-size: 1.2rem;
        line-height: 1.8;
        margin: 0
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a .thumb {
    will-change: transform;
    isolation: isolate;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 10;
    width: 10rem;
    height: 10rem;
    margin: 0 2rem 0 0;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a .thumb {
        width: 20rem;
        height: 20rem;
        margin: 0 4rem 0 0;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a .thumb {
        width: auto;
        height: auto;
        margin: 0
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1)
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a .thumb img {
        width: 100%;
        height: 17.8rem
    }
}

@media (min-width:768px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:hover .thumb img {
        transition: 0s;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list li a:hover .thumb img {
        transition: .6s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03)
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom {
    position: relative;
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom {
        margin: 0 0 5rem
    }
}

nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10;
    display: block !important
}

@media only screen and (min-width:544px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom:after {
        left: 0;
        width: 100%;
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_plan_nav ul.wedding_index_plan_nav__list__bottom:after {
        left: 0;
        width: 100%;
        display: none !important
    }
}

.bg_white_link_btn__bgwhite {
    position: relative;
    border: 1px solid rgba(0, 0, 0, 0);
    background: #fff;
    padding: .2rem 3rem .3rem 1rem
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn__bgwhite {
        padding: .4rem 4.8rem .6rem 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn__bgwhite {
        padding: .8rem 4.8rem .8rem 1.8rem
    }
}

.bg_white_link_btn__bgwhite img.border_dotted {
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
    height: calc(100% + .3rem);
    width: calc(100% + .3rem);
    border-radius: 0 !important;
    opacity: 1;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.bg_white_link_btn__bgwhite img.border_dotted.sp_img_tab {
    display: none
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn__bgwhite img.border_dotted.sp_img_tab {
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn__bgwhite img.border_dotted.sp_img_tab {
        display: none
    }
}

.bg_white_link_btn__bgwhite img.border_dotted.sp_img_min {
    display: block
}

@media only screen and (min-width:544px) {
    .bg_white_link_btn__bgwhite img.border_dotted.sp_img_min {
        display: none
    }
}

@media only screen and (min-width:1024px) {
    .bg_white_link_btn__bgwhite img.border_dotted.sp_img_min {
        display: none
    }
}

@media (min-width:768px) {
    .bg_white_link_btn__bgwhite:hover img.border_dotted {
        opacity: 1;
        transition: 0s
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .bg_white_link_btn__bgwhite:hover img.border_dotted {
        opacity: 0;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.wedding_index_ceremony_section {
    padding: 0
}

@media only screen and (min-width:1024px) {
    .wedding_index_ceremony_section {
        padding: 0 0 15rem
    }
}

.wedding_index_ceremony_img {
    margin: 0 0 2.5rem;
    background: url(../image/ceremony_img.jpg) center 0 no-repeat;
    background-size: auto 125%;
    height: 26.5rem;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .wedding_index_ceremony_img {
        height: 53rem;
        margin: 0 0 5rem;
        background-size: auto 125%
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_ceremony_img {
        height: 70rem;
        margin: 0 0 5rem;
        background-size: auto 140%
    }
}

.wedding_index_ceremony_img .sp_parallax {
    position: relative
}

.wedding_index_ceremony_img .sp_parallax img {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    object-fit: cover;
    object-position: center
}

.ceremony_h2__bottom {
    margin: 0 0 4.5rem
}

a.ceremony_reception_link_block {
    margin-bottom: 5rem
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block {
        margin-bottom: 9rem;
        display: block
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block {
        margin-bottom: 0;
        display: inline-block
    }
}

a.ceremony_reception_link_block.ceremony_reception_link_block__bottom {
    margin-bottom: 0
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block.ceremony_reception_link_block__bottom {
        margin-bottom: 0 !important;
        display: block
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block.ceremony_reception_link_block__bottom {
        margin-bottom: 0;
        display: inline-block
    }
}

a.ceremony_reception_link_block .wedding_index_h2 {
    position: relative;
    display: inline-block;
    margin: 0 auto 5rem auto;
    font-weight: 400;
    font-family: ryo-display-plusn, serif;
    color: #000;
    line-height: .9;
    letter-spacing: .24rem;
    font-size: 2.1rem;
    padding: 0;
    text-align: center
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .wedding_index_h2 {
        font-size: 4.2rem;
        line-height: .9
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .wedding_index_h2 {
        font-size: 3rem;
        line-height: 1
    }
}

a.ceremony_reception_link_block .wedding_index_h2:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

a.ceremony_reception_link_block .wedding_index_h2:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

a.ceremony_reception_link_block .wedding_index_h2 small {
    display: block;
    font-family: philosopher, sans-serif;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: .08rem;
    margin: 0 0 .9rem
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .wedding_index_h2 small {
        font-size: 2.2rem;
        margin: 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .wedding_index_h2 small {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

a.ceremony_reception_link_block .wedding_index_h2__bottom {
    margin: 0 auto 1.5rem auto
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .wedding_index_h2__bottom {
        margin: 0 auto 3rem auto
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .wedding_index_h2__bottom {
        margin: 0 auto 2.5rem auto
    }
}

a.ceremony_reception_link_block .ceremony_h2__reception span.text {
    margin-bottom: 4.5rem;
    display: block
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .ceremony_h2__reception span.text {
        margin-bottom: 4rem
    }
}

a.ceremony_reception_link_block .wedding_circle_link_btn__ceremony {
    margin: 0 0 10rem
}

a.ceremony_reception_link_block .wedding_circle_link_btn {
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    position: relative;
    margin: 0 auto 10rem auto;
    display: none
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .wedding_circle_link_btn {
        display: block
    }
}

a.ceremony_reception_link_block .wedding_circle_link_btn .circle {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(255, 255, 255, .05);
    background-size: 100% auto;
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    transition: all .4s ease-out;
    opacity: 1;
    background: #fff
}

a.ceremony_reception_link_block .wedding_circle_link_btn .circle:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/about_link_btn__hovBg.png) center center no-repeat;
    background-size: cover;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

a.ceremony_reception_link_block .wedding_circle_link_btn:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 14rem;
    height: 14rem;
    border-radius: 50%;
    opacity: 1;
    background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 140 140' version='1.1' xmlns='http://www.w3.org/2000/svg'><circle cx='70' cy='70' r='70' stroke='%23999' stroke-width='1' paint-order='stroke' stroke-dasharray='0 3.5' stroke-linecap='round' fill='transparent' /></svg>");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    z-index: 100
}

a.ceremony_reception_link_block .wedding_circle_link_btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15rem;
    height: 15rem;
    border-radius: 50%;
    background: #8e7823;
    z-index: 1;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text {
    position: absolute;
    color: #333;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    white-space: nowrap;
    z-index: 10;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text span.vertical {
    display: block;
    margin: 0 0 1rem;
    line-height: 1;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    letter-spacing: .08rem;
    font-size: 1.4rem;
    pointer-events: none
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow {
    display: block;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    background: #8e7823;
    z-index: 10;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    border: 1px solid #8e7823
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1rem
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow svg {
        width: 2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow svg {
        width: 1.2rem;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

a.ceremony_reception_link_block .wedding_circle_link_btn .text span.arrow svg use {
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    fill: #fff
}

a.ceremony_reception_link_block .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    height: 21.5rem;
    position: relative;
    z-index: 10;
    margin: 0 0 2rem !important;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .thumb {
        height: 43rem;
        border-radius: .5rem;
        margin: 0 0 4rem !important
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .thumb {
        height: 34rem;
        border-radius: .5rem;
        margin: 0 0 4rem !important
    }
}

a.ceremony_reception_link_block .thumb img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1);
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    a.ceremony_reception_link_block .thumb img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    a.ceremony_reception_link_block .thumb img {
        border-radius: .5rem
    }
}

@media (min-width:768px) {
    a.ceremony_reception_link_block:hover .wedding_index_h2:after {
        transform-origin: right top;
        transform: scale(1, 1)
    }

    a.ceremony_reception_link_block:hover .wedding_index_h2:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(0, 1)
    }

    a.ceremony_reception_link_block:hover .wedding_circle_link_btn:after {
        width: 13.2rem;
        height: 13.2rem;
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }

    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text {
        color: #fff;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text span.arrow {
        border: 1px solid transparent;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text span.arrow:before {
        display: none
    }

    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text span.arrow svg use {
        fill: #fff;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    a.ceremony_reception_link_block:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.ceremony_reception_link_block:hover .wedding_index_h2:after {
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.ceremony_reception_link_block:hover .wedding_index_h2:before {
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text span.arrow:before {
        display: block;
        width: 110%;
        padding-bottom: 110%;
        transition: all .6s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.ceremony_reception_link_block:hover .wedding_circle_link_btn .text span.arrow svg use {
        fill: #C31111
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    a.ceremony_reception_link_block:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1.03, 1.03)
    }
}

nav.wedding_index_ceremony_nav {
    margin: 0;
    position: relative;
    padding: 1.5rem 0 4.25rem
}

@media only screen and (min-width:544px) {
    nav.wedding_index_ceremony_nav {
        padding: 3rem 0 14.5rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav {
        padding: 0
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list {
    display: block;
    flex-wrap: wrap;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list {
        display: flex
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li {
        width: 50%
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:first-child {
    padding: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:first-child {
        padding: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:first-child {
        padding: 0 5rem 0 0
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:last-child {
    padding: 0
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:last-child {
        padding: 0 0 0 5rem
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:last-child:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li:last-child:before {
        display: block;
        width: 1px;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 3px
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li p {
    font-size: 1.3rem;
    color: #333
}

@media only screen and (min-width:544px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li p {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li p {
        font-size: 1.2rem
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li small {
    font-family: philosopher, sans-serif;
    display: none;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: .08rem;
    margin: 0 0 .5rem;
    display: block
}

@media only screen and (min-width:544px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li small {
        font-size: 2.2rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li small {
        font-size: 1.2rem;
        margin: 0 0 1rem
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li .ceremony_h2 {
    margin: 0 0 4.5rem
}

@media only screen and (min-width:544px) {
    nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li .ceremony_h2 {
        margin: 0 0 3.5rem
    }
}

nav.wedding_index_ceremony_nav ul.wedding_index_plan_nav__list li .wedding_circle_link_btn {
    margin: 0 auto 0 auto
}

.wedding_index_pickup {
    padding: 10rem 0 9rem;
    background: 0 0;
    background-size: cover !important;
    background-attachment: fixed;
    position: relative
}

@media only screen and (min-width:544px) {
    .wedding_index_pickup {
        padding: 20rem 0 18rem;
        background: 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup {
        padding: 15rem 0;
        background: url(../image/wedding_index_pick_up_img.jpg) center center no-repeat;
        background-attachment: fixed
    }
}

.wedding_index_pickup:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 34rem;
    background: url(../image/wedding_index_pick_up_img__sp.png) center bottom no-repeat;
    background-size: cover
}

@media only screen and (min-width:544px) {
    .wedding_index_pickup:after {
        display: block;
        height: 67.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup:after {
        display: none
    }
}

.wedding_index_pickup h2 {
    position: relative;
    z-index: 10;
    color: #fff
}

.wedding_index_pickup h2:after {
    display: none
}

.wedding_index_pickup h2 small {
    color: #fff;
    opacity: .5
}

.wedding_index_pickup h2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 100%;
    background: #fff
}

.wedding_index_pickup h2.wedding_index_h2 {
    margin: 0 auto 3.5rem auto
}

@media only screen and (min-width:544px) {
    .wedding_index_pickup h2.wedding_index_h2 {
        margin: 0 auto 7rem auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup h2.wedding_index_h2 {
        margin: 0 auto 5rem auto
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list {
    display: block;
    justify-content: space-between;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list {
        display: flex
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li {
        margin: 0 0 7rem;
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li {
        margin: 0;
        width: calc(33.333% - 2.6rem)
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    position: relative;
    z-index: 10;
    margin: 0 0 1.5rem !important
}

@media only screen and (min-width:768px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .thumb {
        margin: 0 0 5.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .thumb {
        margin: 0 0 2rem !important
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .thumb img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap {
    display: block
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3 {
    position: relative;
    display: inline-block;
    margin: 0 auto .75rem auto;
    font-weight: 400;
    font-family: ryo-display-plusn, serif;
    line-height: .9;
    letter-spacing: .24rem;
    font-size: 1.6rem;
    padding: 0;
    text-align: center
}

@media only screen and (min-width:544px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3 {
        font-size: 3.2rem;
        line-height: .9;
        color: #333;
        margin: 0 auto 1.5rem auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3 {
        font-size: 1.6rem;
        line-height: 1;
        color: #fff;
        margin: 0 auto 1.5rem auto
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3:after {
        background: #fff
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text_center_wrap .wedding_index_h3:before {
        background: #fff
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text {
    color: #333;
    display: block
}

@media only screen and (min-width:1024px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a .text {
        color: #fff
    }
}

@media (min-width:768px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }

    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .wedding_index_h3:after {
        transform-origin: right top;
        transform: scale(1, 1)
    }

    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .wedding_index_h3:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .thumb img {
        transform: scale(1.03, 1.03)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .wedding_index_h3:after {
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_index_pickup ul.wedding_index_pickup_nav__list li a:hover .wedding_index_h3:before {
        transform: scale(1, 1)
    }
}

.wedding_index_pickup ul.wedding_index_pickup_nav__list li.last {
    margin-bottom: 0
}

h2.wedding_index_h2__left {
    text-align: left
}

.wedding_index_news_area {
    padding: 10rem 0 9.5rem !important
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area {
        padding: 20rem 0 19rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area {
        padding: 14rem 0 15rem !important
    }
}

.wedding_index_news_area h2.wedding_index_h2 {
    margin: 0 auto 4rem auto
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area h2.wedding_index_h2 {
        margin: 0 auto 8rem auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area h2.wedding_index_h2 {
        margin: 0 auto 5rem auto
    }
}

.wedding_index_news_area ul.index_news_list {
    width: calc(100% - 4rem);
    margin: 0 auto;
    padding: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area ul.index_news_list {
        width: calc(100% - 6rem);
        padding: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area ul.index_news_list {
        width: 100%;
        padding: 0 0 4rem
    }
}

.wedding_index_news_area ul.index_news_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .09rem;
    opacity: .2;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area ul.index_news_list li:before {
        opacity: .4;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 4px 1px
    }
}

.wedding_index_news_area ul.index_news_list li:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .09rem;
    opacity: .2;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area ul.index_news_list li:last-child:after {
        background-size: 4px 1px;
        opacity: .4;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.wedding_index_news_area ul.index_news_list li a {
    transition: .3s
}

.wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner {
    position: relative;
    z-index: 10
}

.wedding_index_news_area ul.index_news_list li a object {
    transform: translateY(5px);
    display: block
}

.wedding_index_news_area ul.index_news_list li a a.cat_icon {
    position: relative;
    z-index: 100;
    display: inline-block;
    border: 1px solid #ccc;
    background: #fff;
    color: rgba(0, 0, 0, .5);
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .3rem .3rem .4rem .45rem;
    letter-spacing: .16rem;
    border-radius: .2rem;
    margin: 0 0 0 1rem;
    transition: .4s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_news_area ul.index_news_list li a a.cat_icon {
        font-size: 2rem;
        border-radius: .3rem;
        padding: .4rem .6rem .6rem .7rem;
        margin: 0 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area ul.index_news_list li a a.cat_icon {
        font-size: 1rem;
        border-radius: .2rem;
        padding: .3rem .3rem .4rem .45rem;
        margin: 0
    }
}

@media (min-width:768px) {
    .wedding_index_news_area ul.index_news_list li a a.cat_icon:hover {
        color: #333;
        border: 1px solid #8e7823;
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }
}

.wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right {
    transition: .3s
}

.wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right span {
    position: relative;
    transition: .3s
}

.wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right span:before {
        display: block
    }
}

.wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_index_news_area ul.index_news_list li a .index_news_list__link__inner__right span:after {
        display: block
    }
}

.wedding_index_news_area ul.index_news_list li a .areaBackground {
    background: #f2f1ee;
    background: linear-gradient(90deg, rgba(242, 241, 238, 0) 25%, #f2f1ee 50%, rgba(242, 241, 238, 0) 75%);
    z-index: 1
}

@media (min-width:768px) {
    .wedding_index_news_area ul.index_news_list li a:hover .index_news_list__link__inner__right span {
        border-bottom: 1px solid #333
    }

    .wedding_index_news_area ul.index_news_list li a:hover .index_news_list__link__inner__right span:before {
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 1px;
        background: #333;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s
    }

    .wedding_index_news_area ul.index_news_list li a:hover .index_news_list__link__inner__right span:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .wedding_index_news_area ul.index_news_list li a:hover .index_news_list__link__inner__right span {
        border-bottom: transparent
    }
}

.wedding_index_news_area h2 {
    margin: 0 auto 4rem auto
}

.wedding_index_insta_area {
    padding: 9.5rem 0 10rem !important
}

@media only screen and (min-width:544px) {
    .wedding_index_insta_area {
        padding: 19rem 0 20rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_insta_area {
        padding: 15rem 0 !important
    }
}

.wedding_index_insta_area .link_btn__wrap__right {
    transform: translateX(0rem);
    margin: 0
}

.wedding_index_insta_area img {
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .wedding_index_insta_area img {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_insta_area img {
        margin: 0 0 4rem
    }
}

.wedding_index_insta_area .insta_block {
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .wedding_index_insta_area .insta_block {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_insta_area .insta_block {
        margin: 0 0 4rem
    }
}

.wedding_index_contact_section {
    padding: 7.25rem 0 6.9rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_section {
        padding: 14.5rem 0 13.8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_section {
        padding: 12rem 0 15rem
    }
}

h2.wedding_index_contact_h2 {
    position: relative;
    display: block;
    margin: 0 auto 0rem auto;
    font-weight: 400;
    font-family: ryo-display-plusn, serif;
    color: #000;
    line-height: .9;
    letter-spacing: .08rem;
    font-size: 1.85rem;
    padding: 0 0 0 1rem;
    text-align: center
}

@media only screen and (min-width:544px) {
    h2.wedding_index_contact_h2 {
        font-size: 3.7rem;
        padding: 0 0 0 2rem;
        line-height: .9;
        letter-spacing: .24rem
    }
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_contact_h2 {
        font-size: 3rem;
        padding: 0;
        line-height: 1;
        letter-spacing: .1rem
    }
}

h2.wedding_index_contact_h2 small {
    display: block;
    font-family: philosopher, sans-serif;
    color: #333;
    opacity: .5;
    font-weight: 400;
    font-size: 1.1rem;
    letter-spacing: .08rem;
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    h2.wedding_index_contact_h2 small {
        font-size: 2.2rem;
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    h2.wedding_index_contact_h2 small {
        font-size: 1.2rem
    }
}

.wedding_index_contact_block {
    background: url(../image/page_contact_bg.png) center center no-repeat;
    background-size: 100% 100%;
    padding: 0;
    margin: 0
}

.wedding_index_contact_block .wedding_index_contact_block__title {
    position: relative;
    padding: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .wedding_index_contact_block__title {
        padding: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .wedding_index_contact_block__title {
        padding: 0 0 4rem
    }
}

.wedding_index_contact_block .wedding_index_contact_block__title:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .wedding_index_contact_block__title:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

.wedding_index_contact_block .wedding_index_contact_block__middle {
    position: relative;
    padding: 3rem 0
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .wedding_index_contact_block__middle {
        padding: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .wedding_index_contact_block__middle {
        padding: 4.5rem 0 5rem
    }
}

.wedding_index_contact_block .wedding_index_contact_block__middle:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .wedding_index_contact_block__middle:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

.wedding_index_contact_block span.page_contact_block__title_bottom {
    font-size: 1.1rem;
    font-family: ryo-display-plusn, serif;
    text-align: center;
    color: #333;
    display: block;
    line-height: 1;
    margin: 0 0 1rem;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block span.page_contact_block__title_bottom {
        font-size: 2.2rem;
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block span.page_contact_block__title_bottom {
        font-size: 1.2rem;
        margin: 0 0 1.5rem
    }
}

.wedding_index_contact_block a.page_contact_block__tel_num {
    text-align: center;
    display: block;
    color: #333;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    line-height: 1;
    font-size: 2.2rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block a.page_contact_block__tel_num {
        font-size: 4.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block a.page_contact_block__tel_num {
        font-size: 3.6rem
    }
}

.wedding_index_contact_block span.page_contact_block__tel_num {
    text-align: center;
    display: block;
    color: #333;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    line-height: 1;
    font-size: 2.2rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block span.page_contact_block__tel_num {
        font-size: 4.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block span.page_contact_block__tel_num {
        font-size: 3.6rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area {
    display: flex;
    justify-content: center;
    padding: 3rem 0 0;
    position: relative;
    justify-content: space-between
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area {
        padding: 6rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area {
        padding: 4rem 0 0
    }
}

.wedding_index_contact_block .page_contact_block__btn_area:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area:after {
        display: block
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
    display: flex;
    justify-content: center;
    background: 0 0;
    color: #fff;
    width: 40rem;
    padding: 3rem 0 4rem;
    border: 1px solid #8e7823;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
        height: 18rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
        height: 12rem;
        border-radius: .9rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner {
    transform: translateY(.75rem)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner {
        transform: translateY(1.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner {
        transform: translateY(0rem)
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0;
    font-weight: 700;
    color: #333;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
        font-size: 1.8rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner_num {
    font-size: 2.6rem;
    font-family: philosopher, sans-serif;
    display: block;
    text-align: center;
    line-height: 1;
    letter-spacing: .2rem
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .75rem auto 0 auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
        width: 4rem;
        height: 4rem;
        margin: 1.5rem auto 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
        width: 3rem;
        height: 3rem;
        margin: 1rem auto 0 auto
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
        width: 1.2rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #8e7823;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: #f8f8f6
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover .page_contact_block__btn_inner__form {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        color: #8e7823
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow {
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        border: 1px solid #8e7823
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow:before {
        width: 0;
        height: 0;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow svg use {
        fill: #8e7823;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    width: 40rem;
    padding: 3rem 0 4rem;
    margin: 0 0 0 2rem;
    background-size: cover;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    position: relative;
    border-radius: .25rem;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        height: 18rem;
        border-radius: .5rem;
        background-size: 100%
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        height: 11.9rem;
        border-radius: .9rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form .page_contact_block__btn_inner {
    transform: translateY(.75rem)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form .page_contact_block__btn_inner {
        transform: translateY(1.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form .page_contact_block__btn_inner {
        transform: translateY(0rem)
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .45rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:after {
        border-radius: .9rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
    opacity: .5;
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1rem
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1rem;
    font-weight: 700
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 1.6rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .75rem auto 0 auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    border: 1px solid #fff;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem;
        margin: 1.5rem auto 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem;
        margin: .5rem auto 0 auto
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow {
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        border: 1px solid transparent
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.best_rate_card {
    height: auto;
    width: 88%;
    max-width: 50rem;
    position: fixed;
    z-index: 1000;
    transform: translateX(-50%);
    color: #fff;
    box-shadow: 0 1rem 1rem rgba(5, 0, 10, .1);
    border-radius: .5rem;
    top: 1rem;
    right: auto;
    left: 50%;
    bottom: auto
}

@media only screen and (min-width:544px) {
    .best_rate_card {
        top: 2rem;
        right: auto;
        left: 50%;
        bottom: auto;
        width: 90%;
        max-width: 63rem;
        transform: translateX(-50%);
        height: auto;
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card {
        display: none;
        top: auto;
        right: auto;
        left: 5rem;
        bottom: 2rem;
        width: 23.5rem;
        transform: translateX(0%);
        height: 17rem
    }
}

.best_rate_card img {
    position: relative;
    width: 100%;
    height: auto
}

.best_rate_card a {
    width: 31.5rem;
    height: auto;
    background: 0 0;
    display: block;
    background-size: 100%;
    box-shadow: .5rem 0rem 1rem rgba(8, 0, 0, .1)
}

@media only screen and (min-width:544px) {
    .best_rate_card a {
        width: 63rem
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card a {
        width: 23.5rem;
        height: 17rem;
        background: url(../image/best-rate_bg.png) 0 0 no-repeat;
        background-size: 100%
    }
}

.best_rate_card a .best_rate_card__text {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    letter-spacing: 0rem;
    text-align: center
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text {
        display: block
    }
}

.best_rate_card a .best_rate_card__text .top_text {
    font-size: .9rem;
    color: #fff;
    display: block;
    line-height: 1;
    margin: 0;
    text-shadow: .1rem 0rem .1rem rgba(0, 0, 0, .3);
    order: 3
}

@media only screen and (min-width:670px) {
    .best_rate_card a .best_rate_card__text .top_text {
        margin: 0;
        font-size: 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text .top_text {
        order: 1;
        margin: 0 0 .5rem;
        font-size: 1.1rem
    }
}

.best_rate_card a .best_rate_card__text .middle_text {
    text-shadow: .1rem 0rem .2rem rgba(8, 0, 0, .3);
    font-size: 2rem;
    color: #fff;
    display: block;
    line-height: 1;
    font-family: philosopher, sans-serif;
    text-align: center;
    font-weight: 700;
    margin: 0;
    letter-spacing: .1rem
}

@media only screen and (min-width:660px) {
    .best_rate_card a .best_rate_card__text .middle_text {
        margin: 0 0 .5rem;
        font-size: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text .middle_text {
        margin: 0 0 .5rem;
        font-size: 2.6rem
    }
}

.best_rate_card a .best_rate_card__text .bottom_text {
    text-shadow: .1rem 0rem .2rem rgba(8, 0, 0, .3);
    font-size: 1.5rem;
    color: #fff;
    display: block;
    line-height: 1;
    font-family: ryo-display-plusn, serif;
    text-align: center;
    font-weight: 700;
    margin: 0 .75rem 0 .5rem;
    letter-spacing: .1rem
}

@media only screen and (min-width:660px) {
    .best_rate_card a .best_rate_card__text .bottom_text {
        font-size: 3rem;
        margin: 0 1.5rem 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text .bottom_text {
        margin: 0 0 1.6rem;
        font-size: 1.84rem
    }
}

.best_rate_card a .best_rate_card__text span.arrow {
    display: none;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    width: 3rem;
    height: 3rem;
    position: relative;
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .05);
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text span.arrow {
        display: block
    }
}

.best_rate_card a .best_rate_card__text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.best_rate_card a .best_rate_card__text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .best_rate_card a .best_rate_card__text span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card a .best_rate_card__text span.arrow svg {
        width: 1.2rem
    }
}

.best_rate_card a .best_rate_card__text span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .best_rate_card a:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .best_rate_card a:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .best_rate_card a:hover span.arrow svg use {
        fill: #4c7228;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.best_rate_card .btn-close {
    top: auto;
    right: -.55rem;
    bottom: -.55rem;
    display: block;
    cursor: pointer;
    position: absolute;
    z-index: 100;
    width: 2.3rem;
    height: 2.3rem;
    background: #333;
    border-radius: 50%;
    box-shadow: .25rem 0rem .25rem rgba(8, 0, 0, .3)
}

@media only screen and (min-width:544px) {
    .best_rate_card .btn-close {
        width: 4.6rem;
        height: 4.6rem;
        top: auto;
        right: -1.1rem;
        bottom: -1.1rem;
        box-shadow: .5rem 0rem .5rem rgba(8, 0, 0, .3)
    }
}

@media only screen and (min-width:1024px) {
    .best_rate_card .btn-close {
        width: 2.8rem;
        height: 2.8rem;
        bottom: auto;
        top: -.6rem;
        right: -.6rem;
        box-shadow: .5rem 0rem .5rem rgba(8, 0, 0, .3)
    }
}

.best_rate_card .btn-close:hover {
    cursor: pointer
}

.best_rate_card .btn-close:before,
.best_rate_card .btn-close:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.1rem;
    height: 1px;
    background: #fff
}

@media only screen and (min-width:544px) {

    .best_rate_card .btn-close:before,
    .best_rate_card .btn-close:after {
        width: 2.2rem
    }
}

@media only screen and (min-width:1024px) {

    .best_rate_card .btn-close:before,
    .best_rate_card .btn-close:after {
        width: 1.3rem
    }
}

.best_rate_card .btn-close:before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-45deg)
}

.best_rate_card .btn-close:after {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg)
}

.best_rate_card.follow_card__none {
    display: none !important
}

#weddingform {
    overflow: hidden
}

#weddingform .wedding_white_bg nav.page_bread_nav {
    position: absolute;
    top: 0;
    right: 4rem;
    transform: translate(100%, -1rem) rotate(90deg);
    transform-origin: left center;
    color: rgba(51, 51, 51, .5);
    font-size: 1rem;
    display: none
}

@media only screen and (min-width:1024px) {
    #weddingform .wedding_white_bg nav.page_bread_nav {
        display: block
    }
}

#weddingform .form_after_text {
    color: #333
}

#weddingform .wedding_form_container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    #weddingform .wedding_form_container {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:768px) {
    #weddingform .wedding_form_container {
        max-width: 700px;
        padding-right: 0;
        padding-left: 0
    }
}

#weddingform .wedding_form_title_area {
    padding: 11.5rem 0 3.5rem;
    color: #333;
    text-align: left
}

@media only screen and (min-width:544px) {
    #weddingform .wedding_form_title_area {
        padding: 23rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .wedding_form_title_area {
        padding: 16rem 0 5rem;
        text-align: center
    }
}

#weddingform .wedding_form_title_area h1 {
    font-family: ryo-display-plusn, serif;
    font-size: 2.4rem;
    letter-spacing: .15rem;
    color: #333;
    font-weight: 400;
    position: relative;
    padding: 0 0 2.5rem;
    margin: 0 0 2.75rem;
    letter-spacing: .05rem
}

@media only screen and (min-width:544px) {
    #weddingform .wedding_form_title_area h1 {
        font-size: 4.8rem;
        padding: 0 0 5rem;
        margin: 0 0 5.5rem;
        letter-spacing: .05rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .wedding_form_title_area h1 {
        font-size: 3rem;
        padding: 0;
        margin: 0 0 4rem;
        letter-spacing: .15rem
    }
}

#weddingform .wedding_form_title_area h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -3rem;
    height: 1px;
    width: calc(100% + 6rem);
    background: #333;
    opacity: .1;
    display: block
}

@media only screen and (min-width:1024px) {
    #weddingform .wedding_form_title_area h1:after {
        display: none
    }
}

#weddingform .wedding_form_title_area p.wedding_form_title_area__txt {
    color: #333;
    font-size: 1.2rem;
    line-height: 2;
    display: block;
    margin: 0
}

@media only screen and (min-width:544px) {
    #weddingform .wedding_form_title_area p.wedding_form_title_area__txt {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .wedding_form_title_area p.wedding_form_title_area__txt {
        font-size: 1.2rem
    }
}

#weddingform .wedding_form_title_area p.wedding_form_title_area__txt a {
    position: relative;
    transition: .4s
}

#weddingform .wedding_form_title_area p.wedding_form_title_area__txt a:before {
    position: absolute;
    bottom: -.3rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#weddingform .wedding_form_title_area p.wedding_form_title_area__txt a:after {
    position: absolute;
    bottom: -.3rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(1, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    #weddingform .wedding_form_title_area p.wedding_form_title_area__txt a:hover {
        transition: .4s;
        opacity: 1
    }

    #weddingform .wedding_form_title_area p.wedding_form_title_area__txt a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    #weddingform .wedding_form_title_area p.wedding_form_title_area__txt a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#weddingform .text-wedding-center {
    text-align: left
}

@media only screen and (min-width:1024px) {
    #weddingform .text-wedding-center {
        text-align: center
    }
}

#weddingform ul.step_up_area {
    display: flex;
    position: relative
}

#weddingform ul.step_up_area:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 100
}

@media only screen and (min-width:1024px) {
    #weddingform ul.step_up_area:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #333, #333 1px, transparent 1px);
        background-size: 3px 1px
    }
}

#weddingform ul.step_up_area:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:1024px) {
    #weddingform ul.step_up_area:after {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #333, #333 1px, transparent 1px);
        background-size: 3px 1px
    }
}

#weddingform ul.step_up_area li {
    color: rgba(51, 51, 51, .5)
}

#weddingform ul.step_up_area li.active {
    background: #f5f5f2;
    color: #8e7823 !important;
    font-weight: 700
}

#weddingform ul.step_up_area li.active:after {
    display: none
}

#weddingform ul.step_up_area li.border-right:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #333
}

@media only screen and (min-width:544px) {
    #weddingform ul.step_up_area li.border-right:after {
        height: 3rem
    }
}

#weddingform .mw_wp_form_input ul.step_up_area li:first-child {
    background: #f5f5f2;
    color: #8e7823 !important;
    font-weight: 700
}

#weddingform .mw_wp_form_input ul.step_up_area li:first-child:after {
    display: none
}

#weddingform .mw_wp_form_input ul.step_up_area li:nth-child(2):after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #333
}

@media only screen and (min-width:544px) {
    #weddingform .mw_wp_form_input ul.step_up_area li:nth-child(2):after {
        height: 3rem
    }
}

#weddingform .mw_wp_form_confirm ul.step_up_area li:nth-child(2) {
    background: #f5f5f2;
    color: #8e7823 !important;
    font-weight: 700
}

#weddingform .mw_wp_form_confirm ul.step_up_area li:nth-child(2):after {
    display: none
}

#weddingform .mw_wp_form_complete ul.step_up_area li:first-child:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #333
}

@media only screen and (min-width:544px) {
    #weddingform .mw_wp_form_complete ul.step_up_area li:first-child:after {
        height: 3rem
    }
}

#weddingform .mw_wp_form_complete ul.step_up_area li:nth-child(2):after {
    display: none
}

#weddingform .mw_wp_form_complete ul.step_up_area li:last-child {
    background: #f5f5f2;
    color: #8e7823 !important;
    font-weight: 700
}

#weddingform .contact_form_area {
    color: #333
}

#weddingform .field_area .text .small {
    color: rgba(51, 51, 51, .5)
}

#weddingform .input_wrap {
    background-color: #f5f5f5;
    border-radius: .5rem
}

#weddingform input[type=text] {
    background-color: #f5f5f5
}

#weddingform input[type=text]::placeholder {
    color: rgba(51, 51, 51, .5)
}

#weddingform input[type=text]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #d0d0d0
}

#weddingform input[type=text]:focus::placeholder {
    color: rgba(51, 51, 51, .1)
}

#weddingform input[type=number] {
    background-color: #f5f5f5
}

#weddingform input[type=number]::placeholder {
    color: rgba(51, 51, 51, .5)
}

#weddingform input[type=number]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #d0d0d0
}

#weddingform input[type=number]:focus::placeholder {
    color: rgba(51, 51, 51, .1)
}

#weddingform input[type=email] {
    background-color: #f5f5f5
}

#weddingform input[type=email]::placeholder {
    color: rgba(51, 51, 51, .5)
}

#weddingform input[type=email]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #d0d0d0
}

#weddingform input[type=email]:focus::placeholder {
    color: rgba(51, 51, 51, .1)
}

#weddingform .mwform-radio-field-text {
    border: 1px solid #d0d0d0;
    padding: .9rem 1.5rem .9rem 3.25rem
}

@media only screen and (min-width:544px) {
    #weddingform .mwform-radio-field-text {
        padding: 1.8rem 3rem 1.8rem 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .mwform-radio-field-text {
        padding: 1.2rem 1.7rem 1.2rem 4.2rem
    }
}

@media (min-width:768px) {
    #weddingform .mwform-radio-field-text:hover {
        border: 1px solid #8b751f
    }
}

#weddingform .mwform-radio-field-text:after {
    background: #fff;
    border: 1px solid #d0d0d0
}

#weddingform .mwform-radio-field-text:before {
    background-color: #8b751f
}

#weddingform .mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0
}

#weddingform input[type=radio]:checked+.mwform-radio-field-text {
    border: 1px solid #8b751f
}

#weddingform input[type=radio]:checked+.mwform-radio-field-text:before {
    opacity: 1
}

#weddingform .select_parent.select_parent_02 {
    background-color: #f5f5f5
}

#weddingform .select_parent.select_parent_02::placeholder {
    color: rgba(51, 51, 51, .5)
}

#weddingform .select_parent.select_parent_02:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #d0d0d0
}

#weddingform .select_parent.select_parent_02:focus::placeholder {
    color: rgba(51, 51, 51, .1)
}

#weddingform .select_parent.select_parent_02:before {
    border-left: .375rem solid transparent;
    border-right: .375rem solid transparent;
    border-top: .55rem solid #333
}

@media only screen and (min-width:544px) {
    #weddingform .select_parent.select_parent_02:before {
        border-left: .75rem solid transparent;
        border-right: .75rem solid transparent;
        border-top: 1.1rem solid #333
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .select_parent.select_parent_02:before {
        border-left: .4rem solid transparent;
        border-right: .4rem solid transparent;
        border-top: .6rem solid #333
    }
}

#weddingform .select_parent.select_parent_02 select {
    color: #333
}

#weddingform select.is-empty {
    color: rgba(51, 51, 51, .5) !important
}

#weddingform select:invalid {
    color: #333 !important
}

#weddingform textarea {
    margin-bottom: 2.5rem;
    background-color: #f5f5f5
}

#weddingform textarea::placeholder {
    color: rgba(51, 51, 51, .5)
}

#weddingform textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #d0d0d0
}

#weddingform textarea:focus::placeholder {
    color: rgba(51, 51, 51, .1)
}

#weddingform .mailmagazine_area .mwform-checkbox-field-text {
    background: #f5f5f5
}

@media (min-width:768px) {
    #weddingform .mailmagazine_area .mwform-checkbox-field-text:hover {
        background: #f5f5f5;
        color: #C31111
    }
}

#weddingform .form_submit_area {
    background: url(../image/page_contact_bg1.png) center center no-repeat;
    background-size: 100% 100%
}

#weddingform .form_submit_area .form_submit_area__btn_area {
    display: flex;
    justify-content: space-between
}

#weddingform .form_submit_area .form_submit_area__btn_area.flex-center {
    justify-content: center
}

#weddingform input[type=text].error,
#weddingform input[type=email].error,
#weddingform input[type=tel].error,
#weddingform input[type=url].error,
#weddingform input[type=number].error,
#weddingform input[type=date].error,
#weddingform textarea.error {
    background: url(../image/invalid.svg) no-repeat right 1.5rem top 1.4rem;
    background-size: 1.7rem auto;
    color: #333 !important
}

@media only screen and (min-width:544px) {

    #weddingform input[type=text].error,
    #weddingform input[type=email].error,
    #weddingform input[type=tel].error,
    #weddingform input[type=url].error,
    #weddingform input[type=number].error,
    #weddingform input[type=date].error,
    #weddingform textarea.error {
        background: url(../image/invalid.svg) no-repeat right 3rem top 2.8rem;
        background-size: 3.4rem auto
    }
}

@media only screen and (min-width:1024px) {

    #weddingform input[type=text].error,
    #weddingform input[type=email].error,
    #weddingform input[type=tel].error,
    #weddingform input[type=url].error,
    #weddingform input[type=number].error,
    #weddingform input[type=date].error,
    #weddingform textarea.error {
        background: url(../image/invalid.svg) no-repeat right 1rem top 1.5rem;
        background-size: 2rem auto
    }
}

#weddingform input[type=text].valid,
#weddingform input[type=email].valid,
#weddingform input[type=tel].valid,
#weddingform input[type=url].valid,
#weddingform input[type=number].valid,
#weddingform input[type=date].valid,
#weddingform textarea.valid {
    background: url(../image/valid.svg) no-repeat right 1.5rem top 1.4rem;
    background-size: 1.7rem auto
}

@media only screen and (min-width:544px) {

    #weddingform input[type=text].valid,
    #weddingform input[type=email].valid,
    #weddingform input[type=tel].valid,
    #weddingform input[type=url].valid,
    #weddingform input[type=number].valid,
    #weddingform input[type=date].valid,
    #weddingform textarea.valid {
        background: url(../image/valid.svg) no-repeat right 3rem top 2.8rem;
        background-size: 3.4rem auto
    }
}

@media only screen and (min-width:1024px) {

    #weddingform input[type=text].valid,
    #weddingform input[type=email].valid,
    #weddingform input[type=tel].valid,
    #weddingform input[type=url].valid,
    #weddingform input[type=number].valid,
    #weddingform input[type=date].valid,
    #weddingform textarea.valid {
        background: url(../image/valid.svg) no-repeat right 1rem top 1.5rem;
        background-size: 2rem auto
    }
}

.wedding_white_bg .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .page_caption_slider__txt {
    color: rgba(51, 51, 51, .5) !important
}

.page_header_area__h1__wedding {
    padding: 0 !important
}

#weddingform .back_link:after {
    background: url(../image/turnbak_icon__black.svg) center center no-repeat
}

#weddingform .back_link span.text {
    color: #333;
    font-weight: 400
}

#weddingform .back_link span.text:before {
    background: #333
}

#weddingform .back_link span.text:after {
    background: #333
}

#weddingform .mw_wp_form_confirm .input_wrap {
    background-color: transparent
}

#weddingform .mw_wp_form_confirm .select_parent.select_parent_02 {
    background-color: transparent
}

#sb_instagram .sbi_photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.sbi_type_carousel .fa-clone {
    display: none !important
}

.wedding_white_bg img.sp_full_width_img {
    transform: translateX(-1.5rem);
    width: calc(100% + 3rem)
}

@media only screen and (min-width:544px) {
    .wedding_white_bg img.sp_full_width_img {
        transform: translateX(-3rem);
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg img.sp_full_width_img {
        width: 100%;
        transform: translateX(0)
    }
}

.wedding_white_bg img.sp_full_width_img__border {
    border-top: 1px solid #f5f5f2;
    border-bottom: 1px solid #f5f5f2
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg img.sp_full_width_img__border {
        border-top: transparent;
        border-bottom: transparent
    }
}

.wedding_white_bg img.pc_img__border {
    border-top: 1px solid #f5f5f2;
    border-bottom: 1px solid #f5f5f2;
    border-left: transparent;
    border-right: transparent
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg img.pc_img__border {
        border: 1px solid #f5f5f2
    }
}

.wedding_white_bg .page_header_area {
    padding: 13.4rem 0 7.5rem;
    margin: 0;
    color: #fff
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area {
        padding: 26.8rem 0 15rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area {
        padding: 26.6rem 0 12rem
    }
}

.wedding_white_bg .page_header_area h1 {
    color: #333;
    margin: 0;
    display: block;
    line-height: 1
}

.wedding_white_bg .page_header_area .bg_en__img__ceremony_index {
    max-width: 100%;
    width: 32.5rem;
    top: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area .bg_en__img__ceremony_index {
        width: 65rem;
        top: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area .bg_en__img__ceremony_index {
        width: 36rem;
        top: .7rem
    }
}

.wedding_white_bg nav.page_index_nav {
    padding: 0 0 4rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav {
        padding: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav {
        padding: 0 0 15rem
    }
}

.wedding_white_bg nav.page_index_nav ul {
    display: block
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul {
        display: flex
    }
}

.wedding_white_bg nav.page_index_nav ul li {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li {
        width: 33.333%
    }
}

.wedding_white_bg nav.page_index_nav ul li:before {
    display: block !important;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li:before {
        background-size: 4px 1px;
        height: 1px;
        opacity: .4;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li:before {
        top: 0;
        left: 0;
        width: 1px;
        height: 100%;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 3px;
        background-position: left top;
        background-repeat: repeat-y
    }
}

.wedding_white_bg nav.page_index_nav ul li:last-child:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #000, #000 .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li:last-child:after {
        display: block;
        width: 1px;
        opacity: .4;
        background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
        background-size: 1px 4px
    }
}

.wedding_white_bg nav.page_index_nav ul li a {
    display: flex;
    color: #333;
    padding: 3rem 0;
    position: relative;
    justify-content: space-between
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a {
        padding: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a {
        display: block;
        padding: 6.5rem 4rem 0
    }
}

.wedding_white_bg nav.page_index_nav ul li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f5f2;
    z-index: 0;
    opacity: 0;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a:after {
        display: block
    }
}

@media (min-width:768px) {
    .wedding_white_bg nav.page_index_nav ul li a:hover:after {
        opacity: 1;
        transition: .8s cubic-bezier(.26, .06, 0, 1)
    }
}

.wedding_white_bg nav.page_index_nav ul li a .page_index_nav__text_block {
    width: calc(100% - 20rem)
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a .page_index_nav__text_block {
        width: calc(100% - 39.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a .page_index_nav__text_block {
        width: auto
    }
}

.wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__title {
    color: #333;
    border-bottom: 1px solid #333;
    display: inline
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__title {
        border-bottom: transparent;
        display: inline-block
    }
}

.wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__title:after {
    border-bottom: 1px solid #333;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__title:after {
        display: block
    }
}

.wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__text {
    color: #333;
    display: block;
    position: relative;
    z-index: 10;
    margin: 1rem 0 0;
    min-height: auto
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__text {
        margin: 2rem 0 0;
        min-height: auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a span.page_index_nav__text {
        margin: 0;
        min-height: 6.5rem
    }
}

.wedding_white_bg nav.page_index_nav ul li a .thumb {
    will-change: transform;
    position: relative;
    z-index: 10;
    isolation: isolate;
    display: block;
    overflow: hidden;
    width: 17.25rem;
    border-radius: .25rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a .thumb {
        width: 34.5rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a .thumb {
        width: auto;
        margin: 6rem 0 0
    }
}

.wedding_white_bg nav.page_index_nav ul li a .thumb img {
    width: 100%;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1)
}

.wedding_white_bg nav.page_index_nav ul li a span.arrow {
    bottom: -1.5rem;
    right: 3.5rem;
    display: none;
    border-radius: 50%;
    z-index: 0;
    position: absolute;
    background: #B49C69;
    width: 3rem;
    height: 3rem;
    transform: scale(0, 0);
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    z-index: 15
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a span.arrow {
        right: 7rem;
        width: 6rem;
        height: 6rem;
        bottom: -3rem;
        display: none
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a span.arrow {
        right: 7rem;
        width: 6rem;
        height: 6rem;
        bottom: -3rem;
        display: block
    }
}

.wedding_white_bg nav.page_index_nav ul li a span.arrow svg {
    position: absolute;
    top: 50%;
    left: 51%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul li a span.arrow svg {
        width: 1.2rem
    }
}

.wedding_white_bg nav.page_index_nav ul li a span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .wedding_white_bg nav.page_index_nav ul li a:hover .thumb img {
        transition: .4s cubic-bezier(.43, .05, .17, 1);
        transform: scale(1, 1)
    }

    .wedding_white_bg nav.page_index_nav ul li a:hover span.arrow {
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav ul li a:hover .thumb img {
        transform: scale(1.03, 1.03)
    }
}

.wedding_white_bg nav.page_index_nav ul.col-2 li {
    width: 100%
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav ul.col-2 li {
        width: 50%
    }
}

.wedding_white_bg nav.page_index_nav__top {
    padding: 0 0 10.4rem !important
}

.wedding_white_bg nav.page_index_nav__ceremony {
    padding: 0 0 4rem !important
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony {
        padding: 0 0 8rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony {
        padding: 0 0 10.4rem !important
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li {
    margin: 0 0 5.35rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li {
        margin: 0 0 10.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li {
        margin: 0
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li:last-child {
    margin: 0
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a {
    display: block;
    color: #333;
    padding: 0;
    position: relative;
    justify-content: space-between
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a {
        padding: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a {
        padding: 6.5rem 4rem 0
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb__sp {
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb__sp {
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb__sp {
        display: none
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb__sp img {
    width: 100%;
    height: 23.45rem;
    position: relative;
    z-index: 10;
    isolation: isolate;
    object-fit: cover;
    object-position: center
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb__sp img {
        height: 46.9rem
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb {
    margin: 0;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a .thumb {
        margin: 8rem 0 0;
        display: block
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text_block {
    transform: translateY(0);
    padding: 0 1.5rem;
    display: block;
    width: 100%;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text_block {
        padding: 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text_block {
        padding: 0
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__title {
    margin: 0;
    border-bottom: 1px solid #333;
    display: inline
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__title {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__title {
        margin: 0 0 2rem;
        border-bottom: none;
        display: inline-block
    }
}

.wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text {
    color: #333;
    display: block;
    position: relative;
    z-index: 10;
    margin: .75rem 0 0;
    min-height: auto
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text {
        margin: 1.5rem 0 0;
        min-height: auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony ul li a span.page_index_nav__text {
        margin: 0;
        min-height: 6.5rem
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom {
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom {
        padding: 0 0 8.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom {
        padding: 0 0 17rem
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a {
    display: flex;
    align-items: flex-start
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a {
        display: block
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a .thumb {
    will-change: transform;
    position: relative;
    z-index: 10;
    isolation: isolate;
    display: block;
    overflow: hidden;
    width: 17.25rem;
    border-radius: .25rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a .thumb {
        width: 34.5rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a .thumb {
        width: auto;
        margin: 8rem 0 0
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a .thumb img {
    width: 100%;
    transition: .4s cubic-bezier(.43, .05, .17, 1);
    transform: scale(1, 1)
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block {
    transform: translateY(0);
    display: block;
    width: calc(100% - 19.25rem);
    position: relative;
    z-index: 10;
    padding: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block {
        width: calc(100% - 38.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block {
        width: 100%
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__title {
    color: #333;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    letter-spacing: .05rem;
    font-weight: 400;
    display: inline;
    margin: 0 0 .25rem;
    position: relative;
    line-height: 1.4;
    border-bottom: 1px solid #333
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__title {
        font-size: 3rem;
        letter-spacing: .1rem;
        margin: 0 0 .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__title {
        font-size: 1.9rem;
        letter-spacing: .2rem;
        margin: 0 0 1.7rem;
        display: inline
    }
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__title:after {
    display: none
}

.wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__text {
    margin: 1.1rem 0 0;
    min-height: auto
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__text {
        margin: 2.2rem 0 0;
        min-height: auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__ceremony_bottom ul li a span.page_index_nav__text_block span.page_index_nav__text {
        margin: 1.7rem 0 0;
        min-height: 4.5rem
    }
}

.wedding_white_bg nav.page_bread_nav {
    position: absolute;
    display: none;
    top: 10rem;
    right: 4rem;
    transform: translate(100%, -1rem) rotate(90deg);
    transform-origin: left center;
    color: rgba(51, 51, 51, .5);
    font-size: 1rem
}

@media screen and (min-width:1280px) {
    .wedding_white_bg nav.page_bread_nav {
        display: block
    }
}

.wedding_white_bg nav.page_bread_nav.page_bread_nav__top0 {
    top: 0
}

.wedding_white_bg nav.page_bread_nav span {
    margin: 0 .3rem;
    letter-spacing: 0 !important
}

.wedding_white_bg nav.page_bread_nav span:first-child {
    margin: 0 .3rem 0 0
}

.wedding_white_bg nav.page_bread_nav span.current-item {
    color: #333
}

.wedding_white_bg nav.page_bread_nav a {
    position: relative
}

.wedding_white_bg nav.page_bread_nav a:before {
    position: absolute;
    bottom: -.3rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: rgba(51, 51, 51, .5);
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.wedding_white_bg nav.page_bread_nav a:after {
    position: absolute;
    bottom: -.2rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: rgba(51, 51, 51, .5);
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_bread_nav a:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .wedding_white_bg nav.page_bread_nav a:hover {
        cursor: pointer
    }

    .wedding_white_bg nav.page_bread_nav a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .wedding_white_bg nav.page_bread_nav a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg nav.page_bread_nav a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg nav.page_bread_nav a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.wedding_white_bg nav.page_bread_nav span:first-child {
    margin: 0 .3rem 0 0
}

.wedding_white_bg nav.page_bread_nav span:first-child a:before {
    left: 0;
    width: calc(100% - .3rem)
}

.wedding_white_bg nav.page_bread_nav span:first-child a:after {
    left: 0;
    width: calc(100% - .3rem)
}

.wedding_white_bg nav.page_bread_nav span.line {
    margin: 0 1rem;
    height: .8rem;
    width: 1px;
    background: rgba(51, 51, 51, .5);
    display: inline-block
}

.ceremony_index_contact_section {
    padding: 7.25rem 0 6.9rem
}

@media only screen and (min-width:544px) {
    .ceremony_index_contact_section {
        padding: 14.5rem 0 15rem
    }
}

.wedding_white_bg {
    letter-spacing: 0
}

.wedding_white_bg a.page_header_area__h1__link {
    color: #8e7823 !important;
    margin-bottom: 1rem
}

.wedding_white_bg a.page_header_area__h1__link:before {
    background: #8e7823 !important
}

.wedding_white_bg a.page_header_area__h1__link:after {
    background: #8e7823 !important
}

.wedding_white_bg .page_header_area__child {
    padding: 10.5rem 0 3.25rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child {
        padding: 21rem 0 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child {
        padding: 23.2rem 0 8rem
    }
}

.wedding_white_bg .page_header_area__child.page_header_area__child__ceremony {
    padding: 10.75rem 0 2.8rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child.page_header_area__child__ceremony {
        padding: 21.5rem 0 5.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child.page_header_area__child__ceremony {
        padding: 23.3rem 0 8.1rem
    }
}

.wedding_white_bg .page_header_area__child .page_header_area__h1 {
    padding: 0 0 3.1rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child .page_header_area__h1 {
        padding: 0 0 6.8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child .page_header_area__h1 {
        padding: 0
    }
}

.wedding_white_bg .page_header_area__child .page_header_area__h1:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: -1.5rem;
    width: calc(100% + 3rem);
    display: block;
    height: 1px;
    background: #333;
    opacity: .1
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child .page_header_area__h1:after {
        left: -3rem;
        width: calc(100% + 6rem);
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child .page_header_area__h1:after {
        display: none
    }
}

.wedding_white_bg .page_header_area__child .page_header_area__h1_no_border {
    padding: 0
}

.wedding_white_bg .page_header_area__child .page_header_area__h1_no_border:after {
    display: none
}

.wedding_white_bg .page_header_area__child a.page_header_area__h1__link {
    margin-bottom: .65rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child a.page_header_area__h1__link {
        margin-bottom: 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child a.page_header_area__h1__link {
        margin-bottom: 1.3rem
    }
}

.wedding_white_bg p {
    color: #333;
    letter-spacing: 0
}

.wedding_white_bg .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 10rem 0 5rem
    }
}

.wedding_white_bg .page_h2__group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #8e7823;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_h2__group:before {
        display: block
    }
}

/*.wedding_white_bg .page_h2__group:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #f5f5f2;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_h2__group:after {
        height: .8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_h2__group:after {
        height: 1px;
        width: calc(100% - 1rem);
        background: #000;
        opacity: .1
    }
}*/

.wedding_white_bg .page_h2__group span {
    color: #C31111;
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0
}

.wedding_white_bg .page_h2__group h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .15rem;
    margin: 0;
    color: #fff;
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_h2__group h2 {
        font-size: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_h2__group h2 {
        font-size: 2.4rem
    }
}

.wedding_white_bg .page_section__contents .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 4.5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__contents .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 9rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__contents .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 9rem 0 4rem
    }
}

.wedding_white_bg .page_section__contents .page_h2__group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #8e7823;
    display: none
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__contents .page_h2__group:before {
        display: block
    }
}

.wedding_white_bg .page_section__contents .page_h2__group:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #f5f5f2;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__contents .page_h2__group:after {
        height: .8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__contents .page_h2__group:after {
        height: 1px;
        width: calc(100% - 1rem);
        background: #000;
        opacity: .1
    }
}

.wedding_white_bg .page_section__contents .page_h2__group span {
    color: #C31111;
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0
}

.wedding_white_bg .page_section__contents .page_h2__group h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .15rem;
    margin: 0;
    color: #333
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__contents .page_h2__group h2 {
        font-size: 3.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__contents .page_h2__group h2 {
        font-size: 2.4rem
    }
}

.wedding_white_bg .page_section__inner__right__top img {
    margin: 2.25rem 0 0;
    border-radius: 0;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem)
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__inner__right__top img {
        margin: 4.5rem 0 0;
        transform: translateX(-3rem);
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__inner__right__top img {
        width: 100%;
        transform: translateX(0rem);
        margin: 5rem 0 0;
        border-radius: .5rem
    }
}

.wedding_white_bg .page_section__flex {
    display: block;
    justify-content: space-between;
    margin: 0 0 1.5rem !important;
    align-items: flex-start
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__flex {
        margin: 0 0 3rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__flex {
        margin: 0 0 4rem !important;
        display: flex
    }
}

.wedding_white_bg .page_section__flex p {
    width: calc(50% - 2rem);
    margin: 0
}

.wedding_white_bg .page_section__flex img {
    width: 100%;
    margin: 0;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__flex img {
        width: 100%;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__flex img {
        border-radius: .5rem;
        width: calc(50% - 2rem)
    }
}

.wedding_white_bg .page_section__flex .caption_block {
    width: 100%;
    letter-spacing: 0;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__flex .caption_block {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__flex .caption_block {
        width: calc(50% - 2rem);
        margin: 0
    }
}

.wedding_white_bg .page_section__flex .caption_block img {
    width: 100% !important;
    border-radius: .5rem;
    margin: 0 0 .9rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__flex .caption_block img {
        margin: 0 0 1.8rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__flex .caption_block img {
        margin: 0 0 1rem;
        border-radius: .5rem
    }
}

.wedding_white_bg .page_section__flex .caption_block .caption {
    margin: 0;
    font-size: 1.3rem;
    color: #333;
    display: block;
    line-height: 1.8
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section__flex .caption_block .caption {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_section__flex .caption_block .caption {
        font-size: 1.4rem
    }
}

.wedding_white_bg .page_section__flex .caption_block .caption .caption_title {
    font-weight: 700;
    display: block
}

.wedding_white_bg .page_section__flex .caption_block .caption_gray {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
    display: block;
    line-height: 1.8;
    opacity: .5
}

.wedding_white_bg h3 {
    font-weight: 400;
    color: #333;
    background: #f5f5f2;
    font-family: ryo-display-plusn, serif;
    font-size: 1.7rem;
    padding: .4rem 1rem .4rem .85rem;
    border-radius: .5rem;
    position: relative;
    margin: 0 0 2rem;
    display: block;
    letter-spacing: .15rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg h3 {
        font-size: 3.4rem;
        padding: .8rem 1rem .8rem 1.7rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg h3 {
        font-size: 2rem;
        padding: .5rem 1rem .5rem 2rem;
        margin: 0 0 3rem
    }
}

.wedding_white_bg h3:before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: .15rem;
    height: 1.85rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .wedding_white_bg h3:before {
        width: .3rem;
        height: 3.7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg h3:before {
        left: 1rem;
        width: .2rem;
        height: 1.5rem
    }
}

.wedding_white_bg p.caution_text {
    color: #333;
    opacity: .5;
    margin: 0 0 4rem;
    font-size: 1.4rem
}

.wedding_white_bg ul.caution_list {
    margin: 0 0 4rem;
    color: #333
}

.wedding_white_bg ul.caution_list li {
    opacity: .5;
    font-size: 1.1rem;
    position: relative;
    padding: 0 0 0 1.2rem;
    line-height: 1.4;
    margin: .3rem 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg ul.caution_list li {
        font-size: 2.2rem;
        padding: 0 0 0 2.4rem;
        line-height: 1.6;
        margin: .6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg ul.caution_list li {
        font-size: 1.2rem;
        padding: 0 0 0 1.3rem;
        line-height: 1.8;
        margin: 0
    }
}

.wedding_white_bg ul.caution_list li:before {
    content: "※";
    position: absolute;
    top: 0;
    left: 0
}

.wedding_white_bg nav.page_section_anchor_link_nav {
    background: #f5f5f2;
    margin: 2.25rem 0 0;
    padding: 2rem 1rem .5rem 1.5rem;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav {
        padding: 4rem 1rem 1rem 3rem;
        margin: 4.5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav {
        padding: 2rem 1rem .5rem 2.5rem;
        margin: 4.5rem 0 0
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul {
    display: block;
    flex-wrap: wrap
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul {
        display: flex
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li {
    margin: 0 0 1.5rem;
    padding: 0 2.7rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li {
        margin: 0 2rem 1.5rem 0
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li:last-child {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li:last-child {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li:last-child {
        margin: 0 0 1.5rem
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a {
    line-height: 1;
    font-size: 1.4rem;
    position: relative;
    white-space: nowrap;
    display: block;
    letter-spacing: .05rem
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text {
    color: #333;
    font-size: 1.3rem;
    position: relative;
    display: inline-block;
    z-index: 10;
    padding: 0 0 .3rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text {
        font-size: 1.4rem
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text:before {
        height: 1px
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.text:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a:hover {
        cursor: pointer
    }

    .wedding_white_bg nav.page_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .wedding_white_bg nav.page_section_anchor_link_nav ul li a:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0;
    position: absolute;
    top: 50%;
    right: -2.3rem;
    transform: translateY(-50%);
    border: 1px solid #8e7823;
    width: 1.55rem;
    height: 1.55rem;
    background: 0 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow {
        width: 3.1rem;
        height: 3.1rem;
        left: 0;
        right: auto
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow {
        width: 1.7rem;
        height: 1.7rem;
        left: auto;
        right: -2.3rem;
        margin: 0 auto
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow svg {
    position: absolute;
    top: 53%;
    left: 52%;
    width: .45rem;
    transform: translate(-50%, -50%);
    transform-origin: 50% 50%
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow svg {
        width: .9rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow svg {
        width: .57rem
    }
}

.wedding_white_bg nav.page_section_anchor_link_nav ul li a span.arrow svg use {
    fill: #8e7823;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.ceremony_section p {
    color: #333 !important;
    letter-spacing: 0;
    line-height: 1.7 !important
}

.ceremony_section .wedding_index_contact_block {
    background: url(../image/page_contact_bg.png) center center no-repeat;
    background-size: 100% 100%;
    padding: 5rem 0 0;
    margin: 7.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block {
        padding: 10rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block {
        padding: 8rem 0 0
    }
}

.ceremony_section .wedding_index_contact_block:after {
    content: "";
    position: absolute;
    top: 0;
    width: calc(100% + 3rem);
    left: -1.5rem;
    height: 55%;
    background: url(../image/white_contact_bg__sp.png) 0 bottom no-repeat;
    background-size: cover;
    z-index: 0
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block:after {
        width: calc(100% + 6rem);
        left: -3rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block:after {
        background: url(../image/white_contact_bg.png) 0 bottom no-repeat;
        width: 100%;
        background-size: 100%;
        left: 0
    }
}

.ceremony_section .wedding_index_contact_block .wedding_index_contact_block__title {
    padding: 0 0 3.25rem;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__title {
        padding: 0 0 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__title {
        padding: 0 0 4rem
    }
}

.ceremony_section .wedding_index_contact_block .wedding_index_contact_block__title:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__title:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px .9px
    }
}

.ceremony_section .wedding_index_contact_block .wedding_index_contact_block__middle {
    padding: 2.9rem 0;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__middle {
        padding: 5.8rem 0
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__middle {
        padding: 4.5rem 0 5rem
    }
}

.ceremony_section .wedding_index_contact_block .wedding_index_contact_block__middle:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .2;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .wedding_index_contact_block__middle:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px .9px
    }
}

.ceremony_section .wedding_index_contact_block span.page_contact_block__title_bottom {
    font-size: 1.1rem;
    font-family: ryo-display-plusn, serif;
    text-align: center;
    color: #333;
    display: block;
    line-height: 1;
    margin: 0 0 1rem;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block span.page_contact_block__title_bottom {
        margin: 0 0 2rem;
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block span.page_contact_block__title_bottom {
        margin: 0 0 1rem;
        font-size: 1.2rem
    }
}

.ceremony_section .wedding_index_contact_block span.page_contact_block__tel_num {
    text-align: center;
    display: block;
    color: #333;
    font-family: philosopher, sans-serif;
    font-size: 2.2rem;
    letter-spacing: .2rem;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block span.page_contact_block__tel_num {
        font-size: 4.4rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block span.page_contact_block__tel_num {
        font-size: 3.6rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area {
    display: flex;
    justify-content: center;
    padding: 2.5rem 0 0;
    position: relative;
    justify-content: space-between;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area {
        padding: 5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area {
        padding: 4rem 0 0
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 1px;
    height: 100%;
    opacity: .4;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
    display: flex;
    justify-content: center;
    padding: 3rem 0 4rem;
    background: 0 0;
    color: #fff;
    width: calc(50% - .5rem);
    border-radius: .25rem;
    border: 1px solid #8e7823
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
        height: 18rem;
        border-radius: .5rem;
        width: calc(50% - 1rem)
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair {
        height: 12rem;
        border-radius: .9rem;
        width: calc(50% - 5rem)
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 .75rem;
    font-weight: 700;
    color: #333
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
        margin: 0 0 1.5rem;
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner__form {
        margin: 0;
        font-size: 1.8rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair .page_contact_block__btn_inner_num {
    font-size: 2.6rem;
    font-family: philosopher, sans-serif;
    display: block;
    text-align: center;
    line-height: 1;
    letter-spacing: .2rem
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 1rem auto 0 auto;
    width: 2rem;
    height: 2rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg {
        width: 1.2rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #8e7823;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: #f8f8f6
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover .page_contact_block__btn_inner__form {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        color: #8e7823
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow {
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        border: 1px solid #8e7823
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow:before {
        width: 0;
        height: 0;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__fair:hover span.arrow svg use {
        fill: #8e7823;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    width: calc(50% - .5rem);
    border-radius: .25rem;
    padding: 3rem 0 4rem;
    margin: 0 0 0 2rem;
    background-size: cover;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        height: 18rem;
        border-radius: .5rem;
        width: calc(50% - 1rem)
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form {
        height: 12rem;
        border-radius: .9rem;
        width: calc(50% - 5rem)
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
    opacity: .5;
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1rem
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    font-size: 1.2rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 .75rem;
    font-weight: 700
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        margin: 0 0 1.5rem;
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        margin: 0;
        font-size: 1.6rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto 0 auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    border: 1px solid #fff;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 53%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
        background-size: cover
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid transparent;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .ceremony_section .wedding_index_contact_block .page_contact_block__btn_area a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.ceremony_section nav.ceremony_section_bottom_nav {
    background: #f5f5f2;
    margin: 13rem 0 0;
    border-radius: .3rem
}

.ceremony_section nav.ceremony_section_bottom_nav.page_section_bottom_nav__story {
    margin: 19rem 0 0
}

.ceremony_section nav.ceremony_section_bottom_nav .page_section_bottom_nav__title {
    padding: 2.75rem 1rem 2rem 1.5rem;
    border-bottom: 1px solid #e5e5e5
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav .page_section_bottom_nav__title {
        padding: 5.5rem 2rem 4rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav .page_section_bottom_nav__title {
        padding: 2.5rem 2rem 2.5rem 3rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav h4 {
    color: #333;
    font-size: 1.5rem;
    padding: 0 0 0 .75rem;
    position: relative;
    margin: 0;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav h4 {
        font-size: 3rem;
        padding: 0 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav h4 {
        font-size: 1.8rem;
        padding: 0 0 0 1rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav h4:before {
    content: "";
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
    width: .15rem;
    height: 1.5rem;
    background: #C31111
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav h4:before {
        height: 2.4rem;
        width: .3rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav h4:before {
        height: 1.5rem;
        width: .2rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list {
    display: block;
    align-items: stretch;
    position: relative
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list {
        display: flex
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    background: linear-gradient(180deg, #fff 10%, rgba(255, 255, 255, .6) 77%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1;
    display: none
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:after {
        display: block
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block {
    width: 100%;
    position: relative
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block {
        width: 50%
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block:first-child {
    position: relative
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block:first-child:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1px;
    height: 75%;
    opacity: .4;
    background-image: linear-gradient(to bottom, #333, #333 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 10;
    display: none
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block:first-child:before {
        display: block
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner {
    display: block;
    color: #333;
    padding: 1.5rem 1.5rem 1.75rem;
    position: relative;
    height: 100%;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner {
        padding: 3rem 3rem 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner {
        padding: 3.5rem 3rem 4rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner.ceremony_food_nav_list_block__inner_last {
    padding: 0 1.5rem 2.5rem
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner.ceremony_food_nav_list_block__inner_last {
        padding: 0 3rem 5rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner.ceremony_food_nav_list_block__inner_last {
        padding: 3.5rem 3rem 4rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title {
    color: #333;
    font-family: ryo-display-plusn, serif;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: .2rem;
    display: inline-block;
    margin: 0 0 1.7rem;
    position: relative;
    line-height: 1;
    border-bottom: 1px solid #333
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title {
        font-size: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title {
        font-size: 2rem;
        border-bottom: none
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:after {
        display: block
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:before {
        display: block
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__text {
    color: #333;
    display: block;
    font-size: 1.3rem;
    line-height: 1.6;
    margin: 0
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__text {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__text {
        font-size: 1.2rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    border-radius: .5rem;
    position: relative;
    z-index: 10;
    height: auto;
    margin: 0
}

@media only screen and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb {
        border-radius: .5rem;
        height: 21rem
    }
}

.ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb img {
    margin: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media (min-width:768px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover:after {
        opacity: 0
    }

    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover span.arrow {
        transform: scale(1, 1);
        transition: .4s cubic-bezier(.43, .05, .17, 1)
    }

    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb img {
        transform: scale(1, 1);
        transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
    }

    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner span.page_index_nav__title:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: .5
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .ceremony_section nav.ceremony_section_bottom_nav a.ceremony_food_nav_list:hover .ceremony_food_nav_list_block span.ceremony_food_nav_list_block__inner .thumb img {
        transform: scale(1.03, 1.03)
    }
}

.ceremony_section .ceremony_food_section_bottom_nav {
    margin: 5rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .ceremony_section .ceremony_food_section_bottom_nav {
        margin: 10rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .ceremony_section .ceremony_food_section_bottom_nav {
        margin: 16rem 0 0 !important
    }
}

.ceremony_section .section-carousel {
    margin: 0 0 5rem
}

.ceremony_section .section-carousel .carousel-wrap {
    width: 63rem
}

.ceremony_section .section-carousel .carousel-wrap ul.carousel-slider li {
    width: 100%;
    position: relative;
    margin: 0 3rem 0 0
}

.ceremony_section .section-carousel .carousel-wrap ul.carousel-slider li span.slider_caption {
    color: #333;
    display: block;
    font-size: 1.2rem;
    opacity: .5;
    margin: 1rem 0 0
}

.ceremony_section .section-carousel .carousel-wrap ul.carousel-slider li img {
    width: 100%;
    margin: 0 !important;
    border-radius: .5rem
}

.wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title {
    margin: 0;
    padding: 0;
    font-size: 1.4rem
}

.wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a {
    font-size: 1.8rem;
    line-height: 1;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .15rem;
    color: #333
}

.wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:before {
        height: 1px
    }
}

.wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:hover {
        cursor: pointer
    }

    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_white_bg .page_section_side_nav__ceremony h4.page_section_nav_title a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list {
    margin: 2.5rem 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a {
    padding: 1.5rem 0;
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1.5;
    color: #333;
    letter-spacing: 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a span {
    position: relative;
    z-index: 10
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a span:before {
    display: none
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a span:after {
    display: none
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 5
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f5f5f2;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    z-index: 1
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a.active {
    background: #f5f5f2 !important
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a.active:after {
    opacity: 1 !important;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a.active:before {
    display: block !important
}

@media (min-width:768px) {
    .wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a:hover {
        cursor: pointer
    }

    .wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li a:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li:first-child {
    position: relative
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li:first-child:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 5
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child a {
    border-radius: .5rem .5rem 0 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub {
    position: relative
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li {
    background: url(../image/page_section_side_nav__list__sub_bg.png) 0 0 repeat-y;
    background-size: 100%;
    border-radius: 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a {
    padding: 1.5rem 0 1.5rem 2rem;
    font-size: 1.2rem;
    font-weight: 700;
    position: relative
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: calc(100% - 1rem);
    opacity: .05;
    height: 1px;
    background: #fff;
    background-image: none;
    background-size: auto;
    background-position: center;
    background-repeat: no-repeat
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a:after {
    content: "";
    position: absolute;
    top: calc(50% + .15rem);
    transform: translateY(-50%);
    left: 2rem;
    width: .5rem;
    height: .5rem;
    border-radius: 50%;
    background: #C31111;
    opacity: 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current {
    padding-left: 3rem;
    color: #C31111;
    position: relative;
    background: rgba(0, 0, 0, .2);
    border-radius: 0
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li a.current:after {
    opacity: 1
}

.wedding_white_bg .page_section_side_nav__ceremony ul.page_section_side_nav__list li.has_child ul.page_section_side_nav__list__sub li:last-child a {
    border-radius: 0 0 .5rem .5rem
}

.page_section_side_nav__ceremony ul.page_section_side_nav__list {
    margin: 2.5rem 0 3rem !important
}

.page_section_side_nav__ceremony a.best_price_link {
    position: relative;
    display: block;
    margin: 0 0 2rem
}

@media (min-width:768px) {
    .page_section_side_nav__ceremony a.best_price_link:hover {
        cursor: pointer
    }
}

.page_section_side_nav__ceremony a.best_price_link img.best_price_link__bg {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    letter-spacing: 0rem;
    text-align: center
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text .top_text {
    font-size: 1.2rem;
    color: #fff;
    display: block;
    line-height: 1;
    margin: 0 0 .6rem
}

@media only screen and (min-width:1024px) {
    .page_section_side_nav__ceremony a.best_price_link .best_price_link__text .top_text {
        font-size: 1rem
    }
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text .bottom_text {
    text-shadow: .1rem 0rem .1rem rgba(0, 0, 0, .3);
    font-size: 2.6rem;
    color: #fff;
    display: block;
    line-height: 1;
    font-family: philosopher, sans-serif;
    display: flex;
    align-items: center;
    font-weight: 700;
    margin: 0 0 1rem;
    letter-spacing: .1rem
}

@media only screen and (min-width:1024px) {
    .page_section_side_nav__ceremony a.best_price_link .best_price_link__text .bottom_text {
        font-size: 2.1rem
    }
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text .bottom_text .bottom_text_ja {
    font-family: ryo-display-plusn, serif;
    margin: 0 0 0 .7rem;
    font-size: 2rem
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    width: 3rem;
    height: 3rem;
    position: relative;
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .05);
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow svg {
        width: 1.2rem
    }
}

.page_section_side_nav__ceremony a.best_price_link .best_price_link__text span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .page_section_side_nav__ceremony a.best_price_link:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_section_side_nav__ceremony a.best_price_link:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_section_side_nav__ceremony a.best_price_link:hover span.arrow svg use {
        fill: #4c7228;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

@media (min-width:768px) {
    .page_section_side_nav__ceremony a.best_price_link__ceremony:hover span.arrow svg use {
        fill: #6e3a66;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_section_side_nav__ceremony a.side_contact_link {
    position: relative;
    display: block
}

.page_section_side_nav__ceremony a.side_contact_link:hover {
    cursor: pointer
}

.page_section_side_nav__ceremony a.side_contact_link img.side_contact_link__bg {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0
}

.page_section_side_nav__ceremony a.side_contact_link .side_contact_link__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    letter-spacing: 0rem;
    text-align: center;
    margin: 0 0 1rem
}

.page_section_side_nav__ceremony a.side_contact_link .side_contact_link__text .top_text {
    font-size: 1.2rem;
    color: #8e7823;
    display: block;
    line-height: 1;
    margin: 0 0 1rem
}

.page_section_side_nav__ceremony a.side_contact_link .side_contact_link__text .middle_text {
    font-size: 2.6rem;
    color: #333;
    display: block;
    line-height: 1;
    font-family: philosopher, sans-serif;
    font-weight: 700;
    margin: 0 0 1rem;
    letter-spacing: .1rem
}

.page_section_side_nav__ceremony a.side_contact_link .side_contact_link__text .bottom_text {
    font-size: 1.2rem;
    color: #333;
    opacity: .5;
    display: block;
    line-height: 1.6;
    margin: 0
}

nav.list_block_nav_flex {
    display: block;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.list_block_nav_flex {
        display: flex;
        padding: 0 0 2rem
    }
}

nav.list_block_nav_flex table.list_block_nav__list {
    width: 100%;
    border-collapse: collapse;
    position: relative
}

@media only screen and (min-width:1024px) {
    nav.list_block_nav_flex table.list_block_nav__list {
        width: calc(50% - 2rem)
    }
}

nav.list_block_nav_flex table.list_block_nav__list tr {
    position: relative
}

nav.list_block_nav_flex table.list_block_nav__list tr:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10;
    display: none
}

@media only screen and (min-width:544px) {
    nav.list_block_nav_flex table.list_block_nav__list tr:after {
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

@media only screen and (min-width:1024px) {
    nav.list_block_nav_flex table.list_block_nav__list tr:after {
        display: block
    }
}

nav.list_block_nav_flex table.list_block_nav__list tr th.head {
    line-height: 1.4;
    color: #333;
    background: #f5f5f2;
    width: 9.5rem;
    text-align: left;
    position: relative;
    padding: 1.8rem .75rem 1.8rem 1.5rem;
    font-size: 1.1rem;
    font-weight: 700;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    nav.list_block_nav_flex table.list_block_nav__list tr th.head {
        width: 19rem;
        font-size: 2.2rem;
        padding: 3.6rem 1.5rem 3.6rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    nav.list_block_nav_flex table.list_block_nav__list tr th.head {
        width: 20rem;
        line-height: 1;
        font-size: 1.4rem;
        padding: 2rem 1rem 5rem;
        font-weight: 400
    }
}

nav.list_block_nav_flex table.list_block_nav__list tr td.body {
    line-height: 1;
    color: #333;
    text-align: right;
    position: relative;
    padding: 2rem .75rem 2rem 1.5rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    nav.list_block_nav_flex table.list_block_nav__list tr td.body {
        font-size: 2.2rem;
        padding: 3.6rem 1.5rem 3.6rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    nav.list_block_nav_flex table.list_block_nav__list tr td.body {
        font-size: 1.4rem;
        padding: 2rem 0 5rem 1rem
    }
}

.single_column_gallery {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1.3rem;
    overflow: hidden;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem)
}

@media only screen and (min-width:544px) {
    .single_column_gallery {
        transform: translateX(-3rem);
        margin-top: 2.6rem;
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery {
        width: 100%;
        transform: translateX(0);
        margin-top: 20px
    }
}

.single_column_gallery img {
    width: 100%;
    border-radius: 0;
    margin: 0 0 3rem !important
}

@media only screen and (min-width:544px) {
    .single_column_gallery img {
        margin: 0 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery img {
        width: 100%;
        margin: 0 0 4rem !important;
        border-radius: .5rem
    }
}

.single_column_gallery img:last-child {
    margin: 0
}

.single_column_gallery .accordion:not(:first-of-type) {
    margin-bottom: 100px;
    margin-top: 100px
}

.single_column_gallery .accordion-image {
    overflow: hidden;
    position: relative
}

.single_column_gallery .accordion-image.is-hide {
    height: 85.5rem
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-image.is-hide {
        height: 171rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-image.is-hide {
        height: 157.5rem
    }
}

.single_column_gallery .accordion-image.is-show {
    height: auto
}

.single_column_gallery .accordion-image.is-show img:last-child {
    margin: 0
}

.single_column_gallery .accordion-image:before {
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    bottom: 0;
    content: "";
    height: 32.5rem;
    position: absolute;
    width: 100%
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-image:before {
        height: 65rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-image:before {
        height: 50rem
    }
}

.single_column_gallery .accordion-image.is-show:before {
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    bottom: 0;
    content: "";
    height: 0;
    position: absolute;
    width: 100%
}

.single_column_gallery .accordion-btn {
    bottom: 5rem;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    margin: 0;
    padding: 5px 15px;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    left: 50%;
    width: 14rem;
    height: 14rem;
    z-index: 1;
    border-radius: 50%;
    background: #f5f5f2;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-btn {
        width: 28rem;
        height: 28rem;
        bottom: 10rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-btn {
        width: 14rem;
        height: 14rem;
        bottom: 10rem
    }
}

.single_column_gallery .accordion-btn span.triangle {
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    bottom: 34%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: .75rem .49rem 0;
    border-color: #B49C69 transparent transparent
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-btn span.triangle {
        border-width: 1.5rem .975rem 0
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-btn span.triangle {
        border-width: 8px 5px 0
    }
}

.single_column_gallery .accordion-btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #8e7823;
    z-index: -1;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

.single_column_gallery .accordion-btn:before {
    content: "";
    width: 13rem;
    height: 13rem;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid #8e7823;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 1
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-btn:before {
        width: 26rem;
        height: 26rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-btn:before {
        width: 13rem;
        height: 13rem
    }
}

.single_column_gallery .accordion-btn .text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.single_column_gallery .accordion-btn .text:after {
    content: "続きを見る";
    font-size: 1.2rem;
    color: #8e7823;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (min-width:544px) {
    .single_column_gallery .accordion-btn .text:after {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery .accordion-btn .text:after {
        font-size: 1.4rem
    }
}

@media (min-width:768px) {
    .single_column_gallery .accordion-btn:hover span.triangle {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        border-color: #fff transparent transparent
    }

    .single_column_gallery .accordion-btn:hover:after {
        width: 13rem;
        height: 13rem;
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }

    .single_column_gallery .accordion-btn:hover:before {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 0
    }

    .single_column_gallery .accordion-btn:hover .text:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        color: #fff
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .single_column_gallery .accordion-btn:hover:after {
        width: 26rem;
        height: 26rem
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .single_column_gallery .accordion-btn:hover:after {
        width: 13rem;
        height: 13rem
    }
}

.single_column_gallery .accordion-btn.is-show {
    margin: 4rem 0 10rem;
    bottom: 0;
    position: relative;
    transform: translateX(-50%);
    left: 50%
}

.single_column_gallery .accordion-btn.is-show .text:after {
    content: "閉じる"
}

.single_column_gallery .accordion-btn.is-show span.triangle {
    transform: translate(-50%, 0) rotate(180deg)
}

.single_column_gallery .accordion-btn.is-show+.accordion-text:before {
    display: none
}

.wedding_white_bg .page_header_area__child__ceremony02 {
    padding: 10.75rem 0 3.65rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__ceremony02 {
        padding: 21.5rem 0 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child__ceremony02 {
        padding: 23.2rem 0 7.7rem
    }
}

section.page_section_ceremony_food {
    padding: 3.75rem 0 4.5rem;
    position: relative;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    section.page_section_ceremony_food {
        padding: 7.5rem 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section_ceremony_food {
        padding: 10.3rem 0 16rem
    }
}

section.page_section_ceremony_food .wedding_index_contact_block {
    margin: 6rem 0 0
}

@media only screen and (min-width:544px) {
    section.page_section_ceremony_food .wedding_index_contact_block {
        margin: 12rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    section.page_section_ceremony_food .wedding_index_contact_block {
        margin: 7.5rem 0 0
    }
}

.page_caption_slider__body_ceremony {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body_ceremony {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body_ceremony {
        margin: 0 0 4.5rem
    }
}

.page_caption_slider__body_ceremony_support {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .page_caption_slider__body_ceremony_support {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_caption_slider__body_ceremony_support {
        margin: 0 0 3rem
    }
}

.reception_section {
    width: 100%;
    overflow: hidden
}

.reception_section .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 3.5rem
}

@media only screen and (min-width:544px) {
    .reception_section .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .reception_section .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 10rem 0 5rem
    }
}

.reception_section img {
    margin: 0 0 2.4rem
}

@media only screen and (min-width:544px) {
    .reception_section img {
        margin: 0 0 4.8rem
    }
}

@media only screen and (min-width:1024px) {
    .reception_section img {
        margin: 0 0 3rem
    }
}

.reception_section p {
    line-height: 1.7;
    margin: 0 0 3.75rem
}

@media only screen and (min-width:544px) {
    .reception_section p {
        margin: 0 0 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .reception_section p {
        margin: 0 0 4rem
    }
}

.reception_section .wedding_index_contact_block {
    margin: 7rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .reception_section .wedding_index_contact_block {
        margin: 14rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .reception_section .wedding_index_contact_block {
        margin: 10.5rem 0 0 !important
    }
}

.attendees_section section.top_no_padding_section {
    padding: 0 0 5rem !important
}

@media only screen and (min-width:544px) {
    .attendees_section section.top_no_padding_section {
        padding: 0 0 10rem !important
    }
}

@media only screen and (min-width:1024px) {
    .attendees_section section.top_no_padding_section {
        padding: 0 0 15rem !important
    }
}

.attendees_section .page_section__flex {
    margin: 0 0 2.5rem !important
}

@media only screen and (min-width:544px) {
    .attendees_section .page_section__flex {
        margin: 0 0 5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .attendees_section .page_section__flex {
        margin: 0 0 5rem !important
    }
}

.attendees_section .page_section__flex .order-1 {
    order: 2
}

@media only screen and (min-width:1024px) {
    .attendees_section .page_section__flex .order-1 {
        order: 1
    }
}

.attendees_section .page_section__flex .order-2 {
    order: 1
}

@media only screen and (min-width:1024px) {
    .attendees_section .page_section__flex .order-2 {
        order: 2
    }
}

.attendees_section .page_section__flex img {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .attendees_section .page_section__flex img {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .attendees_section .page_section__flex img {
        margin: 0
    }
}

.attendees_section .page_h2__group__bottom {
    margin: 5rem 0 2rem
}

@media only screen and (min-width:544px) {
    .attendees_section .page_h2__group__bottom {
        margin: 10rem 0 4rem
    }
}

.attendees_section .page_h2__group__bottom_p {
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    .attendees_section .page_h2__group__bottom_p {
        margin: 0 0 3.5rem
    }
}

.attendees_section .wedding_index_contact_block {
    margin: 6.5rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .attendees_section .wedding_index_contact_block {
        margin: 13rem 0 0 !important
    }
}

.original_section {
    width: 100%;
    overflow: hidden
}

.original_section .page_h2__group {
    position: relative;
    padding: 2.95rem 0 0 1.5rem;
    margin: 5rem 0 1.95rem
}

@media only screen and (min-width:544px) {
    .original_section .page_h2__group {
        padding: 5.8rem 0 0 3rem;
        margin: 10rem 0 3.9rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section .page_h2__group {
        padding: 5rem 0 0;
        margin: 10rem 0 5rem
    }
}

.original_section p {
    line-height: 1.7;
    margin: 0 0 4rem
}

.original_section img {
    margin: 0 0 2.35rem
}

@media only screen and (min-width:544px) {
    .original_section img {
        margin: 0 0 4.7rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section img {
        margin: 0 0 3.5rem
    }
}

.original_section .original_section__bottom .page_h2__group {
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    .original_section .original_section__bottom .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section .original_section__bottom .page_h2__group {
        padding: 5rem 0 0;
        margin: 10rem 0 4rem
    }
}

.original_section .original_section__bottom .page_h2__group_no_margin_top {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .original_section .original_section__bottom .page_h2__group_no_margin_top {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section .original_section__bottom .page_h2__group_no_margin_top {
        margin: 0 0 4rem
    }
}

.original_section .original_section__bottom p {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .original_section .original_section__bottom p {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section .original_section__bottom p {
        margin: 0 0 5rem
    }
}

.original_section .original_section__bottom img {
    border-radius: 0
}

@media only screen and (min-width:544px) {
    .original_section .original_section__bottom img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .original_section .original_section__bottom img {
        border-radius: .5rem
    }
}

.original_section .wedding_index_contact_block {
    margin: 6.75rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .original_section .wedding_index_contact_block {
        margin: 13.5rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .original_section .wedding_index_contact_block {
        margin: 12rem 0 0 !important
    }
}

.support_section {
    width: 100%;
    overflow: hidden
}

.support_section section.top_no_padding_section {
    padding: 0 0 15rem !important
}

.support_section .section-carousel {
    margin: 0 0 3rem
}

.support_section img {
    margin: 0 0 2.5rem;
    border-radius: 0
}

@media only screen and (min-width:544px) {
    .support_section img {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .support_section img {
        margin: 0 0 3.5rem;
        border-radius: .5rem
    }
}

.support_section .page_h2__group {
    padding: 3rem 0 0 1.5rem;
    margin: 4.5rem 0 3.75rem
}

@media only screen and (min-width:544px) {
    .support_section .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 9rem 0 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .support_section .page_h2__group {
        padding: 5rem 0 0 !important;
        margin: 10rem 0 4rem !important
    }
}

.support_section p.h3_top_text {
    margin: 0 0 4rem
}

.support_section .page_caption_slider__body_ceremony_support {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .support_section .page_caption_slider__body_ceremony_support {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .support_section .page_caption_slider__body_ceremony_support {
        margin: 0 0 3rem
    }
}

.page_mv_area_white__wrap {
    position: relative
}

.page_mv_area_white__wrap:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 100%;
    background: #fff;
    z-index: -1
}

@media only screen and (min-width:1024px) {
    .page_mv_area_white__wrap:after {
        width: calc(100% - 4rem)
    }
}

.bg_en__img__costume_index {
    width: 100%;
    max-width: 32.25rem;
    top: 0 !important
}

@media only screen and (min-width:544px) {
    .bg_en__img__costume_index {
        max-width: 64.5rem;
        top: 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .bg_en__img__costume_index {
        max-width: 64rem;
        top: .4rem !important
    }
}

.wedding_white_bg .page_header_area__child__costume {
    padding: 10.85rem 0 3.1rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__costume {
        padding: 21.7rem 0 7.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child__costume {
        padding: 23.2rem 0 8rem
    }
}

.wedding_white_bg .page_header_area__child__costume a.page_header_area__h1__link {
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__costume a.page_header_area__h1__link {
        margin-bottom: 1.6rem
    }
}

.wedding_white_bg .page_header_area__child__costume02 {
    padding: 10.85rem 0 3.1rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__costume02 {
        padding: 21.7rem 0 7.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child__costume02 {
        padding: 23.2rem 0 8rem
    }
}

.wedding_white_bg .page_header_area__child__costume02 a.page_header_area__h1__link {
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__costume02 a.page_header_area__h1__link {
        margin-bottom: 1.3rem
    }
}

.wedding_white_bg nav.page_index_nav__costume {
    padding: 0 0 4rem !important
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume {
        padding: 0 0 8rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume {
        padding: 0 0 15.4rem !important
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li {
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li {
        margin: 0
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li:last-child {
    margin: 0
}

.wedding_white_bg nav.page_index_nav__costume ul li a {
    display: flex;
    color: #333;
    padding: 3rem 0;
    position: relative;
    justify-content: space-between
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a {
        padding: 6rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a {
        display: block;
        padding: 6.5rem 4rem 0
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li a .thumb {
    will-change: transform;
    position: relative;
    z-index: 10;
    isolation: isolate;
    display: block;
    overflow: hidden;
    width: 17.25rem;
    border-radius: .25rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a .thumb {
        width: 34.5rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a .thumb {
        width: auto;
        margin: 8rem 0 0
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text_block {
    transform: translateY(0);
    display: block;
    width: calc(100% - 19.25rem);
    position: relative;
    z-index: 10;
    padding: 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text_block {
        width: calc(100% - 38.5rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text_block {
        padding: 0;
        width: 100%
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__title {
    color: #333;
    font-family: ryo-display-plusn, serif;
    font-size: 1.6rem;
    letter-spacing: .05rem;
    font-weight: 400;
    display: inline;
    margin: 0 0 .25rem;
    position: relative;
    line-height: 1.4;
    border-bottom: 1px solid #333
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__title {
        font-size: 3.2rem;
        letter-spacing: .1rem;
        margin: 0 0 .5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__title {
        font-size: 2rem;
        letter-spacing: .2rem;
        margin: 0 0 2rem;
        border-bottom: 1px solid #333;
        display: inline
    }
}

.wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__title:after {
    display: none
}

.wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text {
    color: #333;
    display: block;
    position: relative;
    z-index: 10;
    margin: 1rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text {
        margin: 2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg nav.page_index_nav__costume ul li a span.page_index_nav__text {
        margin: 2rem 0 0
    }
}

.costume_section img {
    border-radius: .25rem;
    margin: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .costume_section img {
        border-radius: .5rem;
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_section img {
        border-radius: .5rem;
        margin: 0 0 3rem
    }
}

.costume_section p {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .costume_section p {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_section p {
        margin: 0 0 5rem
    }
}

.costume_section .gmap {
    padding-bottom: 23.5rem;
    height: 23.5rem;
    margin: 0 0 7rem;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    border-radius: 0
}

@media only screen and (min-width:544px) {
    .costume_section .gmap {
        padding-bottom: 47rem;
        height: 47rem;
        margin: 0 0 14rem;
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        border-radius: 0
    }
}

@media only screen and (min-width:1024px) {
    .costume_section .gmap {
        padding-bottom: 40rem;
        height: 40rem;
        margin: 0 0 13rem;
        width: 100%;
        transform: translateX(0);
        border-radius: .5rem
    }
}

.costume_section .gmap iframe {
    height: 23.5rem
}

@media only screen and (min-width:544px) {
    .costume_section .gmap iframe {
        height: 47rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_section .gmap iframe {
        height: 40rem
    }
}

.costume_section .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
    box-shadow: none !important
}

.page_section__costume {
    position: relative;
    padding: 3.75rem 0 4.5rem
}

@media only screen and (min-width:544px) {
    .page_section__costume {
        padding: 7.5rem 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__costume {
        padding: 10rem 0 23rem
    }
}

a.lightbox_link {
    display: block;
    position: relative;
    border-radius: 0;
    margin: 0 0 2.6rem;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    a.lightbox_link {
        border-radius: 0;
        margin: 0 0 5.2rem
    }
}

@media only screen and (min-width:1024px) {
    a.lightbox_link {
        border-radius: .5rem;
        margin: 0 0 3rem;
        pointer-events: auto
    }
}

a.lightbox_link img {
    border-radius: 0;
    margin: 0;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem)
}

@media only screen and (min-width:544px) {
    a.lightbox_link img {
        width: calc(100% + 6rem);
        transform: translateX(-3rem)
    }
}

@media only screen and (min-width:1024px) {
    a.lightbox_link img {
        border-radius: .5rem;
        width: 100%;
        transform: translateX(0)
    }
}

a.lightbox_link .lb_expansion_text {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    align-items: center;
    display: none
}

@media only screen and (min-width:1024px) {
    a.lightbox_link .lb_expansion_text {
        display: flex
    }
}

a.lightbox_link .lb_expansion_text .text {
    color: #fff;
    line-height: 1;
    margin: 0 10px 0 0
}

a.lightbox_link .lb_expansion_text .cross_btn {
    position: relative;
    width: 28px;
    height: 28px
}

a.lightbox_link .lb_expansion_text .cross_btn span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

a.lightbox_link .lb_expansion_text .cross_btn span:first-child {
    width: 10px;
    height: 2px;
    background: #fff
}

a.lightbox_link .lb_expansion_text .cross_btn span:last-child {
    width: 10px;
    height: 2px;
    background: #fff;
    transform: translate(-50%, -50%) rotate(-90deg)
}

a.lightbox_link .lb_expansion_text .cross_btn:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    border: 1px solid #fff;
    border-radius: 50%;
    z-index: 1
}

#lightbox {
    position: absolute
}

#lightbox .lb-image {
    border: none
}

#lightbox .lb-details {
    display: none
}

#lightbox .lb-dataContainer {
    position: absolute;
    top: -7rem;
    left: 50%;
    transform: translateX(-50%)
}

#lightbox .lb-data .lb-close {
    position: relative;
    display: block;
    float: right;
    filter: alpha(Opacity=70);
    opacity: 1;
    -webkit-transition: opacity .2s;
    -moz-transition: opacity .2s;
    -o-transition: opacity .2s;
    transition: opacity .2s;
    width: 51px;
    height: 51px;
    background: 0 0
}

#lightbox .lb-data .lb-close:after {
    content: "";
    position: absolute;
    width: 15px;
    height: 14px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    background: url(../image/close.png) center center no-repeat !important;
    background-size: cover
}

#lightbox .lb-data .lb-close:before {
    content: "";
    position: absolute;
    width: 51px;
    height: 51px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: .5;
    border: 1px solid #fff;
    border-radius: 50%;
    z-index: -1
}

.costume_section {
    width: 100%;
    overflow: hidden
}

.costume_section .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 3.5rem
}

@media only screen and (min-width:544px) {
    .costume_section .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_section .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 10rem 0 5rem
    }
}

.costume_section table.list_block_nav__list__makeup {
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .costume_section table.list_block_nav__list__makeup {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_section table.list_block_nav__list__makeup {
        margin: 0 0 7rem
    }
}

.costume_section .lightbox_group a.lightbox_link {
    margin: 0 0 2.5rem !important
}

@media only screen and (min-width:544px) {
    .costume_section .lightbox_group a.lightbox_link {
        margin: 0 0 5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .costume_section .lightbox_group a.lightbox_link {
        margin: 0 0 4rem !important
    }
}

.page_section__makeup {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 2.25rem 0 4.5rem
}

@media only screen and (min-width:544px) {
    .page_section__makeup {
        padding: 4.5rem 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__makeup {
        padding: 10rem 0 18.2rem
    }
}

.page_section__makeup .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 2rem
}

@media only screen and (min-width:544px) {
    .page_section__makeup .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__makeup .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 10rem 0 5rem
    }
}

.page_section__makeup .wedding_index_contact_block {
    margin: 7.75rem 0 0
}

@media only screen and (min-width:544px) {
    .page_section__makeup .wedding_index_contact_block {
        margin: 13.5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_section__makeup .wedding_index_contact_block {
        margin: 7.5rem 0 0
    }
}

.photo-movie_section .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem;
    margin: 5rem 0 2.4rem
}

@media only screen and (min-width:544px) {
    .photo-movie_section .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 10rem 0 4.8rem
    }
}

@media only screen and (min-width:1024px) {
    .photo-movie_section .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 10rem 0 5rem
    }
}

.bg_en__img__other_index {
    width: 18.5rem;
    top: .5rem !important
}

@media only screen and (min-width:544px) {
    .bg_en__img__other_index {
        width: 37rem;
        top: 1rem !important
    }
}

@media only screen and (min-width:1024px) {
    .bg_en__img__other_index {
        width: 19.9rem;
        top: .5rem !important
    }
}

nav.page_index_nav__other_top {
    padding: 0 !important
}

@media only screen and (min-width:1024px) {
    nav.page_index_nav__other_top {
        padding: 0 0 8rem !important
    }
}

nav.page_index_nav__other_bottom {
    padding: 0 0 14rem
}

section.top_no_padding_section {
    padding: 0 0 7.5rem !important
}

@media only screen and (min-width:544px) {
    section.top_no_padding_section {
        padding: 0 0 15rem !important
    }
}

.wedding_white_bg .page_header_area__child__other {
    padding: 10.9rem 0 3.2rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__other {
        padding: 21.8rem 0 6.4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child__other {
        padding: 23.5rem 0 7.2rem
    }
}

.wedding_white_bg .page_header_area__child__other .page_header_area__h1 {
    padding: 0 0 2.9rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__child__other .page_header_area__h1 {
        padding: 0 0 6.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__child__other .page_header_area__h1 {
        padding: 0
    }
}

.other_faq_section .page_section_top__text {
    margin-bottom: 2rem !important;
    display: block
}

@media only screen and (min-width:544px) {
    .other_faq_section .page_section_top__text {
        margin-bottom: 4rem !important
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .page_section_top__text {
        margin-bottom: 4rem !important
    }
}

.other_faq_section .c-faqs {
    overflow: hidden;
    margin: 0 0 8rem;
    position: relative
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs {
        margin: 0 0 8rem
    }
}

.other_faq_section .c-faqs:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 2rem;
    width: calc(100% - 3rem);
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    display: block;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    z-index: -2
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs:before {
        left: 3rem;
        width: calc(100% - 6rem);
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #333, #333 1px, transparent 1px);
        background-size: 3px 1px
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs:before {
        display: none
    }
}

.other_faq_section .c-faqs .item {
    position: relative;
    font-size: 1.3rem;
    transition: .6s
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item {
        font-size: 1.6rem
    }
}

.other_faq_section .c-faqs .item:first-child:before {
    top: 0 !important
}

.other_faq_section .c-faqs .item:before {
    content: "";
    position: absolute;
    top: -.1rem;
    left: 2rem;
    width: calc(100% - 3rem);
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #333, #333 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    display: block;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    z-index: -2
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item:before {
        left: 3rem;
        width: calc(100% - 6rem);
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #333, #333 1px, transparent 1px);
        background-size: 3px 1px
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item:before {
        display: none
    }
}

.other_faq_section .c-faqs .item:after {
    content: "";
    background: #f8f8f8;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
    z-index: -1
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item:after {
        background: #f5f5f2
    }
}

.other_faq_section .c-faqs .item__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    padding: 2.5rem 0 2.5rem 1.5rem;
    border-top: transparent;
    cursor: pointer
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl {
        padding: 5rem 0 5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl {
        padding: 4rem 0 4rem 2rem;
        border-top: rgba(51, 51, 51, .1) solid 1px
    }
}

.other_faq_section .c-faqs .item__ttl .item__ttl_q {
    color: #8e7823;
    font-size: 1.9rem;
    width: 2.5rem;
    font-family: philosopher, sans-serif;
    display: block;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl .item__ttl_q {
        font-size: 3.8rem;
        width: 5rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl .item__ttl_q {
        font-size: 2.4rem;
        width: 5rem
    }
}

.other_faq_section .c-faqs .item__ttl p {
    margin: 0;
    position: relative;
    width: 100%;
    padding: 0 5rem 0 0
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl p {
        padding: 0 10rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl p {
        padding: 0 5rem 0 0
    }
}

.other_faq_section .c-faqs .item__ttl .icon {
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: all .5s cubic-bezier(.43, .05, .17, 1) 0s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: absolute;
    right: 1.5rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #f5f5f2;
    border: 1px solid #f5f5f2;
    top: 0
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl .icon {
        right: 3rem;
        width: 4rem;
        height: 4rem;
        top: 0
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl .icon {
        right: 2.5rem;
        width: 2.8rem;
        height: 2.8rem;
        top: 0
    }
}

.other_faq_section .c-faqs .item__ttl .icon:before {
    -webkit-transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .7rem;
    height: .1rem;
    background: #8e7823
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl .icon:before {
        width: 1.4rem;
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl .icon:before {
        width: 1rem;
        height: .2rem
    }
}

.other_faq_section .c-faqs .item__ttl .icon:after {
    -webkit-transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .5s cubic-bezier(.43, .05, .17, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .1rem;
    height: .7rem;
    background: #8e7823
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__ttl .icon:after {
        height: 1.4rem;
        width: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__ttl .icon:after {
        height: 1rem;
        width: .2rem
    }
}

.other_faq_section .c-faqs .item__body {
    position: relative;
    z-index: 10;
    transform: translateY(-2rem);
    padding: 0 1.5rem 1.5rem;
    color: rgba(51, 51, 51, .7);
    display: none;
    line-height: 1.7;
    opacity: 0;
    -webkit-transition: opacity .8s cubic-bezier(.43, .05, .17, 1) 0s;
    transition: opacity .8s cubic-bezier(.43, .05, .17, 1) 0s
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__body {
        padding: 0 3rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__body {
        padding: 0 2rem 3rem
    }
}

.other_faq_section .c-faqs .item__body .item__body__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative
}

.other_faq_section .c-faqs .item__body .item__ttl_a {
    font-family: philosopher, sans-serif;
    font-size: 1.9rem;
    line-height: 1;
    width: 2.5rem;
    padding: .1rem 0 0 .2rem
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__body .item__ttl_a {
        font-size: 3.8rem;
        width: 5rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__body .item__ttl_a {
        font-size: 2.4rem;
        width: 5rem
    }
}

.other_faq_section .c-faqs .item__body p {
    margin: 0;
    padding: 0;
    color: rgba(51, 51, 51, .7)
}

.other_faq_section .c-faqs .item__body p {
    color: rgba(51, 51, 51, .7);
    margin: 0;
    position: relative;
    width: 100%;
    padding: 0
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item__body p {
        padding: 0
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item__body p {
        padding: 0
    }
}

@media (min-width:768px) {
    .other_faq_section .c-faqs .item:hover:before {
        opacity: 0;
        -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
        transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s
    }

    .other_faq_section .c-faqs .item:hover:after {
        opacity: 1;
        -webkit-transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s;
        transition: all .5s cubic-bezier(.26, .06, 0, 1) 0s
    }

    .other_faq_section .c-faqs .item:hover .icon {
        -webkit-transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
        transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
        -webkit-box-sizing: border-box;
        transform: scale(1, 1);
        border: 1px solid #c5bea2
    }
}

.other_faq_section .c-faqs .item.is-open {
    transition: .6s
}

.other_faq_section .c-faqs .item.is-open:before {
    opacity: 0
}

.other_faq_section .c-faqs .item.is-open:after {
    background: #f8f8f8
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item.is-open:after {
        background: #f5f5f2;
        background: linear-gradient(180deg, rgba(245, 245, 242, .5) 30%, rgba(245, 245, 242, 0) 100%)
    }
}

.other_faq_section .c-faqs .item.is-open .item__ttl {
    padding: 2.5rem 0 2.5rem 1.5rem
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item.is-open .item__ttl {
        padding: 5rem 0 5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item.is-open .item__ttl {
        padding: 4rem 0 4rem 2rem
    }
}

.other_faq_section .c-faqs .item.is-open .item__body {
    opacity: .7
}

.other_faq_section .c-faqs .item.is-open:after {
    opacity: 1
}

.other_faq_section .c-faqs .item.is-open .icon {
    -webkit-transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    display: block;
    position: absolute;
    top: 0;
    right: 1.5rem;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, .5);
    transform: scale(1, 1);
    border: 1px solid #c5bea2;
    background: #fff
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item.is-open .icon {
        right: 3rem;
        width: 4rem;
        height: 4rem;
        top: 0
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item.is-open .icon {
        right: 2.5rem;
        width: 2.8rem;
        height: 2.8rem;
        top: 0
    }
}

.other_faq_section .c-faqs .item.is-open .icon:before {
    -webkit-transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .7rem;
    height: .1rem;
    opacity: 1;
    background: #8e7823
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item.is-open .icon:before {
        width: 1.4rem;
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .other_faq_section .c-faqs .item.is-open .icon:before {
        width: 1rem;
        height: .2rem
    }
}

.other_faq_section .c-faqs .item.is-open .icon:after {
    -webkit-transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0, 0) !important;
    width: .2rem;
    height: 1rem;
    opacity: 1;
    background: #8e7823
}

.other_faq_section .c-faqs .item.active_border:before {
    opacity: .15;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .other_faq_section .c-faqs .item.active_border:before {
        opacity: .3
    }
}

.page_mv_area__top_port {
    position: relative;
    top: 0;
    left: 0;
    z-index: 1;
    height: auto;
    overflow: hidden;
    background-position-y: -100px;
    z-index: 1;
    background-size: auto 125%
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_port {
        height: 58rem;
        position: absolute;
        background-size: auto 128%;
        background-repeat: no-repeat
    }
}

.page_mv_area__top_port img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_port img {
        position: static
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_port img {
        position: relative
    }
}

.page_header_area__photoreport {
    margin: 0 0 3rem !important;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .page_header_area__photoreport {
        margin: 0 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__photoreport {
        margin: 15rem 0 1rem !important
    }
}

.page_header_area__photoreport h1 {
    line-height: 1 !important;
    margin: 1rem 0 7rem
}

.photoreport_section.page_section__top_fix {
    padding: 2rem 0 0
}

@media only screen and (min-width:544px) {
    .photoreport_section.page_section__top_fix {
        padding: 4rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .photoreport_section.page_section__top_fix {
        padding: 48.5rem 0 2rem
    }
}

.photoreport_section .page_section_anchor_link_nav {
    margin: 2.75rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .photoreport_section .page_section_anchor_link_nav {
        margin: 5.5rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .photoreport_section .page_section_anchor_link_nav {
        margin: 5.5rem 0 0 !important
    }
}

.photoreport_section .page_h2__group {
    position: relative;
    padding: 3rem 0 0 1.5rem !important;
    margin: 5rem 0 2.75rem
}

@media only screen and (min-width:544px) {
    .photoreport_section .page_h2__group {
        padding: 6rem 0 0 3rem !important;
        margin: 10rem 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .photoreport_section .page_h2__group {
        padding: 5rem 0 0 !important;
        margin: 10rem 0 4rem
    }
}

.photoreport_section .wedding_index_contact_block {
    margin: 6.5rem 0 0 !important
}

@media only screen and (min-width:544px) {
    .photoreport_section .wedding_index_contact_block {
        margin: 13rem 0 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .photoreport_section .wedding_index_contact_block {
        margin: 10.5rem 0 0 !important
    }
}

table.list_block_nav__list {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list {
        margin: 0 0 4rem
    }
}

table.list_block_nav__list tr th.head {
    line-height: 1;
    color: #333;
    background: #f5f5f2;
    width: 9.5rem;
    text-align: left;
    position: relative;
    padding: 1.6rem 1.5rem 2rem;
    font-size: 1.1rem;
    font-weight: 700;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list tr th.head {
        width: 19rem;
        font-size: 2.2rem;
        padding: 3.2rem 3rem 4rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list tr th.head {
        width: 15rem;
        font-weight: 400;
        font-size: 1.4rem;
        padding: 1.7rem 1rem 5rem 1.7rem
    }
}

table.list_block_nav__list tr th.head:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list tr th.head:after {
        width: calc(100% - 1px);
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: .35rem 1px
    }
}

table.list_block_nav__list tr td.body {
    line-height: 1.5;
    color: #333;
    text-align: left;
    position: relative;
    padding: 1.6rem .75rem 2rem 1.5rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list tr td.body {
        font-size: 2.2rem;
        padding: 3.2rem 1.5rem 4rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list tr td.body {
        line-height: 1;
        font-size: 1.4rem;
        padding: 1.7rem 0 5rem 3rem
    }
}

table.list_block_nav__list tr td.body:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list tr td.body:after {
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: .35rem 1px
    }
}

ul.caution_list__black li {
    opacity: 1;
    font-size: 1.4rem
}

.other_assurance_section {
    width: 100%;
    overflow: hidden
}

.other_assurance_section .page_h2__group {
    padding: 3rem 0 0 1.5rem;
    margin: 4.25rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    .other_assurance_section .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 8.5rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_assurance_section .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 9rem 0 1.5rem
    }
}

.other_assurance_section .wedding_index_contact_block {
    margin: 5rem 0 0
}

@media only screen and (min-width:544px) {
    .other_assurance_section .wedding_index_contact_block {
        padding: 10rem 0 0;
        margin: 10rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .other_assurance_section .wedding_index_contact_block {
        padding: 10rem 0 0;
        margin: 7.5rem 0 0
    }
}

.other_assurance_section ul.caution_list__black {
    margin: 1.5rem 0 0
}

@media only screen and (min-width:544px) {
    .other_assurance_section ul.caution_list__black {
        margin: 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .other_assurance_section ul.caution_list__black {
        margin: 0
    }
}

.other_assurance_section ul.caution_list__black li {
    opacity: 1 !important;
    font-size: 1.1rem;
    color: #333
}

@media only screen and (min-width:544px) {
    .other_assurance_section ul.caution_list__black li {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .other_assurance_section ul.caution_list__black li {
        color: #333;
        font-size: 1.4rem;
        opacity: .5 !important
    }
}

.other_prevention_section {
    width: 100%;
    overflow: hidden
}

.other_prevention_section .page_h2__group {
    margin: 4.75rem 0 2.25rem
}

@media only screen and (min-width:544px) {
    .other_prevention_section .page_h2__group {
        margin: 9.5rem 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .page_h2__group {
        margin: 9.5rem 0 2.5rem
    }
}

.other_prevention_section .page_caption_slider__body {
    margin: 0 0 5rem
}

.other_prevention_section .page_caption_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
    box-shadow: none !important
}

.other_prevention_section .wedding_index_contact_block {
    margin: 7.5rem 0 0
}

@media only screen and (min-width:544px) {
    .other_prevention_section .wedding_index_contact_block {
        margin: 15rem 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .wedding_index_contact_block {
        margin: 8rem 0 0
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block {
    display: flex;
    align-items: start;
    justify-content: space-between;
    margin: 0 0 2.25rem;
    min-height: 5rem
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block {
        min-height: 10rem;
        margin: 0 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block {
        min-height: auto;
        margin: 0 0 4rem
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block.other_corona_list__block__last {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block.other_corona_list__block__last {
        margin: 0 0 4rem
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left {
    position: relative;
    width: 4.05rem;
    height: 4.05rem;
    display: block
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left {
        width: 8.1rem;
        height: 8.1rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left {
        width: 5.1rem;
        height: 5.1rem
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:before {
    content: "";
    position: absolute;
    right: -1.5rem;
    top: 0;
    transform: translateY(0%);
    background: #e5e5e5;
    width: 1px;
    height: 5rem;
    z-index: 1;
    display: none
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:before {
        display: none
    }
}

@media only screen and (min-width:768px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:before {
        height: 10rem;
        right: -3rem;
        display: block
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:before {
        height: 5rem;
        top: 50%;
        transform: translateY(-50%)
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left span.num {
    font-family: philosopher, sans-serif;
    color: #333;
    font-size: 1.5rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    line-height: 1;
    display: block;
    margin: 0 3rem 0 0
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left span.num {
        font-size: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left span.num {
        font-size: 2rem
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #f5f5f2;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    width: 4.05rem;
    height: 4.05rem;
    z-index: 1
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:after {
        width: 8.1rem;
        height: 8.1rem
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_left:after {
        width: 5.1rem;
        height: 5.1rem
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_right {
    color: #333;
    padding: 0 0 0 1.9rem;
    line-height: 1.65;
    width: calc(100% - 5.55rem);
    font-size: 1.2rem;
    transform: translateY(-.5rem)
}

@media only screen and (min-width:544px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_right {
        font-size: 2.4rem;
        padding: 0 0 0 3.8rem;
        width: calc(100% - 11.1rem);
        transform: translateY(-1rem)
    }
}

@media only screen and (min-width:1024px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_right {
        line-height: 1.8;
        font-size: 1.4rem;
        padding: 0 0 0 3rem;
        width: calc(100% - 8.1rem);
        transform: translateY(0rem)
    }
}

.other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_right:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    transform: translateY(0%);
    background: #e5e5e5;
    width: 1px;
    height: 100%;
    z-index: 1;
    display: block
}

@media only screen and (min-width:768px) {
    .other_prevention_section .other_corona_list .other_corona_list__block .other_corona_list__block_right:before {
        display: none
    }
}

.other_online_section .page_section__contents .page_h2__group {
    padding: 3rem 0 0 1.5rem;
    margin: 2.25rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    .other_online_section .page_section__contents .page_h2__group {
        padding: 6rem 0 0 3rem;
        margin: 4.5rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_online_section .page_section__contents .page_h2__group {
        padding: 2.8rem 0 0;
        margin: 4.5rem 0 2.5rem
    }
}

.other_online_section .page_section__contents .page_h2__group__other_top {
    padding: 3.15rem 0 0 1.5rem;
    margin: 4.5rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    .other_online_section .page_section__contents .page_h2__group__other_top {
        padding: 6.3rem 0 0 3rem;
        margin: 9rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .other_online_section .page_section__contents .page_h2__group__other_top {
        padding: 2.8rem 0 0;
        margin: 7.5rem 0 2.5rem
    }
}

.other_online_section .page_section__contents img {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .other_online_section .page_section__contents img {
        margin: 0 0 10rem
    }
}

.other_online_section .page_section__flex__other {
    margin: 0 0 2.5rem !important
}

@media only screen and (min-width:544px) {
    .other_online_section .page_section__flex__other {
        margin: 0 0 5rem !important
    }
}

.other_online_section .page_section__flex__other img {
    margin: 0
}

.other_online_section .wedding_index_contact_block {
    margin: 6rem 0 0
}

@media only screen and (min-width:544px) {
    .other_online_section .wedding_index_contact_block {
        margin: 12rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .other_online_section .wedding_index_contact_block {
        margin: 8.5rem 0 0
    }
}

.other_online_section img.sp_full_width_img {
    transform: translateX(-1.5rem);
    width: calc(100% + 3rem);
    border-radius: 0
}

@media only screen and (min-width:544px) {
    .other_online_section img.sp_full_width_img {
        transform: translateX(-3rem);
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .other_online_section img.sp_full_width_img {
        width: 100%;
        transform: translateX(0);
        border-radius: .5rem
    }
}

.other_online_section a.page_contents_link__black span.text {
    font-weight: 400
}

@media only screen and (min-width:1024px) {
    .other_online_section a.page_contents_link__black span.text {
        font-weight: 700
    }
}

.other_fair_section {
    padding: 10rem 0 9rem !important
}

.other_plan_section {
    padding: 11.5rem 0 !important
}

.wedding_index_contact_section__other {
    padding: 7.25rem 0 6.9rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_section__other {
        padding: 14.5rem 0 13.8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_section__other {
        padding: 14.5rem 0
    }
}

.wedding_white_bg .page_header_area__feature {
    padding: 12.25rem 0 3.5rem;
    margin: 0;
    color: #fff
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__feature {
        padding: 24.5rem 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__feature {
        padding: 26.5rem 0 8rem
    }
}

.page_header_area .page_header_area__h1 .bg_en__img__feature_index {
    width: 24.2rem;
    top: -1rem
}

@media only screen and (min-width:544px) {
    .page_header_area .page_header_area__h1 .bg_en__img__feature_index {
        width: 48.4rem;
        top: -2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area .page_header_area__h1 .bg_en__img__feature_index {
        width: 25.5rem;
        top: 1rem
    }
}

a.page_contents_link__black span.text {
    color: #333;
    font-weight: 700
}

@media only screen and (min-width:1024px) {
    a.page_contents_link__black span.text {
        font-weight: 400
    }
}

a.page_contents_link__black span.text:before {
    background: #333
}

a.page_contents_link__black span.text:after {
    background: #333
}

.page_wrap__mv_wrap {
    position: relative;
    margin: 0 0 -13rem;
    background: #fff
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap {
        background: 0 0
    }
}

.page_wrap__mv_wrap:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    margin: 0 auto;
    height: 100%;
    width: calc(100% - 3rem);
    display: none
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap:before {
        width: calc(100% - 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap:before {
        display: block;
        width: calc(100% - 4rem);
        height: calc(100% - 13rem)
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro {
    position: relative;
    width: calc(100% - 3rem);
    padding-right: 0 !important;
    padding-left: 0 !important;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    box-sizing: border-box;
    color: #333;
    top: -5rem
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro {
        width: calc(100% - 6rem);
        top: -10rem
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro {
        top: -13rem;
        width: 100%;
        max-width: 1000px;
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1140px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro {
        max-width: 1100px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro {
        max-width: 1350px;
        padding-right: 0;
        padding-left: 0
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro:before {
    content: "";
    position: absolute;
    top: 0;
    height: calc(100% - 10.15rem);
    width: 100%;
    z-index: 1;
    background: url(../image/wedding_bg_sp.png) 0 0 repeat;
    left: 0;
    transform: translateX(0%)
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro:before {
        height: calc(100% - 20.3rem)
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro:before {
        height: calc(100% - 14.5rem);
        background: url(../image/wedding_bg.png) 0 0 repeat;
        left: 50%;
        transform: translateX(-50%)
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__inner {
    display: block;
    justify-content: space-between;
    padding: 7rem 3.2rem 0
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__inner {
        padding: 14rem 6.4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__inner {
        padding: 10rem 8rem 0;
        display: flex
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__left {
    width: 100%;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__left {
        width: 43rem
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__left p {
    margin: 0 0 1rem;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__left p {
        margin: 0 0 2rem;
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__left p {
        margin: 0 0 3.5rem;
        font-size: 1.4rem
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right {
    width: 100%;
    position: relative;
    z-index: 10;
    padding: 4.5rem 0 0;
    transform: translateY(0rem)
}

@media only screen and (min-width:544px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__right {
        padding: 9rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__right {
        width: 44rem;
        padding: 3rem 0 0;
        transform: translateY(-8rem)
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content {
    display: none
}

@media only screen and (min-width:1024px) {
    .page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content {
        flex-wrap: wrap;
        justify-content: space-between;
        display: flex
    }
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax {
    width: 21rem;
    margin: 0 0 2rem
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax:nth-child(2n+1) {
    transform: translateY(-8rem)
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax:nth-child(3) {
    margin: -5.5rem 0 0;
    transform: translateY(-12.5rem)
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax:nth-child(4) {
    margin: -5.5rem 0 0;
    transform: translateY(-4.5rem)
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax .simpleParallax {
    border-radius: .5rem
}

.page_wrap__mv_wrap .page_mv_bottom_intro__right .pc_img_content .parallax img {
    border-radius: .5rem
}

.feature_swiper_area {
    display: flex;
    align-items: flex-start
}

@media only screen and (min-width:1024px) {
    .feature_swiper_area {
        display: none
    }
}

.feature_swiper_area .wedding_swiper_slider {
    margin: 0 auto;
    overflow: visible;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1);
    width: 50%
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__last {
    margin: 4rem 0 0
}

@media only screen and (min-width:544px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__last {
        margin: 8rem 0 0
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp {
    display: block;
    position: relative
}

@media only screen and (min-width:1024px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp {
        display: none
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .simpleParallax {
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .simpleParallax {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .simpleParallax {
        border-radius: .5rem
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block {
    position: absolute;
    left: 0;
    bottom: -2rem;
    width: 4.5rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block {
        width: 8rem;
        bottom: -4rem
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
    bottom: 0;
    position: relative;
    text-align: left;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    display: flex;
    justify-content: space-between;
    font-family: philosopher, sans-serif;
    font-size: .9rem
}

@media only screen and (min-width:544px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
        display: flex;
        font-size: 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination {
        display: none
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination .swiper-pagination-current {
    color: #8e7823
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination .swiper-pagination-total {
    color: #333;
    opacity: .5
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .swiper-pagination:after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: 40%;
    background: #fff;
    z-index: 1;
    display: block
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar {
    position: absolute;
    width: 1.5rem;
    height: 1px;
    background: rgba(51, 51, 51, .1);
    overflow: hidden;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

@media only screen and (min-width:544px) {
    .feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar {
        width: 3rem;
        height: 2px
    }
}

.feature_swiper_area .wedding_swiper_slider.wedding_swiper_slider__sp .swiper-pagination__block .progressbar span {
    display: inline-block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    transform-origin: left center;
    background: #8e7823;
    transform: scaleX(0);
    transition-timing-function: linear;
    z-index: 10
}

.page_h2__group_feature {
    width: 100%;
    padding: 0;
    position: relative;
    margin: 0 0 1.25rem
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature {
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature {
        padding: 5rem 0 0;
        margin: 0 0 3.5rem
    }
}

.page_h2__group_feature:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #c90;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature:before {
        display: block
    }
}

.page_h2__group_feature:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #000;
    opacity: .1;
    display: none
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature:after {
        width: 100%;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature:after {
        display: block;
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

.page_h2__group_feature span {
    color: #C31111;
    display: block;
    font-size: 1rem;
    line-height: 1;
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature span {
        font-size: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature span {
        font-size: 1.2rem
    }
}

.page_h2__group_feature h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0;
    letter-spacing: 0rem
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature h2 {
        font-size: 3.6rem;
        letter-spacing: .05rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature h2 {
        font-size: 2.4rem;
        letter-spacing: .15rem
    }
}

.page_h2__group_feature02 {
    width: 100%;
    position: relative;
    padding: 3.25rem 0 0;
    margin: 0 0 1.25rem
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature02 {
        padding: 6.5rem 0 0;
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature02 {
        padding: 5rem 0 0;
        margin: 0 0 3.5rem
    }
}

.page_h2__group_feature02:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #c90;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature02:before {
        display: block
    }
}

.page_h2__group_feature02:after {
    content: "";
    position: absolute;
    top: 0;
    right: -1.5rem;
    width: calc(100% + 3rem);
    height: .4rem;
    background: #f5f5f2;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature02:after {
        width: calc(100% + 6rem);
        height: .8rem;
        right: -3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature02:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px;
        right: 0;
        background: #000
    }
}

.page_h2__group_feature02 span {
    color: #C31111;
    display: block;
    font-size: 1rem;
    line-height: 1;
    margin: 0
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature02 span {
        font-size: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature02 span {
        font-size: 1.2rem
    }
}

.page_h2__group_feature02 h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0;
    letter-spacing: 0rem
}

@media only screen and (min-width:544px) {
    .page_h2__group_feature02 h2 {
        font-size: 3.6rem;
        letter-spacing: .05rem
    }
}

@media only screen and (min-width:1024px) {
    .page_h2__group_feature02 h2 {
        font-size: 2.4rem;
        letter-spacing: .15rem
    }
}

.full_width_column {
    width: 100%;
    overflow: hidden;
    padding: 15.25rem 1.5rem 2.75rem;
    position: relative;
    background: #fff
}

@media only screen and (min-width:544px) {
    .full_width_column {
        padding: 17.5rem 3rem 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column {
        padding: 10rem 0 8rem;
        background: 0 0
    }
}

.full_width_column:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    margin: 0 auto;
    height: 100%;
    width: calc(100% - 3rem);
    z-index: -1;
    display: none
}

@media only screen and (min-width:544px) {
    .full_width_column:before {
        width: calc(100% - 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column:before {
        display: block;
        width: calc(100% - 4rem)
    }
}

.full_width_column .full_width_column__inner {
    display: block;
    justify-content: space-between;
    align-items: center;
    max-width: 1000px;
    margin: auto
}

@media only screen and (min-width:1024px) {
    .full_width_column .full_width_column__inner {
        display: flex
    }
}

.full_width_column p {
    margin: 0 0 2rem;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .full_width_column p {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column p {
        font-size: 1.4rem
    }
}

.full_width_column p.full_width_column_bottom_p {
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .full_width_column p.full_width_column_bottom_p {
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column p.full_width_column_bottom_p {
        margin: 0 0 4rem
    }
}

.full_width_column .reverse {
    flex-direction: row-reverse
}

.full_width_column .column {
    width: 100%
}

@media only screen and (min-width:1024px) {
    .full_width_column .column {
        width: 55%
    }
}

.full_width_column .column-text {
    width: 100%;
    transform: translateY(0rem);
    order: 2;
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .full_width_column .column-text {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column .column-text {
        margin: 0;
        width: 47%;
        transform: translateY(-2rem)
    }
}

.full_width_column .column-outside-left {
    flex: 1;
    margin-left: 0;
    margin-right: 0;
    order: 1;
    max-width: 90%;
    width: 28.5rem;
    margin: 0 auto
}

@media only screen and (min-width:544px) {
    .full_width_column .column-outside-left {
        width: 57rem;
        margin: 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column .column-outside-left {
        width: 100%;
        margin: 0;
        margin-left: calc(50% - 50vw);
        margin-right: 6rem
    }
}

.full_width_column .column-outside-left .simpleParallax {
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .full_width_column .column-outside-left .simpleParallax {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column .column-outside-left .simpleParallax {
        border-radius: 0 .5rem .5rem 0
    }
}

.full_width_column .column-outside-left img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0 .25rem .25rem 0
}

@media only screen and (min-width:544px) {
    .full_width_column .column-outside-left img {
        border-radius: 0 .5rem .5rem 0
    }
}

@media only screen and (min-width:1024px) {
    .full_width_column .column-outside-left img {
        border-radius: 0 .5rem .5rem 0
    }
}

.feature_gallery_wrap {
    width: 100%;
    padding: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap {
        padding: 0 0 13rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap {
        padding: 0 0 8rem
    }
}

.feature_gallery_wrap .gallery_area {
    padding: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area {
        padding: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area {
        padding: 0 0 4.1rem
    }
}

.feature_gallery_wrap .gallery_area .sp_img {
    display: block !important
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .sp_img {
        display: none !important
    }
}

.feature_gallery_wrap .gallery_area .pc_img {
    display: none !important
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .pc_img {
        display: block !important
    }
}

.feature_gallery_wrap .gallery_area img {
    display: block;
    border-radius: .25rem;
    width: 100%;
    height: auto
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area img {
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .simpleParallax {
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .simpleParallax {
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .g01 {
    display: block;
    width: 26.35rem;
    margin: 0 0 3rem auto;
    border-radius: .25rem;
    max-width: 85%
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .g01 {
        width: 52.7rem;
        margin: 0 0 6rem auto;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .g01 {
        width: 84.6rem;
        margin: 0 0 8rem auto;
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .gallery_center_area {
    display: flex;
    align-items: start;
    margin: 0
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .gallery_center_area {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .gallery_center_area {
        margin: 0 0 3rem
    }
}

.feature_gallery_wrap .gallery_area .simpleParallax {
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .simpleParallax {
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .g02 {
    width: 11rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .g02 {
        width: 22rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .g02 {
        width: 31.3rem;
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .g03 {
    width: 17.5rem;
    margin: 2rem 0 3rem 3rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .g03 {
        width: 35rem;
        margin: 4rem 0 6rem 6rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .g03 {
        width: 53.2rem;
        margin: 8rem 0 0 8rem;
        border-radius: .5rem
    }
}

.feature_gallery_wrap .gallery_area .g04 {
    width: 13.8rem;
    margin: 0 0 0 6.5rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .feature_gallery_wrap .gallery_area .g04 {
        width: 27.6rem;
        margin: 0 0 0 13rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_gallery_wrap .gallery_area .g04 {
        width: 41rem;
        margin: 0 0 0 20rem;
        border-radius: .5rem
    }
}

.feature_matou_section {
    padding: 7rem 0 7.4rem;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .feature_matou_section {
        padding: 14rem 0 14.8rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_matou_section {
        padding: 10rem 0
    }
}

.feature_matou_section .feature_title_flex_group {
    display: block;
    justify-content: space-between;
    position: relative;
    padding: 0;
    margin: 0 0 4.15rem
}

@media only screen and (min-width:544px) {
    .feature_matou_section .feature_title_flex_group {
        display: block;
        margin: 0 0 8.3rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_matou_section .feature_title_flex_group {
        display: flex;
        padding: 5.5rem 0 0;
        margin: 0 0 11rem
    }
}

.feature_matou_section .feature_title_flex_group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #c90;
    display: none
}

@media only screen and (min-width:1024px) {
    .feature_matou_section .feature_title_flex_group:before {
        display: block
    }
}

.feature_matou_section .feature_title_flex_group:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: .4rem;
    background: #000;
    opacity: .1;
    display: none
}

@media only screen and (min-width:544px) {
    .feature_matou_section .feature_title_flex_group:after {
        width: 100%;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .feature_matou_section .feature_title_flex_group:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px;
        display: block
    }
}

.feature_matou_section .feature_title_flex_group h2 {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    margin: 0 0 1.5rem;
    letter-spacing: 0rem
}

@media only screen and (min-width:544px) {
    .feature_matou_section .feature_title_flex_group h2 {
        font-size: 3.6rem;
        letter-spacing: .05rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_matou_section .feature_title_flex_group h2 {
        font-size: 2.4rem;
        letter-spacing: .15rem;
        margin: 0
    }
}

.feature_matou_section .feature_title_flex_group .feature_title_flex_group__right p {
    margin: 0 0 1.25rem
}

@media only screen and (min-width:544px) {
    .feature_matou_section .feature_title_flex_group .feature_title_flex_group__right p {
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_matou_section .feature_title_flex_group .feature_title_flex_group__right p {
        margin: 0 0 3.5rem
    }
}

.feature_matou_section a.wedding_circle_link_btn {
    margin: 0 auto !important
}

.top_costume_img_group {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .top_costume_img_group {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .top_costume_img_group {
        margin: 0 0 10rem
    }
}

.costume_img_group__top img {
    border-radius: 0;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    margin: 0 0 1rem
}

@media only screen and (min-width:544px) {
    .costume_img_group__top img {
        margin: 0 0 2rem;
        border-radius: 0;
        width: calc(100% + 6rem);
        transform: translateX(-3rem)
    }
}

@media only screen and (min-width:1024px) {
    .costume_img_group__top img {
        margin: 0 0 1.5rem;
        border-radius: .5rem;
        width: 100%;
        transform: translateX(0)
    }
}

.costume_img_group__top .caption_txt {
    color: #333
}

.costume_img_group img {
    width: 100%;
    margin: 0 0 .75rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .costume_img_group img {
        margin: 0 0 1.5rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .costume_img_group img {
        margin: 0 0 1.5rem;
        border-radius: .5rem;
        width: 100%
    }
}

.costume_img_group .caption_txt {
    color: #333
}

.feature_costume_slider__body {
    width: 100%;
    overflow: visible;
    margin: 0 0 3.5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .feature_costume_slider__body {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_costume_slider__body {
        margin: 0 0 6.5rem
    }
}

.feature_costume_slider__body img.feature_costume_slider_en {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 28.3rem;
    top: -3.75rem;
    opacity: .7
}

@media only screen and (min-width:544px) {
    .feature_costume_slider__body img.feature_costume_slider_en {
        width: 56.6rem;
        top: -7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_costume_slider__body img.feature_costume_slider_en {
        width: 68.4rem;
        top: -9rem;
        opacity: 1
    }
}

.feature_costume_slider__body .feature_costume_slider {
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1);
    width: 25.5rem
}

@media only screen and (min-width:544px) {
    .feature_costume_slider__body .feature_costume_slider {
        width: 51rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_costume_slider__body .feature_costume_slider {
        width: 110rem
    }
}

.feature_costume_slider__body .feature_costume_slider a.feature-swiper-button-prev {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -100%
}

.feature_costume_slider__body .feature_costume_slider a.feature-swiper-button-prev:after {
    display: none
}

.feature_costume_slider__body .feature_costume_slider a.feature-swiper-button-next {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.feature_costume_slider__body .feature_costume_slider a.feature-swiper-button-next:after {
    display: none
}

.feature_costume_slider__body .feature_costume_slider .feature-slide-wrapper {
    width: auto
}

.feature_costume_slider__body .feature_costume_slider .feature-slide-wrapper .feature-slide {
    min-width: auto;
    width: auto;
    padding-right: 0;
    padding-left: 0
}

.feature_plan_section {
    padding: 7.5rem 0 6rem;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .feature_plan_section {
        padding: 15rem 0 12rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section {
        padding: 10rem 0
    }
}

.feature_plan_section .home_fair_slider__body {
    width: 100%;
    overflow: hidden;
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .feature_plan_section .home_fair_slider__body {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section .home_fair_slider__body {
        margin: 0 0 5rem
    }
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    padding: 2rem 2rem 0;
    display: block;
    mix-blend-mode: multiply
}

@media only screen and (min-width:544px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 3.5rem
    }
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../image/slide_bg.png) center center no-repeat;
    background-size: cover;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1;
    display: none
}

@media only screen and (min-width:544px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
        display: block
    }
}

@media (min-width:768px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
    position: relative;
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        margin: 0 0 1.5rem
    }
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom {
    width: 100%;
    position: relative;
    z-index: 10
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    letter-spacing: .16rem;
    position: relative;
    border-bottom: .9px solid #333;
    line-height: 1.4
}

@media only screen and (min-width:544px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: inline;
        margin: 0 0 1rem;
        font-size: 3.4rem;
        line-height: 1.3;
        border-bottom: 1px solid #333
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: block;
        margin: 0 0 .7rem;
        font-size: 1.8rem;
        line-height: 1.6;
        border-bottom: transparent
    }
}

.feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
    font-size: 1.1rem;
    display: block;
    color: #333;
    margin: .5rem 0 0;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        font-size: 2.2rem;
        margin: 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .feature_plan_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        margin: 0;
        font-size: 1.2rem
    }
}

.feature_plan_section a.wedding_circle_link_btn {
    margin: 0 auto
}

.wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
    display: inline-block;
    position: absolute;
    top: .7rem;
    left: .7rem;
    color: #fff;
    line-height: 1;
    background: #900;
    letter-spacing: .05rem;
    padding: .3rem .6rem .3rem .65rem;
    z-index: 10;
    border-radius: .8rem;
    font-size: 1rem;
    font-family: philosopher, sans-serif
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
        border-radius: 1.6rem;
        font-size: 2rem;
        top: 1.4rem;
        left: 1.4rem;
        padding: .6rem 1.2rem .6rem 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
        border-radius: 1rem;
        font-size: 1.2rem;
        top: .5rem;
        left: .6rem;
        padding: .4rem .6rem .5rem .7rem
    }
}

.feature_fair_section {
    padding: 7.6rem 0;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .feature_fair_section {
        padding: 15.3rem 0
    }
}

@media only screen and (min-width:1024px) {
    .feature_fair_section {
        padding: 10rem 0
    }
}

.feature_fair_section .home_fair_slider__body {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .feature_fair_section .home_fair_slider__body {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .feature_fair_section .home_fair_slider__body {
        margin: 0 0 4rem
    }
}

.feature_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    padding: 2rem 2rem 0
}

@media only screen and (min-width:544px) {
    .feature_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .feature_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 3rem
    }
}

.feature_fair_section a.wedding_circle_link_btn {
    margin: 0 auto
}

.wedding_index_h2__feature {
    font-size: 1.8rem !important;
    margin: 0 auto 2.75rem auto !important
}

@media only screen and (min-width:544px) {
    .wedding_index_h2__feature {
        font-size: 3.6rem !important;
        margin: 0 auto 5.5rem auto !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_h2__feature {
        font-size: 2.4rem !important;
        margin: 0 auto 5rem auto !important
    }
}

.wedding_index_contact_section__feature {
    padding: 7.25rem 0 6.9rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_section__feature {
        padding: 14.5rem 0 13.8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_section__feature {
        padding: 14.5rem 0 18rem
    }
}

.wedding_white_bg .page_header_area__weddingplan {
    padding: 12.4rem 0 4rem
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__weddingplan {
        padding: 24.8rem 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__weddingplan {
        padding: 26.5rem 0 5rem
    }
}

.wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index {
    margin: 0 0 3rem;
    padding: 0 0 3.25rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index {
        margin: 0 0 6rem;
        padding: 0 0 6.5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index {
        margin: 0 0 5rem;
        padding: 0
    }
}

.wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index:after {
    display: block;
    content: "";
    position: absolute;
    left: -1.5rem;
    bottom: 0;
    width: calc(100% + 3rem);
    border-bottom: 1px solid #333;
    opacity: .1
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index:after {
        left: -3rem;
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__weddingplan .page_header_area__h1__plan_index:after {
        display: none
    }
}

.wedding_white_bg .page_header_area__weddingplan .bg_en__img__plan_index {
    width: 36.4rem;
    top: -.65rem;
    max-width: 100%
}

@media only screen and (min-width:544px) {
    .wedding_white_bg .page_header_area__weddingplan .bg_en__img__plan_index {
        width: 72.8rem;
        top: -1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg .page_header_area__weddingplan .bg_en__img__plan_index {
        width: 46.4rem;
        top: .7rem
    }
}

.plan_fair_slider__body {
    margin: 0 0 7rem
}

@media only screen and (min-width:544px) {
    .plan_fair_slider__body {
        margin: 0 0 14rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_fair_slider__body {
        margin: 0 0 6rem
    }
}

.plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    padding: 2rem 2rem 0
}

@media only screen and (min-width:544px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 2rem
    }
}

.plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
    background: url(../image/slide_bg.png) center center no-repeat;
    background-size: 100% 100%
}

.plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #333;
    margin: 0;
    letter-spacing: .16rem;
    position: relative;
    border-bottom: .9px solid #333;
    line-height: .9
}

@media only screen and (min-width:544px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: inline;
        margin: 0 0 1rem;
        font-size: 3.4rem;
        border-bottom: 1px solid #333;
        line-height: 1.3
    }
}

@media only screen and (min-width:1024px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: block;
        margin: 0 0 .7rem;
        font-size: 1.8rem;
        line-height: 1.6;
        border-bottom: transparent
    }
}

.plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
    font-size: 1.1rem;
    display: block;
    margin: 1rem 0 0;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        font-size: 2.2rem;
        margin: 2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        margin: 0 0 .7rem;
        font-size: 1.2rem
    }
}

.plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
    margin: 0 0 1.6rem
}

@media only screen and (min-width:544px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        margin: 0 0 3.2rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_fair_slider__body .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        margin: 0 0 1.6rem
    }
}

.top_border_container__plan {
    position: relative;
    margin-top: 4.5rem;
    padding-top: 0;
}

@media only screen and (min-width:544px) {
    .top_border_container__plan {
        margin-top: 9rem;
        padding-top: 0;
    }
}

@media only screen and (min-width:1024px) {
    .top_border_container__plan {
        margin-top: 9rem;
        padding-top: 0;
    }
}

.top_border_container__plan:before {
    display: block !important;
    content: "";
    position: absolute;
    top: 0;
    left: 1.5rem;
    width: calc(100% - 3rem);
    height: .9px;
    opacity: .75;
    z-index: 10;
    background-color: #fff;
}

@media only screen and (min-width:544px) {
    .top_border_container__plan:before {
        opacity: 1;
        left: 3rem;
        width: calc(100% - 6rem);
        background-size: 3px 1px;
        height: 1px;
    }
}

@media only screen and (min-width:1024px) {
    .top_border_container__plan:before {
        left: 0;
        width: 100%
    }
}

nav.plan_section_anchor_link_nav ul {
    display: block
}

nav.plan_section_anchor_link_nav ul li {
    margin: 0 0 2rem
}

nav.plan_section_anchor_link_nav ul li:last-child {
    margin: 0
}

nav.plan_section_anchor_link_nav ul li a {
    line-height: 1;
    font-size: 1.4rem;
    position: relative;
    white-space: nowrap;
    display: flex;
    letter-spacing: .05rem
}

nav.plan_section_anchor_link_nav ul li a span.text {
    color: #333;
    font-size: 1.3rem;
    position: relative;
    display: inline-block;
    z-index: 10;
    padding: 0 0 .3rem
}

@media only screen and (min-width:544px) {
    nav.plan_section_anchor_link_nav ul li a span.text {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    nav.plan_section_anchor_link_nav ul li a span.text {
        font-size: 1.4rem
    }
}

nav.plan_section_anchor_link_nav ul li a span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.plan_section_anchor_link_nav ul li a span.text:before {
        height: 1px
    }
}

nav.plan_section_anchor_link_nav ul li a span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.plan_section_anchor_link_nav ul li a span.text:after {
        height: 1px
    }
}

nav.plan_section_anchor_link_nav ul li a:hover {
    cursor: pointer
}

@media (min-width:768px) {
    nav.plan_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.plan_section_anchor_link_nav ul li a:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media (min-width:768px) {
    nav.plan_section_anchor_link_nav ul li a:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.plan_section_anchor_link_nav ul li a:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

nav.plan_section_anchor_link_nav ul li a span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0 0 0 .5rem;
    border: 1px solid #8e7823;
    width: 1.7rem;
    height: 1.7rem;
    background: 0 0;
    position: relative
}

nav.plan_section_anchor_link_nav ul li a span.arrow svg {
    position: absolute;
    top: 53%;
    left: 50%;
    width: .57rem;
    transform: translate(-50%, -50%);
    transform-origin: 50% 50%
}

nav.plan_section_anchor_link_nav ul li a span.arrow svg use {
    fill: #8e7823;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

a.best_price_link__plan {
    position: relative;
    display: block;
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    a.best_price_link__plan {
        margin: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan {
        margin: 0 0 2rem
    }
}

a.best_price_link__plan:hover {
    cursor: pointer
}

a.best_price_link__plan img.best_price_link__bg {
    position: relative;
    width: 100%;
    height: auto;
    margin: 0
}

a.best_price_link__plan .best_price_link__text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    white-space: nowrap;
    letter-spacing: 0rem;
    text-align: center
}

a.best_price_link__plan .best_price_link__text .top_text {
    font-size: 1.3rem;
    color: #fff;
    display: block;
    line-height: 1;
    margin: 0 0 1rem;
    font-weight: 700;
    text-shadow: .05rem 0rem .1rem rgba(0, 0, 0, .3);
    font-family: ryo-display-plusn, serif
}

@media only screen and (min-width:544px) {
    a.best_price_link__plan .best_price_link__text .top_text {
        font-size: 2.6rem;
        text-shadow: .1rem 0rem .2rem rgba(0, 0, 0, .3);
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan .best_price_link__text .top_text {
        margin: 0 0 1rem;
        font-size: 2.1rem;
        text-shadow: .1rem 0rem .2rem rgba(0, 0, 0, .3)
    }
}

a.best_price_link__plan .best_price_link__text .bottom_text {
    text-shadow: .1rem 0rem .2rem rgba(0, 0, 0, .3);
    font-size: 2.5rem;
    color: #fff;
    display: block;
    line-height: 1;
    font-family: philosopher, sans-serif;
    align-items: center;
    font-weight: 700;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    a.best_price_link__plan .best_price_link__text .bottom_text {
        font-size: 5rem;
        text-shadow: .1rem 0rem .2rem rgba(0, 0, 0, .3)
    }
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan .best_price_link__text .bottom_text {
        font-size: 2.8rem;
        text-shadow: .1rem 0rem .2rem rgba(0, 0, 0, .3)
    }
}

a.best_price_link__plan .best_price_link__text .bottom_text .bottom_text_ja {
    font-family: ryo-display-plusn, serif;
    font-size: 2rem;
    margin: 0 0 0 .65rem
}

@media only screen and (min-width:544px) {
    a.best_price_link__plan .best_price_link__text .bottom_text .bottom_text_ja {
        font-size: 4rem;
        margin: 0 0 0 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan .best_price_link__text .bottom_text .bottom_text_ja {
        font-size: 2.1rem;
        margin: 0 0 0 .5rem
    }
}

a.best_price_link__plan .arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 50%;
    right: 3.5rem;
    transform: translateY(-50%);
    border: 1px solid #fff;
    background: rgba(255, 255, 255, .05);
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    display: none
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan .arrow {
        display: block
    }
}

a.best_price_link__plan .arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

a.best_price_link__plan .arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    a.best_price_link__plan .arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    a.best_price_link__plan .arrow svg {
        width: 1.2rem
    }
}

a.best_price_link__plan .arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    a.best_price_link__plan:hover .arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    a.best_price_link__plan:hover .arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    a.best_price_link__plan:hover .arrow svg use {
        fill: #4c7228;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

table.list_block_nav__list__plan {
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list__plan {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list__plan {
        margin: 0
    }
}

table.list_block_nav__list__plan tr th.head {
    width: 40%
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list__plan tr th.head {
        width: 45%
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list__plan tr th.head {
        width: 52.5%
    }
}

table.list_block_nav__list__plan tr td.body {
    text-align: left;
    padding: 1.6rem 1.5rem 2rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list__plan tr td.body {
        text-align: left;
        padding: 3.2rem 3rem 4rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list__plan tr td.body {
        text-align: right;
        padding: 1.7rem 1rem 5rem 0
    }
}

.wedding_plan_section .page_section__plan_index {
    padding: 0;
}

@media only screen and (min-width:544px) {
    .wedding_plan_section .page_section__plan_index {
        padding: 0;
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_section .page_section__plan_index {
        padding: 0;
    }
}

.wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan {
    padding: 2rem 1rem 2rem 1.5rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan {
        padding: 4rem 1rem 4rem 3rem;
        margin: 4.5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan {
        padding: 2rem 1rem 2rem 2.5rem;
        margin: 4.5rem 0 0;
        border-radius: .5rem
    }
}

.wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li {
    margin: 0 0 1.15rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li {
        margin: 0 2rem 0 0
    }
}

.wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li:last-child {
    margin: 0
}

@media only screen and (min-width:544px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li:last-child {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_section .page_section__plan_index nav.page_section_anchor_link_nav__plan ul li:last-child {
        margin: 0 2rem 0 0
    }
}

.wedding_plan_block .page_h2__group {
    padding: 2.5rem 0 0 1.5rem;
    margin: 3.25rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_block .page_h2__group {
        padding: 5rem 0 0 3rem;
        margin: 6.5rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block .page_h2__group {
        padding: 5rem 0 0;
        margin: 0 0 4rem;
    }
}

.wedding_plan_block .page_h2__group.page_h2__group__top {
    padding: 2.5rem 0 0 1.5rem;
    margin: 0 0 1.5rem;
}

@media only screen and (min-width:544px) {
    .wedding_plan_block .page_h2__group.page_h2__group__top {
        padding: 5rem 0 0 3rem;
        margin: 0 0 3rem;
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block .page_h2__group.page_h2__group__top {
        padding: 5rem 0 0;
        margin: 0 0 4rem;
    }
}

.wedding_plan_block h3 {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_block h3 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block h3 {
        margin: 0 0 2rem
    }
}

.wedding_plan_block h3.h3_last {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_block h3.h3_last {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block h3.h3_last {
        margin: 0 0 2rem
    }
}

.wedding_plan_block p {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .wedding_plan_block p {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block p {
        margin: 0 0 3rem
    }
}

.wedding_plan_block .page_section__flex {
    margin: 0 0 3.5rem !important
}

@media only screen and (min-width:544px) {
    .wedding_plan_block .page_section__flex {
        margin: 0 0 7rem !important
    }
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block .page_section__flex {
        margin: 0 0 7rem !important
    }
}

.wedding_plan_block .page_section__flex .page_section__flex_inner {
    width: 100% !important
}

@media only screen and (min-width:1024px) {
    .wedding_plan_block .page_section__flex .page_section__flex_inner {
        width: calc(50% - 2rem) !important
    }
}

.page_contact_block__plan {
    background: url(../image/white_contact_bg.png) 0 top no-repeat;
    background-size: 100% 80%;
    padding: 4rem 0 2rem;
    margin: 0 0 3rem;
    display: flex;
    justify-content: center
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan {
        padding: 8rem 0 4rem;
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan {
        padding: 6.3rem 0 4rem;
        margin: 0 0 6rem
    }
}

.page_contact_block__plan.page_contact_block__plan__last {
    margin: 0 0 3rem;
    padding: 4rem 0 2rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan.page_contact_block__plan__last {
        padding: 8rem 0 4rem;
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan.page_contact_block__plan__last {
        padding: 6.3rem 0 0;
        margin: 0
    }
}

.page_contact_block__plan a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    border-radius: .25rem;
    margin: 0 1rem;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    position: relative;
    width: 31.5rem;
    height: 11rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan a.page_contact_block__btn__form {
        width: 63rem;
        height: 22rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan a.page_contact_block__btn__form {
        width: 40rem;
        height: 11.9rem;
        border-radius: .5rem
    }
}

.page_contact_block__plan a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan a.page_contact_block__btn__form:after {
        border-radius: .5rem
    }
}

.page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10
}

.page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    font-size: 1.4rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1.5rem;
    font-weight: 700;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.8rem;
        margin: 0 0 3rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        letter-spacing: .1rem;
        font-size: 1.6rem;
        margin: 0 0 1.3rem
    }
}

.page_contact_block__plan a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    border: 1px solid #fff
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.page_contact_block__plan a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.page_contact_block__plan a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .page_contact_block__plan a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block__plan a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

#head_wedding_top.active_plan_head {
    padding: 0 0 0 1rem
}

.page_mv_area__top_fix .large_container .page_header_area__plan_detail {
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .large_container .page_header_area__plan_detail {
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .large_container .page_header_area__plan_detail {
        margin: 0 0 8rem
    }
}

.page_mv_area__top_fix .large_container .page_header_area__plan_detail h1 {
    margin: .15rem 0 0
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .large_container .page_header_area__plan_detail h1 {
        margin: .3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .large_container .page_header_area__plan_detail h1 {
        margin: .3rem 0 1.3rem
    }
}

.page_mv_area__top_fix .large_container .page_header_area__plan_detail p {
    margin: 0;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_fix .large_container .page_header_area__plan_detail p {
        display: block
    }
}

.plan_intro_area {
    background: #f5f5f2;
    margin: 0 0 2.25rem;
    padding: 2.75rem 1.5rem 2.25rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .plan_intro_area {
        border-radius: .5rem;
        padding: 5.5rem 3rem 4.5rem;
        margin: 0 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area {
        border-radius: 0;
        padding: 3rem 3rem 3.5rem;
        margin: 0 0 10rem
    }
}

.plan_intro_area .h4_wrap {
    width: 100%;
    padding: 0 0 1.5rem;
    margin: 0 0 1.5rem;
    border-bottom: 1px solid rgba(51, 51, 51, .1);
    display: flex;
    align-items: center
}

@media only screen and (min-width:544px) {
    .plan_intro_area .h4_wrap {
        padding: 0 0 3rem;
        margin: 0 0 3rem;
        border-bottom: 1px solid rgba(0, 0, 0, .1)
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area .h4_wrap {
        padding: 0 0 1.5rem;
        margin: 0 0 1.5rem
    }
}

.plan_intro_area .h4_wrap .heart {
    width: 1.25rem;
    height: 1.25rem;
    background: #8e7823;
    position: relative;
    border-radius: 50%;
    margin: 0 .5rem 0 0;
    transform: translateY(.1rem)
}

@media only screen and (min-width:544px) {
    .plan_intro_area .h4_wrap .heart {
        margin: 0 1rem 0 0;
        width: 2.5rem;
        height: 2.5rem;
        transform: translateY(.2rem)
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area .h4_wrap .heart {
        margin: 0 1rem 0 0;
        width: 2.5rem;
        height: 2.5rem;
        transform: translateY(.2rem)
    }
}

.plan_intro_area .h4_wrap .heart svg {
    position: absolute;
    top: 51%;
    left: 52%;
    transform: translate(-50%, -50%);
    width: .55rem
}

@media only screen and (min-width:544px) {
    .plan_intro_area .h4_wrap .heart svg {
        width: 1.1rem;
        top: 52%;
        left: 52%
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area .h4_wrap .heart svg {
        width: 1.1rem;
        top: 50%;
        left: 52%
    }
}

.plan_intro_area .h4_wrap .heart svg use {
    fill: #fff
}

.plan_intro_area .h4_wrap h4 {
    margin: 0;
    padding: 0;
    line-height: 1;
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    .plan_intro_area .h4_wrap h4 {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area .h4_wrap h4 {
        font-size: 1.6rem
    }
}

.plan_intro_area ol {
    padding: 0 0 0 1.6rem
}

@media only screen and (min-width:544px) {
    .plan_intro_area ol {
        padding: 0 0 0 3.2rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area ol {
        padding: 0 0 0 1.6rem
    }
}

.plan_intro_area ol li {
    font-size: 1.3rem;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .plan_intro_area ol li {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_intro_area ol li {
        font-size: 1.6rem;
        line-height: 2
    }
}

#page_plan_slider__body {
    margin: 0 0 6rem;
    overflow: visible !important
}

@media only screen and (min-width:1024px) {
    #page_plan_slider__body {
        overflow: hidden !important
    }
}

#page_plan_slider__body .page_plan_slider__body_wrap {
    width: 30rem
}

@media only screen and (min-width:544px) {
    #page_plan_slider__body .page_plan_slider__body_wrap {
        width: 60rem
    }
}

@media only screen and (min-width:1024px) {
    #page_plan_slider__body .page_plan_slider__body_wrap {
        width: 80rem
    }
}

#page_plan_slider__body .caption-swiper-wrapper .swiper-slide .thumb {
    margin-bottom: 0;
    box-shadow: none
}

table.plan_kingaku_table {
    width: 100%;
    border-collapse: collapse;
    color: #333;
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table {
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table {
        margin: 0 0 2rem
    }
}

table.plan_kingaku_table tr th {
    white-space: nowrap;
    background: #6d6442;
    color: #fff;
    line-height: 1;
    font-size: 1.3rem;
    padding: 1.1rem .5rem 1.2rem 1.5rem;
    text-align: left;
    font-weight: 400
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr th {
        font-size: 2.6rem;
        padding: 2.3rem .5rem 2.3rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr th {
        font-size: 1.4rem;
        padding: 1.3rem .5rem 1.3rem 1.3rem;
        font-weight: 700
    }
}

table.plan_kingaku_table tr th:last-child {
    text-align: right;
    padding: 1.1rem 1.25rem 1.1rem .5rem
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr th:last-child {
        padding: 2.2rem 2.5rem 2.2rem .5rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr th:last-child {
        padding: 1.3rem 1.5rem 1.3rem .5rem
    }
}

table.plan_kingaku_table tr td {
    font-size: 1.3rem;
    line-height: 1.3;
    padding: 1.1rem 1.25rem 1.4rem 1.5rem;
    text-align: left;
    vertical-align: top;
    position: relative
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr td {
        font-size: 2.6rem;
        padding: 2.5rem 2.5rem 2.5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr td {
        vertical-align: middle;
        line-height: 1;
        font-size: 1.4rem;
        padding: 1.3rem 1.5rem 1.3rem 1.3rem
    }
}

table.plan_kingaku_table tr td:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    border-radius: 0;
    border: transparent;
    width: 100%;
    opacity: .15;
    height: .9px;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr td:after {
        opacity: .3;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

table.plan_kingaku_table tr td.sub_total {
    white-space: nowrap;
    font-size: 1.3rem;
    text-align: right;
    font-weight: 700;
    padding: 1.1rem 1.25rem 1.4rem .5rem
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr td.sub_total {
        font-size: 2.6rem;
        padding: 2.5rem 2.5rem 2.5rem .5rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr td.sub_total {
        font-size: 1.6rem;
        padding: 1.3rem 1.5rem 1.3rem .5rem
    }
}

table.plan_kingaku_table tr td:first-child {
    width: 11rem;
    padding: 1.1rem .5rem 1.4rem 1.5rem
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr td:first-child {
        width: 22rem;
        padding: 2.5rem .5rem 2.5rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr td:first-child {
        width: 18rem;
        padding: 1.3rem .5rem 1.3rem 1.3rem
    }
}

table.plan_kingaku_table tr:first-child:after {
    display: none
}

table.plan_kingaku_table tr:last-child:after {
    display: none
}

table.plan_kingaku_table tr:nth-child(2) td {
    padding: 1.1rem 1.25rem 1.4rem 1.5rem
}

@media only screen and (min-width:544px) {
    table.plan_kingaku_table tr:nth-child(2) td {
        padding: 2.2rem 2.5rem 2.2rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.plan_kingaku_table tr:nth-child(2) td {
        padding: 2.4rem 1.5rem 1.4rem 1.3rem
    }
}

section.page_section__plan {
    padding: 3.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    section.page_section__plan {
        padding: 7rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    section.page_section__plan {
        padding: 0
    }
}

.total_kingaku_area {
    border: 1px solid #e5e5e5;
    height: 5.8rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 1.5rem;
    margin: 0
}

@media only screen and (min-width:544px) {
    .total_kingaku_area {
        padding: 0 3rem;
        margin: 0;
        height: 11.6rem
    }
}

@media only screen and (min-width:1024px) {
    .total_kingaku_area {
        padding: 0 1.5rem 0 2.2rem;
        margin: 0;
        height: 8rem
    }
}

.total_kingaku_area__bottom {
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .total_kingaku_area__bottom {
        margin: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    .total_kingaku_area__bottom {
        margin: 0 0 10rem
    }
}

.total_kingaku_area .total_kingaku_area__title {
    font-size: 1.3rem
}

@media only screen and (min-width:544px) {
    .total_kingaku_area .total_kingaku_area__title {
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .total_kingaku_area .total_kingaku_area__title {
        font-size: 1.6rem
    }
}

.total_kingaku_area .total_kingaku_area__result {
    white-space: nowrap;
    font-size: 2.3rem;
    font-weight: 700;
    position: relative;
    width: auto;
    text-align: right
}

@media only screen and (min-width:544px) {
    .total_kingaku_area .total_kingaku_area__result {
        font-size: 4.6rem
    }
}

@media only screen and (min-width:1024px) {
    .total_kingaku_area .total_kingaku_area__result {
        font-size: 2.2rem;
        width: 15rem
    }
}

.total_kingaku_area .total_kingaku_area__result:after {
    content: "";
    width: 1px;
    height: 1.75rem;
    background: #e5e5e5;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -2.5rem
}

@media only screen and (min-width:544px) {
    .total_kingaku_area .total_kingaku_area__result:after {
        height: 3.5rem;
        left: -5rem
    }
}

@media only screen and (min-width:1024px) {
    .total_kingaku_area .total_kingaku_area__result:after {
        height: 4rem;
        left: 0
    }
}

.page_mv_area__plan {
    overflow: visible !important
}

.position_container {
    position: relative
}

.position_container a.application_btn {
    position: absolute;
    bottom: -6.7rem;
    right: 0;
    width: 16.1rem;
    height: 16.1rem;
    z-index: 100;
    background: url(../image/application_btn.png) center center no-repeat;
    background-size: cover;
    border-radius: 50%;
    display: none
}

@media only screen and (min-width:1024px) {
    .position_container a.application_btn {
        display: block
    }
}

.position_container a.application_btn .txt_group {
    position: absolute;
    top: calc(50% + 5px);
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: ryo-display-plusn, serif;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 1.6rem;
    white-space: nowrap;
    display: block
}

.position_container a.application_btn .txt_group span.text {
    display: block;
    line-height: 1.5;
    margin: 0 0 1.1rem
}

.position_container a.application_btn .txt_group span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    position: relative;
    border: 1px solid #fff;
    width: 2rem;
    height: 2rem
}

@media only screen and (min-width:544px) {
    .position_container a.application_btn .txt_group span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .position_container a.application_btn .txt_group span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.position_container a.application_btn .txt_group span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .position_container a.application_btn .txt_group span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .position_container a.application_btn .txt_group span.arrow svg {
        width: 1.2rem
    }
}

.position_container a.application_btn .txt_group span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.position_container a.application_btn .txt_group span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .position_container a.application_btn:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .position_container a.application_btn:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .position_container a.application_btn:hover span.arrow svg use {
        fill: #8e2323;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.plan_detail_section .page_h2__group {
    position: relative;
    padding: 3rem 0 0 !important;
    margin: 5rem 0 2.75rem
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_h2__group {
        padding: 6rem 0 0 !important;
        margin: 10rem 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_h2__group {
        padding: 5rem 0 0 !important;
        margin: 10.3rem 0 4rem
    }
}

.plan_detail_section .page_h2__group:after {
    content: "";
    position: absolute;
    top: 0;
    right: -1.5rem;
    width: calc(100% + 3rem);
    height: .4rem;
    background: #f5f5f2;
    opacity: .5
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_h2__group:after {
        right: -3rem;
        height: .8rem;
        width: calc(100% + 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_h2__group:after {
        right: 0;
        height: 1px;
        width: calc(100% - 1rem);
        background: #000;
        opacity: .1
    }
}

.plan_detail_section p.intro_top__text {
    margin: 0 0 2.5rem;
    display: block
}

@media only screen and (min-width:544px) {
    .plan_detail_section p.intro_top__text {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section p.intro_top__text {
        display: none;
        margin: 0
    }
}

.plan_detail_section .page_contact_block__plan {
    margin: 0
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan {
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_contact_block__plan {
        margin: 0
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form {
    width: 31.5rem;
    height: 11rem
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form {
        width: 63rem;
        height: 22rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form {
        width: 55rem;
        height: 11.9rem
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:after {
        border-radius: .5rem
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    font-size: 1.4rem;
    display: block;
    text-align: center;
    line-height: 1;
    margin: 0 0 1.5rem;
    font-weight: 700;
    letter-spacing: .1rem
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.8rem;
        margin: 0 0 3rem;
        letter-spacing: .1rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        letter-spacing: .1rem;
        font-size: 1.6rem;
        margin: 0 0 1.3rem
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    width: 2rem;
    height: 2rem;
    position: relative;
    border: 1px solid #fff
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg {
        width: 1.2rem
    }
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .plan_detail_section .page_contact_block__plan a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.other_plan_detail_section {
    padding: 5.5rem 0 7.5rem !important;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .other_plan_detail_section {
        padding: 9rem 0 10rem !important
    }
}

.plan_detail_fair_section {
    padding: 7.5rem 0 !important
}

@media only screen and (min-width:544px) {
    .plan_detail_fair_section {
        padding: 10rem 0 !important
    }
}

.plan_detail_fair_section .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
    margin: 0 0 1.6rem
}

.plan_detail_fair_section .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
    margin: 0 0 .5rem
}

.plan_detail_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    padding: 2rem 2rem 0
}

@media only screen and (min-width:544px) {
    .plan_detail_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .plan_detail_fair_section .wedding_fair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 3.5rem
    }
}

.estimate_wrap {
    padding: 0 0 5rem
}

@media only screen and (min-width:1024px) {
    .estimate_wrap {
        padding: 0 0 7rem
    }
}

.wedding_fair_slider__plan .event-slide-wrapper .event-slide a.fair-slide-block {
    min-height: 23rem
}

@media only screen and (min-width:544px) {
    .wedding_fair_slider__plan .event-slide-wrapper .event-slide a.fair-slide-block {
        min-height: 44rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_fair_slider__plan .event-slide-wrapper .event-slide a.fair-slide-block .wedding_fair_slider__plan .event-slide-wrapper .event-slide a.fair-slide-block {
        min-height: auto
    }
}

.wedding_white_bg.m-column .page_header_area__weddingplan .bg_en__img__plan_index {
    top: -2.9rem;
    width: 34rem
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_header_area__weddingplan .bg_en__img__plan_index {
        width: 44.2rem;
        top: 1.8rem;
        left: 1rem
    }
}

.wedding_white_bg.m-column .plan_fair_slider__body {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .plan_fair_slider__body {
        margin: 0 0 2rem
    }
}

.wedding_white_bg.m-column .page_h2__group.m_column_margin {
    margin-top: 0
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_h2__group.m_column_margin {
        margin: 0 0 2rem
    }
}

.wedding_white_bg.m-column .page_section.page_section_ceremony_food.m-column {
    padding-top: 0
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_section.page_section_ceremony_food.m-column {
        padding: 5rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_section__flex {
        flex-wrap: wrap
    }
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_section__flex .caption_block {
        margin-bottom: 3rem
    }
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_thumb {
    display: block;
    overflow: hidden;
    border-radius: .5rem;
    will-change: transform;
    position: relative;
    z-index: 10;
    margin-bottom: .5rem
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_thumb img {
    margin: 0;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_title {
    display: block;
    transition: opacity .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_section__flex .caption_block .caption_title {
        font-size: 1.7rem;
        margin-bottom: .5rem
    }
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_excerption {
    display: block;
    transition: opacity .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:1024px) {
    .wedding_white_bg.m-column .page_section__flex .caption_block .caption_excerption {
        margin-bottom: .5rem
    }
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_date {
    display: block;
    transition: opacity .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_white_bg.m-column .page_section__flex .caption_block .caption_category {
    display: block;
    transition: opacity .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_white_bg.m-column .page_section__flex .caption_block a:hover img {
    transform: scale(1.03, 1.03)
}

.wedding_white_bg.m-column .page_section__flex .caption_block a:hover .caption_title,
.wedding_white_bg.m-column .page_section__flex .caption_block a:hover .caption_excerption,
.wedding_white_bg.m-column .page_section__flex .caption_block a:hover .caption_date,
.wedding_white_bg.m-column .page_section__flex .caption_block a:hover .caption_category {
    opacity: .8
}

.wedding_white_bg.m-column .pager_block {
    color: #333
}

.wedding_white_bg.m-column .pager_block ul.pager_block__center_list {
    transition: opacity .1s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_white_bg.m-column .pager_block ul.pager_block__center_list li.current {
    background: #887630;
    color: #fff
}

.wedding_white_bg.m-column .pager_block a.pager_block_link .text {
    color: #333;
    transition: opacity .9s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_white_bg.m-column .pager_block a.pager_block_link:hover .pager_block__center_list {
    opacity: .7
}

.wedding_white_bg.m-column .pager_block a.pager_block_link:hover .text {
    opacity: .7
}

.column_section__wrap .large_container_excerption {
    margin: 3rem 0 2.25rem
}

@media only screen and (min-width:544px) {
    .column_section__wrap .large_container_excerption {
        margin: 5.5rem 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .large_container_excerption {
        margin: 0 0 7.5rem
    }
}

.column_section__wrap .container.bottom {
    margin-top: 10rem;
    padding-bottom: 1rem;
    margin-bottom: 3rem
}

.column_section__wrap .author_box {
    margin-bottom: 10%;
    background: #f5f5f2;
    padding: 3%;
    border-radius: 10px
}

.column_section__wrap .author_box_inner {
    padding: 1rem
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner {
        display: flex;
        align-items: center
    }
}

.column_section__wrap .author_box_inner_img {
    margin: 2rem;
    text-align: center
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner_img {
        margin: 0 5% 0 0
    }
}

.column_section__wrap .author_box_inner_img img {
    border-radius: 50%;
    max-width: 150px;
    width: 100%
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner_img img {
        max-width: 160px;
        border-radius: 80px;
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner_author {
        max-width: 670px
    }
}

.column_section__wrap .author_box_inner_author_name {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .column_section__wrap .author_box_inner_author_name {
        font-size: 2.8rem;
        font-weight: 700;
        margin-bottom: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner_author_name {
        font-weight: 700;
        font-size: 1.6rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .author_box_inner_author_detail {
        margin: 0;
        font-size: 1.3rem
    }
}

.column_section__wrap .wedding_white_bg h3 {
    margin-top: 4rem
}

@media only screen and (min-width:1024px) {
    .column_section__wrap .wedding_white_bg h3 {
        margin-top: 8rem
    }
}

.column_section__wrap .caption_excerption {
    display: block
}

.column_section__wrap .caption_date {
    display: block
}

.column_section__wrap .caption_category {
    display: block
}

.column_section__wrap .date_area {
    margin-top: 5rem
}

.column_section__wrap .date_area-txt {
    margin-bottom: 0;
    text-align: right
}

nav.page_bread_nav__bg_gray {
    position: absolute;
    display: none;
    top: 10rem;
    right: 4rem;
    transform: translate(100%, -1rem) rotate(90deg);
    transform-origin: left center;
    color: rgba(51, 51, 51, .5);
    font-size: 1rem
}

@media screen and (min-width:1280px) {
    nav.page_bread_nav__bg_gray {
        display: block
    }
}

nav.page_bread_nav__bg_gray.page_bread_nav__top0 {
    top: 0
}

nav.page_bread_nav__bg_gray span {
    margin: 0 .3rem;
    letter-spacing: 0 !important
}

nav.page_bread_nav__bg_gray span:first-child {
    margin: 0 .3rem 0 0
}

nav.page_bread_nav__bg_gray span.current-item {
    color: #333
}

nav.page_bread_nav__bg_gray a {
    position: relative
}

nav.page_bread_nav__bg_gray a:before {
    position: absolute;
    bottom: -.3rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: rgba(51, 51, 51, .5);
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

nav.page_bread_nav__bg_gray a:after {
    position: absolute;
    bottom: -.2rem;
    left: .3rem;
    content: "";
    width: calc(100% - .6rem);
    height: 1px;
    background: rgba(51, 51, 51, .5);
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    nav.page_bread_nav__bg_gray a:after {
        height: 1px
    }
}

@media (min-width:768px) {
    nav.page_bread_nav__bg_gray a:hover {
        cursor: pointer
    }

    nav.page_bread_nav__bg_gray a:hover:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    nav.page_bread_nav__bg_gray a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_bread_nav__bg_gray a:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    nav.page_bread_nav__bg_gray a:hover:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

nav.page_bread_nav__bg_gray span:first-child {
    margin: 0 .3rem 0 0
}

nav.page_bread_nav__bg_gray span:first-child a:before {
    left: 0;
    width: calc(100% - .3rem)
}

nav.page_bread_nav__bg_gray span:first-child a:after {
    left: 0;
    width: calc(100% - .3rem)
}

nav.page_bread_nav__bg_gray span.line {
    margin: 0 1rem;
    height: .8rem;
    width: 1px;
    background: rgba(51, 51, 51, .5);
    display: inline-block
}

.page_mv_area__top_bridalfair {
    background: #262221;
    height: 60.85rem;
    background-image: none !important;
    z-index: 100;
    background-position-y: -100px
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_bridalfair {
        height: 121.7rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair {
        height: 104rem
    }
}

.page_mv_area__top_bridalfair .page_mv_area__port__line {
    position: absolute;
    width: calc(100% - 4rem);
    height: calc(100% - 5.6rem);
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    z-index: 100;
    pointer-events: none;
    background: url(../image/bg_dotted_radius1.svg) 0 0 no-repeat;
    background-size: cover;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .page_mv_area__port__line {
        display: block
    }
}

.page_mv_area__top_bridalfair img {
    opacity: 1
}

.page_mv_area__top_bridalfair .bridalfair_thumb_area {
    position: absolute;
    top: 0;
    left: 0;
    height: 45.25rem;
    width: 100%
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_bridalfair .bridalfair_thumb_area {
        height: 95rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .bridalfair_thumb_area {
        height: 75rem
    }
}

.page_mv_area__top_bridalfair .bridalfair_thumb_area:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .75);
    z-index: 5
}

.page_mv_area__top_bridalfair .bridalfair_thumb_area:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 45rem;
    background: #262221;
    background: linear-gradient(0deg, #262221 0%, rgba(38, 34, 33, 0) 100%);
    z-index: 5
}

.page_mv_area__top_bridalfair .bridalfair_thumb_area img {
    display: block;
    transform: scale(1.2, 1.2)
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .bridalfair_thumb_area img {
        display: none;
        transform: scale(1, 1)
    }
}

.page_mv_area__top_bridalfair .container_h1_title_area {
    margin: 20rem auto 0 auto;
    position: relative;
    z-index: 100;
    left: 0;
    transform: translateX(0)
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_bridalfair .container_h1_title_area {
        margin: 40rem auto 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .container_h1_title_area {
        margin: 35.3rem auto 0 auto
    }
}

.page_mv_area__top_bridalfair .container_h1_title_area .page_header_area h1 {
    position: relative;
    z-index: 10
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .container_h1_title_area .page_header_area h1 {
        margin: 1rem 0 11.3rem
    }
}

.page_mv_area__top_bridalfair .container_h1_title_area .bg_en__img__bridalfair_index {
    max-width: 100%;
    width: 31.6rem;
    top: -.5rem !important
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_bridalfair .container_h1_title_area .bg_en__img__bridalfair_index {
        width: 63.2rem;
        top: -1rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__top_bridalfair .container_h1_title_area .bg_en__img__bridalfair_index {
        width: 33.5rem;
        top: 1.5rem !important
    }
}

.page_mv_area__top_bridalfair .container_h1_title_area .bg_en__img__bridalfair_index img {
    opacity: 1
}

.page_mv_area__top_bridalfair .home_fair_slider__body {
    position: relative;
    z-index: 100
}

.mv_bridalfair_slider__body {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 0 4rem;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .mv_bridalfair_slider__body {
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .mv_bridalfair_slider__body {
        margin: 0 0 6rem
    }
}

.wedding_bridalfair_slider {
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1);
    width: 29.5rem
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider {
        width: 59rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider {
        width: 110rem
    }
}

.wedding_bridalfair_slider a.swiper-button-prev {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    left: -100%
}

.wedding_bridalfair_slider a.swiper-button-prev:after {
    display: none
}

.wedding_bridalfair_slider a.swiper-button-next {
    position: absolute;
    z-index: 10;
    top: 0;
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -100%
}

.wedding_bridalfair_slider a.swiper-button-next:after {
    display: none
}

.wedding_bridalfair_slider .event-slide-wrapper {
    width: 50%
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide {
    min-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide:before {
    content: "";
    position: absolute;
    top: 2px;
    right: 0;
    height: 100%;
    opacity: .2;
    width: .9px;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 100
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide:before {
        top: 2px;
        opacity: .4;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: .2rem .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide:after {
        opacity: .4;
        background-size: .3rem 1px;
        height: 1px;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px)
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block {
    position: relative
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block:before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;
    width: .9px;
    height: 100%;
    opacity: .2;
    background-image: linear-gradient(to bottom, #fff, #fff .9px, transparent .9px);
    background-size: .9px 2px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide:first-child a.fair-slide-block:before {
        opacity: .4;
        width: 1px;
        background-size: 1px 3px;
        background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
    border-radius: .5rem;
    position: relative;
    background: 0 0;
    padding: 2rem 2rem 0;
    display: block;
    mix-blend-mode: multiply
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block {
        padding: 4rem 4rem 5rem
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    background: linear-gradient(180deg, rgba(0, 0, 0, .5) 16%, rgba(0, 0, 0, .25) 71%, rgba(0, 0, 0, 0) 100%);
    background-size: cover;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    z-index: 1;
    display: none
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block:after {
        display: block
    }
}

@media (min-width:768px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
    width: 100%;
    overflow: hidden;
    display: block;
    height: 12rem;
    margin: 0 0 1.5rem;
    border-radius: .25rem;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        height: 24rem;
        border-radius: .5rem;
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb {
        height: 22.8rem;
        margin: 0 0 1.8rem
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
    display: inline-block;
    position: absolute;
    top: .7rem;
    left: .7rem;
    color: #fff;
    line-height: 1;
    background: #900;
    letter-spacing: .05rem;
    padding: .3rem .6rem .3rem .65rem;
    z-index: 10;
    border-radius: .8rem;
    font-size: 1rem;
    font-family: philosopher, sans-serif
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
        border-radius: 1.6rem;
        font-size: 2rem;
        top: 1.4rem;
        left: 1.4rem;
        padding: .6rem 1.2rem .6rem 1.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb span.pickup_icon {
        border-radius: 1rem;
        font-size: 1.2rem;
        top: .5rem;
        left: .6rem;
        padding: .4rem .6rem .5rem .7rem
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .thumb img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
    transform: scale(1, 1);
    transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom {
    width: 100%;
    position: relative;
    z-index: 10
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
    letter-spacing: .16rem;
    position: relative;
    border-bottom: .9px solid #fff;
    line-height: 1.4
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: inline;
        margin: 0;
        font-size: 3.4rem;
        line-height: 1.3;
        border-bottom: 1px solid #fff
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl {
        display: block;
        margin: 0 0 1.3rem;
        font-size: 1.8rem;
        line-height: 1.6;
        border-bottom: transparent
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
    font-size: 1.1rem;
    display: block;
    color: #fff;
    margin: 0 0 .5rem;
    letter-spacing: 0;
    font-weight: 400;
    line-height: 1.6
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        font-size: 2.2rem;
        margin: 0 0 1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom .event-slide__ttl__top {
        margin: 0 0 .7rem;
        font-size: 1.2rem
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    letter-spacing: .15rem;
    display: block;
    margin: 1rem 0 0
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
        margin: 3rem 0 0;
        line-height: 1
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top {
        margin: 0;
        line-height: 1.8
    }
}

.wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
    display: inline-block;
    color: #fff;
    white-space: nowrap;
    font-size: 1rem;
    background: 0 0;
    line-height: 1;
    border-radius: .2rem;
    letter-spacing: 0;
    margin: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    padding: .25rem .3rem;
    border: .9px solid rgba(255, 255, 255, .3)
}

@media only screen and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
        font-size: 2rem;
        border-radius: .4rem;
        border: .9px solid rgba(255, 255, 255, .3);
        padding: .5rem .6rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block .event-slide__bottom__top .event-slide__cat_icon {
        font-size: 1rem;
        border-radius: .2rem;
        border: 1px solid #d8d7d4;
        padding: .4rem .5rem
    }
}

@media (min-width:768px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover .thumb img {
        transform: scale(1, 1);
        transition: transform .4s cubic-bezier(.215, .61, .355, 1), -webkit-transform .4s cubic-bezier(.215, .61, .355, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .wedding_bridalfair_slider .event-slide-wrapper .event-slide a.fair-slide-block:hover .thumb img {
        transform: scale(1.03, 1.03)
    }
}

.page_wrap__bridalfair_section {
    padding: 46.2rem 0 0
}

@media only screen and (min-width:544px) {
    .page_wrap__bridalfair_section {
        padding: 93.4rem 0 0
    }
}

.wedding_index_contact_section__bridalfair {
    padding: 1.75rem 0 5.15rem
}

@media only screen and (min-width:544px) {
    .wedding_index_contact_section__bridalfair {
        padding: 3.5rem 0 10.3rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_index_contact_section__bridalfair {
        padding: 12rem 0 15rem
    }
}

section.page_section.page_section_bridalfair_top {
    padding: 14rem 0 0
}

@media only screen and (min-width:544px) {
    section.page_section.page_section_bridalfair_top {
        padding: 28rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    section.page_section.page_section_bridalfair_top {
        padding: 10.3rem 0 0
    }
}

section.page_section.page_section_bridalfair_top .container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    section.page_section.page_section_bridalfair_top .container {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section.page_section_bridalfair_top .container {
        max-width: 700px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    section.page_section.page_section_bridalfair_top .container {
        max-width: 875px
    }
}

section.page_section.page_section_bridalfair_bottom {
    padding: 4.5rem 0 5rem;
    position: relative
}

@media only screen and (min-width:544px) {
    section.page_section.page_section_bridalfair_bottom {
        padding: 9rem 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    section.page_section.page_section_bridalfair_bottom {
        padding: 9rem 0 8rem
    }
}

section.page_section.page_section_bridalfair_bottom:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 70rem;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    section.page_section.page_section_bridalfair_bottom:before {
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

.filter_select_area {
    padding: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .filter_select_area {
        padding: 0 0 10rem
    }
}

.filter_select_area #select-date {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: .25rem;
    cursor: pointer;
    padding: 1.85rem 1rem;
    position: relative
}

@media only screen and (min-width:544px) {
    .filter_select_area #select-date {
        border-radius: .5rem;
        padding: 37px 20px
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area #select-date {
        padding: 33px 10px
    }
}

.filter_select_area #select-date span.select {
    text-align: center;
    font-size: 1.5rem;
    line-height: 1;
    display: block
}

@media only screen and (min-width:768px) {
    .filter_select_area #select-date span.select {
        font-size: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area #select-date span.select {
        font-size: 1.8rem
    }
}

.filter_select_area #select-date span.date {
    text-align: left;
    font-size: 1.3rem;
    line-height: 1.7;
    padding: 0 4rem 0 0
}

@media only screen and (min-width:544px) {
    .filter_select_area #select-date span.date {
        font-size: 1.9rem;
        padding: 0 8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area #select-date span.date {
        font-size: 1.5rem;
        padding: 0 7rem 0 2rem
    }
}

.filter_select_area #select-date:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 1rem;
    content: "";
    width: 3.3rem;
    height: 3.3rem;
    background-color: #8e7823;
    border-radius: 0 .25rem .25rem 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .filter_select_area #select-date:before {
        border-radius: 0 .5rem .5rem 0;
        right: 2rem;
        width: 6.6rem;
        height: 6.6rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area #select-date:before {
        right: 1rem;
        width: 6rem;
        height: 6rem
    }
}

.filter_select_area #select-date:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2rem;
    content: "";
    width: 1.3rem;
    height: 1.3rem;
    background: url(../image/calendar_icon.svg) no-repeat;
    -webkit-transform: translateY(-50%);
    background-size: 100% 100%
}

@media only screen and (min-width:544px) {
    .filter_select_area #select-date:after {
        right: 4rem;
        width: 2.6rem;
        height: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area #select-date:after {
        right: 3rem;
        width: 1.9rem;
        height: 1.9rem
    }
}

@media (min-width:768px) {
    .filter_select_area #select-date:hover:before {
        background-color: #B49C69;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.filter_select_area .select-filter-box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 1.5rem 0 1.25rem;
    position: relative
}

@media only screen and (min-width:768px) {
    .filter_select_area .select-filter-box {
        margin: 3rem 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area .select-filter-box {
        margin: 3rem 0
    }
}

.filter_select_area .select-filter-box:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 3rem;
    opacity: .3;
    width: 1px;
    background-image: linear-gradient(to bottom, #000, #000 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y;
    z-index: 100
}

@media only screen and (min-width:768px) {
    .filter_select_area .select-filter-box:after {
        height: 6rem
    }
}

.filter_select_area .select-filter-box .btn-filter {
    min-width: 48%;
    max-width: 48%;
    width: 15.75rem;
    text-align: center
}

@media only screen and (min-width:544px) {
    .filter_select_area .select-filter-box .btn-filter {
        width: 31.5rem;
        max-width: none;
        min-width: 0
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area .select-filter-box .btn-filter {
        width: 31rem
    }
}

.filter_select_area .select-filter-box .btn-filter a {
    padding: .45rem 0;
    display: inline-block;
    width: 100%;
    border: 1px solid rgba(38, 34, 33, .15);
    border-radius: .25rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #333;
    font-size: 1.2rem;
    -webkit-transition: .3s;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:768px) {
    .filter_select_area .select-filter-box .btn-filter a {
        padding: 9px 0;
        border: 2px solid rgba(38, 34, 33, .15);
        border-radius: .5rem;
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area .select-filter-box .btn-filter a {
        padding: 15px 0;
        font-size: 1.4rem
    }
}

@media (min-width:768px) {
    .filter_select_area .select-filter-box .btn-filter a:hover {
        color: #8e7823;
        border: 1px solid #8e7823;
        background: #fff
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .filter_select_area .select-filter-box .btn-filter a:hover {
        border: 2px solid #8e7823
    }
}

.filter_select_area .select-filter-box .btn-filter a.is_active {
    color: #8e7823;
    border: 1px solid #8e7823;
    background: #fff
}

@media only screen and (min-width:544px) {
    .filter_select_area .select-filter-box .btn-filter a.is_active {
        border: 2px solid #8e7823
    }
}

.filter_select_area .select-reset-box {
    display: flex;
    justify-content: center
}

.filter_select_area .select-reset-box a {
    color: #333;
    font-size: 1.2rem;
    position: relative;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .filter_select_area .select-reset-box a {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .filter_select_area .select-reset-box a {
        font-size: 1.4rem
    }
}

.filter_select_area .select-reset-box a:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.filter_select_area .select-reset-box a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: right top;
    transition: transform .3s;
    transform: scale(1, 1)
}

@media (min-width:768px) {
    .filter_select_area .select-reset-box a:hover:after {
        ransform-origin: right top;
        transform: scale(0, 1)
    }

    .filter_select_area .select-reset-box a:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

p#fairResultTitle {
    text-align: center;
    line-height: 1
}

p#fairResultTitle .fairResultCount {
    font-family: ryo-display-plusn, serif;
    color: #8e7823;
    font-size: 4rem;
    display: block;
    letter-spacing: -.23rem
}

@media only screen and (min-width:544px) {
    p#fairResultTitle .fairResultCount {
        font-size: 8rem;
        letter-spacing: -.23rem
    }
}

@media only screen and (min-width:1024px) {
    p#fairResultTitle .fairResultCount {
        font-size: 4rem;
        letter-spacing: 0
    }
}

p#fairResultTitle .fairResultText {
    color: #333;
    font-size: 1.1rem;
    display: block;
    margin: 1.1rem 0 0
}

@media only screen and (min-width:544px) {
    p#fairResultTitle .fairResultText {
        font-size: 2.2rem;
        margin: 2.2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    p#fairResultTitle .fairResultText {
        font-size: 1.2rem;
        margin: 1.2rem 0 0
    }
}

.block-fair-detail {
    width: 100%;
    padding: 0 0 6rem;
    margin: 0 0 5.6rem;
    border-radius: .5rem;
    background-color: #fff
}

@media only screen and (min-width:544px) {
    .block-fair-detail {
        border-radius: 1rem;
        padding: 0 0 14rem;
        margin: 0 0 11.2rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail {
        border-radius: .5rem;
        padding: 0 0 7.5rem;
        margin: 0 0 3rem
    }
}

.block-fair-detail .fair-date div.date {
    width: 100%;
    padding: 1.3rem 0 1.6rem;
    background-color: #b2afa1;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: .5rem .5rem 0 0;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .088em;
    text-align: center;
    padding: 1.05rem 0 1.15rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail .fair-date div.date {
        font-size: 2.4rem;
        border-radius: 1rem 1rem 0 0;
        padding: 2.1rem 0 2.3rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail .fair-date div.date {
        font-size: 1.8rem;
        border-radius: .5rem .5rem 0 0;
        padding: 1.3rem 0 1.6rem
    }
}

.block-fair-detail .fair-date div.date.date_saturday {
    background-color: #a1b1b2
}

.block-fair-detail .fair-date div.date.date_sunday {
    background-color: #b2a1a1
}

.block-fair-detail div.info_container {
    width: 100%;
    padding: 1.5rem 1.5rem 2.5rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    zoom: 1;
    display: block;
    justify-content: space-between;
    position: relative;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container {
        padding: 3rem 3rem 5rem;
        margin: 0 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container {
        display: flex;
        padding: 6rem 10rem 4.8rem;
        margin: 0 0 2rem
    }
}

.block-fair-detail div.info_container:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    height: 1px;
    width: calc(100% - 3rem);
    max-width: 90rem;
    background: #e5e5e5
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container:after {
        width: calc(100% - 6rem)
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container:after {
        width: 100%
    }
}

.block-fair-detail div.info_container .thumb {
    order: 2;
    width: 100%;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .thumb {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .thumb {
        width: 42rem;
        margin: 0
    }
}

.block-fair-detail div.info_container .thumb img {
    width: 100%;
    height: auto;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .thumb img {
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .thumb img {
        border-radius: .5rem
    }
}

.block-fair-detail div.info_container .info__detail_block {
    order: 1;
    width: 100%
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block {
        width: 41.8rem
    }
}

.block-fair-detail div.info_container .info__detail_block .titles {
    transform: translateY(-8px)
}

.block-fair-detail div.info_container .info__detail_block .titles span.pickup_icon {
    display: inline-block;
    color: #fff;
    font-family: philosopher, sans-serif;
    line-height: 1;
    background: #900;
    letter-spacing: .05rem;
    padding: .3rem .7rem .3rem .75rem;
    border-radius: .8rem;
    font-size: 1rem;
    font-family: philosopher, sans-serif
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .titles span.pickup_icon {
        letter-spacing: .1rem;
        border-radius: 1.6rem;
        font-size: 2rem;
        padding: .6rem 1.4rem .6rem 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .titles span.pickup_icon {
        border-radius: 1rem;
        font-size: 1rem;
        padding: .4rem .8rem .5rem .9rem
    }
}

.block-fair-detail div.info_container .info__detail_block .titles h3.title_fair_h3 {
    font-size: 2rem;
    font-family: ryo-display-plusn, serif;
    color: #333;
    font-weight: 400;
    margin: .25rem 0;
    letter-spacing: 0
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .titles h3.title_fair_h3 {
        font-size: 4rem;
        margin: .5rem 0
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .titles h3.title_fair_h3 {
        font-size: 2.4rem;
        margin: 0 0 .9rem
    }
}

.block-fair-detail div.info_container .info__detail_block ul.list_tags_fair {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 2.3rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block ul.list_tags_fair {
        margin: 0 0 3.3rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block ul.list_tags_fair {
        margin: 0 0 3.3rem
    }
}

.block-fair-detail div.info_container .info__detail_block ul.list_tags_fair li object span {
    line-height: 1;
    color: #333;
    border: 1px solid #e5e5e5;
    display: inline-block;
    padding: .25rem .3rem .3rem;
    margin: 0 .25rem .25rem 0;
    white-space: nowrap;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    font-size: 1rem;
    border-radius: .175rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block ul.list_tags_fair li object span {
        font-size: 2rem;
        padding: .5rem .6rem .6rem;
        margin: 0 .5rem .5rem 0;
        border-radius: .35rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block ul.list_tags_fair li object span {
        font-size: 1.2rem;
        padding: .4rem .6rem .5rem;
        margin: 0 .4rem .4rem 0;
        border-radius: .2rem
    }
}

.block-fair-detail div.info_container .info__detail_block .list_time {
    margin: 0 0 1.75rem;
    padding: 2rem 0;
    display: flex;
    position: relative
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_time {
        margin: 0 0 3.5rem;
        padding: 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .list_time {
        margin: 0 0 2.7rem;
        padding: 2.35rem 0
    }
}

.block-fair-detail div.info_container .info__detail_block .list_time p.title {
    margin: 0 3rem 0 0;
    font-size: 1.3rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_time p.title {
        margin: 0 6rem 0 0;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .list_time p.title {
        margin: 0 5rem 0 0;
        font-size: 1.4rem
    }
}

.block-fair-detail div.info_container .info__detail_block .list_time:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: .2rem .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_time:before {
        opacity: .3;
        background-size: .3rem 1px;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.block-fair-detail div.info_container .info__detail_block .list_time:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: .2rem .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_time:after {
        opacity: .3;
        background-size: .3rem 1px;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.block-fair-detail div.info_container .info__detail_block .list_time ul.list_time_list {
    display: flex;
    flex-wrap: wrap
}

.block-fair-detail div.info_container .info__detail_block .list_time ul.list_time_list li {
    margin: 0 .75rem 0 0;
    font-size: 1.3rem;
    font-weight: 700;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_time ul.list_time_list li {
        margin: 0 1.5rem 0 0;
        font-size: 2.6rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .list_time ul.list_time_list li {
        margin: 0 1.5rem 0 0;
        font-size: 1.4rem
    }
}

.block-fair-detail div.info_container .info__detail_block .list_bottom_txt {
    margin: 0 0 1.85rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .list_bottom_txt {
        margin: 0 0 3.7rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group {
    display: flex;
    justify-content: space-between;
    padding: 2.5rem 0 0;
    position: relative
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group {
        padding: 5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group {
        padding: 2rem 0 0
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: .2rem .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group:before {
        opacity: .3;
        background-size: .3rem 1px;
        height: 1px;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px)
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left {
    display: flex;
    align-items: center
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left .tel_txt {
    line-height: 1;
    margin: 0 .5rem 0 0
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left .tel_txt {
        margin: 0 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left .tel_txt {
        margin: 0 .5rem 0 0
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num {
    line-height: 1;
    font-size: 1.5rem;
    color: #8e7823;
    font-weight: 700;
    position: relative;
    transform: translateY(-.05rem)
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num {
        font-size: 3rem;
        transform: translateY(-1px)
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num {
        font-size: 1.8rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #8e7823;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:before {
        height: 1px
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #8e7823;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:hover:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__left a.tel_num:hover:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    height: 3.9rem;
    border-radius: .25rem;
    width: 12.6rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    margin: 0;
    position: relative;
    background-size: 50%
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form {
        border-radius: .5rem;
        height: 7.8rem;
        width: 25.2rem;
        background-size: 100%
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form {
        height: 6rem;
        width: 16.2rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:after {
        border-radius: .5rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner {
    position: relative;
    z-index: 10;
    display: flex;
    align-items: center
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
    opacity: .5;
    display: block;
    text-align: center;
    line-height: 1;
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__net {
        font-size: 1.4rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
    display: block;
    text-align: center;
    line-height: 1;
    font-weight: 700;
    font-size: 1.3rem;
    margin: 0 .4rem 0 0
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 2.6rem;
        margin: 0 .8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.page_contact_block__btn_inner__form {
        font-size: 1.4rem;
        margin: 0 .6rem 0 0
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    position: relative;
    width: 1.9rem;
    height: 1.9rem;
    border: 1px solid transparent;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow {
        width: 3.8rem;
        height: 3.8rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow svg {
        width: 1.1rem
    }
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow svg use {
    fill: #B49C69;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:hover span.arrow {
        border: 1px solid #fff;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:hover span.arrow:before {
        width: 0;
        height: 0;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .block-fair-detail div.info_container .info__detail_block .btns_fair_group .btns_fair_group__right a.page_contact_block__btn__form:hover span.arrow svg use {
        fill: #fff;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.nav_acordion_open {
    display: flex;
    align-items: center;
    color: #8e7823;
    text-align: right;
    margin: .5rem 1.5rem 0 0;
    float: right;
    cursor: pointer
}

@media only screen and (min-width:544px) {
    .nav_acordion_open {
        margin: 3rem 3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .nav_acordion_open {
        margin: 0 10rem 0 0
    }
}

.nav_acordion_open .close {
    display: block
}

.nav_acordion_open .open {
    display: none
}

.nav_acordion_open .icon {
    -webkit-transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: all .5s cubic-bezier(.075, .82, .165, 1) 0s;
    display: block;
    position: relative;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: rgba(0, 0, 0, .5);
    transform: scale(1, 1);
    background: #f5f5f2;
    border: 1px solid #f5f5f2;
    margin: 0 0 0 1rem
}

@media only screen and (min-width:544px) {
    .nav_acordion_open .icon {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .nav_acordion_open .icon {
        width: 2.8rem;
        height: 2.8rem
    }
}

.nav_acordion_open .icon:before {
    -webkit-transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    transition: opacity .5s cubic-bezier(.075, .82, .165, 1) 0s;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .7rem;
    height: .1rem;
    opacity: 1;
    background: #8e7823
}

@media only screen and (min-width:544px) {
    .nav_acordion_open .icon:before {
        width: 1.4rem;
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .nav_acordion_open .icon:before {
        width: 1rem;
        height: .2rem
    }
}

.nav_acordion_open .icon:after {
    -webkit-transition: .5s cubic-bezier(.43, .05, .17, 1);
    transition: .5s cubic-bezier(.43, .05, .17, 1);
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: .7rem;
    width: .1rem;
    opacity: 1;
    background: #8e7823
}

@media only screen and (min-width:544px) {
    .nav_acordion_open .icon:after {
        height: 1.4rem;
        width: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .nav_acordion_open .icon:after {
        width: .2rem;
        height: 1rem
    }
}

.nav_acordion_open.active .icon {
    background: #fff;
    border: 1px solid #8e7823
}

.nav_acordion_open.active .close {
    display: none
}

.nav_acordion_open.active .open {
    display: block
}

.nav_acordion_open.active .icon:after {
    transform: translate(-50%, -50%) rotate(90deg)
}

.nav_acordion_open span {
    position: relative;
    line-height: 1
}

.nav_acordion_open span:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #8e7823;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    .nav_acordion_open span:before {
        height: 1px
    }
}

@media (min-width:768px) {
    .nav_acordion_open:hover .icon {
        transition: all .5s cubic-bezier(.43, .05, .17, 1) 0s;
        border: 1px solid #8e7823
    }

    .nav_acordion_open:hover span:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.info_acordion_wrap {
    display: none
}

.page_mv_area__top_fix .large_container .page_header_area__fair_detail {
    margin: 0 0 2.7rem
}

@media only screen and (min-width:544px) {
    .page_mv_area__top_fix .large_container .page_header_area__fair_detail {
        margin: 0 0 5.4rem
    }
}

.page_mv_area__top_fix .large_container .page_header_area__fair_detail h1 {
    margin: .2rem 0 1.3rem
}

.fair_section__wrap {
    width: 100%;
    overflow: hidden;
    line-height: 1.7
}

.fair_section__wrap section.page_section__top_fix {
    padding: 41.65rem 0 0
}

@media only screen and (min-width:544px) {
    .fair_section__wrap section.page_section__top_fix {
        padding: 83.3rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap section.page_section__top_fix {
        padding: 57rem 0 0
    }
}

.fair_section__wrap .page_section_bridalfair_detail {
    padding: 3.5rem 0 2.5rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .page_section_bridalfair_detail {
        padding: 7rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .page_section_bridalfair_detail {
        padding: 0 0 5rem
    }
}

.fair_section__wrap .page_section_bridalfair_detail nav.page_bread_nav {
    top: 10rem
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .page_section_bridalfair_detail nav.page_bread_nav {
        top: 68rem
    }
}

.fair_section__wrap .container {
    width: 100%;
    padding-right: 1.5rem;
    padding-left: 1.5rem;
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    box-sizing: border-box
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .container {
        padding-right: 3rem;
        padding-left: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .container {
        max-width: 700px;
        padding-right: 0;
        padding-left: 0
    }
}

@media only screen and (min-width:1600px) {
    .fair_section__wrap .container {
        max-width: 875px
    }
}

.fair_section__wrap p {
    font-size: 1.3rem;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap p {
        font-size: 2.6rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap p {
        font-size: 1.4rem;
        margin: 0 0 5rem
    }
}

.fair_section__wrap pre {
    font-size: 1.3rem;
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap pre {
        font-size: 2.6rem;
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap pre {
        font-size: 1.4rem;
        margin: 0 0 5rem
    }
}

.fair_section__wrap ul.caution_list {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap ul.caution_list {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap ul.caution_list {
        margin: 0 0 6rem
    }
}

.fair_section__wrap ul.caution_list.margin-bottom-large {
    margin: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap ul.caution_list.margin-bottom-large {
        margin: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap ul.caution_list.margin-bottom-large {
        margin: 0 0 6.3rem
    }
}

.fair_section__wrap .wp-block-gallery {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap
}

.fair_section__wrap .wp-block-gallery.col-2 {
    margin: 0
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .wp-block-gallery.col-2 {
        margin: -2rem 0 .5rem
    }
}

.fair_section__wrap .wp-block-gallery.col-2 img {
    width: 100%;
    height: auto;
    border-radius: .25rem;
    margin: 0 0 3rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .wp-block-gallery.col-2 img {
        border-radius: .5rem;
        margin: 0 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .wp-block-gallery.col-2 img {
        margin: 2rem 0;
        border-radius: .5rem;
        width: calc(50% - 2rem)
    }
}

.fair_section__wrap .wp-block-gallery.col-2 img:last-child {
    margin: 0 0 2.35rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .wp-block-gallery.col-2 img:last-child {
        margin: 0 0 4.7rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .wp-block-gallery.col-2 img:last-child {
        margin: 2rem 0
    }
}

.fair_section__wrap .wp-block-gallery.col-3 {
    margin: -1.5rem 0 1rem
}

.fair_section__wrap .wp-block-gallery.col-3 img {
    width: calc(33.333% - 1.5rem);
    height: auto;
    border-radius: .5rem;
    margin: 1.5rem 0
}

.fair_section__wrap .pc-gallery {
    display: none
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .pc-gallery {
        display: block
    }
}

.fair_section__wrap .page_caption_slider__body__sp {
    display: block
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .page_caption_slider__body__sp {
        display: none
    }
}

.fair_section__wrap .full_width_img_area {
    width: 100%;
    position: relative;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .full_width_img_area {
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .full_width_img_area {
        margin: 6rem 0 6.3rem
    }
}

.fair_section__wrap .full_width_img_area img {
    position: relative;
    width: 100vw;
    left: 50%;
    transform: translateX(-50%)
}

.fair_section__wrap #page_plan_slider__body {
    margin: 0 0 2.25rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap #page_plan_slider__body {
        margin: 0 0 4.5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap #page_plan_slider__body {
        margin: 0 0 2.5rem
    }
}

.fair_section__wrap ul.contents_list {
    width: 100%;
    display: flex;
    flex-wrap: wrap
}

.fair_section__wrap ul.contents_list li {
    width: 50%;
    position: relative;
    padding: 0 0 0 .75rem;
    font-size: 1.1rem;
    line-height: 1.7
}

@media only screen and (min-width:544px) {
    .fair_section__wrap ul.contents_list li {
        font-size: 2.2rem;
        padding: 0 0 0 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap ul.contents_list li {
        width: 33.333%;
        font-size: 1.8rem;
        padding: 0 0 0 1.5rem;
        line-height: 1.8
    }
}

.fair_section__wrap ul.contents_list li:before {
    content: "・";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0
}

.fair_section__wrap .wedding_white_bg .page_h2__group {
    position: relative;
    padding: 2.75rem 0 0;
    margin: 5rem 0 3.75rem
}

@media only screen and (min-width:544px) {
    .fair_section__wrap .wedding_white_bg .page_h2__group {
        padding: 5.5rem 0 0;
        margin: 10rem 0 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_section__wrap .wedding_white_bg .page_h2__group {
        padding: 5.5rem 0 0;
        margin: 10rem 0 3.9rem
    }
}

.page_contact_block__bridalfair {
    width: 100%;
    margin: 5rem auto 0 auto;
    padding: 4rem 0 5rem
}

@media only screen and (min-width:544px) {
    .page_contact_block__bridalfair {
        margin: 10rem auto 0 auto;
        width: 100%;
        padding: 6rem 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    .page_contact_block__bridalfair {
        margin: 13rem auto 0 auto;
        width: 80rem
    }
}

.page_contact_block__bridalfair a.page_contact_block__btn__form {
    width: 55rem
}

table.list_block_nav__list.list_block_nav__list_align_top th.head {
    vertical-align: top;
    padding: 1.85rem 1rem 1.5rem 1.35rem;
    font-weight: 700
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list.list_block_nav__list_align_top th.head {
        padding: 3.7rem 1rem 3rem 2.7rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list.list_block_nav__list_align_top th.head {
        padding: 1.7rem 1rem 3.5rem 1.7rem
    }
}

table.list_block_nav__list.list_block_nav__list_align_top td.body {
    padding: 1.75rem 0 1.5rem 3rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list.list_block_nav__list_align_top td.body {
        padding: 3.5rem 0 3rem 3rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list.list_block_nav__list_align_top td.body {
        padding: 1.7rem 0 3.5rem 3rem
    }
}

table.list_block_nav__list.list_block_nav__list_align_top td.body span {
    display: block;
    margin: 0 0 .3rem
}

@media only screen and (min-width:544px) {
    table.list_block_nav__list.list_block_nav__list_align_top td.body span {
        margin: 0 0 .6rem
    }
}

@media only screen and (min-width:1024px) {
    table.list_block_nav__list.list_block_nav__list_align_top td.body span {
        margin: 0 0 1.65rem
    }
}

.single_column_gallery.single_column_gallery__schedule {
    overflow: hidden;
    position: relative;
    margin: 0 0 5rem
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule {
        margin: 0 0 10rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule {
        margin: 0 0 10rem
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-image {
    overflow: hidden;
    position: relative
}

.single_column_gallery.single_column_gallery__schedule .accordion-image.is-hide {
    height: 25rem
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-image.is-hide {
        height: 50rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-image.is-hide {
        height: 35rem
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-image.is-show {
    height: auto
}

.single_column_gallery.single_column_gallery__schedule .accordion-image:before {
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    bottom: 0;
    left: -50%;
    content: "";
    height: 23rem;
    position: absolute;
    width: 150%;
    z-index: 50
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-image:before {
        height: 45rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-image:before {
        height: 20rem
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-image.is-show:before {
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    background: linear-gradient(top, rgba(255, 255, 255, 0) 8%, rgba(255, 255, 255, .9) 50%, #fff 60%, #fff 100%);
    bottom: 0;
    content: "";
    height: 0;
    position: absolute;
    width: 100%
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn {
    bottom: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    margin: 0;
    padding: 5px 15px;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    left: 50%;
    width: 14rem;
    height: 14rem;
    z-index: 80;
    border-radius: 50%;
    background: #f5f5f2;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn {
        width: 28rem;
        height: 28rem;
        bottom: 0
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn {
        width: 14rem;
        height: 14rem;
        bottom: 0
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn span.triangle {
    position: absolute;
    width: 0;
    height: 0;
    left: 50%;
    bottom: 34%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: .75rem .49rem 0;
    border-color: #B49C69 transparent transparent
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn span.triangle {
        border-width: 1.5rem .975rem 0
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn span.triangle {
        border-width: 8px 5px 0
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #8e7823;
    z-index: -1;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn:before {
    content: "";
    width: 13rem;
    height: 13rem;
    z-index: 1;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    border: 1px solid #8e7823;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 1
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn:before {
        width: 26rem;
        height: 26rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn:before {
        width: 13rem;
        height: 13rem
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn .text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn .text:after {
    content: "続きを見る";
    font-size: 1.2rem;
    color: #8e7823;
    position: absolute;
    top: 45%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media only screen and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn .text:after {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn .text:after {
        font-size: 1.4rem
    }
}

@media (min-width:768px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover span.triangle {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        border-color: #fff transparent transparent
    }

    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover:after {
        width: 13rem;
        height: 13rem;
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 1
    }

    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover:before {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: 0
    }

    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover .text:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        color: #fff
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover:after {
        width: 26rem;
        height: 26rem
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .single_column_gallery.single_column_gallery__schedule .accordion-btn:hover:after {
        width: 13rem;
        height: 13rem
    }
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn.is-show {
    margin: 0;
    bottom: 0;
    position: relative;
    transform: translateX(-50%);
    left: 50%
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn.is-show .text:after {
    content: "閉じる"
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn.is-show span.triangle {
    transform: translate(-50%, 0) rotate(180deg)
}

.single_column_gallery.single_column_gallery__schedule .accordion-btn.is-show+.accordion-text:before {
    display: none
}

#weddingform .fair_form__page .wedding_form_title_area h1 {
    margin: 0 0 3rem;
    padding: 0 0 2.85rem
}

@media only screen and (min-width:544px) {
    #weddingform .fair_form__page .wedding_form_title_area h1 {
        margin: 0 0 6rem;
        padding: 0 0 5.6rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .fair_form__page .wedding_form_title_area h1 {
        padding: 16rem 0 4.7rem;
        margin: 0 0 4.3rem;
        padding: 0
    }
}

#weddingform .fair_form__page .wedding_form_title_area {
    padding: 11.75rem 0 3rem;
    text-align: left
}

@media only screen and (min-width:544px) {
    #weddingform .fair_form__page .wedding_form_title_area {
        padding: 23.5rem 0 6rem
    }
}

@media only screen and (min-width:1024px) {
    #weddingform .fair_form__page .wedding_form_title_area {
        padding: 19.5rem 0 4.7rem;
        text-align: center
    }
}

.fair_form__page p.form_text_area_fair {
    margin: 0 0 2.25rem !important;
    line-height: 1.85 !important
}

@media only screen and (min-width:544px) {
    .fair_form__page p.form_text_area_fair {
        margin: 0 0 4.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__page p.form_text_area_fair {
        margin: 0 0 4.5rem !important;
        line-height: 1.79 !important
    }
}

.fair_form__page p.form_info_bottom_text {
    margin: 0 0 1rem !important
}

.fair_form__page .form_contact_top_info {
    border: .9px solid rgba(51, 51, 51, .1);
    color: #333;
    padding: 2.4rem 1rem;
    margin: 0 0 3.95rem
}

@media only screen and (min-width:544px) {
    .fair_form__page .form_contact_top_info {
        padding: 4.8rem 1rem;
        margin: 0 0 8.5rem;
        border: 1px solid rgba(51, 51, 51, .2)
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__page .form_contact_top_info {
        border: 1px solid #eaeaea;
        padding: 2.5rem 1rem;
        margin: 0 0 3rem
    }
}

.fair_form__page .form_contact_top_info .top {
    opacity: .5
}

@media only screen and (min-width:1024px) {
    .fair_form__page .form_contact_top_info .top {
        opacity: 1
    }
}

.fair_form__page .form_contact_top_info .center {
    opacity: 1;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 .5rem;
    letter-spacing: .05rem
}

@media only screen and (min-width:544px) {
    .fair_form__page .form_contact_top_info .center {
        font-size: 4rem;
        margin: .9rem 0
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__page .form_contact_top_info .center {
        font-size: 2rem
    }
}

.fair_form__page .form_contact_top_info .bottom {
    opacity: .5
}

@media only screen and (min-width:1024px) {
    .fair_form__page .form_contact_top_info .bottom {
        opacity: 1
    }
}

.fair_form__section ul.step_up_area {
    margin-bottom: 3.25rem
}

@media only screen and (min-width:544px) {
    .fair_form__section ul.step_up_area {
        margin-bottom: 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__section ul.step_up_area {
        margin-bottom: 4.6rem
    }
}

.fair_form__section .contact_form_area .field_area .text {
    margin: 0 0 1.1rem
}

@media only screen and (min-width:544px) {
    .fair_form__section .contact_form_area .field_area .text {
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__section .contact_form_area .field_area .text {
        margin: 0 0 1.1rem
    }
}

.fair_form__section .contact_form_area .field_area {
    margin: 0 0 2.75rem !important
}

@media only screen and (min-width:544px) {
    .fair_form__section .contact_form_area .field_area {
        margin: 0 0 5.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__section .contact_form_area .field_area {
        margin: 0 0 2.4rem !important
    }
}

.page_mv_area__bridalfair_detail {
    position: absolute;
    height: 53.45rem;
    background-size: cover
}

@media only screen and (min-width:544px) {
    .page_mv_area__bridalfair_detail {
        height: 106.9rem
    }
}

@media only screen and (min-width:1024px) {
    .page_mv_area__bridalfair_detail {
        height: 58.1rem
    }
}

.page_mv_area__bridalfair_detail:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .55);
    z-index: 1
}

.page_mv_area__bridalfair_detail .position_container {
    z-index: 100
}

.application_btn__wrap {
    position: fixed;
    display: block;
    z-index: 1000;
    right: .5rem;
    bottom: 7.5rem;
    width: 12.5rem;
    height: 12.5rem
}

@media only screen and (min-width:544px) {
    .application_btn__wrap {
        right: 1rem;
        bottom: 15rem;
        width: 25rem;
        height: 25rem
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap {
        right: 2rem;
        bottom: 2rem;
        width: 16.1rem;
        height: 16.1rem
    }
}

.application_btn__wrap .btn-close__wrap {
    display: inline-block;
    cursor: pointer;
    position: absolute;
    top: -1.25rem;
    right: 0;
    z-index: 100;
    width: 2.5rem;
    height: 2.5rem;
    background: #717171;
    border-radius: 50%;
    box-shadow: .25rem 0 .25rem rgba(8, 0, 0, .3)
}

@media only screen and (min-width:544px) {
    .application_btn__wrap .btn-close__wrap {
        top: -2.5rem;
        right: 0;
        width: 5rem;
        height: 5rem;
        box-shadow: 5px 0 5px rgba(8, 0, 0, .3)
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap .btn-close__wrap {
        top: -1.5rem;
        right: 0;
        width: 3rem;
        height: 3rem
    }
}

.application_btn__wrap .btn-close__wrap:hover {
    cursor: pointer
}

.application_btn__wrap .btn-close {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    width: 1.25rem;
    height: 1.25rem
}

@media only screen and (min-width:544px) {
    .application_btn__wrap .btn-close {
        width: 2.5rem;
        height: 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap .btn-close {
        width: 1.4rem;
        height: 1.4rem
    }
}

.application_btn__wrap .btn-close:hover {
    cursor: pointer
}

.application_btn__wrap .btn-close:before,
.application_btn__wrap .btn-close:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 1px;
    margin: -3% 0 0 -45%;
    background: #fff
}

@media only screen and (min-width:1024px) {

    .application_btn__wrap .btn-close:before,
    .application_btn__wrap .btn-close:after {
        margin: -3% 0 0 -44%
    }
}

.application_btn__wrap .btn-close:before {
    transform: rotate(-45deg)
}

.application_btn__wrap .btn-close:after {
    transform: rotate(45deg)
}

.application_btn__wrap a.application_btn {
    position: absolute;
    top: 0;
    left: 0;
    width: 12.5rem;
    height: 12.5rem;
    z-index: 100;
    background: url(../image/application_btn.png) center center no-repeat;
    background-size: 100% 100%;
    border-radius: 50%;
    display: block
}

@media only screen and (min-width:544px) {
    .application_btn__wrap a.application_btn {
        width: 25rem;
        height: 25rem;
        box-shadow: 5px 0 10px rgba(8, 0, 0, .1)
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap a.application_btn {
        width: 16.1rem;
        height: 16.1rem
    }
}

.application_btn__wrap a.application_btn .txt_group {
    position: absolute;
    top: calc(50% + 5px);
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: ryo-display-plusn, serif;
    color: #fff;
    text-align: center;
    font-weight: 700;
    font-size: 1.4rem;
    white-space: nowrap;
    display: block
}

@media only screen and (min-width:544px) {
    .application_btn__wrap a.application_btn .txt_group {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap a.application_btn .txt_group {
        font-size: 1.6rem
    }
}

.application_btn__wrap a.application_btn .txt_group span.text {
    display: block;
    line-height: 1.5;
    margin: 0 0 1.1rem
}

.application_btn__wrap a.application_btn .txt_group span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: .5rem auto;
    position: relative;
    border: 1px solid #fff;
    width: 2rem;
    height: 2rem
}

@media only screen and (min-width:544px) {
    .application_btn__wrap a.application_btn .txt_group span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap a.application_btn .txt_group span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.application_btn__wrap a.application_btn .txt_group span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .application_btn__wrap a.application_btn .txt_group span.arrow svg {
        width: 1.7rem
    }
}

@media only screen and (min-width:1024px) {
    .application_btn__wrap a.application_btn .txt_group span.arrow svg {
        width: 1.2rem
    }
}

.application_btn__wrap a.application_btn .txt_group span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.application_btn__wrap a.application_btn .txt_group span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .application_btn__wrap a.application_btn:hover span.arrow {
        border: 1px solid transparent;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .application_btn__wrap a.application_btn:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .application_btn__wrap a.application_btn:hover span.arrow svg use {
        fill: #8e2323;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

#datepicker {
    background: #fff;
    border-radius: .5rem;
    width: 48rem;
    max-width: 95%;
    position: fixed;
    padding: 0 0 2rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    z-index: 9999;
    transition: .4s
}

@media only screen and (min-width:768px) {
    #datepicker {
        padding: 0 0 4rem
    }
}

#datepicker.active {
    opacity: 1;
    visibility: visible
}

#datepicker .close {
    width: 4rem;
    height: 4rem;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: -3.5rem;
    transform: translateX(-50%);
    cursor: pointer
}

@media only screen and (min-width:768px) {
    #datepicker .close {
        width: 5rem;
        height: 5rem
    }
}

#datepicker .close span.cross:before,
#datepicker .close span.cross:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.5px;
    height: 1.5rem;
    background: #171515
}

@media only screen and (min-width:768px) {

    #datepicker .close span.cross:before,
    #datepicker .close span.cross:after {
        height: 1.9rem
    }
}

#datepicker .close span.cross:before {
    transform: translate(-50%, -50%) rotate(45deg)
}

#datepicker .close span.cross:after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

#datepicker .title {
    text-align: center;
    background: #f5f5f2;
    font-size: 1.2rem;
    padding: 1.3rem 0;
    line-height: 1;
    border-radius: .25rem .25rem 0 0
}

@media only screen and (min-width:768px) {
    #datepicker .title {
        border-radius: .5rem .5rem 0 0;
        padding: 1.8rem 0;
        font-size: 1.3rem
    }
}

#datepicker .title p {
    margin: 0
}

#datepicker .close {
    position: absolute;
    top: -15%;
    left: 50%;
    transform: translateX(-50%)
}

#datepicker .ui-widget.ui-widget-content {
    border: transparent !important;
    width: 48rem;
    max-width: 100%;
    padding: 0 1rem 1rem !important
}

@media only screen and (min-width:544px) {
    #datepicker .ui-widget.ui-widget-content {
        padding: 0 2rem 1rem !important
    }
}

@media only screen and (min-width:768px) {
    #datepicker .ui-widget.ui-widget-content {
        padding: 0 4rem 2rem !important
    }
}

#datepicker .ui-datepicker-title {
    text-align: center;
    font-size: 0;
    display: block;
    font-family: ryo-display-plusn, serif
}

#datepicker .ui-datepicker-title .ui-datepicker-year {
    text-align: center !important;
    font-size: 1.3rem !important;
    display: block !important;
    height: 2rem !important
}

@media only screen and (min-width:768px) {
    #datepicker .ui-datepicker-title .ui-datepicker-year {
        font-size: 1.4rem !important;
        height: 2.5rem !important
    }
}

#datepicker .ui-datepicker-title .ui-datepicker-month {
    font-size: 2rem !important;
    display: block !important;
    height: auto !important;
    height: 2rem !important
}

@media only screen and (min-width:768px) {
    #datepicker .ui-datepicker-title .ui-datepicker-month {
        font-size: 2.6rem !important;
        height: 2.5rem !important
    }
}

#datepicker .ui-widget-header {
    border: transparent !important;
    background: 0 0 !important;
    color: #333 !important;
    font-weight: 400 !important;
    margin: 2.5rem 0 1rem
}

@media only screen and (min-width:768px) {
    #datepicker .ui-widget-header {
        padding: 0 4rem 2rem !important
    }
}

@media (min-width:768px) {
    html .ui-button.ui-state-disabled:hover {
        border: transparent !important;
        background: 0 0 !important;
        font-weight: 400;
        color: #333 !important
    }
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:active {
    border: transparent !important;
    background: 0 0 !important;
    font-weight: 400;
    color: #333 !important
}

#datepicker table.ui-datepicker-calendar th {
    font-family: ryo-display-plusn, serif !important;
    font-size: 1.3rem !important;
    padding: .3rem .2rem 1.3rem !important
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar th {
        font-size: 1.4rem !important;
        padding: .7em .3em 2.3rem .3rem !important
    }
}

#datepicker table.ui-datepicker-calendar th:nth-child(6) {
    color: #005699
}

#datepicker table.ui-datepicker-calendar th:last-child {
    color: #900
}

#datepicker table.ui-datepicker-calendar thead {
    position: relative
}

#datepicker table.ui-datepicker-calendar thead:before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    display: none
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar thead:before {
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px;
        display: block
    }
}

#datepicker table.ui-datepicker-calendar thead:after {
    content: "";
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #000, #000 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    display: none
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar thead:after {
        display: block;
        bottom: 1.2rem;
        height: 1px;
        opacity: .3;
        background-image: linear-gradient(to right, #000, #000 1px, transparent 1px);
        background-size: 3px 1px
    }
}

#datepicker table.ui-datepicker-calendar td {
    padding: .5rem 0 !important;
    position: relative
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar td {
        padding: 1rem 0 !important
    }
}

#datepicker table.ui-datepicker-calendar td:after {
    content: "";
    background: #171515;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: .5rem;
    z-index: 0;
    opacity: 0
}

#datepicker table.ui-datepicker-calendar td span {
    background: 0 0 !important;
    font-family: ryo-display-plusn, serif !important;
    font-size: 1.4rem !important;
    text-align: center;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar td span {
        font-size: 1.6rem !important
    }
}

#datepicker table.ui-datepicker-calendar td a {
    background: 0 0 !important;
    font-family: ryo-display-plusn, serif !important;
    font-size: 1.4rem !important;
    text-align: center;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    #datepicker table.ui-datepicker-calendar td a {
        font-size: 1.6rem !important
    }
}

#datepicker table.ui-datepicker-calendar td:nth-of-type(6n) a,
#datepicker table.ui-datepicker-calendar td:nth-of-type(6n) span {
    color: #005699 !important
}

#datepicker table.ui-datepicker-calendar td:nth-of-type(7n) a,
#datepicker table.ui-datepicker-calendar td:nth-of-type(7n) span {
    color: #900 !important;
    z-index: 1
}

#datepicker table.ui-datepicker-calendar td.select a,
#datepicker table.ui-datepicker-calendar td.select span {
    color: #fff !important
}

#datepicker table.ui-datepicker-calendar td.select:after {
    content: "";
    background: #171515;
    width: 4rem;
    height: 4rem;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: .5rem;
    z-index: 0;
    opacity: 1
}

.date_submit {
    display: flex;
    justify-content: center
}

.date_submit a#dateSubmit {
    display: flex;
    justify-content: center;
    align-items: center;
    background: url(../image/page_contact_block__btn__form_bg.png) 0 0 repeat;
    color: #fff;
    height: 4rem;
    border-radius: .25rem;
    width: calc(100% - 8rem);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    margin: 0;
    position: relative;
    background-size: 50%;
    font-weight: 700;
    font-size: 1.3rem;
    letter-spacing: 1px
}

@media only screen and (min-width:544px) {
    .date_submit a#dateSubmit {
        border-radius: .5rem;
        height: 7rem;
        width: calc(100% - 8rem);
        background-size: 100%;
        font-size: 1.4rem
    }
}

@media only screen and (min-width:1024px) {
    .date_submit a#dateSubmit {
        height: 5.5rem;
        width: calc(100% - 8rem)
    }
}

.date_submit a#dateSubmit span {
    position: relative;
    z-index: 10
}

.date_submit a#dateSubmit:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .25rem;
    background: url(../image/page_contact_block__btn__form_bg__hov.png) 0 0 repeat;
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .date_submit a#dateSubmit:after {
        border-radius: .5rem
    }
}

@media (min-width:768px) {
    .date_submit a#dateSubmit:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .date_submit a#dateSubmit:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.ui-widget-header .ui-icon {
    background: 0 0 !important;
    border: transparent !important
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
    background: 0 0 !important;
    border: transparent !important;
    background-image: url(../image/calendar_arrow.png) !important;
    background-size: 100% !important;
    background-repeat: no-repeat !important;
    width: 1.6em !important;
    height: .8rem !important;
    background-position: center !important;
    padding: 10px 0 !important;
    cursor: pointer;
    top: 0 !important
}

@media (min-width:768px) {

    .ui-datepicker .ui-datepicker-next:hover,
    .ui-datepicker .ui-datepicker-prev:hover {
        background-position: center !important;
        border: transparent !important;
        background-size: 100% !important;
        background-repeat: no-repeat !important;
        width: 1.6em !important;
        height: .8rem !important;
        top: 0 !important;
        padding: 10px 0 !important;
        cursor: pointer
    }
}

.ui-datepicker .ui-datepicker-next span,
.ui-datepicker .ui-datepicker-prev span {
    position: static !important
}

.ui-datepicker .ui-datepicker-next-hover,
.ui-datepicker .ui-datepicker-prev-hover {
    border: transparent !important;
    background-size: 100% !important;
    background-repeat: no-repeat !important;
    width: 1.6em !important;
    height: .8rem !important;
    background-position: center !important;
    padding: 0 !important;
    top: 0 !important
}

.ui-datepicker .ui-datepicker-next {
    right: 0 !important
}

.ui-datepicker .ui-datepicker-prev {
    left: 0 !important;
    transform: rotate(-180deg)
}

.ui-datepicker .ui-state-disabled {
    background: 0 0 !important
}

.modal-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    text-align: center;
    background: rgba(0, 0, 0, .8);
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: .4s;
    box-sizing: border-box;
    z-index: 999
}

.modal-container:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%
}

.modal-container.active {
    opacity: 1;
    visibility: visible
}

.page_header_area__child__news {
    margin: 18.3rem 0 6rem !important;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_header_area__child__news {
        display: block
    }
}

.page_header_area__child__news h1 {
    line-height: 1 !important;
    margin: 0 0 4rem !important
}

.page_header_area__child__news {
    padding-bottom: 5rem
}

.bg_en__img.bg_en__img-news {
    width: 22rem;
    display: block
}

@media (max-width:1023px) {
    .bg_en__img.bg_en__img-news {
        translate: 0 -3rem
    }
}

.news_archive_head {
    width: 100%;
    position: absolute;
    margin: 0;
    height: auto;
    min-height: auto;
    top: 0;
    padding: 21.5rem 0 0;
    overflow: hidden
}

@media only screen and (min-width:544px) {
    .news_archive_head {
        position: absolute;
        margin: 0;
        padding: 39rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_head {
        position: relative;
        height: 42rem;
        min-height: 42rem;
        margin: 0 0 15rem;
        padding: 0;
        overflow: visible
    }
}

.news_archive_head .news_archive_background_area {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 0;
    top: 5rem;
    height: 45rem;
    display: none
}

@media only screen and (min-width:1024px) {
    .news_archive_head .news_archive_background_area {
        display: block
    }
}

.news_archive_head .news_archive_background_area:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 15rem;
    background: url(../image/news_thumb_grad.png) center top no-repeat;
    background-size: cover
}

.news_archive_head .news_archive_background_area li img {
    filter: blur(20px);
    -webkit-filter: blur(20px);
    height: 45rem;
    width: 100%;
    object-fit: cover;
    object-position: center
}

.news_archive_slide-box {
    width: calc(100% - 3rem);
    max-width: calc(100% - 3rem);
    margin: 0 1.5rem;
    display: block;
    justify-content: space-between;
    align-items: flex-end
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box {
        width: calc(100% - 6rem);
        max-width: calc(100% - 6rem);
        margin: 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box {
        width: calc(100% - 6rem);
        max-width: calc(100% - 6rem);
        margin: 0 3rem;
        display: flex
    }
}

@media screen and (min-width:1160px) {
    .news_archive_slide-box {
        width: 100%;
        max-width: 110rem;
        margin: 0 auto
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap {
    display: none
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap {
        display: block
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area {
    width: 63rem;
    color: #fff
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area {
        width: 32rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_top {
    display: flex;
    align-items: center;
    margin-bottom: .5rem;
    z-index: 10;
    position: relative
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_top .news_archive_item__icon {
    display: block;
    border: .9px solid #ccc;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .2rem .1rem .3rem .4rem;
    letter-spacing: .16rem;
    border-radius: .2rem;
    margin: 0 .8rem 0 0;
    width: auto;
    text-align: center
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_top .news_archive_item__date {
    font-size: 1rem;
    font-family: philosopher, sans-serif;
    color: rgba(255, 255, 255, .6);
    padding: .3rem 0 0;
    letter-spacing: .1rem;
    line-height: 1
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_middle {
    z-index: 10;
    position: relative;
    width: 100%
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_middle {
        width: 27rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_middle .news_archive_item__title {
    font-size: 2.2rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .15rem;
    border-bottom: 1px solid #fff;
    line-height: 1.55;
    padding: 0 0 .3rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom {
    display: block;
    margin: 3.2rem 0 0;
    z-index: 10;
    position: relative
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link {
    display: inline-block;
    align-items: center;
    position: relative;
    width: auto;
    padding: 0 2rem 0 0;
    line-height: 1
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link .text {
    color: rgba(255, 255, 255, .6);
    font-size: 1.2rem;
    position: relative;
    padding: 0 0 .3rem;
    transition: transform .3s;
    letter-spacing: .1rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link .text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link .text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link svg {
    position: absolute;
    right: 0;
    top: 54.3%;
    transform: translateY(-50%);
    transform: translateY(-50%);
    width: 1rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link:hover .text {
        color: #fff;
        transition: transform .3s
    }

    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area .news_archive_item_bottom a.news_archive_item__link:hover .text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dotted.slick-slider {
    margin-bottom: 7.8rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots {
    position: absolute;
    z-index: 1000;
    bottom: -12.3rem;
    left: 0;
    display: block;
    width: 12rem;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: left
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots li {
    width: .8rem;
    height: .8rem;
    margin: 0 .75rem 0 0
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots li button {
    width: .8rem;
    height: .8rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots li button:before {
    font-family: "slick";
    line-height: .8rem;
    position: absolute;
    top: 0;
    left: 0;
    width: .8rem;
    height: .8rem;
    content: "";
    text-align: center;
    opacity: .2;
    color: #fff;
    background: #fff;
    border-radius: 50%
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots li.slick-active button {
    width: .8rem;
    height: .8rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .slick-dots li.slick-active button:before {
    opacity: 1
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom {
    position: relative;
    height: 6rem;
    width: 100%
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: 1;
    background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
    background-size: 4px 1px;
    background-position: left top;
    background-repeat: repeat-x
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows {
    width: 18rem;
    height: 4.5rem;
    position: absolute;
    bottom: 0;
    right: 0
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev {
    left: 0;
    border-radius: .5rem 0 0 .5rem
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev:after {
    content: "";
    position: absolute;
    top: 0;
    right: -.05rem;
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, .1);
    z-index: 10
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next {
    right: 0;
    border-radius: 0 .5rem .5rem 0
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev,
.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next {
    background: #6d6442;
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50%;
    height: 4.5rem;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    transition: .5s cubic-bezier(.18, .06, .23, 1)
}

@media (min-width:768px) {

    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev:hover,
    .news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next:hover {
        background: #877f5d;
        cursor: pointer;
        transition: .5s cubic-bezier(.18, .06, .23, 1)
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev.slick-disabled,
.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next.slick-disabled {
    background: #544d33 !important;
    transition: .5s cubic-bezier(.18, .06, .23, 1);
    pointer-events: none !important
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev:before,
.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next:before {
    content: "";
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    color: #fff;
    background: 0 0
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-prev:before {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg)
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-next:before {
    display: inline-block;
    width: .6rem;
    height: .6rem;
    border-left: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-135deg)
}

.news_archive_slide-box .news_archive_contents_area_wrap .news_archive_contents_area__bottom .news_archive_slide_arrows .slick-disabled {
    pointer-events: none
}

.news_archive_slide-box .news_archive_thumb_area {
    display: none
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_thumb_area {
        display: block;
        width: 60rem
    }
}

@media screen and (min-width:1100px) {
    .news_archive_slide-box .news_archive_thumb_area {
        width: 68rem
    }
}

.news_archive_slide-box .news_archive_thumb_area img {
    border-radius: .5rem
}

.news_archive_slide-box h1.news_archive_sp__h1 {
    font-size: 2.4rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .08rem;
    line-height: 1.5;
    margin: 0;
    color: #fff;
    display: block;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box h1.news_archive_sp__h1 {
        margin: 0;
        font-size: 4.8rem;
        letter-spacing: .18rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box h1.news_archive_sp__h1 {
        margin: 0;
        display: none
    }
}

.news_archive_slide-box .news_thumb_slider {
    position: absolute;
    left: 0;
    width: 100%;
    top: 0;
    z-index: -1;
    height: 40rem;
    opacity: .5;
    display: block
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_thumb_slider {
        height: 80rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_thumb_slider {
        display: none
    }
}

.news_archive_slide-box .news_thumb_slider:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 10rem;
    background: url(../image/news_thumb_grad.png) center top no-repeat;
    background-size: cover;
    z-index: 2
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_thumb_slider:after {
        height: 20rem
    }
}

.news_archive_slide-box .news_thumb_slider .swiper-slide img {
    filter: blur(10px);
    -webkit-filter: blur(10px);
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center top
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_thumb_slider .swiper-slide img {
        filter: blur(20px);
        -webkit-filter: blur(20px)
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp {
    display: block;
    overflow: visible;
    position: relative;
    padding-bottom: 3.25rem !important
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp {
        padding-bottom: 6.5rem !important
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp {
        display: none
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body {
    margin: 0;
    height: 40.5rem;
    width: 31.5rem
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body {
        height: 70rem;
        width: 46rem
    }
}

@media only screen and (min-width:720px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body {
        width: 63rem;
        height: 81rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider {
    height: 40.5rem;
    width: 100%;
    margin-right: auto !important;
    margin-left: 0 !important;
    position: relative;
    overflow: visible !important;
    list-style: none;
    padding: 0;
    z-index: 1;
    webkit-transition: -webkit-transform .8s cubic-bezier(.215, .61, .355, 1);
    transition: transform .8s cubic-bezier(.215, .61, .355, 1)
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider {
        height: 70rem
    }
}

@media only screen and (min-width:720px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider {
        height: 81rem;
        max-width: 900px
    }
}

@media only screen and (min-width:1600px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider {
        max-width: 1125px
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider a.archive_pickup-button-next {
    position: absolute;
    z-index: 3;
    top: 2rem;
    width: 100%;
    height: 100%;
    cursor: pointer;
    right: -101%;
    display: block;
    pointer-events: auto
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider a.archive_pickup-button-next:after {
    display: none
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper {
    width: 100%
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide {
    border-radius: .25rem;
    min-width: 100%;
    width: 100%;
    padding-right: 0;
    padding-left: 0;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    opacity: 1 !important;
    transform: translate3d(0px, 0px, 0px) scale(1, 1);
    background: url(../image/follow_yellow_bg-new.png) 0 0 repeat
}

@media (max-width:767px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide {
        background-image: url(../image/main_gold_bg__sp.gif) !important;
        background-size: 10%;
        background-repeat: repeat
    }
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide {
        border-radius: .5rem;
        background: url(../image/follow_yellow_bg-new.png) 0 0 repeat
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a {
    border-radius: .25rem;
    justify-content: space-between;
    position: relative;
    z-index: 10;
    display: block;
    padding: 2.8rem 2rem 2rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a {
        display: block;
        border-radius: .5rem;
        padding: 4rem 2rem 2rem
    }
}

@media only screen and (min-width:720px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a {
        padding: 6.5rem 4rem 4rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
    width: 100%;
    padding: 1rem 0 1rem .5rem;
    height: 16.5rem;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
        height: 33rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left {
        width: 32%;
        height: auto
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top {
    letter-spacing: .15rem
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
    color: #fff;
    border: .9px solid #ccc;
    border-radius: .2rem;
    padding: .3rem .2rem .3rem .45rem;
    line-height: 1;
    font-size: 1rem;
    display: inline-block;
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
        font-size: 2rem;
        border: .2rem solid #ccc;
        padding: .4rem .5rem .6rem .8rem;
        border-radius: .4rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__cat_icon {
        font-size: 1rem;
        padding: .3rem .2rem .3rem .45rem;
        border-radius: .2rem;
        border: 1px solid #ccc
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
    color: #fff;
    font-family: philosopher, sans-serif;
    font-size: 1rem;
    margin: 0 0 0 .7rem;
    opacity: .6
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
        font-size: 2rem;
        margin: 0 0 0 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__date_time {
        font-size: 1rem;
        margin: 0 0 0 .7rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
    width: 100%;
    font-family: ryo-display-plusn, serif;
    color: #fff;
    margin: 1rem 0;
    line-height: 1.5;
    letter-spacing: .1rem;
    font-weight: 500;
    font-size: 1.6rem;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
        font-size: 3.2rem;
        letter-spacing: .1rem;
        margin: 1.5rem 0;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__top .pickup-slide__ttl {
        font-size: 2.2rem;
        letter-spacing: .16rem;
        margin: 1rem 0;
        overflow: visible;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: auto
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
    display: flex;
    align-items: center;
    color: rgba(255, 255, 255, .6);
    bottom: 3rem;
    left: 2.5rem;
    letter-spacing: .16rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
        position: static;
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom {
        position: absolute;
        font-size: 1.2rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom span {
    line-height: 1
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow {
    display: flex;
    align-items: center
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
    margin: .2rem 0 0 .6rem;
    width: 1.3rem !important;
    height: .9rem
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
        width: 2rem !important;
        margin: .3rem 0 0 .6rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg {
        width: 1.3rem !important;
        margin: 0 0 0 .6rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .pickup-slide__left__bottom .arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
    min-width: none;
    overflow: hidden;
    display: block;
    border-radius: .5rem;
    box-shadow: .5rem 1rem 2rem rgba(0, 0, 0, .1);
    margin: 0;
    width: 100%;
    height: 20rem;
    position: relative;
    z-index: 10
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        height: 28rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:720px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        height: 38rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb {
        min-width: 39.8rem;
        border-radius: .5rem;
        width: 42%;
        height: 28rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb img {
    object-fit: cover;
    object-position: center;
    border-radius: .5rem;
    width: 100%;
    height: 100%
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .thumb img {
        border-radius: .5rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide {
    width: 100%
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide {
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide .home_caption_slider__txt {
    font-size: 1.7rem !important;
    transition-delay: .8s;
    -webkit-transition-delay: .8s
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide-active {
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide-active .home_caption_slider__txt {
    font-size: 1.2rem !important;
    transition-delay: 0s;
    -webkit-transition-delay: 0s
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide-next {
    transform-origin: top;
    -webkit-transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1);
    transition: transform .8s cubic-bezier(.43, .05, .17, 1), -webkit-transform .8s cubic-bezier(.43, .05, .17, 1)
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .swiper-slide-next .home_caption_slider__txt {
    font-size: 1.7rem !important;
    transition-delay: .8s;
    -webkit-transition-delay: .8s
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .arrow svg {
    width: 1rem !important;
    margin: .2rem 0 0 .3rem
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .arrow svg {
        width: 2rem !important;
        margin: .3rem 0 0 .6rem
    }
}

@media only screen and (min-width:1024px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide a .arrow svg {
        width: 1.3rem !important;
        margin: 0 0 0 .6rem
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .swiper-slide-active a {
    background: 0 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .home_pickup_slider__body .archive_pickup_slider .pickup-slide-wrapper .pickup-slide__back {
    opacity: 0 !important;
    webkit-transition: all 1.2s ease, transform .8s;
    transition: all 1.2s ease, transform .8s;
    transform: translate3d(0px, 0px, 0px) scale(.95, .95) !important
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .swiper-pagination-progressbar {
    background-color: transparent !important;
    background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x;
    width: 100%;
    height: .3rem;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    top: auto
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .swiper-pagination-progressbar {
        height: .6rem;
        background-size: 4px 1px;
        background-image: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px)
    }
}

.news_archive_slide-box .news_archive_contents_area_wrap__sp .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: #fff;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
    opacity: .98;
    top: -1px
}

@media only screen and (min-width:544px) {
    .news_archive_slide-box .news_archive_contents_area_wrap__sp .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        top: -.3rem
    }
}

.page_wrap__news_index {
    /* margin: 69.5rem 0 0; */
}

@media only screen and (min-width:544px) {
    .page_wrap__news_index {
        margin: 123rem 0 0
    }
}

@media only screen and (min-width:720px) {
    .page_wrap__news_index {
        margin: 139rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_wrap__news_index {
        margin: 0
    }
}

.page_wrap__news_index__year {
    margin: 0
}

.page_wrap__news_index__year .news_category_list__block {
    display: none
}

.news_category_list__block {
    position: relative;
    display: block;
    margin: 0 0 2rem;
    padding: 4rem 0
}

@media only screen and (min-width:544px) {
    .news_category_list__block {
        margin: 0 0 4rem;
        padding: 8rem 0
    }
}

@media only screen and (min-width:1024px) {
    .news_category_list__block {
        display: none
    }
}

.news_category_list__block:after {
    opacity: .18;
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: -moz-linear-gradient(top, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(top, #000 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(to bottom, #000 0%, rgba(0, 0, 0, 0) 100%);
    z-index: 1
}

.news_category_list__block .news_category_list__block__inner {
    position: relative
}

.news_category_list__block .news_category_list__block__inner:before {
    z-index: 60;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 2.5rem;
    height: 3.7rem;
    background: #252120;
    background: linear-gradient(-90deg, rgba(31, 28, 27, 0) 0%, rgba(31, 28, 27, .3) 11%, rgba(31, 28, 27, .7) 50%, #1f1c1b 75%)
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list__block__inner:before {
        width: 5rem;
        height: 7.4rem
    }
}

.news_category_list__block .news_category_list__block__inner:after {
    z-index: 10;
    pointer-events: none;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 3.5rem;
    height: 3.7rem;
    background: #252120;
    background: linear-gradient(90deg, rgba(31, 28, 27, 0) 0%, rgba(31, 28, 27, .3) 11%, rgba(31, 28, 27, .7) 50%, #1f1c1b 75%)
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list__block__inner:after {
        width: 7rem;
        height: 7.4rem
    }
}

.news_category_list__block .news_category_list {
    width: 100%;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 10;
    margin: 0 0 1.5rem;
    padding: 0 0 1.5rem
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list {
        margin: 0 0 3rem;
        padding: 0 0 3rem
    }
}

.news_category_list__block .news_category_list:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list:after {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
        background-size: 4px 1px;
        width: calc(100% - 6rem)
    }
}

.news_category_list__block .news_category_list ul.sp_navi_child_list {
    width: 100%;
    margin: 0 0 0 1.5rem;
    display: flex;
    overflow: visible;
    position: relative
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list ul.sp_navi_child_list {
        width: 100%;
        margin: 0 0 0 3rem
    }
}

.news_category_list__block .news_category_list ul.sp_navi_child_list .slick-list {
    overflow: visible
}

.news_category_list__block .news_category_list ul.sp_navi_child_list li {
    margin: 0 .5rem 0 0;
    width: auto !important
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list ul.sp_navi_child_list li {
        margin: 0 1rem 0 0
    }
}

.news_category_list__block .news_category_list ul.sp_navi_child_list li a {
    color: rgba(255, 255, 255, .5);
    font-size: 1.2rem;
    background: #141414;
    display: inline-block;
    line-height: 1;
    border-radius: .25rem;
    padding: 1.25rem 1.5rem;
    white-space: nowrap
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list ul.sp_navi_child_list li a {
        font-size: 2.4rem;
        border-radius: .5rem;
        padding: 2.5rem 3rem
    }
}

.news_category_list__block .news_category_list ul.sp_navi_child_list li a.active {
    color: #c90
}

.news_category_list__block .news_category_list ul.sp_navi_child_list li:last-child a {
    margin-right: 3rem
}

@media only screen and (min-width:544px) {
    .news_category_list__block .news_category_list ul.sp_navi_child_list li:last-child a {
        margin-right: 4.5rem
    }
}

.news_category_list__block .post_year_select_block {
    position: relative;
    z-index: 10;
    padding: 0 1.5rem
}

@media only screen and (min-width:544px) {
    .news_category_list__block .post_year_select_block {
        padding: 0 3rem
    }
}

.post_year_select_wrap {
    position: relative;
    width: auto;
    display: inline
}

.post_year_select_wrap:before {
    position: absolute;
    top: 58%;
    right: 1.25rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    pointer-events: none;
    border-left: .3rem solid transparent;
    border-right: .3rem solid transparent;
    border-top: .45rem solid #fff
}

@media only screen and (min-width:544px) {
    .post_year_select_wrap:before {
        top: 57%;
        right: 2.5rem;
        border-left: .6rem solid transparent;
        border-right: .6rem solid transparent;
        border-top: .9rem solid #fff
    }
}

.post_year_select_wrap select.post_year_select {
    font-size: 1.2rem;
    color: #fff;
    background: rgba(255, 255, 255, .05);
    border-radius: 1.75rem;
    border: 1px solid rgba(255, 255, 255, .3);
    padding: .75rem 3.5rem .75rem 1rem
}

@media only screen and (min-width:544px) {
    .post_year_select_wrap select.post_year_select {
        border-radius: 3.5rem;
        font-size: 2.4rem;
        padding: 1.5rem 7rem 1.5rem 2rem
    }
}

.page_section__news {
    padding: 0;
    position: relative
}

@media only screen and (min-width:544px) {
    .page_section__news {
        padding: 0;
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news {
        padding: 0;
    }
}

.page_section__news nav.page_bread_nav {
    top: 0 !important;
    display: none
}

@media screen and (min-width:1160px) {
    .page_section__news nav.page_bread_nav {
        display: block
    }
}

.page_section__news nav.page_bread_nav__cat {
    top: 0
}

.page_section__news .page_section__inner__left__news {
    width: 20rem !important
}

.page_section__news .page_section__inner__right__news h4 {
    margin: 0 0 2rem
}

@media only screen and (min-width:544px) {
    .page_section__news .page_section__inner__right__news h4 {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news .page_section__inner__right__news h4 {
        margin: 0 0 3rem
    }
}

.page_section__news .archive_content_news_area {
    background: 0 0;
    margin: 0 0 2rem;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area {
        margin: 0 0 4rem
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li {
    position: relative
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #f6f7f7, #f6f7f7 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li:before {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #f6f7f7, #f6f7f7 1px, transparent 1px);
        background-size: 4px 1px
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li:last-child:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .2;
    background-image: linear-gradient(to right, #f6f7f7, #f6f7f7 .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li:last-child:after {
        opacity: .4;
        height: 1px;
        background-image: linear-gradient(to right, #f6f7f7, #f6f7f7 1px, transparent 1px);
        background-size: 4px 1px
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a {
    padding: 1.7rem 0 2.3rem;
    display: block;
    position: relative;
    overflow: hidden;
    color: #fff;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a {
        padding: 2.3rem 0 5.2rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a {
        padding: 2.3rem 0 6.2rem
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a:after {
    z-index: -1;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #fff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .05) 20%, rgba(255, 255, 255, .05) 80%, rgba(255, 255, 255, 0) 100%)
}

@media (min-width:768px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover {
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }

    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover:after {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        opacity: .5
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 90rem;
    box-sizing: border-box;
    display: block
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner {
        display: flex;
        width: auto;
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner .index_news_list__link__inner__inner {
    display: flex;
    align-items: center;
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__left {
    font-size: 1rem;
    font-family: philosopher, sans-serif;
    color: #000;
    padding: .3rem 0 0;
    letter-spacing: .05rem;
    width: 6rem;
    display: block;
    line-height: 1
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__left {
        font-size: 2rem;
        width: 11.3rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__left {
        font-size: 1rem;
        width: 11.3rem
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center {
    line-height: 0
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center object {
    transform: translateY(3px);
    display: inline;
    height: 0
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
    position: relative;
    z-index: 100;
    display: inline-block;
    border: 1px solid #000;
    color: #000;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .33rem .2rem .33rem .4rem;
    letter-spacing: .16rem;
    border-radius: .15rem;
    margin: 0 1rem 0 0;
    text-align: center;
    transition: .4s cubic-bezier(.26, .06, 0, 1);
    /* background: #141414; */
    transform: translateY(4px)
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
        border-radius: .3rem;
        font-size: 2rem;
        padding: .5rem .7rem .6rem;
        transform: translateY(5px)
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center a.cat_icon {
        border-radius: .2rem;
        background: 0 0;
        font-size: 1rem;
        border: .9px solid #000;
        padding: .25rem .2rem .32rem .38rem;
        transform: translateY(0)
    }
}

@media (min-width:768px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__center a.cat_icon:hover {
        border: .9px solid #8e7823;
        transition: .4s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right {
    color: #000;
    font-size: 1.3rem;
    letter-spacing: .1rem;
    margin: .3rem 0 0;
    font-weight: 400
}

@media only screen and (min-width:544px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right {
        font-size: 2.6rem;
        margin: 1rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right {
        font-size: 1.4rem;
        margin: 0
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right span {
    position: relative
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right span:before {
        display: block
    }
}

.page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(0, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner__right span:after {
        display: block
    }
}

@media (min-width:768px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover .index_news_list__link__inner__right span {
        border-bottom: 1px solid #fff
    }

    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover .index_news_list__link__inner__right span:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover .index_news_list__link__inner__right span:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:1024px) {
    .page_section__news .archive_content_news_area ul.archive_content_news_list li a:hover .index_news_list__link__inner__right span {
        border-bottom: transparent
    }
}

.page_section__news .text-right {
    padding: 0 3rem 0 0
}

.page_section__news .archive_section_side_nav.page_section_side_nav__index {
    padding-bottom: 4.5rem !important
}

.page_section__news .archive_section_side_nav.page_section_side_nav__cat {
    padding-bottom: 9rem !important
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list {
    border-radius: .5rem;
    padding: 2rem 2rem 0;
    position: relative
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list:after {
    border-radius: .5rem;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .1) 30%, rgba(0, 0, 0, .3) 70%);
    z-index: -1
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li a {
    padding: 1.9rem 0;
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1;
    transition: .2s cubic-bezier(.26, .06, 0, 1)
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li a:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li a.active {
    background: rgba(255, 255, 255, .05)
}

@media (min-width:768px) {
    .page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li:hover {
        color: #fc0;
        transition: .3s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li:first-child a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: .3;
    height: 1px;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 3px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.has_child a {
    border-radius: .5rem .5rem 0 0
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.year_archive_list {
    padding: 3rem 0;
    display: block;
    position: relative;
    font-size: 1.4rem;
    line-height: 1;
    transition: .2s cubic-bezier(.26, .06, 0, 1);
    position: relative
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.year_archive_list:hover {
    cursor: pointer
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.year_archive_list .archive_dropdown {
    position: relative;
    width: 100%;
    cursor: pointer
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.year_archive_list .triangle {
    width: 3rem;
    height: 3rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: .2rem;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .5rem;
    pointer-events: none
}

.page_section__news .archive_section_side_nav ul.archive_section_side_nav__list li.year_archive_list .triangle:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 3px 0;
    border-color: #fff transparent transparent
}

.page_section__news .share_block {
    margin-top: 1.5rem;
    padding: 0 2rem
}

.page_section__news .share_block .share_title {
    font-family: philosopher, sans-serif;
    font-size: 1.2rem;
    display: block;
    margin: 0 0 1rem;
    line-height: 1
}

.page_section__news .share_block ul.sns-share-list {
    display: flex;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .5rem;
    width: 100%
}

.page_section__news .share_block ul.sns-share-list li {
    width: 25%;
    position: relative
}

.page_section__news .share_block ul.sns-share-list li:before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1px;
    height: 2.1rem;
    opacity: .3;
    background-image: linear-gradient(to bottom, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4) 1px, transparent 1px);
    background-size: 1px 3px;
    background-position: left top;
    background-repeat: repeat-y
}

.page_section__news .share_block ul.sns-share-list li:last-child:before {
    display: none
}

.page_section__news .share_block ul.sns-share-list li a {
    display: flex;
    justify-content: center;
    position: relative;
    height: 4rem
}

.page_section__news .share_block ul.sns-share-list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, .05);
    z-index: 1;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none
}

@media (min-width:768px) {
    .page_section__news .share_block ul.sns-share-list li a:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.page_section__news .share_block ul.sns-share-list li a .sns_icon {
    position: absolute;
    top: 59%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

.page_section__news .share_block ul.sns-share-list li .facebook_icon svg {
    fill: #fff;
    width: .6rem
}

.page_section__news .share_block ul.sns-share-list li .twitter_icon svg {
    fill: #fff;
    width: 1.3rem
}

.page_section__news .share_block ul.sns-share-list li .hatebu_icon svg {
    fill: #fff;
    width: 1.2rem
}

.page_section__news .share_block ul.sns-share-list li .pocket_icon svg {
    fill: #fff;
    width: 1.4rem
}

.pager_block {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 0 0
}

@media only screen and (min-width:544px) {
    .pager_block {
        padding: 4rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .pager_block {
        padding: 1rem 0 2.5rem
    }
}

.pager_block a.pager_block_link {
    display: flex;
    align-items: center;
    position: relative
}

.pager_block a.pager_block_link .text {
    position: relative;
    display: block;
    line-height: 1;
    font-size: 1.2rem;
    margin: 0 .3rem
}

.pager_block a.pager_block_link .text:before {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

.pager_block a.pager_block_link .text:after {
    position: absolute;
    bottom: -.2rem;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media (min-width:768px) {
    .pager_block a.pager_block_link:hover .text {
        color: #fff;
        transition: transform .3s
    }

    .pager_block a.pager_block_link:hover .text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }

    .pager_block a.pager_block_link:hover .text:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.pager_block a.pager_block_link svg {
    position: absolute;
    width: 1rem
}

.pager_block a.pager_block_link svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.pager_block a.pager_block_link.pager_block_link__prev {
    padding: 0 0 0 1.3rem;
    display: none
}

@media only screen and (min-width:1024px) {
    .pager_block a.pager_block_link.pager_block_link__prev {
        display: block
    }
}

.pager_block a.pager_block_link.pager_block_link__prev svg {
    transform: translateY(-50%) rotate(180deg);
    top: 50%;
    left: 0
}

.pager_block a.pager_block_link.pager_block_link__next {
    padding: 0 1.3rem 0 0;
    display: none
}

@media only screen and (min-width:1024px) {
    .pager_block a.pager_block_link.pager_block_link__next {
        display: block
    }
}

.pager_block a.pager_block_link.pager_block_link__next svg {
    transform: translateY(-50%) rotate(0deg);
    top: 50%;
    right: 0
}

.pager_block ul.pager_block__center_list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 1.5rem
}

.pager_block ul.pager_block__center_list li {
    margin: 0 .5rem;
    border-radius: .25rem
}

@media only screen and (min-width:544px) {
    .pager_block ul.pager_block__center_list li {
        margin: 0 1rem;
        border-radius: .5rem
    }
}

@media only screen and (min-width:1024px) {
    .pager_block ul.pager_block__center_list li {
        margin: 0 .5rem
    }
}

.pager_block ul.pager_block__center_list li.current {
    background: url(../image/pager_active_bg.png) 0 0;
    background-size: cover
}

.pager_block ul.pager_block__center_list li.current a {
    pointer-events: none
}

.pager_block ul.pager_block__center_list li a {
    position: relative;
    display: inline-block;
    line-height: 1;
    border-radius: .5rem;
    padding: .9rem 1.25rem;
    font-family: philosopher, sans-serif;
    font-size: 1.1rem;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
}

@media only screen and (min-width:544px) {
    .pager_block ul.pager_block__center_list li a {
        font-size: 2.2rem;
        padding: 1.8rem 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .pager_block ul.pager_block__center_list li a {
        font-size: 1.6rem;
        padding: 1.5rem 1.8rem
    }
}

.pager_block ul.pager_block__center_list li a:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: .5rem;
    background: url(../image/pager_hover_bg.png) 0 0 repeat;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media (min-width:768px) {
    .pager_block ul.pager_block__center_list li a:hover:after {
        opacity: 1;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.pager_block ul.pager_block__center_list li a.page-num-current {
    background-color: #B49C69;
}

.pager_block ul.pager_block__center_list li .leader {
    font-size: 1.6rem;
    display: inline-block;
    margin: 0 1rem;
    transform: translateY(-.5rem)
}

@media only screen and (min-width:544px) {
    .pager_block ul.pager_block__center_list li .leader {
        margin: 0 2rem;
        transform: translateY(-1rem)
    }
}

@media only screen and (min-width:1024px) {
    .pager_block ul.pager_block__center_list li .leader {
        margin: 0 1rem;
        transform: translateY(0)
    }
}

.page_header_area__child__category {
    display: block !important;
    margin: 8rem 0 3rem !important
}

@media only screen and (min-width:544px) {
    .page_header_area__child__category {
        margin: 16rem 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .page_header_area__child__category {
        margin: 16.7rem 0 7.5rem !important
    }
}

.page_header_area__child__category .page_header_area__h1 {
    padding: 0 !important
}

.page_header_area__child__category h1 {
    line-height: 1 !important;
    margin: 0 0 7rem !important
}

.page_section__category {
    padding: 0;
}

@media only screen and (min-width:544px) {
    .page_section__category {
        padding: 0;
    }
}

@media only screen and (min-width:1024px) {
    .page_section__category {
        padding: 0;
    }
}

.page_section__category h4.mincho_h4 {
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 700;
    line-height: 1;
    font-size: 1.5rem !important;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .page_section__category h4.mincho_h4 {
        font-size: 3rem !important;
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .page_section__category h4.mincho_h4 {
        font-size: 2rem !important;
        font-family: ryo-display-plusn, serif;
        font-weight: 400;
        margin: 0 0 3rem
    }
}

.page_section__category h4.mincho_h4:before {
    content: "";
    position: absolute;
    left: 0;
    top: 53% !important;
    transform: translateY(-50%) !important;
    width: .1rem;
    height: 1.2rem;
    background: #c90
}

@media only screen and (min-width:544px) {
    .page_section__category h4.mincho_h4:before {
        width: .2rem;
        height: 2.4rem;
        top: 53% !important
    }
}

@media only screen and (min-width:1024px) {
    .page_section__category h4.mincho_h4:before {
        width: .2rem;
        height: 1.5rem;
        top: 51% !important
    }
}

h4.mincho_h4__year {
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 700;
    line-height: 1;
    font-size: 1.5rem !important;
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    h4.mincho_h4__year {
        font-size: 3rem !important;
        margin: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    h4.mincho_h4__year {
        font-size: 2rem !important;
        font-family: ryo-display-plusn, serif;
        font-weight: 400;
        margin: 0 0 3rem
    }
}

h4.mincho_h4__year:before {
    content: "";
    position: absolute;
    left: 0;
    top: 53% !important;
    transform: translateY(-50%) !important;
    width: .1rem;
    height: 1.2rem;
    background: #c90
}

@media only screen and (min-width:544px) {
    h4.mincho_h4__year:before {
        width: .2rem;
        height: 2.4rem;
        top: 53% !important
    }
}

@media only screen and (min-width:1024px) {
    h4.mincho_h4__year:before {
        width: .2rem;
        height: 1.5rem;
        top: 51% !important
    }
}

.sp_navigation__news {
    padding: 0 0 .95rem;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

@media only screen and (min-width:544px) {
    .sp_navigation__news {
        padding: 0 0 1.9rem
    }
}

.sp_navigation__news .post_year_select_wrap {
    position: relative;
    width: auto;
    display: inline
}

.sp_navigation__news .post_year_select_wrap:before {
    position: absolute;
    top: 59%;
    right: .75rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    pointer-events: none;
    border-left: .3rem solid transparent;
    border-right: .3rem solid transparent;
    border-top: .45rem solid #fff
}

@media only screen and (min-width:544px) {
    .sp_navigation__news .post_year_select_wrap:before {
        top: 59%;
        right: 1.5rem;
        border-left: .6rem solid transparent;
        border-right: .6rem solid transparent;
        border-top: .9rem solid #fff
    }
}

.sp_navigation__news .post_year_select_wrap select.post_year_select {
    font-size: 1.2rem;
    color: #fff;
    background: rgba(255, 255, 255, .05);
    border-radius: 1.75rem;
    border: 1px solid rgba(255, 255, 255, .3);
    padding: .3rem 2.25rem .35rem .75rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__news .post_year_select_wrap select.post_year_select {
        border-radius: 3.5rem;
        font-size: 2.4rem;
        padding: .5rem 4.5rem .8rem 1.5rem
    }
}

.sp_navigation__news ul.sp_navi_child_list li {
    margin-right: .4rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__news ul.sp_navi_child_list li {
        margin-right: .75rem
    }
}

.sp_navigation__news ul.sp_navi_child_list li:first-child {
    margin-left: 1rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__news ul.sp_navi_child_list li:first-child {
        margin-left: 2rem
    }
}

.sp_navigation__news ul.sp_navi_child_list li a {
    background: #141414;
    color: rgba(255, 255, 255, .3);
    padding: .25rem .6rem .4rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__news ul.sp_navi_child_list li a {
        padding: .5rem 1.25rem .8rem
    }
}

.sp_navigation__news ul.sp_navi_child_list li a.active {
    background: #141414;
    color: #c90
}

.sp_navigation__news .sp_navi_list .sp_navi_list__parnt {
    padding: 0 1rem 0 0
}

@media only screen and (min-width:544px) {
    .sp_navigation__news .sp_navi_list .sp_navi_list__parnt {
        padding: 0 2rem 0 0
    }
}

.sp_navigation__news .sp_navi_list .sp_navi_list__child {
    margin-left: 0
}

@media only screen and (min-width:544px) {
    .sp_navigation__news .sp_navi_list .sp_navi_list__child {
        margin-left: 0
    }
}

.sp_navigation__news .sp_navi_list .sp_navi_list__child:before {
    width: 1.75rem
}

@media only screen and (min-width:544px) {
    .sp_navigation__news .sp_navi_list .sp_navi_list__child:before {
        width: 2.5rem
    }
}

.post_detail_title {
    color: #fff;
    padding: 8.5rem 0 2rem
}

@media only screen and (min-width:544px) {
    .post_detail_title {
        padding: 17rem 0 4rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail_title {
        padding: 16.7rem 0 6.3rem
    }
}

.post_detail_title .post_detail_title__top {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    opacity: 0;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

@media only screen and (min-width:544px) {
    .post_detail_title .post_detail_title__top {
        margin-bottom: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail_title .post_detail_title__top {
        margin-bottom: .5rem
    }
}

.post_detail_title .post_detail_title__top.post_detail_title__top__fadein {
    opacity: 1;
    transition: .6s cubic-bezier(.26, .06, 0, 1)
}

.post_detail_title .post_detail_title__top .post_detail_title__date {
    font-size: 1rem;
    font-family: philosopher, sans-serif;
    color: rgba(255, 255, 255, .6);
    padding: 0;
    letter-spacing: .1rem;
    line-height: 1;
    margin: 0;
    order: 2
}

@media only screen and (min-width:544px) {
    .post_detail_title .post_detail_title__top .post_detail_title__date {
        font-size: 2rem;
        margin: 0
    }
}

@media only screen and (min-width:1024px) {
    .post_detail_title .post_detail_title__top .post_detail_title__date {
        font-size: 1rem;
        order: 1;
        margin: 0 .8rem 0 0
    }
}

.post_detail_title .post_detail_title__top a.post_detail_title__icon {
    display: block;
    border: .9px solid #141414;
    white-space: nowrap;
    font-size: 1rem;
    line-height: 1;
    padding: .2rem .25rem .25rem .35rem;
    letter-spacing: .16rem;
    border-radius: .2rem;
    width: auto;
    text-align: center;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    background: #141414;
    margin: 0 1rem 0 0;
    order: 1
}

@media only screen and (min-width:544px) {
    .post_detail_title .post_detail_title__top a.post_detail_title__icon {
        font-size: 2rem;
        padding: .4rem .5rem .5rem .7rem;
        margin: 0 2rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .post_detail_title .post_detail_title__top a.post_detail_title__icon {
        font-size: 1rem;
        border: .9px solid #ccc;
        background: 0 0;
        padding: .2rem .1rem .3rem .4rem;
        margin: 0;
        order: 2
    }
}

@media (min-width:768px) {
    .post_detail_title .post_detail_title__top a.post_detail_title__icon:hover {
        border: .9px solid #8e7823;
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.post_detail_title h1.post_detail_title__h1_txt {
    font-size: 2.1rem;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .18rem;
    line-height: 1.5;
    margin: 0;
    color: #000;
}

@media only screen and (min-width:544px) {
    .post_detail_title h1.post_detail_title__h1_txt {
        font-size: 4.2rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail_title h1.post_detail_title__h1_txt {
        font-size: 3rem
    }
}

.post_detail__contents h2 {
    position: relative;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .05rem;
    font-size: 1.8rem;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    padding: 3.5rem 1.5rem 0;
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    .post_detail__contents h2 {
        font-size: 3.6rem;
        line-height: 1.1;
        margin: 0 0 3.5rem;
        letter-spacing: .05rem;
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        padding: 7rem 3rem 0
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents h2 {
        font-size: 2.4rem;
        line-height: 1.3;
        margin: 10rem 0 3.5rem;
        letter-spacing: .15rem;
        width: 100%;
        transform: translateX(0);
        padding: 6rem 0 0
    }
}

.post_detail__contents h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #C31111;
    display: none
}

@media only screen and (min-width:1024px) {
    .post_detail__contents h2:before {
        display: block
    }
}

.post_detail__contents h2:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: .4rem;
    background: #fff;
    opacity: .03
}

@media only screen and (min-width:544px) {
    .post_detail__contents h2:after {
        width: 100vw;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents h2:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

.post_detail__contents h2 span {
    color: #C31111;
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0
}

.post_detail__contents .page_h2__group__not_en {
    padding: 3rem 1.5rem 0
}

@media only screen and (min-width:544px) {
    .post_detail__contents .page_h2__group__not_en {
        padding: 6rem 3rem 0
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents .page_h2__group__not_en {
        padding: 6rem 0 0
    }
}

.post_detail__contents img {
    margin: 0 0 2.75rem;
    border-radius: 0;
    display: block;
    max-width: 100%;
    width: auto;
    object-position: center center;
    object-fit: cover;
    height: auto
}

@media only screen and (min-width:544px) {
    .post_detail__contents img {
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents img {
        height: auto;
        margin: 0 0 5.2rem;
        border-radius: .5rem;
        transform: translateX(0rem)
    }
}

.post_detail__contents p {
    font-size: 1.4rem;
    margin: 0 0 3rem !important;
    line-height: 1.8
}

.post_detail__contents p:before,
.post_detail__contents p:after {
    content: "";
    display: block;
    width: 0;
    height: 0
}

.post_detail__contents p:before {
    margin-top: calc((1 - 1.8)*0.5em)
}

.post_detail__contents p:after {
    margin-bottom: calc((1 - 1.8)*0.5em)
}

@media only screen and (min-width:544px) {
    .post_detail__contents p {
        font-size: 2.8rem;
        margin: 0 0 6rem !important
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents p {
        font-size: 1.6rem;
        margin: 0 0 4rem !important
    }
}

.post_detail__contents .post_detail__contents__top img {
    margin: 0 0 2.75rem;
    border-radius: 0;
    display: block;
    width: calc(100% + 3rem);
    max-width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    object-position: center center;
    object-fit: cover;
    height: 26rem
}

@media only screen and (min-width:544px) {
    .post_detail__contents .post_detail__contents__top img {
        margin: 0 0 5.5rem;
        width: calc(100% + 6rem);
        max-width: calc(100% + 6rem);
        transform: translateX(-3rem);
        height: 52rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents .post_detail__contents__top img {
        height: auto;
        margin: 0 0 5.2rem;
        border-radius: .5rem;
        width: 100%;
        transform: translateX(0rem)
    }
}

.post_detail__contents .post_detail__contents__top p {
    margin: 0 0 4.5rem !important;
    line-height: 1.8
}

.post_detail__contents .post_detail__contents__top p:before,
.post_detail__contents .post_detail__contents__top p:after {
    content: "";
    display: block;
    width: 0;
    height: 0
}

.post_detail__contents .post_detail__contents__top p:before {
    margin-top: calc((1 - 1.8)*0.5em)
}

.post_detail__contents .post_detail__contents__top p:after {
    margin-bottom: calc((1 - 1.8)*0.5em)
}

@media only screen and (min-width:544px) {
    .post_detail__contents .post_detail__contents__top p {
        margin: 0 0 9rem !important
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents .post_detail__contents__top p {
        margin: 0 0 4.5rem !important
    }
}

.post_detail__contents .page_contact_block {
    margin: 5rem 0 3rem
}

@media only screen and (min-width:544px) {
    .post_detail__contents .page_contact_block {
        margin: 10rem 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents .page_contact_block {
        margin: 10rem 0 3rem
    }
}

.post_detail__contents h3 {
    margin: 4.5rem 0 2rem !important;
    font-size: 1.5rem;
    padding: .75rem 1rem .8rem !important
}

@media only screen and (min-width:544px) {
    .post_detail__contents h3 {
        font-size: 3rem;
        padding: 1.5rem 1rem 1.6rem 2rem !important;
        margin: 9rem 0 4rem !important
    }
}

@media only screen and (min-width:1024px) {
    .post_detail__contents h3 {
        font-size: 2rem;
        padding: 1.2rem 1rem 1.4rem 2rem;
        margin: 4.5rem 0 3rem !important
    }
}

.post_wedding_reserve_block {
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block {
        border-radius: .5rem
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__title {
    display: block;
    text-align: center;
    font-family: ryo-display-plusn, serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: .15rem;
    line-height: 1.5;
    position: relative;
    padding: 2.5rem 0
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__title {
        font-size: 3.6rem;
        padding: 5rem 0
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__title {
        font-size: 2rem;
        line-height: 1;
        padding: 4.5rem 0 4rem
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__title:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
    width: calc(100% - 8rem);
    height: 1px;
    background: rgba(255, 255, 255, .1)
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block {
    text-align: center;
    padding: 2rem 0 1.75rem
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block {
        padding: 4rem 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block {
        padding: 3rem 0 2.5rem
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block .page_contents_link {
    margin: 0 0 1rem
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 400;
    position: relative;
    display: inline;
    z-index: 10;
    padding: 0;
    line-height: 1.6;
    border-bottom: 1px solid #fff
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text {
        font-size: 1.4rem;
        line-height: 1;
        font-weight: 700;
        display: inline-block;
        border-bottom: transparent;
        padding: 0 0 .8rem
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text:before {
        height: 1px;
        display: block
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    display: none
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.text:after {
        height: 1px;
        display: block
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link:hover {
    cursor: pointer
}

@media (min-width:768px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link:hover span.text:before {
    transition: transform .3s ease-out;
    transition-delay: 0s;
    transform: scale(0, 1);
    transform-origin: right top
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.arrow {
    position: relative;
    right: 0;
    margin: 1.75rem auto 0 auto
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.arrow {
        margin: 3.5rem auto 0 auto
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom_block a.page_contents_link span.arrow {
        margin: 2.5rem auto 0 auto
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom {
    display: flex;
    padding: 0 2rem
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom .post_wedding_reserve_block__bottom_left {
    width: 50%;
    position: relative
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom .post_wedding_reserve_block__bottom_left:after {
    content: "";
    position: absolute;
    right: 0;
    transform: translateY(-50%);
    top: 50%;
    height: 6.25rem;
    width: .9px;
    background: rgba(255, 255, 255, .1)
}

@media only screen and (min-width:544px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom .post_wedding_reserve_block__bottom_left:after {
        height: 12.5rem;
        width: 1px
    }
}

@media only screen and (min-width:1024px) {
    .post_wedding_reserve_block .post_wedding_reserve_block__bottom .post_wedding_reserve_block__bottom_left:after {
        height: 6rem;
        width: 1px
    }
}

.post_wedding_reserve_block .post_wedding_reserve_block__bottom .post_wedding_reserve_block__bottom_right {
    width: 50%
}

section.scene_section {
    padding: 2rem 0 2.5rem;
    position: relative;
    color: #fff
}

@media only screen and (min-width:544px) {
    section.scene_section {
        padding: 4rem 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section {
        padding: 10rem 0 15rem
    }
}

section.scene_section p {
    line-height: 1.7;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    section.scene_section p {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section p {
        font-size: 1.4rem
    }
}

section.scene_section p.large-text {
    line-height: 1.8;
    font-weight: 400;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    section.scene_section p.large-text {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section p.large-text {
        font-size: 1.6rem
    }
}

section.scene_section p span.small {
    font-size: 1.2rem;
    opacity: .5
}

section.scene_section p.desc_text {
    margin-bottom: 4.75rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    section.scene_section p.desc_text {
        font-size: 2.2rem;
        margin-bottom: 9.5rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section p.desc_text {
        font-size: 1.4rem;
        margin-bottom: .5rem
    }
}

section.scene_section p.kingaku {
    margin-bottom: 4.25rem
}

@media only screen and (min-width:544px) {
    section.scene_section p.kingaku {
        margin-bottom: 8.5rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section p.kingaku {
        margin-bottom: .5rem
    }
}

section.scene_section ul.caution_list {
    margin: 1.5rem 0 4.5rem
}

@media only screen and (min-width:544px) {
    section.scene_section ul.caution_list {
        margin: 3rem 0 9rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section ul.caution_list {
        margin: 0 0 2rem
    }
}

section.scene_section .plan_prace_area__center {
    margin: 2rem 0
}

@media only screen and (min-width:544px) {
    section.scene_section .plan_prace_area__center {
        margin: 4rem 0
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section .plan_prace_area__center {
        margin: 5rem 0 2rem
    }
}

section.scene_section .page_caption_slider__body {
    margin: 2rem 0 1.5rem
}

@media only screen and (min-width:544px) {
    section.scene_section .page_caption_slider__body {
        margin: 4rem 0 3rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section .page_caption_slider__body {
        margin: 5rem 0
    }
}

section.scene_section .wp-block-gallery {
    margin: 5rem 0;
    width: 100%;
    overflow: hidden
}

section.scene_section .wp-block-gallery .slick-list {
    overflow: visible;
    width: 60rem
}

section.scene_section .wp-block-gallery .slick-list figure {
    position: relative;
    padding: 0 3rem 0 0
}

section.scene_section .wp-block-gallery .slick-list figure img {
    width: 100%;
    border-radius: .5rem
}

section.scene_section h2 {
    position: relative;
    font-family: ryo-display-plusn, serif;
    font-weight: 400;
    letter-spacing: .05rem;
    font-size: 1.8rem;
    width: calc(100% + 3rem);
    transform: translateX(-1.5rem);
    padding: 3.5rem 1.5rem 0;
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    section.scene_section h2 {
        font-size: 3.6rem;
        line-height: 1.1;
        margin: 0 0 3.5rem;
        letter-spacing: .05rem;
        width: calc(100% + 6rem);
        transform: translateX(-3rem);
        padding: 7rem 3rem 0
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section h2 {
        font-size: 2.4rem;
        line-height: 1.3;
        margin: 10rem 0 3.5rem;
        letter-spacing: .15rem;
        width: 100%;
        transform: translateX(0);
        padding: 6rem 0 0
    }
}

section.scene_section h2:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: .5rem;
    height: 1px;
    background: #C31111;
    display: none
}

@media only screen and (min-width:1024px) {
    section.scene_section h2:before {
        display: block
    }
}

section.scene_section h2:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 100vw;
    height: .4rem;
    background: #fff;
    opacity: .03
}

@media only screen and (min-width:544px) {
    section.scene_section h2:after {
        width: 100vw;
        height: .8rem;
        opacity: .03
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section h2:after {
        width: calc(100% - 1rem);
        opacity: .1;
        height: 1px
    }
}

section.scene_section h2 span {
    color: #C31111;
    display: block;
    font-size: 1.2rem;
    line-height: 1;
    margin: 0
}

section.scene_section a.scene_back_anchor {
    display: inline-block;
    position: relative;
    line-height: 1;
    margin: 0 0 1.75rem
}

@media only screen and (min-width:544px) {
    section.scene_section a.scene_back_anchor {
        margin: 0 0 3.5rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section a.scene_back_anchor {
        margin: 0 0 5rem
    }
}

section.scene_section a.scene_back_anchor .scene_back_anchor__inner {
    display: flex;
    align-items: center
}

section.scene_section a.scene_back_anchor img.turnback_icon {
    width: .9rem;
    margin: 0 .5rem 0 0;
    transform: translateY(-4px)
}

@media only screen and (min-width:544px) {
    section.scene_section a.scene_back_anchor img.turnback_icon {
        width: 1.8rem;
        margin: 0 1rem 0 0;
        transform: translateY(-4px)
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section a.scene_back_anchor img.turnback_icon {
        width: 1.1rem;
        margin: -.2rem 1rem 0 0;
        transform: translateY(0px)
    }
}

section.scene_section a.scene_back_anchor span.text {
    color: #fff;
    position: relative;
    display: inline-block;
    z-index: 10;
    padding: 0 0 .8rem;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    section.scene_section a.scene_back_anchor span.text {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    section.scene_section a.scene_back_anchor span.text {
        font-size: 1.2rem
    }
}

section.scene_section a.scene_back_anchor span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    section.scene_section a.scene_back_anchor span.text:before {
        height: 1px
    }
}

section.scene_section a.scene_back_anchor span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: .9px;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s
}

@media only screen and (min-width:544px) {
    section.scene_section a.scene_back_anchor span.text:after {
        height: 1px
    }
}

@media (min-width:768px) {
    section.scene_section a.scene_back_anchor:hover {
        cursor: pointer
    }

    section.scene_section a.scene_back_anchor:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    section.scene_section a.scene_back_anchor:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    section.scene_section a.scene_back_anchor:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    section.scene_section a.scene_back_anchor:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#scene_detail {
    position: relative;
    width: 100%
}

#scene_detail .section-carousel {
    overflow: hidden;
    margin: 5rem 0
}

#scene_detail .section-carousel .carousel-wrap {
    position: relative
}

#scene_detail .section-carousel .carousel-slider img {
    display: block;
    width: 100%
}

#scene_detail .section-carousel .carousel-slider img:hover {
    cursor: pointer
}

#scene_detail .section-carousel .slick-list {
    overflow: visible
}

.form-container {
    width: 100%;
    max-width: 70rem;
    margin: 0 auto;
    color: #fff
}

.form-container input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #141414 inset !important;
    -webkit-text-fill-color: #fff !important
}

.form-container .input_wrap {
    position: relative
}

.form-container .input_wrap:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: .5rem;
    box-sizing: border-box;
    border: .2rem solid #B49C69;
    z-index: 10;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    .form-container .input_wrap:after {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .form-container .input_wrap:after {
        border-radius: .5rem
    }
}

.form-container .half-margin-bottom {
    margin-bottom: 2.5rem !important
}

.form-container .half-margin-top {
    margin-top: 2.5rem !important
}

.form-container .no-margin-bottom {
    margin-bottom: 0 !important
}

.form-container .no-margin-top {
    margin-top: 0 !important
}

.form-container .no-padding-top {
    padding-top: 0 !important
}

.form-container .form_after_text {
    font-size: 1.2rem;
    margin: 0 0 0 .75rem
}

@media only screen and (min-width:544px) {
    .form-container .form_after_text {
        font-size: 2.4rem;
        margin: 0 0 0 1.5rem;
        color: #fff
    }
}

@media only screen and (min-width:1024px) {
    .form-container .form_after_text {
        font-size: 1.6rem;
        margin: 0 0 0 1rem;
        color: #ccc
    }
}

.form-container .display-flex {
    display: flex
}

.form-container .flex-center {
    align-items: center
}

.form_contact_top_info {
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: .5rem;
    text-align: center;
    color: #fff;
    padding: 2.5rem 1rem;
    margin: 0 0 4rem
}

@media only screen and (min-width:544px) {
    .form_contact_top_info {
        border-radius: 1rem;
        padding: 5rem 1rem;
        margin: 0 0 8rem
    }
}

@media only screen and (min-width:1024px) {
    .form_contact_top_info {
        border-radius: .5rem;
        padding: 2.5rem 1rem;
        margin: 0 0 5rem
    }
}

.form_contact_top_info .top {
    opacity: .5;
    display: block;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .form_contact_top_info .top {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .form_contact_top_info .top {
        font-size: 1.2rem
    }
}

.form_contact_top_info .center {
    opacity: 1;
    display: block;
    font-family: philosopher, sans-serif;
    letter-spacing: .2rem;
    margin: .5rem 0;
    line-height: 1;
    font-size: 2.5rem
}

@media only screen and (min-width:544px) {
    .form_contact_top_info .center {
        font-size: 5rem
    }
}

@media only screen and (min-width:1024px) {
    .form_contact_top_info .center {
        font-size: 3rem
    }
}

.form_contact_top_info .bottom {
    font-size: 1.2rem;
    opacity: .5;
    display: block
}

@media only screen and (min-width:544px) {
    .form_contact_top_info .bottom {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .form_contact_top_info .bottom {
        font-size: 1.2rem
    }
}

p.form_info_bottom_text {
    margin: 0 0 3.75rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    p.form_info_bottom_text {
        margin: 0 0 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    p.form_info_bottom_text {
        margin: 0 0 6rem
    }
}

ul.step_up_area {
    display: flex;
    position: relative;
    margin-bottom: 3.75rem
}

@media only screen and (min-width:544px) {
    ul.step_up_area {
        margin-bottom: 7.5rem
    }
}

@media only screen and (min-width:1024px) {
    ul.step_up_area {
        margin-bottom: 6rem
    }
}

ul.step_up_area:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    ul.step_up_area:before {
        opacity: .3
    }
}

@media only screen and (min-width:1024px) {
    ul.step_up_area:before {
        opacity: .5;
        height: 1px;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
        background-size: 4px 1px
    }
}

ul.step_up_area:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: .9px;
    opacity: .15;
    background-image: linear-gradient(to right, #fff, #fff .9px, transparent .9px);
    background-size: 2px .9px;
    background-position: left top;
    background-repeat: repeat-x
}

@media only screen and (min-width:544px) {
    ul.step_up_area:after {
        opacity: .3
    }
}

@media only screen and (min-width:1024px) {
    ul.step_up_area:after {
        opacity: .5;
        height: 1px;
        background-image: linear-gradient(to right, #fff, #fff 1px, transparent 1px);
        background-size: 4px 1px
    }
}

ul.step_up_area li {
    width: 33.3333%;
    text-align: center;
    font-weight: 400;
    position: relative;
    color: rgba(255, 255, 255, .5);
    font-size: 1.2rem;
    padding: .75rem 0
}

@media only screen and (min-width:544px) {
    ul.step_up_area li {
        font-size: 2.4rem;
        padding: 1.5rem 0
    }
}

@media only screen and (min-width:1024px) {
    ul.step_up_area li {
        font-size: 1.4rem;
        padding: 1.5rem 0
    }
}

ul.step_up_area li.active {
    background: rgba(255, 255, 255, .05);
    color: #fff !important;
    font-weight: 700
}

ul.step_up_area li.border-right:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #fff
}

@media only screen and (min-width:544px) {
    ul.step_up_area li.border-right:after {
        height: 3rem
    }
}

.mw_wp_form_input ul.step_up_area li:first-child {
    background: rgba(255, 255, 255, .05);
    color: #fff !important;
    font-weight: 700
}

.mw_wp_form_input ul.step_up_area li:first-child:after {
    display: none
}

.mw_wp_form_input ul.step_up_area li:nth-child(2):after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #fff
}

@media only screen and (min-width:544px) {
    .mw_wp_form_input ul.step_up_area li:nth-child(2):after {
        height: 3rem
    }
}

.mw_wp_form_confirm ul.step_up_area li:nth-child(2) {
    background: rgba(255, 255, 255, .05);
    color: #fff !important;
    font-weight: 700
}

.mw_wp_form_confirm ul.step_up_area li:nth-child(2):after {
    display: none
}

.mw_wp_form_complete ul.step_up_area li:first-child:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 1.5rem;
    opacity: .1;
    width: 1px;
    background: #fff
}

@media only screen and (min-width:544px) {
    .mw_wp_form_complete ul.step_up_area li:first-child:after {
        height: 3rem
    }
}

.mw_wp_form_complete ul.step_up_area li:nth-child(2):after {
    display: none
}

.mw_wp_form_complete ul.step_up_area li:last-child {
    background: rgba(255, 255, 255, .05);
    color: #fff !important;
    font-weight: 700
}

.contact_form_text_area {
    font-size: 1.2rem;
    line-height: 1.85;
    letter-spacing: 0;
    padding: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_text_area {
        padding: 0 0 7rem;
        font-size: 2.4rem;
        line-height: 1.85
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_text_area {
        padding: 6rem 0;
        font-size: 1.4rem;
        line-height: 1.7
    }
}

.contact_form_text_area.contact_form_text_area_ryotei {
    padding: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_text_area.contact_form_text_area_ryotei {
        padding: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_text_area.contact_form_text_area_ryotei {
        padding: 6rem 0
    }
}

.contact_form_area .field_area {
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area {
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area {
        margin: 0 0 3rem
    }
}

.contact_form_area .field_area.field_area__full {
    margin: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area.field_area__full {
        margin: 0 0 5rem
    }
}

.contact_form_area .field_area.field_area__middle {
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area.field_area__middle {
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area.field_area__middle {
        margin: 0 0 4rem
    }
}

.contact_form_area .field_area .text {
    line-height: 1;
    display: block;
    align-items: center;
    margin: 0 0 1.3rem;
    font-size: 1.2rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area .text {
        font-size: 2.4rem;
        margin: 0 0 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area .text {
        font-size: 1.2rem;
        margin: 0 0 1.3rem;
        display: flex
    }
}

.contact_form_area .field_area .text .hissu {
    display: inline-block;
    background: #ce161e;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
    padding: .28rem .3rem .35rem;
    border-radius: .2rem;
    margin: 0 0 0 .5rem;
    transform: translateY(-.075rem)
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area .text .hissu {
        font-size: 2rem;
        border-radius: .4rem;
        padding: .5rem .6rem .7rem;
        margin: 0 0 0 1rem;
        transform: translateY(-.15rem)
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area .text .hissu {
        transform: translateY(0);
        font-size: 1rem;
        padding: .35rem .4rem .45rem;
        margin: 0 0 0 .5rem
    }
}

.contact_form_area .field_area .text .small {
    color: rgba(255, 255, 255, .5);
    font-size: 1.1rem;
    line-height: 1.5;
    padding: 0;
    border-radius: .2rem;
    margin: .5rem 0 0;
    display: block
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area .text .small {
        margin: 1rem 0 0;
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area .text .small {
        margin: 0 0 0 1.5rem;
        padding: .1rem .4rem .2rem;
        font-size: 1.2rem
    }
}

.contact_form_area .field_area_flex {
    display: block;
    justify-content: space-between;
    margin: 0 0 2.75rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area_flex {
        display: block;
        margin: 0 0 5.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area_flex {
        display: flex;
        margin: 0
    }
}

.contact_form_area .field_area_flex .field_area_flex__inner {
    width: 100%
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area_flex .field_area_flex__inner {
        width: 100%
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area_flex .field_area_flex__inner {
        width: calc(50% - 1rem)
    }
}

.contact_form_area .field_area_flex .field_area_flex__inner input[type=text] {
    margin: 0 !important
}

@media only screen and (min-width:544px) {
    .contact_form_area .field_area_flex .field_area_flex__inner input[type=text] {
        margin: 0 !important
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .field_area_flex .field_area_flex__inner input[type=text] {
        margin: 0
    }
}

.contact_form_area .input_wrap {
    background-color: #141414;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .input_wrap {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .input_wrap {
        border-radius: .5rem
    }
}

.contact_form_area input[type=text] {
    margin: 0;
    display: block;
    width: 100%;
    background-color: #B49C69;
    box-sizing: border-box;
    border-radius: .5rem;
    line-height: 1;
    padding: 1.25rem;
    font-size: 1.4rem;
    color: #fff;
}

@media only screen and (min-width:544px) {
    .contact_form_area input[type=text] {
        font-size: 2.8rem;
        border-radius: 1rem;
        padding: 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area input[type=text] {
        font-size: 1.4rem;
        border-radius: .5rem;
        padding: 1.3rem 1.5rem
    }
}

.contact_form_area input[type=text]::placeholder {
    color: rgba(255, 255, 255, .8)
}

.contact_form_area input[type=text]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=text]:focus::placeholder {
    color: #fff
}

.contact_form_area input[type=text].mw_wp_form_error {
    outline: 0;
    box-shadow: 0 0 0 .1rem #cf161e
}

.contact_form_area input[type=text].mw_wp_form_error:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=text].mw_wp_form_error:focus::placeholder {
    color: #fff
}

.contact_form_area input[type=text].error {
    outline: 0;
    box-shadow: 0 0 0 .1rem #cf161e
}

.contact_form_area input[type=text].valid:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=number] {
    margin: 0;
    display: block;
    background-color: #141414;
    font-size: 1.4rem;
    box-sizing: border-box;
    border-radius: .5rem;
    line-height: 1;
    padding: 1.25rem .25rem 1.25rem 1.25rem;
    width: 6.6rem
}

@media only screen and (min-width:544px) {
    .contact_form_area input[type=number] {
        font-size: 2.8rem;
        border-radius: 1rem;
        padding: 2.5rem .5rem 2.5rem 2.5rem;
        width: 13.2rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area input[type=number] {
        font-size: 1.6rem;
        border-radius: .5rem;
        padding: 1.3rem .5rem 1.3rem 1.5rem;
        width: 7rem
    }
}

.contact_form_area input[type=number]::placeholder {
    color: rgba(255, 255, 255, .8)
}

.contact_form_area input[type=number]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=number]:focus::placeholder {
    color: #fff
}

.contact_form_area input[type=email] {
    margin: 0;
    display: block;
    width: 100%;
    background-color: #b49c69;
    box-sizing: border-box;
    border-radius: .5rem;
    line-height: 1;
    padding: 1.25rem;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .contact_form_area input[type=email] {
        font-size: 2.8rem;
        border-radius: 1rem;
        padding: 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area input[type=email] {
        font-size: 1.6rem;
        border-radius: .5rem;
        padding: 1.3rem 1.5rem
    }
}

.contact_form_area input[type=email]::placeholder {
    color: rgba(255, 255, 255, .8)
}

.contact_form_area input[type=email]:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=email]:focus::placeholder {
    color: #fff
}

.contact_form_area input[type=email].error {
    outline: 0;
    box-shadow: 0 0 0 .1rem #cf161e
}

.contact_form_area input[type=email].valid:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area input[type=radio] {
    display: none
}

.contact_form_area .mwform-radio-field-text {
    box-sizing: border-box;
    -webkit-transition: background-color .2s linear;
    transition: background-color .2s linear;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    border: 1px solid #666;
    position: relative;
    margin: 0 .3rem 0 0;
    font-size: 1.4rem;
    padding: .9rem 1rem .9rem 3rem;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .mwform-radio-field-text {
        font-size: 2.8rem;
        padding: 1.8rem 3rem 1.8rem 6.5rem;
        border-radius: 1rem;
        margin: 0 .5rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .mwform-radio-field-text {
        font-size: 1.4rem;
        padding: 1.2rem 1.5rem 1.2rem 4.2rem;
        border-radius: .5rem;
        margin: 0 .8rem 0 0
    }
}

@media (min-width:768px) {
    .contact_form_area .mwform-radio-field-text:hover {
        border: 1px solid #c90
    }
}

.contact_form_area .mwform-radio-field-text:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    content: "";
    background: #ededed;
    left: 1.1rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .mwform-radio-field-text:after {
        width: 2.8rem;
        height: 2.8rem;
        left: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .mwform-radio-field-text:after {
        width: 2rem;
        height: 2rem;
        left: 1.4rem
    }
}

.contact_form_area .mwform-radio-field-text:before {
    content: "";
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: block;
    width: .9rem;
    height: .9rem;
    border-radius: 50%;
    background-color: #c90;
    z-index: 1;
    opacity: 0;
    left: 1.35rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .mwform-radio-field-text:before {
        width: 1.8rem;
        height: 1.8rem;
        left: 2.7rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .mwform-radio-field-text:before {
        width: 1.2rem;
        height: 1.2rem;
        left: 1.8rem
    }
}

.contact_form_area input[type=radio]:checked+.mwform-radio-field-text {
    border: 1px solid #c90
}

.contact_form_area input[type=radio]:checked+.mwform-radio-field-text:before {
    opacity: 1
}

.contact_form_area .select_parent select {
    width: 100%;
    cursor: pointer;
    text-indent: .01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: 0 0;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
    line-height: 1;
    padding: 1.5rem 1.25rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .select_parent select {
        padding: 3rem 2.5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .select_parent select {
        padding: 1.7rem 1.5rem
    }
}

.contact_form_area .select_parent select::-ms-expand {
    display: none
}

.contact_form_area .select_parent.select_parent_02 {
    margin: 0;
    position: relative;
    height: 100%;
    background-color: #141414;
    font-size: 1.6rem;
    box-sizing: border-box;
    border-radius: .5rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .select_parent.select_parent_02 {
        margin: 0 0 1rem;
        font-size: 2.8rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .select_parent.select_parent_02 {
        margin: 0;
        font-size: 1.6rem;
        border-radius: .5rem
    }
}

.contact_form_area .select_parent.select_parent_02.select_parent_02__top {
    margin-bottom: 1rem
}

@media only screen and (min-width:544px) {
    .contact_form_area .select_parent.select_parent_02.select_parent_02__top {
        margin-bottom: 2rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .select_parent.select_parent_02.select_parent_02__top {
        margin-bottom: 0
    }
}

.contact_form_area .select_parent.select_parent_02::placeholder {
    color: rgba(255, 255, 255, .1)
}

.contact_form_area .select_parent.select_parent_02:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area .select_parent.select_parent_02:focus::placeholder {
    color: #fff
}

.contact_form_area .select_parent.select_parent_02 input[type=text] {
    margin: 0
}

.contact_form_area .select_parent.select_parent_02:before {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    padding: 0;
    content: "";
    pointer-events: none;
    border-left: .375rem solid transparent;
    border-right: .375rem solid transparent;
    border-top: .55rem solid #fff
}

@media only screen and (min-width:544px) {
    .contact_form_area .select_parent.select_parent_02:before {
        border-left: .75rem solid transparent;
        border-right: .75rem solid transparent;
        border-top: 1.1rem solid #fff;
        right: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area .select_parent.select_parent_02:before {
        border-left: .4rem solid transparent;
        border-right: .4rem solid transparent;
        border-top: .6rem solid #fff;
        right: 1.5rem
    }
}

.contact_form_area .select_parent.select_parent_02 select {
    color: #fff
}

.contact_form_area textarea {
    margin: 0;
    display: block;
    width: 100%;
    background-color: #b49c69;
    box-sizing: border-box;
    border-radius: .5rem;
    resize: none;
    font-size: 1.4rem;
    padding: 1.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_area textarea {
        font-size: 2.8rem;
        border-radius: 1rem;
        padding: 3rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_area textarea {
        font-size: 1.6rem;
        border-radius: .5rem;
        padding: 1.5rem
    }
}

.contact_form_area textarea::placeholder {
    color: rgba(255, 255, 255, .1)
}

.contact_form_area textarea:focus {
    outline: 0;
    box-shadow: 0 0 0 .1rem #fff
}

.contact_form_area textarea:focus::placeholder {
    color: #fff
}

.form_submit_area {
    background: #E7E7E4;
    background-size: 100% 100%;
    padding: 3.5rem 0 1.5rem;
    margin: 2.5rem 0 1rem
}

@media only screen and (min-width:544px) {
    .form_submit_area {
        padding: 7rem 0 3rem;
        margin: 5rem 0 2rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area {
        padding: 4rem 0
    }
}

.form_submit_area .confirm_policy {
    text-align: center
}

.form_submit_area .confirm_policy p {
    font-size: 1.1rem;
    color: #000;
}

@media only screen and (min-width:544px) {
    .form_submit_area .confirm_policy p {
        font-size: 2.2rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .confirm_policy p {
        font-size: 1.2rem
    }
}

.form_submit_area .confirm_policy a {
    /* text-decoration: underline; */
    transition: .6s
}

@media (min-width:768px) {
    .form_submit_area .confirm_policy a:hover {
        transition: .6s;
        opacity: .7;
        text-decoration: none
    }
}

.form_submit_area .form_submit_area__btn_area {
    display: flex;
    justify-content: space-between;
    margin: 1.5rem 0 0;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area {
        margin: 3rem 0 0
    }
}

.form_submit_area .form_submit_area__btn_area.flex-center {
    justify-content: center
}

.form_submit_area .form_submit_area__btn_area .confirm_btn_wrap {
    position: relative;
    width: 25rem
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap {
        width: 50rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap {
        width: calc(50% - 1rem)
    }
}

.form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 15%;
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto .5rem auto;
    border: 1px solid #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    pointer-events: none;
    width: 2rem;
    height: 2rem
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow {
        width: 4rem;
        height: 4rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow {
        width: 3rem;
        height: 3rem
    }
}

.form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .85rem
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow svg {
        width: 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow svg {
        width: 1rem
    }
}

.form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.form_submit_area .form_submit_area__btn_area .confirm_btn_wrap span.arrow:before {
    content: "";
    z-index: -1;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

.form_submit_area .form_submit_area__btn_area input[type=submit] {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #8e7823;
    color: #fff;
    width: 100%;
    border-radius: .5rem;
    font-size: 1.2rem;
    font-weight: 700;
    background-size: cover;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    padding: 1.5rem 1rem 3.75rem
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area input[type=submit] {
        font-size: 2.4rem;
        padding: 3rem 1rem 7.5rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .form_submit_area__btn_area input[type=submit] {
        font-size: 1.4rem;
        padding: 1.7rem 1rem 6rem;
        border-radius: .5rem
    }
}

.form_submit_area .form_submit_area__btn_area button[type=submit] {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #B49C69;
    color: #fff;
    width: 100%;
    border-radius: .5rem;
    font-size: 1.2rem;
    font-weight: 700;
    background-size: cover;
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    padding: 1.5rem 1rem 3.75rem
}

@media only screen and (min-width:544px) {
    .form_submit_area .form_submit_area__btn_area button[type=submit] {
        font-size: 2.4rem;
        padding: 3rem 1rem 7.5rem;
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .form_submit_area .form_submit_area__btn_area button[type=submit] {
        font-size: 1.4rem;
        padding: 1.7rem 1rem 6rem;
        border-radius: .5rem
    }
}

@media (min-width:768px) {
    .form_submit_area .form_submit_area__btn_area:hover {
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .form_submit_area .form_submit_area__btn_area:hover button[type=submit] {
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: #B49C69;
        background-size: cover
    }

    .form_submit_area .form_submit_area__btn_area:hover span.arrow {
        border: 1px solid transparent;
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .form_submit_area .form_submit_area__btn_area:hover span.arrow:before {
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1)
    }

    .form_submit_area .form_submit_area__btn_area:hover span.arrow svg use {
        fill: #B49C69;
        transition: .5s cubic-bezier(.26, .06, 0, 1)
    }
}

.mailmagazine_area {
    border-radius: .5rem
}

.mailmagazine_area input[type=checkbox] {
    display: none
}

.mailmagazine_area .mwform-checkbox-field-text {
    width: 100%;
    box-sizing: border-box;
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    position: relative;
    display: inline-block;
    margin: 0 1rem 1.25rem 0;
    padding: 3.75rem .5rem 1.75rem;
    border-radius: 5px;
    background: rgba(255, 255, 255, .05);
    vertical-align: middle;
    text-align: center;
    cursor: pointer;
    font-size: 1.1rem
}

@media only screen and (min-width:544px) {
    .mailmagazine_area .mwform-checkbox-field-text {
        font-size: 2.2rem;
        padding: 7.5rem 1rem 3.5rem;
        border-radius: 10px;
        margin: 0 20px 25px 0
    }
}

@media only screen and (min-width:1024px) {
    .mailmagazine_area .mwform-checkbox-field-text {
        font-size: 1.2rem;
        padding: 5.5rem 1rem 2.5rem;
        border-radius: 8px;
        margin: 0 20px 8px 0
    }
}

@media (min-width:768px) {
    .mailmagazine_area .mwform-checkbox-field-text:hover {
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1);
        background: rgba(255, 255, 255, .05);
        color: #C31111
    }

    .mailmagazine_area .mwform-checkbox-field-text:hover:after {
        background: #C31111;
        -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
        transition: .6s cubic-bezier(.26, .06, 0, 1)
    }
}

.mailmagazine_area .mwform-checkbox-field-text:after {
    -webkit-transition: .6s cubic-bezier(.26, .06, 0, 1);
    transition: .6s cubic-bezier(.26, .06, 0, 1);
    position: absolute;
    top: 28%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background: #fff;
    border-radius: 50%;
    content: ""
}

@media only screen and (min-width:544px) {
    .mailmagazine_area .mwform-checkbox-field-text:after {
        width: 2.8rem;
        height: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .mailmagazine_area .mwform-checkbox-field-text:after {
        width: 2rem;
        height: 2rem
    }
}

.mailmagazine_area .mwform-checkbox-field-text:before {
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear;
    position: absolute;
    top: 33.7%;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: .8rem;
    height: .75rem;
    content: "";
    opacity: 0;
    z-index: 10;
    background: url(../image/checkmark.png) 0 0 no-repeat;
    background-size: contain
}

@media only screen and (min-width:544px) {
    .mailmagazine_area .mwform-checkbox-field-text:before {
        top: 33.8%;
        width: 1.6rem;
        height: 1.5rem
    }
}

@media only screen and (min-width:1024px) {
    .mailmagazine_area .mwform-checkbox-field-text:before {
        top: 33.7%;
        width: 1.1rem;
        height: 1rem
    }
}

.mailmagazine_area input[type=checkbox]:checked+.mwform-checkbox-field-text:before {
    opacity: 1
}

.mailmagazine_area input[type=checkbox]:checked+.mwform-checkbox-field-text:after {
    background: #C31111
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0
}

select.is-empty {
    color: rgba(255, 255, 255, .1) !important
}

select:invalid {
    color: rgba(255, 255, 255, .1) !important
}

.field_area .error {
    display: block;
    line-height: 1;
    color: #ff000a;
    font-size: 1.2rem;
    margin: 1rem 0 0
}

.field_area .text-danger {
    display: block;
    line-height: 1;
    color: #ff000a;
    font-size: 1.1rem;
    margin: .9rem 0 0
}

@media only screen and (min-width:544px) {
    .field_area .text-danger {
        font-size: 2.2rem;
        margin: 1.8rem 0 0
    }
}

@media only screen and (min-width:1024px) {
    .field_area .text-danger {
        font-size: 1.2rem;
        margin: 1rem 0 0
    }
}

input[type=text].error,
input[type=email].error,
input[type=tel].error,
input[type=url].error,
input[type=number].error,
input[type=date].error,
textarea.error {
    background: url(../image/invalid.svg) no-repeat right 1.5rem top 1.4rem;
    background-size: 1.7rem auto;
    color: #fff !important
}

@media only screen and (min-width:544px) {

    input[type=text].error,
    input[type=email].error,
    input[type=tel].error,
    input[type=url].error,
    input[type=number].error,
    input[type=date].error,
    textarea.error {
        background: url(../image/invalid.svg) no-repeat right 3rem top 2.8rem;
        background-size: 3.4rem auto
    }
}

@media only screen and (min-width:1024px) {

    input[type=text].error,
    input[type=email].error,
    input[type=tel].error,
    input[type=url].error,
    input[type=number].error,
    input[type=date].error,
    textarea.error {
        background: url(../image/invalid.svg) no-repeat right 1rem top 1.5rem;
        background-size: 2rem auto
    }
}

input[type=text].valid,
input[type=email].valid,
input[type=tel].valid,
input[type=url].valid,
input[type=number].valid,
input[type=date].valid,
textarea.valid {
    background: url(../image/valid.svg) no-repeat right 1.5rem top 1.4rem;
    background-size: 1.7rem auto
}

@media only screen and (min-width:544px) {

    input[type=text].valid,
    input[type=email].valid,
    input[type=tel].valid,
    input[type=url].valid,
    input[type=number].valid,
    input[type=date].valid,
    textarea.valid {
        background: url(../image/valid.svg) no-repeat right 3rem top 2.8rem;
        background-size: 3.4rem auto
    }
}

@media only screen and (min-width:1024px) {

    input[type=text].valid,
    input[type=email].valid,
    input[type=tel].valid,
    input[type=url].valid,
    input[type=number].valid,
    input[type=date].valid,
    textarea.valid {
        background: url(../image/valid.svg) no-repeat right 1rem top 1.5rem;
        background-size: 2rem auto
    }
}

.wedding_form_container input:-webkit-autofill {
    box-shadow: 0 0 0 1000px #f5f5f5 inset !important;
    -webkit-text-fill-color: #333 !important
}

.wedding_form_container .input_wrap {
    position: relative
}

.wedding_form_container .input_wrap:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    border-radius: .5rem;
    box-sizing: border-box;
    border: .2rem solid #f5f5f5;
    z-index: 10;
    pointer-events: none
}

@media only screen and (min-width:544px) {
    .wedding_form_container .input_wrap:after {
        border-radius: 1rem
    }
}

@media only screen and (min-width:1024px) {
    .wedding_form_container .input_wrap:after {
        border-radius: .5rem
    }
}

.fair_form__section input[type=number] {
    padding: 1.25rem .25rem 1.25rem 1.25rem !important;
    width: 7.6rem !important
}

@media only screen and (min-width:544px) {
    .fair_form__section input[type=number] {
        padding: 2.5rem .5rem 2.5rem 2.5rem !important;
        width: 14.2rem !important
    }
}

@media only screen and (min-width:1024px) {
    .fair_form__section input[type=number] {
        padding: 1.3rem .5rem 1.3rem 1.5rem !important;
        width: 8rem !important
    }
}

.fair_form__section .contact_form_area .field_area {
    margin: 0 0 2.4rem
}

.fair_form__section .contact_form_area .field_area__middle {
    margin: 0 0 3rem
}

.fair_form__section .contact_form_area .field_area__full {
    margin: 0 0 4rem
}

.fair_form__section .form_submit_area {
    padding: 3rem 0
}

.fair_form__section .bottom_half_padding_section {
    padding: 0 0 1.7rem !important
}

@media only screen and (min-width:544px) {
    .fair_form__section .bottom_half_padding_section {
        padding: 0 0 8.5rem !important
    }
}

.back_link {
    margin: 3rem 0 0;
    position: relative;
    display: none
}

.back_link:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1.7rem;
    width: 11px;
    height: 10px;
    background: url(../image/turnbak_icon.svg) center center no-repeat
}

.back_link span.text {
    color: #fff;
    font-weight: 400;
    position: relative;
    display: inline-block;
    z-index: 10;
    font-size: 1.1rem;
    padding: 0
}

@media only screen and (min-width:544px) {
    .back_link span.text {
        font-size: 2.2rem;
        font-weight: 400;
        padding: 0
    }
}

@media only screen and (min-width:1024px) {
    .back_link span.text {
        font-size: 1.2rem;
        font-weight: 700;
        padding: 0
    }
}

.back_link span.text:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    background: #fff;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    height: .9px
}

@media only screen and (min-width:544px) {
    .back_link span.text:before {
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .back_link span.text:before {
        height: 1px
    }
}

.back_link span.text:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    background: #fff;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    height: .9px
}

@media only screen and (min-width:544px) {
    .back_link span.text:after {
        height: .2rem
    }
}

@media only screen and (min-width:1024px) {
    .back_link span.text:after {
        height: 1px
    }
}

@media (min-width:768px) {
    .back_link:hover {
        cursor: pointer
    }

    .back_link:hover span.text:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }

    .back_link:hover span.text:before {
        transition: transform .3s ease-out;
        transition-delay: 0s;
        transform: scale(0, 1);
        transform-origin: right top
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .back_link:hover span.text:after {
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

@media only screen and (min-width:768px) and (min-width:544px) {
    .back_link:hover span.text:before {
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

.mw_wp_form_input .contact_form_text_area__input {
    display: block
}

.mw_wp_form_input .contact_form_text_area__confirm {
    display: none
}

.mw_wp_form_input .contact_form_text_area__complete {
    display: none
}

.mw_wp_form_confirm .back_link {
    display: block
}

.mw_wp_form_confirm .contact_form_text_area__input {
    display: none
}

.mw_wp_form_confirm .contact_form_text_area__confirm {
    display: block
}

.mw_wp_form_confirm .contact_form_text_area__complete {
    display: none
}

.mw_wp_form_confirm .contact_form_text_area_ryotei {
    display: none
}

.mw_wp_form_confirm .form_contact_top_info {
    display: none
}

.mw_wp_form_confirm .form_info_bottom_text {
    display: none
}

.mw_wp_form_confirm .contact_form_text_area {
    padding: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_text_area {
        padding: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_text_area {
        padding: 0 0 6rem
    }
}

.mw_wp_form_confirm .contact_form_text_area.contact_form_text_area_ryotei {
    padding: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_text_area.contact_form_text_area_ryotei {
        padding: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_text_area.contact_form_text_area_ryotei {
        padding: 0 0 6rem
    }
}

.mw_wp_form_confirm .contact_form_area .field_area .text .hissu {
    display: none
}

.mw_wp_form_confirm .mailmagazine_area {
    display: none
}

.mw_wp_form_confirm .contact_form_area .field_area .text .small {
    display: none
}

.mw_wp_form_confirm .form_submit_area .confirm_policy p {
    display: none
}

.mw_wp_form_confirm button,
.mw_wp_form_confirm input,
.mw_wp_form_confirm select,
.mw_wp_form_confirm textarea {
    background: 0 0
}

.mw_wp_form_confirm .contact_form_area .select_parent.select_parent_02:before {
    display: none
}

.mw_wp_form_confirm .contact_form_area .field_area_flex {
    display: block;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_area .field_area_flex {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_area .field_area_flex {
        font-size: 1.6rem
    }
}

.mw_wp_form_confirm .contact_form_area .select_parent.select_parent_02 {
    background: 0 0;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_area .select_parent.select_parent_02 {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_area .select_parent.select_parent_02 {
        font-size: 1.6rem
    }
}

.mw_wp_form_confirm .contact_form_area .input_wrap {
    background-color: transparent;
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_area .input_wrap {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_area .input_wrap {
        font-size: 1.6rem
    }
}

.mw_wp_form_confirm .form-container .input_wrap:after {
    border: transparent
}

.mw_wp_form_confirm .contact_form_area .field_area {
    font-size: 1.4rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_area .field_area {
        font-size: 2.8rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_area .field_area {
        font-size: 1.6rem
    }
}

.mw_wp_form_confirm .contact_form_area .field_area .text {
    opacity: .3;
    font-size: 1.2rem
}

@media only screen and (min-width:544px) {
    .mw_wp_form_confirm .contact_form_area .field_area .text {
        font-size: 2.4rem
    }
}

@media only screen and (min-width:1024px) {
    .mw_wp_form_confirm .contact_form_area .field_area .text {
        font-size: 1.2rem
    }
}

.mw_wp_form_complete .contact_form_text_area__input {
    display: none
}

.mw_wp_form_complete .contact_form_text_area__confirm {
    display: none
}

.mw_wp_form_complete .contact_form_text_area__complete {
    display: block
}

.contact_form_text_area__complete {
    padding: 0 0 3.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_text_area__complete {
        padding: 0 0 7rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_text_area__complete {
        padding: 0 0 6rem
    }
}

.contact_form_text_area__complete.contact_form_text_area_ryotei {
    padding: 0 0 2.5rem
}

@media only screen and (min-width:544px) {
    .contact_form_text_area__complete.contact_form_text_area_ryotei {
        padding: 0 0 5rem
    }
}

@media only screen and (min-width:1024px) {
    .contact_form_text_area__complete.contact_form_text_area_ryotei {
        padding: 0 0 6rem
    }
}

.complete_txt {
    margin: 0 0 4rem
}

.contact_form_area .select_parent select option {
    background: #141414;
    color: #fff
}

#drawer-menu {
    position: fixed;
    z-index: -1;
    opacity: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transition: all .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: none;
    display: none
}

@media only screen and (min-width:1024px) {
    #drawer-menu {
        display: block
    }
}

#drawer_left {
    width: 47rem;
    height: 100vh;
    position: absolute;
    margin: 0 0 0 auto;
    display: block;
    top: 0;
    left: 0;
    z-index: 100;
    overflow: hidden
}

@media only screen and (min-width:1180px) {
    #drawer_left {
        width: 52rem
    }
}

#drawer_left .drawer_left__img_group {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 85vh;
    overflow: hidden;
    transition: .8s cubic-bezier(.43, .05, .17, 1)
}

#drawer_left .drawer_left__img_group img.drawer_left_bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    transition: .8s cubic-bezier(.43, .05, .17, 1);
    object-fit: cover;
    object-position: center center
}

#drawer_left .drawer_left__inner {
    position: absolute;
    left: 5.8rem;
    bottom: 7rem;
    color: #fff;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    transform: translateY(3rem)
}

#drawer_left .drawer_left__inner .vertical_text {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    opacity: .6;
    margin: 0 0 11rem;
    line-height: 1.3
}

#drawer_left .drawer_left__inner .tel_area {
    line-height: 1;
    margin: 0 0 3rem
}

#drawer_left .drawer_left__inner .tel_area .tel_num {
    font-family: philosopher, sans-serif;
    font-size: 2.6rem;
    margin: 0 0 .6rem;
    letter-spacing: .2rem
}

#drawer_left .drawer_left__inner .tel_area .tel_small {
    opacity: .6
}

#drawer_left .drawer_left__inner a.page_contents_link span.text {
    font-family: ryo-display-plusn, serif;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 0;
    letter-spacing: .1rem
}

#drawer_left .drawer_left__inner a.page_contents_link span.text:before {
    bottom: -.3rem;
    height: 1px
}

#drawer_left .drawer_left__inner a.page_contents_link span.text:after {
    bottom: -.3rem;
    height: 1px
}

#drawer_left .drawer_left__inner a.page_contents_link span.arrow {
    display: block;
    border-radius: 50%;
    z-index: 0;
    margin: 0 auto;
    position: absolute;
    top: 45%;
    right: -2.3rem;
    transform: translateY(-50%);
    background: 0 0;
    border: 1px solid #fff
}

@media only screen and (min-width:1024px) {
    #drawer_left .drawer_left__inner a.page_contents_link span.arrow {
        width: 3rem;
        height: 3rem;
        right: -3.8rem
    }
}

#drawer_left .drawer_left__inner a.page_contents_link span.arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .9rem
}

@media only screen and (min-width:544px) {
    #drawer_left .drawer_left__inner a.page_contents_link span.arrow svg {
        width: 1.8rem
    }
}

@media only screen and (min-width:1024px) {
    #drawer_left .drawer_left__inner a.page_contents_link span.arrow svg {
        width: 1.1rem
    }
}

#drawer_left .drawer_left__inner a.page_contents_link span.arrow svg use {
    fill: #fff;
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

#drawer_left ul.drawer_left__sns_icon {
    position: absolute;
    right: 6.5rem;
    bottom: 7rem;
    display: flex;
    align-items: center;
    margin: 0 0 0 1rem;
    transition: .8s cubic-bezier(.26, .06, 0, 1);
    opacity: 0;
    transform: translate(3px, 3rem)
}

@media only screen and (min-width:544px) {
    #drawer_left ul.drawer_left__sns_icon {
        margin: 0 0 0 2rem
    }
}

#drawer_left ul.drawer_left__sns_icon li {
    height: 2.6rem;
    width: 2.6rem;
    margin: 0 0 0 .4rem
}

#drawer_left ul.drawer_left__sns_icon li a {
    height: 2.6rem;
    width: 2.6rem;
    display: block;
    position: relative;
    border-radius: 50%
}

#drawer_left ul.drawer_left__sns_icon li a:before {
    content: "";
    border: 1px solid #d7d5d3;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    height: 100%;
    width: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    transition: all .5s cubic-bezier(.26, .06, 0, 1);
    opacity: 1
}

#drawer_left ul.drawer_left__sns_icon li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) scale(0, 0);
    transform: translate(-50%, -50%) scale(0, 0);
    width: 0;
    height: 0;
    padding-bottom: 0;
    border-radius: 50%;
    background: #1878f2;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1);
    mix-blend-mode: normal;
    z-index: 2
}

#drawer_left ul.drawer_left__sns_icon li a.facebook:after {
    background: #1878f2
}

#drawer_left ul.drawer_left__sns_icon li a.twitter:after {
    background: #1da1f2
}

#drawer_left ul.drawer_left__sns_icon li a .facebook_icon svg {
    position: absolute;
    top: 50%;
    left: 51.5%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: .62rem;
    height: 1.217rem
}

#drawer_left ul.drawer_left__sns_icon li a .facebook_icon svg use {
    fill: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

#drawer_left ul.drawer_left__sns_icon li a .twitter_icon svg {
    position: absolute;
    top: 50%;
    left: 54%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 1.2rem;
    height: 1.199rem
}

#drawer_left ul.drawer_left__sns_icon li a .twitter_icon svg use {
    fill: #fff;
    -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
    transition: all .5s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    #drawer_left ul.drawer_left__sns_icon li a:hover:before {
        border: 1px solid transparent;
        transition: all .5s cubic-bezier(.26, .06, 0, 1)
    }

    #drawer_left ul.drawer_left__sns_icon li a:hover:after {
        -webkit-transform: translate(-50%, -50%) scale(1, 1);
        transform: translate(-50%, -50%) scale(1, 1);
        width: 100%;
        height: 100%;
        -webkit-transition: all .5s cubic-bezier(.43, .05, .17, 1);
        transition: all .5s cubic-bezier(.43, .05, .17, 1);
        mix-blend-mode: normal
    }
}

#drawer_right {
    width: calc(100% - 47rem);
    height: 100%;
    position: relative;
    margin: 0 0 0 auto;
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16.7rem 4.2rem 17rem 4.45rem
}

@media only screen and (min-width:1180px) {
    #drawer_right {
        width: calc(100% - 52rem)
    }
}

@media only screen and (min-width:1280px) {
    #drawer_right {
        padding: 16.7rem 8.4rem 17rem 8.9rem
    }
}

#drawer_right:before {
    content: "";
    background: url(../image/main_white_bg.png) 0 0 repeat;
    position: fixed;
    top: 0;
    right: 0;
    width: calc(100% - 47rem);
    height: 85vh;
    transition-delay: .8s;
    transition: all .8s cubic-bezier(.26, .06, 0, 1);
    z-index: -1
}

@media only screen and (min-width:1180px) {
    #drawer_right:before {
        width: calc(100% - 52rem)
    }
}

#drawer_right .drawer_right__inner {
    display: flex;
    justify-content: space-between;
    transition: .8s cubic-bezier(.43, .05, .17, 1);
    opacity: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap {
    width: calc(50% - 1.65rem)
}

@media only screen and (min-width:1280px) {
    #drawer_right .drawer_right__inner .drawer_nav_wrap {
        width: calc(50% - 3.3rem)
    }
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head {
    font-size: 1.8rem;
    font-family: ryo-display-plusn, serif;
    color: #333;
    margin: 0 0 3.2rem;
    letter-spacing: .05rem;
    line-height: 1
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a {
    position: relative;
    -ms-writing-mode: lr-tb !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap;
    display: inline-block !important;
    overflow: hidden;
    letter-spacing: .075rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a span.popup {
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(2rem);
    display: block;
    position: relative;
    padding: 0 0 .2rem;
    opacity: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a:hover span {
        color: #333 !important;
        transition: .3s cubic-bezier(.43, .05, .17, 1)
    }

    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head a:hover span:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav__head.has_child {
    margin: 0 0 1.5rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block {
    border-radius: .5rem;
    background: rgba(255, 255, 255, .3);
    padding: 1.8rem 2rem 2rem;
    margin: 0 0 6rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list_margin_bottom {
    margin: 0 0 2rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__border {
    position: relative;
    padding: 2rem 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__border:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-image: linear-gradient(to right, rgba(51, 51, 51, .3), rgba(51, 51, 51, .3) 1px, transparent 1px);
    background-size: 4px 1px;
    background-position: left top;
    background-repeat: repeat-x;
    z-index: 10
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__small {
    padding: 1.85rem 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list_padding_none {
    padding: 2rem 0 .3rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li {
    margin: 0 0 1rem;
    line-height: 1
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li:last-child {
    margin: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a {
    position: relative;
    color: rgba(51, 51, 51, .3) !important;
    -ms-writing-mode: lr-tb !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-size: 1.2rem !important;
    padding: 0 !important;
    line-height: 1;
    display: inline-block !important;
    letter-spacing: .1rem;
    overflow: hidden;
    transition: transition .3s cubic-bezier(.26, .06, 0, 1) !important;
    transition-delay: 0s !important
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a span.popup {
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(2rem);
    display: block;
    position: relative;
    padding: 0 0 .2rem;
    opacity: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a span:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s
}

@media (min-width:768px) {
    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a:hover {
        color: #333 !important;
        transition: .3s cubic-bezier(.26, .06, 0, 1) !important;
        transition-delay: 0s !important
    }

    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li a:hover span:after {
        transform-origin: left top;
        transform: scale(1, 1)
    }
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head {
    margin: 0 0 1.3rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head:last-child {
    margin: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a {
    position: relative;
    color: #333 !important;
    font-size: 1.4rem !important;
    letter-spacing: .1rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a span.popup {
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(2rem);
    display: block;
    position: relative;
    padding: 0 0 .5rem;
    opacity: 0
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a span.popup:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    font-size: 1.4rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a span.popup:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    opacity: 0
}

@media (min-width:768px) {
    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a:hover {
        color: #333 !important;
        transition: .3s
    }

    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a:hover span.popup:before {
        transition: transform .3s ease-out;
        transition-delay: .35s;
        transform-origin: left top;
        transform: scale(1, 1)
    }

    #drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head a:hover span.popup:after {
        transition: transform .3s ease-out;
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list li.head_active a span.popup:after {
    opacity: 1;
    transition: transform .3s
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__wedding li {
    margin: 0 0 1.2rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__wedding li.head {
    margin: 0 0 1.3rem
}

#drawer_right .drawer_right__inner .drawer_nav_wrap .drawer_nav_wrap__list_block ul.drawer_nav_wrap__list.drawer_nav_wrap__list__wedding li:last-child {
    margin: 0
}

#drawer_right ul.nav_bottom_link_list li {
    margin: 0 0 1.2rem;
    line-height: 1
}

#drawer_right ul.nav_bottom_link_list li:last-child {
    margin: 0
}

#drawer_right ul.nav_bottom_link_list li a {
    position: relative;
    color: rgba(51, 51, 51, .3) !important;
    -ms-writing-mode: lr-tb !important;
    writing-mode: horizontal-tb !important;
    white-space: nowrap;
    font-family: source-han-sans-japanese, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif !important;
    font-size: 1.2rem !important;
    padding: 0 !important;
    line-height: 1;
    display: inline-block !important;
    letter-spacing: 0;
    transition: .3s;
    overflow: hidden
}

#drawer_right ul.nav_bottom_link_list li a span.popup {
    transition: .6s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(2rem);
    display: block;
    position: relative;
    padding: 0 0 .2rem;
    opacity: 0
}

#drawer_right ul.nav_bottom_link_list li a span.popup:before {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform .3s;
    font-size: 1.4rem
}

#drawer_right ul.nav_bottom_link_list li a span.popup:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 1px;
    background: #333;
    transform-origin: left top;
    transform: scale(1, 1);
    transition: transform .3s;
    opacity: 0
}

@media (min-width:768px) {
    #drawer_right ul.nav_bottom_link_list li a:hover {
        color: #333 !important;
        transition: .3s
    }

    #drawer_right ul.nav_bottom_link_list li a:hover span.popup:before {
        transition: transform .3s ease-out;
        transform-origin: left top;
        transform: scale(1, 1)
    }

    #drawer_right ul.nav_bottom_link_list li a:hover span.popup:after {
        transition: transform .3s ease-out;
        transform-origin: right top;
        transform: scale(0, 1)
    }
}

#drawer-menu.drawer-menu__active {
    opacity: 1;
    z-index: 999;
    transition: all .8s cubic-bezier(.26, .06, 0, 1);
    pointer-events: auto
}

#drawer-menu.panelactive #drawer_left {
    height: 100vh;
    transition: .8s cubic-bezier(.43, .05, .17, 1)
}

#drawer-menu.panelactive #drawer_left .drawer_left__inner {
    transition: 1s cubic-bezier(.26, .06, 0, 1);
    opacity: 1;
    transform: translateY(0)
}

#drawer-menu.panelactive #drawer_left ul.drawer_left__sns_icon {
    transition: 1s cubic-bezier(.26, .06, 0, 1);
    opacity: 1;
    transform: translate(3px, 6px)
}

#drawer-menu.panelactive .drawer_right__inner {
    opacity: 1;
    transition: 1s cubic-bezier(.43, .05, .17, 1)
}

#drawer-menu.panelactive .drawer_right__inner .drawer_nav_wrap .drawer_nav__head__active a span.popup {
    transition-delay: 1s;
    transition: 1s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(0rem);
    opacity: 1
}

#drawer-menu.panelactive .drawer_right__inner .drawer_nav_wrap ul.drawer_nav_wrap__list li.active a span.popup {
    transition-delay: 1s;
    transition: 1s cubic-bezier(.43, .05, .17, 1) !important;
    transform: translateY(0rem);
    opacity: 1
}

#drawer-menu.panelactive .drawer_right__inner .drawer_nav_wrap ul.drawer_nav_wrap__list li.active.head a span.popup {
    transition-delay: 1s;
    transition: 1s cubic-bezier(.43, .05, .17, 1) !important;
    transform: translateY(0rem);
    opacity: 1
}

#drawer-menu.panelactive .drawer_right__inner .drawer_nav_wrap ul.nav_bottom_link_list__active li a span.popup {
    transition-delay: 1s;
    transition: 1s cubic-bezier(.43, .05, .17, 1);
    transform: translateY(0rem);
    opacity: 1
}

#drawer-menu.panelactive #NavClose span.btn-close_bar_top:before {
    transition: 1s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 40px;
    background: #333
}

#drawer-menu.panelactive #NavClose span.btn-close_bar_bottom:before {
    transition-delay: 1s;
    transition: 1s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 40px;
    background: #333
}

#drawer_left .drawer_left__img_group.drawer_left__img_group__active {
    height: 100vh;
    transition: .8s cubic-bezier(.43, .05, .17, 1)
}

#drawer_right.drawer_right_active:before {
    height: 100vh;
    transition: all 1s cubic-bezier(.26, .06, 0, 1)
}

#drawer_right ul.drawer_nav_wrap__list_active li a {
    transition: transition .6s cubic-bezier(.26, .06, 0, 1) !important
}

#drawer_right ul.drawer_nav_wrap__list_active li a span.popup {
    transition: transition .6s cubic-bezier(.26, .06, 0, 1) !important
}

#drawer_right ul.drawer_nav_wrap__list_active li a span.popup:before {
    transition: .3s
}

#drawer_right ul.drawer_nav_wrap__list_active li a span.popup:after {
    transition: .3s cubic-bezier(.43, .05, .17, 1)
}

@media (min-width:768px) {
    #drawer_right ul.drawer_nav_wrap__list_active li a:hover {
        color: #333 !important;
        transition: .6s cubic-bezier(.26, .06, 0, 1) !important
    }
}

#NavClose {
    display: block;
    width: 28px;
    height: 28px;
    position: absolute;
    top: 6.3rem;
    right: 6.3rem
}

#NavClose:hover {
    cursor: pointer
}

#NavClose span.btn-close_bar_top {
    position: absolute;
    width: 1px;
    height: 40px;
    transform: translate(-50%, -50%) rotate(225deg)
}

#NavClose span.btn-close_bar_top:before {
    transition: 0s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 0;
    background: #333
}

#NavClose span.btn-close_bar_top:after {
    transition: 0s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 0;
    background: #333
}

#NavClose span.btn-close_bar_bottom {
    position: absolute;
    width: 1px;
    height: 40px;
    transform: translate(-50%, -50%) rotate(-45deg)
}

#NavClose span.btn-close_bar_bottom:before {
    transition: 0s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 0;
    background: #333
}

#NavClose span.btn-close_bar_bottom:after {
    transition: 0s cubic-bezier(.43, .05, .17, 1);
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 0;
    background: #333
}

.page-anchor-link-top {
    margin-top: 4.5rem !important
}

.image-space-margin-bottom {
    margin-top: 4.5rem !important
}

.image-space-margin-bottom {
    margin-top: 5rem !important
}

.h2-inner-text-margin-bottom {
    margin-bottom: 5rem !important
}

.caution-margin-top {
    margin-top: 4rem !important
}

.h3-margin-y {
    margin: 6rem 0 3.5rem !important
}

.h3-inner-text-margin-bottom {
    margin-bottom: 4rem !important
}

.h4-margin-y {
    margin: 5rem 0 2.5rem !important
}

.h4-inner-text-margin-bottom {
    margin-bottom: 3rem !important
}

.a-btn-link-margin-top {
    margin-top: 4rem !important
}

.related-info-margin-top {
    margin-top: 13rem !important
}

.sp-full-margin-bottom {
    margin-bottom: 2.5rem !important
}

.sp-full-margin-top {
    margin-top: 2.5rem !important
}

.sp-margin-bottom-0 {
    margin-bottom: 0 !important
}

.sp-margin-bottom-1 {
    margin-bottom: .5rem !important
}

.sp-margin-bottom-1half {
    margin-bottom: .75rem !important
}

.sp-margin-bottom-2 {
    margin-bottom: 1rem !important
}

.sp-margin-bottom-2half {
    margin-bottom: 1.25rem !important
}

.sp-margin-bottom-3 {
    margin-bottom: 1.5rem !important
}

.sp-margin-bottom-3half {
    margin-bottom: 1.75rem !important
}

.sp-margin-bottom-4 {
    margin-bottom: 2rem !important
}

.sp-margin-bottom-4half {
    margin-bottom: 2.25rem !important
}

.sp-margin-bottom-5 {
    margin-bottom: 2.5rem !important
}

.sp-margin-bottom-6 {
    margin-bottom: 3rem !important
}

.sp-margin-bottom-7 {
    margin-bottom: 3.5rem !important
}

.sp-margin-bottom-8 {
    margin-bottom: 4rem !important
}

.sp-margin-bottom-9 {
    margin-bottom: 4.5rem !important
}

.sp-margin-bottom-10 {
    margin-bottom: 5rem !important
}

.sp-half-margin-top {
    margin-top: 1.25rem !important
}

.sp-no-margin-bottom {
    margin-bottom: 0 !important
}

.sp-no-margin-top {
    margin-top: 0 !important
}

.sp-margin-top-1 {
    margin-top: .5rem !important
}

.sp-margin-top-2 {
    margin-top: 1rem !important
}

.sp-margin-top-3 {
    margin-top: 1.5rem !important
}

.sp-margin-top-4 {
    margin-top: 2rem !important
}

.sp-margin-top-5 {
    margin-top: 2.5rem !important
}

.sp-margin-top-6 {
    margin-top: 3rem !important
}

.sp-margin-top-7 {
    margin-top: 3.5rem !important
}

.sp-margin-top-8 {
    margin-top: 4rem !important
}

@media only screen and (min-width:544px) {
    .sp-full-margin-bottom {
        margin-bottom: 5rem !important
    }

    .sp-full-margin-top {
        margin-top: 5rem !important
    }

    .sp-margin-bottom-0 {
        margin-bottom: 0 !important
    }

    .sp-margin-bottom-1 {
        margin-bottom: 1rem !important
    }

    .sp-margin-bottom-1half {
        margin-bottom: 1.5rem !important
    }

    .sp-margin-bottom-2 {
        margin-bottom: 2rem !important
    }

    .sp-margin-bottom-2half {
        margin-bottom: 2.5rem !important
    }

    .sp-margin-bottom-3 {
        margin-bottom: 3rem !important
    }

    .sp-margin-bottom-3half {
        margin-bottom: 3.5rem !important
    }

    .sp-margin-bottom-4 {
        margin-bottom: 4rem !important
    }

    .sp-margin-bottom-4half {
        margin-bottom: 4.5rem !important
    }

    .sp-margin-bottom-5 {
        margin-bottom: 5rem !important
    }

    .sp-margin-bottom-6 {
        margin-bottom: 6rem !important
    }

    .sp-margin-bottom-7 {
        margin-bottom: 7rem !important
    }

    .sp-margin-bottom-8 {
        margin-bottom: 8rem !important
    }

    .sp-margin-bottom-9 {
        margin-bottom: 9rem !important
    }

    .sp-margin-bottom-10 {
        margin-bottom: 10rem !important
    }

    .sp-half-margin-top {
        margin-top: 2.5rem !important
    }

    .sp-no-margin-bottom {
        margin-bottom: 0 !important
    }

    .sp-no-margin-top {
        margin-top: 0 !important
    }

    .sp-margin-top-1 {
        margin-top: 1rem !important
    }

    .sp-margin-top-2 {
        margin-top: 2rem !important
    }

    .sp-margin-top-3 {
        margin-top: 3rem !important
    }

    .sp-margin-top-4 {
        margin-top: 4rem !important
    }

    .sp-margin-top-5 {
        margin-top: 5rem !important
    }

    .sp-margin-top-6 {
        margin-top: 6rem !important
    }

    .sp-margin-top-7 {
        margin-top: 7rem !important
    }

    .sp-margin-top-8 {
        margin-top: 8rem !important
    }
}

@media only screen and (min-width:1024px) {
    .padding-bottom-0 {
        padding-bottom: 0 !important
    }

    .full-margin-bottom {
        margin-bottom: 5rem !important
    }

    .full-margin-top {
        margin-top: 5rem !important
    }

    .margin-bottom-0 {
        margin-bottom: 0 !important
    }

    .margin-bottom-1half {
        margin-bottom: 1.5rem !important
    }

    .margin-bottom-2 {
        margin-bottom: 2rem !important
    }

    .margin-bottom-2half {
        margin-bottom: 2.5rem !important
    }

    .margin-bottom-3 {
        margin-bottom: 3rem !important
    }

    .margin-bottom-3half {
        margin-bottom: 3.5rem !important
    }

    .margin-bottom-4 {
        margin-bottom: 4rem !important
    }

    .margin-bottom-4half {
        margin-bottom: 4.5rem !important
    }

    .margin-bottom-5 {
        margin-bottom: 5rem !important
    }

    .margin-bottom-6 {
        margin-bottom: 6rem !important
    }

    .margin-bottom-7 {
        margin-bottom: 7rem !important
    }

    .margin-bottom-8 {
        margin-bottom: 8rem !important
    }

    .margin-bottom-9 {
        margin-bottom: 9rem !important
    }

    .margin-bottom-10 {
        margin-bottom: 10rem !important
    }

    .half-margin-top {
        margin-top: 2.5rem !important
    }

    .no-margin-bottom {
        margin-bottom: 0 !important
    }

    .no-margin-top {
        margin-top: 0 !important
    }

    .margin-top-1 {
        margin-top: 1rem !important
    }

    .margin-top-2 {
        margin-top: 2rem !important
    }

    .margin-top-3 {
        margin-top: 3rem !important
    }

    .margin-top-4 {
        margin-top: 4rem !important
    }

    .margin-top-5 {
        margin-top: 5rem !important
    }

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

    .margin-top-7 {
        margin-top: 7rem !important
    }

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


section.cta_contact_area .center_text_area .pic {
    position: absolute;
    top: 9rem;
    left: 50%;
    width: 26rem;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}


.index_section_02 .page_header_area .page_header_area__h1 h1 {
    color: #fff;
}

.index_section_02 .middle_container {
    text-align: center;
}

.index_section_02 .middle_container>a {
    display: inline-block;
    width: 42px;
    border-radius: 5px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    color: #fff;
    line-height: 46px;
    vertical-align: text-top;
    margin: 0 10px;
}

.index_section_02 .middle_container>a.page-num-current {
    background: #EEEDEA;
    color: #B49C69;
}

.index_section_02 .middle_container>a.prev,
.index_section_02 .middle_container>a.next {
    width: auto;
    font-size: 14px;
}

.index_section_02 .middle_container>a svg {
    margin: 0 10px;
}

.index_section_02 .middle_container>a.prev svg {
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}

.foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list:last-child {
    margin-top: 6%;
}

.contactCon .page_header_area.page_header_area__child {
    padding-bottom: 0;
}

.menuPage .articleInfo p {
    margin-bottom: 6px;
}

.normalPage .page_header_area {
    margin-top: 22rem !important;
    padding-top: 5rem;
    margin-bottom: 0 !important;
}

.normalPage .page_header_area__border_line {
    border-color: #B49C69;
}

.normal-pdf {
    background: #B49C69;
    padding: 8rem 0;
    margin-top: 3rem;
}

.normal-pdf a {
    display: block;
}

section.cta_contact_area .center_text_area small {
    font-size: 26px;
    font-weight: 500;
    line-height: 30px;
    letter-spacing: 1.5px;
    text-align: center;
    color: #050505;
    opacity: 1;
}

section.cta_contact_area .center_text_area .vertical {
    font-size: 40px;
    font-weight: 500;
    line-height: 48px;
    letter-spacing: 1.5px;
    text-align: center;
    color: #050505;
    margin: 0 auto;
}

section.cta_contact_area .center_text_area .des {

    font-size: 16px;
    font-weight: 500;
    line-height: 31px;
    letter-spacing: 1.5px;
    text-align: center;
    color: #050505;
    margin: 4% 0;
}

section.cta_contact_area .center_text_area a {
    display: block;
    max-width: 220px;
    margin: 10% auto;
}

section.cta_contact_area .center_text_area .button {
    width: 180px;
    height: 180px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1.5px;
    text-align: center;
    color: #050505;
    position: relative;
    margin: 10% auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-top: 6%;
}

section.cta_contact_area .center_text_area .button::before {
    content: '';
    display: block;
    width: 120%;
    height: 120%;
    border: 1px dotted #7C6C27;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}

section.cta_contact_area .center_text_area .button::after {
    content: '';
    display: block;
    width: 110%;
    height: 110%;
    border: 1px solid #7C6C27;
    border-radius: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
}

section.cta_contact_area .center_text_area span.tit {

    font-size: 26px;
    font-weight: 700;
    line-height: 48px;
    text-align: center;
    color: #8B7A54;
    font-family: ryo-display-plusn, serif;
    position: relative;
    z-index: 1;

}

section.cta_contact_area .center_text_area span.arrow {
    background: #fff;
}

section.cta_contact_area .center_text_area span.arrow svg use {
    fill: #B49C69;
}

section.cta_contact_area a:hover .button::after {
    background-color: #B49C69;
}

section.cta_contact_area a:hover span.tit {
    color: #fff;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

@media only screen and (max-width:991px) {

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    section.cta_contact_area .center_text_area small {
        font-size: 20px;
    }

    section.cta_contact_area .center_text_area .vertical {
        font-size: 32px;
    }

    #loading_box {
        width: 20rem;
    }

    section.cta_contact_area .center_text_area .pic {
        top: 3rem;
        width: 18rem;
    }

    table.foot_info_table tr:nth-child(2) {
        display: none;
    }

    .foot_bottom_area .foot_info_area__right .foot_link__logo {
        margin: 2rem auto 3rem auto;
    }

    .page_section__news .archive_content_news_area ul.archive_content_news_list li a .index_news_list__link__inner .index_news_list__link__inner__inner {
        align-items: baseline;
        -webkit-align-items: baseline;
    }

    header {
        height: auto;
    }

    #header {
        background: transparent;
    }

    #header #headerInner {
        margin: 0;
        padding: 0;
    }

    .page_header_area__border_bottom_none {
        margin-top: 0rem !important;
    }

    .foot_bottom_area .foot_info_area__right ul.foot_bottom_link_list:last-child {
        margin-bottom: 3rem;
    }

    .normal-pdf {
        padding: 3rem 0;
    }

    .header_pc.header_page {
        display: none !important;
    }

    .normalPage .page_header_area {
        margin-top: 0 !important;
    }

    #loadCon ul {
        display: block;
        margin-top: 50%;
    }

    #loadCon ul li {
        width: 80%;
        margin: 7% auto;
    }

    #loadCon ul li img {
        max-width: fit-content;
    }
}