﻿/*文字のアニメーション ----------------- */
.txt_anim1 span{
	position: relative;
	right: 20px;
	opacity: 0;
	filter: blur(10px);
	transition: all 1.3s;
}
.txt_anim1 span.start{
	right: 0;
	opacity: 1;
	filter: blur(0px);
}
.fadein_up2{filter: blur(20px);
    transition: transform 1.7s ease,opacity 1.8s ease,filter 2s ease;
}
.fadein_up2.scrollin{filter: blur(0px);}

/*イラストのアニメ ------------------- */
.fox_anim1{
    bottom: 60px;
    opacity: 0;
	filter: blur(20px);
	transition: bottom 1.7s ease,opacity 1.7s ease,filter 2s ease;
}

.fox_anim1.start{
    bottom: 30px;
    opacity: 1;
	filter: blur(0px);
}


.fox_anim2{
    left: 5%;
    bottom: 0px;
    opacity: 0;
	filter: blur(20px);
	transition: left 1.7s ease, bottom 1.7s ease,opacity 1.7s ease,filter 2s ease;
}
.fox_anim2.start{
    left: 5%;
    bottom: -50px;
    opacity: 1;
	filter: blur(0px);
}


.fox_anim3{
    right: -10%;
    bottom: 50px;
    transform: rotate(-10deg);
    opacity: 0;
	filter: blur(20px);
	transition: right 2s ease, bottom 2s ease, transform 2s ease, opacity 1.3s ease,filter 1.3s ease;
}

.fox_anim3.start{
    right: 3%;
    bottom: 0px;
    transform: rotate(0deg);
    opacity: 1;
	filter: blur(0px);
}
.fox_anim4{
    transform: translateY(5%);
	transition: transform 1.3s ease, opacity 1s;
	transition-property: opacity,transform;
	opacity: 1;
}
.fox_anim4.start1{transform: translateY(-60%);opacity: 1;}

@media screen and (min-width: 1800px){
    .fox_anim2{bottom: -130px;left: 32%;}
    .fox_anim2.start{bottom: -180px;left: 32%;}
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    .fox_anim2{bottom: -140px;}
    .fox_anim2.start{bottom: -60px;}
    .fox_anim3{bottom: -30px;right:0%;}
    .fox_anim3.start{bottom: 0px;right: 13%;}
}

/*イラストの配置 ------------------- */
#intro .kasumi_1{
    top: -48px;
    left: -5%;
    width: 30%;
}
#contents1 .kasumi_2{
    top: 10px;
    right: 3%;
    width: 35%;
}
#contents2 .kasumi_1{
    top: 10px;
    left: 3%;
    width: 35%;
}

#intro .fox_1{
    width: 15%;
    transform: translateX(-50%);
    left: 70%;
    /*bottom: 30px;*/
}
#intro .fox_2{
    width: 15%;
    transform: translateX(-50%);
    left: 30%;
    /*bottom: 30px;*/
}

#contents1 .fox_3{
    z-index: 2;
    width: 15%;
    /*top: 50px;*/
    /*right: 3%;*/
}

#contents2 .fox_4{
    z-index: 2;
    width: 15%;
    /*top: 50px;*/
    /*left: 3%;*/
}
footer .fox_5{
    z-index: 1;
    width: 15%;
}

/* タブレット */
@media screen and (max-width: 768px){
    #contents1 .fox_3,#contents2 .fox_4{width: 23%;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #intro .kasumi_1{top: -20px;left: -3%;width: 40%;}
    #intro .fox_1{left: 75%;width: 20%;}
    #intro .fox_2{left: 25%;width: 20%;}
    #contents1 .fox_3, #contents2 .fox_4{width: 40%;}
    footer .fox_5{    width: 35%;}
}


