﻿/*スクショ用*/
/*html, body{overflow: auto}*/
/*.pp-section{position: static}*/



#page_top .scroll_u .scroll_bar{
    right: -7px;
}
.modal_wrap{opacity: 1;}


/*マウスカーソル*/
.cursor, .follower{
	border-radius: 50%;
	position: fixed;
	top: 0;
	left: 0;
	pointer-events: none;
	z-index: 10;
	transition: 0.3s;
	transition-property: opacity,background,width,height,transform
}
.cursor {
	width: 8px;
	height: 8px;
	z-index: 11;
	background-color: #ebd465;
}
.cursor.is-active{
	background-color: #def3bb;
}
.follower {
	width: 50px;
	height: 50px;
	border: solid 1px #ebd465;
}
.follower.is-active{
	transform: scale(1.8,1.8);
	border: solid 1px #def3bb;
}
/* 自動リンク設定 */
.linkStyle{
	color:#62cba7;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#62cba7;
	opacity: 0.7;
	text-decoration: none;
}

/* color */
.con_bg_color{
    background-color:#6ACEAB;
    width: 180px;
}

body,.txt_color_nomal,.hvr_txt_color_nomal:hover{color: #1a1a1a;}
.txt_white,.hvr_txt_white:hover{color: white;}
.txt_red,.hvr_txt_red:hover{color: #E75C5C;}
.txt_color1,.hvr_txt_color1:hover{color: #28a177;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #e4f2f0;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{
    /*color: #a3d9cc;*/
    color: #84bfb1;
} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #e4f2f0;} /* アクセントカラー2 */

/* background-color */
.bg_white,.hvr_bg_white:hover{background-color: white} /* 白背景 */
.bg_black,.hvr_bg_black:hover{background-color: #4d4d4d;} /* 黒背景 */
.bg_color1,.hvr_bg_color1:hover{
    /*background-color: #9de1ca;*/
    background-color: #7dd9b9;
} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{
    /*background-color: #ebf7f5;*/
    background-color: #f3fffc;
} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #a3d9cc;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #e4f2f0;} /* アクセントカラー2 */
.bg_color_clear,.hvr_bg_color_clear:hover{background-color: transparent!important;}


/* border-color ※!important */
.border_white,.hvr_border_white:hover{border-color: white;}
.border_black,.hvr_border_black:hover{border-color: #cccccc;}
.border_color1,.hvr_border_color1:hover{border-color: #82e0c0;}
.border_color2,.hvr_border_color2:hover{border-color: #e4f2f0;}
.border_color3,.hvr_border_color3:hover{border-color: #82e0c0;}
.border_color4,.hvr_border_color4:hover{border-color: #e4f2f0;}

body{
    background-color: #f8ffff;
}
#cms_1-a .pager li a:hover{
    opacity: 0.3;
}
/*main img、下層ページタイトル*/
#main_img .swiper-wrapper::before{
    background-image: none;
}
#page_title::before{
        background: rgba(0,0,0,0);
}

/*モーダル*/
.modal_bg{
    /*background-color: #62cba7;*/
        background-color: #30b587;
}

#header .h_box_mail a{
        background: linear-gradient(315deg, rgb(193 175 255) 10%,rgb(86 185 215) 50%, rgb(86 207 123) 90%);
}
/*moreボタン#s_content2 */
.more_box{
    /*color: #ddcb73;*/
    /*color: #bad5cc;*/
    color: #70b19b;
}
.more_btn .more_line{
    transform: translateX(-99%);
}
.more_btn a{
    color: #a9aed7;
}
.more_line{
    background: linear-gradient(315deg, rgba(161, 186, 241,1) 10%, rgba(130,224,192,1) 90%);
}
#footer_nav{
    background-color: #7dd9b9;
}
#reserve a{
    background:linear-gradient(315deg, rgb(86 207 123) 5%,rgb(86 185 215) 50%, rgb(86 207 123) 95%);
    width: 300px;
}
@media screen and (max-width: 667px){
    #reserve a{
        width: 220px;
        margin: 20px auto 0;
    }
}

/* 文字 --------------------------------------------------------------------------------------------*/
.sns_link li a{
    width: 30px;
}
#footer_nav li a{
    font-size: 16px;
    color: #fff;
}

