@charset"utf-8";
/* ============================================
*
　共通
*
===============================================*/
#top{
    min-width: 1200px;
}    
#top main{
    width: 100%;
    margin: 50px auto 50px;
}
#top main .sec_box .inner{
    width: 1080px;
    margin: 0 auto;
    justify-content: space-between;
}
#top main .sec_box {
    margin-top: 90px;
}
h2 {
    position: relative;
    font-size: 6.0rem;
    text-align: center;
    font-weight: 400;
    line-height: 1;
}
h2:before {
  position: absolute;
  bottom: -22px;
  left: calc(50% - 22px);
  width: 40px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: #0f6cc1;
}
#top a.link_btn{
    background: #fdd000;
    border-radius: 90px;
    position: relative;
    color: #000;
    font-size: 1.4rem;
    padding: 10px 0;
    font-weight: 500;
    display: block;
    box-sizing: border-box;
    text-align: center;
    width: 180px;
    margin: 50px auto 0;
}
#top a.link_btn:before{
    content: "";
    background-image: url(../../top-img/arrow.png);
    width: 10px;
    height: 15px;
    position: absolute;
    top: 13px;
    right: 14px;
}
#top span.a_link_txt a{
    font-weight: 600;
    color: #0f6cc1;
    text-decoration: underline;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
   #top{
    min-width: 100%;
}    
#top main{
    width: 100%;
    margin: 70px auto 10%;
}
#top main .sec_box .inner{
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
    padding: 0 5%;
}
#top main .sec_box {
    margin-top:20%;
}
h2 {
    position: relative;
    font-size: 4.0rem;
    text-align: center;
    font-weight: 400;
    line-height: 1;
}
h2:before {
  position: absolute;
  bottom: -16px;
  left: calc(50% - 22px);
  width: 40px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: #0f6cc1;
}
#top a.link_btn{
    background: #fdd000;
    border-radius: 90px;
    position: relative;
    color: #000;
    font-size: 1.4rem;
    padding: 20px 0;
    font-weight: 500;
    display: block;
    box-sizing: border-box;
    text-align: center;
    width: 100%;
    margin: 10% auto 0;
}
#top a.link_btn:before{
    content: "";
    background-image: url(../../top-img/arrow.png);
    width: 10px;
    height: 15px;
    position: absolute;
    top: 23px;
    right: 10px;
}
#top span.a_link_txt a{
    font-weight: 600;
    color: #0f6cc1;
    text-decoration: underline;
}
}/*---------------------SP用ここまで*/





/* ============================================
*
　mv
*
===============================================*/
#top .mv .inner{
    width: 1080px;
    margin: 0 auto;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top .mv .inner{
    width: 100%;
    margin: 0 auto;
}

}/*---------------------SP用ここまで*/




