@font-face {
    font-family: "BauerBodoniRoman";
    src: url('https://www.arluis.com/font/BauerBodoniRoman?') format('embedded-opentype'),
        /* IE6-IE8 */
        url('../font/BauerBodoniRoman.woff') format('woff');
    /* Modern Browsers */
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap');

.font__mincho {
    font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
}

.font__bodoni {
    font-family: "BauerBodoniRoman", 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
}

.font__futura {
    font-family: "futura", 'Avenir', sans-serif;
}

.font__noto {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

.font__notomedi {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
}

.font__notoserif {
    font-family: 'Noto Serif JP', sans-serif;
}

.font__italic {
    font-style: italic;
}

.fontStyle__center {
    text-align: center;
}

.fontStyle__bold {
    font-weight: bold;
}

img {
    outline: 0;
}

svg {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: auto;
}

.cls-2 {
    stroke: #48322a;
}

* html .clearfix {
    zoom: 1;
}

*+html .clearfix {
    zoom: 1;
}

.clearfix:after {
    height: 0;
    visibility: hidden;
    content: ".";
    display: block;
    clear: both;
}

a,
.wrapCont__list__itemTitle {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-tap-highlight-color: transparent;
    outline: none;
}

a,
a:link {
    color: #333;
    text-decoration: none;
    transition: opacity .3s ease;
}

a.onmouse__imgMask .top__img {
    position: relative;
    display: block;
}

a.onmouse__imgMask .top__img:before {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
    transition: .5s;
}

a.onmouse__imgMask:hover .top__img:before {
    opacity: .19;
}

a.onmouse__imgMask.hover.touch .top__img:before {
    opacity: .19;
}

a.textlink {
    color: #999999;
    letter-spacing: .8px;
    border-bottom: 1px solid #999999;
}


.sp {
    display: block !important;
}

.pc {
    display: none !important;
}

.fadeInAnim {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
}

.loaded .fadeInAnim {
    -webkit-transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1),
        transform .8s cubic-bezier(0.23, 1, 0.32, 1),
        -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
    transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1),
        transform .8s cubic-bezier(0.23, 1, 0.32, 1),
        -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
}

.fadeInAnim.visible {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}


.scale__250pct {
    font-size: 250% !important;
}

.scale__130pct {
    font-size: 130% !important;
}

.scale__125pct {
    font-size: 125% !important;
}

.scale__120pct {
    font-size: 120% !important;
}

.scale__115pct {
    font-size: 115% !important;
}

.scale__110pct {
    font-size: 110% !important;
}

.scale__105pct {
    font-size: 105% !important;
}

.scale__95pct {
    font-size: 95% !important;
}

.scale__90pct {
    font-size: 90% !important;
}

.scale__85pct {
    font-size: 85% !important;
}

.scale__80pct {
    font-size: 80% !important;
}

.scale__70pct {
    font-size: 70% !important;
}

.scale__60pct {
    font-size: 60% !important;
}

.scale__50pct {
    font-size: 50% !important;
}

.scale__40pct {
    font-size: 40% !important;
}

.scale__35pct {
    font-size: 35% !important;
}


::-moz-selection {
    background: rgba(200, 200, 200, 0.4)
}

::selection {
    background: rgba(200, 200, 200, 0.4)
}

::-moz-selection {
    background: rgba(200, 200, 200, 0.4)
}


.btn {
    text-align: center;
}

.btn a {
    padding: 16px 25px;
    min-width: 205px;
    font-size: 13px;
    color: #fff;
    display: inline-block;
    letter-spacing: .03em;
    box-sizing: border-box;
    background: #48322a;
    transition: .3s;
}

.btn a:hover {
    opacity: 1 !important;
    background: #715348;
}

.section__campaignBlock .btn a {
    min-width: 220px;
    font-size: 16px;
}

.btn.dt__btn a:hover {
    background: #2d426f;
}

#hawaii .btn a:hover {
    background: #55adb1;
}

#guam .btn a:hover {
    background: #609ed0;
}

#okinawa .btn a:hover {
    background: #828bbd;
}

#bali .btn a:hover {
    background: #a58768;
}

@media all and (max-width: 374px) {
    .btn a {
        font-size: 12px;
    }
}

.sd__addList__item__spec a:hover {
    border: 1px solid #9a7d72;
    color: #8e6c5f;
    background: none;
}

html {
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
    font-size: 13px;
    letter-spacing: .03em;
    color: #333;
    -webkit-font-smoothing: antialiased;
    font-family: arial, "Ã¦Â¸Â¸Ã£â€šÂ´Ã£â€šÂ·Ã£Æ’Æ’Ã£â€šÂ¯", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "Ã£Æ’Â¡Ã£â€šÂ¤Ã£Æ’ÂªÃ£â€šÂª", sans-serif;
}

body {
    min-width: 320px;
}

body.index {
    display: none;
}

#logicadFrame {
    display: none;
}

article,
footer {
    opacity: 0;
    transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1);
}

.fadeIn article,
.fadeIn footer {
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}


#pagePath {
    background: #fff;
    padding: 0 20px 40px;
}

#pagePath li {
    display: inline-block;
    font-size: 11px;
    line-height: .8;
    letter-spacing: .02em;
}

@media all and (max-width: 374px) {
    #pagePath li {
        font-size: 10px;
        line-height: .7;
    }
}

#pagePath li a {
    display: inline-block;
    padding: 6px 0;
}

#pagePath li br {
    display: none;
}

#pagePath li+span {
    margin-right: 6px;
    margin-left: 10px;
    opacity: .3;
}

#pagePath li.-active {
    position: relative;
    opacity: 1 !important;
    font-weight: bold;
}

#pagePath li.-active:before {
    content: "";
    width: 100%;
    height: 100%;
    /*	background: rgba(255,255,255,.6);*/
    position: absolute;
    top: 0;
    left: 0;
}

#pagePath li {
    opacity: .3;
}


/*------------------------------------------------------------
	header
------------------------------------------------------------*/
#gHeader {
    padding: 4px 0;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 13;
    background: rgba(255, 255, 255, .9);
    box-sizing: content-box;
}

.goTop #gHeader {
    opacity: 0;
    transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1), background .3s ease;
}

.headLine {
    margin: 3px 0 0 18px;
    width: 163px;
    float: left;
    position: relative;
    z-index: 14;
    font-size: 2em;
}

.headLine svg {
    width: 163px;
    height: 18px;
    fill: #48322a;
}

.headRight {
    margin-right: 62px;
    float: right;
}

#gNavi {
    margin: 6px 6px 0 0;
    display: inline-block;
    float: right;
}

.navi__item {
    float: left;
}

.navi__item a {
    padding: 0 20px;
    font-size: 12px;
    position: relative;
    letter-spacing: 1.8px;
}

.navi__item a:after {
    width: 1px;
    height: 20px;
    position: absolute;
    top: -3px;
    right: -1px;
    content: "";
    background: #c8c1bf;
}

#gNavi li:last-child a:after {
    display: none;
}

.inst {
    margin-top: 1px;
    display: inline-block;
    float: right;
    position: relative;
    z-index: 14;
}

.inst a {
    padding: 5px;
    width: 22px;
    display: block;
}

.inst svg {
    width: 22px;
    height: 22px;
    fill: #48322a;
    transition: fill .5s ease;
}

.openMenu .inst svg {
    fill: #fff;
}

.closePage .inst svg {
    fill: #48322a;
}

.btnMenu {
    padding: 5px;
    width: 27px;
    height: 15px;
    position: absolute;
    top: 52%;
    margin-top: -13px;
    right: 15px;
    z-index: 13;
    transition: transform .6s ease, opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
    display: inline-block;
}

.btnMenu span {
    width: 27px;
    height: 2px;
    position: absolute;
    transform-origin: center;
    background: #48322a;
    transition: background ease .5s, transform ease .5s;
}

.btnMenu span:nth-child(1) {
    top: 4px;
}

.btnMenu span:nth-child(2) {
    top: 11px;
}

.btnMenu span:nth-child(3) {
    bottom: 5px;
}

.openMenu .btnMenu span {
    background: #fff;
}

.closePage .btnMenu span {
    background: #48322a;
}

.openMenu .btnMenu span:nth-child(2) {
    display: none;
}

.openMenu .btnMenu span:nth-child(1) {
    top: 11px;
    transform: rotateZ(-315deg);
    -webkit-transform: rotateZ(-315deg);
}

.openMenu .btnMenu span:nth-child(3) {
    bottom: 12px;
    transform: rotateZ(315deg);
    -webkit-transform: rotateZ(315deg);
}

.closePage .btnMenu span:nth-child(1) {
    top: 4px;
    transform: none;
    -webkit-transform: none;
}

.closePage .btnMenu span:nth-child(2) {
    top: 11px;
    display: block;
}

.closePage .btnMenu span:nth-child(3) {
    bottom: 5px;
    transform: none;
    -webkit-transform: none;
}

.foot {
    display: none;
}

.menu {
    padding: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    overflow-x: hidden;
    overflow-y: auto;
    z-index: 12;
    opacity: 0;
    visibility: hidden;
    box-sizing: border-box;
    background: rgba(44, 24, 24, .93);
    transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1), visibility .8s cubic-bezier(0.23, 1, 0.32, 1);
}

footer .menu {
    background: #48322a;
}

.openMenu .menu {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s cubic-bezier(0.23, 1, 0.32, 1), visibility 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu.fadeIn .menu {
    opacity: 1;
    visibility: visible;
}

.openMenu .headLine svg {
    fill: #fff;
}

.openMenu .cls-2 {
    stroke: #fff;
}

.closePage .headLine svg {
    fill: #48322a;
}

.closePage .cls-2 {
    stroke: #48322a;
}


.menu__info {
    height: auto !important;
    position: relative;
}

#gHeader .menu__info {
    padding-top: 20%;
    height: calc(100% - 20%) !important;
}

