﻿@media screen and (max-width: 768px){
    
}
@media screen and (max-width: 667px){
    
}
#fakeloader{animation: bgchange 3.5s ease infinite;}
@keyframes bgchange{
      0%   {background:#7093bf;}
      35%  {background:#7093bf;}
      100% {background:#c7d9f3;}
 }

#info_contact .con_img:before{background-color: rgba(184, 221, 243, 0.8);}
.nav_menu_more:first-of-type a .icon:before{content: "\f4ad";}
#footer{background-color: #fffffb;}
#header{padding: 0 5% 0 2%;}
#logo{max-width: 160px;}
header.scr_header #logo{max-width: 130px;}
#header > div{padding: 5px 0;}
#top_cms.back1:before{z-index:-1;}
.back1:before{height: 50%;}
.back2:before{top: 160px;height: 110%;}
.line:before{display:none;}
.fadein_up{
    filter: blur(5px);
    transform: translateY(30px);
    transition: transform 1.5s ease-out,opacity 1.3s ease-out,filter 1s ease-out;
}
.fadein_up.scrollin,.fadein_up2.scrollin{
    filter: blur(0px);
    transform: translateY(0px);
}
.fadein_up2{
    filter: blur(10px);
    transform: translateY(30px);
    animation-delay: 1s;
    transition: transform 2s ease-out,opacity 2.5s ease-out,filter 1.8s ease-out;
}

.con_box_cms{
    background: rgba(255, 255, 255, 0.65);
    box-shadow: 10px 25px 30px rgb(0 0 0 / 8%);
}
#page6 .con_box_cms{
    background: transparent;
    box-shadow: none;
}

/*問い合わせ ---------------------------------*/
#page8 .contact_tel{
    background-color: #5d779f!important;
}

/*main --------------------------------------*/
.main_dec1{
    width: auto;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 11;
}
.main_ani1{
	transform: translateX(0px) rotate(0deg);
	transition: transform 1.5s cubic-bezier(0.4, 0, 1, 1), opacity 2s cubic-bezier(0.4, 0, 1, 1), filter 1.8s cubic-bezier(0.4, 0, 1, 1);
	transition-property: opacity,transform;
	opacity: 1;
	filter: blur(5px);
}
.main_ani1.start{transform: translateX(-100%);opacity: 0;filter: blur(7px);}
.main_ani2{
	transform: translateX(0px)rotate(0deg);
	transition: transform 1.5s cubic-bezier(0.4, 0, 1, 1), opacity 2s cubic-bezier(0.4, 0, 1, 1), filter 1.8s cubic-bezier(0.4, 0, 1, 1);
	transition-property: opacity,transform;
	opacity: 1;
	filter: blur(5px);
}
.main_ani2.start{transform: translateX(100%);opacity: 0;filter: blur(7px);}
.main_dec2{
    width: auto;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 11;
}
@media screen and (max-width: 667px){
    .main_dec1, .main_dec2{
        display: none;
    }
}
#main_img:after{
    content: "";
    display: block;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    border: 1px solid #fff;
    z-index: 1;
}
#main_img:before{background-color: rgba(175, 192, 205, .5);}
#main_img .menu{
    top: 45%;
}
#main_img .menu p{
    max-width: 500px;
}
.catch{
    /*z-index: 3;*/
    /*position: absolute;*/
    /*top: 50%;*/
    /*left: 50%;*/
    /*transform: translate(-50%, -50%);*/
    width: 100%;
}
/*mainタブレット -------------------*/
@media screen and (max-width: 768px){
    #main_img .menu{top: 50%;bottom: auto;}
    #main_img .menu p{max-width: 350px;}
}
/*mainスマホ -------------------*/
@media screen and (max-width: 667px){
    #main_img .menu p{max-width: 300px;}
}

/* 閉じるボタン付き追従バナー */
.fix_banner{
	max-width: 270px;
	position: fixed;
	bottom: 35px;
	right: 60px;
	z-index: 4;
	transition: 0.5s;
}
.fix_banner.close{bottom: -100px;}
.fix_banner.close2{bottom: -100px;}
.fix_banner .close_bt{
	position: absolute;
	bottom: 105px;
    right: 255px;
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	transition: 0.5s;
	background-color: #fff;
	border: solid 2px #475c7d;
	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: #475c7d;
	height: 4px;
	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: 250px;bottom: 50px;right: 45px;}
.fix_banner .close_bt{bottom: 95px;right: 235px;}
}

@media  screen and (max-width: 667px){
.fix_banner{
    max-width: 210px;
    right: auto;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
}
.fix_banner .close_bt{
    width: 25px;
    height: 25px;
    bottom: 60px;
    right: auto;
    left: -15px;
}
.fix_banner .close_bt span{
	width: 25px;
	height: 25px;
}
}
/* 閉じるボタン付き追従バナー end */

