﻿
/* メインイメージ -----------------------------------*/
#main_img{background-color: #def6ff;}
#main_img img{
    border-radius: 100px 0 100px 0;
    max-height: 90vh;
    min-height: 90vh;
    padding: 20px 20px 20px 0;
    width: calc(100% - 20px);
}
.catch img,.main_dec img{
    max-height: auto!important;
    min-height: auto!important;
    width: 100%!important;
    border-radius: 0px!important;
    padding: 0px;
}
.catch {
    z-index: 3;
    position: absolute;
    top: 0px;
    left: 0px;
    /*transform: translate(-50%, -50%); X横 Y縦 始点が要素の中心になる */
    width: 70%;
    max-width: 1050px;
}
.main_dec_box{
    z-index: 2;
    position: absolute;
    bottom: 5px;
    left: 20px;
    width: 60%;
    max-width: 690px;
}
.main_dec{
    width: 30%;
    margin-right: 2%;
}
/* タブレット */
@media screen and (max-width: 768px){
    .main_box{padding-top: 136px;}
    #main_img{height: 45vh;}
    #main_img img{
        min-height: auto;
        padding: 10px 10px 10px 0;
        width: calc(100% - 10px);
    }
    .main_dec_box{width: 55%;}
    .catch{width: 75%;}
}
/* スマホ */
@media screen and (max-width: 667px){
    .main_box{padding-top: 100px;}
    .main_dec_box{width: 70%;}

}

/* トップページ -------------------------------------*/
#attach{height:auto;}
#contents2{
    /*margin-bottom: 70px;*/
    padding: 100px 2% 100px;
}
#contents2 h3,#contents2 .con_txt2{color:#fff;}
#contents2 .txt_wrap .con_box {
    width: 350px;
    margin: 0 15px 30px;
    padding: 30px;
    box-sizing: border-box;
    background-color: #eaf9ff;
    border-radius: 60px;
    color: #1a67b4;
    border: 1px solid #1a67b4;
}

#contents3{padding: 0;}
#contents3 .con_no{
    margin: 0 0 20px;
    text-align: center;
    padding: 5px;
    /*color: #fff;*/
    display: block;
    position: relative;
    z-index: 1;
}
#contents3 .con_no::before{
    width: 150px;
    height: 100%;
    top: 90%;
    right: auto;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 20px;
    z-index: -1;
    color: #def6ff;
}
.point1{
    padding: 50px 10%;
    background-color: #3996e5;
}
.point2{
    padding: 50px 10%;
    background-color: #1a67b4;
}
.point1 .box,.point2 .box{width: 50% !important;}
figure.img6, figure.img7{
    width: 48% !important;
    overflow: hidden;
    margin: 0;
    border-radius: 20px 0 20px 0;
}



/* タブレット */
@media screen and (max-width: 768px){
    #contents2 .txt_wrap .con_box {margin: 0px 8px 30px;}
    figure.img6, figure.img7{
        width: 70%!important;
        margin: 0 auto 20px;
    }
    .point1 .box, .point2 .box{
        width: 100%!important;
    }

}
/* スマホ */
@media screen and (max-width: 667px){
    #contents2{padding: 50px 2% 50px;}
    #contents2 h3, #contents2 .con_txt2{
        padding: 0 6%;
        text-align:center;
        letter-spacing:0em;
    }
    /*#contents2 h3{text-align:center;}*/
    #contents2 .txt_wrap .con_box{padding: 25px 16px;}
    #contents2 .txt_wrap .con_box span{letter-spacing: 0em;}
    figure.img6, figure.img7,.point1 .box, .point2 .box{
        width: 100%!important;
    }
    .time{padding: 5px;}
    .time_kome{letter-spacing:0em;}
    .point1,.point2{
        padding: 50px 6%;
        letter-spacing: 0.02em;
        line-height: 1.6em;
    }
}

/* CMS・下層ページ ----------------------------------*/
#cms_6-d .cate_box:after, .cms_6-d .cate_box:after{color: #dfefff;}
#contact_tel,#contact_line{
    border-radius: 10px;
}
#contact_tel{
    background: linear-gradient(0deg, #1a67b4 0%, #1a67b4 18%, #93ddf9 100%);
    transition: all 0.3s;
    pointer-events: all;
}
#contact_tel:hover{
    background: linear-gradient(180deg, #1a67b4 0%, #1a67b4 18%, #93ddf9 100%);
}
#contact_line{
    border-color:#a5e18d;
    background: linear-gradient(0deg, #36cb1a 0%, #54d53d 18%, #9fed90 100%);
    transition: all 0.3s;
    pointer-events: all;
}
#contact_line a,#contact_tel a{color:#fff;}
#contact_line:hover{
    background: linear-gradient(180deg, #36cb1a 0%, #54d53d 18%, #9fed90 100%);
}
/* タブレット */
@media screen and (max-width: 768px){}
/* スマホ */
@media screen and (max-width: 667px){
    article.page_wrap.page_wrap9{padding: 80px 5%;}
    #page9 h3{
        letter-spacing: -0.05em;
    }
    #page9 p{
        letter-spacing: 0em;
        padding-left: 0;
    }
}