#page10 span{
    font-size: 18px;
}
p,
.modal_txt_wrap p,
.cms_5-a p,
.cate_txt1,
.box_title1,
.box_txt1,
.cate_list a,
#cms_1-a .box_txt1,
#page5 .box_txt1,#page5 .box_txt2,
#phone .phone_txt p,
#mail .phone_txt p,
#cms_5-a span,
#cms_5-a p,
#page9 h3,
#page10 a,
#page8 h4 span,
.top_cms_title p,
#cms_3-f .box_title,
.more_btn a,
.sf_contact_tel,
.sf_contact_mail,
.sf_contact_mail a{
    font-size: 19px!important;
    letter-spacing: 0em;
}
#page10 a,
#header ul li a{
    font-size: 22px!important;
}

.intro_item h2,
.cms_5-a h4,
#cms_1-a h3,
#cms_2-a h3,
#phone p,
#mail p,
#reserve p,
.menu-box a,
#cms_5-a .cate_title span{
    font-size: 25px!important;
}

#phone a,#reserve a,
#mail a{
    font-size: 30px;
}
#s_content2 h2,
#cms_3-f h3 span,
#page_title h2{
    font-size: 30px!important;
}
.top_cms_title h2{
    font-size: 34px;
}
#cms_5-a .box_title1 {
    font-weight: normal;
    color: #28a177;
}
p,
.modal_txt_wrap p,
.cms_5-a p,
.cate_txt1,
.box_title1,
.box_txt1,
.cate_list a,
#cms_1-a .box_txt1,
#page5 .box_txt1,#page5 .box_txt2,
#phone .phone_txt p,
#mail .phone_txt p,
.cms_5-a h4,
#cms_5-a span,
#cms_5-a p,
#page9 h3,
#page10 a,
#page8 h4 span,
.top_cms_title p,
.sf_contact_mail a,
#footer_nav li a{
    font-family: 'BIZ UDPMincho', serif;
}

.main_img_txt{
    /*font-family: 'Shippori Mincho', serif;*/
    font-family: 'Shippori Mincho B1', serif;

}
#header .h_box_tel,
.contents_no,
.title_box p{
    font-family: 'Libre Baskerville', serif;
}
.top_cms_title p{
    font-family: 'Cormorant Garamond', serif;
    /*font-family: 'Libre Baskerville', serif;*/
} 



/* TOP(mainはタブレットの上)------------------------------------------------------------------------*/
/* イントロコンテンツ */
.intro_item h2{
    color: #9bd3d9;
}
.intro_item h2:first-letter{
    color: #e0e18d;
    font-size: calc(1rem + 24px);
}
.intro_img a{
        box-shadow: -5px 10px 30px rgba(133, 163, 153, 0.6);
}
#s_content2{}
#s_content2 h2{
    z-index: 2;
    color: #7989ab;
    letter-spacing: 0.02em;
}
.contents_no{
    color: #e0e18d;
}
.contents_no span{
    background-color: #e0e18d;
}
.dec2{
    max-width: 350px;
    width: 30%;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    opacity: 0.6;
}
.dec3{
    max-width: 350px;
    width: 30%;
    top: 33%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    opacity: 0.6;
}
/* TOPCMS */
.intro_img a span{
    background: linear-gradient(315deg, rgba(103, 139, 163, 0.3) 11%, rgb(193 160 207 / 30%) 33%, rgb(233 211 170 / 30%) 62%, rgba(107, 197, 166, 0.3) 92%);
}
.top_cms_title h2{
    color: #727ab1;
    position: relative;
    z-index: 2;
}
.top_cms_title p{
    color: #606060;
}
.cms_5-a h4{
    color: #6ab59b;
    font-weight: normal;
}
.top_cms_title{
    position: relative;
}
.top_cms_title::before{
    content: "";
    background-image: url(./Dup/img/dec01.png);
    width: 175px;
    height: 100px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    transform: translate(-50%,-50%);
    top: 40%;
    left: 50%;
    z-index: 1;
    opacity: 0.4;
}
/* フッター */


