/* @charset "UTF-8";

/* 基本
--------------------------------*/
html,
body {
    height: 100%;
}

html {
    font-size: 62.5%;
    overflow-y: scroll;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form,
figure {
    margin: 0;
    padding: 0;
    border: none;
    line-height: 100%;
    list-style-type: none;
    font-style: normal;
    font-weight: 400;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: left;
    color: #3e3a39;
    font-size: 1.6rem;
    line-height: 1.875;
}

input,
button,
textarea,
select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: 'Noto Sans JP', sans-serif;
    color: #3e3a39;
    font-size: 1.6rem;
    line-height: 1.875;
}

textarea {
    resize: vertical;
}

select::-ms-expand {
    display: none;
}

body a {
    text-decoration: none;
    color: #3e3a39;
}

area {
    border: none;
    outline: none;
}

img {
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}

*,
*:after,
*:before {
    box-sizing: border-box;
}

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
}

@media screen and (min-width: 769px) {
    body {
        min-width: 960px;
    }

    #contents {
        overflow-x: hidden;
    }
}

@media screen and (max-width: 768px) {
    #contents {
        overflow-x: hidden;
    }

    img {
        width: 100%;
    }

    p,
    dt,
    dd,
    li,
    th,
    td,
    input,
    button,
    textarea,
    select {
        font-size: 3.7vw;
        line-height: 1.428;
    }
}

/* responsive
--------------------------------*/
@media screen and (min-width: 769px) {
    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 768px) {
    .pc {
        display: none !important;
    }
}

/* hover
--------------------------------*/
@media screen and (min-width: 769px) {

    .fade:hover,
    a:hover img {
        opacity: 0.7;
    }

    .fade,
    a img {
        outline: 1px solid transparent;
        transition: opacity 0.3s;
    }
}

/* common
--------------------------------*/
section {
    padding: 9rem 0;
}

.wrap {
    max-width: 1025px;
    margin: 0 auto;
}

.aligncenter {
    display: block;
    margin: 0 auto;
}

.alignright {
    float: right;
}

.alignleft {
    float: left;
}

.tac {
    text-align: center;
}

.tar {
    text-align: right;
}

.tal {
    text-align: left;
}

.flex {
    display: flex;
    justify-content: space-between;
}

.medium {
    font-weight: 500;
}

.semibold {
    font-weight: 600;
}

.bold {
    font-weight: 700;
}

.mont,
.mont * {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: .1em;
}

.min,
.min * {
    font-family: 'Noto Serif JP', serif;
}

.old,
.old * {
    font-family: 'Old Standard TT', serif;
}

.yellow {
    color: #bdb775 !important;
}

.blue {
    color: #86a5af !important;
}

.gray {
    color: #9fa0a0 !important;
}

.purple {
    color: #a590b2 !important;
}

.green {
    color: #7da37b !important;
}

.pink {
    color: #d699b5 !important;
}

.white {
    color: white !important;
}

.gold {
    color: #A4925D !important;
}

.yokohama_font_color {
    color: #AA9AB1 !important;
}

.takanawa_font_color {
    color: #86A5AF !important;
}

.yokohama_bg_color {
    background-color: #BAAAC4 !important;
}

.takanawa_bg_color {
    background-color: #9EBBC4 !important;
}

@media screen and (max-width: 768px) {
    section {
        padding: 20vw 0;
    }

    .wrap {
        min-width: auto;
        max-width: 100%;
        width: 90%;
        margin: 0 auto;
    }

    .spmax {
        width: 111% !important;
        margin-left: -5.5%;
    }
}

/* loading
--------------------------------*/
#loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

#loading .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 1;
}

#loading .logo {
    width: 265px;
    opacity: 0;
    z-index: 2;
    position: relative;
}

#loading.active .logo {
    animation: loading .8s ease-out .3s forwards;
}

#loading.active .logo img {
    vertical-align: sub;
}

@keyframes loading {
    0% {
        opacity: 0;
    }

    20% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    #loading .logo {
        width: 35%;
    }

    #loading .logo img {
        vertical-align: sub;
        height: 20vw;
    }
}

/* ---------------------------------------------
  header
-----------------------------------------------*/
header {
    border-bottom: 1px solid #A4925D;
    background: #fff;
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 80rem;
}

header .wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

header .logo {
    width: 18rem;
    line-height: 0;
    text-align: center;
}

header .logo img {
    margin-top: 1px;
    min-width: 15rem;
}

header .logo_sub {
    margin-top: 0.5px;
    display: inline-block;
    color: #3E3A39;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 400;
    font-size: 1.2rem;
    line-height: 2rem;
    letter-spacing: 0.2em;
}

header .nav_info {
    width: 100px;
    text-align: center;
}

header .global_navi_main {
    height: 6rem;
    margin-left: 3rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

header .global_navi_main li + li {
    margin-left: 3rem;
}

header .global_navi_main li a {
    line-height: 15px;
    display: flex;
    align-items: center;
    content: center;
    width: auto;
    height: 6rem;
    position: relative;
    letter-spacing: 0 !important;
    box-sizing: border-box;
    display: grid;
    place-items: center;
    color: #4C4C4C;
}

header .global_navi_main li a .nav_en,
header .global_navi_main li a .nav_ja {
    grid-area: 1 / 1;
    width: 100%;
    transition: opacity 0.3s ease;
    text-align: center;
    line-height: 1.375
}

header .global_navi_main li a .nav_en {
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    white-space: nowrap;
    opacity: 1;
}

header .global_navi_main li a .nav_ja {
    font-size: 10px;
    white-space: nowrap;
    opacity: 0;
}

header .global_navi_main li a:hover .nav_en {
    opacity: 0;
}

header .global_navi_main li a:hover .nav_ja {
    opacity: 1;
}

header .global_navi_main li a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 0;
    height: 3px;
    background: #9fa0a0;
    transition: .3s;
}

header .global_navi_main.takanawa li a::before {
    background: #86A5AF;
}

header .global_navi_main li.current a::before,
header .global_navi_main li a:hover::before {
    width: 100%;
}

header .global_navi_main .global_navi_milk {
    position: relative;
}

header .global_navi_main .global_navi_milk .dropdown_link {
    display: none;
    position: absolute;
    top: 100%;
    left: -45px;
    width: 200px;
    height: 182px;
    z-index: 10;
    background: #E6E6E6;
    flex-direction: column;
    justify-content: space-evenly;
}

header .global_navi_main .global_navi_milk .dropdown_link li {
    margin-left: 3rem;
}

header .global_navi_main .global_navi_milk .dropdown_link li a {
    display: flex;
    height: auto;
    padding: 0;
    font-size: 10px;
    line-height: 12px;
    letter-spacing: 0.05em;
}

header .global_navi_main .global_navi_milk .dropdown_link li a::before {
    content: none;
}

header .global_navi_main .global_navi_milk .dropdown_link .item_number {
    font-size: 10px;
    line-height: 12px;
    color: #86A5AF;
    margin-right: 1rem;
}

header .global_navi_main .global_navi_milk:hover .dropdown_link {
    display: flex;
}

header .global_navi_main .global_navi_milk .dropdown_link li a:hover {
    color: #86A5AF;
}

