@charset "utf-8";

/*================================
	Layout, Elements
================================*/
.clearfix:after,
input[type=text],
input[type=password],
input[type=tel],
input[type=url],
input[type=email],
input[type=file],
input[type=image],
input[type=number],
input[type=range],
input[type=color],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=time],
input[type=search],
select,
textarea {
    display: block
}

blockquote,
body,
button,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
select,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0
}

a,
a:active,
a:hover,
a:link,
a:visited {
    text-decoration: none;
    outline: 0
}

li,
ul {
    list-style: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

caption,
th {
    text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: inherit
}

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

* {
    color: #555555;
    font-size: 1.4rem;
    box-sizing: border-box;
    letter-spacing: .1rem;
    line-height: 1.6;
    border-radius: 0
}

html {
    font-size: 10px;
    background: #FFF;
    height: 100%
}

body {
    font-family: Avenir, "Helvetica Neue", Helvetica, Arial, Roboto, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    min-height: 100vh;
    display: flex;
    display: -webkit-flex;
    flex-direction: column;
    -webkit-flex-direction: column
}

button,
input[type=submit],
input[type=reset],
input[type=search],
input[type=button],
select,
textarea {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-weight: inherit;
    outline: 0;
    border: 1px solid #333;
    background-color: #FFF
}

button,
input[type=submit],
input[type=reset],
input[type=file],
input[type=color],
input[type=button] {
    cursor: pointer
}

input[type=file],
input[type=image],
input[type=color] {
    border: none;
    background-color: transparent
}

select {
    text-indent: .01px;
    text-overflow: '';
    background-position: 100% center;
    background-repeat: no-repeat;
    padding: 0 20px 0 10px
}

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

textarea {
    overflow: auto;
    resize: vertical
}

canvas,
iframe,
img,
svg,
video {
    border: 0;
    max-width: 100%;
    display: block
}

@media screen and (max-width: 480px) {
    * {
        font-size: 1.3rem
    }

    input,
    select,
    textarea {
        font-size: 1.6rem
    }

    input[type=checkbox]:checked {
        background-color: #3B99FC
    }

    input[type=radio] {
        border-radius: 1rem
    }

    input[type=radio]:checked {
        background-color: #3B99FC;
        border-radius: 1rem
    }
}

body {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
    line-height: 2em;
    letter-spacing: .5px;
    font-size: 10px;
}

.gothic {
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    line-height: 2em;
    letter-spacing: .5px;
}

.cormorant-unicase-regular {
    font-family: "Cormorant Unicase", serif;
    font-weight: 400;
    font-style: normal;
}

.cormorant-garamond-regular {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-style: normal;
}

.cormorant-garamond-regular-italic {
    font-family: "Cormorant Garamond", serif;
    font-weight: 400;
    font-style: italic;
}

html {
    font-size: 10px;
    scroll-behavior: smooth;
}

main {
    overflow: hidden;
    position: relative;
    z-index: 1;
}

body,
html {
    background-color: #FCFAF2;
}

html.noscroll,
body.noscroll {
    overflow: hidden;
}

img {
    height: auto;
}

.animated {
    opacity: 0;
}

.fadeInUp {
    opacity: 1;
}

.bar_effect1 .active span:nth-of-type(1) {
    -webkit-transform: translateY(12px) rotate(-45deg);
    transform: translateY(12px) rotate(-45deg);
    background: #fff !important;
}

.bar_effect1 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect1 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
    background: #fff !important;
}

.bar_effect2 .active span:nth-of-type(1) {
    -webkit-transform: translateY(17px) rotate(-315deg);
    transform: translateY(17px) rotate(-315deg);
    background: #fff !important;
}

.bar_effect2 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect2 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-4px) rotate(315deg);
    transform: translateY(-4px) rotate(315deg);
    background: #fff !important;
}

.bar_effect3 .active {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
}

.bar_effect3 .active span:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg);
}

.bar_effect3 .active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}

.bar_effect3 .active span:nth-of-type(3) {
    opacity: 0;
}

.bar_effect4 span:nth-of-type(3),
.bar_effect4 .active span:nth-of-type(3) {
    transition: none;
}

.bar_effect4 .active {
    -webkit-transform: rotateX(720deg);
    transform: rotateX(720deg);
}

.bar_effect4 .active span:nth-of-type(1) {
    -webkit-transform: translateY(11px) rotate(-45deg);
    transform: translateY(11px) rotate(-45deg);
}

.bar_effect4 .active span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
}

.bar_effect4 .active span:nth-of-type(3) {
    opacity: 0;
}

.bar_effect5 span:nth-of-type(1) {
    -webkit-animation: menu-bar01 .75s forwards;
    animation: menu-bar01 .75s forwards;
}

