
/* share
===============================================================*/

.clearfix:after {
content: " ";  
display: block; 
visibility: hidden; 
clear: both; 
height: 0.1px; 
font-size: 0.1em; 
line-height: 0; 
}
.clearfix { display: inline-block; }
/* exlude MacIE5 \*/
* html .clearfix { height: 1% }
.clearfix {display:block;}
/* end MacIE5 */


.clear{ clear:both;}


#main{
 width: 100%;
 box-sizing: border-box;
 overflow: hidden;
 
}

.contents{
	width:1500px;
	margin:0 auto;
	text-align:center;
	}



@media screen and (max-width: 1500px) {

.contents{
	width:100%;
	margin:0 auto;
	padding:0 2%;
 box-sizing: border-box;
	}

}

@media screen and (max-width: 1024px) {


 
}








/* title
===============================================================*/

#top_contents h2{
 text-align: center;
 display: inline-block;
 font-family: 'Sawarabi Mincho', "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho" !important; 
 border-bottom: 3px solid #1d2088;
 padding: 0 5% 1%;
 font-size: 28px;
 font-weight: normal;
 letter-spacing: 3px;
 margin: 0 auto 5%;
}

.normalArea h2{
 text-align: center;
 display: inline-block;
 font-family: 'Sawarabi Mincho', "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho" !important; 
 border-bottom: 3px solid #1d2088;
 padding: 0 5% 1%;
 font-size: 28px;
 font-weight: normal;
 letter-spacing: 3px;
 margin: 0 auto 5%;
}

.normalArea h3{
 text-align: left;
 font-size: 22px;
 margin-bottom: 2.5%;
 border-left: 3px solid #1d2088;
 padding-left: 1.5%;
 font-weight: normal;
}


@media screen and (max-width: 1280px) {
 
#top_contents h2,
.normalArea h2{
 font-size: 22px;
}
 
 
}


@media screen and (max-width: 640px) {
 
 #top_contents h2,
.normalArea h2{
 font-size: 19px;
 margin: 0 auto 7%;
}
 
}






/* top
===============================================================*/

.visual{
 background: #000;
 position: relative;
 margin-bottom: 2%;
}



.visual .visual_copy{
 position: absolute;
 bottom: 10%;
 left: 0;
 background: rgba(0,0,0,.8);
 color: #fff;
 text-align: left;
 padding: 2% 4%;
 font-family: 'Sawarabi Mincho', "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho" !important; 
}


.visual .visual_copy h1{
 font-size:30px;
 line-height: 1.5;
 margin-bottom: 3%;
 font-weight: normal;
 letter-spacing: 3px;
}
.visual .visual_copy p{
 font-size: 16px;
 font-weight: normal;
 letter-spacing: 3px;
}



@media screen and (max-width: 1280px) {
 
.visual .visual_copy h1{
 font-size:22px;
 line-height: 1.5;
 margin-bottom: 3%;
 font-weight: normal;
 letter-spacing: 2px;
}
.visual .visual_copy p{
 font-size: 16px;
 font-weight: normal;
 letter-spacing: 2px;
}
 
}


@media screen and (max-width: 1024px) {
 
.visual .visual_copy h1{
 font-size:18px;
 line-height: 1.4;
 margin-bottom: 2%;
 font-weight: normal;
 letter-spacing: 1px;
}
.visual .visual_copy p{
 font-size: 14px;
 font-weight: normal;
 letter-spacing: 1px;
}
 
 
}

@media screen and (max-width: 480px) {

.visual .visual_copy h1{
 font-size:16px;
 line-height: 1.4;
 margin-bottom: 2%;
 font-weight: normal;
 letter-spacing: .5px;
}
.visual .visual_copy p{
 font-size: 11px;
 font-weight: normal;
 letter-spacing: .5px;
}
 
}
 


.top_outline{
 letter-spacing: -.4em;
 margin-bottom: 10%;
}
.top_outline li{
 width: calc(100% / 4);
 padding: 0 .5%;
 box-sizing: border-box;
 display: inline-block;
 letter-spacing: 0px;
 vertical-align: top;
 color: #fff;
}