@media screen and (max-width: 768px) {
    header {
        min-width: auto;
        min-width: initial;
    }

    header.menu_open {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
    }

    header .wrap {
        padding: 2.5% 0 3.5%;
        padding: 20px 0 20px;
        position: relative;
        width: 100%;
        height: 51px;
    }

    header .logo {
        width: 150px;
        margin: 0 auto;
    }

    header .menu-trigger {
        position: absolute;
        top: 50%;
        right: 5%;
        width: 10vw;
        height: 40px;
        transform: translateY(-50%);
    }

    header .menu-trigger span {
        position: absolute;
        left: 0;
        right: 0;
        margin: 0 auto;
        height: 2px;
        width: 4vw;
        background: #A4925D;
    }

    header .menu-trigger span:nth-child(1) {
        top: 38%;
    }

    header .menu-trigger span:nth-child(2) {
        bottom: 38%;
    }

    header.menu_open .menu-trigger span:nth-child(1) {
        top: 50%;
        transform: translateY(-50%) rotate(-135deg);
    }

    header.menu_open .menu-trigger span:nth-child(2) {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%) rotate(135deg);
    }

    header .global_navi {
        position: absolute;
        top: 51px;
        right: -100vw;
        width: 100vw;
        height: calc(100vh - 51px);
        padding: 3vh 3vw;
        background: #E6E6E6;
        transition: right .7s ease-in-out;
        overflow-y: scroll;
        z-index: 100;
    }

    header.menu_open .global_navi {
        right: 0;
    }

    header .global_navi_main {
        height: auto;
        margin-left: 3vw;
        align-items: flex-start;
        flex-direction: column;
    }

    header .global_navi_main li + li {
        margin-left: 0;
        margin-top: 3vh;
    }

    header .global_navi_main li a {
        font-size: 4.2vw;
        padding: 0.5vh 0;
        line-height: 1.156;
        display: block;
        height: auto;
        white-space: nowrap;
    }

    header .global_navi_main li a::before {
        display: none;
    }

    header .global_navi_main li a .nav_en {
        font-size: 4.2vw;
        font-weight: 500;
        letter-spacing: 0.05em;
    }

    header .global_navi_main li a .nav_ja {
        font-size: 3.1vw;
        opacity: 1;
        margin-left: 1rem;
        letter-spacing: 0.05em;
    }

    header .global_navi_main li a:hover .nav_en {
        opacity: 1;
    }

    header .yokohama .nav_en {
        color: #AA9AB1;
    }

    header .takanawa .nav_en {
        color: #86A5AF;
    }

    header .global_navi_sub {
        margin-top: 3vh;
        margin-left: 3vw;
    }

    header .global_navi_sub li a {
        font-size: 3.1vw;
    }

    header .global_navi_sub li + li {
        margin-top: 1.5vh;
    }

    header .global_navi_sns {
        margin-top: -4vh;
        position: absolute;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
    }

    header .global_navi_sns li {
        width: 7.2vw;
        margin-right: 7vw;
    }

    header .global_navi_sns li.youtube {
        width: 8.5vw;
    }

    header .global_navi_main .global_navi_milk {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    header .global_navi_main .accordion_button {
        width: 5vw;
        height: 5vw;
        display: grid;
        align-items: baseline;
    }

    header .global_navi_main .accordion_button svg {
        width: 4vw;
        height: 4vw;
    }

    header .global_navi_main .accordion_button.open {
        rotate: 180deg;
    }

    header .global_navi_main .accordion_content {
        margin-top: 0;
        margin-left: 4vw;
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s ease;
    }

    header .global_navi_main .accordion_content.open {
        grid-template-rows: 1fr;
    }

    header .global_navi_main .accordion_content ul {
        overflow: hidden;
    }

    header .global_navi_main .accordion_content ul li a {
        margin-top: 2vh;
        font-size: 3vw;
        letter-spacing: 0.05em;
        padding: 0;
    }

    header .global_navi_main .item_number {
        font-size: 3.2vw;
        color: #86A5AF;
        margin-right: 1rem;
    }
}

/* ---------------------------------------------
  footer
-----------------------------------------------*/
/* engraving
--------------------------------*/
#engraving .wrap {
    max-width: 1120px;
    padding: 70px 210px 75px;
    background: url(../img/common/engraving_bg.jpg) no-repeat center / cover;
}

#engraving .ttl {
    color: #3e3a39;
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.04em;
    margin-bottom: 16px;
}

#engraving .ttl img {
    display: block;
    width: 225px;
    margin: 25px auto 0;
}

#engraving .txt {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
}

#engraving .img {
    position: relative;
    box-shadow: 0px 5px 10px 0 rgba(0, 0, 0, .4);
    margin-top: 18px;
}

#engraving .img + .caption {
    text-align: right;
    font-size: 1rem;
    letter-spacing: 0.04em;
    margin-top: .75em;
}

#engraving .point {
    display: flex;
    justify-content: center;
    margin-top: 6px;
}

#engraving .point li {
    color: #ad8749;
    font-size: 1.862rem;
    line-height: 1.33;
    letter-spacing: 0.05em;
    padding: .5em .75em;
    background-color: #fff;
    border-radius: 5px;
    margin: 0 5px;
}

#engraving .note {
    font-size: 1.2rem;
    line-height: 1.66;
    letter-spacing: 0.05em;
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    #engraving .wrap {
        max-width: inherit;
        padding: 15vw 5.2vw;
        background: url(../img/common/engraving_bg_sp.jpg) no-repeat center / cover;
    }

    #engraving .ttl {
        font-size: 4vw;
        line-height: 1.5;
        margin-bottom: 6vw;
    }

    #engraving .ttl img {
        width: 46.61vw;
        margin: 6vw auto 0;
    }

    #engraving .txt {
        font-size: 3.3vw;
    }

    #engraving .img {
        box-shadow: 0px 1vw 2vw 0 rgba(0, 0, 0, .4);
        margin-top: 6vw;
    }

    #engraving .img + .caption {
        font-size: 2.6vw;
    }

    #engraving .point {
        margin-top: 3.6vw;
    }

    #engraving .point li {
        font-size: 3.6vw;
        padding: .5em .75em;
        border-radius: 1vw;
        margin: 0 .6vw;
    }

    #engraving .note {
        font-size: 3.125vw;
        line-height: 1.25;
        margin-top: 3vw;
    }
}

/* download
--------------------------------*/
#download {
    background: url(../img/common/bg3.jpg) no-repeat left top /cover;
    padding: 6rem 0;
}

#download .wrap {
    width: 550px;
}

#download .download_block {
    display: flex;
    flex-direction: row;
    justify-content: center;
}

#download .download_txt_block {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
}

#download .download_lead {
    margin-left: 1rem;
}

#download .download_lead img {
    width: 21rem;
}

#download .download_lead_txt div {
    font-weight: 500;
    font-size: 22px;
    color: #3E3A39;
}

#download .download_lead_txt div:nth-child(2) {
    margin-top: -1rem;
}

#download .download_underline {
    position: relative;
    display: inline-block;
}

.download_underline::after {
    content: "";
    position: absolute;
    left: 0.2em;
    right: 0.3em;
    bottom: 0;
    height: 2px;
    background: #BFB38E;
}

#download .download_cnts {
    width: 415px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}

#download .download_txt_item {
    width: 24%;
    aspect-ratio: 1/1;
    background: #fff;
    border-radius: 50%;
    align-content: center;
    position: relative;
    text-align: center;
}

#download .download_img {
    width: 200px;
    margin-left: 3rem;
}

#download .download_txt {
    text-align: center;
    white-space: nowrap;
    font-weight: 700;
    font-size: 16px;
    line-height: 20px;
    color: #3E3A39;
}

#download .download_num {
    position: absolute;
    top: -0.7rem;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    height: 2rem;
}

#download .download_app_txt {
    font-size: 1.8rem;
    line-height: 3rem;
    text-align: center;
}

#download .download_app_txt .mark {
    background: linear-gradient(transparent 60%, rgba(164, 144, 178, .4) 40%);
}

#download .download_app_list {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
}

#download .download_app_list li {
    display: flex;
    align-items: center;
    justify-content: center;
}

#download .download_app_list li + li {
    margin-left: 2rem;
}

#download .download_app_list li p {
    margin: 0 1rem;
}

#download .download_app_list .download_app_img {
    width: 148px;
}

#download .download_app_list .google .download_app_img {
    width: 185px;
}

