@charset "UTF-8";
/* **********************************
 *  ヘッダー
 * ********************************* */
header{
  padding:0;
}
header .hdr1{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0;
}
header .hdr1 .hdr_logo{
  line-height: 1;
}
header .hdr1 .hdr_contact{
}


/* **********************************
 *  グローバルナビ
 * ********************************* */
.gnav{
  /*background: #EEE;*/
  /*padding: 0 5px;*/
  transition: all .3s;
}
.gnav > ul{
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: center;
  text-align: center;
  /*font-size: 18px;*/
}
.gnav > ul > li{
  width: 100%;
  position: relative;
}
.gnav > ul > li.menu-item-has-children:after{
  content: "\f0d7";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #FFF;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.gnav li a{
  color: #333;
  text-decoration: none;
  display: block;
  padding: 5px;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.075em;
  transition: all .3s;
}
.gnav li a:hover{
  /*background: #333;*/
  /*color: #FFF;*/
}

.gnav .children,
.gnav .sub-menu{
  display: none;
  background: #aaa;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1;
}
.gnav li:hover > .children,
.gnav li:hover > .sub-menu{
  display: block;
}


.mv{
  position: relative;
  height: auto;
  /*background-image: url('/img/mv.jpg');*/
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  overflow: hidden;

}
.mv .mv_box{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #093688;
}
.mv .mv_box .txt{
  font-size: 32px;
}

.mv_box{

}
.mv_box .bg{
  position: absolute;
  top: 0;
  left: 0;
  width: 57.55%;
  height:auto;
  background: #fff;
  padding-left: 6.5%;
}
.mv_left{

}
.mv_left_txt{

}
.mv_left_txt .txt1{
  font-size: 16px;
  font-weight:500;
  letter-spacing: 0.075em;
}
.mv_left_txt .txt2{
  font-size: 18px;
  font-weight:700;
  letter-spacing: 0.075em;
  line-height: 2.45em;
}
.mv_left_txt .txt3{
  font-size: 42px;
  font-weight:900;
  letter-spacing: 0.075em;
  line-height: 1.22em;
}
.mv_right{

}
.mv_right .img{

}
.mv .budge{
  position:absolute;
  top: 50px;
  right: 50px;
  width: 158px;
}


