﻿/* フォント */
@font-face {
font-family: "utsukushi";
  src: url("./Dup/img/utsukushi.otf") format("otf"),url("./Dup/img/utsukushi.woff") format("woff"),url("./Dup/img/utsukushi.woff2") format("woff2");
}
.font_en{ font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic,"ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic",  sans-serif;}
.font1{font-family: "utsukushi","serif";}


/* ヘッダーページタイトル横線 */
#main_menu ul li:before{background-color: #C7B183;}
/* ハンバーガーメニュー */
.hamburger__icon.bg_color1, .hamburger__icon.bg_color1:before, .hamburger__icon.bg_color1:after{background-color: #c8af82;}
.active .hamburger__icon.bg_color1{background-color: transparent;}
.active .hamburger__icon.bg_color1:before,.active .hamburger__icon.bg_color1:after{background-color: #4b280f;}
/* SNSリンク */
.link_box li{margin-right: 3%;}
.link_box li:last-of-type{margin-right: 0;}
.link_box ul.flex_space-between{
justify-content: center;
align-items: center;
}
/* タイトル横線 */
.cms_title::before,#page_title .page_box::before{background-color: 色;}
/* お問い合わせボタン hover */
.button:hover::after{box-shadow: inset 0 0 0 15em #C7B183;}
/* ボタン */
.button,.foot_tel_bt a{position: relative;z-index: 0;}
/* キャッチコピー */
.txt1{width: 80%;}
/* フッターテキスト 文字色 */
.footer_cms.txt_color3{color: #333;}
/*--------------------------------
疑似要素にオブジェクト
--------------------------------*/
#contents1,.txt2,.img5,#contents2,#contents3 .con_box,#attach,#attach2{position: relative;}
/*リピートなし*/
#contents1:before,#contents1:after,.txt2:before,
#contents2:before,.img5:before,#contents3 .con_box:before,#attach:before,#attach2:before{
content: "";
display: block;
background-size: cover;
background-repeat: no-repeat;
position: absolute;
}

#contents1:before{
background-image: url(./Dup/img/obj4.png);
background-size: 100%;
width: 20vw;
height: 20vw;
top: -40px;
right: -40px;
}
#contents1:after{
background-image: url(./Dup/img/obj5.png);
background-size: 100%;
width: 20vw;
height: 20vw;
bottom: -70px;
left: -70px;
}
.txt2:before{
background-image: url(./Dup/img/txt1.png);
width: 150px;
height: 37.5px;
top: -50px;
left: 50%;
-ms-transform: translate(-50%,0);
-webkit-transform: translate(-50%,0);
transform: translate(-50%,0);
}
#attach:before,#attach2:before{
width: 150px;
height: 37.5px;
top:50%;
left: 50%;
-ms-transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
transform: translate(-50%,-50%);
}
#attach:before{background-image: url(./Dup/img/txt2.png);}
#attach2:before{background-image: url(./Dup/img/txt3.png);}

#contents2:before{
background-image: url(./Dup/img/obj6.png);
background-size: 100%;
width: 17vw;
height: 18vw;
top: -15%;
right: -5%;
z-index: 1;
}
.img5:before,#contents3 .con_box:before{
width: 70px;
height: 70px;
top: -20px;
left: -20px;
z-index: 1;
}
.img5:before{background-image: url(./Dup/img/obj1.png);}
#contents3 .con_box:first-of-type:before{background-image: url(./Dup/img/obj2.png);}
#contents3 .con_box:last-of-type:before{background-image: url(./Dup/img/obj3.png);left: 30px;}