#download .download_app_list .download_app_qr {
    width: 80px;
    padding: 5px;
    background: #fff;
}

@media screen and (max-width: 768px) {
    #download {
        padding: 10vw 0;
    }

    #download .wrap {
        width: 90%;
    }

    #download .download_block {
        justify-content: center;
    }

    #download .download_lead {
        text-align: left;
    }

    #download .download_lead img {
        width: 50vw;
    }

    #download .download_lead_txt {
        font-size: 5.2vw;
        line-height: 9vw;
    }

    #download .download_lead_txt div:nth-child(2) {
        margin-top: 0;
    }

    #download .download_underline.first {
        padding: 0 0 1vw 0;
    }

    #download .download_underline {
        padding: 1vw 0;
    }

    #download .download_underline::after {
        left: 0;
        right: 0;
    }

    #download .download_img {
        width: 35%;
        margin-left: -4%;
    }

    #download .download_cnts {
        width: 100%;
        margin: 5vw 0;
    }

    #download .download_txt_block {
        width: 65%;
        min-width: auto;
        position: relative;
        justify-content: flex-start;
    }

    #download .download_txt {
        font-size: 3.5vw;
        line-height: normal;
    }

    #download .download_app {
        display: flex;
        justify-content: center;
    }

    #download .download_app_list {
        margin-top: 0;
        width: 90%;
    }

    #download .download_app_list li {
        width: 45%;
        display: block;
    }

    #download .download_app_list li.google {
        width: 50.5%;
    }

    #download .download_app_list li + li {
        margin-left: 3%;
    }

    #download .download_app_list li p {
        margin: 0;
    }

    #download .download_app_list .download_app_img {
        width: 100%;
    }

    #download .download_app_list .google .download_app_img {
        width: 100%;
    }

    #download .download_num {
        top: -2.5vw;
        height: 5vw;
    }
}

/* access
--------------------------------*/
#access {
    padding: 15rem 0 0;
}

#access .wrap {
    max-width: 840px;
}

#access .access_flex_block {
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
}

#access .access_map {
    max-width: 475px;
    width: 51%;
}

#access .instagram_link {
    display: block;
    margin-top: 2rem;
    height: 6rem;
    outline: 1px solid #ffffff80;
    outline-offset: -5px;
    background: #A4925D;
    font-size: 1.5rem;
    line-height: 3rem;
    color: #FFFFFF;
    text-align: center;
    align-content: center;
}

#access .instagram_link img {
    height: 2.5rem;
    margin-right: 1rem;
    vertical-align: text-top;
    width: auto;
}

#access .access_map {
    width: 476px;
}

#access .yokohama_bg_color:hover {
    background-color: #9F92AA !important;
}

#access .takanawa_bg_color:hover {
    background-color: #8EA4AF !important;
}

#access .access_txt_block > * + * {
    margin-top: 25px;
}

#access .access_txt_block .maplink {
    border-bottom: 1px solid #3e3a39;
    transition: color .3s, border-color .3s;
}

#access .access_txt_block .maplink:hover {
    color: #A4925D;
    border-bottom-color: #A4925D;
}

#access .access_txt_block small {
    font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
    #access {
        padding: 16% 0 7%;
    }

    #access .wrap {
        max-width: 100%;
    }

    #access .access_flex_block {
        display: block;
        margin-top: 6%;
    }

    #access .access_map {
        max-width: 100%;
        width: 100%;
        margin: 5% 0;
    }

    #access .access_map iframe {
        width: 100%;
        height: 100%;
    }

    #access .access_txt_block {
        max-width: 100%;
        width: 100%;
    }

    #access .access_txt_block p {
        text-align: center;
    }

    #access .access_txt_block p.address {
        font-size: 3.55vw;
    }

    #access .access_txt_block small {
        font-size: 3.1vw;
    }

    #access .access_txt_block > * + * {
        margin-top: 6%;
    }

    #access .instagram_link {
        height: 15vw;
        font-size: 3.7vw;
        align-content: center;
    }

    #access .instagram_link img {
        height: 7vw;
        margin-right: 3vw;
        vertical-align: middle;
        width: auto;
    }
}

/* brand
--------------------------------*/
section#brand {
    padding-top: 0;
}

#brand .brand_lead {
    text-align: center;
    margin-top: 40px;
}

#brand .brand_note {
    font-size: 1.4rem;
    color: #949291;
    text-align: center;
    margin-top: 35px;
}

#brand .brand_logo {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 15px;
}

#brand .brand_logo li {
    line-height: 1;
}

#brand .brand_logo li + li {
    margin-left: 55px;
}

#brand .brand_logo .albion {
    width: 111px;
}

#brand .brand_logo .ignis {
    width: 108px;
}

#brand .brand_logo .elegance {
    width: 156px;
}

@media screen and (max-width: 768px) {
    section#brand {
        padding-top: 0;
        padding-bottom: 15vw;
    }

    #brand .brand_lead {
        text-align: center;
        margin-top: 7%;
    }

    #brand .brand_note {
        font-size: 3.2vw;
        text-align: center;
        margin-top: 8%;
    }

    #brand .brand_logo {
        flex-wrap: wrap;
        margin-top: 4%;
    }

    #brand .brand_logo li + li {
        margin: 0;
        cursor: pointer;
    }

    #brand .brand_logo li:hover {
        opacity: 1;
    }

    #brand .brand_logo .albion {
        width: 24vw;
    }

    #brand .brand_logo .ignis {
        width: 25vw;
        margin-left: 18vw;
    }

    #brand .brand_logo .elegance {
        width: 33.5vw;
        margin-top: 6%;
    }

    #brand .brand_logo a {
        display: block;
        cursor: pointer;
    }

    #brand .brand_logo a img {
        transition: 0s;
        cursor: pointer;
    }

    #brand .brand_logo a:hover img {
        opacity: 1;
        cursor: pointer;
    }
}

/* footer
--------------------------------*/
footer {
    padding: 20px 0 14px;
    background: #727171;
    position: relative;
}

.footer_navi {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
}

.footer_navi_site {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.footer_navi_site li + li {
    margin-left: 40px;
}

.footer_navi_site li a {
    font-size: 1.2rem;
    color: #fff;
    transition: .3s;
}

.footer_navi_site li a:hover {
    color: #A4925D;
}

.footer_navi_sns {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.footer_navi_sns li {
    width: 23px;
}

.footer_navi_sns li + li {
    margin-left: 20px;
}

.footer_navi_sns li.twitter {
    width: 22px;
}

.footer_navi_sns li.youtube {
    width: 27px;
}

.footer_navi_sns li img {
    width: 100%;
    vertical-align: middle;
}

footer .copyright {
    font-size: .9rem;
    color: #fff;
    text-align: center;
    margin-top: 10px;
}

@media screen and (min-width: 769px) {
    .pagetop {
        position: fixed;
        bottom: 50px;
        right: 50px;
    }
}

@media screen and (max-width: 768px) {
    footer {
        padding: 0 0 4%;
    }

    footer .wrap {
        padding-top: 6%;
    }

    .pagetop {
        position: static !important;
        font-size: 1.5rem;
        text-align: center;
        color: #fff;
    }

    .pagetop a {
        color: #fff;
        padding: 2.5% 0;
        display: block;
        background: #b5b5b7;
    }

    .pagetop span {
        padding-left: 6vw;
        position: relative;
    }

    .pagetop span::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 2.5vw;
        height: 2.5vw;
        margin-top: .6vw;
        transform: translateY(-50%) rotate(45deg);
        border-left: 1px solid #fff;
        border-top: 1px solid #fff;
    }

    .footer_navi {
        display: block;
    }

    .footer_navi_site {
        justify-content: space-around;
        margin-top: 6%;
        flex-wrap: wrap;
    }

    .footer_navi_site li + li {
        margin-left: 0;
    }

    .footer_navi_site li a {
        font-size: 3.1vw;
    }

    .footer_navi_sns {
        justify-content: center;
    }

    .footer_navi_sns li {
        width: 4.5vw;
    }

    .footer_#access .access_mapnavi_sns li + li {
        margin-left: 8vw;
    }

    .footer_navi_sns li.twitter {
        width: 4.5vw;
    }

    .footer_navi_sns li.youtube {
        width: 5.5vw;
    }

    footer .copyright {
        font-size: 2.6vw;
        margin-top: 7%;
    }
}

