﻿/*===========================================================*/
/* 個別 */
/*===========================================================*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500&family=Noto+Sans+JP:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP&display=swap');
/*body{
        font-family: 'Montserrat',"Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
        font-weight: 500;
}*/
/*h1, h2, h3, h4, h5, h6,.page10 .more a,footer .entry.more a,.en_font{
        font-family: 'Noto Serif JP',"游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif"!important;
}*/
.linkStyle{color: #333;border-bottom: 1px solid;}
.back_color{    background: rgb(255 255 255 / 50%);}
h1 img{width: 50%!important;}
.sns_link{border-color: #000;}
.g-menu.is-active,footer.bg_color1{    background-image: url(dup/img/bg.jpg);
}
.g-menu.is-active .txt_white{color: #000;}
.g-menu h2 {
    max-width: 300px;
}
.g-menu-btn.active:after {
    border: 1px solid #000;
}
.g-menu-btn.active .dot span {
    background: #000;
}
.more a{letter-spacing: 3px;}
#fix_bnr{
    bottom: 10px;
    right: 10px;
    z-index: 7;
    width: 320px;
    transition: 0.5s;
}
#fix_bnr:hover{opacity: 0.5;transition: 0.5s;}
#fix_bnr.close{right: -450px;}
#loading_line{background-color: #f7f7f7;}
#main::before{
    content: "";
    position: absolute;
    display: block;
    background-image: url(./Dup/img/main1.png);
    background-size: 100%;
    background-repeat: no-repeat;
    width: 38vw;
    height: 63vw;
    top: 0;
    left: 0;
    z-index: 0;
    opacity: 0.5;
}
#main .main_box.animStart h1{max-width: 500px;}
#main .main_box p{
    font-size: 30px;
    letter-spacing: 6px;
    line-height: 1.5;
    color: #fff;
    text-transform: uppercase;
    font-family: lemonde-sans, sans-serif;
    font-weight: 700;
}
#main .main_txt span {
    font-size: 24px;
    letter-spacing: 6px;
    display: inline-block;
    color: #543d35;
    background-color: #f5f6f7;
    padding: 4px 20px 8px;
}
#main .main_box.animStart p{    animation: heroText 600ms 800ms both;}
#header {
    background-color: rgb(255 255 255 / 85%);
}
#header .logo img{width: 50%!important;}
#header .header_menu a{color: #333;}
#catch h2{
    font-size: 34px;
    letter-spacing: 7px;
    line-height: 2;
}
#catch h2 span{border-bottom: 2px solid #000000;}
#contents h2 {
    display: inline-block;
    border-bottom: 2px solid #000;
    font-size: 29px;
    margin-bottom: 30px;
}
#contents .box .box_item p {
    padding-left: 30px;
}
#contents .box .no{background-color: #EEDDC4;color: #121212;}
#contents .box .no .en_font{font-style: italic;}
#contents .box .box_item:after{    background: linear-gradient(to bottom left, rgba(255,255,255,0) 50%, #EEDDC4 50.5%) no-repeat top left/100% 100%;}
.shop_info .contact,.shop_info .info{    background-color: rgb(83 60 52 / 50%);}