/*--------------------------------
全体
--------------------------------*/
header.bg_color4{background-color: #4b280f;padding-top: 100px;}
.head_box.width_300-max{max-width: 350px;}
#main_menu ul li a{color: #fff;}
header .contact_bt a.txt_color3{background-color: #f7efe3;color: #4b280f;}
.fat-nav li{padding: 8px;font-size: 14px;}
.fat-nav li:nth-last-of-type(4){font-size: 12px;padding: 6px;padding-top: 50px;}
.fat-nav li:nth-last-of-type(3){font-size: 12px;padding: 6px;}
.fat-nav li:nth-last-of-type(2){font-size: 12px;padding: 6px;padding-bottom: 20px;}
.fat-nav li a .en{color: #333;}
footer .foot_tel_bt a.txt_color3{color: #4b280f;}

.main_box{
background-color: #faf8f5;
overflow: hidden;
}
#contents2, footer{background-color: #f3eee6;}

#main_menu ul li{margin-bottom: 30px;position: relative;}
#main_menu ul li:before{
content: "";
position: absolute;
top: 60%;
left: 0;
width: 20px;
height: 1px;
transition: .5s;
}
#main_menu li > div,
#footer_menu li > div{
height: 25px;
overflow: hidden;
}
#main_menu li > div > div,
#footer_menu li > div > div{
-webkit-transition: margin 0.5s;
-moz-transition: margin 0.5s;
-ms-transition: margin 0.5s;
-o-transition: margin 0.5s;
transition: margin 0.5s;
margin: 0;
}
header .contact_bt a,footer .contact_bt a{
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
-ms-transition: all 0.5s;
-o-transition: all 0.5s;
transition: all 0.5s;
margin: 0;
}
#main_menu ul li a:hover{padding-left: 30px;}
#main_menu ul li a:hover::before{width: 20px;}
#main_menu li span,
#footer_menu li span{line-height: 1;padding: 10px 0;}
#main_menu li > div > div:hover,
#footer_menu li > div > div:hover{margin-top:-56px;}
header .contact_bt a:hover .txt .txt2,
footer .foot_tel_bt a:hover .txt .txt2{margin-top:-28px;}
#main_menu ul li a::before{display: none;}
header .contact_bt .txt,
header .contact_bt .txt2,
footer .foot_tel_bt .txt,
footer .foot_tel_bt .txt2{display: inline-block;}
header .contact_bt .txt,
footer .foot_tel_bt .txt{
height: 20px;
overflow: hidden;
}
header .contact_bt .txt2,
footer .foot_tel_bt .txt2{margin-top: -2px;}

header .contact_bt .en,
footer .foot_tel_bt .en{line-height: 30px;}

/*フェードインcss*/
.fadein_up{
    opacity : 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
	transition:transform 2s ease,opacity 2s ease; 
}
.fadein_up.scrollin{
    opacity : 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
/*--------------------------------
TOP
--------------------------------*/
#video{ height: 100vh; }
#video video{
width: auto!important;
height: 100%;
top: 50%;
left: 50%;
    -ms-transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
#contents1 > div{position: relative;z-index: 1;}
/*--------------------------------
下層
--------------------------------*/
/* カテゴリーリンクボタン hover */
.button2:hover{box-shadow: none;}

#page_title .title_img::before{background-image: none;}

#page8 .contact_bt{
width: 100%;
max-width: 470px;
box-sizing: border-box;
}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
header .contact_bt .txt2{margin-top: 0px;}
.tel_bt a,.foot_tel_bt a{padding-bottom: 10px;}
.more a{padding-bottom: 5px;}

.cate_list li a{padding: 13px 10px 7px!important;}
#cms_6-a .cate .cate_title{padding-top: 10px!important;}

.contact_tel a{padding-bottom: 24px;}
#tel_txt h3{padding-bottom: 0;}
#tel_txt p{padding-bottom: 15px;}
}

@media  screen and (max-width: 1280px){
#contents1:before{
width: 23vw;
height: 23vw;
}
#contents1:after{
width: 23vw;
height: 23vw;
}
}
/*タブレット用（768px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 768px){
header.bg_color4{padding-top: 5px;}
.hamburger{top: 30px;}
.main_box{padding-top: 105px;}
footer .link_box li{max-width: 40px;}

#video{ height: 40vh; }
#video video{
width: 100%!important;
height: auto;
}
#contents1:before{
width: 30vw;
height: 30vw;
top: -40px;
right: -30px;
}
#contents1:after {
width: 30vw;
height: 30vw;
bottom: -70px;
left: -30px;
}
}

/*スマホ用（667px以下）
--------------------------------------------------------------------------*/
@media  screen and (max-width: 667px){
.hamburger{top: 20px;}
.main_box{padding-top: 80px;}
#video{ height: 31vh; }

#contents1:before{
width: 40vw;
height: 40vw;
top: -15px;
right: -20px;
}
#contents1:after {
width: 40vw;
height: 40vw;
bottom: -35px;
left: -10px;
}
#contents2:before{
width: 26vw;
height: 27vw;
top: -4%;
right: -3%;
}
.img5:before, #contents3 .con_box:before{
width: 50px;
height: 50px;
top: -10px;
left: -10px;
}
#contents3 .con_box:last-of-type:before{left: -10px;}
}