/* 全体 ---------------------------------------------*/
.linkStyle{
	color:#1a67b4;
	text-decoration: underline;
	transition: all 0.5s;
}
.linkStyle:hover{
	color:#1a67b4;
	opacity: 0.7;
	text-decoration: none;
}
.pc_box .head_banner a{
    padding: 15px 0;
    transition:all 0.3s;}
.pc_box .head_banner a:hover{
    opacity: 0.7;
}
header.pd_t-50px{
    padding-top: 20px;
}
.button:hover::after{box-shadow: inset 0 0 0 15em #14b3ef;}
#main_menu ul li a::before{background-color: #0955a1;}
footer{
    background-image: url(Dup/img/img_big1.jpg);
    background-size: cover;
    background-position: center top;
}
.tel_bt a, .head_banner a{
    border-radius: 30px;
    border: 1px solid;
    margin: 10px;
}
.time .font_mon{
    letter-spacing: 0em;
    font-size: 16px;
}


/* タブレット */
@media screen and (max-width: 768px){
    .hamburger{top: 50px;}
    .footer_cms{
        width: 250px;
        margin: 20px auto;
    }
    header #logo{max-width: 140px;}
    .head_banner a{margin:0px}
    .cate_list{margin-bottom: 50px;}
}
/* スマホ */
@media screen and (max-width: 667px){
    .hamburger{top: 35px;}
    header #logo{max-width: 100px;}
    .fat-nav li:last-child{padding-top: 0px;}
    footer{padding: 100px 3% 80px;}
}

/* 配色 ----------------------------------------------*/

.txt_color1,.hvr_txt_color1:hover{color: #1a67b4;} /* メインカラー */
.txt_color2,.hvr_txt_color2:hover{color: #c1eeff;} /* サブカラー */
.txt_color3,.hvr_txt_color3:hover{color: #1a67b4;} /* アクセントカラー1 */
.txt_color4,.hvr_txt_color4:hover{color: #eae4df;} /* アクセントカラー2 */

.bg_color1,.hvr_bg_color1:hover{background-color: #1a67b4;} /* メインカラー */
.bg_color2,.hvr_bg_color2:hover{background-color: #c1eeff;} /* サブカラー */
.bg_color3,.hvr_bg_color3:hover{background-color: #1a67b4;} /* アクセントカラー1 */
.bg_color4,.hvr_bg_color4:hover{background-color: #def6ff;} /* アクセントカラー2 */

.border_color1,.hvr_border_color1:hover{border-color: #1a67b4;}
.border_color2,.hvr_border_color2:hover{border-color: #abcdef;}
.border_color3,.hvr_border_color3:hover{border-color: #1a67b4;}
.border_color4,.hvr_border_color4:hover{border-color: #c1eeff;}

/*テンプレート  -------------------------------------*/
.head_box .fa-envelope:before{content: "\f086";}
@media screen and (max-width: 667px){
    .more a{
        width: 250px;
    }
}
.date{font-size: 16px;}
body, .font_14, .font_2dw,.cms_1-g .box_title1,.cate_txt2,.flow_type2 .box_txt2,.fat-nav__wrapper ul li a,
.font_2dw_tb,.font_100per_sp{
    font-size: 18px;
}
/* スマホ */
@media screen and (max-width: 667px){
    .font_12_sp,.font_14_sp{
        font-size: 16px;
    }
}

/*CMS4ご利用の流れ---------------------------------*/

.flow_type2 .box_wrap {
	border: 3px solid #fff;
}
.flow_type2 .cate_box {
    min-height: 140px;
	padding: 30px;
	width: 100%!important;
	background-color: #def6ff;
}
.flow_type2 .box_txt1 {
    font-weight: bold;
    letter-spacing: 0em;
    background-color: #def6ff;
    color: #1a67b4;
    text-align: center;
    font-size: 20px;
    width: 210px!important;
}

.flow_type2 .cate_box:not(:last-child) {
	border-bottom: 3px solid #1a67b4;
	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%!important;
	left: 150px;
	z-index: 1;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.flow_type2 .cate_box:not(:last-child)::before {
	border-width: 22px;
	border-top-color: #1a67b4;
}
.flow_type2 .cate_box:not(:last-child)::after {
	border-width: 18px;
	border-top-color: #def6ff;
}

.flow_type2{counter-reset: number 0;}

.flow_type2 .box_txt1::before {
    display: none;
}
/*-------- スマートフォン --------*/
@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: #def6ff;
}
.flow_type2 .text_box{
    padding: 10px 0 0 0;
}
.flow_type2 .box_txt1{
    margin: 0px;
    width: 100%!important;
}
}
/*-------- FireFox --------*/
@-moz-document url-prefix() {
.flow_type2 .cate_box:not(:last-child)::before, .flow_type2 .cate_box:not(:last-child)::after {top: 98% !important;}
}