﻿@media screen and (max-width: 768px){
}
@media screen and (max-width: 667px){
}

#map .ggmap:nth-child(1){
    margin-bottom: 10px;
}

/* 自動リンク設定 */
.linkStyle{
	color:#ff6d41;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#ff6d41;
	opacity: 0.7;
	text-decoration: none;
}

.fa-envelope:before{content: "\f086";}

/*イラスト配置*/
.dec0{
    max-width: 500px;
    width: 100%;
    top: 0px;
    left: 0;
    animation: type2 3s infinite cubic-bezier(0.39, 0.07, 0.75, 1.01);
}
@keyframes type2 {
	0% {transform:translate(0, 0) rotate(0deg);}
	50% {transform:translate(0, 15px) rotate(0deg);}
	100% {transform:translate(0, 0) rotate(0deg);}
}

#attach{
    position:relative;
    height: 350px;
}
#attach::after{
    content: "";
    background-image: url(./Dup/img/dec04.png);
    width: 100%;
    height: 130px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -10px;
    left: 0;
    
}
#attach::before{
    content: "";
    background-image: url(./Dup/img/dec05.png);
    width: 100%;
    height: 130px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -10px;
    left: 0;
}

#contents3{position:relative;}
#contents3::after{
    content: "";
    background-image: url(./Dup/img/dec06.png);
    width: 100%;
    height: 130px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    top: -10px;
    left: 0;
    z-index: 0;
}

#contents3{position:relative;}
#contents3::before{
    content: "";
    background-image: url(./Dup/img/dec03.png);
    width: 185px;
    height: 240px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -80px;
    left: 7%;
    
    animation: type1 4s infinite ease-in-out;
}
@keyframes type1 {
	0% {transform:translate(0, 0) rotate(0deg);}
	50% {transform:translate(0, 0px) rotate(7deg);}
	100% {transform:translate(0, 0) rotate(0deg);}
}
@media screen and (max-width: 768px){
    #attach{height: 250px;}
    #attach::before,#attach::after{height: 80px;}
    #contents2 .dec{height: 300px;}
    .dec0{
    left: 50%;
    transform:translate(-50%, 0);
    animation: type2 3s infinite cubic-bezier(0.39, 0.07, 0.75, 1.01);
    }
    @keyframes type2 {
    	0% {transform:translate(-50%, 0) rotate(0deg);}
    	50% {transform:translate(-50%, 15px) rotate(0deg);}
    	100% {transform:translate(-50%, 0) rotate(0deg);}
    }
    #contents3::after{height: 65px;}
}
@media screen and (max-width: 667px){
    #attach{height: 150px;}
    #attach::before, #attach::after{height: 40px;}
    #contents2 .dec{height: 150px;}
    #contents3::after{height: 30px;}
    #contents3::before{
        width: 125px;
        height: 160px;}
}



/*下層ページ*/
#page7 .box_item .txt_color1{
    color: #333;
}
#page7 .box{
    border-bottom: 1px dotted #767676;
}
#page10 a{
    color: #fff;
    background: linear-gradient(325deg, rgba(255,95,59,1) 10%, rgb(255 168 106) 80%);
}
#page10 a:hover{
    box-shadow: inset 0 0 0 15em #ffdd90;
}