@-webkit-keyframes menu-bar01 {
    0% {
        -webkit-transform: translateY(12px) rotate(45deg);
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar01 {
    0% {
        transform: translateY(12px) rotate(45deg);
    }

    50% {
        transform: translateY(12px) rotate(0);
    }

    100% {
        transform: translateY(0) rotate(0);
    }
}

.bar_effect5 span:nth-of-type(2) {
    transition: all .25s .25s;
    opacity: 1;
}

.bar_effect5 span:nth-of-type(3) {
    -webkit-animation: menu-bar02 .75s forwards;
    animation: menu-bar02 .75s forwards;
}

@-webkit-keyframes menu-bar02 {
    0% {
        -webkit-transform: translateY(-12px) rotate(-45deg);
    }

    50% {
        -webkit-transform: translateY(-12px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(0) rotate(0);
    }
}

@keyframes menu-bar02 {
    0% {
        transform: translateY(-12px) rotate(-45deg);
    }

    50% {
        transform: translateY(-12px) rotate(0);
    }

    100% {
        transform: translateY(0) rotate(0);
    }
}

.bar_effect5 .active span:nth-of-type(1) {
    -webkit-animation: active-menu-bar01 .75s forwards;
    animation: active-menu-bar01 .75s forwards;
}

@-webkit-keyframes active-menu-bar01 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }

    50% {
        -webkit-transform: translateY(12px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(12px) rotate(45deg);
    }
}

@keyframes active-menu-bar01 {
    0% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(12px) rotate(0);
    }

    100% {
        transform: translateY(12px) rotate(45deg);
    }
}

.bar_effect5 .active span:nth-of-type(2) {
    opacity: 0;
}

.bar_effect5 .active span:nth-of-type(3) {
    -webkit-animation: active-menu-bar03 .75s forwards;
    animation: active-menu-bar03 .75s forwards;
}

@-webkit-keyframes active-menu-bar03 {
    0% {
        -webkit-transform: translateY(0) rotate(0);
    }

    50% {
        -webkit-transform: translateY(-10px) rotate(0);
    }

    100% {
        -webkit-transform: translateY(-10px) rotate(-45deg);
    }
}

@keyframes active-menu-bar03 {
    0% {
        transform: translateY(0) rotate(0);
    }

    50% {
        transform: translateY(-10px) rotate(0);
    }

    100% {
        transform: translateY(-10px) rotate(-45deg);
    }
}

.bar_effect6 .active span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
}

.bar_effect6 .active span:nth-of-type(2) {
    left: 200%;
    opacity: 0;
    -webkit-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-animation: active-menu-bar02 .8s forwards;
    animation: active-menu-bar02 .8s forwards;
}

@-webkit-keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

@keyframes active-menu-bar02 {
    100% {
        height: 0;
    }
}

.bar_effect6 .active span:nth-of-type(3) {
    -webkit-transform: translateY(-13px) rotate(45deg);
    transform: translateY(-13px) rotate(45deg);
}

.slick-arrow {
    font-size: 0;
    border: none;
    background-color: transparent;
    position: absolute;
    z-index: 2;
}

.slick-arrow:before {
    content: '';
    background-image: url(../img/arrow.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 30px;
    height: 30px;
    display: block;
}

.slick-prev.slick-arrow:before {
    transform: rotate(-180deg);
}

.scroll_signal {
    width: 1px;
    height: 65px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    opacity: .65;
}

.scroll_signal span {
    position: absolute;
    left: -3px;
    right: 0;
    top: 0;
    margin: auto;
    width: 7px;
    height: 7px;
    background-color: #FFFFFF;
    border-radius: 10px;
    animation: scroll-signal 1.8s forwards infinite;
}

@-webkit-keyframes scroll-signal {
    0% {
        top: 0;
        opacity: 1;
    }

    100% {
        top: 105%;
        opacity: .6;
    }
}

@keyframes scroll-signal {
    0% {
        top: 0;
        opacity: 1;
    }

    100% {
        top: 105%;
        opacity: .6;
    }
}

body {
    position: relative;
    min-width: 1220px;
}

body::before {}

select {
    background-color: transparent;
    border: 1px solid #BCB9AE;
    padding-right: 50px;
    font-size: 12px;
    padding: 7px 10px;
    padding-right: 50px;
    /* background-image: url(../img/arrow_bottom.png); */
    background-size: 10px;
    background-position: 95% center;
}

::placeholder {
    color: #9D9D9D;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    font-weight: 500;
}

#wrapper {
    min-width: 1220px;
}

.sp {
    display: none !important;
}

.pc {
    display: block;
}

a {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

#header {
    transition: all .8s;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 50px 50px 0;
    position: fixed;
    width: 100%;
    z-index: 100;
    min-width: 1180px;
}


#header .triger_wrap {
    display: flex;
    width: 75px;
    height: 75px;
    position: static;
    right: 40px;
    top: 43px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    cursor: pointer;
    transition: all .3s;
    z-index: 1000;
    order: 4;
}

.triger_wrap .menu-trigger {
    transition: all .3s;
}

.triger_wrap .menu-trigger {
    display: block;
    position: relative;
    width: 75px;
    height: 70px;
}

.mobilenav {
    display: none;
    position: fixed;
    top: 0;
    left: auto;
    right: 0;
    width: 100%;
    z-index: 80;
    height: 100vh;
    background-color: #D8D5D1;
    width: 100%;
    padding: 0px 0px 0px 0px;
}

.mobilenav.is-show {
    display: block;
    overflow: auto;
    /* IE,Edge */
    -ms-overflow-style: none;
    /* Firefox */
    scrollbar-width: none;
}

/* Chrome,Safari */

.mobilenav.is-show:-webkit-scrollbar {
    display: none
}

.mobilenav .wrap {
    position: absolute;
    left: auto;
    right: calc((100% - 1200px) / 2 + 50px);
    display: flex;
    top: 0;
    bottom: 0;
    margin: auto;
    align-items: center;
}

.mobilenav .wrap h3 {
    position: relative;
}

.mobilenav .wrap h3 span {
    color: #B2A390;
    display: block;
}

.mobilenav .wrap h3 .en {
    font-size: 2rem;
    position: relative;
    padding-bottom: 5px;
}

.mobilenav .wrap h3:before {
    content: '';
    width: calc(100% - 13px);
    height: 1px;
    background-color: #B2A390;
    position: absolute;
    top: calc(50% + 1px);
}

.mobilenav .wrap h3:after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: #B2A390;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
}

.mobilenav .wrap h3 .ja {
    font-size: 1.3rem;
}

.mobilenav .wrap .g_collection_box {
    margin-right: 75px;
    margin-top: 0px;
}

.mobilenav .wrap ul li {
    margin-bottom: 20px;
    width: 180px;
    height: 60px;
    page-break-inside: avoid;
    break-inside: avoid;
}

.mobilenav .wrap ul li a {
    position: relative;
    display: block;
}

.mobilenav .wrap ul li a:before {
    content: '';
    width: calc(100% - 13px);
    height: 1px;
    background-color: #AFAEAE;
    position: absolute;
    top: calc(50% + 1px);
}

