﻿/* CMS・下層ページ ----------------------------------*/
#cms_3-b .cate_box,#cms_6-a .cate_box,#cms_5-e .box_title1{
    background-color: #e9f4ee;
}
#cms_3-b #cate0 .price{
    display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content: center;
align-items: center;
flex-direction: row;
}
#cms_3-b #cate0 .box_title1{width:70%;}
#cms_3-b #cate0 .box_title2{width:30%;border-bottom:1px solid #01483a;}
#cms_3-b .cate_txt2{border-left: 2px solid #c1e1cf;}

#cms_6-a .cate_box{
    margin-bottom: 30px;
}

#sns_contact{
    padding: 30px;
    background: linear-gradient(115deg, rgba(0,132,158,1) 0%, rgba(136,212,81,1) 78%, rgba(242,251,67,1) 100%);
}
.cms_5-e{
    max-width: 100%;
    margin-bottom: 0px;
}
#sns_contact .tel a{
    width: 550px;
    margin: 0 auto 40px;
}
.contact_text{
    background-color: rgba(255, 255, 255, 0.3);
    width: 600px;
    margin: 0 auto 50px;
    padding: 10px;
    border-radius: 10px;
}

/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    #sns_contact{padding: 20px;}
    #sns_contact a{
        letter-spacing: 0.05em;
    }
    #sns_contact .tel a{width: calc(100% - 20px);}
    .contact_text{width:  calc(100% - 20px);letter-spacing: 0em;}
    
    #cms_6-a .cate_box{padding: 15px;}
    #cms_6-a .box_item{padding: 0;}
}

/* メインイメージ -----------------------------------*/
#main_img{
    background-image: url(./Dup/img/main_img.jpg);
    background-size: cover;
    background-position: center top;
}
#main_img::after{
    background: linear-gradient(195deg, rgba(255,255,255,0) 60%,rgba(0,0,0,0.3) 100%);
}

.catch {
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 62%;
    transform: translate(-50%, -50%);/* X横 Y縦 始点が要素の中心になる */
    width: 40%;
}

.top_dec{
    width: 100%;
    max-width: 180px;
    z-index: 5;
    position: relative;
}
.t_dec1{margin-bottom: 20px;}
.t_dec2{margin-bottom: 20px;}
.t_dec3{}

.anim_box{
    width: 13%;
    position: relative;
    top: 33%;
    transform: translateY(-50%);
    z-index: 3;
}

.anim_box .item{
	transform: translateX(0px);
	transition: transform 1.5s ease, opacity 2s;
	transition-property: opacity,transform;
	opacity: 0;
}
.anim_box .item.start{transform: translateX(-60px);opacity: 1;}


/* タブレット */
@media screen and (max-width: 768px){
    #main_img::after{background: transparent;}
    
    .catch{top: 40%;left: 65%;width: 70%;}
    
    .anim_box{width: 70%;top: 42%;left: 0px;}
    .anim_box .item{transform: translateY(0px);}
	.anim_box .item.start{transform: translateY(-90px);}
	
	.top_dec{width: 160px;}
	.t_dec1{margin-bottom: 0px;margin-right: 20px;}
    .t_dec2{margin-bottom: 0px;margin-right: 20px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    
    .catch{top: 42%;}
    
    .anim_box{width: 100%;transform: translateY(0%);top: auto;bottom: 110px;justify-content: space-around}
    .anim_box .item.start{transform: translateY(-20px);}
    
    .t_dec1{margin-right: 0px;}
    .t_dec2{margin-right: 0px;}
    .top_dec {width: 31%;}
}

/* トップページ -------------------------------------*/
/*#intro #intro_box{margin-top: 150px;}*/
#intro .intro_txt{font-size: 32px;}
#intro #intro_box #intro_txt h3::after{white-space: unset;text-align: center;}
#contents_links .box_wrap .box a div span,#top_cms .top_cms_box .more a{
    background: linear-gradient(115deg, rgba(0,132,158,0.6) 0%, rgba(136,212,81,0.6) 78%, rgba(242,251,67,0.6) 100%);
}

/*▼モーダル関連▼*/
.modal-open .more_item{
    width: 160px;
    padding: 3px;
}
#contents .con_box_item{
    padding: 30px;
    color: #fff;
}
#contents h3{
    width: 100%;
    text-align: center;
}
#contents div.modal-open{
    margin: 20px auto 0;
}
.modal-open span{
    transition: all 0.3s;
    color: #fff;
    background: linear-gradient(115deg, rgba(0,132,158,1) 0%, rgba(136,212,81,1) 78%, rgba(242,251,67,1) 100%);
}
.modal-open span:hover{
    opacity: 0.7;
}
#contents div.modal-open::after{
    background-color: transparent;
    display: none;
}
#contents div.modal-open span{cursor: pointer;}
/*▲モーダル関連▲*/
/* タブレット */
@media screen and (max-width: 768px){
    #intro .intro_txt{font-size: 24px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    #intro .intro_txt{font-size: 18px;}
    #intro #intro_box #intro_txt h3::after{text-align: left;}
}