/* ---------------------------------------------
  main
-----------------------------------------------*/
header + main {
    display: block;
    margin-top: 61px;
}

@media screen and (min-width: 769px) {
    header + main {
        min-height: calc(100vh - 92px);
    }
}

@media screen and (max-width: 768px) {
    header + main {
        margin-top: 50px;
    }
}

/* ttl
--------------------------------*/
.ttltype1_container {
    text-align: center;
}

.ttltype1_wrap {
    width: 350px;
    display: inline-block;
    border-left: 1px solid #A4925D;
    border-right: 1px solid #A4925D;
}

.ttltype1 {
    text-align: center;
    font-size: 28px;
    font-weight: 300;
    line-height: 34px;
    letter-spacing: 0.1em;
    color: #A4925D;
}

.ttltype1_sub {
    text-align: center;
    font-size: 14px;
    font-weight: 300;
    line-height: 26px;
    color: #A4925D;
}

.ttltype1 .ul {
    border-bottom: 1px solid #231815;
}

.ttltype2 {
    font-size: 2.4rem;
    text-align: center;
    line-height: 1.54;
    color: #231815;
}

.ttltype3 {
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.54;
    color: #231815;
}

.ttltype4 {
    font-size: 2.2rem;
    line-height: 1.5;
    letter-spacing: .1em;
    font-weight: 500;
}

.ttltype5 {
    font-size: 2.5rem;
    line-height: 1.2;
    letter-spacing: .07em;
    font-weight: 400;
    text-align: center;
}

.ttltype5 small {
    font-size: 1.7rem;
}

.ttltype5 smaller {
    font-size: 2.1rem;
}

@media screen and (max-width: 768px) {
    .ttltype1 {
        font-size: 6.2vw;
        line-height: 1;
        font-weight: 400;
        white-space: nowrap;
    }

    .ttltype1_wrap {
        width: 72vw;
    }

    .ttltype1_sub {
        font-size: 3.7vw;
        line-height: 2;
        font-weight: 400;
    }

    .ttltype2 {
        font-size: 4.2vw;
    }

    .ttltype3 {
        font-size: 5.3vw;
    }

    .ttltype4 {
        font-size: 4.5vw;
    }
}

/* btn
--------------------------------*/
.a_link {
    font-size: 1.4rem;
    color: #3e3a39;
    text-decoration: underline;
    transition: .3s;
}

.a_link.small {
    font-size: 1.2rem;
}

.a_link.big {
    font-size: 1.6rem;
}

.a_link:hover {
    color: #A4925D !important;
}

.a_link.mobileorder:hover {
    color: #E7A9C6 !important;
}

.btntype1 {
    display: inline-block;
    padding-right: 40px;
    position: relative;
    transition: .3s;
}

.btntype1::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 35px;
    height: 10px;
    border-right: 1px solid #231815;
    border-bottom: 1px solid #231815;
    transform: translateY(-50%) skew(45deg);
    transition: .3s;
}

.btntype1:hover {
    opacity: 0.7;
}

.btntype1:hover::before {
    opacity: 0.7;
}

.btntype2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 246px;
    margin: 0 auto;
    padding: 5px 0;
    border: 1px solid #86a5af;
    position: relative;
    transition: background .3s, color 3s;
}

.btntype2::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 15px;
    width: 15px;
    height: 15px;
    transform: translateY(-50%) rotate(45deg);
    border-top: 1px solid #86a5af;
    border-right: 1px solid #86a5af;
}

.btntype2 .en {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    text-align: center;
}

.btntype2 .en strong {
    font-size: 1.2rem;
    font-weight: 400;
    color: #86a5af;
    display: block;
}

.btntype2 .jp {
    font-size: 1rem;
    line-height: 1.5;
    font-weight: 400;
    color: #86a5af;
    text-align: center;
}

.btntype2:hover {
    background: rgba(134, 165, 175, .15);
}

.btntype2.yellow {
    border-color: #bdb775;
}

.btntype2.yellow::before {
    border-color: #bdb775;
}

.btntype2.yellow .en strong {
    color: #bdb775;
}

.btntype2.yellow .jp {
    color: #bdb775;
}

.btntype2.yellow:hover {
    background: rgba(190, 184, 117, .15);
}

.btntype2.black {
    border-color: #3d3a39;
}

.btntype2.black::before {
    border-color: #231815;
}

.btntype2.black:hover {
    background: rgba(240, 240, 240, .95);
}

.btntype3 {
    font-size: 2rem;
    color: #fff;
    text-align: center;
    background: #b6a6bf;
    width: 444px;
    display: block;
    padding: 7px 0;
    margin: 0 auto;
    transition: background .3s, color 3s;
    cursor: pointer;
}

.btntype3.gray {
    color: #fff !important;
    background: #999999;
}

.btntype3:hover {
    background: #a08cac;
}

.btntype3.gray:hover {
    background: #787878;
}

.btntype3.disabled {
    color: #fff !important;
    background: #999999;
    pointer-events: none;
}

.workshop_end {
    border: 0.3vw solid #86a5af;
    line-height: 1;
    color: #86a5af;
    text-align: center;
    display: block;
    border-width: 1px;
    border-style: solid;
    transition: .3s;
    font-size: 2.6vw;
    padding: 0.5vw 1vw;
    border-radius: 0.5vw;
    min-width: 18vw;
    width: fit-content;
}

.workshop_hold {
    border: 0.3vw solid #86a5af;
    background: #86a5af;
    line-height: 1;
    color: #fff;
    text-align: center;
    display: block;
    border-width: 1px;
    border-style: solid;
    transition: .3s;
    font-size: 2.6vw;
    padding: 0.5vw 1vw;
    border-radius: 0.5vw;
    min-width: 18vw;
    width: fit-content;
}

@media screen and (max-width: 768px) {

    .a_link,
    .a_link.small,
    .a_link.big {
        font-size: 3.7vw;
    }

    .btntype1 {
        font-size: 4.2vw;
        padding-right: 10vw;
    }

    .btntype1::before {
        width: 8.5vw;
        height: 2.8vw;
    }

    .btntype2 {
        width: 100%;
        padding: 1% 0;
    }

    .btntype2::before {
        right: 5vw;
        width: 5vw;
        height: 5vw;
    }

    .btntype2 .en {
        font-size: 3.7vw;
    }

    .btntype2 .en strong {
        font-size: 5vw;
    }

    .btntype2 .jp {
        font-size: 3.7vw;
    }

    .btntype3 {
        font-size: 4.1vw;
        width: 100%;
        padding: 2.5% 0;
    }
}

/* tagカラー
--------------------------------*/
.tag_gallery {
    background: #83A1AA;
    border-color: #83A1AA;
}

.tag_workshop {
    background: #b8b274;
    border-color: #b8b274;
}

.tag_shop {
    background: #717171;
    border-color: #717171;
}

.tag_albion {
    background: #baaac4;
    border-color: #baaac4;
}

.tag_ignis {
    color: #717171 !important;
    background: #fff;
    border-color: #717171;
}

.tag_elegance {
    color: #717171 !important;
    background: #fff;
    border-color: #717171;
}

.tag_other {
    color: #717171 !important;
    background: #fff;
    border-color: #717171;
}