/* contents3 --------------------------------------*/
.fadein_left{
	transform: translateX(-50px);
	filter: blur(5px);
	transition: transform 2s ease, opacity 2.3s, filter 2.3s;
	transition-property: opacity,transform;
	opacity: 0;
}
.fadein_left.start{transform: translateX(0);opacity: 1;filter: blur(0px);}

/*inro -------------------------------------------*/
.intro_title,#contents3 .con_title{position:relative;margin-bottom:70px;}
.dec2{
    width: 196px;
    height: 30px;
    bottom: -45px;
    /*left: 50%;*/
    /*transform: translateX(-50%);*/
}
.fadein_dec{
    transform: translate(-50%, 20px);
    left: 50%;
	transition: transform 2s ease, opacity 2.3s ease, filter 2.3s ease;
	transition-property: opacity,filter,transform;
	opacity: 0;
	filter: blur(5px);
}
.fadein_dec.start{opacity: 1;filter: blur(0px);transform: translate(-50%, 0px);left: 50%;}

/* contents --------------------------------------*/
#contents2_wrap{
    padding-top: 80px;
}
#contents2 .con_box{
    margin-top: 10%;
}
#contents2 .con_title{position:relative;z-index:1;}
#contents2 .con_title:before{
    content: "";
    width: 125%;
    height: 100px;
    background: #fff;
    position: absolute;
    top: 0;
    left: -24%;
    z-index: 0;
}

/* contents anim --------------------------------------*/
#contents1 .con_box{margin-top:0px;}
#contents .fadein_up {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 1.5s ease,opacity 2s ease;
}
#contents .fadein_up.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
#contents .fadein_up2 {
    opacity: 0;
    -webkit-transform: translateY(50px);
    -ms-transform: translateY(50px);
    transform: translateY(50px);
    transition: transform 2s ease,opacity 2s ease;
}
#contents .fadein_up2.scrollin {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}
/* contents */
#contents .txt_wrap .con_box {
    width: 30%;
    margin-right: 20px;
    box-sizing: border-box;
}
#contents .txt_wrap .con_box:last-of-type {
    margin-right: 0;
}
#contents .fadeIn_box .con_box {
    opacity: 0;
}
#contents .con_img {
    border-radius: 30px;
}
.portrait_img{height: 300px!important;}
#contents .con_title h3:before {
    content: "";
    display: block;
    width: 70px;
    height: 2px;
    position: absolute;
    bottom: -25px;
	left: 50%;
    -webkit-transform: translate(-50%,0);
    transform: translate(-50%,0);
	background-color: #a4b6d3;
}
#contents .con_txt{
    /*background: #FFF;*/
    height: 270px;
    width: 270px;
    /*border-radius: 50%;*/
    margin: 0 auto 30px;
    background: url(./Dup/img/dec01.png) no-repeat;
    background-size: cover;
}
#contents .con_txt span{
    position: relative;
    top:50%;
    transform: translateY(-50%);
    color: #b19e69;
    font-weight: normal;
}
@media screen and (max-width: 768px){
#contents .txt_wrap .con_box {
    width: calc(33% - 12px);
}
}
@media screen and (max-width: 667px){
#contents .txt_wrap .con_box {
    width: 80%;
    margin-right: 0;
    margin-bottom: 30px;
}
#contents .con_title h3:before {
    bottom: -15px;
}
}


/*配色 ------------------------------------------*/
main:after{
    content: " ";
    position: fixed;
    display: inline-block;
    width: 100vw;
    height: 100%;
    background: url(./Dup/img/bg1.jpg) no-repeat;
    background-size: cover;
    left: 0px;
    top: 0px;
    z-index: -2;
}
header.scr_header{background-color: rgba(151, 189, 207, .65)!important;}
.back1:before, .back2:before{background-color: rgba(215, 255, 253, .3)!important;}
#contents3_wrap:after{background-color: rgba(223, 255, 242, .6)!important;}
.more_btn:hover:after{background-color: rgba(255, 237, 175, 0.2)!important;}

.more_btn{
    background: rgb(255,255,255);
    box-shadow:4px 5px 13px rgba(209, 212, 219, 0.5);
    /*background: linear-gradient(135deg, rgba(255,255,255,0.8) 10%, rgba(235,247,255,0.8) 80%);*/
}
.overlay{background: linear-gradient(135deg, rgba(93,119,159,0.9) , rgb(169 209 225 / 90%) )!important;}