.mobilenav .wrap ul li a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: #AFAEAE;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
}

.mobilenav .wrap ul li span {
    display: block;
    color: #555555;
}

.mobilenav .wrap ul li .en {
    font-size: 1.8rem;
    padding-bottom: 7px;
}

.mobilenav .wrap ul li .ja {
    font-size: 1.3rem;
}

.g_collection_list {
    padding-left: 44px;
    margin-top: 20px;
}

.g_page_list {
    columns: 2;
    column-gap: 75px;
    width: 423px;
}

.g_page_list li {
    display: inline-block;
}

.g_page_list .g_photo_wedding {
    margin-top: 79px;
}

#header .triger_wrap span {
    background-color: #F7F4E9;
    height: 2px;
    width: 30px;
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    margin: auto;
    transition: all .4s;
}

#header .triger_wrap span:nth-of-type(1) {
    top: 26px;
}

#header .triger_wrap span:nth-of-type(2) {
    top: 40px;
}

#header .triger_wrap.active span:nth-of-type(1),
#header .triger_wrap.active span:nth-of-type(2) {
    width: 21px;
}

#header .triger_wrap.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    right: 0px;
    top: 29px;
}

#header .triger_wrap.active span:nth-of-type(2) {
    transform: rotate(45deg);
    right: 0px;
    top: 29px;
}

#header .triger_wrap.active span:nth-of-type(3) {
    opacity: 0;
    top: 29px;
    width: 0;
    /* display: none; */
}

#header .triger_wrap.active span {
    background-color: #555555;
}

.header_reservation_btn {
    position: fixed;
    z-index: 101;
    top: 135px;
    right: 60px;
}

.header_reservation_btn button {
    border: none;
    background-color: transparent;
    font-size: 1.4rem;
    color: #F7F4E9;
    letter-spacing: 1.5px;
    transition: all .3s;
    display: block;
    text-align: right;
}

.header_sns {
    position: fixed;
    right: 60px;
    top: 200px;
    text-align: right;
    z-index: 15;
}

#header.color .header_sns i {
    color: #000;
}

.header_sns i {
    color: #F7F4E9;
    font-size: 1.9rem;
    transition: all .3s;
}

.mobilenav .reservation_btns li {
    margin-right: 0;
    /* margin-right: 5px; */
    margin-bottom: 5px;
}

.mobilenav .reservation_btns {
    margin-top: 30px;
}

.mobilenav .reservation_btns a {
    color: #F7F4E9;
    background-color: #907416;
    width: 100%;
    /* width: 152px; */
    /* margin-right: 5px; */
}

.mobilenav .reservation_btns a i {
    color: #F7F4E9;
}

.mobilenav .general_info {
    margin-top: 20px;
}

.mobilenav .general_info .tel a {
    color: #907416;
}

.mobilenav .general_info .opentime {
    color: #907416;
}

#header .top_nav {
    position: static;
    z-index: 102;
    top: 64px;
    left: 0;
    right: 0;
    margin: 0 auto;
    margin-right: 140px;
    display: flex;
    margin: 0;
    width: 100%;
}

#header .top_nav .logo {
    /* position: absolute; */
    position: static;
    top: 65px;
    left: 65px;
    right: 0;
    /* margin: auto; */
    text-align: center;
    width: 171px;
    height: 14px;
    margin-right: 40px;
    margin-top: 2px;
}

#header .top_nav .logo a {
    display: block;
}

#header .top_nav .logo svg {
    display: inline-block;
    transition: all .3s;
}

#header .top_nav .logo svg.color {
    fill: #454545;
}

#header .top_nav ul {
    display: flex;
    width: 100%;
    justify-content: flex-end;
}

#header .top_nav ul * {
    color: #454545;
}

#header .top_nav ul li {
    margin: 0 15px;
}

#header .top_nav ul li:nth-child(5) {
    /* margin-left: auto; */
}

#header .top_nav ul li:first-child {
    margin-left: 0;
}

#header .top_nav ul li:last-child {
    margin-right: 0;
}

#header .top_nav a {
    font-size: 1.4rem;
    color: #fff;
    white-space: nowrap;
    transition: all .3s;
}

#header .top_nav a.is-show {
    text-decoration: underline;
}

#header .top_nav a i {
    font-size: 1.5rem;
    /* color: #fff; */
    color: inherit;
    transition: all .3s;
}

.is-nav-open-header #header {
    background-color: transparent !important;
}

.is-black-header #header .top_nav * {
    color: #000;
}

.is-black-header #header .top_nav .logo svg * {
    fill: #000;
}

.is-black-header #header .menu-trigger span {
    background-color: #000;
}

.is-black-header #header .header_other * {
    color: #000;
}

.is-nav-open-header #header .top_nav * {
    color: #fff !important;
}

.is-nav-open-header #header .top_nav .logo svg * {
    fill: #fff;
}
.is-nav-open-header #header .header_other a {
    color: #fff!important;
}

.is-nav-open-header #header .menu-trigger span {
    background-color: #fff!important;
}

#header.scrollheader_change {
    background-color: #F0EDE9;
    padding-top: 15px;
    padding-bottom: 15px;
}

#header.scrollheader_change .top_nav a {
    color: #555555;
}

#header.scrollheader_change .logo svg * {
    fill: #555555;
}

#header.scrollheader_change .top_nav a i {
    color: #555555;
}

.header_nav_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 90;
    display: none;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
    background-color: #000;
}

.menu_overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}

