﻿@import url('https://fonts.googleapis.com/css2?family=Zen+Antique&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho&display=swap');
.flow_type3 .cate_box2{
    margin-top: 0;
    padding: 20px;
    box-sizing: border-box;
    border-left: 1px solid white;
}

.flow_type3 .box_txt3{
    position: relative;
}

.flow_type3 .box_txt3:before{
    content: "";
    display: block;
    width: calc(100% + 10px);
    height: 2px;
    position: absolute;
    bottom: 0%;
    left: 50%;
    -webkit-transform: translate(-50% , -50%);
    transform: translate(-50% , -50%);
    pointer-events: none;
    background-color: white;
}

#main .main_box {
    z-index: 1;
        width: 80%;
}

.g-menu-btn:after {
    background: rgba(255, 255, 255,0.9);
}

video{
        filter: grayscale(0.4);
}

h2.main_txt{
        font-weight: normal;
    color: #e3e3e2;
    font-size: max(4.2vw, 30px);
    font-family: 'Zen Antique', serif;
    line-height: 1.2em;
    letter-spacing: 0.01em;
}

.load_logo figure {
    max-width: 200px;
}

.catch_txt{
    color: black;
}

.back_color {
    /* display: none; */
    background: transparent !important;
}

.g-menu-btn.active .dot span {
    background: #000;
}

.g-menu-btn {
    width: 60px;
    height: 60px;
}

#contents .box{
    margin-bottom: 0;
}

.catch_img{
    width:21% !important;
}

.catch_txt h2{
        font-size: max(2.8vw, 30px);
    text-align: center;
    margin-bottom: 60px;
    font-family: 'Zen Antique', serif;
    font-weight: normal;
}


.content_wrap {
    background-color: rgba(255, 255, 255, 0.95) !important;
}

#mail_CONTACT{
    display: none;
}

#p-top_wrap{
        border-top: 1px solid white;
}

.linkStyle{
color: #29a9e0;
font-weight: bold;
}

#catch figure:first-child {
   top: auto;
    bottom: -20%;
    left: 3%;
}

#catch figure:last-child {
    top: -10%;
    right: 3%;
}

#body{
    min-width: 1280px;
}

.our{
        max-width: 300px;
    margin: auto;
    display: block;
}

/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
#catch{
    padding: 5%;
}

.catch_img{
    width:50% !important;
}

#body{
    min-width: 100%;
}

#catch figure:first-child {
    top: auto;
    bottom: 0%;
    left: 3%;
    margin-top: -30%;
    margin-bottom: 80px;
}

}

/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
#main .main_box {
    width: 100%;
}

#main .main_box h2 {
    line-height: 1.2em;
    letter-spacing: 0.1em;
    font-size: max(4.2vw, 42px);
}

.shop_info h2{
        font-size: -webkit-calc(1rem + 10px);
    font-size: calc(1rem + 10px);
}

.shop_info {
    padding-bottom: 0;
    border-bottom: 1px solid white;
}

.catch_txt h2 {
    font-size: max(2.8vw, 26px);
    letter-spacing: 0.01em;
}

#contents .box .box_item {
    padding: 40px 15px;
}

#catch figure:first-child {
    margin-top: -20%;
}

.cms_wrap {
    width: 100%;
}

}