/*---------------------------------------------
 テンプレート ・CMS・下層ページ 
--------------------------------------------*/
.return::before, .return::after{background-color:#fff;}
header.scr_header #logo{max-width: 110px;}
#logo{max-width: 130px;}
#fakeloader .fl{max-width: 180px;animation-duration: 3s;}
#fakeloader:before{background-color: rgb(255 255 255);}
#pc_nav li, #top_pc_nav li, #footer_nav li{max-width: 300px;}
.nav_menu_more:first-of-type a .icon:before{    content: "\f086";}
.overlay{background: linear-gradient(135deg, #fdd7d4 , #f74234 );}
#overlay .left li{max-width: 270px;}
.overlay ul li a{text-shadow: 0px 0px 9px #f74234;}
header.scr_header .button_container span{background:#EF454A;}
header.scr_header .button_container span:nth-of-type(1){background: transparent;color: #EF454A;}

header.scr_header{background-color: #fff;border-bottom: 1px solid #EF454A;}
#pc_nav li a, #top_pc_nav li a, #footer_nav li a{color: #424242;}
#pc_nav li a::after, #top_pc_nav li a::after, #footer_nav li a::after{height: 1px;background:#EF454A;}

#wrap{
    background-image: url(./Dup/img/top_bg.jpg);
    background-size: cover;
    background-attachment: fixed;
    background-position: center;
}
.top_bg{
    display: none;
}

.back1:before{}

.back2:before{
    top: 0px;
}
.line:before{
    background-color:#EF454A;
    height: 2px;
}
.line-l:before{
    background-color:#EF454A;
    width: 55px;
    top: -10px;
    left: -33px;
}
#intro .line:before{
    bottom: auto;
    top: -20px;
}
#contents1 .line:before, #contents2 .line:before{
    transform: rotate(90deg);
    bottom: auto;
    top: 33px;
    left: 60px;
}





#intro_wrap{
    border-radius: 5px;
    /*background: linear-gradient(20deg, #eee8e8 0%, #fff 80%);*/
}
#intro .intro_title h3{
    height: 250px;
}
#intro p{
    height: 275px;
    margin: 0 auto;
    display: inline-block;
}




#contents1 .con_box,#contents2 .con_box{
    margin-top: 0px;
    padding: 80px;
    background-color: #fff;
    background: linear-gradient(20deg, #eee8e8 0%, #fff 80%);
    border-radius: 5px;
}
#contents1 .con_box h3,#contents2 .con_box h3{
    display: block;
    /*margin: 0 auto;*/
    position: relative;
    transform: translateX(-50%);
    left: 50%;
}



#contents1 #contents1_wrap,
#contents2 #contents2_wrap{
    margin: 100px 10%;
    padding: 0;
    /*background: linear-gradient(20deg, #eee8e8 0%, #fff 80%);*/
    border-radius: 5px;
    overflow: hidden;
}
#contents1 #contents1_wrap{margin-bottom: 170px;}


#info_contact .con_img:before{background-color: rgba(7, 21, 6, 0.2);}

#footer{position:relative;z-index:2;background-color: #f6f6f6;}
#footer_con #logo2 a{max-width: 160px;}

#top_cms{
    background-color: rgba(255,255,255,0.8);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    margin: 0;
    padding-bottom: 100px;
    margin-top: 150px;
}

