@charset "utf-8";
/* CSS Document */

#base_st{width:100%; line-height: normal;}

#base_st #cont{font-family:游ゴシック; color: #595959;}

#base_st .stUnit p{    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.75em;}

#base_st table{width:100%;    border-collapse: collapse;}

#base_st table th{    padding: 0;
    height: auto;
    vertical-align: middle;
    font-size: 15px;    border: 1px solid #ccc;}

#base_st table th.center{    padding: 10px 0;
    color: #fff;
    font-size: 15px;
    height: auto;}

#base_st table td{border: 1px solid #ccc;  font-weight: 700;}

#leaf_price_list .money{text-align:right; width:10%; font-size:16px;}

#base_st #cont{margin:0;text-align:left;position:relative;}

h2{    text-align:left;
    margin-bottom: 30px;
    font-size: 35px;font-weight:700;}

.block{margin-top:0px;border-bottom: 1px solid #ccc;}

.stUnit{overflow:hidden;}

.firstUnit{padding-top:55px;}

#slideWrapper{height:auto;}

.slides img{width:100%;}

.firstSlide{position:relative;}



.topstate{     font-size: 30px;
    text-align: left;
    position: absolute;
    top: 300px;
    left: 50%;}

#base_st .onlyLogo{display:none;    padding: 5%;
    padding-bottom: 0;}


.all{width: 100%;} 
.leftHalf{width: 50%;float:left;transition:1.2s;} 
.rightHalf{width: 50%;float:right;transition:1.2s;}
.textRightHalf{padding: 50px;
    padding-right: 15%;
}
.textLeftHalf{padding: 50px;
    padding-left: 15%;
}

.textAll{padding: 50px 15%;}

.imgHalf{height:400px;}


.stFlow{padding:30px 15%;    margin-top: -30px;margin-bottom: 30px;}
.stFlow ul{display:flex;flex-wrap:wrap;}
.stFlow ul li{width:16.6666%;border-right:2px solid #ccc;}
.stFlow ul li:first-child{border-left:2px solid #ccc;}
.stFlow ul li div{padding:20px;}
.stFlow ul li div p{text-align:center;}
.stFlow ul li div p img{width: 100px;    height: 100px;}
.stFlow ul li div dt{text-align:center;font-size:20px;font-weight:700;    margin-bottom: 25px;}
.stFlow ul li div dd{font-size:14px;font-weight:500;    word-break: break-all;}


#base_st .st_subtitle{    font-size: 20px;
    color: #f5a7a3;
    font-weight: 700;
    font-family: arial;
    letter-spacing: 0.15em;}

#stNavigation{    width: 100%;
    height: 55px;
    background-color: #ffffff;
    box-shadow: 0px 4px 4px #b1b1b1;
    z-index: 999;
    position: absolute;
	top:0;
    border-top: 4px solid #ff428e;overflow:hidden;
    font-family:游ゴシック; color: #595959;
}

#stNavigation ul{    overflow: hidden;
    float: right;
    margin-top: 12px;}
#stNavigation ul li{    float: left;
    margin-right: 35px;}
#stNavigation ul li a{    font-size: 16px;
    font-weight: 700;}

#stNavigation p{    float: right;
    margin-top: 6px;
    margin-right: 6px;}
#stNavigation p a{    padding: 7px 21px;
    background-color:#F85154;color:#fff;
    display: block;
    border-radius: 35px;text-align:center;font-weight:700;border:2px solid #F85154;transition:0.3s;    font-size: 15px;
    line-height: 1.4em;}

#stNavigation p a:hover{text-decoration:none;background-color:#fff;color:#F85154;}

#menuBtn{    display: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 52px;
    height: 52px;
    padding: 8px 10px;    cursor: pointer;}

#menuBtn span{    display: block;
    height: 2px;
    width: 100%;
    background-color: #868686;
    margin-bottom: 6px;}

#menuBtn span:first-child{}
#menuBtn span:nth-child(2){}
#menuBtn span:nth-child(3){}
#menuBtn span:nth-child(4){    background-color: transparent;
    font-weight: 700;
    font-size: 10px;
    letter-spacing: 0.05em;}


#menuCloseBtn{     display: none;
    position: fixed;
    top: -50px;
    right: 0;
    width: 52px;
    height: 52px;
    padding: 23px 10px;
    cursor: pointer;transition:0.5s;}