/* メインカラー */
.txt_color1{color: #5d779f}
.bg_color1{background-color: #5d779f}
.border_color1{border-color: #5d779f}

/* アクセントカラー1 */
.txt_color3{color: #d9c788}
.bg_color3{background-color: #d9c788}
.border_color3{border-color: #d9c788}

/* サブカラー */
.txt_color2{color: #efedfd}
.bg_color2{background-color: #efedfd}
.border_color2{border-color: #efedfd}
.hvr_bg_color2:hover{background-color: #e7dfa5;}

/*QA ------------------------------------------------*/
.qa_type2 .cate_box{
	overflow: hidden;
	background-color: #fff;
	box-shadow:10px 25px 30px rgba(0, 0, 0, .08);
}
.qa_type2 .cate_box, .qa_type2 .box_txt1, .qa_type2 .box_txt2{
	border-color: #cccccc;
}
.qa_type2 .box_txt1, .box2 .box_txt1{
	border-color: rgba(0,0,0,0.05)
}
.qa_type2 .box_txt1{
	color: #6f78bd;
}
.qa_type2 .box_txt1, .qa_type2 .box_txt2,
.box2 .box_txt1, .box2 .box_txt2{
	position:relative;
	z-index: +1;
}
.qa_type2 .box_txt1::before, .box2 .box_txt1::before{
	content: "Q.";
	position: absolute;
	top: 19px;
	transform: translateY(-50%);
	left: -26px;
	font-size: 7em;
	color: #fff5cf;
	z-index: -1;
}
.qa_type2 .box_txt2::before, .box2 .box_txt2::before{
	content: "A.";
	position: absolute;
	top: 19px;
	transform: translateY(-50%);
	left: 5px;
	font-size: 7em;
	color: rgba(200,205,240,0.25);
	z-index: -1;
}
/*QAタブレット--------*/
@media screen and (max-width: 768px){
.qa_type2 .cate_box{
	width: 95%!important;
}
}
/*QAスマートフォン--------*/
@media screen and (max-width: 667px){
    .qa_type2 .box_txt1, .qa_type2 .box_txt2, .box2 .box_txt1, .box2 .box_txt2{
        letter-spacing: 0em;
    }
.qa_type2 .box_txt1::before, .box2 .box_txt1::before {
	top: 3px;
	left: -26px;
	font-size: 18vw;
}
.qa_type2 .box_txt2::before, .box2 .box_txt2::before {
	top: 16px;
	left: 5px;
	font-size: 18vw;
}
}


/*NEWS-----------------------------------------------*/
.topcms_news_type4 .cate_box{
	width: 30.33333%!important;
	margin-right: 1.5%;
	margin-left: 1.5%;
}
.topcms_news_type4 .cate_box{
	background-color: #fff;
	padding: 0;
	box-shadow: 10px 25px 30px rgb(0 0 0 / 8%);
	border-top: 2px solid #5d779f;
}
.topcms_news_type4 .txt_height{
	height: 3em
}
.topcms_news_type4 .box_title1:empty{
	display: block!important;
}
/*NEWSタブレット ---------- */
@media screen and (max-width: 768px){
.topcms_news_type4 .cate_box {width: 30%!important;}
}
/* NEWSスマートフォン ---------- */
@media screen and (max-width: 667px){
.topcms_news_type4 .cate_box {width: 100%!important;}
}


/*ギャラリー-------------------------------------*/
.btn_box{
    position: relative;
    z-index: 2;
    margin-bottom: 20px;
}

.btn_box .insta_btn{
    display: block;
    background: #5d779f;
    border: 1px solid rgba(255, 225, 143, .3);
    color: #fff;
    margin: 0 auto;
    text-align: center;
    font-size: 1.2rem;
    padding: 15px 50px;
    box-shadow: 2px 2px 10px #b0b1bf;
    font-weight: 600;
    transition: 0.5s;
}
.btn_box .insta_btn:hover{
    /*transform: translate(0px, 1px);*/
    background: #f0eada;
    border-color: rgba(241, 213, 135, 0);
    /*box-shadow: 0px 0px 0px #03083a;*/
}



/* 自動リンク設定 */
.linkStyle{
	color:#475c7d;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#475c7d;
	opacity: 0.7;
	text-decoration: none;
}

/* CMSマージンパディング・文字の調整 -----------*/
@media screen and (max-width: 768px){
    #logo{max-width: 140px;}
    header.scr_header #logo{max-width: 130px;}
    .back1:before{height: 38%;}
    #contents2 .con_title:before{height: 70px;}
}
@media screen and (max-width: 667px){
    #page8 .con_box{
        padding: 5% 5% calc(5% + 30px);
    }
    .intro_title h3{
        letter-spacing: -0.07em;
    }
    .intro_title p, #contents2 .con_txt, #contents3 .con_txt{
        letter-spacing: -0.03em;
    }
    #contents3 .con_title{
        letter-spacing: 0em;
    }
    #contents1{padding-bottom: 0px;}
    #contents2_wrap {padding-top: 0px;}
    #contents2 .con_title:before{
        height: 65px;
    }
    .back1:before{height: 32%;}
    .page_title_box{background-color: transparent;}
    
    .cate_box{margin-top: 0px;}
}


/* テンプレート --------------------------------*/
#page10 span.en{text-transform:none;}
@media screen and (max-width: 667px){
    .page_title_box{width: 80%;}
    #page9{letter-spacing: -0.07em;}
    #logo{max-width: 85px;}
    header.scr_header #logo{max-width: 85px;}
}