@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{
  height: 100%;
}
html{
  font-size: 62.5%;
  overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,ul, ol, li, dl, dt, dd,table, th, td, img, form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "メイリオ",Meiryo,Helvetica,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
  text-align: left;
  color: #333;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  text-align: justify;
    hanging-punctuation: allow-end;
}

a{
  text-decoration: none;
  color: #000;
}
a:hover{
  opacity: 0.5;
  filter: alpha(opacity=50);
  -moz-opacity: 0.5;
  -webkit-transition: 0.7s ease-in-out;
  -moz-transition: 0.7s ease-in-out;
  -o-transition: 0.7s ease-in-out;
  transition: 0.7s ease-in-out;
}
div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,form,input,textarea,button,table,tr,th,td,article,aside,footer,header,hgroup,nav,section,a,span,img{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
body{
  width: 100%;
  word-break: break-all;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,p{
  text-align: justify;
  text-justify: distribute;
  line-height: 1.5;
}
p img{
  vertical-align: bottom;
}
input, button, textarea, select {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}
input::-webkit-input-placeholder {
    color: #999999;
}
input:-ms-input-placeholder{
    color: #999999;
}
input::-moz-placeholder{
    color: #999999;
}
input::-ms-input-placeholder{
    color: #999999;
}

.aligncenter{
    display: block;
    margin: 0 auto;
}

.alignright{
  float: right;
}

.alignleft{
  float: left;
}

.wrap{
  width: 95%;
  max-width: 920px;
  margin: auto;
}
.flex{
  display: flex;
  display: -webkit-flex;
  display: -ms-flex;
}
.flexwrap_wrap{
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.flexdirection_column{
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.justifycontent_flexend{
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
}
.justifycontent_center{
  -webkit-justify-content: center;
          justify-content: center;
}
.justifycontent_spacebetween{
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
.justifycontent_spacearound{
  -webkit-justify-content: space-around;
          justify-content: space-around;
}
.aligncontent_spacebetween{
  -webkit-align-content: space-between;
          align-content: space-between;
}
.alignitems_center{
  -webkit-align-items: center;
          align-items: center;
}
.alignitems_flexend{
  -webkit-align-items: flex-end;
          align-items: flex-end;
}
.alignitems_flexstart{
  -webkit-align-items: flex-start;
          align-items: flex-start;
}
.txt{
  font-size: 1.6rem;
}

.sp{
  display: none;
}
p span.highlight{
  background: linear-gradient(transparent 50%, #ffdb00 50%);
}
p span.fwb{
  font-weight: bold;
}
p span.cored{
  color: #c00;
}
p span.textdeco{
  text-decoration: underline;
}

/*header*/
.header{
  padding: .6% 0;
  background: url(../img/bg_line.png);
}
.edge .header{
  padding: .6% 0 .4%;
}
.ie .header{
  padding: 1% 0 .2%;
}
.header .wrap{
  position: relative;
}
/* .header .logo{
  position: absolute;
  left: 0;
}
.ie .header .logo{
  top: -8px;
} */
.header p{
  font-size: 2.9rem;
  color: #fff;
  line-height: 1;
}
.header p span{
  color: #ffdb00;
  font-weight: bold;
}
.header p.center{
  margin: 0 auto;
padding-top: 6px;
}

#header_wrap{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 9999;
  background: url(../img/bg_line.png);
}

#header_wrap .wrap{
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 54px;
}

#header_wrap h1.logo{
  line-height: 1;
}
#header_wrap h1.logo a{
    display: flex;
    align-items: center;
    box-sizing: border-box;
}
/*チェックボックス等は非表示に*/
.nav-unshown{
    display:none;
}

#header_wrap .gnav ul{
    display: flex;
}
#header_wrap .gnav li{
    margin-right: 30px;
    padding: 5px 0;
    box-sizing: border-box;
    display: flex;
    align-items: center;
}
#header_wrap .gnav li:last-of-type{
    margin-right: 0;
}

#header_wrap .gnav a{
    display: block;
    font-size: 13px;
    color: #fff;
    box-sizing: border-box;
    padding: 10px 0;
}
#header_wrap .gnav a:hover{ text-decoration: underline;}