#menuCloseBtn span{     display: block;
    height: 2px;
    width: 100%;
    background-color: #ff428e;
    transform-origin: center;}

#menuCloseBtn span:first-child{    transform: rotate(45deg);}
#menuCloseBtn span:last-child{    transform: rotate(-45deg);
    margin-top: -2px;}




#stNavigation #resLogo{display:none;}
#stNavigation #resLogo a{    padding: 0;
    border: none;}
#stNavigation #resLogo a img{}








.top_graph{    margin-top: 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;}

.price_box{    width: 23%;border:1px solid #ccc;    padding: 30px;transition:1.2s;    position: relative;}

.price_box:last-child{margin-right:0;}

.price_box h3{    font-size: 22px;
    margin-bottom: 14px;
    border-bottom: 1px solid #ccc;
    text-align: center;}

.price_box dl{    margin-bottom: 20px;}

.price_box dl dt{font-size: 14px;
    font-weight: 500;    text-align: center;}

.price_box dl dd{    font-size: 16px;
    font-weight: 500;}

.price_box dl dd.priceNum{       font-size: 24px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 12px;}

.price_box dl dd.priceNum span{font-size:30px;}

.price_box .triggerPrice{    position: absolute;
    bottom: 20px;
    width: 100%;
    left: 0;}

#base_st .price_box .triggerPrice p{    text-align: center;
    width: 90%;
    margin: 0 auto;
    background-color: #f85154;
    padding: 3px 0;
    font-weight: 700;
    color: #fff;cursor:pointer;}


.price_box .tab_basic{    margin-bottom: 50px;}

#base_st .price_box .tab_basic p{    font-size: 14px;
    font-weight: 700;position:relative;}

#base_st .price_box .tab_basic p:after{    content: '';
    position: absolute;
    top: 9px;
    right: 0;
    display: block;
    height: 1px;
    width: 65%;
    background-color: #ccc;}

.price_box .tab_basic ul{}

.price_box .tab_basic ul li{    font-size: 14px;
    font-weight: 500;}

.service_box{    overflow: hidden;
    border: 1px solid #ccc;    height: 130px;
    margin-bottom: 30px;}
.service_box .res_imgbox{     float: left;
    width: 32%;
    height: 100%;
    border-right: 1px solid #ccc;    padding: 39px 20px;}
.service_box .res_imgbox a{    width: 100%;
    height: 100%;
    display: block;
    position: relative;}
.service_box .res_imgbox a img{    width: 450px;}
.service_box .res_imgbox a .subtitle{ }
.service_box .res_imgbox a .subtitle h4{    font-size: 23px;}
#base_st .service_box .res_imgbox a .subtitle span{    font-size: 16px;    color: #f85154;
    letter-spacing: 0.2em;
    font-weight: 700;
    margin-top: 5px;
    display: block;}

.service_box .textbox{      float: right;
    width: 62%;
    width: calc( 100% - 470px );
    padding: 23px 10px;}
.service_box .textbox h5{    font-size: 20px;
    margin-bottom: 10px;}
#base_st .service_box .textbox p{font-size: 14px;}


.inquire_st{width:100%;display:flex;justify-content:center;    margin-bottom: 50px;    flex-wrap: wrap;}
.inquire_st p{width:300px;    margin: 0 10px;}
#base_st .inquire_st p a{display:block;width:100%;height:100%;font-size:20px;font-weight:700;text-align:center;background-color:#F85154;color:#fff;border-radius:8px;padding:15px 0;    border-radius: 40px;transition:0.3s;border:2px solid #F85154;}
#base_st .inquire_st p a:hover{text-decoration:none;background-color:#fff;color:#F85154;}


.afterProImg{height:80%;margin-top:30px;}


.afterprogram{}
.afterprogram h3{    margin-bottom: 20px;
    font-size: 25px;}
.afterprogram dl{    margin-bottom: 20px;}
.afterprogram dl dt{    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;}
.afterprogram dl dd{    font-size: 14px;
    font-weight: 500;
    text-indent: -17px;
    padding-left: 17px;
    margin-bottom: 8px;}



/*190725追記*/


.table--option th {
    background: #05abb3;
    color: #fff;
 padding: 10px;
}

#base_st .table--option th {
    padding: 25px;
}

#base_st table.table--option {
    width: 55%;
    border-collapse: collapse;
}