.menu_collection {
    background-image: url(../img/col_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center right;
}

.menu_collection>.inner {
    max-width: 1020px;
    margin: 0 auto;
    display: flex;
    /* flex-wrap: wrap; */
    height: 100%;
    /* align-items: center; */
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 1;
    height: 500px;
}

.menu_collection>.inner>.dress_archives_wrap {
    width: 100%;
    columns: 3;
    page-break-inside: avoid;
    break-inside: avoid;
    column-gap: 0;
    max-width: 744px;
    margin-right: 80px;
}

.menu_collection>.inner>.dress_archives_wrap>* {
    page-break-inside: avoid;
    break-inside: avoid;
}

.menu_collection>.inner .heading {
    background: #EBE7E2;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.menu_collection>.inner .col a {
    display: block;
    position: relative;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

.menu_collection>.inner .col a img {
    position: absolute;
    object-fit: cover;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.menu_collection>.inner .col a p {
    color: #fff;
    position: relative;
    font-size: 1.6rem;
    letter-spacing: 2px;
}

.menu_collection>.inner .col a p.ja {
    font-size: 1.3rem;
    margin-top: 5px;
}

.menu_collection>.inner .brands_list_wrap * {
    color: #fff;
}

.menu_collection>.inner .brands_list_wrap h3 {
    font-size: 1.6rem;
    margin-bottom: 25px;
    letter-spacing: 2px;
}

.menu_collection>.inner .brands_list_wrap li {
    margin-bottom: 10px;
}

.menu_collection>.inner .brands_list_wrap a {
    text-decoration: underline;
    font-size: 1.6rem;
    letter-spacing: 2px;
    transition: all .3s;
}

.menu_collection>.inner .brands_list_wrap a:hover {
    opacity: .6;
}

.menu_shop {
    background-image: url(../img/shop_bg.jpg);
}

.menu_reservation {
    background-image: url(../img/reservation_bg.jpg);
    background-position: left bottom;
}

.menu_shop .shop_head {
    margin-top: auto;
    width: 299px;
}

.menu_shop .inner {
    display: flex;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
    z-index: 1;
    position: relative;
    position: absolute;
    top: 52%;
    left: 0;
    right: 0;
}

.shop_area_list_wrap {
    width: calc(100% - 299px);
}
.g_shop_area_list {
    columns: 2;
    padding-left: 100px;
    column-gap: 60px;
    margin-top: -150px;
    page-break-inside: avoid;
    break-inside: avoid;
}

.g_shop_area_list li {
    margin-bottom: 20px;
    width: 100%;
    max-width: 307px;
    page-break-inside: avoid;
    break-inside: avoid;
}
.g_shop_area_list li:last-child {
    margin-bottom: 0;
}
.g_shop_area_list li a {
    display: block;
    position: relative;
}

.g_shop_area_list li a:before {
    content: '';
    width: calc(100% - 13px);
    height: 1px;
    background-color: #fff;
    position: absolute;
    top: calc(50% + 1px);
}

.g_shop_area_list li a:after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: #fff;
    position: absolute;
    top: calc(50% - 1px);
    right: 0;
}

.g_shop_area_list li a span {
    color: #fff;
    display: block;
    font-size: 2rem;
}

.g_shop_area_list li a .ja {
    font-size: 1.3rem;
    margin-top: 7px;
}

.resort_pdf_btn {
    text-align: right;
    margin-top: 40px;
    /* margin-right: 30px; */
}
.resort_pdf_btn a {
    background: #fff;
    display: inline-block;
    padding: 17px 0px;
    color: #778665;
    font-size: 1.3rem;
    font-weight: 600;
    letter-spacing: 1px;
    max-width: 307px;
    text-align: center;
    width: 100%;
    transition: all .3s;
}
.resort_pdf_btn a:hover {
    opacity: .7;
}
.resort_pdf_btn a i {
    margin-right: 5px;
    font-size: 1.6rem;
    color: inherit;
}

.mobilenav .wrap h3 .en {
    font-size: 1.8rem;
}

.mobilenav .wrap h3 .ja {
    font-size: 1.3rem;
}

.menu_reservation .inner {
    right: calc((100% - 1100px) / 2);
    position: absolute;
    bottom: 30px;
    left: auto;
    z-index: 1;
    width: 430px;
}

.menu_reservation .inner * {
    color: #fff;
}

.menu_reservation .inner .en {
    font-size: 2.5rem;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.menu_reservation .inner h2 {
    font-size: 1.5rem;
    padding-bottom: 20px;
    margin-bottom: 20px;
    position: relative;
}

.menu_reservation .inner h2:before {
    content: '';
    width: calc(100% - 13px);
    height: 1px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
}

.menu_reservation .inner h2:after {
    content: '';
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background-color: #fff;
    position: absolute;
    bottom: -2px;
    right: 0;
}

.menu_reservation .inner .text {
    font-size: 1.3rem;
}

.menu_reservation .inner .reservation_area {
    margin-top: 30px
}

.menu_reservation .inner .reservation_area h3 {
    display: none;
}

.reservation_area h3 {
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.menu_reservation .inner .reservation_area .box_wrap {
    columns: 1;
}

.menu_reservation .inner .reservation_area .box_wrap .box {
    margin-bottom: 30px;
}

.menu_reservation .inner .reservation_area .box_wrap .box .text br {
    display: none;
}

.reservation_area .box_wrap {
    margin-top: 10px;
    /* columns: 2; */
    column-gap: 30px;
}

.reservation_area .box_wrap>.box {
    page-break-inside: avoid;
    break-inside: avoid;
    width: 100%;
}

.reservation_area .box h4 {
    font-size: 1.2rem;
    margin-bottom: 10px;
}

.reservation_area .box .office {
    font-size: 1.3rem;
    margin-bottom: 5px;
}

.reservation_area .box .tel a {
    font-size: 2rem;
    letter-spacing: 2.5px;
}

.reservation_area .box .open {
    font-size: 1.2rem;
    letter-spacing: 0.5px;
    margin-top: 5px;
}

.reservation_area .box .text {
    font-size: 1.2rem;
    margin-bottom: 15px;
}

.reservation_area .box .page_link a {
    text-decoration: underline;
    font-size: 1.3rem;
}

#header.is-color .top_nav * {
    color: #555555;
}
#header.is-color .header_other a {
    color: #555555;
}
#header.is-color .logo svg * {
    fill: #555555;
}

#footer {
    background-color: #B2987B;
    padding: 80px 0 60px;
    position: relative;
    z-index: 1;
}