/* ============================================
*
　sec01 - mv下
*
===============================================*/
#top main .sec01{
    margin-top: 0;
}
#top .sec01 .inner{
    padding: 60px 0 20px;
    background-image: url(../../top-img/ms_bg.png);
}
#top .sec01 .inner ul{
    width: 900px;
    justify-content: space-between;
    margin: 87px auto 0;
}
#top .sec01 .inner ul li{
    width: 280px;
    text-align: left;
    padding: 60px 17px;
    box-sizing: border-box;
    border: 3px solid;
    border-radius: 8px;
    height: 245px;
    position: relative;
    background: #fff;
    font-size: 1.6rem;
}
#top .sec01 .inner ul li.no_1{
    border: 3px solid #f34780;
}
#top .sec01 .inner ul li.no_2{
    border: 3px solid #ffba00;
}
#top .sec01 .inner ul li.no_3{
    border: 3px solid #00aaa6;
}
#top .sec01 .inner ul li.no_1:before{
    background-image: url(../../top-img/ms_icon01.png);
    width: 95px;
    height: 86px;
    position: absolute;
    top: -43px;
    left: 93px;
    content: "";
    background-size: 100%;
    background-repeat: no-repeat;
}
#top .sec01 .inner ul li.no_2:before{
    background-image: url(../../top-img/ms_icon02.png);
    width: 95px;
    height: 86px;
    position: absolute;
    top: -43px;
    left: 93px;
    content: "";
    background-size: 100%;
    background-repeat: no-repeat;
}
#top .sec01 .inner ul li.no_3:before{
    background-image: url(../../top-img/ms_icon03.png);
    width: 95px;
    height: 86px;
    position: absolute;
    top: -43px;
    left: 93px;
    content: "";
    background-size: 100%;
    background-repeat: no-repeat;
}
#top .sec01 .inner{
    text-align: center;
}
#top .sec01 .inner h2{
    font-size: 2.5rem;
    font-weight: 600;
    color: #0f6cc1;
    display: inline-block;
    text-align: center;
    border-bottom: 3px #0f6cc1 solid;
    line-height: 1.8;
}
#top .sec01 .inner h2:before{
    height: 0;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top main .sec01{
    margin-top: 0;
}
#top .sec01 .inner{
    padding: 5% 5% 0;
    background-image: url(../../top-img/ms_bg.png);
}
#top .sec01 .inner ul{
    width: 100%;
    justify-content: space-between;
    margin: 5% auto 0;
}
#top .sec01 .inner ul li{
    width: 100%;
    text-align: left;
    padding: 60px 5% 5%;
    box-sizing: border-box;
    border: 3px solid;
    border-radius: 8px;
    height: auto;
    position: relative;
    background: #fff;
    margin-top: 17%;
}
#top .sec01 .inner ul li.no_1{
    border: 3px solid #f34780;
}
#top .sec01 .inner ul li.no_2{
    border: 3px solid #ffba00;
}
#top .sec01 .inner ul li.no_3{
    border: 3px solid #00aaa6;
}
#top .sec01 .inner ul li.no_1:before{
    background-image: url(../../top-img/ms_icon01.png);
    width: 85px;
    height: 76px;
    position: absolute;
    top: -40px;
    left: 38%;
    content: "";
}
#top .sec01 .inner ul li.no_2:before{
    background-image: url(../../top-img/ms_icon02.png);
    width: 85px;
    height: 76px;
    position: absolute;
    top: -40px;
    left: 38%;
    content: "";
}
#top .sec01 .inner ul li.no_3:before{
    background-image: url(../../top-img/ms_icon03.png);
    width: 85px;
    height: 76px;
    position: absolute;
    top: -40px;
    left: 38%;
    content: "";
}
#top .sec01 .inner{
    text-align: center;
}
#top .sec01 .inner h2{
    font-size: 1.7rem;
    font-weight: 600;
    color: #0f6cc1;
    display: inline-block;
    text-align: center;
    border-bottom: 3px #0f6cc1 solid;
    line-height: 1.8;
    padding-top: 8%;
    margin-bottom: 5%;
}
#top .sec01 .inner h2:before{
    height: 0;
}

}/*---------------------SP用ここまで*/