#base_st .table--option td{
    padding: 25px;
}


#base_st ul.mt10{
margin-bottom:20px
}

#base_st .mb25 p.heading__ttl{
font-weight:bold
}
/*190731追記*/

#leaf_bg {
    background-color: #f3f3f3;
    overflow: hidden;
    padding-top: 80px;
margin:0 auto
}

#leaf_main {
    width: 920px;
margin:0 auto;
    margin-top: 30px;
}

#leaf_bg h2{
text-align:center
}

#leaf_bg .st_subtitle{
text-align:center
}


#leaf_main .panel {
    background-color: #fff;
    padding: 30px;
    margin-bottom: 30px;
}


#leaf_main article.panel {
    background-color: #fff;
    padding: 30px;
    margin-bottom: 30px;
}

#leaf_main section .title-contain p img{
width:100%;
height:300px
}



#leaf_main .contain div{
margin-top:20px
}

.panel h3{
font-size:1.6rem;
text-align:center
}

#leaf_main .title-contain{
position: relative;
width:100%
}


.case_top_textbox {
    background-color: rgba(255, 255, 255, 0.85);
    right: 50px;
}



.case_top_textbox{
    position: absolute;
    top: 50px;
    width: 300px;
    height: 180px;
    padding: 20px;
}



/*

#base_st .stUnit p.copy{
font-size:20px;
color:#000
}


#base_st .nav-cate ul{
display:flex;
justify-content: space-between;
width:100%;
margin:0 auto;
text-align:center
}


#base_st .stUnit p.case_num{
font-size:15px;
color:#5f5f5f
}


#base_st .stUnit p.cus-ex{
text-align:right;
margin-top:10px
}


#base_st .nav-cate a li {
    font-weight: bold;
    border: solid 6px #dadada;
    background-color: #ffffff;
    font-size: 1.0rem;
    margin-bottom: 10px;
    padding: 5px 0;
}

#base_st .nav-cate li {
    font-weight: bold;
    border: solid 6px #dadada;
    background-color: #ffffff;
    font-size: 1.0rem;
    margin-bottom: 10px;
    padding: 5px 0;
}


#base_st .nav-cate ul li {
    display: block;
    height: 100%;
    width: 210px;
}



#base_st .nav-cate ul a {
    display: block;
    height: 100%;
    width: 210px;
}

#base_st .nav-cate ul li a:hover{
opacity:0.3;
transition: 0.3s;
text-decoration:none
}
*/


.stUnit #contents{
display:flex;
flex-wrap: wrap;
justify-content:space-between;
margin-top:50px
}


.stUnit #contents a.card{
width:28%;
text-decoration:none;
color:#000000;
margin-bottom:80px
}

.stUnit #contents a.card:hover{
opacity:0.4;
transition: 0.3s;
}

.stUnit #contents .article-list__img img{
height:180px;
margin-bottom:20px
}


.stUnit #contents a.card

.article-list__img{
position:relative
}


.stUnit .article-list__detail .organization li{
text-align:right
}

#base_st .stUnit .article-list__detail p{
margin-bottom:10px
}

#base_st .stUnit .article-list__detail dd.outline p{
font-size:14px;
line-height:1.6em
}



.top_container p:first-of-type{
  color: #acacac;
}



.stUnit #caselist01,#caselist02,#caselist03,#caselist04,#caselist05,#caselist06,#caselist07,#caselist08,#caselist09,#caselist10{
    padding-top: 30px;
    margin-top: -30px;
}


.stUnit #contents-caselist{
    border: solid 8px #eaeaea;
    margin: 50px auto 0;
    padding: 30px;
    width: 920px;
}

.stUnit #contents-caselist .title{
position: relative;
margin:0 auto
}


.stUnit #contents-caselist .title .title-top {
position: absolute;
top: 42px;
width: 400px;
 height: 180px;
 padding: 20px;
 left: 25px;
  background-color: rgba(255, 255, 255, 0.85);
}


.stUnit #contents-caselist .title .title-top p{
font-size:20px;
font-weight:bold;
text-align:left
}


.stUnit #contents-caselist .title img {
    width: 100%;
    height: 250px;
margin-bottom:20px
}


.caselist-panel p:nth-of-type(2) {
    text-align: right;
    margin-top: 5px;
}

.article-list__img .bg1{
background-color: rgba(255, 255, 255, 0.85);
}