/* メニュー ----------------------------------------------------------------------------*/
#logo{
    max-width: 130px;
}
/*.menu-box a:first-letter{*/
/*    color: #e0e18d;*/
/*}*/

/* 下層ページ ----------------------------------------------------------------------------------------*/
/*ページタイトル*/
.title_box{
    /*background: linear-gradient(315deg, rgba(172,174,221,1) 5%, rgba(170,224,194,1) 60%, rgba(241,249,178,1) 96%);*/
}
.title_box h2{
    font-size: calc(1rem + 12px);
    /*color: #fff;*/
}
.title_box p{
    color: #858585;
    font-size: calc(1rem + 8px);
}
.title_box p:first-letter{
    color: #ebdc70;
    font-size: calc(2rem + 8px);
}
/* CMSマージンパディング・文字調整 */
#cms_1-a .cate_box{
    padding-bottom: 30px;
}
#cms_1-a .cate_box,
#cms_2-c .cate,
#cms_3-f .cate_title{
    margin-bottom: 50px;
}
#cms_2-a .cate_box{
    margin-top: 20px;
}
#cms_3-f .box_wrap{
    margin-top: 10px;
}
#cms_3-f .cate_txt1{
    margin-top: 0px;
}
#cms_3-f .cate_txt1{
    margin-bottom: 20px;
}
#cms_3-f .sub_cate{
    margin-bottom: 40px;
}
#cms_2-a .box_txt1{
    padding-bottom: 0;
}
#cms_2-a .cate_box {
    padding-bottom: 30px;
}
#cms_2-a .box_title1{
    padding-bottom: 0px;
}
#cms_2-a .box_title1,
#cms_3-c .cate_title,
#cms_3-c .box_title1{
    font-weight: 600;
}
#cms_2-a .box_item{
    padding-right: 0px;
}
#cms_2-a .box_title1{
    padding-top: 0px;
}



/* CMS1 */

/* CMS2 */

/* CMS3 */
#cms_3-f .box_img1{
    box-shadow: -2px 10px 20px rgba(133, 163, 153, .4);
}
#cms_3-f .box_title{
    width: 70%!important;
}
#cms_3-f .box_txt1{
    width: 30%!important;
}
#cms_3-f .cate_box{
    width: 31%;
    margin: 1%;
}
/* CMS4 */
.flow_type2 .cate_title {
    border-bottom: solid 3px #ccc;
    position: relative;
}
.flow_type2 .cate_title::after {
    content: '';
    display: block;
    background: #7dd9b9;
    width: 30%;
    height: 3px;
    position: absolute;
    left: 0;
    bottom: -3px;
}
.flow_type2 .box_wrap {
	border: 3px solid #82e0c0;
}
.flow_type2 .cate_box {
	padding: 30px;
	width: 100%!important;
}
.flow_type2 .box_txt1 {
    background-color: #f8ffff;
    color: #28a177;
    text-align: center;
}
.flow_type2 .cate_box:not(:last-child) {
	border-bottom: 3px solid #82e0c0;
	position: relative;
}
.flow_type2 .cate_box:not(:last-child)::before,
.flow_type2 .cate_box:not(:last-child)::after {
	content: "";
	border: solid transparent;
	position: absolute;
	top: 100%;
	left: 17%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow_type2 .cate_box:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #7dd9b9;
}
.flow_type2 .cate_box:not(:last-child)::after {
	border-width: 18px;
	border-top-color: #fff;
}

.flow_type2{counter-reset: number 0;}