.tag_branch {
    color: #717171 !important;
    background: #fff;
    border-color: #717171;
}

.tag_lab {
    background: #889c8a;
    border-color: #889c8a;
}

.tag_thebed {
    background: #bf9a72;
    border-color: #bf9a72;
}

.tag_event {
    background: #c68f92;
    border-color: #c68f92;
}

/* breadcrumb
--------------------------------*/
#breadcrumb {
    padding: 10px 0;
}

#breadcrumb ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
}

#breadcrumb ul li,
#breadcrumb ul li a {
    font-size: 1rem;
    color: #3e3a39;
    transition: .3s;
}

#breadcrumb ul li a:hover {
    color: #A4925D;
}

#breadcrumb ul li::after {
    content: '>';
    display: inline-block;
    margin: 0 5px;
}

#breadcrumb ul li:last-child::after {
    display: none;
}

@media screen and (max-width: 768px) {
    #breadcrumb {
        display: none;
    }
}

/* pager
--------------------------------*/
.pager {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 65px;
    font-weight: 300;
}

/* .pager li:not(.prev):first-child{
	margin-left: 130px;
}
.pager li:not(.next):last-child{
	margin-right: 130px;
} */
.pager li {
    margin: 0 7px;
}

.pager li a {
    font-size: 1.6rem;
    transition: .3s;
    font-weight: 300;
}

.pager li a:hover {
    color: #A4925D;
}

.pager li.current {
    text-decoration: underline solid #A4925D;
}

.pager li.current a {
    color: #A4925D;
}

.pager .next {
    margin-left: 40px;
}

.pager .prev {
    margin-right: 40px;
}

.pager .next a,
.pager .prev a {
    display: inline-block;
    position: relative;
    transition: .3s;
}

.pager .next a::before,
.pager .prev a::before {
    content: '';
    position: absolute;
    top: 50%;
    transition: .3s;
    width: 35px;
    height: 10px;
}

.pager .next a {
    padding-right: 40px;
}

.pager .next a::before {
    right: 0;
    border-right: 1px solid #231815;
    border-bottom: 1px solid #231815;
    transform: translateY(-50%) skew(45deg);
}

.pager .prev a {
    padding-left: 40px;
}

.pager .prev a::before {
    left: 0;
    border-left: 1px solid #231815;
    border-bottom: 1px solid #231815;
    transform: translateY(-50%) skew(-45deg);
}

.pager .next a:hover::before,
.pager .prev a:hover::before {
    border-color: #A4925D;
}

.pager .next.no a,
.pager .prev.no a {
    cursor: default;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .pager {
        margin-top: 12%;
    }

    .pager li {
        margin: 0 2vw;
    }

    .pager li a {
        font-size: 5vw;
        font-weight: 400;
    }

    .pager.sp {
        justify-content: space-between;
    }

    .pager.sp .next {
        margin-left: 3vw;
    }

    .pager.sp .prev {
        margin-right: 3vw;
    }

    .pager.sp .next a::before,
    .pager.sp .prev a::before {
        width: 8.5vw;
        height: 2.8vw;
    }

    .pager.sp .next a {
        padding-right: 9vw;
    }

    .pager.sp .prev a {
        padding-left: 9vw;
    }
}

/* pager2
--------------------------------*/
.pager2 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    z-index: 1;
    margin-top: 55px;
    padding-top: 55px;
    border-top: 1px solid #3d3a39;
}

.pager2 .list {
    position: absolute;
    text-align: center;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}

.pager2 .next a,
.pager2 .prev a {
    font-size: 1.6rem;
    font-weight: 300;
    display: inline-block;
    position: relative;
    transition: .3s;
}

.pager2 .next a::before,
.pager2 .prev a::before {
    content: '';
    position: absolute;
    top: 50%;
    transition: .3s;
    width: 35px;
    height: 10px;
}

.pager2 .next a:hover,
.pager2 .prev a:hover {
    color: #A4925D;
}

.pager2 .next a {
    padding-right: 45px;
}

.pager2 .next a::before {
    right: 5px;
    border-right: 1px solid #231815;
    border-bottom: 1px solid #231815;
    transform: translateY(-50%) skew(45deg);
}

.pager2 .prev a {
    padding-left: 45px;
}

.pager2 .prev a::before {
    left: 5px;
    border-left: 1px solid #231815;
    border-bottom: 1px solid #231815;
    transform: translateY(-50%) skew(-45deg);
}

.pager2 .next a:hover::before,
.pager2 .prev a:hover::before {
    border-color: #A4925D;
}

.pager2 .next.no a,
.pager2 .prev.no a {
    cursor: default;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    .pager2 {
        margin-top: 6%;
        padding-top: 21%;
    }

    .pager2 .list {
        bottom: 2.5em;
    }

    .pager2.sp {
        margin-top: 2%;
        padding-top: 0;
        justify-content: space-between;
        border: none;
    }

    .pager2.sp li {
        margin: 0 2vw;
    }

    .pager2 .next a::before,
    .pager2 .prev a::before {
        width: 8.5vw;
        height: 2.8vw;
    }

    .pager2 .next a::before {
        right: 0;
    }

    .pager2 .prev a::before {
        left: 0;
    }

    .pager2 .next a,
    .pager2 .prev a {
        font-size: 5vw;
        font-weight: 400;
    }

    .pager2 .next a {
        padding-right: 9vw;
    }

    .pager2 .prev a {
        padding-left: 9vw;
    }
}

/*event_list
--------------------------------*/
.event_list {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-top: 30px;
}

.event_list.only1 {
    justify-content: center;
}

.event_list li {
    width: 206px;
    margin-right: 40px;
    position: relative;
}

.event_list_item.event_end::before {
    content: '終了';
    position: absolute;
    top: 5px;
    left: 5px;
    font-size: 1rem;
    line-height: 1;
    color: #fff;
    background: #595757;
    padding: 3px 5px;
    z-index: 1;
    letter-spacing: .16em;
}

.event_list li:last-child,
.event_list li:nth-child(4n) {
    margin-right: 0;
}

.event_list li a {
    display: block;
}

.event_list_img_block {
    position: relative;
}

.event_list_img_mask {
    font-size: 1.4rem;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 300;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    opacity: 0;
    transition: .3s;
    z-index: 1;
}

.event_list_txt_block {
    margin-top: 15px;
}

.event_list_date {
    font-size: 1.4rem;
    line-height: 1.57;
}