#header_wrap .gnav li.apply_btn{
    background: #a71b2f;
    padding: 0;
    transition: 0.2s;
}
#header_wrap .gnav li.apply_btn a{
    font-size: 16px;
    font-weight: bold;
    color: #FFF;
    padding: 22px 14px;
}
#header_wrap .gnav li.apply_btn:hover{ opacity: 0.7;}
#header_wrap .gnav li.apply_btn a:hover{ text-decoration: none;}


.fv2,.fv3{
  padding-top: 54px;
}


/*fv*/
.fv h1{
  height: 660px;
  background: url(../img/img_fv01.jpg) no-repeat center top;
}
.fv2 h1{
  background-image: url(../img/img_fv.jpeg);
}
.fv3 h1{
  background-image: url(../img/img_fv03.jpg);
}
.fv h1 img{
  display: none;
}

/*cta*/
.cta{
  padding: 1% 0;
  background: url(../img/bg01.png);
}
.cta h2{
  font-size: 2rem;
  color: #fff;
  text-align: center;
}
.sec04 + .cta h2,
.sec05 + .cta h2{
  margin-bottom: 2%;
  line-height: 1;
}
.cta h2 span{
  font-size: 4.2rem;
  color: #ffff33;
  font-weight: bold;
  font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
}
.box_input{
  position: relative;
  width: 80%;
  height: 60px;
  margin: 1% auto 0;
}
.box_input:before{
  content: "\005fc5\009808";
  position: absolute;
  display: inline-block;
  width: 43px;
  height: 26px;
  top: 50%;
  left: 2.6%;
  text-align: center;
  line-height: 26px;
  font-size: 1.65rem;
  color: #fff;
  background-color: #d20000;
  transform: translateY(-50%);
}
input[type="text"]{
  width: 100%;
  height: 100%;
  line-height: 60px;
  padding-left: 80px;
  font-size: 2.4rem;
  background-color: #fff;
  border: 1px solid #cdcdcd;
}
input[type="submit"]{
  display: block;
  width: 73.5%;
  margin: auto;
  padding-top: 10.9%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  background: url(../img/btn_cta02.png) 50% 50% no-repeat;
  background-size: 100%;
  cursor: pointer;
}
.form_txt{
  width: 72% ;
  height: 63px;
  padding: 2% 2% 2% 2%;
  margin: auto;
  overflow: hidden;
  overflow-y: scroll;

  border: 1px solid #ccc;
}
.form_txt p{
  font-size: 1.2rem;
  line-height: 1.4;
  color: #fff;
}

/*tokuten*/
.tokuten{
  padding: 5% 0;
}
.tokuten h2{
  margin-bottom: 5%;
  text-align: center;
}
.tokuten .txt p{
  margin-bottom: 1em;
  font-size: 1.7rem;
}
.tokuten .txt p:last-child{
  width: 98%;
  margin: 3% auto 0;
}
.tokuten .txt p:last-child img{
  width: 100%;
}


/*sec01*/
.sec01{
  padding: 5% 0;
}
.sec01 h2{
  margin-bottom: 5%;
  text-align: center;
}
.sec01 .txt p{
  margin-bottom: 1em;
  font-size: 1.7rem;
}
.sec01 .txt p:last-child{
  width: 98%;
  margin: 3% auto 0;
}
.sec01 .txt p:last-child img{
  width: 100%;
}