.top_outline li .top_o1{
 background: url(../images/outline_box_01.jpg) no-repeat top center;
 background-size: cover;
}
.top_outline li .top_o2{
 background: url(../images/outline_box_02.jpg) no-repeat top center;
 background-size: cover;
}
.top_outline li  .top_o3{
 background: url(../images/outline_box_03.jpg) no-repeat top center;
 background-size: cover;
}
.top_outline li  .top_o4{
 background: url(../images/outline_box_04.jpg) no-repeat top center;
 background-size: cover;
}

.top_outline li div{
 padding:12% 5%;
}

.top_outline li h3{
 font-size: 30px;
 margin-bottom: 12%;
 font-weight: normal;
}
.top_outline li p{
 text-align: left;
 line-height: 1.5;
 font-size: 18px;
 font-weight: normal;
}

.top_outline li a{
 color: #fff;
 text-decoration: none;
 transition: .4s all ease-in;
}
.top_outline li a:hover div{
 opacity: 0.8;
}

.top_topics{
 width: 90%;
 text-align: left;
 margin:0 auto 5%;
}

.top_topics dt{
 font-size: 16px;
 line-height: 1.5;
 margin-bottom: 1%;
}
.top_topics dt .icon{
 color: #fff;
 background: #1f1f80;
 border-radius: 5px;
 display: inline-block;
 padding: .2% 1%;
 font-size: 12px;
 margin-left: 1em;
}


.top_topics dd{
 font-size: 18px;
 line-height: 1.5;
 margin-bottom: 3%;
}

.read_more{
 width: 200px;
 height: 46px;
 text-align: center;
 margin: 0 auto 10%;
}
.read_more a{
 border: 2px solid #25288c;
 display: block;
 width: 200px;
 line-height: 46px;
 margin: 0 auto;
 border-radius: 23px;
 text-decoration: none;
 font-size: 18px;
 transition: .4s all ease-out
}
.read_more a:hover{
 background: #25288c;
 color: #fff;
}



@media screen and (max-width: 1280px) {
 
 .top_outline li h3{
 font-size: 24px;
 margin-bottom: 12%;
 font-weight: normal;
}
.top_outline li p{
 text-align: left;
 line-height: 1.5;
 font-size: 13px;
}
.top_outline li div{
 padding:12% 5% 5%;
}
 
 
}



@media screen and (max-width: 1024px) {
 
 .top_outline li h3{
 font-size: 20px;
 margin-bottom: 12%;
 font-weight: normal;
}
.top_outline li p{
 text-align: left;
 line-height: 1.5;
 font-size: 12px;
}
.top_outline li div{
 padding:12% 5% 5%;
} 

 
.top_topics{
 width: 90%;
 text-align: left;
 margin:0 auto 5%;
}

.top_topics dt{
 font-size: 14px;
 line-height: 1.5;
 margin-bottom: 1%;
}
.top_topics dt .icon{
 padding: .2% 2%;
}


.top_topics dd{
 font-size: 16px;
}

.read_more{
 width: 200px;
 height: 36px;
 text-align: center;
 margin: 0 auto 10%;
}
.read_more a{
 width: 200px;
 line-height: 36px;
 border-radius: 18px;
 font-size: 12px;
}

 
 
 
}



@media screen and (max-width: 640px) {

.top_outline li{
 width: calc(100% / 2);
 padding: 0 .5% 1%;
 box-sizing: border-box;
 display: inline-block;
 letter-spacing: 0px;
 vertical-align: top;
 color: #fff;
}

.top_topics dt{
 font-size: 11px;
 line-height: 1.5;
 margin-bottom: 1%;
}
.top_topics dt .icon{
 padding: 1% 2%;
 line-height: 1;
 font-size: 10px;
}


.top_topics dd{
 font-size: 13px;
 margin-bottom: 7%;
} 
 
 
}




@media screen and (max-width: 480px) {

.top_outline li h3{
 font-size: 16px;
 margin-bottom: 12%;
 font-weight: normal;
}
.top_outline li p{
 text-align: left;
 line-height: 1.5;
 font-size: 10px;
}
 
 
 
}


.under_visual{
 position: relative;
 
}
.under_visual img{
 width: 100%;
 height: auto;
}