/* ============================================
*
　sec02 - news
*
===============================================*/
#top .sec02 ul{
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 52px;
}
#top .sec02 ul li{
    width: 340px;
    margin-bottom: 40px;
}
#top .sec02 ul li a{
    width: 100%;
    height: 100%;
    display: block;
}
#top .sec02 ul li a:hover{
    opacity: 0.6;
}
#top .sec02 ul li h3{
    margin-top: 10px;
    font-weight: 500;
    line-height: 1.9;
}
#top .sec02 ul li span.day{
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1;
}
#top .sec02 .img_area{
    position: relative;
}
#top .sec02 .img_area span{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 120px;
    height: 25px;
    background: #6f6f6f;
    text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    padding-top: 2px;
}
#top .sec02 .day{
    font-weight: 600;
    line-height: 1;
    margin-top: 15px;
}
#top .sec02 h3{
    font-size: 1.4rem;
}
#top a.a_link_txt{
    display: block;
    color: #0f6cc1;
    font-weight: 600;
    font-size: 1.2rem;
    text-decoration: underline;
}
#top .sec02 a.link_btn{
    margin-top: 6px;
}
#top .sec02 span.label_1{
    background: #3bb387;
}
#top .sec02 span.label_2{
    background: #8c97cb;
}
#top .sec02 span.label_3{
    background: #eb6877;
}
#top .sec02 span.label_4{
    background: #7fc4ea;
}
#top .sec02 span.label_5{
    background: #f6b86f;
}
#top .sec02 span.label_6{
    background: #ee84b2;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top .sec02 ul{
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 13%;
}
#top .sec02 ul li{
    width: 100%;
    margin-bottom: 8%;
}
#top .sec02 ul li a:hover{
    opacity: 0.7;
}
#top .sec02 ul li p{
    margin-top: 10px;
}
#top .sec02 ul li span.day{
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    margin-bottom: 8px;
    line-height: 1;
}
#top .sec02 .img_area{
    position: relative;
}
#top .sec02 .img_area span{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 120px;
    height: 25px;
    background: #6f6f6f;
    text-align: center;
    color: #fff;
    font-weight: 600;
    font-size: 1.4rem;
    padding-top: 2px;
}
#top .sec02 .day{
    font-weight: 600;
    line-height: 1;
    margin-top: 15px;
}
#top .sec02 p{
    font-size: 1.4rem;
}
#top a.a_link_txt{
    display: block;
    color: #0f6cc1;
    font-weight: 600;
    font-size: 1.2rem;
    text-decoration: underline;
}
#top .sec02 a.link_btn{
    margin-top: 6px;
}
#top .sec02 span.label_1{
    background: #3bb387;
}
#top .sec02 span.label_2{
    background: #8c97cb;
}
#top .sec02 span.label_3{
    background: #eb6877;
}
#top .sec02 span.label_4{
    background: #7fc4ea;
}
#top .sec02 span.label_5{
    background: #f6b86f;
}
#top .sec02 span.label_6{
    background: #ee84b2;
}

}/*---------------------SP用ここまで*/




/* ============================================
*
　sec03 - history
*
===============================================*/
#top .sec03 .read{
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    color: #fff;
    background: #0f6cc1;
    border-radius: 90px;
    width: 496px;
    padding: 10px 20px;
    margin: 42px auto 0;
}
#top .sec03 img.h_arrow{
    display: block;
    margin: -6px auto 0;
}
#top .sec03 .after_1{
    position: relative;
    padding: 60px 0 0;
    margin-top: 60px;
}
#top .sec_box.sec03 .inner{
    width: 900px;
}
#top .sec03 .after_1:after{
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
}
#top .sec03 .after_1:before{
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    z-index: -1;
}
#top .sec03 .after{
    position: relative;
    padding: 0px 0 60px;
}
#top .sec03 .after:after{
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
}
/*history_box*/
#top .sec03 .history_box {
    position: relative;
    margin-top: 35px;
}
#top .sec03 .history_box .txt_area strong{
    font-size: 2.3rem;
    line-height: 1;
    margin-bottom: 10px;
    padding: 0;
    font-weight: 600;
    display: block;
}
#top .sec03 .history_box .img_area{
    z-index: +1;
    margin-top: -20px;
}
#top .sec03 .history_box .img_area p{
    font-weight: 600;
    font-size: 3rem;
    color: #0c3388;
    text-align: left;
    border-bottom: 3px solid #0c3388;
    display: inline-block;
    line-height: 1;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