#footer .logo {
    text-align: center;
    margin-bottom: 60px;
}

#footer .logo a {
    display: inline-block;
}

#footer .inner {
    display: flex;
    max-width: 1180px;
    padding: 0 40px;
    margin: 0 auto;
}

#footer * {
    color: #fff;
}

#footer .sitemap {
    display: flex;
    /* padding-right: 20px; */
    border-right: 1px solid #CEBFAE;
    margin-right: 80px;
}

#footer .sitemap>.box {
    margin-right: 70px;
    page-break-inside: avoid;
    break-inside: avoid;
}
}

#footer .sitemap>.box:last-of-type {
    margin-right: 10px;
}

#footer .sitemap>.box h3 {
    font-size: 1.4rem;
    margin-bottom: 10px;
}

#footer .sitemap .link {
    margin-bottom: 10px;
}

#footer .sitemap .child {
    margin-bottom: 5px;
}

#footer .sitemap .box .link:last-of-type {
    margin-bottom: 0;
}

#footer .sitemap .link a {
    font-size: 1.4rem;
    letter-spacing: 1.5px;
    white-space: nowrap;
}

#footer .sitemap .link.child a {
    font-size: 1.2rem;
    padding-left: 15px;
}

#footer small {
    color: #fff;
    text-align: center;
    display: block;
    font-size: 1.4rem;
    margin-top: 60px;
}

.reservation_btns {
    /* display: flex;
    	flex-wrap: wrap; */
}

.reservation_btns li {
    margin-right: 10px;
    margin-bottom: 10px;
}

.reservation_btns li:nth-child(2n) {
    margin-right: 0;
}

.reservation_btns a {
    width: 243px;
    font-size: 1.3rem;
    color: #6A665F;
    background-color: #F7F4E9;
    padding: 15px 15px;
    text-align: center;
    display: block;
    letter-spacing: 1.5px;
    transition: all .2s;
}

.reservation_btns a:hover {
    transform: scale(1.02);
    opacity: .7;
}

.reservation_btns a i {
    margin-right: 5px;
    color: inherit;
}

.breadcrunp {
    background-color: #F7F4E9;
    position: relative;
    z-index: 1;
}

.breadcrunp .breadcrumb__list {
    max-width: 1200px;
    margin: 0 auto;
    padding: 8px 0;
    display: flex;
    align-items: center;
}

.breadcrunp .breadcrumb__list li {
    font-size: 12px;
    padding-right: 10px;
}

.breadcrunp .breadcrumb__list li:after {
    content: '>';
    color: #A39175;
    font-size: 12px;
    margin-left: 4px;
}

.breadcrunp .breadcrumb__list li:last-child:after {
    content: none;
}

.breadcrunp .breadcrumb__list span {
    color: #555555;
    font-size: 12px;
}

.btn_viewmore a,
.btn_viewmore button {
    color: #907416;
    display: inline-block;
    position: relative;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-right: 60px;
    font-size: 1.5rem;
    margin-bottom: 5px;
    letter-spacing: 1px;
    background-color: transparent;
    border: none;
    text-align: left;
    transition: all .3s;
}

.btn_viewmore a::before,
.btn_viewmore button::before {
    content: '';
    width: 27px;
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 12px;
    background-color: #907416;
    margin: auto;
}

.btn_viewmore a::after,
.btn_viewmore button::after {
    content: '';
    width: 7px;
    height: 7px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-color: #907416;
    border-radius: 10px;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.btn_viewmore a:hover,
.btn_viewmore button:hover {
    opacity: .8;
}

.btn_viewmore.white a,
.btn_viewmore.white button {
    color: #fff;
}

.btn_viewmore.white a::before,
.btn_viewmore.white a::after,
.btn_viewmore.white button::before,
.btn_viewmore.white button::after {
    background-color: #fff;
}

.btn_viewmore a:hover:before,
.btn_viewmore button:hover:before {
    -webkit-animation: btn-anim-line .6s ease 5s forwards;
    animation: btn-anim-line .6s ease .4s forwards;
    animation-delay: .6s;
}

.btn_viewmore a:hover:after,
.btn_viewmore button:hover:after {
    -webkit-animation: btn-anim-circle .4s ease .4s forwards;
    animation: btn-anim-circle .4s ease .4s forwards;
}

@keyframes btn-anim-line {
    0% {
        width: 0;
    }

    100% {
        width: 27px;
    }
}

@-webkit-keyframes btn-anim-line {
    0% {
        width: 0;
    }

    100% {
        width: 27px;
    }
}

@keyframes btn-anim-circle {
    0% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

@-webkit-keyframes btn-anim-circle {
    0% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

main .text {
    font-size: 1.3rem;
    line-height: 2.3em;
    letter-spacing: .07rem;
    margin-bottom: 20px;
    text-align: left;
    color: #555555;
}

.page_head {
    margin-top: 180px;
    margin-bottom: 80px;
}

.page_head * {
    text-align: center;
}

.page_head .en {
    color: #6A665F;
    font-size: 3rem;
    letter-spacing: 1px;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.page_head h1 {
    font-size: 12px;
    letter-spacing: 1px;
}

main .page_cover img {
    width: 100%;
}

.wp-pagenavi {
    text-align: center;
    margin-bottom: 100px;
    margin-top: 50px;
}

.wp-pagenavi * {
    font-size: 13px;
}

.wp-pagenavi>* {
    margin: 0 6px;
    padding: 0 3px 3px;
}

.wp-pagenavi .current {
    position: relative;
}

.wp-pagenavi .current::after {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #000000;
}

.previouspostslink,
.nextpostslink {
    font-size: 0;
    width: 13px;
    height: 13px;
    display: inline-block;
}

.previouspostslink:before,
.nextpostslink:before {
    content: '';
    width: 6px;
    height: 6px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    display: block;
}

.previouspostslink:before {
    transform: rotate(-135deg);
}

.nextpostslink:before {
    transform: rotate(45deg);
    margin-bottom: 2px;
}

#nav_overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 7;
    background-color: #000;
    opacity: .6;
}

#header .header_other {
    z-index: 81;
    text-align: right;
    position: relative;
    margin-right: 11px;
}

#header .header_other button {
    background: unset;
    border: none;
    color: #fff;
    font-size: 1.2rem;
}

#header .header_other a {
    background: unset;
    border: none;
    color: #fff;
    font-size: 1.1rem;
    transition: all .3s;
}