#gHeader .menuBtn {
    margin: 20px 20px 0 20px;
}

#gHeader .menuBtn a {
    display: block;
}

#gHeader .menuBtn .menuBtn__item01,
#gHeader .menuBtn .menuBtn__item02 {
    margin-bottom: 16px;
}

#gHeader .menuBtn .menuBtn__item01,
#gHeader .menuBtn .menuBtn__item02,
#gHeader .menuBtn .menuBtn__item03 {
    width: 100%;
    text-align: left;
    padding: 14px 0 14px 12px;
    font-size: 14px;
    background: #fff;
    position: relative;
    box-sizing: border-box;
    font-weight: bold;
}

#gHeader .menuBtn .menuBtn__item01 p,
#gHeader .menuBtn .menuBtn__item02 p {
    color: #333;
}

#gHeader .menuBtn .menuBtn__item01 p {
    display: inline-block;
}

#gHeader .menuBtn .menuBtn__item01:before,
#gHeader .menuBtn .menuBtn__item02:before,
#gHeader .menuBtn .menuBtn__item03:before {
    content: "▷";
    width: 10px;
    position: absolute;
    top: 13px;
    right: 15px;
}

@media all and (min-height: 680px) {
    #gHeader .menu__info {
        padding-top: 22%;
        width: calc(100% - 40px);
        position: absolute;
        top: 48%;
        left: 20px;
        transform: translateY(-50%);
    }
}


#gFooter .menu__info {
    padding: 18% 0 20px;
}

.menu__center,
.menu__hasList,
.menuList {
    width: 100% !important;
}

.menu__hasList {
    margin-bottom: 33px;
}

#gFooter .menuList,
#gHeader .menuList {
    display: flex;
    flex-wrap: wrap;
}

.menuList__item {
    opacity: 0;
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item02 {
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item03 {
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item04 {
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
}

.menuList .menuList__item {
    width: 100%;
}

.openMenu .menuList .menuList__item,
.openMenu .menuList2,
.openMenu .menu__faq .menu__faq__inst {
    opacity: 1;
    transform: none;
    -webkit-transform: none;
}

.menuList__item a {
    display: block;
}

.menuList2,
#gFooter .menuList2 {
    margin-bottom: 32px;
    width: 100%;
    text-align: center;
    opacity: 0;
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    display: flex;
    justify-content: left;
}

.openMenu .menuList__item {
    transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item02 {
    transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item03 {
    transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList .menuList__item04 {
    transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.openMenu .menuList2 {
    transition: opacity .6s ease, transform .5s cubic-bezier(0.23, 1, 0.32, 1);
}

.menuList__item__p .menuList__item__more {
    opacity: .6;
    font-size: 12px;
    position: absolute;
    bottom: 16px;
    left: 35px;
}

.menuList__item__p {
    padding: 17px 20px;
    font-size: 14px;
    color: #fff;
    letter-spacing: .03em;
    white-space: nowrap;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.menuList__item__p:not(.menu__first .menuList__item__p):after,
.menuList__list__item__p:after {
    content: '＞';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    color: #fff;
    margin: auto;
    height: 13px;
}

#gFooter .menuList__item__p {
    font-size: 14px;
}

.menuList__item__p svg {
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -8px;
    fill: #fff;
}

.menuList__item__p .menuList__item__span {
    display: block;
    margin: 6px 0 0 0;
    font-size: 13px;
    opacity: .6;
}

.menuList__list__item__p .menuList__item__span {
    font-size: 13px;
    opacity: .6;
}

.menuList__list__item:nth-of-type(1) .menuList__item__span {
    margin-left: 18px;
}

.menuList__list__item:nth-of-type(2) .menuList__item__span {
    margin-left: 5px;
}

.menuList__list__item:nth-of-type(3) .menuList__item__span {
    margin-left: 6px;
}

@media all and (max-width: 374px) {
    .menu {
        padding: 0 30px;
    }

    .menuList__item__p {
        padding: 10px 0;
        font-size: 12px;
        letter-spacing: .02em;
    }

    .menuList__item__p .menuList__item__more {
        top: 9px;
        left: 110px;
    }

    #gFooter .menuList__item__p {
        font-size: 12px;
    }

    .menuList .menuList__item:nth-of-type(1),
    .menuList .menuList__item:nth-of-type(3),
    .menuList .menuList__item:nth-of-type(6),
    .menuList .menuList__item:nth-of-type(8) {
        width: 54%;
    }

    .menuList__left .menuList__item:nth-of-type(1),
    .menuList__left .menuList__item:nth-of-type(3),
    .menuList__right .menuList__item:nth-of-type(2),
    .menuList__right .menuList__item:nth-of-type(5) {
        width: 54%;
    }

    .menuList__right .menuList__item:nth-of-type(6) {
        width: auto;
    }

    .menuList__item__p .menuList__item__span {
        font-size: 11px;
    }

    .menuList.menuList__left .menuList__item,
    .menuList.menuList__right .menuList__item {
        width: 50%;
    }
}

.menuList__list {
    padding-top: 2px;
    margin-left: 27px;
    height: 0;
    transition: height .6s ease;
    overflow: hidden;
}

.menuList__list>ul {
    padding-bottom: 15px;
}

.menuList__list__item__p {
    padding: 17px 0;
    font-size: 14px;
    color: #fff;
    position: relative;
    padding-left: 35px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}

.menuList__item__spanserif {
    margin-left: 10px;
}

.menuList__list__item:nth-of-type(1) .menuList__item__spanserif {
    margin-left: 22px;
}

@media all and (max-width: 374px) {
    .menuList__list__item__p {
        padding: 8px 0;
        font-size: 12px;
        color: #fff;
    }
}

.menuList__oitem {
    display: inline-block;
    position: relative;
}

.menuList__oitem:after {
    width: 1px;
    height: 12px;
    position: absolute;
    top: 50%;
    right: -1px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    content: "";
    background: #999999;
}

.menuList__oitem:last-child:after {
    display: none;
}

.menuList__oitem a {
    font-size: 13px;
    color: #fff;
    letter-spacing: .05em;
    display: block;
}

.menu__faq .menu__faq__inst {
    padding: 19px 0;
    display: block;
    text-align: center;
    opacity: 0;
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    transition: opacity 0s ease 1s, transform 0s cubic-bezier(0.23, 1, 0.32, 1) 1s;
    background: #543a31;
}

.openMenu .menu__faq__inst {
    transition: opacity .6s ease, transform 1.7s cubic-bezier(0.23, 1, 0.32, 1);
}

.menu__faq__inst.hover.touch {
    opacity: .6 !important;
}

.menu__faq__inst svg {
    width: 25px;
    height: 25px;
    fill: #fff;
}

.menu__faq__inst span {
    padding-top: 9px;
    font-size: 18px;
    color: #fff;
    display: block;
    letter-spacing: .05em;
}

/* =======================

固定フッター

======================= */

.footer__bnr.sp {
    visibility: hidden;
    padding: 6px;
    position: fixed;
    bottom: 0;
    z-index: 12;
    width: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    box-sizing: border-box;
    transform: translateY(54px);
    -webkit-transform: translateY(54px);
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), visibility 1s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1);
    font-family: Helvetica, Arial, YuGothic, 游ゴシック, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.scrolled .footer__bnr.sp {
    visibility: hidden;
    opacity: 0;
    transform: none;
    -webkit-transform: none;
}

@media screen and (max-width: 767px) {
    .scrolled.fadeIn .footer__bnr.sp {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
        -webkit-transform: translateY(0);
    }
}

.footer__bnr.sp .footer__bnr__top,
.footer__bnr.sp .footer__bnr__bottom ul li {
    text-align: center;
    width: 100%;
    display: inline-block;
    border: 1px #48322a solid;
    background: #fff;
    color: #48322a !important;
    font-size: 15px;
    font-weight: bold;
    border-radius: 6px;
    padding: 14px 0;
}

.footer__bnr.sp .footer__bnr__top {
    background: #48322a;
    color: #fff !important;
    font-size: 16px;
    letter-spacing: 4px;
    margin-bottom: 4px;
    padding: 8px 0;
}

#footerBnrTop.footer__bnr__top a {
    color: #fff !important;
}

#footerBnrBottom.footer__bnr__bottom a {
    color: #48322a !important;
}

.footer__bnr.sp .footer__bnr__bottom ul {
    display: flex;
}

.footer__bnr.sp .footer__bnr__bottom li {
    width: 49% !important;
}

.footer__bnr.sp .footer__bnr__bottom li:nth-of-type(1) {
    margin-right: 4px;
}

.footer__bnr.sp a.footer__bnr__top,
.footer__bnr.sp a.footer__bnr__bottom {
    height: 54px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.footer__bnr.sp .footer__bnr__top span.footer__bnr__radius {
    padding: 6px 10px 6px;
    margin-top: 7px;
    margin-bottom: 6px;
    display: inline-block;
    font-size: 14px;
    letter-spacing: 0;
    border: #fff 1px solid;
    border-radius: 20px;
    margin-right: 8px;
}

.scrolled .webIcon {
    visibility: hidden;
    opacity: 0;
    transform: none;
    -webkit-transform: none;
}

.scrolled.fadeIn .webIcon {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
}

.webIcon {
    position: fixed;
    z-index: 10;
    bottom: 124px;
    right: 5px;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transform: translateY(54px);
    -webkit-transform: translateY(54px);
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1), visibility 1s cubic-bezier(0.23, 1, 0.32, 1), transform 1s cubic-bezier(0.23, 1, 0.32, 1);
}

.webIcon img {
    width: 78px;
    display: block !important;
}

.mySlider {
    position: relative;
    overflow: hidden;
}

.mySlider .slideItem {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
}

.mySlider .slideItem.current {
    visibility: visible;
    z-index: 3;
    left: 0;
}

.mySlider .slideItem.prev {
    left: -100%;
}

.mySlider .slideItem.next {
    left: 100%;
}

.mySlider .slideItem.moveCurrent {
    transition: left ease .5s;
}

.mySlider .slideItem.movePrev {
    visibility: visible;
    z-index: 2;
    left: -50%;
    transition: left ease .5s;
}

.mySlider .slideItem.moveNext {
    visibility: visible;
    z-index: 2;
    left: 50%;
    transition: left ease .5s;
}

a.hover.touch:hover {
    opacity: .6;
}

/*------------------------------------------------------------
	footer
------------------------------------------------------------*/
.menu__foot .menu {
    display: block;
    position: static;
}

#gFooter {
    position: relative;
    visibility: hidden;
}

.loaded #gFooter {
    visibility: visible;
}