/*スクロール*/
.scroll_bt{color:#ff773b;}
.scroll_bt span{border-color:#ff773b;}
.scroll_bt span::before{background-color:#ff773b;}

/*キャッチコピー*/
.catch{
    z-index: 3;
    position: absolute;
    top: 36%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    writing-mode: vertical-rl;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(251, 159, 118, 0.7);
    font-size: 3rem;
    /*font-family: 'Kiwi Maru', serif;*/
    font-family: 'Zen Kaku Gothic New', sans-serif;
    background: linear-gradient(0deg, rgb(255 142 100) 5%, rgb(255 180 115) 50%, rgb(255 220 145) 90%);
    padding: 10px 0;
}
.blur1{
  animation-name:blurAnime1;
  animation-duration:2s;
  animation-delay: 1.3s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes blurAnime1{
  from {
  filter: blur(20px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}

.blur2{
  animation-name:blurAnime2;
  animation-duration:0.6s;
    animation-delay: 2.7s;
  animation-fill-mode:forwards;
  opacity: 0;
}
@keyframes blurAnime2{
  from {
  filter: blur(10px);
  transform: scale(1.02);
  opacity: 0;
  }

  to {
  filter: blur(0);
  transform: scale(1);
  opacity: 1;
  }
}
@media screen and (max-width: 768px){
    .catch{
        top: 45%;
        font-size: 2rem;
    }
    .blur1{display: block;}
}
@media screen and (max-width: 667px){
    .catch{
        width: 80%;
        top: 50%;
        font-size: 1.5rem;
        writing-mode: unset;
        padding: 0px 10px;
        background: linear-gradient(-30deg, rgb(255 142 100) 5%, rgb(255 180 115) 50%, rgb(255 220 145) 90%);
    }
    .blur1,.blur2 {display: inline;}
}

/*完全予約制・バナー*/
.head_banner{position:relative;}
.head_banner::before{
    content: "";
    background-image: url(./Dup/img/dec01.png);
    width: 140px;
    height: 55px;
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -57px;
    left: 50%;
    transform: translateX(-50%);
    
    animation: anim_type1 3s infinite ease-in-out alternate;
}
@keyframes anim_type1 {
	0% {transform:translate(-50%, 0);}
	60% {transform:translate(-50%, 0px) ;}
	80% {transform:translate(-50%, -4px);}
	100% {transform:translate(-50%, 0) ;}
}
@media screen and (max-width: 768px){
    .head_banner{position:fixed;}
    .head_banner::before{
        background-image: url(./Dup/img/dec02.png);
        width: 154px;
        bottom: 45px;
        height: 50px;
    }
    header .head_banner a{
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        border-left: 2px solid #fff;
    }
}
@media screen and (max-width: 667px){
    .head_banner::before{
        width: 125px;height: 40px;
    }
}

/*動くグラデーション*/
#contents3{
    background: rgb(255,95,59);
    background: linear-gradient(-15deg, rgba(255,87,60,1) 10%, rgba(255,208,85,1) 73%);
    background-size: 200% 200%!important;
    animation: bggradient1 5s ease infinite;
}
@keyframes bggradient1{
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
#fakeloader{
    background-size: 200% 200%!important;
    animation: bggradient2 1.3s ease infinite;
}
@keyframes bggradient2{
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

/*コンテンツ*/
#contents2 figure{
    margin-top: 40px;
}
#contents3 figure{
    border-radius: 30px;
}
#contents3 figure img{
    position: relative;
    z-index: 1;
}
#contents1 h2,#contents2 h2,#contents3 h2{
    font-family: 'Kiwi Maru', serif;
    /*font-family: 'Zen Kaku Gothic New', sans-serif;*/
}
#contents1 p,#contents2 p,#contents3 p{
    /*font-family: 'Kiwi Maru', serif;*/
    /*font-family: 'Klee One', cursive;*/
    /*font-family: 'Zen Kaku Gothic New', sans-serif;*/
}


/*TOPCMS ------*/
.top_cms_box:nth-child(5){
    background: #fff6e1;
}
.cms_1-a .box_img1{
    border: 1px solid;
    border-radius: 10px;
}

/*余白*/
#contents1{
    padding: 100px 7%;
}
#contents2{
    padding: 100px 7% 150px;
}
#contents3{
    padding: 0 7% 100px;
}


/*文字大きめ*/
#main_menu ul li a,.fat-nav li a{
        font-weight: 700;
}
.fat-nav li a,.font_14,html, body{
    font-size: 16px;
}
#contents1 p, #contents2 p, #contents3 p, .cate_txt1, .box_txt1{
    letter-spacing: 0.02em;
    line-height: 1.7em;
}