#header .header_other a.is-show {
    text-decoration: underline;
    color: #fff;
}

#header .header_other .sns {
    text-align: right;
    margin-top: 5px;
}

#header .header_other .sns a {
    color: #fff;
}

#header .header_other i {
    color: inherit;
    font-size: 1.6rem;
}


.faq_list li {
    margin-bottom: 30px;
}

.faq_list li .q {
    position: relative;
    cursor: pointer;
    transition: all .3s;
}

.faq_list li .q:hover {
    opacity: .7;
}

.faq_list li .q:before {
    content: '';
    width: 15px;
    height: 1px;
    background-color: #B2987B;
    position: absolute;
    right: 10px;
    top: 31px;
    /* bottom: 0; */
    margin: auto;
}

.faq_list li .q:after {
    content: '';
    width: 1px;
    height: 15px;
    background-color: #B2987B;
    position: absolute;
    right: 17px;
    top: 24px;
    /* bottom: 0; */
    margin: auto;
}

.faq_list li .q.is-open:after {
    opacity: 0;
}

.faq_list li .q h3 {
    font-size: 1.5rem;
    letter-spacing: 2px;
    padding-left: 45px;
    position: relative;
    border-bottom: 1px solid #BCC1B3;
    padding-bottom: 20px;
    padding-right: 40px;
    padding-top: 20px;
}

.faq_list li .q h3:before {
    content: 'Q';
    font-size: 3rem;
    color: #555555;
    position: absolute;
    left: 5px;
    top: 13px;
    line-height: 1em;
    margin: auto;
    height: 37px;
}

.faq_list li .answer {
    position: relative;
    padding-left: 45px;
    padding-top: 25px;
    display: none;
}

.faq_list li .answer:before {
    content: 'A';
    font-size: 3rem;
    color: #555555;
    position: absolute;
    left: 5px;
    top: 24px;
    line-height: 1em;
}

.faq_list li .answer p {
    font-size: 1.3rem;
    line-height: 2em;
}

.faq_list li .answer p a {
    text-decoration: underline;
    font-size: inherit;
    color: inherit;
}

.g_fixed_btns {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 5;
    display: flex;
}

.g_fixed_btns>.btn {
    margin-left: 10px;
    margin-bottom: 0;
    transition: all .5s;
    opacity: 0;
}

.g_fixed_btns>.btn.is-show {
    opacity: 1;
}

.g_fixed_btns a {
    width: 320px;
    background-color: #F0EDE9;
    border: 1px solid #D0C0AE;
    color: #7e6d58;
    padding: 25px 20px;
    font-size: 1.6rem;
    text-align: center;
}

.g_fixed_btns a:before {
    right: 28px;
    background-color: #B2A390;
}

.g_fixed_btns a:after {
    right: 15px;
    background-color: #B2A390;
}

/*---------------------------------------------------------------*\
	$930px
\*---------------------------------------------------------------*/
@media screen and (max-width: 1250px) {
    #header .top_nav ul {
        /* display: none; */
    }
}

/*---------------------------------------------------------------*\
	$736px
\*---------------------------------------------------------------*/