#gFooter .menu {
    display: block;
    position: static;
    opacity: 1;
    visibility: visible;
    margin-top: 100px;
}

#gFooter .menuList__item,
#gFooter .menuList2,
#gFooter .menu__faq__inst {
    opacity: 1;
    transform: none;
    -webkit-transform: none;
}

.scrollUp {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 13px;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transition: transform .6s ease !important;
    border-radius: 100%;
}

.scrollUp.hover.touch {
    transform: translateX(-50%) translateY(-10px);
    -webkit-transform: translateX(-50%) translateY(-10px);
}

.scrollUp svg {
    width: 24px;
    height: 11.5px;
    fill: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.footGood {
    padding: 34px 0 140px;
    text-align: center;
    background: #fff;
}

.footGood__img {
    margin-bottom: 15px;
    height: 9px;
}

.footGood__img img {
    height: 100%;
    vertical-align: baseline;
}

.footGood__copy {
    font-size: 9px;
    color: #000;
    opacity: .4;
    letter-spacing: .5px
}

.footGoodList {
    margin-bottom: 35px;
}

.footGoodList__item {
    display: inline-block;
}

.footGoodList__item a {
    padding: 0 5px;
    font-size: 10px;
    color: #000;
    position: relative;
    letter-spacing: .03em;
}

.footGoodList__item a:after {
    width: 1px;
    height: 10px;
    position: absolute;
    top: 0;
    right: -1px;
    content: "";
    background: #929292;
}

.footGoodList__item:last-child a:after {
    display: none;
}

/*------------------------------------------------------------
	general
------------------------------------------------------------*/
a.block {
    display: block;
}

.section__title {
    margin-bottom: 32px;
}

.section__top__up {
    margin-bottom: 8px;
    position: relative;
    top: -20px;
}

.section__headline {
    font-size: 28px;
    margin: 0.67em 0;
    margin-bottom: 40px;
    text-align: center;
    position: relative;
    line-height: 1.2;
}

.area .section__headline {
    margin-bottom: 50px;
}

.section__headline.font__mincho {
    font-size: 25px;
    letter-spacing: .15em;
}

.section__headline:after {
    width: 50px;
    height: 1px;
    position: absolute;
    bottom: -22px;
    left: 50%;
    margin-left: -25px;
    content: "";
    background: #000;
}

.section__title__word {}

.section__title__word.font__mincho {
    font-size: 26px;
    letter-spacing: .15em;
}

.section__title__img {
    margin-top: 8px;
}

.section__title__img svg {
    width: 112px;
    height: 13px;
}

.section__title__dt__img svg {
    width: 128px;
    height: 20px;
}

.section__area {
    margin-bottom: 9px;
    font-size: 10px;
    text-align: center;
    letter-spacing: 2px;
}

.section__note {
    font-size: 12px;
    text-align: center;
    line-height: 1.9;
    letter-spacing: .03em;
}

@media all and (max-width: 374px) {
    .section__note {
        font-size: 11px;
    }
}

.hover a img.scale {
    transform: scale(1);
    -webkit-transform: scale(1);
    transition: transform 1s cubic-bezier(0.12, 0.68, 0.44, 1);
}

.hover.touch a img.scale {
    transform: scale(1.05);
    -webkit-transform: scale(1.05);
}

.top__img {
    overflow: hidden;
}

.top__img img {
    width: 100%;
    vertical-align: top;
}

.more {
    font-size: 12px;
    float: left;
    color: #48322a;
    font-weight: bold;
}

.more.font__futura {
    font-weight: normal;
}

.more svg {
    margin-right: 6px;
    width: 18px;
    height: 5px;
    fill: #48322a;
    transform: translateX(0);
    -webkit-transform: translateX(0);
    transition: margin .3s ease, transform .3s ease;
}

.hover.touch .more svg {
    margin-right: 15px;
    transform: translateX(15px);
    -webkit-transform: translateX(15px);
}

/*------------------------------------------------------------
	topics
------------------------------------------------------------*/
.gray {
    transition: background 2s cubic-bezier(0.23, 1, 0.32, 1);
    background: #fff;
}

.gray.show {
    background: #f9f9f9;
}

.topics__time {
    word-break: break-all;
    font-size: 11px;
    letter-spacing: .7px;
    line-height: 1.3;
    opacity: .6;
}

.topicsList {
    padding: 0 40px;
}

@media all and (max-width: 374px) {
    .topicsList {
        padding: 0 30px;
    }
}

.topics__overall {
    margin-bottom: 42px;
}

.topicsList__box {
    padding: 20px 0;
    font-size: 0;
    border-bottom: 1px solid #d4d4d4;
}

.topicsList__box.topicsList__box__pt0 {
    padding-top: 0;
}

.topics__right__img {
    width: 100px;
    float: left;
}

.topics__right__img img {
    -webkit-transition: .5s;
    transition: .5s;
}

.topics__right__info {
    margin-left: 120px;
    overflow: hidden;
}

.topics__right__mess {
    margin-top: 2px;
    margin-bottom: 8px;
}

.topics__right__name {
    margin-right: 14px;
    font-size: 11px;
    letter-spacing: 0;
    line-height: 1.3;
    color: #a38238;
    float: left;
}

.topics__right__inir {
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: 0;
    text-align: justify;
    word-break: break-all;
}

.topicsList__item .more {
    margin-top: 10px;
    letter-spacing: .5px;
}

/*------------------------------------------------------------
	Chapel Info
------------------------------------------------------------*/
.ci {
    margin-bottom: 79px;
    padding-bottom: 60px;
}

.ci .section__title {
    margin-bottom: 7px;
}

.ci .section__title__word {}

.ci .section__top__up {
    top: -20px;
}

.ci .section__headline::after {
    width: 40px;
    bottom: -28px;
}

.ci__info {
    padding: 0 20px;
    margin-top: 48px;
}

.ci__left {
    margin-bottom: 53px;
}

.ci__left dt {
    margin-top: 4px;
    width: 86px;
    font-size: 11px;
    font-weight: bold;
    float: left;
    letter-spacing: .8px;
    text-align: right;
}

.ci__left dd {
    margin-bottom: 20px;
    margin-left: 120px;
    font-size: 12px;
    line-height: 1.55;
    letter-spacing: .4px;
}

.ci__map {
    padding-bottom: 62.68%;
    position: relative;
    overflow: hidden;
}

.ci__map iframe {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
}

.ci__see {
    padding: 18px 3px 18px 5px;
    font-size: 11px;
    font-weight: bold;
    float: right;
    letter-spacing: .5px;
}

/*------------------------------------------------------------
	Chapel Link
------------------------------------------------------------*/
.areaList {
    text-align: center;
}

.areaList__item {
    display: inline-block;
    width: 100px;
}

.areaList__item a {
    padding: 5px 15px;
    font-size: 12px;
    position: relative;
    letter-spacing: 1.3px;
    display: block;
}

@media all and (max-width: 374px) {
    .areaList__item a {
        font-size: 11px;
    }
}

.areaList__item a:after {
    width: 1px;
    height: 16px;
    position: absolute;
    top: 50%;
    margin-top: -8px;
    right: -1px;
    content: "";
    background: #cccccc;
}

.areaList__item:last-child a:after {
    display: none;
}

.areaList__item.-active {
    opacity: .5;
}

@media all and (max-width: 374px) {
    .areaList__item a {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/*------------------------------------------------------------
	library
------------------------------------------------------------*/
.lib {
    padding: 0 11px;
}

.libraryList {
    width: 100%;
    margin-bottom: 32px;
    text-align: center;
    overflow: hidden;
}

.libraryList__item {
    padding: 2.5% 2% 5%;
    width: 50%;
    float: left;
    display: inline-block;
    position: relative;
    box-sizing: border-box;
}

.libraryList__item a {
    position: relative;
    display: block;
}

.libraryList__box {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: opacity .3s ease;
    background: rgba(72, 50, 42, .8);
}

.hover.touch .libraryList__box {
    opacity: 1;
}

.libraryList__box__center {
    padding: 5px 0;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-40%);
    -webkit-transform: translateY(-40%);
    transition: transform .5s ease;
    box-sizing: border-box;
}

.hover.touch .libraryList__box__center {
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.library__area {
    margin-bottom: 9px;
    font-size: 10px;
    color: #fff;
    text-align: center;
    letter-spacing: 1px;
}

.library__inir {
    font-size: 16px;
    color: #fff;
    text-align: center;
    line-height: 1.4;
    letter-spacing: -.03em;
}

@media all and (max-width: 374px) {
    .library__inir {
        font-size: 13px;
        letter-spacing: .04em;
    }
}


/*------------------------------------------------------------
	fair
------------------------------------------------------------*/
.fc__box .topicsList {
    margin-bottom: 50px;
}

.fc__box .topicsList__item:nth-child(1) {
    border-top: 1px solid #d4d4d4;
}

.fc__box .topicsList__item a {
    display: block;
}

.fc__box .topicsList__item {
    min-height: 90px;
}

.fc__box .topics__right__img {
    width: 90px;
    overflow: hidden;
}

.fc__box .topics__right__info {
    margin-left: 109px;
    text-align: justify;
}

.fc__box .topics__right__mess {
    margin-bottom: 8px;
}

.fc__box .topics__more {
    margin-top: 9px;
    font-size: 12px;
    letter-spacing: 0;
}

.fc__box .btn a {
    padding: 20px;
    width: 260px;
    max-width: none;
}

.fc__box .btn a:before {
    content: "無料";
    border-radius: 15px;
    color: #FFF;
    font-size: 10px;
    padding: 4px 7px 4px 8px;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    margin-right: 10px;
    white-space: nowrap;
    border: 1px solid #FFF;
    bottom: 1px;
    position: relative;
}

@media all and (max-width: 374px) {
    .footGoodList__item a {
        padding: 0 10px;
    }
}

/*------------------------------------------------------------
	reokinawa
------------------------------------------------------------*/
p.reokinawa {
    text-align: center;
    font-size: 12px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 280px;
    margin-top: 40px;
    line-height: 1.5;
}

p.reokinawa a {
    display: block;
    width: 100%;
    padding: 15px 10px;
    color: #000;
}

/*------------------------------------------------------------
	corona2
------------------------------------------------------------*/
p.corona,
p.corona2 {
    text-align: center;
    font-size: 12px;
    border: 1px solid #333;
    display: inline-block;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    width: 280px;
    margin-top: 20px;
    line-height: 1.5;
}

p.corona a,
p.corona2 a {
    display: block;
    width: 100%;
    padding: 15px 10px;
    color: #000;
}

p.corona2 a {
    height: 49px;
    box-sizing: border-box;
    padding: 0 10px;
    line-height: 49px;
}

/*------------------------------------------------------------
	ウエディング応援プロジェクト
------------------------------------------------------------*/
p.ow2021_bnr {
    text-align: center;
    margin-top: 50px;
}

p.ow2021_bnr img.sp {
    width: 97%;
    display: inline !important;
}

p.ow2021_bnr a:nth-of-type(1) img.sp {
    margin-bottom: 24px;
}

p.ow2021_text {
    text-align: center;
    margin-top: 20px;
    font-size: 15px;
    letter-spacing: .04em;
    color: #333;
}

p.ow2021_text a {
    padding-bottom: 2%;
    border-bottom: 1px solid #333;
}

/*------------------------------------------------------------
	Library 2020.08
------------------------------------------------------------*/
@media all and (max-width: 767px) {
    .lb__box {
        margin-top: 19px;
        text-align: left;
    }

    .lb__area {
        margin-bottom: 4px;
        font-size: 10px;
        letter-spacing: .05em;
    }

    .lb__inir {
        font-size: 12px;
        letter-spacing: .03em;
        text-align: justify;
        line-height: 1.4;
    }
}


/*------------------------------------------------------------
	Library 2020.08
------------------------------------------------------------*/
.libTextSec .top__img {
    position: relative;
}

.libTextSec .libraryList {
    display: flex;
    flex-wrap: wrap;
}

.libTextSec .libraryList__item {
    float: none;
}

.libTextSec .libraryList:after {
    display: none;
}

/*------------------------------------------------------------
	pagePath 2022.05
------------------------------------------------------------*/
#pagePath {
    background: transparent !important;
    padding: 60px 20px 20px !important;
}

#pagePath li {
    opacity: .6 !important;
    color: #fff !important;
}

#pagePath li a {
    color: #fff !important;
}