.flow_type2 .box_txt1::before {
    counter-increment: number 1;
    content: "STEP." counter(number);
    background-color: #7dd9b9;
    padding: 5px 10px;
    font-weight: 700;
    color: #ffffff;
    display: block;
    margin: 0px auto 10px;
    width: 50%;
}
#page5 .d_table-cell{
        background-color: #f8ffff;
}
@media screen and (max-width: 768px){
    .flow_type2 .cate_box{
        padding: 30px 10px;
    }
    #page5 .d_table-cell{
        padding: 10px 0px;
    }
    .flow_type2 .box_txt2{
        padding: 0px 15px;
    }
}
/*-------- スマートフォン --------*/
@media screen and (max-width: 667px){
.flow_type2 .cate_box:first-child {
    padding: 20px 20px 30px 20px;
}
.flow_type2 .cate_box:not(:first-child) {
    padding: 40px 20px 20px 20px;
}
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {
    left: 50%;
}
.flow_type2 .cate_box:not(:last-child)::after {
    border-top-color: #f8ffff;
}
}
/*-------- FireFox --------*/
@-moz-document url-prefix() {
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {top: 98% !important;}
}

/* CMS5 */

/* 店舗会社情報 */

/* 問い合わせ */

/* プライバシーポリシー */

/* サイトマップ */
#page10 a{
    transition: 0.5s;
}
#page10 a:hover{
    opacity: 0.4;
}
/* main img ----------------------------------------------------------------------------------------*/
.main_img_txt{
/*    font-weight: 500;*/
    border: 0px solid;
/*    text-shadow: 1px 1px 5px rgba(116, 155, 141, 0.7);*/
}
.main_dec{
    z-index: 2;
    position: absolute;
    top: 95px;
    left: 50%;
    transform: translate(-50%, 0%);/* X横 Y縦 始点が要素の中心になる */
    width: 100%;
}
.catch {
    z-index: 3;
    position: absolute;
    top: 51%;
    left: 22%;
    transform: translate(-50%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 38%;
}
.catch_sp{
    display: none;
}
.blur{
  animation-name:blurAnime;
  animation-duration:1.5s;
  animation-delay: 5.8s;
  animation-fill-mode:forwards;
}
@keyframes blurAnime{
  from {
  filter: blur(0px);
  opacity: 1;
  }

  to {
  filter: blur(10px);
  opacity: 0;
  }
}

/* タブレット --------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px){
    /* CMSマージンパディング・文字の調整 */
    #cms_2-a .cate_box{
        padding-bottom: 0px;
    }
    #cms_3-f h4.box_title{
        width: 50%!important;
        text-align: left;
    }
    #cms_3-f p.box_txt1{
        width: 50%!important;
    }
    #page7 .box_title1{
        padding-right:0;
    }
    .cursor,.follower {display:none;} 
    
    .modal_txt_wrap{
        padding-left: 20px;
    }
    #cms_3-f .box_title{
        width: 80%!important;
    }
    #cms_3-f .box_txt1{
        width: 20%!important;
    }
    #cms_3-f .cate_box{
        width: 46%;
    }
    
    .sf_access .pd_40px{
        padding-right: 0px;
    }
    #page2, #page7, #page8{
        padding: 0px 38px;
    }
    
}