.hdr_left{
  display: flex;
  align-items: center;
}
.hdr_tt{
  margin-left: 20px;
}
.hdr_left_txt1{
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.075em;
}
.hdr_left_txt2{
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: 0.075em;
  margin-top: 10px;
}
@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){
  header{
    padding: 10px 5px;
  }
  header .hdr1 .hdr_logo{
    width: 120px;
  }
  
  .hdr_tt{
    width: calc(100% - 120px - 20px);
  }
  
  .hdr_outer{
    display: none;
  }
  .hdr_left_txt1{
    font-size: 10px;
  }
  .hdr_left_txt2{
    margin-top: 0;
  }

  .mv_box{
    flex-wrap: wrap;
  }
  .mv_left{
    width: 100%;
    order: 2;
    padding: 0 20px 20px;
  }
  .mv_box .bg{
    top: auto;
    bottom: 0;
    width: 100%;
    height: 290px;
  }
  .mv_left_txt{
    position: relative;
  }
  .mv_left_txt .txt1{
    font-size: 14px;
  }
  .mv_left_txt .txt3{
    font-size: 28px;
  }
  .mv_right{
    order: 1;
    padding-top: 50px;
    padding-bottom: 100px;
  }
  .mv_right .img{
    width: 75%;
    margin: 0 auto;
  }
  .mv .budge {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 81px;
  }

  .gnav {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: #FFF;
    padding: 0;
    z-index: 99999;
    overflow-y: scroll;
    /* transition: all 0.2s; */
    transform: translateX(100%);
    padding: 15px;
  }
  .gnav.active {
    transform: translateX(0%);
  }
  .gnav ul li {
    width: 100%;
    padding: 12px 0;
    border: 0;
    border-bottom: 1px dashed #CCC;
  }
  .gnav_box2.gnav_open{
    display: none;
  }
}
@media (min-width:768px){
  .pg_xxx{

  }
  .pg_xxx .section.sec1{
    padding-top: 0;
    padding-bottom: 0;
  }
  .pg_xxx .section.sec2{
    padding-top: 0;
    padding-bottom: 0;
  }
  .pg_xxx .section.sec3{
    padding-top: 0;
    padding-bottom: 0;
  }

  .hdr1{
    padding-left: 30px;
  }
  .hdr_left{

  }

  .hdr_tt{

  }
  .hdr_left_txt1{

  }
  .hdr_left_txt2{
    font-size: 20px;
  }

  .hdr_outer{
    display: flex;
    align-items: center;
  }
  .gnav_outer{
    margin-right: 20px;
  }
  .gnav li a{
    padding: 27px 10px 0;
  }

  .hdr_contact a{
    width: 160px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: "Outfit", system-ui;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.075em;
    line-height: 1;
    background:#19467e;
    padding: 32px 0;
    transition: all .3s;
    text-decoration: none;
  }
  .hdr_contact a:before{
    content: "";
    display: block;
    ;

    width: 16px;
    height: 12px;
    background-image: url(/img/mail_wh.svg);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-right: 5px;
    /*transition: all .3s;*/
  }
  .hdr_contact a:hover:before{
    /*width: 18px;*/
    /*height: 12px;*/
    /*background-image: url(/img/envelope-solid_bk.svg);*/
  }
  .hdr_contact a:hover{
    /*background: #fff;*/
    background: #1b3554;
    /*color: #19467e;*/
  }

  .mv_box{

  }
  .mv_box .bg{

  }
  .mv_left{
    width: 40.16%;
    position: relative;
    z-index: 1;
    padding-left: 6.5%;
  }
  .mv_left:after{
    content: "";
    display: block;
    width: 100%;
    height: 700px;
    background: #fff;
    position: absolute;
    right: 0;
    bottom: -500px;
  }
  .mv_left_txt{

  }
  .mv_left_txt .txt1{

  }
  .mv_left_txt .txt2{
    font-size: 20px;
  }
  .mv_left_txt .txt3{
    font-size: 50px;
  }
  .mv_right{
    width: 55.72%;
    position: relative;
    z-index: 1;
  }
  .mv_right .img{

  }
  .mv .budge{
    top: 67px;
    right: 53px;
    width: 158px;
  }

}
@media (min-width:1024px){
  .hdr1{
    padding-left: 15px;
  }
  .hdr_left{

  }
  .hdr_tt{

  }
  .hdr_left_txt1{

  }
  .hdr_left_txt2{

  }
  .gnav_outer{
    margin-right: 32px;
  }
  .gnav li a{
    font-size: 16px;
    padding: 27px 5px 0;
  }

  .mv{
    height: 800px;
  }
  .mv_box{

  }
  .mv_box .bg{

  }
  .mv_left{
    top: -30px;
  }
  .mv_left_txt{
    position: relative;
    z-index: 10;
  }
  .mv_left_txt .txt1{
    margin-right: -61px;
  }
  .mv_left_txt .txt2{
    font-size: 18px;
    margin-top: 10px;
  }
  .mv_left_txt .txt3{
    font-size: 36px;
  }
  .mv_right{
    padding-top: 45px;
  }
  .mv_right .img{

  }
  .mv .budge{
    top: 67px;
    right: 53px;
    width: 100px;
  }

  .gnav.tab {
    display: none;
  }
  .gnav:hover li a{
    opacity: 0.5;
  }
  .gnav li a:hover{
    opacity: 1;
    color: #181818;
  }
}
@media (min-width:1200px){
  .container-w{
    width: 1550px;
    max-width: 100%;
  }
  .hdr1{
    padding-left: 30px;
  }
  .gnav li a{
    font-size: 16px;
    padding: 27px 26px 0;
  }

  .mv{
    height: 700px;
  }
  .mv_left_txt .txt2{
    font-size: 20px;
  }
  .mv_left_txt .txt3{
    font-size: 42px;
  }
  .mv .budge{
    top: 67px;
    right: 53px;
    width: 158px;
  }
}
@media (min-width:1500px){
  .mv{
    height: 800px;
  }
  .mv_left_txt .txt3{
    font-size: 70px;
  }
}
@media (min-width: 768px) and (max-width:1023px){
  .gnav {
    width: calc(100% - 60px);
    position: fixed;
    left: 100%;
    z-index: 1000000000;
    height: 0;
    /* background: #47a3cd; */
    /* padding: 20px 15px; */
    font-size: 16px;
    overflow: hidden;
    border-radius: 15px;
    transition: all 1.8s;
    opacity: 0;
    background: #f6f6f6;
    box-shadow: 0 0 4px 0px #666;
    display: flex;
  }
  .gnav.active {
    max-width: 900px;
    top: 50%;
    left: 51.8%;
    right: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(-50%, -50%);
    align-items: flex-start;
    left: 50%;
    right: inherit;
    top: 50%;
    height: auto;
    opacity: 1;
    transform: translate(-50%, -50%);
  }
  .gnav .gnav_box1 {
    width: 65px;
    padding: 30px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  .gnav.active .inner ul{
    display: flex;
    flex-wrap: wrap;
    border-radius: 0;
    /* border: 1px solid #000; */
    border-right: 1px solid #9f9f9f;
    border-left: 1px solid #9f9f9f;
    background: #f6f6f6;
  }
  .gnav .inner {
    width: calc(100% - 65px - 65px);
  }
  .gnav .gnav_box2 {
    width: 65px;
    text-align: center;
    padding: 30px 0;
  }
  .gnav .inner li{
    width: 50%;
    padding: 100px 10px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0.075em;
    text-align: center;
    color: #181818;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    border-right: 1px solid #9f9f9f;
    padding: 100px 0;
    border-bottom: 1px solid #9f9f9f;
  }
  .gnav .inner li:last-child{
    width: 100%;
    border-bottom: 1px solid #9f9f9f;
  }
  .gnav .gnav_item li a{
    padding-top: 0;
  }
  .hdr_menu_btn button, .gnav_box2 button {
    border: none;
    border: 0;
    font-size: 18px;
    text-align: center;
    background: transparent;
    line-height: 1;
    width: 65px;
    height: 50px;
  }
  .hdr_menu_btn button span, .gnav_box2 button span {
    display: block;
  }

  .mv_left:after{
    height: 400px;
    bottom: -394px;
    z-index: -3;
  }
  .mv_left {
    width: 50.16%;
    padding-left: 3.5%;
  }
  .mv_left_txt .txt2 {
    font-size: 18px;
  }
  .mv_left_txt .txt3{
    font-size: 32px;
  }
  .mv_right {
    width: 48.72%;
    padding-top: 30px;
  }
  .mv .budge {
    top: 20px;
    right: 20px;
    width: 60px;
  }
}

/* **********************************
 *  フッター
 * ********************************* */
footer{
  background: #f9f9f9;
  color: #FFF;
  /*padding:0 0 49px;*/
  margin-top: 80px;
}

footer .ftr1{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
footer .box1{
  width: 50%;
  color: #181818;
}
footer .box2{
  width: 50%;
  color: #fff;
}

footer .ftr_logo{
  margin-bottom: 30px;
}
footer .ftr_addr{
  line-height: 1.875;
}

footer .ftr_contact{
  background: #FFF;
  color: #111;
  padding: 5px;
}
footer .ftr_contact .inner{
  border: 2px solid #84ccad;
  padding: 10px;
  font-weight: 500;
  text-align: center;
}
footer .ftr_contact .title{

  letter-spacing: 0.05em;
}
footer .ftr_contact .title span{
  display: inline-block;
  padding: 5px 30px;
  border-bottom: 1px solid;
}
footer .ftr_contact .btn1{
  letter-spacing: 0.05em;
}
footer .ftr_contact .btn1 span{
  display: inline-block;
  font-size: 31px;
}
footer .ftr_contact .btn1 span:first-letter{
  font-size: 38px;
}
footer .ftr_contact .btn1 a{
  font-size: 36px;
}
footer .ftr_contact .btn2{
  margin-top: 6px;
}
footer .ftr_contact .btn2 a{
  display: inline-block;
  width: 220px;
  max-width: 100%;
  background: #f29b76;
  padding: 5px;
}
footer .ftr_contact .btn2 i{
  margin-right: 5px;
}

footer .ftr_links{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  margin-top: 25px;
  position: relative;
  z-index: 5;
}
footer .ftr_links li{
  padding: 0;
  line-height: 1.1;
  font-size: 16px;
  font-weight: 400;
  letter-spacing:0.2em;
}
footer .ftr_links li:nth-child(n+2){
  margin-top: 41px;
}
footer .ftr_links li+li{

}
footer .copy{
  background: #c4cbd3;
  color: #111;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.075em;
  padding: 10px 0;
  margin-top: 0;
}
footer .copy a{
  /*color: #111;*/
}


.footer_fix{
  display:none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #aec4e5;
  z-index: 10;
}
.footer_fix ul{
  /*display: table;*/
  width: 100%;
  font-size: 14px;

  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 3px;
}
.footer_fix ul li{
  /*display: table-cell;*/
  text-align: center;
  /*vertical-align: middle;*/
}
.footer_fix ul li.btn1{
  width: 36%;
}
.footer_fix ul li.btn2{
  width: 24%;
}
.footer_fix ul li a{
  display: block;
  padding: 10px;
  background: #093688;
  color: #FFF;
  text-decoration: none;
}

.logo_box{
  display: flex;
  align-items: flex-start;
}
.ftr1_hosok{
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.075em;
  line-height: 2.142em;
}

.ftr1_items{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 40px;
}
.ftr1_box1{
  width: 100%;
}
.ftr1_tt{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.075em;
}
.ftr1_tt.access{
  position: relative;
}
.ftr1_tt.access:after{
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #929292;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  z-index: 0;
}
.ftr1_tt.access p{
  display: inline-block;
  padding-right: 25px;
  background: #f9f9f9;
  position: relative;
  z-index: 3;
}
.ftr1_add{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.075em;
}
.ftr_bnr{
  margin-top: 25px;
}
.ftr1_box2{
  width: 100%;
}
.ftr1_area_items{
  display: flex;
  flex-wrap: wrap;
  margin: 26px -6.5px 0;
}
.ftr1_area_items .item{
  width: 50%;
  padding: 0 6.5px;
}
.ftr1_area_items .inner{
  display: block;
  background: #fff;
  border: 1px solid #c0c0c0;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.075em;
  padding: 6px 0;
}


.pagetop{
  background: #fff100;
  width: 55px;
  height: 55px;
  z-index: 9999;
}
.pagetop a{
  width: auto;
  height: auto;
  font-size: 17px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding-top: 10px;
  text-decoration: none;
}
.pagetop a:before{
  content: "→";
  transform: rotate(-90deg);
  line-height: 1;
}
/* コピー用 */
@media (max-width:374px){

}
@media (min-width:375px){

}
@media (max-width:767px){
  
  footer{
    padding-bottom: 49px;
  }
  footer .box2{
    display: none;
  }
  footer .box1{
    width: 100%;
  }

  .ftr1{
    padding: 42px 0;
  }
  .logo_box{
    flex-wrap: wrap;
    justify-content: center;
  }
  footer .ftr_logo{
    margin-bottom: 16px;
  }
  .ftr1_hosok{
    margin-top: 20px;
  }
  .ftr1_box1{
    text-align: center;
  }
  .ftr_bnr{
    width: 65%;
    margin: 28px auto;
  }
  .ftr1_items{
    margin-top: 28px;
  }
  .ftr1_area_items .item:nth-child(n+3){
    margin-top: 16px;
  }
  .ftr1_tt.access{
    text-align: center;
  }
  .ftr1_tt.access p{
    padding: 0 20px;
  }

  .footer_fix{
    display: block;
  }
}
@media (min-width:768px){
  .pg_xxx{

  }
  .pg_xxx .section.sec1{
    padding-top: 0;
    padding-bottom: 0;
  }
  .pg_xxx .section.sec2{
    padding-top: 0;
    padding-bottom: 0;
  }
  .pg_xxx .section.sec3{
    padding-top: 0;
    padding-bottom: 0;
  }

  footer .box1{
    width: 61.51%;
  }
  footer .box2{
    width: 32.23%;
    position: relative;
    background: #093688;
    z-index: 1;
  }
  footer .box2:after{
    content: "";
    display: block;
    width: 100vw;
    height: 100%;
    background: #093688;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    margin-right: calc(50% - 50vw);
  }

  .logo_box{
    display: flex;
    align-items: flex-start;
  }
  .ftr1_hosok{

  }

  .ftr1_items{
    margin-top: 50px;
  }
  .ftr1_box1{

  }
  .ftr1_tt{

  }
  .ftr1_add{

  }
  .ftr_bnr{

  }
  .ftr1_box2{
    margin-top: 40px;
  }
  .ftr1_area_items{

  }
  .ftr1_area_item{

  }
  footer .ftr_links li:before{
    content: "□";
  }
  footer .ftr_links li a{
    margin-left: 20px;
  }
  footer .ftr_links{
    transition: all .3s;
    padding: 103px 0 125px 30px;
  }
  footer .box1{
    padding-top: 90px;
    padding-bottom: 50px;
    ;
  }
  footer .ftr_links li{
    text-decoration: none;
    transition: all .3s;
  }
  footer .ftr_links li a{
    text-decoration: none;
  }
  footer .ftr_links:hover li{
    opacity: 0.5;
  }
  footer .ftr_links li:hover{
    opacity: 1;
    color: #fff;
  }

}
@media (min-width:1024px){

  .logo_box{
    display: flex;
    align-items: flex-start;
  }
  .ftr1_hosok{

  }

  .ftr1_items{
    margin-top: 70px;
  }
  .ftr1_box1{
    width: 39.03%;
  }
  .ftr1_tt{

  }
  .ftr1_add{

  }
  .ftr_bnr{

  }
  .ftr1_box2{
    width: 50.80%;
    margin-top: 0;
  }
  .ftr1_area_items{

  }
  .ftr1_area_items .item{
    width: 50%;
  }
  .ftr1_area_items .item:nth-child(n+3){
    margin-top: 20px;
  }
  footer .ftr_links{
    padding: 103px 0 125px 94px;
  }
  footer .box1{
    padding-top: 90px;
    padding-bottom: 0;
  }
}
@media (min-width:1200px){
  .pagetop{
    right: 50px;
    bottom: 214px;
    z-index: 9999;
  }

}
@media (min-width:1400px){
  .ftr1_area_items .item{
    width: 33.333%;
  }
  .ftr1_area_items .item:nth-child(n+3){
    margin-top: 0;
  }
  .ftr1_area_items .item:nth-child(n+4){
    margin-top: 20px;
  }

}