#pagePath li+span {
    opacity: .6 !important;
    color: #fff !important;
}

/*------------------------------------------------------------
	新ヘッダー・新メニュー・新フッター
------------------------------------------------------------*/
/* =======================

調整

======================= */

#gHeader {
    min-width: 980px;
}

@media screen and (max-width: 767px) {
    #gHeader {
        width: 100%;
        min-width: 100%;
        height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #gHeader .headLine {
        margin: 0;
        height: 42px;
        display: flex;
        align-items: center;
        margin-top: -5px;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
}

#gHeader .inst {
    margin: -3px 10px 0 10px;
}

@media screen and (max-width: 767px) {
    #gHeader .inst {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    footer .menu {
        padding: 0 30px;
    }
}

body.open {
    overflow: hidden;
}


/* =======================

TEL

======================= */

#_TEL {
    position: fixed;
    z-index: 12;
    top: 18px;
    right: 70px;
    width: 70px;
    height: 42px;
    background-color: #48322a;
    margin: 4px;
    box-sizing: border-box;
}

@media screen and (max-width: 767px) {
    #_TEL {
        z-index: 14;
        top: 0;
        right: 0;
        height: 40px;
    }
}

#_TEL label {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#_TEL label:before {
    content: '';
    display: inline-block;
    width: 26px;
    height: 26px;
    background-image: url(../img/index/_mobile.svg);
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    right: 3px;
}

#_TEL label p {
    color: #fff;
    font-size: 12px;
    line-height: 1em;
}

._popup_wrap input {
    display: none;
}

._popup_wrap .popup_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background-color: rgba(62, 47, 41, .95);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
}

._popup_wrap .popup_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
}

._popup_wrap .popup_content {
    position: relative;
    align-self: center;
    width: 30%;
    box-sizing: border-box;
    background: #fff;
    transition: 0.5s;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}

@media screen and (max-width: 767px) {
    ._popup_wrap .popup_content {
        width: 90%;
    }
}

._popup_wrap .popup_content div {
    padding: 50px 20px 45px;
    text-align: center;
}

._popup_wrap .popup_content div p:nth-child(1) {
    color: #3e2f29;
    font-size: 16px;
    line-height: 16px;
    font-weight: bold;
}

._popup_wrap .popup_content div p:nth-child(2) {
    margin-top: 45px;
    padding: 35px 0 30px;
    padding-left: 5%;
    height: 40px;
    color: #3e2f29;
    text-align: center;
    font-size: 33px;
    font-weight: bold;
    border-top: 1px solid #3e2f29;
    border-bottom: 1px solid #3e2f29;
    white-space: nowrap;
}

._popup_wrap .popup_content div p:nth-child(2) a {
    padding-left: 5px;
}

._popup_wrap .popup_content div p:nth-child(2):before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 32px;
    background-image: url(../img/index/_mobile-brown.svg);
    background-size: contain;
    background-position: left top;
    background-repeat: no-repeat;
    vertical-align: middle;
    right: 0;
    top: 0;
}

._popup_wrap .popup_content div p:nth-child(2):after {
    content: "（無料）";
    position: relative;
    left: -7px;
    bottom: 1px;
    font-size: 14px;
    margin-right: 5px;
}

._popup_wrap .popup_content div p:nth-child(3) {
    margin-top: 35px;
    color: #3e2f29;
    font-size: 13px;
    font-weight: bold;
    line-height: 1.7em;
}

._popup_wrap .close_btn {
    position: absolute;
    top: -25px;
    right: 0;
    cursor: pointer;
    color: #fff;
}

._popup_wrap input:checked~.popup_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}


/* =======================

nav

======================= */

nav:not(.salonArea nav) {
    z-index: 14;
    width: 100%;
    min-width: 980px;
    height: 80px;
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    top: 0;
    right: 0;
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    nav:not(.salonArea nav) {
        width: 48px;
        min-width: 48px;
        height: 48px;
        left: 0;
    }
}

nav .drawer {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    cursor: pointer;
    pointer-events: auto;
}

@media screen and (max-width: 767px) {
    nav .drawer {
        width: 48px;
        height: 48px;
    }
}

nav .navbar_toggle {}

nav .navbar_toggle_icon {
    position: relative;
    display: block;
    height: 2px;
    width: 29px;
    background: #3e2f29;
    -webkit-transition: ease .2s;
    transition: ease .2s;
}

nav .navbar_toggle_icon:nth-child(1) {
    top: 0;
}

nav .navbar_toggle_icon:nth-child(2) {
    margin: 5px 0;
}

nav .navbar_toggle_icon:nth-child(3) {
    top: 0;
}

nav .navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
    width: 25px;
    top: 7px;
    left: -10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

nav .navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    opacity: 0;
}

nav .navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
    width: 25px;
    top: -7px;
    left: -10px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

@media screen and (max-width: 768px) {
    nav .navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
        width: 25px;
        top: 7px;
        left: 2px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
    }

    nav .navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        opacity: 0;
    }

    nav .navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
        width: 25px;
        top: -7px;
        left: 2px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}


/*================

drawermenu

=================*/

.drawermenubg {
    opacity: 0;
    position: fixed;
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
    transition-property: opacity;
    transition-duration: 0.4s;
    z-index: 13;
    top: 0;
    width: 100vw;
    height: 100dvh;
    background-color: rgba(0, 0, 0, .7);
}