/*sec02*/
.sec02{
  padding: 0 0 1%;
  background: #efeffa;
}
.sec02 h2{
  position: relative;
  padding: .8% 0 1%;
  margin-bottom: 2%;
  text-align: center;
  line-height: 1;
  background: url(../img/bg01.png);
}
.edge .sec02 h2{
  padding: 1% 0 .8% ;
}
.sec02 h2:after{
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  right: 0;
  width: 42px;
  height: 17px;
  margin: 0 auto;
  background: url(../img/bg_title_after.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .wrap{
  padding: 2% 1% 3%;
  background: #fff;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.sec02 .box{
  padding: 0 2.5% 2%;
  margin-bottom: 5%;
  border-bottom: 1px dotted #ccc;
}
.sec02 .box:last-child{
  padding: 0 1%;
  margin-bottom: 0;
  border-bottom: none;
}
.sec02 h3{
  margin: 7% 0 3%;
  text-align: center;
}
.sec02 .box h4{
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 1em;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}
.sec02 .box h4 span{
  font-size: 2.4rem;
  color: #a71b2f;
}
.sec02 .box h4:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 56px;
  margin: auto;
}
.edge .sec02 .box h4:before,
.ie .sec02 .box h4:before{
  top: 0.2em;
}
.sec02 .box:nth-child(1) h4:before{
  background: url(../img/icon01.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box:nth-child(2) h4:before{
  background: url(../img/icon02.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box:nth-child(3) h4:before{
  background: url(../img/icon03.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box:nth-child(4) h4:before{
  background: url(../img/icon04.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box:nth-child(5) h4:before{
  background: url(../img/icon05.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box:nth-child(6) h4:before{
  background: url(../img/icon06.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec02 .box .flex{
  margin-bottom: 3%;
}
.sec02 .box .flex > p{
  width: 35%;
}
.sec02 .box .flex > p img{
  width: 100%;
}
.sec02 .box .flex .txt{
  width: 100%;
}
.sec02 .box .txt p{
  margin-bottom: 1.5em;
  margin-left: 0.8em;
  font-size: 1.7rem;
}
.sec02 .box .txt p:last-child{
  margin-bottom: 0;
}
.sec02 .inn{
  padding: 0 1%;
}
.sec02 .inn p img{
  width: 100%;
}
.sec02 .inn h3{
  margin: 7% 0 2%;
}
.sec02 .inn .txt{
  margin-top: 3%;
}
.sec02 .inn .txt p:first-child{
  margin-bottom: 1.5em;
}
.sec02 .inn .txt p:last-child{
  margin-top: 1.5em;
}
.sec02 .inn .txt p.fsl{
  font-size: 2.8rem;
  line-height: 1.2;
}

/*sec03*/
.sec03{
  padding: 0 0 1%;
  background: #efeffa;
}
.sec03 h2{
  position: relative;
  padding: .8% 0 1%;
  margin-bottom: 2%;
  text-align: center;
  line-height: 1;
  background: url(../img/bg01.png);
}
.edge .sec03 h2{
  padding: 1% 0 .8% ;
}
.sec03 h2:after{
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  right: 0;
  width: 42px;
  height: 17px;
  margin: 0 auto;
  background: url(../img/bg_title_after.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .wrap{
  padding: 2% 1% 3%;
  background: #fff;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.sec03 .box{
  padding: 0 2.5% 2%;
  margin-bottom: 5%;
  border-bottom: 1px dotted #ccc;
}
.sec03 .box-last{
  padding: 0 2.5% 2%;
  margin-bottom: -5%;
}
.sec03 .box:last-child{
  padding: 0 1%;
  margin-bottom: 0;
  border-bottom: none;
}
.sec03 h3{
  margin: 7% 0 3%;
  text-align: center;
}
.sec03 .box h4{
  position: relative;
  padding-left: 2.5em;
  margin-bottom: 1em;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.2;
}
.sec03 .box h4 span{
  font-size: 2.4rem;
  color: #a71b2f;
}
.sec03 .box h4:before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 56px;
  margin: auto;
}
.edge .sec03 .box h4:before,
.ie .sec03 .box h4:before{
  top: 0.2em;
}
.sec03 .box:nth-child(1) h4:before{
  background: url(../img/icon07.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(2) h4:before{
  background: url(../img/icon08.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(3) h4:before{
  background: url(../img/icon09.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(4) h4:before{
  background: url(../img/icon10.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(5) h4:before{
  background: url(../img/icon11.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(6) h4:before{
  background: url(../img/icon12.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box:nth-child(7) h4:before{
  background: url(../img/icon13.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec03 .box .flex{
  margin-bottom: 3%;
}
.sec03 .box .flex > p{
  width: 35%;
}
.sec03 .box .flex > p img{
  width: 100%;
}
.sec03 .box .flex .txt{
  width: 64%;
}
.sec03 .box .txt p{
  margin-bottom: 1.5em;
  font-size: 1.7rem;
}
.sec03 .box .txt p:last-child{
  margin-bottom: 0;
}
.sec03 .inn{
  padding: 0 1%;
}
.sec03 .inn p img{
  width: 100%;
}
.sec03 .inn h3{
  margin: 7% 0 2%;
}
.sec03 .inn .txt{
  margin-top: 3%;
}
.sec03 .inn .txt p:first-child{
  margin-bottom: 1.5em;
}
.sec03 .inn .txt p:last-child{
  margin-top: 1.5em;
}
.sec03 .inn .txt p.fsl{
  font-size: 2.8rem;
  line-height: 1.2;
}

/*sec04*/
.sec04{
  padding: 0 0 3%;
  background: #f7f7f7;
}
.sec04 h2{
  position: relative;
  padding: .8% 0 1%;
  margin-bottom: 2%;
  text-align: center;
  line-height: 1;
  background: url(../img/bg01.png);
}
.edge .sec04 h2{
  padding: 1% 0 .8% ;
}
.sec04 h2:after{
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  right: 0;
  width: 42px;
  height: 17px;
  margin: 0 auto;
  background: url(../img/bg_title_after.png) no-repeat center center;
  -webkit-background-size: cover;
  background-size: cover;
}
.sec04 .wrap{
  padding: 2% 1%;
  background: #fff;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.sec04 .box{
  padding: 0 1% 2%;
  margin-bottom: 5%;
  border-bottom: 1px dotted #ccc;
}
.sec04 .box:last-child{
  margin-bottom: 0;
}
.sec04 .box h3{
  margin-bottom: 1em;
  font-size: 2.4rem;
  color: #067ac3;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}
.sec04 .box:nth-child(2) h3{
  font-size: 3rem;
}
.sec04 .box p.name{
  margin-bottom: 2em;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: right;
}
.sec04 .box p.name span{
  margin: 0 0 0 0.5em;
  font-size: 130%;
}
.sec04 .box p.photo{
  margin-bottom: 3%;
  text-align: center;
}
.sec04 .box .txt p{
  margin-bottom: 1.5em;
  line-height: 2;
}

/*sec05*/
.sec05{
  padding: 5% 0;
  background: url(../img/bg02.png);
}
.sec05 h2{
  margin-bottom: 3%;
  text-align: center;
}
.sec05 .box{
  margin-bottom: 8%;
}
.sec05 .box > p{
  margin-bottom: 3%;
}
.sec05 .box h3{
  margin-bottom: .5em;
  font-size: 3rem;
  color: #a71b2f;
  font-weight: bold;
  text-align: center;
}
.sec05 .box .txt p{
  font-size: 1.7rem;
  line-height: 1.6;
}
.sec05 .box .txt p.mb1em{
  margin-bottom: 1.5em;
}
.sec05 table{
  width: 98%;
  margin: auto;
  border-collapse:  collapse;
}
.sec05 table thead th{
  padding: 1% 0;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  background: #051429;
}
.ie .sec05 table thead th{
  padding: 1.6% 0 1%;
}
.sec05 table tbody th{
  width: 25%;
  padding: 1% 0;
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
  background: #fbf8f3;
  border: 1px solid #666;
}
.sec05 table tbody tr:nth-child(3) th,
.sec05 table tbody tr:nth-child(4) th{
  vertical-align: top;
}
.sec05 table tbody td{
  padding: 1%;
  font-size: 1.4rem;
  line-height: 2;
  background: #feffff;
  border: 1px solid #666;
}
.ie .sec05 table tbody td{
  padding: 1.6% 1% 1%;
}

/*sec06*/
.sec06{
  padding: 0% 0;
  background: url(../img/bg02.png);
}
.sec06 h2{
  margin-bottom: 3%;
  text-align: center;
}
.sec06 .box{
  margin-bottom: 8%;
}
.sec06 .box > p{
  margin-bottom: 3%;
}
.sec06 .box h3{
  margin-bottom: .5em;
  font-size: 3rem;
  color: #a71b2f;
  font-weight: bold;
  text-align: center;
}
.sec06 .box .txt p{
  font-size: 1.7rem;
  line-height: 1.6;
}
.sec06 .box .txt p.mb1em{
  margin-bottom: 1.5em;
}
.sec06 table{
  width: 98%;
  margin: auto;
  border-collapse:  collapse;
}
.sec06 table thead th{
  padding: 1% 0;
  font-size: 1.8rem;
  color: #fff;
  text-align: center;
  background: #051429;
}
.ie .sec06 table thead th{
  padding: 1.6% 0 1%;
}
.sec06 table tbody th{
  width: 25%;
  padding: 1% 0;
  font-size: 1.4rem;
  text-align: center;
  line-height: 2;
  background: #fbf8f3;
  border: 1px solid #666;
}
.sec06 table tbody tr:nth-child(3) th,
.sec06 table tbody tr:nth-child(4) th{
  vertical-align: top;
}
.sec06 table tbody td{
  padding: 1%;
  font-size: 1.4rem;
  line-height: 2;
  background: #feffff;
  border: 1px solid #666;
}
.ie .sec06 table tbody td{
  padding: 1.6% 1% 1%;
}

/*footer*/
.footer{
  padding: 2% 0;
}
.footer ul{
  margin-bottom: 2%;
}
.footer ul li{
  font-size: 1.6rem;
  border-left: 1px solid #000;
}
.footer ul li:first-child{
  border-left: none;
}
.footer ul li a{
  padding: 0 1em;
  font-size: 1.6rem;
}
.footer p.copy{
  font-size: 1.6rem;
  text-align: center;
}
.footer .logo{
  margin-left: 10%;
}

/* ------------------------------
    clearfix
------------------------------ */

.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}

.cf{
  display: inline-block;
}

/* Hides from IE Mac */
* html .cf{
  height: 1%;
}
.cf{
  display: block;
}
/* End Hack */

@media screen and (max-width : 768px){
  .sp{
    display: block;
  }
  .pc{
    display: none;
  }
  body{
    min-width: inherit;
  }
  img{
    max-width: 100%;
    height: auto;
  }
  p{
    font-size: 1.4rem;
  }
  .txt{
    font-size: 1.4rem;
  }

  .alignright,
  .alignleft{
    float: none;
  }

  /*header*/
  .header{
    padding: 2% 0;
  }
  .header .flex{
    justify-content: space-between;
  }
  .header .logo{
    width: 110px;
    position: relative;
  }
  .header p{
    font-size: 1.1rem;
  }
  .header p.center{
    padding-top: 2px;
    padding-left: 5px;
  }



  #header_wrap{
      border: none;
  }
  #header_wrap .wrap{
      width: 100%;
      height: 60px;
  }
  #header_wrap .bar-wrap{
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
      height: 60px;
      padding: 0 3%;
      z-index: 9999;
      background: url(../img/bg_line.png);
  }

  #header_wrap h1.logo{
      display: block;
      max-width: 140px;
      margin: 0;
  }
  #header_wrap .gnav{
      display: block;
      }

  #header_wrap .gnav ul{
      display: block;
      margin: 65px 0 25%;
  }
  #header_wrap .gnav li{
      margin-right: 0;
  }
  #header_wrap .gnav li.apply_btn{
      margin-top: 20px;
  }

  #header_wrap .gnav a{
      padding: 14px 14px;
      font-size: 14px;
      color: #000;
  }

  #header_wrap .gnav li.apply_btn a{
      font-size: 14px;
  }

  /* nav */

  #nav-drawer {
      position: relative;
  }

  /*アイコンのスペース*/
  #nav-open {
      position: fixed;
      margin: auto 0;
      right: 3%;
      top: 20px;
      display: inline-block;
      width: 30px;
      height: 19px;
      vertical-align: middle;
      z-index: 10000;
  }

  /*ハンバーガーアイコン*/
  #nav-open span {
      position: absolute;
      height: 3px;/*線の太さ*/
      width: 30px;/*長さ*/
      border-radius: 3px;
      background: #fff;
      display: block;
      content: '';
      cursor: pointer;
      transition: all 0.4s;
  }
  #nav-open span:nth-child(1){
      top: 0;
  }
  #nav-open span:nth-child(2){
      top: 8px;
  }
  #nav-open span:nth-child(3){
      bottom: 0;
  }
  #nav-input:checked ~ #nav-open span:nth-child(1){
      -webkit-transform: translateY(9px) rotate(145deg);
      transform: translateY(9px) rotate(45deg);
  }
  #nav-input:checked ~ #nav-open span:nth-child(2){
      left: 50%;
      opacity: 0;
      -webkit-animation: active-menu-bar02 .8s forwards;
      animation: active-menu-bar02 .8s forwards;
  }
  #nav-input:checked ~ #nav-open span:nth-child(3){
      -webkit-transform: translateY(-7px) rotate(-45deg);
      transform: translateY(-7px) rotate(-45deg);
  }
    @-webkit-keyframes active-menu-bar02 {
        100% {
      height: 0;
        }
    }
    @keyframes active-menu-bar02 {
        100% {
      height: 0;
        }
    }


  /*閉じる用の薄黒カバー*/
  #nav-close {
      display: none;/*はじめは隠しておく*/
      position: fixed;
      z-index: 99;
      top: 0;/*全体に広がるように*/
      left: 0;
      width: 100%;
      height: 100%;
      background: black;
      opacity: 0;
      transition: .3s ease-in-out;
  }

  /*中身*/
  .gnav {
      overflow: auto;
      position: fixed;
      top: 0;
      right: 0;
      z-index: 99;/*最前面に*/
      width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
      max-width: 330px;/*最大幅（調整してください）*/
      height: 100%;
      background: #fff;/*背景色*/
      transition: .3s ease-in-out;/*滑らかに表示*/
      -webkit-transform: translateX(105%);
      transform: translateX(105%);/*左に隠しておく*/
  }

  /*チェックが入ったらもろもろ表示*/
  #nav-input:checked ~ #nav-close {
      display: block;/*カバーを表示*/
      opacity: .5;
  }

  #nav-input:checked ~ .gnav {
      -webkit-transform: translateX(0%);
      transform: translateX(0%);/*中身を表示（右へスライド）*/
      background: #EEEEEE;
      padding: 0 4%;
      box-shadow: 6px 0 25px rgba(0,0,0,.15);
      box-sizing: border-box;
  }

  .fv2,.fv3{
    padding-top: 60px;
  }

  /*fv*/
  .fv h1{
    height: auto;
    background: none;
  }
  .fv h1 img.sp{
    display: block;
    width: 100%;
  }

  /*cta*/
  .cta{
    padding: 4% 0;
  }
  .cta h2{
    margin-bottom: 0.5em;
    font-size: .8rem;
  }
  .cta h2 span{
    font-size: 1.7rem;
  }
  .box_input{
    margin: 0% 5.5%;
    width: 100%;
    height: 50px;
  }
  .box_input:before{
    width: 28px;
    height: 20px;
    line-height: 20px;
    font-size: 1.0rem;
  }
  input[type="text"]{
    margin: 3.5% -3.5%;
    padding-left: 50px;
    line-height: 50px;
    font-size: 1.6rem;
  }
  input[type="submit"]{
    width: 103%;
    margin: -1.5%;
  }
  .box_input{
    width: 94%;
  }
  input[type="submit"]{
    width: 98%;
    margin: 3.5% 0.5%;
  }
  .form_txt{
    width: 95%;
  }

  /*sec01*/
  .sec01 h2 img{
    zoom: 0.5;
  }
  .sec01 .txt p{
    font-size: 1.4rem;
  }

  /*sec02*/
  .sec02{
    padding: 0 0 2%;
  }
  .sec02 h2{
    padding: 2% 0;
    margin-bottom: 1.2em;
  }
  .sec02 h2 img{
    zoom: 0.5;
  }
  .sec02 h2:after{
    bottom: -8.5px;
    width: 21px;
    height: 8.5px;
  }
  .sec02 .wrap{
    padding: 4% 1% 5%;
  }
  .sec02 .box{
    padding: 0 1% 2%
  }
  .sec02 h3 img{
    zoom: 0.5;
  }
  .sec02 .box h4{
    padding-left: 2.6em;
    font-size: 1.8rem;
  }
  .sec02 .box h4 br{
    display: none;
  }
  .sec02 .box h4:before{
    width: 2em;
    height: 2em;
  }
  .sec02 .box h4 span{
    display: block;
    font-size: 1.4rem;
  }
  .sec02 .box .flex{
    display: block;
  }
  .sec02 .box .flex > p{
    width: 100%;
    margin-bottom: 3%;
  }
  .sec02 .box .flex .txt{
    width: 100%;
  }
  .sec02 .box .txt p{
    font-size: 1.4rem;
  }
  .sec02 .inn .txt p.fsl{
    font-size: 1.6rem;
  }

  /*sec03*/
  .sec03{
    padding: 0 0 2%;
  }
  .sec03 h2{
    padding: 2% 0;
    margin-bottom: 1.2em;
  }
  .sec03 h2 img{
    zoom: 0.5;
  }
  .sec03 h2:after{
    bottom: -8.5px;
    width: 21px;
    height: 8.5px;
  }
  .sec03 .wrap{
    padding: 4% 1% 5%;
  }
  .sec03 .box{
    padding: 0 1% 2%
  }
  .sec03 h3 img{
    zoom: 0.5;
  }
  .sec03 .box h4{
    padding-left: 2.6em;
    font-size: 1.8rem;
  }
  .sec03 .box h4 br{
    display: none;
  }
  .sec03 .box h4:before{
    width: 2em;
    height: 2em;
  }
  .sec03 .box h4 span{
    display: block;
    font-size: 1.4rem;
  }
  .sec03 .box .flex{
    display: block;
  }
  .sec03 .box .flex > p{
    width: 100%;
    margin-bottom: 3%;
  }
  .sec03 .box .flex .txt{
    width: 100%;
  }
  .sec03 .box .txt p{
    font-size: 1.4rem;
  }
  .sec03 .inn .txt p.fsl{
    font-size: 1.6rem;
  }

  /*sec04*/
  .sec04 h2{
    padding: 2% 0;
    margin-bottom: 1.2em;
  }
  .sec04 h2 img{
    zoom: 0.5;
  }
  .sec04 h2:after{
    bottom: -8.5px;
    width: 21px;
    height: 8.5px;
  }
  .sec04 .box h3{
    margin-bottom: 0.5em;
    font-size: 1.6rem;
  }
  .sec04 .box:nth-child(2) h3{
    font-size: 1.8rem;
  }
  .sec04 .box p.name{
    margin-bottom: 1em;
    font-size: 1.2rem;
  }

  /*sec05*/
  .sec05 h2 img{
    zoom: 0.5;
  }
  .sec05 .box h3{
    margin-bottom: 1em;
    font-size: 1.4rem;
  }
  .sec05 .box .txt p{
    font-size: 1.4rem;
  }
  .sec05 table thead th{
    padding: 2% 0;
    font-size: 1.4rem;
  }
  .sec05 table tbody tr:nth-child(1) th{
    vertical-align: top;
  }
  .sec05 table tbody th{
    width: 33%;
  }
  .sec05 table tbody th,
  .sec05 table tbody td{
    padding: 2%;
    line-height: 1.6;
    font-size: 1.4rem;
  }

  /*footer*/
   .footer{
    padding: 4% 0;
   }
  .footer > .flex{
    display: block;
  }
  .footer ul{
    justify-content: center;
  }
  .footer ul li,
  .footer ul li a{
    font-size: 1.2rem;
  }
  .footer p.copy{
    font-size: 1rem;
  }
  .footer .logo{
    margin-top: 3%;
    margin-left: 0;
    text-align: center;
  }
  .footer .logo img{
    zoom: 0.5;
  }
}
@media screen and (max-width: 380px){
}
@media screen and (max-width: 320px){
}
