@charset "utf-8";
/* CSS Document */

/* 追加
------------------------------------------------------------*/
.fb_timeline{text-align:center;margin:0 auto 10px;}
.indent-1 {padding-left:1em;text-indent:-1em;}
.indent-2 {padding-left:2em;text-indent:-2em;}
.fade{display:none;}
.banner_img{text-align:center;margin:0 auto;clear:both;}
br.pcbr{display:block;}
br.spbr{display:none;}
.text_box{text-align:justify;padding:0 1em;}
.text_box p{margin-bottom:1.5em;}
.text_box ul,.text_box ol{margin-left:1.5em;list-style-position: outside;}
.text_box ul li{list-style:none;margin-bottom:0.3em;position: relative;padding: 0 0 0 1.5em;}
.text_box li::before {
  content: "\f054";
  font-family: FontAwesome;
font-weight: 400;
padding-right:5px;
color:#1A3975;
position: absolute;
left: 0.5em;
}
.text_box_w{background:#fff;text-align:justify;padding:1em 2em;margin:20px auto 20px;}
.text_box_w img{width:200px;margin-top:5px;}
.text_box_w li > p{font-weight:400;margin-left:1em;}
.text_box_w p{margin-bottom:1.5em;}

.sptel{display:none;}
.twoblock{display:flex;flex-wrap:wrap;justify-content:space-between;}
.block_area{width:49%;}


.marker{background: linear-gradient(transparent 70%, #FF7F00 70%);padding:0 0 0 0.2em;}
.marker2{color:#317091;font-weight:700;}
.marker-space{letter-spacing:-0.5em;}
.pagetop {display: none;position: fixed;bottom: 50px;right:5%;width:66px;z-index:100;}
.pagetop a {display: block;}
.pagetop img{width:100%;}
.sp_btn{display:none;}

.slides img{width:100%;}
.head_img{position: relative;margin-bottom:30px;}
.head_img img{width:100%;}
.head_title{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-size: 3.0rem;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;margin: 0 auto;color:#2e69b3;background: #fff;display: flex;align-items: center;justify-content: center;width: 25%;border-radius: 30px;line-height: 1;height: 60px;padding-bottom:0.2em;}

h3.title{font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;font-size:2.6rem;font-weight:700;display:inline-block;margin:50px auto 0 !important;position: relative;padding: 0 55px;line-height:1;}
h3.title:before, h3.title:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 3px;
  background-color:#2e69b3;
}
h3.title:before {left:0;}
h3.title:after {right: 0;}


h2.title{font-size:3.0rem;font-weight: 700;font-style: normal;margin:0 auto;color:#1A3975;background:#fff;display:flex;align-items:center;justify-content:center;width:30%;border-radius:30px;line-height:1;height:60px;}

h4.title{font-size:2.6rem;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;line-height:1;color:#000;margin-bottom:0.2em;}



/*back
------------------------------------------------------------*/
.pnavi{text-align:center;font-size:16px;margin-top:20px;}
.green_back{background:#2f72b5;padding:50px 0;margin-bottom:50px;}


/*TOP
------------------------------------------------------------*/
h1.concept{color:#444;font-size:14px;margin-left:1em;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;}
h2.top{font-size:3.0rem;color:#1A3975;font-weight:700;text-align:center;margin-bottom:50px;}

.top_servicearea{display:flex;flex-wrap:wrap;margin:10px auto 0;justify-content:space-between;}
.top_servicebox{position:relative;width:49%;border:#0a7755 1px solid;background:#fff url(/userdata/arrow.svg) calc(100% - 20px) calc(50% - 0.05em) no-repeat;background-size: 8px auto;min-height:60px;margin-bottom:10px;}
.top_servicebox a{position: absolute;top: 0;left: 0;height:100%;width: 100%;transition:all 0.3s;text-decoration:none;display:flex;align-items:center;justify-content:center;line-height:1;}
.top_servicebox a:hover{background:#0a7755 url(/userdata/arrow2.svg) calc(100% - 20px) calc(50% - 0.05em) no-repeat;background-size: 8px auto;color:#fff;}

.top_rinen{border:1px solid #999;padding:2em;text-align:center;width:fit-content;margin:20px auto;font-size:20px;}

.news{border:2px solid #1A3975;padding:30px 30px;border-radius:10px;margin:0px auto 20px;position: relative;}
.news_blog{border:2px solid #1A3975;padding:30px 30px;border-radius:10px;margin:50px auto;position: relative;}

.infobox{display:table;width:100%;padding:15px 10px;border-bottom:2px dotted #8c8c8c;}
.info_date {width: 10%;display:table-cell;line-height:1;vertical-align:middle;font-size:1.6rem;}
.info_cat {width: 22%;display:table-cell;vertical-align: middle;line-height:1;padding-left:10px;text-align:center;color:#fff;}
.info_title {width: 68%;display:table-cell;vertical-align: middle;line-height:1;padding-left:10px;font-size:1.6rem;}
.catbox{height:34px;background:#1A3975;color:#fff;width:100%;font-size:1.4rem;display:flex;align-items:center;justify-content:center;}
.info_img{position: absolute;width:215px;top:-23px;left:50px;}
.info_img img{width:100%;}
.single_info_date{color:#1A3975;margin-top:-50px;background:#fff;width:150px;padding:0 15px;text-align:center;margin-left:-20px;}
.single_info_title{font-size:2.6rem;margin:10px 0 0;border-bottom:dotted 2px #8c8c8c;}
.info_txt{margin-top:20px;}
.info_txt img{width:100%;height:auto;margin-bottom:20px;}

table.price{border-collapse: collapse;border:1px solid #444;font-size:2rem;margin-top:30px;}
table.price th{background:#42A995;color:#fff;padding:1em;vertical-align: middle;border:1px solid #444;}
table.price td{background:#fff;padding:1em;vertical-align: middle;border:1px solid #444;}
td.price_gray{background:#eee !important;text-align:center;}
td.price_pink{background:#FFEAEA !important;text-align:center;}




.link_btn{position:relative;margin:30px auto 50px;display:flex;width:250px;height:50px;text-align:center;background:#1A3975;clear:both;align-items:center;line-height:1;}
.link_btn a{position: absolute;top: 0;left: 0;height:100%;width: 100%;transition:all 0.3s;text-decoration:none;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;}
.link_btn a:hover{background:#fff;color:#1A3975;border:1px solid #1A3975;}

.link_btn2{position:relative;margin:30px auto 50px;display:flex;width:500px;height:50px;text-align:center;background:#1A3975;clear:both;align-items:center;line-height:1;}
.link_btn2 a{position: absolute;top: 0;left: 0;height:100%;width: 100%;transition:all 0.3s;text-decoration:none;color:#fff;display:flex;align-items:center;justify-content:center;line-height:1;}
.link_btn2 a:hover{background:#fff;color:#1A3975;border:1px solid #1A3975;}


/*ACCESS
------------------------------------------------------------*/
.mapbox{width:100%;margin:50px auto 0px;}
.access_img{width:90%;margin:0px auto 20px;}
.access_img img{width:100%;}

/*product
------------------------------------------------------------*/
.pbox_c{text-align:center;margin-bottom:1em;}
.pbox_b{border:1px solid #ccc;padding:1em;margin:10px auto 20px;}
.m_area{display:flex;flex-wrap:wrap;margin:20px auto 0;justify-content:space-between;}
.m_box{width:350px;margin-bottom:16px;}
.m_box img{width:100%;}








/* 1599px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 1399px){
.head_title{font-size:2.4rem;min-height:40px;letter-spacing:0.2em;width:50%;line-height:1;}

}


/* 1099px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 1099px){
.banner_img img{width:90%;}
.area_l{width:100%;margin-bottom:20px;}
.area_r{width:100%;}
.sptable{overflow-x: scroll;}
table.general,table.price_all{white-space: nowrap;}
.m_box{width:32%;margin-bottom:2%;}
}





/* 640px
------------------------------------------------------------*/
@media only screen and (max-width: 640px){
br.pcbr{display:none;}
br.spbr{display:block;}
.banner_img img{width:100%;}
.text_box_w{background:#fff;text-align:left;padding:1em;margin:20px auto 50px;}
.text_box ul,.text_box ol{margin-left:0em;}
.top_point{width:100%;background:#fff;border-radius:10px;padding:1em;font-size:2.0rem;line-height:1.6;margin-bottom:20px;}
.top_rinen{border:1px solid #999;padding:1em;text-align:center;width:100%;margin:20px auto;font-size:14px;}
.philosophy p{font-size:2em;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;color:#1A3975;line-height:1.3;}

.news{padding:20px;border-radius:10px;margin-top:0px;position: relative;}
.infobox{display:block;width:100%;margin:0 auto;padding:10px;border-bottom:2px dotted #8c8c8c;}
.info_date {width:100%;display:block;line-height:1;vertical-align:middle;padding-left:0px;padding-bottom:10px;}
.info_cat {width: 80%;display:block;vertical-align: middle;line-height:1;padding-left:0px;text-align:center;color:#fff;margin-bottom:10px;}
.info_title {width:100%;display:block;vertical-align: middle;line-height:1;padding-left:0px;padding-bottom:5px;}
.catbox{height:24px;background:#1A3975;color:#fff;width:100%;font-size:1.4rem;display:flex;align-items:center;justify-content:center;padding-bottom:0.2em;}
.single_info_title{font-size:2.0rem;margin:10px 0 0;border-bottom:dotted 2px #8c8c8c;}
h2.title{font-size:2.4rem;width:90%;border-radius:30px;line-height:1;height:60px;}
h2.main{font-size:2.0rem;}
.top_servicebox{position:relative;width:100%;}
.point_title{width:100%;margin:0 auto 30px;}

.link_btn2{position:relative;margin:30px auto 50px;display:flex;width:100%;height:50px;text-align:center;background:#1A3975;clear:both;align-items:center;line-height:1;}

h3.title{font-size:2.0rem;}
h3.title2{font-size:20px;font-family: dnp-shuei-mincho-pr6n, sans-serif;font-weight: 700;font-style: normal;text-align:center;margin:40px auto 20px;letter-spacing:0.2em;}
h4.title{font-size:2.4rem;width: 100%;margin:10px 0 0;padding-bottom:10px;}

.head_title{font-size:20px;min-height:40px;letter-spacing:0;width:90%;line-height:1;}


.m_box{width:48%;margin-bottom:4%;}




.sptel{display:flex;position:fixed;bottom:0;left:0;}
.sptel img{width:100%;}
.pagetop {display: none;position: fixed;bottom: 100px;right:5%;width:55px;z-index:100;}



}