.under_visual h1{
 background: rgba(0,0,0,0.8);
 position: absolute;
 bottom: 8%;
 left: 0;
 color: #fff;
 font-weight: normal;
 font-size: 30px;
 letter-spacing: 5px;
 padding: 1.7% 5% 1.7% 10%;
 font-family: 'Sawarabi Mincho', "Yu Mincho", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho" !important; 
}

.normalArea{
 padding: 5% 5% 5%;
 font-size: 16px;
 line-height: 1.8;
 text-align: center;
}
.normalArea:last-of-type{
 padding: 5% 5% 10%;
}

.outlineArea{
 padding: 5% 0 5%;
 font-size: 16px;
 line-height: 1.8;
 text-align: center;
}


.txtArea{
 text-align: left;
}
.txtArea.center{
 text-align: center;
}


.txtArea p{
 margin-bottom: 2em;
}

.normalArea ul{
 text-align: left;
 list-style: outside disc;
 margin-left: 2em;
}

.normalArea ul.num{
 text-align: left;
 margin-left: 2em;
 list-style: none;
}
.normalArea ul.num li{
 text-indent: -1.5em;
 margin-left: 1.5em;
}

.normalArea ol.num{
 text-align: left;
 list-style: outside decimal;
 margin-left: 2em;
 margin-bottom:10%;
}
.normalArea ol.num li{
 text-indent: 0;
 margin-left: 0;
 margin-bottom:2em;
 
}


table.normal{
 margin: 0 auto 5%;
 width: 90%;
 text-align: left;
 border-collapse:separate;
 border-spacing: 5px;
}

table.normal th{
 padding: 2%;
 font-size: 16px;
 border-right: 2px solid #aeaeae;
 vertical-align:middle;
}
table.normal td{
 padding: 2%;
 font-size: 16px;
 vertical-align:middle;
}

.normalArea .top_outline h3{
 text-align: center;
 border-left: none;
 padding-left: 0;
 font-size: 30px;
 margin-bottom: 12%;
 font-weight: normal;
}

@media screen and (max-width: 1024px) {
 
.normalArea .top_outline h3{
 font-size: 20px;
 margin-bottom: 12%;
 font-weight: normal;
}
 
 .under_visual h1{
 font-size: 24px;
}

 
}

@media screen and (max-width: 768px) {
 .under_visual h1{
 font-size: 20px;
}
 
 
.normalArea .top_outline h3{
 font-size: 16px;
 margin-bottom: 12%;
 font-weight: normal;
}

 .normalArea{
 padding: 2% 2% 5%;
 font-size: 14px;
 line-height: 1.5;
 text-align: center;
}
 
table.normal{
 margin: 0 auto 5%;
 width: 100%;
 text-align: left;
 border-collapse:separate;
 border-spacing: 0;
}

table.normal th{
display:inline-block;
 padding: 2% 2% 1%;
 font-size: 16px;
 border:none;
 width:100%;
}
table.normal td{
display:inline-block;
 padding: 1% 2% 4%;
 font-size: 16px;
 width:100%;
 border-bottom: 2px solid #aeaeae;
}

 
 
}




.member_wrap .txtArea{
 margin-bottom: 5%;
}

.member_wrap h1{
 font-size: 48px;
 text-align: left;
 font-weight: normal;
 letter-spacing: 2px;
}
.member_wrap h1 span{
 font-size: 72%;
 text-align: left;
 padding-left: 1em;
 letter-spacing: 1px;
}

.member_wrap .infoArea{
 text-align: left;
 margin-bottom: 5%;
 width: 60%;
}
.member_wrap .infoArea p{
 font-size: 22px;
}

.member_wrap .profile_img{
 float: right;
 margin: -15% 0 5% 5%;
 width: 40%;
}



@media screen and (max-width: 480px) {
.member_wrap .infoArea p{
 font-size: 14px;
 text-align:center;
 margin-bottom:1%;
}
.member_wrap h1{
 font-size: 28px;
 text-align:center;
 line-height:1;
}
.member_wrap h1 span{
display:inline-block;
padding:0;
}

.member_wrap .infoArea{
 width: 100%;
}
.member_wrap .profile_img{
 float: none;
 margin: 0 auto 5% auto;
 width: 90%;
}

}