#top .sec03 .history_box .img_area img{
     display: block;
}
#top .sec03 .history_box .txt_area{
    padding: 25px 0 25px 30px;
}
@media only screen and (min-width: 1400px){
#top .sec03 .history_box:after{
    position: absolute;
    content: "";
    background: #ecf1f3;
    width: 67%;
    height: 160px;
    right: 0;
    top: 0;
    z-index: -1;
}
}
@media only screen and (max-width: 1400px){
#top .sec03 .history_box:after{
    position: absolute;
    content: "";
    background: #ecf1f3;
    width: 920px;
    height: 160px;
    right: 0;
    top: 0;
    z-index: -1;
}
}
/*history_box_2*/
@media only screen and (min-width: 1400px){
#top .sec03 .history_box_2:after{
    position: absolute;
    content: "";
    background: #ecf1f3;
    width: 67%;
    height: 160px;
    left: 0;
    top: 0;
    z-index: -1;
    right: unset;
}
}
@media only screen and (max-width: 1400px){
#top .sec03 .history_box_2:after{
    position: absolute;
    content: "";
    background: #ecf1f3;
    width: 920px;
    height: 160px;
    left: 0;
    top: 0;
    z-index: -1;
    right: unset;
}
}
#top .sec03 .history_box_2 .txt_area{
    padding: 25px 30px 25px 0px;
}
#top .sec03 .history_box_2 .img_area{
    text-align: right;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top .sec03 .read{
    text-align: center;
    font-size: 1.3rem;
    font-weight: 600;
    color: #fff;
    background: #0f6cc1;
    border-radius: 90px;
    width: 90%;
    padding: 10px 20px;
    margin: 42px auto 0;
}
#top .sec03 img.h_arrow{
    display: block;
    margin: -6px auto 0;
    width: 30px;
}
#top .sec03 .after_1{
    position: relative;
    padding:10% 0 0;
    margin-top: 5%;
}
#top .sec_box.sec03 .inner{
    width: 100%;
}
#top .sec03 .after_1:after{
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
}
#top .sec03 .after_1:before{
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    z-index: -1;
}
#top .sec03 .after{
    position: relative;
    padding: 0px 0 60px;
}
#top .sec03 .after:after{
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 100%;
    background: #00c6f9;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
}
/*history_box*/
#top .sec03 .history_box .flex{
    display:-webkit-box!important;
    display:-ms-flexbox!important;
    display:flex!important;
    flex-wrap: wrap!important;
}
#top .sec03 .history_box {
    position: relative;
    margin-top: 35px;
}
#top .sec03 .history_box .txt_area strong{
    font-size: 1.6rem;
    line-height: 1;
    margin-bottom: 10px;
    padding: 0;
    font-weight: 600;
    display: block;
}
#top .sec03 .history_box .img_area{
    z-index: +1;
    margin-top: -20px;
    width: 100%;
}
#top .sec03 .history_box .img_area p{
    font-weight: 600;
    font-size: 2rem;
    color: #0c3388;
    text-align: left;
    border-bottom: 3px solid #0c3388;
    display: inline-block;
    line-height: 1;
    padding-bottom: 5px;
    margin-bottom: 5px;
}
#top .sec03 .history_box .img_area img{
     display: block;
}
#top .sec03 .history_box .txt_area{
    padding: 5%;
    width: 100%;
    background: #ecf1f3;
    margin: -7px auto 8%;
    width: 96%;
}
@media only screen and (max-width: 1400px){
#top .sec03 .history_box:after{
    position: static;
    content: "";
    background: #ecf1f3;
    width: 0;
    height: 160px;
    right: 0;
    top: 0;
    z-index: -1;
}
}
/*history_box_2*/
@media only screen and (max-width: 1400px){
#top .sec03 .history_box_2:after{
    position: static;
    content: "";
    background: #ecf1f3;
    width: 0;
    height: 160px;
    left: 0;
    top: 0;
    z-index: -1;
    right: unset;
}
}
#top .sec03 .history_box_2 .txt_area{
    padding: 5%;
    order: 2;
    background: #ecf1f3;
        margin: -7px auto 8%;
    width: 96%;
}
    #top .sec03 .history_box .txt_last{
    margin-bottom: 0px!important;
}
#top .sec03 .history_box_2 .img_area{
    text-align: left;
    order: 1;
}

}/*---------------------SP用ここまで*/




/* ============================================
*
　sec04 - PROMOTION VIDEO
*
===============================================*/
#top .sec04{
    background: #ecf1f3;
}
#top .sec04 h2{
    font-size: 4.0rem;
    line-height: 1.1;
}
#top .sec04 p{
    margin-top: 52px;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    line-height: 2;
}
#top .sec04 ul{
    justify-content: space-between;
    align-items: center;
}
.p_movie{
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
	padding-top: 56%;
    width: 487px;
    height: 272px;
}
.p_movie iframe,
.p_movie img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top .sec04{
    background: #ecf1f3;
    margin-top: 10%!important;
    padding: 8% 5%;
}
#top .sec04 h2{
    font-size: 4.0rem;
    line-height: 1.1;
}
#top .sec04 p{
    margin: 15% 0 10%;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    line-height: 1.6;
}
#top .sec04 ul{
    justify-content: space-between;
    align-items: center;
}
.p_movie{
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
	padding-top: 56%;
    width: 100%;
    height: auto;
}
.p_movie iframe,
.p_movie img{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height:auto;
	border: 0;
}

}/*---------------------SP用ここまで*/