@media screen and (max-width: 736px) {

    #header {
        padding: 0px 0 0px 20px;
        min-width: unset;
    }

    body {
        min-width: unset;
    }

    #wrapper {
        min-width: unset;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    a,
    button {
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
        cursor: pointer;
    }

    #header .triger_wrap {
        display: flex;
        width: 55px;
        height: 55px;
        /* position: fixed; */
        /* right: 10px; */
        /* top: 3px; */
        align-items: center;
        justify-content: center;
        flex-direction: column;
        cursor: pointer;
        transition: all .3s;
        z-index: 1000;
    }

    .triger_wrap .menu-trigger {
        transition: all .3s;
    }

    .triger_wrap .menu-trigger {
        display: block;
        position: relative;
        width: 55px;
        height: 55px;
    }

    .mobilenav {
        display: none;
        width: 100%;
        overflow: auto;
        padding-bottom: 100px;
        padding: 100px 40px 100px;
    }

    .mobilenav.is-show {
        display: block;
    }

    .mobilenav .wrap {
        flex-direction: column;
        width: 100%;
        position: static;
        padding-top: 0;
    }

    .g_page_list {
        columns: unset;
        width: 100%;
    }

    .mobilenav .wrap .g_collection_box {
        width: 100%;
        margin-top: 0;
        margin-right: 0;
    }

    .mobilenav .wrap h3 {
        margin-bottom: 13px;
        color: #555555;
    }

    .mobilenav .wrap h3 span {
        color: #555555;
    }

    .mobilenav .wrap h3:before,
    .mobilenav .wrap h3:after {
        background-color: #AFAEAE;
    }

    .g_collection_list {
        padding-left: 25px;
    }

    #header .triger_wrap span {
        background-color: #fff;
        height: 2px;
        width: 25px;
        position: absolute;
        top: 16px;
        left: 0;
        right: 0;
        margin: auto;
        transition: all .4s;
    }

    #header .triger_wrap span:nth-of-type(1) {
        /* top: 30px; */
    }

    #header .triger_wrap span:nth-of-type(2) {
        top: 34px;
    }

    #header .triger_wrap.active span:nth-of-type(1),
    #header .triger_wrap.active span:nth-of-type(2) {
        width: 21px;
        /* right: 8px; */
        /* transform: rotate(-68deg); */
    }

    #header .triger_wrap.active span:nth-of-type(1) {
        transform: rotate(-45deg);
        right: 0px;
        top: 28px;
    }

    #header .triger_wrap.active span:nth-of-type(2) {
        transform: rotate(45deg);
        right: 0px;
        top: 28px;
        /* width: 21px; */
    }

    #header .triger_wrap span:nth-of-type(3) {
        /* display: none; */
        top: 18px;
    }

    #header .triger_wrap.active span:nth-of-type(3) {
        opacity: 0;
        top: 30px;
        width: 0;
        /* display: none; */
    }

    #header .triger_wrap.active span,
    #header .triger_wrap.color span {
        background-color: #484848;
    }

    .header_fair_btn {
        position: fixed;
        z-index: 101;
        top: 75px;
        right: 20px;
    }

    .header_reservation_btn {
        position: fixed;
        z-index: 101;
        top: 75px;
        right: 25px;
    }

    .header_reservation_btn button {
        border: none;
        background-color: transparent;
        font-size: 12px;
        color: #fff;
        letter-spacing: 1px;
        transition: all .3s;
        display: block;
    }

    .header_reservation_btn button.color {
        color: #000;
    }

    #header .top_nav {
        top: 23px;
        padding: 0 0px;
    }

    #header .top_nav .logo {
        top: 20px;
        left: 20px;
        width: 128px;
        position: static;
        margin-top: 0;
    }

    #header .top_nav .logo svg path {
        transition: all .3s;
    }

    .header_sns {
        right: 23px;
        top: 130px;
        text-align: right;
        z-index: 999;
    }

    .g_page_list .g_photo_wedding {
        margin-top: 0;
    }

    .mobilenav .wrap ul li {
        margin-bottom: 13px;
    }

    .mobilenav .wrap ul li {
        width: 100%;
    }

    .menu_reservation .inner {
        width: 100%;
        left: 0;
        right: 0;
        bottom: 60px;
        padding: 0 40px;
    }

    .menu_overlay {
        opacity: .44;
        background: #000;
    }

    .menu_reservation .inner .en {
        font-size: 2rem;
    }

    .menu_reservation {
        background-image: url(../../common/img/resrvation_bg-sp.jpg);
    }

    .menu_collection {
        background-image: url(../img/col_bg-sp.jpg);
    }

    .menu_collection>.inner {
        flex-direction: column;
        padding: 0px 20px;
        position: relative;
        transform: translate(0, 0);
        top: 0;
        left: 0;
        height: 100vh;
        overflow: auto;
        padding-top: 80px;
        padding-bottom: 120px;
        justify-content: flex-start;
    }

    .menu_collection>.menu_overlay {
        /* opacity: .4; */
    }

    .menu_collection>.inner .col a p {
        font-size: 1.4rem;
    }

    .menu_collection>.inner .col a p.ja {
        font-size: 1.2rem;
    }

    .menu_collection>.inner>.dress_archives_wrap {
        columns: unset;
        /* margin-top: 160px; */
        /*margin-bottom: 40px;*/
        display: flex;
        flex-wrap: wrap;
        margin-right: 0;
        /* padding-top: 140px; */
        page-break-inside: unset;
    }

    .menu_collection>.inner>.dress_archives_wrap>* {
        width: 33%;
        height: 170px;
    }

    .menu_collection>.inner .brands_list_wrap * {
        /* color: #000; */
    }

    .menu_collection>.inner .brands_list_wrap h3 {
        margin-bottom: 10px;
    }

    .menu_collection>.inner .heading {}

    .menu_collection>.inner .brands_list_wrap .brands_list {
        columns: 2;
        margin-bottom: 60px;
    }

    .menu_collection>.inner .brands_list_wrap a {
        font-size: 1.3rem;
    }

    .mobilenav .wrap .menu_open_reservation span {
        color: #B2A390;
    }

    .mobilenav .wrap .menu_open_reservation:before,
    .mobilenav .wrap .menu_open_reservation:after {
        background-color: #B2987B;
    }

    .mobilenav .instagram {
        margin-top: 30px;
    }

    .mobilenav .instagram a {
        font-size: 1.8rem;
    }

    .mobilenav .instagram a i {
        margin-right: 7px;
        font-size: 1.8rem;
    }

    .mobilenav .instagram a:before,
    .mobilenav .instagram a:after {
        display: none;
    }

    #header.scrollheader_change {
        padding: 0px 0 0px 20px;
    }

    #header.scrollheader_change .triger_wrap span {
        background-color: #555555;
    }

    #header.scrollheader_change .sns a i {
        transition: all .3s;
    }

    #header.scrollheader_change .sns a {
        color: #555555;
    }
    #header.scrollheader_change .header_other a {
        color: #000;
    }

    .breadcrunp {
        background-color: #F7F4E9;
        width: 100%;
        overflow: auto;
        padding: 5px 0;
    }

    .breadcrunp .breadcrumb__list {
        margin: 0 auto;
        padding: 5px 20px;
        display: flex;
        align-items: center;
        width: auto;
    }

    .breadcrunp .breadcrumb__list li {
        font-size: 12px;
        padding-right: 10px;
        /* line-height: 1em; */
        white-space: nowrap;
    }

    .breadcrunp .breadcrumb__list li:after {
        content: '>';
        color: #A39175;
        font-size: 12px;
        margin-left: 4px;
    }

    .breadcrunp .breadcrumb__list li:last-child:after {
        content: none;
    }

    .breadcrunp .breadcrumb__list a {
        display: inline-block;
    }

    .breadcrunp .breadcrumb__list span {
        color: #A39175;
        font-size: 12px;
        display: inline-block;
    }

    @keyframes line-anim {
        0% {
            width: 0%;
        }

        60% {
            width: 100%;
        }

        100% {
            width: 100%;
        }
    }

    @-webkit-keyframes line-anim {
        0% {
            width: 0%;
        }

        60% {
            width: 100%;
        }

        100% {
            width: 100%;
        }
    }

    main .page_head {
        margin-top: 145px;
        margin-bottom: 50px;
        position: relative;
    }

    main .page_head * {
        text-align: center;
    }

    main .page_head .en {
        font-size: 2.5rem;
        line-height: 3rem;
        margin-bottom: 10px;
    }

    main .page_head h1 {
        font-size: 1.3rem;
        letter-spacing: 1px;
    }

    main .page_cover img {
        width: 100%;
    }

    .wp-pagenavi {
        text-align: center;
        margin-bottom: 100px;
        margin-top: 50px;
    }

    .wp-pagenavi * {
        font-size: 13px;
    }

    .wp-pagenavi>* {
        margin: 0 6px;
        padding: 0 3px 3px;
    }

    .wp-pagenavi .current {
        position: relative;
    }

    .wp-pagenavi .current::after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #000000;
    }

    .previouspostslink,
    .nextpostslink {
        font-size: 0;
        width: 13px;
        height: 13px;
        display: inline-block;
    }

    .previouspostslink:before,
    .nextpostslink:before {
        content: '';
        width: 6px;
        height: 6px;
        border-top: 1px solid #000;
        border-right: 1px solid #000;
        display: block;
    }

    .previouspostslink:before {
        transform: rotate(-135deg);
    }

    .nextpostslink:before {
        transform: rotate(45deg);
        margin-bottom: 2px;
    }

    .reservation_area h3 {
        border-bottom: 1px solid #CEBFAE;
        padding-bottom: 10px;
        font-size: 1.4rem;
    }

    .reservation_area .box_wrap {
        columns: unset;
    }

    .reservation_area .box_wrap .box {
        margin-bottom: 30px;
    }

    .reservation_area .box h4 {
        font-size: 1.3rem;
        margin-bottom: 5px;
    }

    /* footer */

    #footer:after {}

    #footer>.inner {
        flex-direction: column;
    }

    #footer>.inner .sitemap {
        order: 2;
        flex-direction: column;
        border: none;
        margin-right: 0;
        padding-right: 0;
        margin-top: 0px;
    }

    #footer .sitemap>.box #footer .sitemap .link {
        width: 100%;
    }

    #footer .sitemap .link a {
        padding: 14px 0 8px;
        display: block;
        width: 100%;
        border-bottom: 1px solid #CEBFAE;
        position: relative;
    }

    #footer .sitemap>.box {
        margin: 0 auto;
        width: 100%;
    }

    #footer .sitemap>.box h3 {
        padding: 14px 0 8px;
        border-bottom: 1px solid #CEBFAE;
        /* margin-top: 10px; */
    }

    #footer .sitemap>.box h3.child-open {
        position: relative;
    }

    #footer .sitemap>.box h3.child-open:before,
    #footer .sitemap>.box h3.child-open:after {
        content: '';
        width: 15px;
        height: 1px;
        position: absolute;
        background-color: #D0C0AE;
        position: absolute;
        top: 7px;
        bottom: 0;
        margin: auto;
        right: 3px;
    }

    #footer .sitemap>.box h3.child-open:before {}

    #footer .sitemap>.box h3.child-open:after {
        transform: rotate(90deg);
    }

    #footer .sitemap>.box h3.child-open.is-child-open:after {
        opacity: 0;
    }

    .child-sp {
        display: none;
    }

    #footer .sitemap .link.child a {
        padding-left: 0;
        margin-left: 20px;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
        width: calc(100% - 20px);
        padding-top: 2px;
        margin-top: 8px;
    }

    #footer .sitemap .link {
        width: 100%;
    }

    #footer .sitemap .box .link:last-of-type {
        margin-bottom: 10px;
    }

    #footer .sitemap .link.small a {
        border: none;
        padding: 0;
        margin-top: 15px;
    }

    #footer .sitemap .link.link_recruit {
        margin-top: 30px;
    }

    #footer .sitemap .link a:before {
        content: '';
    }

    #footer .sitemap .link a:before {
        content: '';
        width: 20px;
        height: 1px;
        background-color: #CEBFAE;
        position: absolute;
        top: calc(50% + 1px);
        left: auto;
        right: 9px;
    }

    #footer .sitemap .link a:after {
        content: '';
        width: 5px;
        height: 5px;
        border-radius: 100%;
        background-color: #CEBFAE;
        position: absolute;
        top: calc(50% - 1px);
        right: 0;
    }

    #footer .sitemap .link.small a:before,
    #footer .sitemap .link.small a:after {
        display: none;
    }

    .faq_list li {
        margin-bottom: 30px;
    }

    .faq_list li .q h3 {
        padding-left: 60px;
        font-size: 1.3rem;
        padding-right: 45px;
    }

    .faq_list li .q h3:before {
        left: 20px;
        font-size: 2.4rem;
        top: 16px;
    }

    .faq_list li .answer {
        padding-right: 40px;
        padding-left: 60px;
        font-size: 1.3rem;
    }

    .faq_list li .answer:before {
        left: 24px;
        font-size: 2.4rem;
    }

    .faq_list li .q:before {
        right: 20px;
    }

    .faq_list li .q:after {
        right: 27px;
    }

    .g_fixed_btns {
        width: 100%;
        left: 0;
        right: 0;
        justify-content: space-between;
        padding: 0 10px;
        bottom: 10px;
    }

    .g_fixed_btns>.btn {
        width: 49.5%;
        margin: 0;
    }

    .g_fixed_btns a {
        width: 100%;
		padding: 15px 20px;
		font-size: 1.4rem;
    }

    .g_fixed_btns .btn a:before {
        width: 10px;
        right: 20px;
    }

    .g_fixed_btns .btn a:after {
        right: 10px;
    }
}