.event_list_ttl {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-top: 8px;
    transition: .3s;
    position: relative;
    max-height: 67px;
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.event_list_ttl::before,
.event_list_ttl::after {
    position: absolute;
    background: #fff;
}

.event_list_ttl::before {
    content: "...";
    top: 38px;
    right: 0;
    width: 1.8em;
}

.event_list_ttl::after {
    content: "";
    height: 100%;
    width: 100%;
}

.event_list_small_txt {
    font-size: 1rem;
    margin-top: 10px;
}

.event_list_txt {
    font-size: 1.4rem;
    line-height: 1.57;
    margin-top: 10px;
    position: relative;
    max-height: 67px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.event_list_small_txt + .event_list_txt {
    margin-top: 0;
}

.event_list li a:hover .event_list_img img {
    opacity: 1;
}

.event_list li a:hover .event_list_img_mask {
    opacity: 1;
}

.event_list li a:hover .event_list_ttl {
    text-decoration: underline;
}

.event_list.list_small li,
.event_list.list_small li:nth-child(4n) {
    width: 164px;
    margin-right: 31px;
}

.event_list.list_small li:nth-child(5n) {
    margin-right: 0;
}

.event_list.list_small .event_list_txt_block {
    margin-top: 10px;
}

.event_list.list_small .event_list_date {
    font-size: 1.1rem;
}

.event_list.list_small .event_list_ttl {
    font-size: 1.2rem;
    margin-top: 3px;
}

.event_list.list_small .event_list_ttl {
    max-height: 50px;
}

.event_list.list_small .event_list_ttl::before {
    top: 29px;
    height: 2em;
}

.event_list.list_small .event_list_txt {
    font-size: 1.1rem;
    margin-top: 5px;
}

.event_list.list_small .event_list_txt {
    max-height: 50px;
}

.event_list.list_small .event_list_small_txt + .event_list_txt {
    margin-top: 0;
}

.event_list.list_big li,
.event_list.list_big li:nth-child(4n) {
    width: 410px;
    margin-right: 125px;
}

.event_list.list_big li:nth-child(even) {
    margin-right: 0;
}

.event_list.coming li a {
    cursor: default;
}

.event_list.coming li a:hover .event_list_ttl {
    text-decoration: none;
}

@media screen and (max-width: 768px) {
    .event_list {
        display: block;
        margin-top: 15%;
    }

    .event_list:first-child {
        margin-top: 10%;
    }

    .event_list li,
    .event_list.list_small li,
    .event_list.list_small li:nth-child(4n),
    .event_list.list_small li:nth-child(5n),
    .event_list.list_big li,
    .event_list.list_big li:nth-child(4n),
    .event_list.list_big li:nth-child(even) {
        width: 100%;
        margin-right: 0;
    }

    .event_list_item.event_end::before {
        top: 1.2vw;
        left: 1.2vw;
        font-size: 2.8vw;
        padding: .5vw 1vw .8vw;
    }

    .event_list li:nth-child(n+2) {
        margin-top: 8%;
    }

    .event_list li a {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }

    .event_list_img_block {
        width: 36%;
    }

    .event_list_img {
        width: 100%;
    }

    .event_list_img_mask {
        display: none;
    }

    .event_list_txt_block,
    .event_list.list_small .event_list_txt_block {
        width: 60%;
        margin-top: 0;
    }

    .event_list_date,
    .event_list.list_small .event_list_date {
        font-size: 3.7vw;
    }

    .event_list_ttl,
    .event_list.list_small .event_list_ttl {
        font-size: 4.1vw;
        margin-top: 1%;
        max-height: 18vw;
    }

    .event_list_ttl::before {
        top: 10vw;
        height: 2em;
        width: 1.3em;
    }

    .event_list_txt,
    .event_list.list_small .event_list_txt {
        font-size: 3.7vw;
        margin-top: 1%;
        max-height: 18vw;
    }

    .event_list_small_txt {
        font-size: 2.6vw;
        margin-top: 3%;
    }

    .mobile .event_list_txt {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        max-height: initial;
    }

    .event_list.coming li a {
        align-items: center;
    }
}

/* fixbnr
--------------------------------*/
.fixbnr {
    position: fixed;
    top: 50%;
    margin-top: -150px;
    right: 10px;
    z-index: 999;
    display: none;
}

@media screen and (max-width: 768px) {
    .fixbnr {
        top: auto;
        bottom: 0;
        width: 100%;
        right: auto;
        left: 0;
        margin-top: 0;
    }
}

/* ---------------------------------------------
  animation
-----------------------------------------------*/
/* フェードアップ
--------------------------------*/
.animation-trigger .fade-in {
    opacity: 0;
    transform: translate(0, 30px);
    transition-duration: 0s;
}

.animation-trigger .fade-in0 {
    opacity: 0;
    transform: translate(0, 0);
    transition-duration: 0s;
}

.animation-trigger.active .fade-in {
    opacity: 1;
    transform: translate(0, 0);
    transition-duration: .8s;
}

.animation-trigger.active .fade-in0 {
    opacity: 1;
    transform: translate(0, 0);
    transition-duration: .8s;
}

.is-animation.is-fade-in {
    opacity: 0;
    transform: translate(0, 30px);
    transition-duration: 0s;
}

.is-animation.active.is-fade-in {
    opacity: 1;
    transform: translate(0, 0);
    transition-duration: .8s;
}

.is-animation.is-fade-in2 {
    opacity: 0;
    transform: translate(0, 0);
    transition-duration: 0s;
    transition-delay: .6s;
}

.is-animation.active.is-fade-in2 {
    opacity: 1;
    transform: translate(0, 0);
    transition-duration: .8s;
    transition-delay: .6s;
}

/* タイミング
--------------------------------*/
.animation-trigger .delay1,
.animation-trigger .delay2,
.animation-trigger .delay3,
.animation-trigger .delay4,
.animation-trigger .delay5 {
    transition-delay: 0s;
}

.animation-trigger.active .delay1 {
    transition-delay: .3s;
}

.animation-trigger.active .delay2 {
    transition-delay: .6s;
}

.animation-trigger.active .delay3 {
    transition-delay: .9s;
}

.animation-trigger.active .delay4 {
    transition-delay: 1.2s;
}

.animation-trigger.active .delay5 {
    transition-delay: 1.5s;
}

/* appli
--------------------------------*/
@media screen and (min-width: 769px) {
    .appli_ttl {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .appli_ttl {
        width: 112%;
        margin-left: -6%;
        padding: 5.5% 0 4.5%;
        background: url(../img/common/bg.jpg) no-repeat center center /cover;
    }

    .appli_ttl .wrap {
        position: relative;
    }

    .appli_ttl .ttl_en {
        line-height: 1;
        width: 41.5%;
        margin: 0 auto;
    }

    .appli_ttl .ttl_en.gallery {
        width: 34%;
    }

    .appli_ttl .ttl_jp {
        font-size: 3.6vw;
        color: #3e3a39;
        text-align: center;
        margin-top: 1.8%;
    }

    .appli_ttl .back {
        position: absolute;
        top: calc(50% - .5vw);
        left: 5%;
        width: 10vw;
        height: 10vw;
        transform: translateY(-50%);
    }

    .appli_ttl .back a {
        position: relative;
        z-index: 1;
        width: 100%;
        height: 100%;
        display: block;
    }

    .appli_ttl .back a::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) rotate(-45deg);
        width: 6vw;
        height: 6vw;
        border-top: .3vw solid #9e9e9f;
        border-left: .3vw solid #9e9e9f;
    }
}

/* banner
--------------------------------*/
#banner {
    padding: 15rem 0;
}

#banner .bnr_box {
    display: flex;
    flex-direction: row;
    width: 840px;
    height: 320px;
    margin: auto;
    position: relative;
}

#banner .yokohama_bg_color {
    background-color: #BAAAC4 !important;
}

#banner .takanawa_bg_color {
    background-color: #9EBBC4 !important;
}

#banner .bnr_box .bnr_title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    opacity: 0;
    transition: .3s;
}

#banner .bnr_box:hover .bnr_title::before {
    opacity: 1;
}

#banner .bnr_title {
    width: 280px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

#banner .bnr_title .logo {
    height: 1.5rem;
}

#banner .bnr_title div {
    text-align: center;
}

#banner .btntype {
    display: inline-block;
    padding-right: 40px;
    position: relative;
    transition: .3s;
}

#banner .bnr_box:hover .btntype {
    opacity: 0.7;
}

#banner .bnr_title .title {
    font-size: 28px;
    line-height: 40px;
    letter-spacing: 0.1em;
    margin-top: 9px;
}

#banner .bnr_title .subtitle {
    font-size: 12px;
    line-height: 36px;
    letter-spacing: 0.05em;
}

#banner .bnr_title .description {
    font-weight: 500;
    font-size: 15px;
    line-height: 28px;
    letter-spacing: 0.05em;
}

#banner .bnr_title .viewmore {
    font-weight: 300;
    font-size: 1.6rem;
    line-height: 2rem;
    letter-spacing: 0.2rem;
}

#banner .bnr_img {
    width: 560px;
}

#banner .bnr_img img {
    height: 100%;
    object-fit: cover;
    object-position: center;
}