.drawermenubg.open {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.drawermenu {
    opacity: 0;
    position: fixed;
    -webkit-transform: translateX(100vw);
    transform: translateX(100vw);
    transition: .7s;
    z-index: 13;
    top: 0;
    width: 500px;
    height: 100dvh;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .drawermenu {
        top: 48px;
        width: 100vw;
        -webkit-transform: translateX(-100vw);
        transform: translateX(-100vw);
        border-top: 1px solid rgba(62, 47, 41, .2);
    }
}

.drawermenu.open {
    opacity: 1;
    -webkit-transform: translateX(calc(100vw - 500px));
    transform: translateX(calc(100vw - 500px));
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 768px) {
    .drawermenu.open {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.drawermenuinner {
    width: 100%;
    min-height: 50vh;
    box-sizing: border-box;
    padding-top: 20px;
    padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
    .drawermenuinner {
        padding-top: 0;
        padding-bottom: 20px;
    }
}

.drawermenuinner,
.drawermenuinner a {
    color: #3e2f29;
    font-size: 13px;
    font-weight: bold;
}

.drawermenuinner ._block {
    padding: 26px 0 0;
    width: 90%;
    margin: auto;
}

.drawermenuinner ._block p._categoly {
    color: #FD8684;
    font-size: 11px;
}

.drawermenuinner ._block ul {
    width: 85%;
    margin-left: 7.5%;
    margin-top: 15px;
}

.drawermenuinner ._block ul li {
    border-bottom: 1px solid rgba(62, 47, 41, .2);
}

.drawermenuinner ._block ul li a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-position: right center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right-brown.svg);
    background-size: 6px;
}

.drawermenuinner ._block ul li a {
    padding: 18px 0;
}

.drawermenuinner ._block ul li a p {
    position: relative;
}

.drawermenuinner ._block ul li p span {
    position: absolute;
    font-size: 10px;
    font-weight: normal;
    bottom: 0;
    left: 5em;
}

.drawermenuinner ._block p._sub {
    display: block;
    margin-top: 20px;
    margin-left: 7%;
    padding-left: 18px;
    background-position: left 5px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right-brown.svg);
    background-size: 4px;
    font-size: 12px;
}

.drawermenuinner ._block.long {
    width: 100%;
    margin: auto;
    margin-top: 30px;
    padding: 0;
    border-top: 1px solid rgba(62, 47, 41, .2);
}

.drawermenuinner ._block.long.narrow {
    margin-top: 0;
    border-bottom: 1px solid rgba(62, 47, 41, .2);
}

.drawermenuinner ._block.long ul {
    width: 76%;
    margin: 0;
    margin-left: 12%;
}

.drawermenuinner ._block.long ul li {
    border-bottom: none;
}

.drawermenuinner ._block._etc ul {
    margin-top: 0;
    border-top: none;
}

.drawermenuinner ._block._etc ul li {
    border-bottom: none;
}

.drawermenuinner ._block._etc ul li a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: .5em 0 .5em 15px;
    background-position: left 2px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right-brown.svg);
    background-size: 4px;
}

.drawermenuinner ._block._etc ul li p {
    font-size: 12px;
    font-weight: normal;
}

.drawermenu ._footer {
    position: sticky;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 60px;
    background-color: #fff;
}

@media screen and (max-width: 767px) {
    .drawermenu ._footer {
        bottom: 0;
        height: 61px;
    }

    .drawermenu.open ._footer {
        bottom: 0;
        height: 110px;
    }
}

.drawermenu ._footer .CTA1 {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 1px;
    background-color: #fff;
    box-sizing: border-box;
    border-bottom: 1px solid #fff;
}

.drawermenu ._footer .CTA1 li {
    width: 100%;
    height: 59px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
}

.drawermenu ._footer .CTA1 li a {
    width: 100%;
    height: 59px;
    background-color: #3e2f29;
    display: flex;
    align-items: center;
    justify-content: center;
    background-position: center top 8px;
    background-repeat: no-repeat;
    background-size: 22px;
}

.drawermenu ._footer .CTA1 li:nth-child(1) a {
    background-image: url(../img/index/_nav-reserve.svg);
}

.drawermenu ._footer .CTA1 li:nth-child(2) a {
    background-image: url(../img/index/_nav-book.svg);
}

.drawermenu ._footer .CTA1 li:nth-child(3) a {
    background-image: url(../img/index/__icon_line.svg);
}

.drawermenu ._footer .CTA1 a p {
    margin-top: 23px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
}

.drawermenu ._footer .CTA2 {
    width: 100%;
    max-width: 375px;
    height: 60px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.drawermenu ._footer .CTA2 ._announce {
    width: 45%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #3e2f29;
}

.drawermenu ._footer .CTA2 ._announce p {
    font-size: 9px;
    font-weight: bold;
    line-height: 9px;
}

.drawermenu ._footer .CTA2 ._announce .time {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    column-gap: 5px;
    margin-top: 7px;
    padding: 5px 0 0;
    border-top: 1px solid rgba(62, 47, 41, .4);
}

.drawermenu ._footer .CTA2 ._announce .time div {
    font-size: 9px;
    line-height: 11px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.drawermenu ._footer .CTA2 ._number {
    width: 55%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.drawermenu ._footer .CTA2 ._number a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    padding-left: 26px;
    background-position: left center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_nav-mobile.svg);
    background-size: 18px;
}

.drawermenu ._footer .CTA2 ._number a p {
    font-size: 23px;
    font-weight: bold;
    color: #3e2f29;
}

#pagePath,
.drawermenubg,
.drawermenu,
.drawermenubg.open,
.drawermenu.open {
    opacity: 0;
}

#pagePath,
.drawermenubg,
.drawermenu {
    transition: opacity .7s cubic-bezier(0.23, 1, 0.32, 1);
}

.fadeIn #pagePath,
.fadeIn .drawermenubg,
.fadeIn .drawermenu {
    opacity: 1;
    transition: opacity 1s cubic-bezier(0.23, 1, 0.32, 1);
}

/* =======================

CTA

======================= */

#_CTA {
    position: fixed;
    z-index: 10;
    bottom: -110px;
    width: 100%;
    height: 110px;
    background-color: rgba(0, 0, 0, .3);
    transition: .5s;
}

#_CTA.is-show {
    bottom: 0;
}

#_CTA .CTA1 {
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#_CTA .CTA1 a {
    width: calc(100% - 16px);
    height: 46px;
    box-sizing: border-box;
    background-color: #3e2f29;
    display: flex;
    align-items: center;
    justify-content: center;
    background-position: right 15px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right-bold.svg);
    background-size: 10px;
}

#_CTA .CTA1 a p {
    font-size: 16px;
    color: #fff;
    letter-spacing: 5px;
}

#_CTA .CTA1 a p:before {
    content: "全国32店舗";
    border-radius: 15px;
    color: #fff;
    font-size: 12px;
    padding: 3px 6px;
    font-weight: bold;
    -webkit-font-smoothing: antialiased;
    white-space: nowrap;
    border: 1px solid #fff;
    position: relative;
    letter-spacing: 4px;
    bottom: 2px;
    right: 10px;
}

#_CTA .CTA2 {
    width: 100%;
    height: 50px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 5px;
}

#_CTA .CTA2 li {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#_CTA .CTA2 li:first-child {
    padding-left: 5px;
}

#_CTA .CTA2 li:last-child {
    padding-right: 5px;
}

#_CTA .CTA2 li a {
    width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: 1px solid #000;
    background-position: right 7px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right-brown.svg);
    background-size: 5px;
}

#_CTA .CTA2 li a p {
    font-size: 13px;
    font-weight: bold;
    color: #3e2f29;
}

#_CTA .CTA2 li a p span {
    letter-spacing: -.1em;
}

#_CTA .CTA2 li:last-child a p:before {
    content: "無料";
    border-radius: 10px;
    color: #3e2f29;
    font-size: 9px;
    padding: 1px 4px;
    -webkit-font-smoothing: antialiased;
    white-space: nowrap;
    border: 1px solid #3e2f29;
    position: relative;
    right: 3px;
    bottom: 1px;
}


/* =======================

_spfooter

======================= */

._spfooter {
    padding-bottom: 30px;
}

._spfooter,
._spfooter a {
    color: #fff;
    font-size: 10px;
    font-weight: bold;
}

._spfooter ._block {
    padding: 20px 0 0;
    width: 100%;
    margin: auto;
}

._spfooter ._block p._categoly {
    color: #fff;
    font-size: 10px;
    text-align: center;
    opacity: 0.5;
    filter: alpha(opacity=50);
}

._spfooter ._block ul {
    width: 100%;
    margin-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .2);
}

._spfooter ._block ul li {
    border-bottom: 1px solid rgba(255, 255, 255, .2);
}

._spfooter ._block ul li a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background-position: right 5px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right.svg);
    background-size: 6px;
    padding: 10px 0;
}

._spfooter ._block._withe ul li a {
    padding: 12px 0;
}

._spfooter ._block ul li a p {
    position: relative;
    padding-left: 5px;
}

._spfooter ._block ul li p span {
    display: block;
    margin-top: 5px;
    font-size: 9px;
    font-weight: normal;
    opacity: 0.5;
    filter: alpha(opacity=50);
}

._spfooter ._block p._sub {
    display: block;
    margin-top: 20px;
    padding-left: 18px;
    background-position: left 5px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right.svg);
    background-size: 4px;
    font-size: 10px;
}

._spfooter ._block._etc ul {
    margin-top: 0;
    border-top: none;
}

._spfooter ._block._etc ul li {
    border-bottom: none;
}

._spfooter ._block._etc ul li a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: .5em 0 .5em 13px;
    background-position: left 5px center;
    background-repeat: no-repeat;
    background-image: url(../img/index/_chevron-right.svg);
    background-size: 4px;
}

