@charset "UTF-8";

/*-- ALL ------------------------------
------------------------------------------*/
*{box-sizing:border-box;}
html{overflow-x:hidden;font-size:62.5%;}
body{font-family:"Noto Sans JP", sans-serif;font-size:16px;line-height:1.4;color:#000;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;word-break:break-all;}
.center{text-align:center;}
.txt_right{text-align: right;}
a{display: block;transition:all .2s;}
a:hover{opacity:.85;}
.hover:hover{opacity:.85}
.sp{display:none;}
.break_pc{display:block;}
.break_sp{display:contents;}
.txt_shadow{text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;}
p{margin:0 0 30px 0;font-size:18px;line-height:1.6;}
.lh_none{line-height:0}
.highlight{background:-webkit-linear-gradient(transparent 50%,#fff000 50%,#fff000 70%,transparent 70%);background:-o-linear-gradient(transparent 50%,#fff000 50%,#fff000 70%,transparent 70%);background:linear-gradient(transparent 50%,#fff000 50%,#fff000 70%,transparent 70%);padding-bottom:15px;}
.fw-400 { font-weight: 400; }
.fw-500 { font-weight: 500; }
.fw-700 { font-weight: 700; }
.size16{font-size: 16px;}
.size22{font-size: 22px;}
.size24{font-size: 24px;}
.size25{font-size: 25px;}
.cl_w{color: #fff}
.cl_r{color: #ec1515}
.cl_blue{color: #0f5eb7}
.d-flex{display: flex;flex-wrap: wrap;justify-content: space-between;}
.align-center{align-items: center;}
.mb0{margin-bottom:0;}
.mb10{margin-bottom: 10px;}
.mb15{margin-bottom: 15px;}
.mb20{margin-bottom: 20px;}
.mb25{margin-bottom: 25px;}
.mb30{margin-bottom: 30px;}
.mb35{margin-bottom: 35px;}
.mb40{margin-bottom: 40px;}
.mb45{margin-bottom: 45px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb65{margin-bottom: 65px;}
.mb70{margin-bottom: 70px;}
.mb75{margin-bottom: 75px;}
.mb80{margin-bottom: 80px;}
.mb90{margin-bottom: 90px;}
.mb100{margin-bottom: 100px;}
.mb110{margin-bottom: 110px;}
.mb115{margin-bottom: 115px;}
.mb130{margin-bottom: 130px;}
.mb200{margin-bottom: 200px;}
.pdl-10{padding-left: 10px;}
.break_sp { display: contents; }
.break_pc { display: block; }

/*-- header --------------------------------
------------------------------------------*/
.sec_h .inner .d-flex,
.sec_h{
  height: 86px;
  width: 100%;
  background: #fff;
}
.sec_h .inner{
  max-width: 1078px;
  padding: 0;
}
.sec_h .inner .d-flex{
  align-items: center;
}
/*-- /header -------------------------------
------------------------------------------*/

/*-- mv ------------------------------------
------------------------------------------*/
.sec_mv{
  background: url(../images/pc_bg_mv.jpg) no-repeat center;
  min-height: 687px;
  padding-top: 4px;
}
.top_mv{
  background: url(../images/top_mv_bg.jpg) repeat-x;
  min-height: 67px;
  display: flex;
  align-items: center;
  justify-content: center;
}
/*-- /mv -----------------------------------
------------------------------------------*/

/*-- cta -----------------------------------
------------------------------------------*/
.cta{
  background: #0D3873;
  background: linear-gradient(0deg, rgba(13, 56, 115, 1) 0%, rgba(31, 107, 196, 1) 0%, rgba(19, 86, 165, 1) 0%, rgba(15, 94, 186, 1) 100%);
  padding: 55px 0 15px 0;
}
.cta .cta_text{
  color: #fff;
  font-size: 18px;
  line-height: 1.45;
}
/*-- /cta ----------------------------------
------------------------------------------*/

/*-- sec01 ---------------------------------
------------------------------------------*/
.sec01{
  padding: 70px 0 100px 0;
  background: url(../images/sec01_bg.jpg) repeat-x bottom;
  position: relative;
}
.sec01_box{
  position: relative;
}
.sec01_box .txt{
  background: #333333;
  padding: 25px 15px 0 15px;
  width: 100%;
  max-width: 626px;
  position: relative;
  z-index: 2;
}
.sec01_box .thumb{
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.sec01_box .txt ul li{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.sec01_box .txt ul li:not(:last-child){
  background: url(../images/sec01_line.png) repeat-x bottom;
}
.sec01_box .txt ul li img{
  width: 36px;
  position: relative;
  top: 5px;
}
.sec01_box .txt ul li p{
  width: calc(100% - 46px);
  color: #fff;
  font-size: 30px;
  margin-bottom: 0;
  padding-left: 10px;
  font-weight: 500;
  line-height: 1.4;
}
.sec01_box .txt ul li p span{
  color: #ffc953;
}
.sec01_arr{
  position: absolute;
  bottom: -67px;
  left: 0;
  right: 0;
  content: "";
  margin: 0 auto;
  text-align: center;
  z-index: 1;
}
/*-- /sec01 --------------------------------
------------------------------------------*/

/*-- sec02 ---------------------------------
------------------------------------------*/
.sec02{
  padding: 149px 0 149px 0;
  background: url(../images/pc_sec02_bg.jpg) no-repeat top center;
  background-size: auto;
}
.sec02 .inner{
  padding: 0;
}
/*-- /sec02 --------------------------------
------------------------------------------*/

/*-- sec03 ---------------------------------
------------------------------------------*/
.sec03{
  padding: 105px 0 100px 0;
  background: #f3f3f3;
}
.sec03 dl{
  position: relative;
  width: calc(100% - 17px);
  left: 17px;
  background: #fff;
}
.sec03 dl:before{
  width: 100%;
  height: 100%;
  position: absolute;
  border: 2px solid #1455a3;
  top: 0;
  left: 0;
  right: 0;
  content: "";
  box-sizing: border-box;
}
.sec03 dl dt{
  position: relative;
  left: -16px;
  z-index: 2;
}
.sec03 dl .d-flex{
  padding: 35px 50px;
  position: relative;
  z-index: 3;
}
.sec03 dl .d-flex .thumb{
  width: 168px;
}
.sec03 dl .d-flex .txt{
  width: calc(100% - 220px);
  font-size: 20px;
}
.sec03_box02 .d-flex{
  flex-wrap: nowrap;
}
.sec03_box02 .txt{
  position: relative;
  left: 0;
  top: -5px;
  padding-left: 30px;
}
.sec03_box02 .txt .ttl{
  position: relative;
  left: -61px;
}
.sec03_txt{  
  padding: 0 15px;
  width: 100%;
}
/*-- /sec03 --------------------------------
------------------------------------------*/

/*-- cta02 ---------------------------------
------------------------------------------*/
.cta02{
  background: #0D3873;
  background: linear-gradient(0deg, rgba(13, 56, 115, 1) 0%, rgba(31, 107, 196, 1) 0%, rgba(19, 86, 165, 1) 0%, rgba(15, 94, 186, 1) 100%);
  padding: 105px 0 81px 0;
  position: relative;
}
.cta02_arr{
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  text-align: center;
  margin: 0 auto;
}
/*-- /cta02 --------------------------------
------------------------------------------*/

/*-- sec04 ---------------------------------
------------------------------------------*/
.sec04{
  padding: 70px 0 140px 0;
}
.sec04_box{
  position: relative;
}
.sec04_box:before{
  background: #eef4fa;
  width: 50%;
  height: 100%;
  left: 0;
  top: 0;
  content: "";
  position: absolute;
}
.sec04_box.last:before{
  left: unset;
  right: 0;
}
.sec04_box .inner{
  background: #eef4fa;
  padding: 0 15px 0 0;
}
.sec04_box .inner:before{
  width: calc(50% + 40px);
  background: #eef4fa;
  width: 50%;
  height: 100%;
  right: -40px;
  top: 0;
  content: "";
  position: absolute;
  z-index: 1;
}
.sec04_box.last .inner:before{
  width: calc(50% + 65px);
  left: -65px;
}
.sec04_box .img_r{
  float: right;
  margin: 0 0 30px 50px;
}
.sec04_box .img_l{
  float: left;
  margin: 0 50px 30px 0;
}
.sec04_box dl{
  position: relative;
  z-index: 2;
  padding-bottom: 57px;
}
.sec04_box dl dt{
  position: relative;
  top: -45px;
}
.sec04_box dl dd{
  padding-top: 12px;
}
.sec04_box dl dd p{
  line-height: 1.5;
  font-size: 20px;
}
/*-- /sec04 --------------------------------
------------------------------------------*/

/*-- sec05 ---------------------------------
------------------------------------------*/
.sec05{
  padding: 90px 0;
}
.sec05_box dl{
  border-radius: 20px;
  position: relative;
  overflow-x: hidden;
  width: 100%;
  padding: 46px 30px 30px 30px;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.sec05_box dl:before{
  width: 100%;
  height: 100%;
  border: 5px solid #e9e9e9;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  box-sizing: border-box;
  content: "";
  border-radius: 20px;
}
.sec05_box dl dt{
  max-width: 232px;
}
.sec05_box dl.last dt{
  order: 2;
}
.sec05_box dl dd{
  width: calc(100% - 256px);
}
.sec05_box dl.last dd{
  order: 1;
}
.sec05_box dl dd p{
  font-size: 18px;
}
/*-- /sec05 --------------------------------
------------------------------------------*/

/*-- sec06 ---------------------------------
------------------------------------------*/
.sec06{
  background: #eaf2fd;
  padding: 80px 0 0 0;
}
.sec06_box dl dd{
  background: #fff;
  border-radius: 0 0 20px 20px;
  padding: 50px 90px 65px 90px;
}
.sec06_box dl dd ul li{
  font-size: 30px;
}
.sec06_box dl dd ul li:not(:last-child){
  margin-bottom: 10px;
}
.sec06_box dl dd p{
  font-size: 18px;
}
.sec06_box03{
  margin-top: 43px;
  padding-bottom: 60px;
}
.sec06_box03 dl{
  background: #fff;
  width: 100%;
  margin: 0 auto;
  max-width: 938px;
  border-radius: 15px;
  box-shadow: 0 0 18px rgba(0, 0, 0, .01);
}
.sec06_box03 dl dt span{
  background: #0D3873;
  background: linear-gradient(231deg, rgba(13, 56, 115, 1) 0%, rgba(31, 107, 196, 1) 0%, rgba(69, 133, 205, 1) 0%, rgba(26, 104, 195, 1) 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 328px;
  height: 50px;
  text-align: center;
  color: #fff;
  font-size: 28px;
  border-radius: 50px;
  margin: 0 auto;
  position: relative;
  top: -25px;
  font-weight: 500;
}
.sec06_box03 dl dt span.bg_blue02{
  background: #0D3873;
  background: linear-gradient(231deg, rgba(13, 56, 115, 1) 0%, rgba(31, 107, 196, 1) 0%, rgba(57, 97, 152, 1) 0%, rgba(41, 63, 114, 1) 100%);
}
.sec06_box03 dl dd{
  padding: 0px 135px 30px 135px;
}
.sec06_box03 dl dd ul li{
  font-size: 22px;
  margin-bottom: 5px;
  font-weight: 500;
}
.sec06_box03 p.pd-135{
  padding: 0 135px;
  max-width: 938px;
  margin: 15px auto 0;
  font-size: 18px;
  line-height: 1.4;
}
.sec06_box04{
  padding: 0 15px;
  display: flex;
  justify-content: space-between;
  gap: 34px;
}
.sec06_box04 dl dd p{
  line-height: 1.4;
  margin-top: 40px;
}
.sec06_box04 dl dt.arr{
  position: relative;
}
.sec06_box04 dl dt.arr:before{
  position: absolute;
  width: 15px;
  height: 23px;
  background: url(../images/sec06_box04_arr.png) no-repeat;
  background-size: contain;
  top: 65%;
  right: -25px;
  transform: translateY(-65%);
  content: "";
}
.sec06 .w948{
  max-width: 948px;
  margin: 0 auto;
}
.sec06 .box_ttl{
  position: relative;
  z-index: 2;
}
.sec06 .box_img04{
  margin-top: -50px;
  position: relative;
  z-index: 1;
}
.bg_w{
  background: #fafafa;
  padding: 80px 0 80px 0;
}
/*-- /sec06 --------------------------------
------------------------------------------*/

/*-- sec07 ---------------------------------
------------------------------------------*/
.sec07{
  padding: 115px 0 0 0;
}
.sec07_box{
  margin-top: 90px;
}
.sec07_box dl{
  position: relative;
  border-radius: 30px;
  border: 9px solid #e6eefa;
  padding: 0 40px 40px 40px;
  background: #fff;
}
.sec07_box dl dt span{
  height: 62px;
  width: 100%;
  margin: 0 auto;
  max-width: 834px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  font-weight: 700;
  color: #003c7c;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 0 18px rgba(0, 0, 0, .1);
  position: relative;
  top: -31px;
}
.sec07_box02{
  position: relative;
  width: 100%;
  overflow: hidden;
}
.sec07_box02 .thumb{
  position: absolute;
  right: 0;
  top: 0;
}
.sec07_box02 .txt{
  padding-left: 35px;
  padding-top: 28px;
  width: 100%;
  max-width: 645px;
  position: relative;
  z-index: 2;
}
.sec07_box02 .txt p{
  line-height: 1.4;
  padding-right: 40px;
}
.sec07_box02 .txt dl dt{
  font-size: 30px;
  font-weight: 700;
  color: #003c7c;
  padding: 20px;
  line-height: 0;
  position: relative;
  margin-bottom: 30px;
}
.sec07_box02 .txt dl dt:before{
  width: 5px;
  height: 28px;
  background: #b5d1fc;
  position: absolute;
  left: 0;
  top: 8px;
  content: "";
}
/*-- /sec07 --------------------------------
------------------------------------------*/

/*-- sec08 ---------------------------------
------------------------------------------*/
.sec08{
  padding: 100px 0 55px 0;
  background: #0D3873;
  background: linear-gradient(0deg, rgba(13, 56, 115, 1) 0%, rgba(227, 237, 251, 1) 0%, rgba(253, 253, 255, 1) 30%, rgba(253, 253, 255, 1) 100%);
}
.sec08_box dl{
  box-shadow: 0 0 18px rgba(0, 0, 0, .1);
  padding: 30px 30px 30px 40px;
  border-radius: 10px;
  background: #fff;
}
.sec08_box dl dt{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 40px;
}
.sec08_box dl dd{
  display: flex;
  flex-wrap: wrap;
}
.sec08_box dl dt p{
  font-weight: 500;
  font-size: 25px;
  padding-left: 32px;
  margin-bottom: 0;
}
.sec08_box dl dd span.txt_a,
.sec08_box dl dt span.txt_q{
  width: 48px;
  height: 48px;
  border-radius: 50%;
  font-size: 32px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #003c7c;
  color: #fff;
  padding: 0 0 12px 0;
}
.sec08_box dl dd span.txt_a{
  border: 2px solid #003c7c;
  background: #fff;
  color: #003c7c;
  padding: 0 0 8px 0;
}
.sec08_box dl dd p{
  padding-left: 32px;
  width: calc(100% - 48px);
}
/*-- /sec08 --------------------------------
------------------------------------------*/

/*-- cta03 ---------------------------------
------------------------------------------*/
.cta03{
  padding: 50px 0 30px 0;
  background: #0D3873;
  background: linear-gradient(0deg, rgba(13, 56, 115, 1) 0%, rgba(31, 107, 196, 1) 0%, rgba(19, 86, 165, 1) 0%, rgba(15, 94, 186, 1) 100%);
}
.cta03_box{
  position: relative;
}
.cta03_btn{
  position: absolute;
  right: 0;
  left: 0;
  content: "";
  bottom: 35px;
  margin: 0 auto;
  text-align: center;
  display: inline-table;
}
/*-- /cta03 --------------------------------
------------------------------------------*/

/*-- sec10 ---------------------------------
------------------------------------------*/
.sec10{
  padding: 100px 0 70px 0;
}
.sec10_box{
  width: 100%;
  max-width: 730px;
  margin: 52px auto 0;
}
.sec10_box dl{
  padding: 35px 100px 35px 130px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 500;
}
.sec10_box dl:not(:last-child){
  border-bottom: 2px solid #e3edfb;
}
.sec10_box dl dt{
  width: 180px;
}
.sec10_box dl dd{
  width: calc(100% - 180px);
}
.sec10_btn{
  margin: 20px 0 50px 0;
}
.sec10_btn a{
  display: inline-table;
}
.sec10_iframe{
  position:relative;
  width:100%;
  padding-top:56.25%;
}
.sec10_iframe iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}
/*-- /sec10 --------------------------------
------------------------------------------*/

/*-- footer --------------------------------
------------------------------------------*/
.sec_footer{
  padding: 55px 0 15px 0;
  background: #fafafa;
}
.sec_footer .logo_footer a{
  display: inline-table;
}
/*-- /footer -------------------------------
------------------------------------------*/

/*-- cta_fixed -----------------------------
------------------------------------------*/
#cta_fixed{
  background: rgba(0, 0, 0, .8);
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 15px 0 5px 0;
  z-index: 5;
  text-align: center;
  opacity: 0;
}
#cta_fixed a{
  display: inline-table;
}
#cta_fixed a:hover, .cta_btn a:hover{
	opacity: 1
}
/*-- /cta_fixed ----------------------------
------------------------------------------*/

/*-- /pagetop ------------------------------
------------------------------------------*/
.pagetop{display:none;position:fixed;bottom:50px;right:50px;z-index:9999;}
.pagetop a{position:relative;display:block;width:50px;height:50px;background-color:#115aae;;border-radius:4px;filter:alpha(opacity=100);-moz-opacity:1;opacity:1;}
.pagetop a:before{position:absolute;content:"";border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:12px solid #fff;top:50%;right:50%;transform:translateX(50%)translateY(-60%);}
.pagetop a:hover{display:block;text-align:center;color:#fff;font-size:12px;text-decoration:none;filter:alpha(opacity=70);-moz-opacity:0.7;opacity:0.7;}
.pagetop a:link,.pagetop a:visited{color:#fff;}
/*-- /pagetop ------------------------------
------------------------------------------*/