/*--------------------------自動リンク--------------------------*/
/* color */
.linkStyle{color: #333; text-decoration: underline;}
.txt_color_nomal .linkStyle{color: #333;}
.txt_white .linkStyle{color: white;}
.txt_red .linkStyle{color: red;}
.bg_color1 .linkStyle{color: #fff;}
.bg_color2 .linkStyle{color: #333;}
.bg_color3 .linkStyle{color: #fff;}
.bg_color4 .linkStyle{color: #333;}

/*IEのみ*/
@media all and (-ms-high-contrast: none) {
.linkStyle{display: inline-block;}
}

/*--------------------------カラー--------------------------*/
body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #333333;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: red;}
.txt_color1,.hvr_txt_color1:hover{color: #4b280f} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #9B8773} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #C8AF82} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #F7EFE3} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: black} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{background-color: #4b280f} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #9B8773} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #C8AF82} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #F7EFE3} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important}


/* border-color ※!important */
.border_color1,.hvr_border_color1:hover{border-color: #4b280f}
.border_color2,.hvr_border_color2:hover{border-color: #9B8773}
.border_color3,.hvr_border_color3:hover{border-color: #C8AF82}
.border_color4,.hvr_border_color4:hover{border-color: #F7EFE3}

html{font-size: 16px;}
body{-webkit-text-size-adjust: 120%;font-size: 16px;}

.font_12{font-size: 14px;}
.font_14{font-size: 16px;}
.font_16{font-size: 18px;}
.font_18{font-size: 20px;}
.font_20{font-size: 22px;}
.font_22{font-size: 24px;}
.font_24{font-size: 26px;}
.font_26{font-size: 28px;}
.font_28{font-size: 30px;}
.font_30{font-size: 32px;}
.font_100per{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}

@media  screen and (max-width: 768px){
html{font-size: 14px;}
body{-webkit-text-size-adjust: 100%;font-size: 14px;}
    
.font_12_tb{font-size: 14px;}
.font_14_tb{font-size: 16px;}
.font_16_tb{font-size: 18px;}
.font_18_tb{font-size: 20px;}
.font_20_tb{font-size: 22px;}
.font_22_tb{font-size: 24px;}
.font_24_tb{font-size: 26px;}
.font_26_tb{font-size: 28px;}
.font_28_tb{font-size: 30px;}
.font_30_tb{font-size: 32px;}
.font_100per_tb{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up_tb{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up_tb{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up_tb{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up_tb{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up_tb{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw_tb{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}
}

@media  screen and (max-width: 667px){
.font_12_sp{font-size: 14px;}
.font_14_sp{font-size: 16px;}
.font_16_sp{font-size: 18px;}
.font_18_sp{font-size: 20px;}
.font_20_sp{font-size: 22px;}
.font_22_sp{font-size: 24px;}
.font_24_sp{font-size: 26px;}
.font_26_sp{font-size: 28px;}
.font_28_sp{font-size: 30px;}
.font_30_sp{font-size: 32px;}
.font_100per_sp{
font-size: -webkit-calc(1rem + 2px);
font-size: calc(1rem + 2px);
}
.font_2up_sp{
font-size: -webkit-calc(1rem + 4px);
font-size: calc(1rem + 4px);
}
.font_4up_sp{
font-size: -webkit-calc(1rem + 6px);
font-size: calc(1rem + 6px);
}
.font_6up_sp{
font-size: -webkit-calc(1rem + 8px);
font-size: calc(1rem + 8px);
}
.font_8up_sp{
font-size: -webkit-calc(1rem + 10px);
font-size: calc(1rem + 10px);
}
.font_10up_sp{
font-size: -webkit-calc(1rem + 12px);
font-size: calc(1rem + 12px);
}
.font_2dw_sp{
font-size: -webkit-calc(1rem);
font-size: calc(1rem);
}
}