._spfooter ._block._etc ul li p {
    font-weight: normal;
}

/* =======================

202312_newTOPPAGE

======================= */
.spi {
    display: inline;
}

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

.pci {
    display: none;
}

@media screen and (min-width: 768px) {
    .pci {
        display: inline;
    }
}

.__yumin {
    font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', serif;
}

.__bodoni {
    font-family: BauerBodoniRoman, YuMincho, "Hiragino Mincho ProN", "Noto Serif JP", "ＭＳ Ｐ明朝", serif;
}

/*-------- 固定header調整 --------*/

#gHeader {
    background: rgba(255, 255, 255, .67) !important;
}

@media screen and (min-width: 768px) {
    #gHeader {
        background: rgba(255, 255, 255, 0) !important;
    }
}

/*-------- 固定footer調整 --------*/

.footer__bnr.sp .footer__bnr__top,
.footer__bnr.sp .footer__bnr__bottom ul li {
    border-radius: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    border: none;
    font-size: 11px;
    height: 40px;
    padding: 0;
}

.footer__bnr.sp .footer__bnr__top {
    box-sizing: border-box;
    font-size: 15px;
    height: 50px;
}

.footer__bnr.sp .footer__bnr__top {
    letter-spacing: 1px;
}

#footerBnrTop.footer__bnr__top a {
    display: block;
    height: 35px;
    line-height: 1em;
}

.footer__bnr.sp .footer__bnr__top span.footer__bnr__radius {
    font-size: 10px;
    font-weight: 600;
    background-color: #fff;
    border: none;
    color: #48322a;
    padding: 3px 10px 3px;
    transform: translateY(-2px);
    margin-top: 9px;
}

.footer__bnr.sp .footer__bnr__bottom li:nth-of-type(1) {
    margin-right: 0;
}

.footer__bnr.sp {
    background: rgba(0, 0, 0, .5);
}

.footer__bnr.sp .footer__bnr__bottom ul {
    column-gap: 5px;
}

.footer__bnr.sp .footer__bnr__bottom li:last-child {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 0;
    width: 40px;
    background-color: #06c755;
}

.footer__bnr.sp .footer__bnr__bottom li:last-child a {
    font-size: 11px;
}

#footerBnrBottom.footer__bnr__bottom li:last-child a {
    color: #fff !important;
    font-weight: 600;
}

#footerBnrBottom.footer__bnr__bottom li:last-child a img {
    width: 20px;
}

#footerBnrBottom.footer__bnr__bottom li:last-child a p {
    position: relative;
    line-height: 22px;
    height: 22px;
    padding-left: 25px;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url(../img/index/renewal/__icon_line.svg);
    background-size: 22px;
}

.scrolled .webIcon {
    display: none !important;
}


/*-------- splash --------*/

#splash {
    position: fixed;
    width: 100%;
    height: 100svh;
    z-index: 999;
    background: #fff;
    text-align: center;
    color: #fff;
}

#splash_logo {
    position: absolute;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

@media screen and (min-width: 768px) {
    #splash_logo {
        width: 60%;
    }
}

/*-------- custom --------*/

#main {
    font-size: 13px;
}

@media screen and (min-width: 768px) {
    #main {
        font-size: 15px;
    }
}

.scroll_bar {
    position: absolute;
    left: 8px !important;
    bottom: 100px;
    z-index: 1;
    overflow: hidden;
    color: #48322a;
    font-size: 8px;
    line-height: 1;
    letter-spacing: .05rem;
    writing-mode: vertical-rl;
    height: 100px;
    padding-left: 5px;
    font-family: "futura-pt", 'Avenir', sans-serif;
}

@media screen and (min-width: 768px) {
    .scroll_bar {
        left: 20px;
        bottom: 0;
    }
}

.scroll_bar::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 100px;
    background: #48322a;
}

.scroll_bar::after {
    animation: sdl 2s ease infinite;
}

/*-------- mainvisual --------*/

.__mainvisual {
    width: 100%;
    height: calc(100svh - 70px);
    aspect-ratio: auto;
    overflow: hidden;
    position: relative;
}

@media screen and (min-width: 768px) {
    .__mainvisual {
        height: calc(100svh - 100px);
        height: 100svh;
    }
}

.__mainvisual .__para {
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/main-sp.jpg);
    background-size: cover;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__para {
        background-image: url(../img/index/renewal/main-pc2.jpg);
    }
}

.__mainvisual.__ver2 .__para {
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-position: center top;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/main2-sp.jpg);
    background-size: cover;
}

@media screen and (min-width: 768px) {
    .__mainvisual.__ver2 .__para {
        background-image: url(../img/index/renewal/main2-pc2.jpg);
    }
}

.__mainvisual .__para .__love {
    position: absolute;
    left: 5%;
    top: 24%;
    width: 90%;
    height: auto;
    aspect-ratio: 700 / 316;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__para .__love {
        left: 27%;
        top: 13%;
        width: 46%;
    }
}

.__mainvisual.__ver2 .__para .__love {
    position: absolute;
    left: 5%;
    top: 9%;
    width: 75%;
    height: auto;
    aspect-ratio: 700 / 316;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    overflow: hidden;
}

@media screen and (min-width: 768px) {
    .__mainvisual.__ver2 .__para .__love {
        left: 6%;
        top: 10%;
        width: 46%;
    }
}


.__mainvisual .__para .__love svg {
    width: 100%;
}

#mask .st0 {
    fill: none;
    stroke: #fff;
    stroke-width: 50;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    stroke-dasharray: 1500;
    stroke-dashoffset: 1500
}

.__mainvisual .__fvMenu {
    position: absolute;
    bottom: 20px;
    left: 2%;
    width: 96%;
    height: auto;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__fvMenu {
        bottom: 40px;
        left: 10%;
        width: 80%;
    }
}

.__mainvisual .__fvMenu ul {
    width: 100%;
    height: auto;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    align-items: stretch;
}

.__mainvisual .__fvMenu ul li {
    width: 100%;
    height: auto;
    border-right: 1px solid #47382A;
}

.__mainvisual .__fvMenu ul li:last-child {
    border-right: none;
}

.__mainvisual .__fvMenu ul li a {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    background-position: center bottom 5px;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-size: 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding-top: 8px;
    padding-bottom: 30px;
    /*-webkit-transition: background-image .6s;
	-ms-transition: background-image .6s;
	transition: background-image .6s;*/
}

@media screen and (min-width: 768px) {
    .__mainvisual .__fvMenu ul li a {
        background-position: center bottom 12px;
        background-size: 20px;
        padding-top: 12px;
        padding-bottom: 48px;
    }
}

.__mainvisual .__fvMenu ul li a:hover {
    background-image: url(../img/index/renewal/arrow-white.svg);
}

.__mainvisual .__fvMenu ul li a p {
    display: block;
    font-size: .9em;
    line-height: 1.5em;
    font-weight: 600;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__fvMenu ul li a p {
        font-size: 1.2em;
        line-height: 1em;
    }
}

.__mainvisual .__fvMenu ul li:nth-child(2) a p {
    letter-spacing: -.05em;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__fvMenu ul li:nth-child(2) a p {
        letter-spacing: 0;
    }
}

.__mainvisual .__fvMenu ul li a small {
    display: block;
    margin-top: 8px;
    font-size: .6em;
    line-height: 1em;
}

@media screen and (min-width: 768px) {
    .__mainvisual .__fvMenu ul li a small {
        font-size: .7em;
    }
}


/*-------- fvCTA --------*/

.__fvCTA {
    width: 100%;
    height: 70px;
}

@media screen and (min-width: 768px) {
    .__fvCTA {
        display: none;
        height: 100px;
    }
}

.__fvCTA a {
    width: 100%;
    height: 100%;
    background-color: #47382A;
    background-position: right 5% center;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/arrow-white.svg);
    background-size: 25px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    -webkit-transition: background-color .6s;
    -ms-transition: background-color .6s;
    transition: background-color .6s;
}

@media screen and (min-width: 768px) {
    .__fvCTA a {
        height: 100px;
        background-position: left calc(50% + 120px) center;
    }
}

.__fvCTA a:hover {
    background-color: #5F4E3D;
}

.__fvCTA a p {
    display: block;
    color: #fff;
    font-size: 1.2em;
    line-height: 1em;
}

@media screen and (min-width: 768px) {
    .__fvCTA a p {
        font-size: 1.4em;
    }
}

.__fvCTA a small {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    margin-top: 8px;
    padding: 0 30px;
    color: #47382A;
    background: #fff;
    line-height: 20px;
    font-weight: 600;
    border-radius: 10px;
    -webkit-border-radius: 10px;
}

@media screen and (min-width: 768px) {
    .__fvCTA a small {
        margin-top: 13px;
    }
}


/*-------- special --------*/

.__special {
    width: 100%;
    height: 70px;
}

@media screen and (min-width: 768px) {
    .__special {
        height: 100px;
    }
}

.__special a {
    width: 100%;
    height: 100%;
    background-color: #fff;
    background-position: right calc(5% + 5px) center;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-size: 15px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__special a {
        height: 100px;
        background-position: left calc(50% + 17em) center;
    }
}

.__special a p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1em;
    line-height: 1.5em;
}

@media screen and (min-width: 768px) {
    .__special a p {
        font-size: 1em;
        line-height: 1em;
    }
}

.__special a p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__special a:hover p::after {
        transform: scale(1, 1);
    }
}

/*-------- fair --------*/

.__fair {
    position: relative;
    background: #ECEAE9;
    padding: 45px 0;
    text-align: center;
}