/* 全体 ---------------------------------------------*/
.en_font{
    font-family: 'Red Hat Display', sans-serif;
}
#header h1{padding: 8px;}
h1::after{
    border-width: 195px 195px 0 0;
    border-color: #e1f145 transparent transparent transparent!important;
}

.linkStyle{
	color: #00849e;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color: #00849e;
	opacity: 0.7;
	text-decoration: none;
}
.btn_container{
    margin-top: 20px;
    margin-bottom: 10px;
}
.btn_container a{
    background-color: #01483a;
    max-width: 300px;
    color: #fff;
    text-align: center;
    padding: 10px 20px;
}
/* タブレット */
@media screen and (max-width: 768px){
    #page_title{
        padding-top: 230px;
        padding-bottom: 170px;
    }
}
/* スマホ */
@media screen and (max-width: 667px){
    #page_title {
        padding-top: 150px;
        padding-bottom: 100px;
    }
    h1::after{border-width: 120px 120px 0 0;}
    
    .btn_container a{
        margin: 0px auto;
        display: block;
    }
    #footer_box h2{
        padding: 0 15px;
    }
}

/* 配色 ----------------------------------------------*/

.txt_color1,.hvr_txt_color1:hover{color: #01483a;} 
.txt_color2,.hvr_txt_color2:hover{color: #f2fb43;} 
.txt_color3,.hvr_txt_color3:hover{color: #00849e;} 
.txt_color4,.hvr_txt_color4:hover{color: #acdde7;} 
/*.txt_color5,.hvr_txt_color5:hover{color: #f2ede7;}*/ 

.bg_color1,.hvr_bg_color1:hover{background-color: #01483a;}
.bg_color2,.hvr_bg_color2:hover{background-color: #00849e;}
.bg_color3,.hvr_bg_color3:hover{background-color: #f2fb43;} 
.bg_color4,.hvr_bg_color4:hover{background-color: #acdde7;} 
/*.bg_color5,.hvr_bg_color5:hover{background-color: #f2ede7;}*/ 

.border_color1,.hvr_border_color1:hover{border-color: #01483a;}
.border_color2,.hvr_border_color2:hover{border-color: #f2fb43;}
.border_color3,.hvr_border_color3:hover{border-color: #00849e;}
.border_color4,.hvr_border_color4:hover{border-color: #acdde7;}
/*.border_color5,.hvr_border_color5:hover{border-color: #f2ede7;}*/

/*テンプレート  -------------------------------------*/


/* モーダル */
html.modalset{
	overflow: hidden;
}
.modal{
	display: none;
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	z-index: 9999;
}
.modal-wrap {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: 20px;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.modal-wrap::-webkit-scrollbar {
	display: none;
}
.modal-wrap:after {
	content: '';
	display: inline-block;
	vertical-align: middle;
	width: 1px;
	height: 100%;
}
.modal-bg{
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0,0,0,0.3);
	width: 100%;
	height: 100%;
}
.modal-box{
	width: 90%;
	box-sizing: border-box;
	display: inline-block;
	vertical-align: middle;
	position: relative;
}
.modal-box:before{
	content: "";
	display: block;
	background-color: #fff;
	box-sizing: border-box;
	width: 100%;
	height: 5%;
	position: absolute;
	bottom: 0;
	left: 50%;
	-ms-transform: translate(-50%,0);
	-webkit-transform: translate(-50%,0);
	transform: translate(-50%,0);
	z-index: 1;
}
.modal-box .inner{
	background: #fff;
	max-height: 500px;
	overflow: auto;
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.modal-box .inner::-webkit-scrollbar {
	display:none;
}
.modal-box .inner > :first-child {
	margin-top: 0;
}

.modal-box .modal-close{
	cursor: pointer;
	position: absolute;
    top: 0;
    right: 0;
}
.modal-box .modal-close span{
	display: block;
	width: 50px;/*枠の大きさ*/
	height: 50px;/*枠の大きさ*/
	position: relative;
}

.modal-box .modal-close span::before, .modal-box .modal-close span::after{
	content: "";
	display: block;
	width: 100%;/*バツ線の長さ*/
	height: 2px;/*バツ線の太さ*/
	background: #000;
	transform: rotate(45deg);
	transform-origin:0% 50%;
	position: absolute;
	top: calc(14% - 1px);
	left: 14%;
}

.modal-box .modal-close span::after{
	transform: rotate(-45deg);
	transform-origin:100% 50%;
	left: auto;
	right: 14%;
}
.modal-open span{cursor: pointer;}

.modal_title_wrap{
	top: 0;
	left: 0;
}
.modal_title1{padding-top: 60px;}
.modal_title1:before{
	content: "";
	display: block;
	background-color: #666; 
	width: 1px;
	height: 50px;
	position: absolute;
	top: 0;
	left: 2px;
}
.modal_title1 span{
	transform: rotate(90deg);
	display: block;
	line-height: 1;
}
/* スマホ */
@media screen and (max-width: 667px){
    .modal-box .inner{height: 70vh;}
    .modal-box .modal-close span{width: 40px;height: 40px;}
}
/* link_type1 -----------------------------*/
.link_type1 .link_top .link_title {
    font-size: 20px;
    margin-bottom: 20px;
    text-align: center;
	margin-bottom: 30px;
    color: #fff;
    font-weight: bold;
}
.link_type1 .link_top .link_title{
    font-size: 20px;
    margin-bottom: 20px;
}
.link_type1 .link_top a{
	padding-top: 80px;
    padding-bottom: 60px;
}
.link_type1 .link_top a:hover{
    /*background-color: #ededeb;*/
}
.link_type1 .link_top a:hover .link_img1{
    transform: translate(-50%, -50%) scale(1.1,1.1);
    opacity: 0.9;
}
@media screen and (max-width: 667px){
.link_type1 .link_top .link_title{
    font-size: 15px;
}
}
/*メニュー -------------------------------------------*/
.cms_3-b .cate_box{
    border-left: none;
    border-bottom: 1px solid #01483a;
    display:-webkit-box;
display:-moz-box;
display:-ms-box;
display:-webkit-flexbox;
display:-moz-flexbox;
display:-ms-flexbox;
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:flex;
-webkit-box-lines:multiple;
-moz-box-lines:multiple;
-webkit-flex-wrap:wrap;
-moz-flex-wrap:wrap;
-ms-flex-wrap:wrap;
flex-wrap:wrap;
justify-content: center;
align-items: center;
flex-direction: row;
}
.cms_3-b .box_title1{width:50%;}
.cms_3-b .box_title2{
    width:50%;
    text-align: right;
}

/* スマホ */
@media screen and (max-width: 667px){
    .cms_3-b .box_title1,.cms_3-b .box_title2{width:100%;}
}


/* 閉じるボタン付き追従バナー */
.dec02{
    position: fixed;
    z-index: 3;
    bottom: 135px;
    right: 130px;
    width: 50px;
animation-name:updownAnime2;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: reverse;
    animation-duration: 2s; /* アニメーション時間 */
}

@keyframes updownAnime2{
  0% {transform: translateY(0);}
  60% {transform: translateY(0);}
  70% {transform: translateY(-3px);}
  80% {transform: translateY(0px);}
  90% {transform: translateY(-3px);}
  100% {transform: translateY(0px);}
}
.dec01{
    position: relative;
    z-index: 2;
    animation:9s linear infinite rotation1;
}
@keyframes rotation1{
  0%{ transform:rotate(0);}
  100%{ transform:rotate(-360deg); }
}
.bnr_yoyaku{
    position: fixed;
    z-index: 10;
    bottom: 10px;
    right: 70px;
    width: 160px;
}
.fix_banner{
	max-width: 160px;
	position: fixed;
	bottom: 10px;
	right: 70px;
	z-index: 10;
	transition: 0.5s;
}
.fix_banner .close_bt{
	position: absolute;
	bottom: 120px;
    right: 0px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.5s;
	background-color: rgba(255,255,255,0.7);
	/*border: solid 2px #004b9b;*/
	z-index: 5;
	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: #9a9a9b;
	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;
}
.fix_banner.close2{opacity: 0;z-index: -1;}

@media  screen and (max-width: 768px){
    .fix_banner{max-width: 150px;}
    .fix_banner .close_bt{bottom: 120px;right: 0px;}
    .bnr_yoyaku{width:150px;}
    .dec02{
        right: 124px;width: 50px;
    }
}

@media  screen and (max-width: 667px){
    .dec02{
        right: auto;
        left: 48px;
        bottom: 95px;
        width: 30px;
    }
    .bnr_yoyaku{
        width:110px;
        bottom: 10px;
        right: auto;
        left: 10px;
    }
    .fix_banner{
        max-width: 110px;
        bottom: 10px;
        right: auto;
        left: 10px;
    }
    .fix_banner .close_bt{
    	width: 25px;
    	height: 25px;
    	bottom: 90px;
    	right: auto;
    	left: 0px;
    }
    .fix_banner .close_bt span{
    	width: 25px;
    	height: 25px;
    }
}
/* 閉じるボタン付き追従バナー end */