#banner .bnr_description {
    text-align: center;
    margin-top: 2rem;
}

#banner .btntype::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 3rem;
    height: 1rem;
    border-right: 1px solid #FFFFFF;
    border-bottom: 1px solid #FFFFFF;
    transform: translateY(-50%) skew(45deg);
    transition: .3s;
}

@media screen and (max-width: 768px) {
    section#banner {
        padding: 20vw 0;
    }

    #banner .bnr_box {
        width: 90vw;
        height: 40vw;
    }

    #banner .bnr_title .bnr_title_inner {
        display: flex;
        flex-direction: column;
    }

    #banner .bnr_title {
        width: 60%;
        padding: 5vw 0 4vw 5vw;
        align-items: flex-start;
        justify-content: space-between;
    }

    #banner .bnr_title .logo {
        height: 3vw;
        width: auto;
    }

    #banner .bnr_title .title {
        font-size: 5.7vw;
        text-align: left;
        line-height: normal;
        margin-top: 1vw;
    }

    #banner .bnr_title .subtitle {
        font-size: 3.7vw;
        text-align: left;
        line-height: normal;
        margin-top: 2vw;
    }

    #banner .bnr_img {
        display: flex;
        justify-content: center;
        align-items: center;
        overflow: hidden;
        width: 35vw;
        height: 40vw;
    }

    #banner .btntype {
        font-size: 3.2vw;
        margin-top: 3vw;
    }

    #banner .bnr_description {
        font-size: 3.7vw;
    }
}

/* info
--------------------------------*/
#info .info_list_pinned {
    margin-top: 6rem;
}

#info .info_list_pinned {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
    place-items: normal;
}

#info .info_list_pinned .info_list {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 0;
}

#info .info_list a {
    display: block;
}

#info .info_list_head {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

#info .info_list {
    width: fit-content;
    display: grid;
    place-content: center;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 45px;
    box-sizing: border-box;
    list-style: none;
    padding: 0;
    margin: 7rem auto 0 auto;
}

#info .info_list li {
    width: 200px;
    min-width: 0;
    overflow: hidden;
    white-space: normal;
    align-items: baseline;
}

#info .info_list_pinned {
    width: fit-content;
    display: grid;
    place-content: center;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5rem;
    box-sizing: border-box;
    list-style: none;
    padding: 0;
    margin: 7rem auto 0 auto;
}

#info .info_list_pinned.solo {
    grid-template-columns: auto;
}

#info .info_list_pinned li {
    width: 447px;
    overflow: hidden;
    white-space: normal;
}

#info .info_list_pinned .info_list li {
    width: 200px;
    min-width: 0;
    overflow: hidden;
    white-space: normal;
    align-items: baseline;
}

#info .info_list_pinned:only-child {
    grid-template-columns: 1fr;
    justify-items: center;
}

#info .info_list_pinned .info_list_thumbnail {
    width: 100%;
    height: 325px;
    clip-path: polygon(40px 0, calc(100% - 40px) 0, 100% 40px, 100% calc(100% - 40px), calc(100% - 40px) 100%, 40px 100%, 0 calc(100% - 40px), 0 40px);
}

#info .info_list .info_list_thumbnail {
    width: 100%;
    height: 145px;
    clip-path: polygon(20px 0, calc(100% - 20px) 0, 100% 20px, 100% calc(100% - 20px), calc(100% - 20px) 100%, 20px 100%, 0 calc(100% - 20px), 0 20px);
}

#info .info_list_thumbnail {
    margin-bottom: 1rem;
    text-align: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    position: relative;
}

#info .info_list_thumbnail img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center;
    transition: transform 0.3s ease;
}

#info .info_list_pinned a:hover .info_list_thumbnail img {
    transform: scale(1.1);
}

#info .info_list_pinned a:hover .info_list_txt {
    opacity: 0.7;
}

#info .info_list a:hover .info_list_thumbnail img {
    transform: scale(1.1);
}

#info .info_list a:hover .info_list_txt {
    opacity: 0.7;
}

#info .info_list_head_date {
    font-size: 12px;
    line-height: 14px;
}

#info .info_list_head_tag {
    font-size: 12px;
    line-height: 14px;
    padding: 1px;
    border-radius: 3px;
    color: #fff;
    text-align: center;
    display: block;
    width: 74px;
    border-width: 1px;
    border-style: solid;
    margin-left: 5px;
    transition: .3s;
}

#info .tag_branch {
    color: gray;
    padding: 0.2rem 0.5rem;
    border-radius: 0.3rem;
    font-size: 12px;
    line-height: 14px;
    display: inline-block;
    width: 53px;
    margin-left: 0.5rem;
    border: gray solid 1px;
    min-width: auto;
}

#info .info_list_pinned .info_list_title {
    font-weight: 500;
    font-size: 20px;
    line-height: 30px;
    transition: .3s;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-top: 1rem;
}

#info .info_list_pinned .info_list_txt {
    -webkit-line-clamp: 4;
}

#info .info_list_pinned .info_list .info_list_txt {
    -webkit-line-clamp: 3;
}

#info .info_list_txt {
    font-size: 14px;
    line-height: 22px;
    transition: .3s;
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-top: 1rem;
}

#info .info_btn {
    margin-top: 75px;
}

#info .dropdown_wrap {
    margin: 7rem 5rem 0;
    display: flex;
    justify-content: center;
}

#info .dropdown {
    width: 20rem;
    position: relative;
    font-size: 2rem;
    font-weight: 300;
    display: flex;
    flex-direction: column;
    align-items: center;
}

#info .dropdown_selected {
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid #A4925D;
    padding: 0.5rem;
    cursor: pointer;
    text-align: center;
}

#info .dropdown_options {
    display: none;
    text-align: center;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    z-index: 10;
}

#info .dropdown_options.open {
    display: flex;
}

#info .dropdown_option {
    width: 100%;
    padding: 0.5rem;
    cursor: pointer;
    border-bottom: 1px solid #A4925D;
}

#info .dropdown_option:hover {
    background: rgba(235, 235, 235, 0.5);
}

#info .dropdown_button {
    display: inline-block;
    position: absolute;
    right: 0;
}

#info .dropdown_button.open {
    rotate: 180deg;
}

.info_list.horizontal {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.info_list.horizontal li {
    flex: 1 1 calc(50% - 20px);
    box-sizing: border-box;
}

#info .btntype1::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 35px;
    height: 10px;
    border-right: 1px solid #A4925D;
    border-bottom: 1px solid #A4925D;
    transform: translateY(-50%) skew(45deg);
    transition: .3s;
}