.top_cms_box{position: relative; z-index:1}
.cms_title{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    /*margin: 0 auto 50px;*/
    position: relative;
    transform: translateX(-50%);
    left: 50%;
}
.more_btn{border-top: 1px solid #f74234; width: 250px;}


#info_contact{ margin: 100px 0;}
#info_contact .con_img{border-radius: 5px;}
#footer_nav{background-color: #fff; margin: 0; padding: 50px 0;}



.back1{
    background-color: rgba(255,255,255,0.3);
}
main.back1:before{display: none;}
#page_title{height: 400px;}
#page_title:before{background-color: rgba(255,255,255,0.3);}

.pager li a:hover{background-color: #f74234!important;}
.cms_4-c .cate_box{background-color: #000;}


#cms_2-h .box_txt1{
    padding-top: 50px;
    margin-left:33.33333%;
}
#cms_2-f #cate1 .cate_title{max-width: 280px;}


#page8 .left,#page8 .right{width: 50%;}
#page8 .contact_mail,#page8 .contact_line{
    width: 95%;
    margin: 0 auto;
}

/* タブレット */
@media screen and (max-width: 768px){
    #wrap{background-position: center;}
    header.scr_header #logo{max-width: 90px;}
    #logo{max-width: 100px;}
    #fakeloader .fl{max-width: 170px;}
    
    #intro .intro_title h3{    height: 217px;}
    #intro p{height: 415px;}
    #contents1 .con_img,
    #contents2 .con_img{margin: 0 auto 20px;}
    #contents1 .line:before, #contents2 .line:before{left: 33px;}
    
    #contents1 #contents1_wrap{margin-bottom: 0px;}
    #contents2 #contents2_wrap{margin-top: 50px;}
    
    #footer_con #logo2 a{max-width: 130px;}
    
    #page_title{height: 300px;}
    
    #cms_2-h .box_txt1{margin-left:0%;}
    #cms_2-f #cate1 .cate_title{max-width: 100%;}
    .column_3_tb .column{margin-right: 0;}
     
    #page8 .contact_mail a{padding: 10px 20px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #wrap{background: none!important;
     background-attachment: scroll;}
    .top_bg{
        position: fixed;
        display: block;
        z-index: -1;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-image: url(./Dup/img/top_bg.jpg);
        background-size: cover;
        background-position: 36% center;
}

    header.scr_header #logo{max-width: 70px;}
    #logo{max-width: 90px;}
    #fakeloader .fl{max-width: 120px;}
    
    #intro{padding: 0 7%;}
    #intro_wrap{padding: 70px 7%;}
    #intro .intro_title h3{height: 180px;}
    #intro p{height: auto;}
    
    #contents1 #contents1_wrap, #contents2 #contents2_wrap{margin: 100px 7%;}
    #contents2 #contents2_wrap{margin-top: 50px;}
    #contents1 .con_box, #contents2 .con_box{padding: 80px 7% 50px;}
    
    
    #top_cms{margin-top: 0px;}
    
    
    #footer_con #logo2 a{max-width: 130px;}
    
    #page_title{height: 250px;}
    #page_title .page_title_box{width: 300px; top: 60%;}
    
    .under_page{padding: 50px 7%;}
    #cms_2-f #cate1 .cate_title{max-width: 220px;}
    #cms_2-f .cate_title{line-height: 1.7;}
    #tel_wrap{padding: 5% 0;}
    #page8 .contact_mail a, #page8 .contact_line a{padding: 20px 0; font-size: 1rem;}
    #page8 .left,#page8 .right{width: 100%;}
    #page8 .left{margin-top: 30px;}
    #page8 .contact_mail a{padding: 20px 20px;}
    #page9 .box_wrap h3{letter-spacing: 0em;}
}

/* ブログ ------------------------------------------------------ */
.topcms_news_type4 .cate_box{
	width: 30.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
	background-color: #fff;
	padding: 0;
	box-shadow: 10px 25px 30px rgb(0 0 0 / 8%);
	border-top: 2px solid #ef454a;
}
.topcms_news_type4 .txt_height{
	height: 3em
}
.topcms_news_type4 .box_title1:empty{
	display: block!important;
}
/* ---------- タブレット ---------- */
@media screen and (max-width: 768px){
}
/* ---------- スマートフォン ---------- */
@media screen and (max-width: 667px){
.topcms_news_type4 .cate_box {width: 100%!important;}
}



/*ギャラリーページ--------------------------------------- */
/* ---------- loopSlider ---------- */
#topcms_gallery_type1 .loopSliderWrap{
    top: 0;
    left: 0;
    height: 430px;
}
#topcms_gallery_type1 .loopSlider {
    margin: 0 auto;
    height: 430px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul {
    height:430px;
    float: left;
    overflow: hidden;
}
#topcms_gallery_type1 .loopSlider .ul .li {
    width: 450px;
    height: 430px;
    float: left;
    display: inline;
    overflow: hidden;
	position: relative;
	box-sizing: border-box;
	padding: 0;
}
#topcms_gallery_type1 .loopSlider .ul .li img{
    border-radius: 5px;
    margin: 0 20px;
}
#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: #212121;
    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: #1c1c1c;
    /*background: #f94046;*/
    color: #fff;
}
#topcms_gallery_type1 .btn a span, .btn a strong {
    text-align: center;
}
#topcms_gallery_type1 .btn a:active span{opacity: 1;}
@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;
}
}
/* 閉じるボタン付き追従バナー */
.fix_banner{
	max-width: 200px;
	position: fixed;
	bottom: 50px;
	right: 80px;
	z-index: 10;
	transition: 0.8s;
	
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 80px;
    right: -15px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.8s;
	background-color: rgba(255,255,255,0.7);
	border: solid 1px #bbb;
	z-index: 11;
	cursor: pointer;
}
.fix_banner .close_bt:hover{opacity: 0.7;}
.fix_banner .close_bt span{
	position: relative;
	display: block;
	width: 30px;
	height: 30px;
}
.fix_banner .close_bt span:before,.fix_banner .close_bt span:after{
	content: "";
	display: block;
	background-color: #7c7c7c;
	height: 2px;
	width: 20px;
	position: absolute;
	top:50%;
	left: 50%;
}
.fix_banner .close_bt span:before{
	-ms-transform: translate(-50%,-50%) rotate(-45deg);
	-webkit-transform: translate(-50%,-50%) rotate(-45deg);
	transform: translate(-50%,-50%) rotate(-45deg);
}
.fix_banner .close_bt span:after{
	-ms-transform: translate(-50%,-50%) rotate(45deg);
	-webkit-transform: translate(-50%,-50%) rotate(45deg);
	transform: translate(-50%,-50%) rotate(45deg);
}
.fix_banner.close {opacity: 0;z-index: -1; filter: blur(10px);}
.fix_banner.close2{opacity: 0;z-index: -1;filter: blur(10px);}