/* スマホ ------------------------------------------------------------------------------------------*/
@media screen and (max-width: 667px){
    /* CMSマージンパディング・文字の調整 */
    #cms_1-a .cate_box,
    #cms_2-a .cate_box,
    #cms_2-c .box_item{
        padding-bottom: 15px;
    }
    #cms_2-c .box_item,
    #cms_2-a .box_title1{
        padding-top: 0px;
    }
    #cms_2-c .box_item,
    #cms_2-a .box_item{
        padding-left: 0;
        padding-right: 0;
    }
    #cms_2-a .cate_box{
        margin-top: 0px;
    }
    #cms_2-a .cate_title{
        margin-bottom: 0px;
    }
    #cms_2-a .cate_txt1{
        margin-top: 15px;
    }

    #cms_2-a .box_img1{
        margin-top: 25px;
        margin-bottom: 0px;
    }

    #cms_2-c .cate_title,
    #cms_2-a .cate_title{
        font-size: 18px;
    }
    #cms_2-c .box_txt1,
    #cms_3-c .box_title1{
        font-size: 17px;
    }
    #page8 .contact_tel p.d_inline_b{
        font-size: 18px;
    }
    #page9 h3{
        font-size: 14px;
    }
    
    #cms_2-a .cate_title{
        padding: 10px;
    }
    #cms_3-f .cate_title span{
        font-size: 17px;
        font-weight: 600;
    }
    #cms_3-f .sub_cate_title{
        font-size: 16px;
    }
    #page9 .pd_5per_tb{
        padding: 5% 1%;
    }
    #cms_6-c .cate_box{
            margin-bottom: 50px;
    }
    #cms_6-c .arrow{
        bottom: -50px;
        height: 50px;
    }
    /*#s_content2 h2,*/
    /*#cms_3-f h3 span,*/
    /*#page_title h2,*/
    /*#page9 h3{*/
    /*    font-size: calc(1rem + 4px);*/
    /*}*/
     .modal_txt_wrap{
         padding-left: 0px;
     }
     .intro_box{
        padding-right: 30px;
     }


    /*メニュー*/
    #logo {
        max-width: 90px;
    }
    .menu-box a{
        font-size: calc(1rem + 2px);
    }
    .overlay {
        top: 70px;
    }

    /* main img */
    .swiper-wrapper{
        height:auto;
    }
    .catch{
        display: none;
    }
    .catch_sp {
    display: block;
    z-index: 3;
    position: absolute;
    top: 60%;
    left: 30%;
    transform: translate(-50%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 50%;
}
    #video{
        height: auto;
    }
    
    /*イントロコンテンツ*/
    .dec2{
        top: 15%;
    }
    .intro_img a{
        box-shadow: -5px 5px 15px rgba(133, 163, 153, 0.6);
    }


    #page_title .title_box{
        padding: 15px 5px;
        width: 100%!important;
    }

    /*下層ページ*/
    /*.title_box p{*/
    /*    font-size: calc(1rem + 4px);*/
    /*}*/
    /*.title_box p:first-letter{*/
    /*    font-size: calc(2rem + 4px);*/
    /*}*/
    /*#cms_5-a .cate_title span{*/
    /*    font-size: calc(1rem + 4px);*/
    /*}*/
    #page8 #mail a{
        padding: 0 10px;
    }
    #page8 #reserve a{
        padding: 0 10px;
    }
    #cms_3-f .box_item{
        width: 100%!important;
    }
    #cms_3-f .box_txt1{
        width: 100%!important;
    }
    #cms_3-f .cate_box{
        width: 100%;
    }
    .sf_access .pd_40px{
        padding: 0px;
    }
    .overlay .menu-box{
        width: 95%;
    }
    .overlay nav{
        transform: translateY(0%) translateX(0%);
        top: 0;
    }
    .overlay .sns_link{
        margin: 0;
    }
    .sns_link li a{
        padding: 10px!important;
    }
    #page_top{
        right: -7px;
    }
    .intro_box,
    .top_cms.scrollpage_box{
        padding: 10px 31px 10px 15px;
    }
    #cms_5-a .cate_box,
    .cms_5-a .cate_box{
        border-left: 0px;
        border-bottom: 2px;
    }
    #cms_5-a .box_wrap,
    .cms_5-a .box_wrap{
        padding: 5px;
    }
    #page3, #page4, #page5, #page6,#page10{
        padding: 0 30px 0px 15px;
    }
    #page2, #page7, #page8{
        padding: 0px 30px;
    }
    .phone_wrap{
        padding: 10px;
    }
    .phone_wrap a{
        padding: 0;
    }
    .phone_txt {
        padding: 0;
    }

    
    /*文字 ---------------*/
    #header ul li a{
        font-size: 18px!important;
        padding: 5px 0;
    }
    .intro_item h2,
    .cms_5-a h4,
    #cms_1-a h3,
    #cms_2-a h3,
    #phone p, #mail p,
    .menu-box a,
    #cms_5-a .cate_title span{
        font-size: 22px!important;
    }
    #reserve p{
        font-size: 20px!important;
        line-height: 1.5;
    }
    #page_title h2{
            font-size: 21px!important;
    }
    #s_content2 h2, #cms_3-f h3 span{
            font-size: 25px!important;
    }
    .top_cms_title h2{
        font-size: 30px;
    }
    #phone a,#reserve a, #mail a{
            font-size: 18px!important;
    }
}