.top_container {
    position: absolute;
    top: 16px;
    width: 92.5%;
    height: 150px;
    padding: 20px;
    right: 13px;
}



ul li#menu__single{
position: relative;
}



ul li#menu__single ul#menu__second-level{
position:absolute;
top:40px;
width: 100%;
background: #072A24;
transition: .2s ease;
visibility: hidden;
opacity: 0;
z-index: 1;
}


ul li#menu__single:hover ul#menu__second-level{
top: 50px;
visibility:visible;
opacity: 1;
z-index: 1;
}









@media (max-width: 1600px){
	
	.textRightHalf{padding: 50px;
    padding-right: 8%;
}
.textLeftHalf{padding: 50px;
    padding-left: 8%;
}
	
	.stFlow{padding:30px 8%;}
	




}

@media (max-width: 1200px){
	
	.textRightHalf{padding: 50px 5%;
}
.textLeftHalf{padding: 50px 5%;
}
	.textAll{padding: 50px 5%;}
	
	.stFlow{padding:30px 3%;}
	.stFlow ul li{width:33.3333%;margin-bottom:25px;}
	.stFlow ul li:nth-child(4){border-left:2px solid #ccc;}
	.imgHalf{height:300px;}
.price_box {
    width: 48%;
    margin-bottom: 25px;
}
}


@media (max-width: 900px){
	#stNavigation p{float: left;}
#slideWrapper img{display:none;}
#base_st .onlyLogo{display:block;}
#base_st .onlyLogo img{display:block;}

#stNavigation {overflow:initial;}
#stNavigation ul {    position: fixed;
    top: -100vh;
    right: 0;
    margin: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(234, 234, 234, 0.95);
    text-align: center;
    border-bottom: 1px solid #ccc;
    float: none;
    padding: 30px;transition:0.5s;}

#stNavigation ul.openNav{top:0;}

#stNavigation ul li{    float: none;
    margin: 0;
    margin-bottom: 18px;}

#stNavigation ul li a{font-size: 21px;
    border-bottom: 1px solid #bbbbbb;
    padding: 15px;
    padding-bottom: 6px;
    color: #6d6d6d;
    display: block;
    font-weight: 500;}

#menuBtn{display:block;}
#menuCloseBtn{display:block;}
#stNavigation #resLogo{display:block;margin-top:30px;}

#stNavigation .menuCloseActive{top:0;}

}






@media (max-width: 768px){

	body{width:100%;margin:0;}
	div#header{width:95%;}
	div#footer{width:95%;}
	.stFlow ul li{width:50%;}
	.stFlow ul li:nth-child(4){border-left:none;}
	.stFlow ul li:nth-child(3){border-left:2px solid #ccc;}
	.stFlow ul li:nth-child(5){border-left:2px solid #ccc;}
	.leftHalf{width: 100%;float:none;} 
	.rightHalf{width: 100%;float:none;}
	
	
	.imgHalf{height:170px;overflow:hidden;}
	
#base_st table.table--option {
    width: 100%;
    border-collapse: collapse;
}

.stUnit #contents-caselist {
    width: 100%;
}

.stUnit #contents a.card {
    width: 48%;
}



}


@media (max-width: 670px){
	
.inquire_st p{width:100%;margin-bottom:15px;}
}

@media (max-width: 520px){

	.price_box {
    width: 100%;
    margin-bottom: 25px;
}
	
	
#base_st table.table--option {
    width: 100%;
}

.table--option th,.table--option td{
display:block;
width: 100%;
border: none;
}

.stUnit #contents a.card {
    width: 100%;
}

.stUnit #contents-caselist {
    border: solid 8px #eaeaea;
    margin: 50px auto 0;
    padding: 10px;
    width: 100%;
}


.stUnit #contents-caselist .title .title-top {
position: static;
padding: 0 0 10px 0;
height:auto;
width:100%
}


.stUnit #contents-caselist .title img {
    width: 100%;
    margin-bottom: 20px;
height: auto;
}

#base_st .stUnit p {
    font-size: 17px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.75em;
    padding: 0 10px;
}


}


@media (max-width: 400px){

	.stFlow ul li{width:100%;border:none;}
.stFlow ul li:first-child{border:none;}
	.stFlow ul li:nth-child(3){border:none;}
	.stFlow ul li:nth-child(5){border:none;}
	h2{font-size:28px;}
}