/* ============================================
*
　sec05 - 問い合わせ
*
===============================================*/
#top .sec05{
    margin-top: 50px!important;
}
#top .sec05 .inner{
    width: 900px!important;
}
#top .sec05 .inner ul.flex{
    justify-content: space-between;
}
#top .sec05 .inner ul.flex p.ttl{
    font-size: 1.8rem;
    text-align: left;
    font-weight: 600;
}
#top .sec05 .inner ul.flex p.address{
    font-size: 1.5rem;
    text-align: left;
    margin-top: 10px;
}
#top .sec05 .inner ul.flex ul.contant_btn li{
    width: 280px;
    background: #0a2f7f;
    height: 55px;
    border-radius: 8px;
}
#top .sec05 .inner ul.flex ul.contant_btn li a{
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    color: #fff;
    text-align: center;
    padding-top: 16px;
    box-sizing: border-box;
    font-weight: 600;
}
#top .sec05 .inner ul.flex .s_ttl{
    display: block;
    margin: 0 auto 25px;
}
#top .sec05 .inner ul.flex ul.contant_btn{
    width:580px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.tel a{
    font-size: 2.5rem;
    padding-top: 9px;
    padding-left: 12px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.mail a{
    font-size: 1.4rem;
    padding-top: 16px;
    padding-left: 31px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.tel a:before{
    position: absolute;
    content: "";
    background-image: url(../../top-img/tel_icon.png);
    width: 20px;
    height: 26px;
    left: 20px;
    top: 15px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.mail a:before{
    position: absolute;
    content: "";
    background-image: url(../../top-img/mail_icon.png);
    width: 23px;
    height: 17px;
    left: 20px;
    top: 19px;
}
/*
SP用設定
----------------------------------*/
@media only screen and (max-width: 767px){
    #top .sec05{
    margin-top: 10%!important;
}
#top .sec05 .inner{
    width: 100%!important;
}
#top .sec05 .inner ul.flex{
    justify-content: space-between;
}
#top .sec05 .inner ul.flex p.ttl{
    font-size: 1.5rem;
    text-align: center;
    font-weight: 600;
}
#top .sec05 .inner ul.flex p.address{
    font-size: 1.5rem;
    text-align: center;
    margin-top: 10px;
}
#top .sec05 .inner ul.flex ul.contant_btn li{
    width: 100%;
    background: #0a2f7f;
    height: 55px;
    border-radius: 8px;
    margin-bottom: 5%;
}
#top .sec05 .inner ul.flex ul.contant_btn li a{
    width: 100%;
    height: 100%;
    display: block;
    position: relative;
    color: #fff;
    text-align: center;
    padding-top: 16px;
    box-sizing: border-box;
    font-weight: 600;
}
#top .sec05 .inner ul.flex .s_ttl{
    display: block;
    margin: 8% auto 5%;
    width: 80%;
}
#top .sec05 .inner ul.flex ul.contant_btn{
    width:100%;
}
#top .sec05 .inner ul.flex ul.contant_btn li.tel a{
    font-size: 2.5rem;
    padding-top: 9px;
    padding-left: 12px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.mail a{
    font-size: 1.4rem;
    padding-top: 16px;
    padding-left: 31px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.tel a:before{
    position: absolute;
    content: "";
    background-image: url(../../top-img/tel_icon.png);
    width: 20px;
    height: 26px;
    left: 20px;
    top: 15px;
}
#top .sec05 .inner ul.flex ul.contant_btn li.mail a:before{
    position: absolute;
    content: "";
    background-image: url(../../top-img/mail_icon.png);
    width: 23px;
    height: 17px;
    left: 20px;
    top: 19px;
}

}/*---------------------SP用ここまで*/





/* ============================================
*
　210416 - 追記 - WPニュース/TOP
*
===============================================*/
/*ニュース一覧記事 a*/
#top .sec02 ul li a{
    height: auto;
}
/*ニュース一覧　ズレ*/
#top .sec02 ul li{
    line-height:0;
}
#top .sec02 ul li .img_area span{
    line-height:1.5;
}