@media screen and (max-width: 768px) {
    #info .wrap {
        width: 90vw;
    }

    #info .info_list_pinned {
        margin-top: 13vw;
        grid-template-columns: auto;
        gap: 5vw;
        place-items: baseline;
    }

    #info .info_list_pinned li {
        width: auto;
        height: fit-content;
    }

    #info .info_list {
        grid-template-columns: repeat(2, 1fr);
        gap: 5vw;
        place-items: baseline;
    }

    #info .info_list_pinned .info_list_thumbnail {
        width: 90vw;
        height: auto;
        clip-path: polygon(8.5vw 0, calc(100% - 8.5vw) 0, 100% 8.5vw, 100% calc(100% - 8.5vw), calc(100% - 8.5vw) 100%, 8.5vw 100%, 0 calc(100% - 8.5vw), 0 8.5vw);
    }

    #info .info_list .info_list_thumbnail {
        width: 42.5vw;
        height: auto;
        clip-path: polygon(4.2vw 0, calc(100% - 4.2vw) 0, 100% 4.2vw, 100% calc(100% - 4.2vw), calc(100% - 4.2vw) 100%, 4.2vw 100%, 0 calc(100% - 4.2vw), 0 4.2vw);
    }

    #info .info_list li {
        width: auto;
        height: fit-content;
    }

    #info .info_list_pinned .info_list li {
        width: auto;
        height: fit-content;
    }

    #info .info_list {
        margin-top: 13vw;
        gap: 5vw;
    }

    #info .info_list li + li {
        margin-top: 4.5%;
    }

    #info .info_list_head_date {
        font-size: 3.2vw;
    }

    #info .info_list_head_tag {
        font-size: 2.5vw;
        line-height: 3.4vw;
        width: 15vw;
        padding: 0;
        border-radius: .5vw;
        margin-left: 1vw;
    }

    #info .tag_branch {
        font-size: 2.8vw;
        line-height: 3.4vw;
        width: 8vw;
        padding: 0;
        border-radius: .5vw;
        margin-left: 1vw;
    }

    #info .info_list_txt {
        font-size: 3.7vw;
        margin-top: 1%;
        line-height: normal;
    }

    #info .info_list_pinned .info_list_title {
        font-size: 3.7vw;
        font-weight: 400;
        margin-top: 1%;
        line-height: normal;
        -webkit-line-clamp: 2;
    }

    #info .info_list_pinned .info_list_txt {
        font-size: 3.7vw;
        margin-top: 1%;
        line-height: normal;
        -webkit-line-clamp: 2;
    }

    #info .info_list_pinned .info_list .info_list_txt {
        font-size: 3.7vw;
        margin-top: 1%;
        line-height: normal;
        -webkit-line-clamp: 2;
    }

    #info .info_list_txt::before {
        top: 9vw;
        width: 1em;
        height: 2em;
    }

    #info .info_btn {
        margin-top: 10%;
    }

    #info .btntype1::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 0;
        width: 35px;
        height: 10px;
        border-right: 1px solid #A4925D;
        border-bottom: 1px solid #A4925D;
        transform: translateY(-50%) skew(45deg);
        transition: .3s;
    }

    #info .dropdown {
        width: 50vw;
        font-size: 5vw;
        font-weight: 400;
    }

    #info .dropdown_wrap {
        margin: 13vw auto;
    }

    .info_list.horizontal li {
        flex: 1 1 100%;
    }
}

section#andmore {
    padding: 15rem 0;
}

#andmore .wrap {
    width: 940px;
    border: 3px double #A4925D;
    padding: 5rem 3rem;
}

#andmore .content {
    margin-top: 5rem;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}

#andmore .content a {
    width: 23%;
    max-width: 25rem;
    transition: opacity 0.3s ease;
}

#andmore .content .ttl_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 6rem;
}

#andmore .content .ttl_box_txt {
    display: flex;
    flex-direction: column;
}

#andmore .content a:hover .ttl,
#andmore .content a:hover svg {
    opacity: 0.7;
}

#andmore .content a img {
    object-fit: contain;
    height: 20rem;
}

#andmore .content a:hover img {
    opacity: 1;
    transition: .3s ease;
    transform: scale(1.1);
}

#andmore .content a.mobileorder img {
    height: 150px;
    margin: 25px;
}

#andmore .content .ttl {
    font-size: 20px;
    line-height: 33px;
    letter-spacing: 0.03em;
    white-space: nowrap;
    text-align: left;
}

#andmore .content .txt {
    text-align: left;
    font-size: 1.2rem;
    line-height: 1.8rem;
    white-space: nowrap;
    color: #3E3A39;
}

#andmore .content svg {
    height: 2.5rem;
}

@media screen and (max-width: 768px) {
    section#andmore {
        padding: 20vw 0;
    }

    #andmore .wrap {
        width: 90vw;
        border: 3px double #A4925D;
        padding: 8vw 5vw 3vw;
    }

    #andmore .ttltype1_wrap {
        border: none;
    }

    #andmore .content {
        margin-top: 3vw;
        flex-direction: column;
        align-items: center;
    }

    #andmore .content a {
        margin-top: 6vw;
        padding-bottom: 6vw;
        width: 100%;
        max-width: 100%;
    }

    #andmore .content a:not(:last-child) {
        border-bottom: 1px solid #A4925D;
    }

    #andmore .content a img {
        height: 20vw;
        width: 27vw;
        margin-right: 3vw;
    }

    #andmore .content a.mobileorder img {
        height: 20vw;
        width: 27vw;
        margin-right: 3vw;
        margin: auto;
    }

    #andmore .content .ttl_box {
        width: 60%;
        margin: auto;
    }

    #andmore .content .ttl {
        font-size: 4.8vw;
        text-align: left;
        line-height: normal;
    }

    #andmore .content .txt {
        font-size: 3.5vw;
        text-align: left;
        line-height: normal;
        margin-top: 1vw;
    }

    #andmore .content svg {
        width: 4vw;
        height: 4vw;
        margin-top: 1.8vw;
        margin-right: -1.8vw;
    }

    #andmore .howtoenjoy {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }

    #andmore .membership {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }

    #andmore .mobileorder {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
    }
}

/* zone engraving
--------------------------------*/
#engraving_banner {
    width: 100%;
    display: grid;
    justify-content: center;
}

#engraving_banner a {
    width: 840px;
    display: flex;
    align-items: flex-start;
    height: 200px;
    padding: 16px 24px 5px 10px;
    background: url(../img/top/engraving_bnr.jpg) no-repeat center / cover;
    flex-direction: column;
    justify-content: space-between;
}

#engraving_banner a .txt_block {
    width: 450px;
    height: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
}

#engraving_banner .ttl {
    text-align: center;
    color: #3e3a39;
    font-size: 1.344rem;
    letter-spacing: 0.04em;
}

#engraving_banner .txt_block img {
    display: block;
    width: 260px;
}

#engraving_banner .point {
    display: flex;
    justify-content: center;
}

#engraving_banner .point li {
    color: #ad8749;
    font-size: 1.238rem;
    line-height: 1.33;
    letter-spacing: 0.05em;
    padding: .5em .75em;
    background-color: #fff;
    border-radius: 3px;
    margin: 0 3px;
}

#engraving_banner .caption {
    text-align: right;
    font-size: .95rem;
    letter-spacing: 0.04em;
}

@media screen and (max-width: 768px) {
    section#engraving_banner {
        display: block;
        width: 90vw;
        margin: auto;
        padding: 8vw 0 0;
    }

    #engraving_banner a {
        align-items: flex-end;
        width: 100%;
        height: 50.78125vw;
        background: url(../img/top/engraving_bnr_sp.jpg) no-repeat center / contain;
        justify-content: center;
    }

    #engraving_banner a .txt_block {
        width: 55%;
        height: auto;
        justify-content: flex-end;
        margin-top: 10.5vw
    }

    #engraving_banner a .txt_block img {
        width: auto;
        margin-bottom: 10%;
    }

    #engraving_banner .ttl {
        font-size: 2.6vw;
        letter-spacing: 0;
        margin-bottom: 1vw;
    }

    #engraving_banner .ttl img {
        width: 100%;
        margin-top: 1.3vw;
    }

    #engraving_banner .point {
        justify-content: flex-end;
        margin: 2vw 0 0 3vw;
    }

    #engraving_banner .point li {
        font-size: 2.48vw;
        white-space: nowrap;
        padding: 0.5em 0.65em;
        border-radius: .6vw;
        margin: 0 .6vw;
    }

    #engraving_banner .point li:last-child {
        margin-right: 0;
    }

    #engraving_banner .caption {
        font-size: 3.6vw;
        transform: scale(0.5);
        transform-origin: right bottom;
        margin-top: -3vw;
    }
}

/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
    content: ".";
    display: block;
    height: 0;
    font-size: 0;
    clear: both;
    visibility: hidden;
}

.cf {
    display: inline-block;
}

/* Hides from IE Mac */
* html .cf {
    height: 1%;
}

.cf {
    display: block;
}

/* End Hack */