.profile_all{
padding: 5% 0 10%;
letter-spacing:-.4em;
text-align:left;

}

.profile_all .contents{ 
text-align:left;
}

.profile_all .profile_list{
width:calc(100% / 4);
padding:0 1%;
box-sizing:border-box;
display:inline-block;
position:relative;
margin-bottom:2%;
vertical-align:top;
}

.profile_all .profile_list img{
}

.profile_all .profile_list h2{
position:absolute;
bottom:5%;
left:4%;
color:#fff;
letter-spacing:1px;
font-size:20px;
font-weight:normal;
padding:2% 10% 2% 5%;
background: rgba(0,0,0,0.7);
max-width:90%;
box-sizing:border-box;
}
.profile_all .profile_list h2 span{
font-size:62%;
line-height:1.2;
display:block;
margin-bottom:2%;
}



@media screen and (max-width: 1024px) {

.profile_all .profile_list h2{
font-size:18px;
}


}


@media screen and (max-width: 768px) {

.profile_all .profile_list h2{
font-size:16px;
}


}


@media screen and (max-width: 640px) {

.profile_all .profile_list{
width:calc(100% / 2);
}

.profile_all .profile_list h2{
left:2%;
}

}



.map_area {
position: relative;
padding-bottom: 36.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.map_area iframe,
.map_area object,
.map_area embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}



.outline_btn{
 width: 50%;
 height: 60px;
 text-align: center;
 margin: 0 auto 10%;
}
.outline_btn a{
 border: 2px solid #25288c;
 display: block;
 width: 100%;
 line-height: 60px;
 margin: 0 auto;
 border-radius: 30px;
 text-decoration: none;
 font-size: 22px;
 transition: .4s all ease-out
}
.outline_btn a:hover{
 background: #25288c;
 color: #fff;
}


.outline_btn span{
position: relative;
display: inline-block;
padding: 0 1em 0 0;
vertical-align: middle;
text-decoration: none;
}



.outline_btn span:after{
position: absolute;
content:"";
top: 0;
bottom: 0;
left: auto;
margin: auto;
right: -1em;
box-sizing: border-box;
width: 10px;
height: 10px;
border: 10px solid transparent;
border-left: 16px solid #25288c;
 transition: .4s all ease-out
}

.outline_btn a:hover span:after{
border-left: 16px solid #fff;
}