.__fair::before {
    box-sizing: border-box;
    content: '';
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #fff;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 768px) {
    .__fair {
        padding: 55px 0;
    }
}

.__fair h3 {
    font-size: 1.8em;
    color: #000;
}

@media screen and (min-width: 768px) {
    .__fair h3 {
        font-size: 2em;
    }
}

.__fair p.__jp {
    margin-top: 5px;
    font-size: .8em;
    color: #000;
}

.__fair .__banner {
    width: 90%;
    margin: auto;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 40px;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

@media screen and (min-width: 768px) {
    .__fair .__banner {
        margin-top: 50px;
        width: 70%;
        flex-wrap: nowrap;
    }
}

.__fair .__banner a {
    display: block;
    margin: auto;
}

@media screen and (max-width: 768px) {
    .__fair .__banner a:first-child {
        margin-bottom: 30px;
    }
}

.__fair .__banner a img {
    width: 100%;
    transition: transform .6s ease;
    border-radius: 2px;
    -webkit-border-radius: 2px;
    vertical-align: bottom;
}

.__fair .__banner a:hover img {
    transform: scale(1.05);
}

.__fair a.__Link {
    margin-top: 40px;
    display: block;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__fair a.__Link {
        margin-top: 50px;
    }
}

.__fair a.__Link p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1.2em;
    line-height: 1em;
}

.__fair a.__Link p:before {
    vertical-align: bottom;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    margin-right: .5em;
}

@media screen and (min-width: 768px) {
    .__fair a.__Link p:before {
        width: 15px;
        height: 15px;
    }
}

.__fair a.__Link p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__fair a.__Link:hover p::after {
        transform: scale(1, 1);
    }
}

/*-------- area --------*/

.__area {
    position: relative;
    padding: 45px 0;
    text-align: center;
}

.__area::before {
    box-sizing: border-box;
    content: '';
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #ECEAE9;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 768px) {
    .__area {
        padding: 55px 0;
    }
}

.__area h3 {
    font-size: 1.8em;
    color: #000;
}

@media screen and (min-width: 768px) {
    .__area h3 {
        font-size: 2em;
    }
}

.__area p.__jp {
    margin-top: 5px;
    font-size: .8em;
    color: #000;
}

.__area .__banners {
    margin: auto;
    margin-top: 40px;
    width: 90%;
}

@media screen and (min-width: 768px) {
    .__area .__banners {
        margin-top: 60px;
        width: 70%;
    }
}

.__area .__banners p.__lead {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2em;
}

.__area .__banners p.__lead.__jp {
    margin-top: 20px;
}

@media screen and (min-width: 768px) {
    .__area .__banners p.__lead.__jp {
        margin-top: 50px;
    }
}

.__area .__banners p.__lead::before,
.__area .__banners p.__lead::after {
    background-color: #000;
    content: "";
    height: 1px;
    width: 25px;
}

.__area .__banners p.__lead::before {
    margin-right: 12px;
}

.__area .__banners p.__lead::after {
    margin-left: 12px;
}

.__area .__banner.__global {
    margin: auto;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    column-gap: 10px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .__area .__banner.__global {
        margin-top: 30px;
        column-gap: 3%;
    }
}

.__area .__banner.__global a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    overflow: hidden;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

.__area .__banner.__japan {
    margin: auto;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
    column-gap: 10px;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .__area .__banner.__japan {
        margin-top: 30px;
        flex-direction: row;
        column-gap: 1px;
    }
}

.__area .__banner.__japan a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    overflow: hidden;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

.__area .__banner a picture {}

.__area .__banner a picture img {
    width: 100%;
    height: auto;
    transition: transform .6s ease;
    vertical-align: bottom;
}

.__area .__banner a:hover picture img {
    transform: scale(1.1);
}

.__area .__banner a .__text {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.__area .__banner a .__text p {
    color: #fff;
    line-height: 1em;
}

.__area .__banner a .__text p:first-child {
    font-size: 1.6em;
}

@media screen and (min-width: 768px) {
    .__area .__banner a .__text p:first-child {
        font-size: 2em;
    }
}

.__area .__banner a .__text p:last-child {
    margin-top: 5px;
    font-size: 1.3em;
    font-weight: 600;
    padding-bottom: 30px;
    background-image: url(../img/index/renewal/arrow-white.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 18px;
}

@media screen and (min-width: 768px) {
    .__area .__banner a .__text p:last-child {
        font-size: 1.3em;
        padding-bottom: 40px;
        background-size: 22px;
    }
}

.__area a.__Link {
    margin-top: 40px;
    display: block;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__area a.__Link {
        margin-top: 50px;
    }
}

.__area a.__Link p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1.2em;
    line-height: 1em;
}

.__area a.__Link p:before {
    vertical-align: bottom;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    margin-right: .5em;
}

@media screen and (min-width: 768px) {
    .__area a.__Link p:before {
        width: 15px;
        height: 15px;
    }
}

.__area a.__Link p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__area a.__Link:hover p::after {
        transform: scale(1, 1);
    }
}

/*-------- counter --------*/

.__counter {
    position: relative;
    background: #ECEAE9;
    padding: 45px 0;
    text-align: center;
}

.__counter::before {
    box-sizing: border-box;
    content: '';
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #fff;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 768px) {
    .__counter {
        padding: 55px 0;
    }
}

.__counter h3 {
    font-size: 1.8em;
    color: #000;
}

@media screen and (min-width: 768px) {
    .__counter h3 {
        font-size: 2em;
    }
}

.__counter p.__jp {
    margin-top: 5px;
    font-size: .8em;
    color: #000;
}

.__counter p.__lead {
    margin-top: 28px;
    font-size: 1em;
    line-height: 1.6em;
    color: #000;
}

.__counter .__banner {
    position: relative;
    width: 100%;
    margin: auto;
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    column-gap: 40px;
}

@media screen and (min-width: 768px) {
    .__counter .__banner {
        margin-top: 50px;
    }
}

.__counter .__banner ._scroll {
    width: 100%;
    position: absolute;
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

_:-ms-lang(x)::-ms-backdrop,
.__counter .__banner ._scroll .d-demo {
    display: -ms-grid;
    overflow: hidden;
}

.__counter .__banner ._scroll .d-demo__wrap {
    display: flex;
    overflow: hidden;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

.__counter .__banner ._scroll .d-demo__list {
    display: flex;
    list-style: none;
}

.__counter .__banner ._scroll .d-demo__list--left {
    animation: infinity-scroll-left 60s infinite linear 1s both;
}

@media screen and (min-width: 768px) {
    .__counter .__banner ._scroll .d-demo__list--left {
        animation: infinity-scroll-left 120s infinite linear 1s both;
    }
}

.__counter .__banner ._scroll .d-demo__item {
    width: 20vw;
}

@media screen and (min-width: 768px) {
    .__counter .__banner ._scroll .d-demo__item {
        width: 10vw;
    }
}

.__counter .__banner ._scroll .d-demo__item>img {
    width: 100%;
    height: 100%;
}

.__counter .__banner img.__map {
    display: block;
    width: 80%;
    margin: auto;
    z-index: 1;
}

@media screen and (min-width: 768px) {
    .__counter .__banner img.__map {
        width: 35%;
    }
}

.__counter a.__Link {
    margin-top: 20px;
    display: block;
    text-align: center;
}

.__counter a.__Link p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1.2em;
    line-height: 1em;
}

.__counter a.__Link p:before {
    vertical-align: bottom;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    margin-right: .5em;
}

@media screen and (min-width: 768px) {
    .__counter a.__Link p:before {
        width: 15px;
        height: 15px;
    }
}

.__counter a.__Link p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__counter a.__Link:hover p::after {
        transform: scale(1, 1);
    }
}


/*-------- cta2 --------*/

.__CTA2 {
    width: 100%;
    padding: 40px 0;
}

.__CTA2 p.__lead {
    text-align: center;
    font-size: 1em;
    line-height: 1.6em;
    color: #000;
}

.__CTA2 a {
    width: 80%;
    height: 90px;
    margin: auto;
    margin-top: 25px;
    background-color: #47382A;
    background-position: right 5% center;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/arrow-white.svg);
    background-size: 25px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    -webkit-transition: background-color .6s;
    -ms-transition: background-color .6s;
    transition: background-color .6s;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

@media screen and (min-width: 768px) {
    .__CTA2 a {
        width: 30%;
        height: 100px;
        background-position: left calc(50% + 120px) center;
    }
}

.__CTA2 a:hover {
    background-color: #5F4E3D;
}

.__CTA2 a p {
    display: block;
    color: #fff;
    font-size: 1.2em;
    line-height: 1em;
}

@media screen and (min-width: 768px) {
    .__CTA2 a p {
        font-size: 1.4em;
    }
}

.__CTA2 a small {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 20px;
    margin-top: 8px;
    padding: 0 10px;
    color: #47382A;
    background: #fff;
    line-height: 20px;
    font-weight: 600;
    border-radius: 10px;
    -webkit-border-radius: 10px;
}

@media screen and (min-width: 768px) {
    .__CTA2 a small {
        margin-top: 13px;
    }
}

/*-------- resortwedding --------*/

.__mag {
    position: relative;
    width: 100%;
    aspect-ratio: 375 / 510;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__mag {
        aspect-ratio: 128 / 50;
    }
}

.__mag .__para {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 103%;
}

@media screen and (min-width: 768px) {
    .__mag .__para {
        background-size: 108%;
    }
}

.__mag.__resortwedding .__para {
    background-image: url(../img/index/renewal/resortwedding_sp.jpg);
}

.__mag.__step .__para {
    background-image: url(../img/index/renewal/step_sp.jpg);
}