/* よくある質問 -----*/
.qa_type1 .cate_box {
	border-radius: 10px;
	border: 1px solid #909090;
	    background: #fffcf6;
}
.qa_type1 .cate_box .arrow {
	position: absolute;
	left: 2px;
	top: 50%;
	margin-top: 0px;
	transform: translateY(-50%);
}
.qa_type1 .cate_box .open_bt{
	position: relative;
	width: 100%;
	cursor: pointer;
	padding: 20px 0
}
.qa_type1 .cate_box .open_bt .arrow::before, .qa_type1 .cate_box .open_bt .arrow::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 1px;
	background-color: #5c5c5c;
}
.qa_type1 .cate_box .open_bt .arrow::before {
	top: 48%;
	left: 15px;
	transform: rotate(0deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow::after {
	top: 48%;
	left: 15px;
	transform: rotate(90deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::before {
	transform: rotate(-135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .arrow.arrow_be::after {
	transform: rotate(135deg);
	transition: all 0.5s;
}
.qa_type1 .cate_box .open_bt .box_title1 {
	display: inline-block;
	position: relative;
	letter-spacing: 1px;
	cursor: pointer;
	margin-left: 87px;
}
.qa_type1 .cate_box .open_bt .box_title1::before {
	content: "Q.";
	position: absolute;
	left: -32px;
	top: 0px;
	display: inline-block;
	vertical-align: baseline;
	color: #ff773b;
}
.qa_type1 .cate_box .box_item {
	display: none;
	padding: 0px 30px 0px;
	font-size: 16px;
}
.qa_type1 .cate_box .box_txt1 {
	padding: 1em;
	background-color: #fff6e1;
	border-radius: 5px;
}

@media screen and (max-width: 768px){
.qa_type1 .cate_box .open_bt .box_title1 {
	padding-right: 20px;
}
}
@media screen and (max-width: 667px){
.qa_type1 .cate_box .open_bt {
	padding: 5px 0 7px;
}
.qa_type1 .cate_box .open_bt .box_title1 {
	margin-left: 73px;
}
.qa_type1 .cate_box .box_txt1 {
	padding: 1em 1em;
}
.qa_type1 .cate_box .box_item{
    padding: 0px;
    letter-spacing: -0.03em;
}
}


/*流れ -----*/
.flow_type3 .cate{counter-reset: box;}
.flow_type3 .cate_box{counter-increment: box;}
.flow_type3 .box_item{padding-top: 60px;}
.flow_type3 .box_title1{z-index: 0}
.flow_type3 .box_title1::before, .flow_type3 .box_title1::after{
	position: absolute;
	content: "";
	display: block;
	pointer-events: none
}
.flow_type3 .box_title1::before {
	content: "0"counter(box);
	font-size: 86px;
	color: #fff3d7;
	left: 0;
	top: -70px;
	z-index: -1;
}
.flow_type3 .box_title1::after{
	width: 100%;
	height: 1px;
	bottom: 0;
	left: 0;
	background-color: #222
}
/* スマートフォン ---*/
@media screen and (max-width: 667px){
.flow_type3 .box_title1::before{
	left: auto;
	right: 0;
	top: -65px
}
.flow_type3 .box_item {
    padding-top: 36px;
}
}


/*color ------*/
.button2:hover{box-shadow:none;}
.more a{background: linear-gradient(325deg, rgba(255,95,59,1) 10%, rgb(255 168 106) 80%);}
.button:hover::after{box-shadow: inset 0 0 0 15em #ffdd90;}
#main_menu ul li a::before{background-color: #ff7f3b;}
.head_banner a{}
header{
    background: linear-gradient(0deg, rgb(255 177 121) 5%, rgb(255 215 164) 30%, rgb(255 243 215) 80%);
}
@media screen and (max-width: 768px){
    header{background: linear-gradient(15deg, rgb(255 177 121) 5%, rgb(255 215 164) 30%, rgb(255 243 215) 80%);}
}
#contents3{
    /*background: rgb(255,95,59);*/
    /*background: linear-gradient(-15deg, rgba(255,110,95,1) 10%, rgba(255,155,100,1) 73%);*/
}
#contents3 .con_no{color: #fff9e5;}
#fakeloader{
    /*background: linear-gradient(-15deg, rgba(255,77,59,1) 10%, rgba(255,150,100,1) 73%);*/
    background: linear-gradient(-15deg, rgb(255 65 46) 10%, rgb(255 157 100) 73%);
}
.txt_color1 {color: #ff6d41;}
.txt_color3 {color: #ffbd79;}
.bg_color1 {background-color: #ff6d41;}
.bg_color2,.bg_color3 {background-color: #ff773b;}
.border_color1 {border-color: #ff773b;}
.border_color2 {border-color: #767676;}
.border_color3 {border-color: #fff2cc;}
.border_color4 {border-color: #ffdaa9;}
.hvr_bg_color1:hover {background-color: #ffdd90;}


/* 下層ページ ------*/
/* CMSマージンパディング・文字調整 */
#cms_1-a .cate_box{
    padding-bottom: 30px;
}
#cms_1-a .cate_box,
#cms_2-c .cate,
#cms_2-a .cate_list,
#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;
}
#cms_4-b .cate_box{
    margin: 0%;
}
#cms_4-b .box_wrap{
    display: flex;
    justify-content: space-between!important;
}
#cms_4-b .cate_txt1{
    padding: 0%;
    padding-bottom: 2%;
}


/* タブレット ------*/
@media screen and (max-width: 768px){
    /* CMSマージンパディング・文字の調整 */
    #cms_2-a .cate_box{
        padding-bottom: 0px;
    }
    #cms_3-f h4.box_title{
        width: 60%!important;
    }
    #cms_3-f p.box_txt1{
        width: 40%!important;
    }
    #page7 .box_title1{
        padding-right:0;
    }
    #page7 .grid_3{
        width: 30%!important;
    }
    #page7 .grid_9{
        width: 70%!important;
    }
    #page8 #tel_txt p{
        letter-spacing: 0em;
    }
    .footer_cms{
        letter-spacing: 0.06em;
    }
}

/* スマホ ---------*/
@media screen and (max-width: 667px){
    /* CMSマージンパディング・文字の調整 */
    #cms_5-b .cate_box .arrow, .cms_5-b .cate_box .arrow{
        left: 0px;
    }
    #cms_5-b .cate_box .open_bt .box_title1, .cms_5-b .cate_box .open_bt .box_title1{
        margin-left: 60px;
    }
    #cms_5-b .cate_box .open_bt .box_title1::before, .cms_5-b .cate_box .open_bt .box_title1::before{
        left: -20px;
    }
    #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;
    }
        #page7 .grid_3,#page7 .grid_9{
        width: 100%!important;
    }
    #page7 .box_item .txt_color1{
        letter-spacing: 0.08em;
        line-height: 1.7em;
    }

}

/*テンプレート*/
@media screen and (max-width: 667px){
    .more a{
        width: 250px;
    }
}