@media  screen and (max-width: 768px){
.fix_banner{max-width: 200px;}
.fix_banner .close_bt{}
}

@media  screen and (max-width: 667px){
.fix_banner{max-width: 150px;right: auto; left: 50%; transform: translateX(-50%); bottom: 10px;}
.fix_banner .close_bt{
	width: 25px;
	height: 25px;
	bottom: 60px;
	right: -12px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}
/* 閉じるボタン付き追従バナー end */

/* --------------------------------------------
 メインイメージ 
---------------------------------------------*/
#main_img:before{background-color: transparent;}
#main_img {
    height: 100vh;
    
}

.catch {
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 9%;
    /*transform: translate(0%, -50%);*/
    width: 45%;
    max-width: 900px;
    
    transform: translate(0%, -50%) scale(1.3);
    opacity: 0;
    filter: blur(30px);
    transition: transform 1.8s ease, opacity 1.7s ease,filter 2s ease;
}
.catch.start{
    transform: translate(0%, -50%) scale(1);
    opacity: 1;
    filter: blur(0px);
}

#main_img > img{
    position: absolute;
    width: auto;
	height: 100%;
	top: 50%;
	left: 50%;
    transform: translate(-50%,-50%);
    vertical-align: bottom;
}
@media screen and (min-width: 1590px){
    #main_img img{
        width: 100%;
        height: auto;
    }
}
/* タブレット */
@media screen and (max-width: 768px){
    #main_img {height: 43vh;}
    .catch {
        top: 49%;
        width: 40%;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    .catch {width: 70%;top: 57%; left: 3%;}
    #main_img > img{
        width: 101%;
        height: auto;
        top: 0%;
        left: 50%;
        transform: translate( -50%, 0%);
    }
    #main_img {
        height: 90vh;
        max-height: 570px;
    }
}

/*--------------------------------------------
 全体 
----------------------------------------------*/
/* ▼▼ 画面幅1280以上でもメニュー表示 ▼▼ */
#pc_nav,#top_pc_nav{display: none;}
.top header{z-index: 5;opacity: 1;}
/* ▲▲ 画面幅1280以上でもメニュー表示 ▲▲ */


body{font-family: "游明朝", "YuMincho", "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Sawarabi Mincho", "serif";}
.hannari,.more_btn{font-family: 'Noto Serif JP', serif;}

.linkStyle{
	color: #EF454A;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color: #EF454A;
	opacity: 0.7;
	text-decoration: none;
}
@media screen and (max-width: 667px){
    body,.letter_3{letter-spacing: 0em;}
}

.txt_color1,.hvr_txt_color1:hover{color: #424242;} 
.txt_color2,.hvr_txt_color2:hover{color: #226600;} 
.txt_color3,.hvr_txt_color3:hover{color: #f74234;} 
/*.txt_color4,.hvr_txt_color4:hover{color: #eae4df;} */
/*.txt_color5,.hvr_txt_color5:hover{color: #f2ede7;}*/ 

.bg_color1,.hvr_bg_color1:hover{background-color: #f74234;}
.bg_color2,.hvr_bg_color2:hover{background-color: #ededec;}
.bg_color3,.hvr_bg_color3:hover{background-color: #f74234;} 
/*.bg_color4,.hvr_bg_color4:hover{background-color: #eae4df;} */
/*.bg_color5,.hvr_bg_color5:hover{background-color: #f2ede7;}*/ 

.border_color1,.hvr_border_color1:hover{border-color: #EF454A;}
.border_color2,.hvr_border_color2:hover{border-color: #c1c1c1;}
.border_color3,.hvr_border_color3:hover{border-color: #c1c1c1;}
.border_color4,.hvr_border_color4:hover{border-color: #c1c1c1;}
/*.border_color5,.hvr_border_color5:hover{border-color: #f2ede7;}*/