@media screen and (max-width: 480px) {
.map_area {
position: relative;
padding-bottom: 70%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 

.outline_btn{
 width: 80%;
 height: 40px;
}
.outline_btn a{
 border: 2px solid #25288c;
 line-height: 40px;
 border-radius: 20px;
 font-size: 18px;
}



}





.topics_wrap h1{
 font-size: 24px;
 text-align: left;
 font-weight: normal;
 letter-spacing: 1.5px;
 border-bottom: 1px solid #25288c;
 padding-bottom:2%;
}
.topics_wrap h1 span{
 font-size: 72%;
 text-align: left;
 padding-left: 1em;
 letter-spacing: 1px;
}

.topics_wrap p.class{
 font-size: 20px;
 text-align: left;
 color:#848484;
 margin-bottom:2%
}
.topics_wrap p.class .icon{
background:#25288c;
color:#fff;
border-radius:5px;
padding:.7% 3%;
font-size:88%;
display:inline-block;
margin-left:1em;
line-height:1;

}







@media screen and (max-width: 768px) {


.topics_wrap h1{
 font-size: 20px;
}

.topics_wrap p.class{
 font-size: 16px;
}

}


@media screen and (max-width: 480px) {

.topics_wrap h1{
 font-size: 18px;
 letter-spacing: 1px;
}

.topics_wrap p.class{
 font-size: 12px;
}


}

.file{
background:#eaeaea;
padding:.5% 2%;
text-align:left;
font-size:22px;
margin-top:10px;
}
.file a{
text-decoration:none;
position:relative;
}


.file a:before{
content:"\f1c1";
font-size:50px;
padding-right:1.5%;
font-family: "Font Awesome 5 Free";
vertical-align:middle;
display:inline-block;
}


@media screen and (max-width: 480px) {

.file{
background:#eaeaea;
padding:.5% 2%;
text-align:left;
font-size:16px;
margin-top:10px;
}
.file a:before{
content:"\f1c1";
font-size:25px;

}


}


.contactWrap table.normal th{
white-space:nowrap;
width:30%;
}
.contactWrap table.normal td span{
display:block;
color:#ff0000;
}

.wpcf7-response-output{
margin-top:-1%;
margin-bottom:3%;
color:#ff0000;
}


.contactWrap input[type="text"],
.contactWrap input[type="tel"],
.contactWrap input[type="email"],
.contactWrap textarea{
font-size:16px;
width:90%;
padding:8px;
}
.contactWrap input[type="text"].wpcf7c-conf,
.contactWrap input[type="tel"].wpcf7c-conf,
.contactWrap input[type="email"].wpcf7c-conf,
.contactWrap textarea.wpcf7c-conf{
font-size:16px;
width:90%;
padding:8px;
border:none;
background:none;
}


.btn_area{
margin-bottom:2%;
}

.btn_area input{
 border: 2px solid #25288c;
 background: #25288c;
 display: block;
 width: 40%;
 line-height: 60px;
 margin: 0 auto;
 border-radius: 30px;
 text-decoration: none;
 font-size: 22px;
 transition: .4s all ease-out;
 color:#fff;
 cursor:pointer;
 display:inline-block;
}
.btn_area input:hover{
 background: #ddd;
 color: #000;
}

.btn_area input.wpcf7-back{
 border: 2px solid #ccc;
 background: #ddd;
 display: block;
 width: 20%;
 line-height: 60px;
 margin: 0 auto;
 border-radius: 30px;
 text-decoration: none;
 font-size: 22px;
 transition: .4s all ease-out;
 color:#000;
 cursor:pointer;
 display:inline-block;
 margin-right:2%;
}

@media screen and (max-width: 768px) {

.btn_area input{
 width: 70%;
 }

}


@media screen and (max-width: 480px) {

.btn_area input{
 font-size: 16px;
 }
.btn_area input.wpcf7-back{
 font-size: 16px;
}

}

.screen-reader-response{
display:none;
}



.topics_l{
float:left;
width:80%;
box-sizing:border-box;
}

.topics_r{
float:left;
width:20%;
border:1px solid #ddd;
text-align:left;
padding:2%;
box-sizing:border-box;
margin-bottom:15%;
}
.topics_r h3{
font-size:18px;
border-bottom:1px solid #25288c;
padding-bottom:2%;
margin-bottom:5%;
border-left:none;
}
.topics_r ul{
margin-bottom:20%;
}

.topics_r li{
margin-bottom:5%;
font-size:16px;
}

.pagenation{
margin-top:10%;
margin-bottom:15%;
text-align:center;
}

.pagenation a,
.pagenation span{
display:inline-block;
width:30px;
height:30px;
line-height:30px;
font-size:18px;
border:1px solid #ddd;
text-decoration:none;
}
.pagenation span{
display:inline-block;
width:30px;
height:30px;
line-height:30px;
border:1px solid #ddd;
background:#25288c;
color:#fff;
}


.pagenation a.prev,
.pagenation a.next{
width:auto;
padding:0 1%;
}




@media screen and (max-width: 768px) {


.topics_l{
float:none;
width:100%;
box-sizing:border-box;
}

.topics_r{
float:left;
width:100%;
padding:5%;
}

.topics_r h3{
font-size:15px;
}
.topics_r ul{
margin-bottom:10%;
}

.topics_r li{
margin-bottom:5%;
font-size:12px;
}
.pagenation a,
.pagenation span{
font-size:12px;
}

}


dl.sitemap{
text-align:left;
width:60%;
margin:0 auto;
}

dl.sitemap dt{
border-top:1px solid #e6e6e6;
padding:2%;
margin-top:2%;
}


dl.sitemap dd{
margin-left:2em;
}



dl.sitemap dt:before,
dl.sitemap dd:before{
content:"\f054";
font-family: "Font Awesome 5 Solid";
display:none;
padding-right:.5em;
}
dl.sitemap dt svg,
dl.sitemap dd svg{
padding-right:.5em;
}



@media screen and (max-width: 768px) {


dl.sitemap{
text-align:left;
width:90%;
margin:0 auto;
}
}