.__mag.__about .__para {
    background-image: url(../img/index/renewal/about_sp.jpg);
}

@media screen and (min-width: 768px) {
    .__mag.__resortwedding .__para {
        background-image: url(../img/index/renewal/resortwedding_pc.jpg);
    }

    .__mag.__step .__para {
        background-image: url(../img/index/renewal/step_pc.jpg);
    }

    .__mag.__about .__para {
        background-image: url(../img/index/renewal/about_pc.jpg);
    }
}

.__mag .__para a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    padding-top: 50px;
}

@media screen and (min-width: 768px) {
    .__mag .__para a {
        display: flex;
        align-items: center;
        justify-content: center;
        padding-top: 0;
    }
}

.__mag .__para a img {
    display: block;
    width: auto;
    height: 60px;
}

@media screen and (min-width: 768px) {
    .__mag .__para a img {
        margin-top: -20px;
    }
}

.__mag .__para a h3 {
    margin-top: 10px;
    font-size: 2.5em;
    line-height: 1.4em;
    letter-spacing: -.05em;
    color: #fff;
}

@media screen and (min-width: 768px) {
    .__mag .__para a h3 {
        font-size: 3em;
    }
}

.__mag.__about .__para a h3 {
    color: #000;
}

.__mag .__para a p {
    width: auto;
    height: 40px;
    margin-top: 25px;
    padding: 0 40px;
    background-color: #fff;
    background-position: right 5% center;
    background-repeat: no-repeat;
    background-image: url(../img/index/renewal/arrow-white.svg);
    background-size: 15px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    -webkit-transition: background-color .6s;
    -ms-transition: background-color .6s;
    transition: background-color .6s;
    border-radius: 20px;
    -webkit-border-radius: 20px;
    color: #000;
    font-size: 1em;
    line-height: 40px;
}

@media screen and (min-width: 768px) {
    .__mag .__para a p {
        margin-top: 35px;
        height: 50px;
        line-height: 50px;
        border-radius: 25px;
        -webkit-border-radius: 25px;
    }
}

.__mag .__para a:hover p {
    background-color: #47382A;
    background-image: url(../img/index/renewal/arrow-white.svg);
    color: #fff;
}


/*-------- report --------*/

.__report {
    position: relative;
    padding: 45px 0;
    text-align: center;
}

.__report::before {
    box-sizing: border-box;
    content: '';
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #ECEAE9;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 2;
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 768px) {
    .__report {
        padding: 55px 0;
    }
}

.__report h3 {
    font-size: 1.8em;
    color: #000;
}

@media screen and (min-width: 768px) {
    .__report h3 {
        font-size: 2em;
    }
}

.__report p.__jp {
    margin-top: 5px;
    font-size: .8em;
    color: #000;
}

.__report p.__lead {
    margin-top: 28px;
    font-size: 1em;
    line-height: 1.6em;
    color: #000;
}

.__report .__banner {
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: column;
    width: 100%;
}

@media screen and (min-width: 768px) {
    .__report .__banner {
        margin-top: 10px;
        flex-direction: row;
    }
}

.__report .__banner .swiper {
    width: 100%;
    height: auto;
}

.__report .__banner .swiper-slide {
    width: 100%;
    aspect-ratio: 4 / 5;
    padding-top: 40px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: 10px;
    opacity: 0.2;
    filter: alpha(opacity=20);
    -webkit-transition: all .6s;
    -ms-transition: all .6s;
    transition: all .6s;
}

@media screen and (min-width: 768px) {
    .__report .__banner .swiper-slide {
        opacity: 1;
        filter: alpha(opacity=100);
    }
}

.__report .__banner .swiper-slide.swiper-slide-active {
    opacity: 1;
    filter: alpha(opacity=100);
}

.__report .__banner .swiper-slide img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    transform: scale(.85, .85);
    -webkit-transition: all .6s;
    -ms-transition: all .6s;
    transition: all .6s;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

.__report .__banner .swiper-slide.swiper-slide-active img {
    transform: scale(1, 1);
}

.__report .__banner .swiper-slide.swiper-slide-active a:hover img {
    transform: scale(1.075, 1.075);
}

.__report .__banner .swiper-slide p {
    margin-top: 10px;
    width: 100%;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    color: #000;
    font-size: 1em;
    line-height: 1.6em;
    opacity: 0;
    filter: alpha(opacity=0);
}

@media screen and (min-width: 768px) {
    .__report .__banner .swiper-slide p {
        font-size: .8em;
        opacity: 1;
        filter: alpha(opacity=100);
    }
}

.__report .__banner .swiper-slide.swiper-slide-active p {
    opacity: 1;
    filter: alpha(opacity=100);
}

.__report .__banner .swiper-button-prev,
.__report .__banner .swiper-button-next {
    top: 47%;
}

@media screen and (min-width: 768px) {
    .__report .__banner .swiper-button-prev {
        left: 16%;
    }

    .__report .__banner .swiper-button-next {
        right: 16%;
    }
}


.__report .__banner .swiper-button-prev:after,
.__report .__banner .swiper-button-next:after {
    content: "";
    width: 1rem;
    height: 1rem;
    border: 0;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.__report .__banner .swiper-button-prev:before {
    border-bottom: 20px solid transparent;
    border-right: 30px solid #000;
    border-top: 20px solid transparent;
}

.__report .__banner .swiper-button-prev:after {
    transform: rotate(-135deg);
}

.__report .__banner .swiper-button-next:before {
    border-bottom: 20px solid transparent;
    border-left: 1px solid #000;
    border-top: 20px solid transparent;
}

.__report .__banner .swiper-button-next:after {
    transform: rotate(45deg);
}

.__report a.__Link {
    margin-top: 20px;
    display: block;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__report a.__Link {
        margin-top: 30px;
    }
}

.__report a.__Link p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1.2em;
    line-height: 1em;
}

.__report a.__Link p:before {
    vertical-align: bottom;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    margin-right: .5em;
}

@media screen and (min-width: 768px) {
    .__report a.__Link p:before {
        width: 15px;
        height: 15px;
    }
}

.__report a.__Link p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__report a.__Link:hover p::after {
        transform: scale(1, 1);
    }
}

/*-------- news --------*/

.__news {
    position: relative;
    background: #ECEAE9;
    padding: 45px 0;
    text-align: center;
}

.__news::before {
    box-sizing: border-box;
    content: '';
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    border: 1px solid #fff;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 1;
    pointer-events: none;
    cursor: default;
}

@media screen and (min-width: 768px) {
    .__news {
        padding: 55px 0;
    }
}

.__news h3 {
    font-size: 1.8em;
    color: #000;
}

@media screen and (min-width: 768px) {
    .__news h3 {
        font-size: 2em;
    }
}

.__news p.__jp {
    margin-top: 5px;
    font-size: .8em;
    color: #000;
}

.__news .__banner {
    width: 90%;
    margin: auto;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    row-gap: 10px;
}

@media screen and (min-width: 768px) {
    .__news .__banner {
        width: 70%;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: nowrap;
        column-gap: 40px;
    }
}

.__news .__banner .__right {
    display: contents;
}

@media screen and (min-width: 768px) {
    .__news .__banner .__right {
        width: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        row-gap: 15px;
    }
}

.__news .__banner .__box {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .__news .__banner .__box {
        width: 50%;
    }
}

@media screen and (min-width: 768px) {
    .__news .__banner .__right .__box {
        width: 100%;
    }
}

.__news .__banner .__box a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: row;
    column-gap: 15px;
}

@media screen and (min-width: 768px) {
    .__news .__banner .__box a {
        flex-direction: column;
        column-gap: 25px;
    }
}

@media screen and (min-width: 768px) {
    .__news .__banner .__right .__box a {
        flex-direction: row;
    }
}

.__news .__banner .__box a img {
    width: 33%;
    height: auto;
    display: block;
    border-radius: 2px;
    -webkit-border-radius: 2px;
}

@media screen and (min-width: 768px) {
    .__news .__banner .__box a img {
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .__news .__banner .__right .__box a img {
        width: 30%;
    }
}

.__news .__banner .__box a .__newsText {
    width: 67%;
    height: auto;
    display: flex;
    flex-direction: column;
    row-gap: 10px;
}

@media screen and (min-width: 768px) {
    .__news .__banner .__box a .__newsText {
        margin-top: 20px;
        width: 100%;
    }
}

@media screen and (min-width: 768px) {
    .__news .__banner .__right .__box a .__newsText {
        margin-top: 0;
    }
}

.__news .__banner .__box a .__newsText p {
    row-gap: 10px;
    text-align: left;
    line-height: 1.5em;
    font-size: .9em;
}

.__news .__banner .__box a .__newsText p:last-child {
    font-size: .8em;
}

.__news .__banner .__box a .__newsText p:last-child span {
    color: #DEAC4E;
    font-weight: 600;
}






.__news a.__Link {
    margin-top: 40px;
    display: block;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .__news a.__Link {
        margin-top: 50px;
    }
}

.__news a.__Link p {
    display: inline-block;
    position: relative;
    color: #47382A;
    font-size: 1.2em;
    line-height: 1em;
}

.__news a.__Link p:before {
    vertical-align: bottom;
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url(../img/index/renewal/arrow-brown.svg);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
    margin-right: .5em;
}

@media screen and (min-width: 768px) {
    .__news a.__Link p:before {
        width: 15px;
        height: 15px;
    }
}

.__news a.__Link p::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 1px;
    background: #000;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: left top;
    transition: transform 0.3s;
}

@media screen and (min-width: 768px) {
    .__news a.__Link:hover p::after {
        transform: scale(1, 1);
    }
}