.shop_info h2 {
    font-size: 29px;
    position: relative;
}
.shop_info h2:before {
    content: "INFORMATION";
    font-size: 42px;
    opacity: 0.9;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -73px;
    letter-spacing: 4px;
}
.shop_info .info_box:nth-child(2) h2:before {
    content: "CONTACT";
}
.shop_info .info::before,.shop_info .contact::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(Dup/img/foot_bg1.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50% 100%;
    transform: translate(5%,0%) skewX(10deg);
    z-index: -1;
}
.shop_info .contact::before{
    background-image: url(Dup/img/foot_bg2.jpg);
    transform: translate(-5%,0%) skewX(10deg);
}
footer .txt_white{color: #000;}
footer .more a{color: #fff;    background-color: #533c34;}
#footer .footer_nav li{border-color: #000;}
/*===========================================================*/
/* コード集 */
/*===========================================================*/
html.modalset{
	overflow: hidden;
}
.swiper-slide {
    border-radius: 10px;
    overflow: hidden;
}
.g_type3 .cate_box{
    cursor: pointer;
    margin: 0;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    cursor: pointer;
    border-radius: 50%;
}
.g_type3 .open.active {
    opacity: 1;
    transform: scale(1);
    pointer-events: auto;
}
.g_type3 .open {
    top: 0;
    left: 0;
    z-index: 999;
    overflow-y: auto;
    background-color: rgba(255,255,255,0.95);
    transform: scale(0.95);
    transition: 0.3s;
    transition-property: opacity, transform;
    opacity: 0;
    pointer-events: none;
}
.g_type3 .swiper-slide{
    opacity: 1!important;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper {
    margin-left: 0!important;
    transform: none!important;
    justify-content: center;
}
.g_type3 .open .close {
    top: 20px;
    right: 20px;
    z-index: 1;
    cursor: pointer;
    width: 30px;
}
.g_type3 .open .close img{
	box-shadow: 0 2px 4px rgba(0,0,0,0);
}
.g_type3 .swiper-button-prev{
	background-image: url(../dup/img/swiper_prev.png)!important;
}
.g_type3 .swiper-button-next{
	background-image: url(../dup/img/swiper_next.png)!important;
}
/*IE*/
@media all and (-ms-high-contrast: none){
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide {
    overflow: hidden;
    position: relative;
    height: 80px;
}
.g_type3 .slide_img .thumbnail .swiper-wrapper .swiper-slide img{
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}
}

/* ---------- loopSlider ---------- */
#topcms_gallery_type1 .loopSliderWrap{
    top: 0;
    left: 0;
    height: 450px;
}
#topcms_gallery_type1 .loopSlider {
    margin: 0 auto;
    height: 450px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul {
    height:450px;
    float: left;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul .li {
    width: 500px;
    height: 450px;
    float: left;
    display: inline;
    overflow: hidden;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}
#topcms_gallery_type1 .loopSlider .ul .li img{
    border-radius: 0;
}
#topcms_gallery_type1 .loopSliderWrap:after {
    content: "";
    display: none;
    clear: none;
}

/*リンクボタン*/
#topcms_gallery_type1 .btn{z-index: 3;}
#topcms_gallery_type1 .btn a::before {
    content: '';
    position: absolute;
    bottom: 55px;
    right: 27%;
    width: 42%;
    height: 1px;
    background: #333;
    transition: all .3s;
}
#topcms_gallery_type1 .btn a::after {
    content: '';
    position: absolute;
    bottom: 60px;
    right: 27%;
    width: 15px;
    height: 1px;
    background: #333;
    transform: rotate(35deg);
    transition: all .3s;
}
#topcms_gallery_type1 .btn a:hover::before {
    right: 16%;
    background: #fff;
}
#topcms_gallery_type1 .btn a:hover::after {
    right: 15%;
    background: #fff;
}
#topcms_gallery_type1 .btn {
    display: block;
}
#topcms_gallery_type1 .btn a {
    background: #fff;
    color: #533c34;
    width: 200px;
    height: 200px;
    display: flex;
    align-content: center;
    justify-content: center;
    border-radius: 50%;
    flex-wrap: wrap;
    transition: all 0.4s;
}
#topcms_gallery_type1 .btn a:hover {
    background: #533c34;
    color: #fff;
}
#topcms_gallery_type1 .btn a span, .btn a strong {
    text-align: center;
}
@media(max-width: 768px) {
#topcms_gallery_type1,#topcms_gallery_type1 .loopSliderWrap,#topcms_gallery_type1 .loopSlider,#topcms_gallery_type1 .loopSlider ul,#topcms_gallery_type1 .loopSlider .ul .li{
	height: 280px;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 280px;
}
#topcms_gallery_type1 {
    padding-bottom: 0;
    padding-top: 0;
}
}
@media(max-width: 667px) {
#topcms_gallery_type1,.loopSliderWrap,.loopSlider,.loopSlider .ul,.loopSlider .ul .li{
	height: 179px!important;
}
#topcms_gallery_type1 .loopSlider .ul .li{
    width: 179px;
}
#topcms_gallery_type1 .btn a::after {
    bottom: 35px;
    right: 27%;
}
#topcms_gallery_type1 .btn a::before {
    bottom: 30px;
    right: 27%;
}
#topcms_gallery_type1 .btn a {
    width: 140px;
    height: 140px;
    line-height: 1.7;
}
}




/*===========================================================*/
/* 下層 */
/*===========================================================*/
main.bg_color1 {
    background-color: #f3f3f3;
    padding-bottom: 86px;
}
#tel_contact{    background-color: #EEDDC4;
}



/*===========================================================*/
/* タブレット */
/*===========================================================*/
@media screen and (max-width: 768px){
#main::before{
    width: 87vw;
    height: 100%;
}
.shop_info .info::before, .shop_info .contact::before {
    transform: inherit;
}
.shop_info.more a:first-of-type:before,.shop_info.more a:last-child:before{content: none;}
.g-menu-btn {
    position: fixed;
    top: 20px;
    right: 20px;
}
#header{display: none;}


}



/*===========================================================*/
/* スマホ */
/*===========================================================*/
@media screen and (max-width: 667px){
#main::before {
    width: 111vw;
    height: 100%;
}
#main .main_box {
    width: 100%;
}
#main .main_box p{font-size: 20px;}
#main .main_txt span{
    font-size: 16px;
    padding: 4px 10px 4px;
}
#catch h2{font-size: 22px;}
#contents .box .box_item:after {
    background: linear-gradient(to top left, rgba(255,255,255,0) 50%, #EEDDC4 50.5%) no-repeat top left/100% 100%;
}
#contents .box .box_item {
    padding: 100px 20px;
}
#contents .box .box_item p{padding-left: 0;}
#contents h2{font-size: 22px;}
.shop_info h2 {
    font-size: 22px;
}
.shop_info h2:before{font-size: 32px;}
#page_title .page_title_box p{font-size: 24px;}
#page_title .page_title_box p:last-of-type{font-size: 20px;}
.page10 .more a:after{content: none;}
#fix_bnr {
        bottom: 7px;
        right: 72px;
        width: 65%;
    }



}


/*===========================================================*/
/* IE */
/*===========================================================*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none){



}


/*===========================================================*/
/* Firefox */
/*===========================================================*/
@-moz-document url-prefix(){

}