@charset "utf-8";

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb100 { margin-bottom: 100px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_no_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.f_min { font-family: "Yu Mincho Medium", "Yu Mincho", "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", "Yu Gothic", "メイリオ", Meiryo, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi {
object-fit: cover;
font-family: 'object-fit: cover;';
}

/*PC用*/
@media screen and (min-width:641px) {
#about{margin: 0 auto;padding: 55px 0 50px; width: 100%;background: #EDF8FF;}
#about .tit{margin: 0 auto 40px;width: 760px;}
#about .text{font-size: 16px;line-height: 36px;text-align: center;}

#support{margin: 0 auto;width: 100%;height: 710px;background: url("../images/bg_support.jpg") no-repeat center top;}
#support .inner{margin: 0 auto;padding: 87px 0 0; width: 1000px;}
#support .copy{margin-bottom: 24px;}
#support .text{margin-bottom: 20px; font-size: 22px;font-weight: bold;line-height: 40px;}
#support .text span{color: #a70008; font-size: 30px;font-weight: bold;}
#support .area{width: 308px;}

.contact_area{margin: 0 auto;padding: 47px 0 0; width: 100%;height: 350px;background: url("../images/bg_contact.jpg") no-repeat center top;box-sizing: border-box;}
.contact_area .inner{margin: 0 auto;width: 1000px;position: relative;}
.contact_area .tit{margin: 0 auto 32px;width: 224px;}
.contact_area .contact_body{padding: 5px; width: 100%;background: #033989;box-shadow: 0 0 6px #535353;}
.contact_area .contact_body .copy{}
.contact_area .contact_body .box{padding: 17px 24px 23px 25px;background: #fff;}
.contact_area .img{width: 323px;position: absolute;left: 44px;top: -70px;}
.contact_area .fukidashi{width: 197px;position: absolute;right: 85px; top: -30px;}

#reason{margin: 0 auto;padding: 100px 0 0; width: 100%;}
#reason .inner{margin: 0 auto;width: 1000px;}
#reason .tit{margin: 0 auto 76px;width: 1000px;}
#reason .box{padding: 0 0 50px;}
#reason .box_img{padding: 14px 0 0; width: 365px;}
#reason .box_text{width: 556px;font-size: 16px;line-height: 32px;}
#reason .copy{align-items: center;margin-bottom: 20px; padding: 0 0 12px; color: #033989; font-size: 32px;font-weight: bold;line-height: 1;border-bottom: 2px solid #033989;}
#reason .copy span{display: inline-block;margin-right: 17px;}

#works{margin: 0 auto;padding: 80px 0 0; width: 100%;background: url("../images/bg_works.png") repeat;}
#works .inner{margin: 0 auto;width: 1000px;}
#works .tit{margin: 0 auto 40px;width: 1000px;}
#works .read{margin-bottom: 40px; font-size: 16px;line-height: 32px;text-align: center;}
#works .works_list{padding: 0 0 50px;}
#works .works_list::after{content:"";display: block;width:300px;}
#works .works_list li{margin-bottom: 40px; width: 300px;}
#works .works_list li span{display: inline-block;margin-top: 15px; padding: 6px 16px; color: #fff;font-size: 16px;font-weight: bold;line-height: 1; background: #023A95;}

#service{margin: 0 auto;width: 100%;}
#service .inner{margin: 0 auto;padding: 40px 0 60px;width: 1000px;box-sizing: border-box;}
#service .tit{margin-bottom: 40px;padding: 0 0 20px;color: #023a95;font-size: 40px;font-weight: bold;line-height: 55px;text-align: center;background: url("../images/service_tit_line.png") no-repeat center bottom;}
#service .service_list{}
#service .service_list ul{padding: 0 0 0 20px; list-style: disc;}
#service .service_list ul li{font-size: 16px;line-height: 35px;}

/*modal*/
p.modal_img {width: 650px;}

.modal_warp table{
    margin: 10px 0;
}
.modal_warp table th{
    padding: 3px 15px;
    background: #e4e4e4;
    border-bottom: 4px solid #fff;
    box-sizing: border-box;
}
.modal_warp table td{
    padding: 3px 5px;
    box-sizing: border-box;
}

.modal_warp .txt{width: 650px;}

}
/*SP用*/
@media screen and (max-width:640px) {
#about{margin: 0 auto;padding: 6.266vw 0; width: 100%;background: #EDF8FF;box-sizing: border-box;}
#about .tit{margin: 0 auto 4vw;width: 100%;}
#about .text{padding: 0 6.666vw; font-size: 3.733vw;line-height: 6.666vw;text-align: center;}
    
#support{margin: 0 auto;width: 100%;height: 104.133vw;background: url("../images/sp/bg_support.jpg") no-repeat center top;background-size: 100% auto;}
#support .inner{margin: 0 auto;padding: 10.666vw 4vw 0; width: 100%;box-sizing: border-box;}
#support .copy{margin-bottom: 2.666vw;width: 100%;}
#support .text{margin-bottom: 2vw; font-size: 3.2vw;font-weight: bold;line-height: 5.333vw;}
#support .text span{color: #a70008; font-size: 4.533vw;font-weight: bold;}
#support .area{width: 21.066vw;}   
    
.contact_area{margin: 0 auto;padding: 8.333vw 0 0; width: 100%;height: 61.6vw;background: url("../images/sp/bg_contact.jpg") no-repeat center top;background-size: 100% auto;box-sizing: border-box;}
.contact_area .inner{margin: 0 auto;padding: 0 2.666vw; width: 100%;position: relative;box-sizing: border-box;}
.contact_area .tit{margin: 0 auto 4.266vw;width: 30vw;}
.contact_area .contact_body{padding: 0.666vw; width: 100%;background: #033989;box-shadow: 0 0 6px #535353;}
.contact_area .contact_body .copy{}
.contact_area .contact_body .box{padding: 2.533vw 2.133vw 2.133vw 2.133vw;background: #fff;}
.contact_area .contact_body .box span{margin-bottom: 2.133vw; width: 48.5%;}
.contact_area .contact_body .box span:nth-of-type(3),.contact_area .contact_body .box span:nth-of-type(4){margin-bottom: 0;}
.contact_area .img{display: none;}
.contact_area .fukidashi{width: 22.133vw;position: absolute;right: 1.933vw;top: -0.6vw;} 
    
#reason{margin: 0 auto;padding: 11.466vw 0 0; width: 100%;}
#reason .inner{margin: 0 auto;width: 100%;}
#reason .tit{margin: 0 auto 9.333vw;width: 100%;}
#reason .box{padding: 0 6.666vw 7.2vw;}
#reason .box_img{margin: 0 auto 3.333vw;padding: 0; width: 77vw;}
#reason .box_img img{width: 100%;}
#reason .box_text{width: 100%;font-size: 3.733vw;line-height: 6.4vw;}
#reason .copy{align-items: center;margin-bottom: 4vw; padding: 0 0 1.6vw; color: #033989; font-size: 5vw;font-weight: bold;line-height: 1;border-bottom: 2px solid #033989;}
#reason .copy span{display: inline-block;width: 10.4vw; margin-right: 1.666vw;}  
    
#works{margin: 0 auto;padding: 13.333vw 0 0; width: 100%;background: url("../images/sp/bg_works.png") repeat-y;}
#works .inner{margin: 0 auto;width: 100%;}
#works .tit{margin: 0 auto 6.666vw;width: 100%;}
#works .read{margin-bottom: 4.666vw;padding: 0 5.333vw; font-size: 3.733vw;line-height: 6.666vw;text-align: center;}
#works .works_list{padding: 0 2.666vw 6.666vw;}
#works .works_list li{margin-bottom: 4vw; width: 47.887%;}
#works .works_list li span{display: inline-block;margin-top: 2.666vw;padding: 1.066vw 2.4vw;color: #fff;font-size: 3vw;font-weight: bold;background: #023A95;}  
    
#service{margin: 0 auto;width: 100%;}
#service .inner{margin: 0 auto;padding: 10.666vw 0 6vw; width: 100%;}
#service .tit{margin-bottom: 6.666vw;padding: 0 0 3.2vw; color: #023a95; font-size: 5.333vw;font-weight: bold;line-height: 7.2vw;text-align: center;background: url("../images/service_tit_line.png") no-repeat center bottom;background-size: 10% auto;}
#service .service_list{padding: 0 4vw 0 8vw;}
#service .service_list ul{padding: 0;width: 50%; list-style: disc;}
#service .service_list ul li{font-size: 2.666vw;line-height: 6.666vw;}      

/*modal*/
p.modal_img {width: 100%;}

.modal_warp {
    padding: 15vw 3vw  3vw!important;
}
.modal_warp table{
    margin: 10px 0;
}
.modal_warp table th{
    padding: 1vw 2vw;
    background: #e4e4e4;
    border-bottom: 4px solid #fff;
    box-sizing: border-box;
    display: block;
}
.modal_warp table td{
    padding: 0.3vw 2vw 2vw;
    box-sizing: border-box;
    display: block;
}

.modal_warp .txt{}

}