@charset "UTF-8";
/*-----------------------
 basic
-------------------------*/
h1, h2, h3, h4, h5, h6 {
  font-weight: bold; }

h1, h2, h3, h4, h5, h6, p, dt, dd, li, input, textarea, button {
  line-height: 1em;
  margin-bottom: 1em; }

section h1, section h2, section h3, section h4, section h5, section h6 {
  line-height: 1.2em;
  letter-spacing: 0.2em;
  font-weight: 700; }
section p, section dt, section dd, section li, section input, section textarea, section button {
  line-height: 1.5em;
  letter-spacing: 0.2em;
  font-weight: 700; }

.caption01 {
  text-align: center;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 85px; }
  .caption01::before {
    display: block;
    content: "";
    position: absolute;
    bottom: -17px;
    left: 50%;
    transform: translateX(-50%);
    width: 25em;
    height: 2px;
    border: 1px dashed #2a3e74; }
  .caption01 small {
    display: block;
    text-align: center;
    font-size: 1.8rem;
    margin: 0 0 7px 0; }

.caption02 {
  text-align: center;
  letter-spacing: 0.1em;
  position: relative;
  margin-bottom: 60px; }
  .caption02::before {
    display: block;
    content: "";
    position: absolute;
    top: 0.5em;
    left: 50%;
    transform: translateX(-50%);
    width: 690px;
    height: 2px;
    border: 1px dashed #2a3e74;
    z-index: -1; }
  .caption02 span {
    background: #FFF;
    display: inline-block;
    padding: 0 50px;
    font-size: 2.4rem; }

.bg {
  background: #bad7e5; }
.bg-red{
color: white;
background: #C60000;
border-radius: 5px; 
margin-left:5px;
font-size:8px;
padding:0 5px;
}
@media screen and (max-width: 999px) {
  .caption01 {
    text-align: center;
    font-size: 2.2rem;
    letter-spacing: 0.1em;
    position: relative;
    margin-bottom: 85px; }
    .caption01::before {
      width: 75%; }
    .caption01 small {
      font-size: 1.6rem; } }
/*-----------------------
 header
-------------------------*/
/*basic*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999; }
  .header .header_inner {
    width: 1000px;
    margin: auto;
    display: table; }
    .header .header_inner > div {
      display: table-cell;
      vertical-align: top; }

/*customize*/
.header {
  height: 70px;
  background: #FFF; }
  .header .header_inner {
    padding: 10px 20px 0px 25px; }
  .header .header_logo h1 {
    margin: 0; }

.menu-content ul {
  display: flex;
  justify-content: flex-end; }
  .menu-content ul li.header_navi_tel a {
    font-size: 2rem;
    font-weight: 700;
    font-family: "小塚ゴシック Pr6N","メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    text-indent: 0.05em;
    letter-spacing: 0.05em;
    display: block;
    margin: 10px 0 0 0;
    padding: 0 0 0 35px;
    position: relative; }
    .menu-content ul li.header_navi_tel a span:first-child {
      position: absolute;
      top: -3px;
      left: 0; }
  .menu-content ul li.header_navi_tel small {
    text-align: center;
    font-family: "メイリオ","ヒラギノ丸ゴ ProN","ヒラギノ角ゴシック",YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
    font-size: 1.1rem;
    text-indent: 0.1em;
    display: block;
    margin: 4px 0 0 0;
    padding: 0 0 0 40px;
    letter-spacing: -0.05em; }
  .menu-content ul li.header_navi_form {
    margin-left: 17px; }
    .menu-content ul li.header_navi_form a {
      font-size: 1.4rem;
      font-weight: bold;
      color: #FFF;
      width: 210px;
      height: 40px;
      display: block;
      position: relative;
      padding: 6px 0 0 15px;
      letter-spacing: 0em;
      background: #be1733;
      margin-top: 5px; }
      .menu-content ul li.header_navi_form a span:first-child {
        display: inline-block;
        margin-right: 10px; }
      .menu-content ul li.header_navi_form a::before {
        position: absolute;
        top: 50%;
        right: 10px;
        transform: translateY(-50%);
        content: "";
        background: url("../images/arr01.png") no-repeat;
        width: 16px;
        height: 13px; }

#menu-btn-check {
  display: none; }

@media screen and (max-width: 999px) {
  .header {
    height: 60px; }
    .header .header_inner {
      padding: 8px 10px 8px;
      width: 100%; }

  .menu-content ul {
    display: flex;
    justify-content: flex-end; }
    .menu-content ul li {
      margin-bottom: 0; }
      .menu-content ul li.header_navi_tel {
        padding-top: 2px; }
        .menu-content ul li.header_navi_tel a span:last-child {
          display: none; }
        .menu-content ul li.header_navi_tel small {
          display: none; }
      .menu-content ul li.header_navi_form {
        margin-left: 5px; }
        .menu-content ul li.header_navi_form a {
          width: auto;
          padding: 6px 0 0 5px; }
          .menu-content ul li.header_navi_form a span:first-child {
            margin-right: 5px; }
          .menu-content ul li.header_navi_form a span:last-child {
            display: none; }

  /*
  .menu-btn {
      position: fixed;
      top: 10px;
      right: 10px;
      display: flex;
      height: 40px;
      width: 40px;
      justify-content: center;
      align-items: center;
      z-index: 90;
  	background: #000;
  }
  .menu-btn span,
  .menu-btn span:before,
  .menu-btn span:after {
      content: '';
      display: block;
      height: 3px;
      width: 20px;
      border-radius: 3px;
      background-color: #ffffff;
      position: absolute;
  }
  .menu-btn span:before {
      bottom: 8px;
  }
  .menu-btn span:after {
      top: 8px;
  }
  #menu-btn-check:checked ~ .menu-btn span {
      background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする
  }
  #menu-btn-check:checked ~ .menu-btn span::before {
      bottom: 0;
      transform: rotate(45deg);
  }
  #menu-btn-check:checked ~ .menu-btn span::after {
      top: 0;
      transform: rotate(-45deg);
  }
  #menu-btn-check {
      display: none;
  }
  .menu-content {
      width: 100%;
      height: 100%;
      position: fixed;
      top: 0;
      left: 100%;/*leftの値を変更してメニューを画面外へ
      z-index: 80;
      transition: all 0.5s;/*アニメーション設定
  	background: rgba(255,255,255,0.9);
  }
  
  .menu-content ul {
      padding: 70px 10px 0;
  }
  .menu-content ul li {
  }
  .menu-content ul li a {
  }
  .menu-content ul li a::before {
  }
  #menu-btn-check:checked ~ .menu-content {
      left: 0%;/*メニューを画面内へ
  }
  .menu-content {
  	ul {
  		display: block;
  
  		li {
  			&.header_navi_tel {
  				text-align: center;
  				a {
  					margin: auto;
  					text-align: center;
  					display: inline-block;
  					span {}
  				}
  				small {
  				}
  			}
  			&.header_navi_form {
  				margin-left: 0;
  				a {
  					margin: auto;
  					&::before {}
  				}
  			}
  			&.header_navi_line {
  				margin-left: 0;
  				a {
  					margin: auto;
  					&::before {}
  					span {}
  				}
  			}
  		}
  	}
  }
  	
  */ }
/*-----------------------
 mv
-------------------------*/
.mv {
  height: 508px;
  background: url("../images/mv_bg.jpg") no-repeat;
  background-size: cover; }
  .mv .wrap {
    padding: 0 30px; }
  .mv .mv_inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .mv .mv_inner .mv_kind {
      width: 440px; }
      .mv .mv_inner .mv_kind h2 {
        text-align: center;
        font-size: 1.8rem;
        padding: 70px 0 0 0;
        line-height: 1.75em;
        margin-right: -1.75em;
        margin-bottom: 55px; }
      .mv .mv_inner .mv_kind .mv_kind_box ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between; }
        .mv .mv_inner .mv_kind .mv_kind_box ul li {
          width: 207px;
          margin-bottom: 37px; }
          .mv .mv_inner .mv_kind .mv_kind_box ul li dl {
            background: rgba(255, 255, 255, 0.5);
            border: 5px solid rgba(4, 139, 212, 0.5);
            height: 106px; }
            .mv .mv_inner .mv_kind .mv_kind_box ul li dl dt {
              background: #65b2df;
              height: 33px;
              text-align: center;
              color: #FFF;
              padding-top: 4px;
              margin: auto; }
            .mv .mv_inner .mv_kind .mv_kind_box ul li dl dd {
              font-size: 1.8rem;
              letter-spacing: 0em;
              text-align: center;
              padding: 9px 0 0 0;
              line-height: 1.4em;
              margin-bottom: 0.3em; }
              .mv .mv_inner .mv_kind .mv_kind_box ul li dl dd span {
                font-size: 2.4rem;
                font-weight: 700; }
              .mv .mv_inner .mv_kind .mv_kind_box ul li dl dd small {
                font-size: 1.2rem;
                display: block; }
    .mv .mv_inner .mv_form {
      position: relative;
      width: 480px;
      height:auto;
      margin:20px 0 0 0;
      border: 13px solid rgba(4, 139, 212, 0.5);
      background: rgba(255, 255, 255, 0.5);
      padding:5px 0;
      }
      .mv .mv_inner .mv_form h3 {
        text-align: center;
        padding-top: 20px;
        font-size: 1.8rem;
        letter-spacing: 0; }
        .mv .mv_inner .mv_form h3 span {
          display: inline-block;
          padding: 0 10px 10px;
          border-bottom: dashed 2px #2a3e74;
          letter-spacing: -0.025em; }
      .mv .mv_inner .mv_form .form_box {
        padding:0 30px; }
        .mv .mv_inner .mv_form .form_box dl {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between; }
          .mv .mv_inner .mv_form .form_box dl dt {
            font-size: 1.4rem;
            letter-spacing: 0;
            	display:flex;
	justify-content:flex-start;
	align-items: center;	
            width: 10em;
            margin:0 0.5em 10px 0; }
          .mv .mv_inner .mv_form .form_box dl dd {
            width: calc(100% - 10.5em);
            margin-bottom:10px;
            letter-spacing: 0;
            font-size: 1.4rem; }
            .mv .mv_inner .mv_form .form_box dl dd input {
              margin: 0; }
            .mv .mv_inner .mv_form .form_box dl dd input[type="text"] {
              width: 100%;
              position: relative;
              padding:2px;
              }
            .mv .mv_inner .mv_form .form_box dl dd input[type="tel"] {
              width: 100%;
              position: relative;
              padding:2px;              
              }
            .mv .mv_inner .mv_form .form_box dl dd input.urikake[type="text"] {
              width: 86px;
            padding:2px;
              }
            .mv .mv_inner .mv_form .form_box dl dd input[type="radio"] {
              margin-right: 15px; }
            .mv .mv_inner .mv_form .form_box dl dd label {
              width: 105px;
              font-size: 1.4rem;
              display: inline-block;
              position: relative;
              }
              .mv .mv_inner .mv_form .form_box dl dd label .formError {
                margin-left: 130px; }
              .mv .mv_inner .mv_form .form_box dl dd label:last-child {
                width: 150px; }
            .mv .mv_inner .mv_form .form_box dl dd ::placeholder {
              color: #8f8e8e;
              font-size: 1.2rem;
              font-weight: 300;
              letter-spacing: 0.05em;
              padding-left: 5px; }
      .mv .mv_inner .mv_form .form_submit {
        text-align: center;
        margin-bottom: 10px; }
        .mv .mv_inner .mv_form .form_submit button {
          font-size: 1.4rem;
          background: #be1733;
          border: none;
          color: #FFF;
          width: 240px;
          padding: 8px;
          margin: auto;
          letter-spacing: 0.1em; }
        .mv .mv_inner .mv_form .form_submit span {
          position: relative;
          display: inline-block;
          margin-right: 2em; }
          .mv .mv_inner .mv_form .form_submit span::before {
            position: absolute;
            content: "";
            display: block;
            top: -0.9em;
            right: -2.25em;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0.5em 0 0.5em 0.75em;
            border-color: transparent transparent transparent #FFF; }
          .mv .mv_inner .mv_form .form_submit span::after {
            position: absolute;
            content: "";
            display: block;
            top: -0.9em;
            right: -3.5em;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 0.5em 0 0.5em 0.75em;
            border-color: transparent transparent transparent #FFF; }
      .mv .mv_inner .mv_form .form_pp {
        text-align: center;
        font-size: 1.1rem;
        letter-spacing: 0.1em; }
        .mv .mv_inner .mv_form .form_pp a {
          text-decoration: underline; }

@media screen and (max-width: 999px) {
  .mv {
    height: auto; }
    .mv .wrap {
      padding: 0 15px 50px; }
    .mv .mv_inner {
      display: block; }
      .mv .mv_inner .mv_kind {
        width: 100%; }
        .mv .mv_inner .mv_kind h2 {
          margin-right: 0;
          letter-spacing: 0; }
        .mv .mv_inner .mv_kind .mv_kind_box ul {
          display: block; }
          .mv .mv_inner .mv_kind .mv_kind_box ul li {
            width: 100%; }
            .mv .mv_inner .mv_kind .mv_kind_box ul li dl {
              height: auto; }
      .mv .mv_inner .mv_form {
        width: 100%;
        height: auto;
        margin: 0; }
        .mv .mv_inner .mv_form .form_box {
          padding: 10px 10px; }
          .mv .mv_inner .mv_form .form_box dl {
            display: block; }
            .mv .mv_inner .mv_form .form_box dl dt {
              width: 100%; }
            .mv .mv_inner .mv_form .form_box dl dd {
              width: 100%; }
        .mv .mv_inner .mv_form .form_submit {
          text-align: center; } }
/*-----------------------
 service
-------------------------*/
.service .wrap {
  padding: 100px 35px 53px; }
.service p {
  letter-spacing: 0.1em;
  line-height: 1.9em;
  padding: 0 15px;
  margin-bottom: 78px; }
.service .service_box ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 -15px; }
  .service .service_box ul li {
    padding: 0 15px;
    margin-bottom: 50px; }
    .service .service_box ul li dl {
      border: 1px solid #118fd1;
      width: 290px;
      height: 125px;
      padding: 25px 15px 15px 15px; }
      .service .service_box ul li dl dt {
        text-align: center;
        font-size: 2.4rem;
        font-weight: 700;
        margin: 0 0 5px 0;
        color: #023894; }
      .service .service_box ul li dl dd {
        text-align: center;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
        margin: auto; }
      .service .service_box ul li dl.service_box_big {
        width: 350px; }


@media screen and (max-width: 999px) {
  .service .wrap {
    padding-left: 15px;
    padding-right: 15px; }
  .service .service_box ul {
    display: block; }
    .service .service_box ul li dl {
      width: 100%;
      height: auto; }
      .service .service_box ul li dl dd {
        margin-bottom: 1em; }
      .service .service_box ul li dl.service_box_big {
        width: 100%; } 
}
/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
.service .wrap {
  padding:10vw 1em;
}
.service p {
  letter-spacing:0;
  line-height:1.5;
  padding: 0;
  margin-bottom:1em;
}
.caption01 {
  font-size: 2rem;
  letter-spacing:0;
  margin-bottom:10vw;
}

}
/* width 640px end --------------------------------------------*/


/*-----------------------
 setsumei
-------------------------*/
.setsumei .setsumei_box .wrap {
  padding: 90px 50px 90px; }
.setsumei .setsumei_box p {
  padding-top: 10px;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
  line-height: 1.9em; }
.setsumei > .wrap {
  padding: 80px 0px 18px 20px; }
.setsumei .setsumei_syakan {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 85px; }
  .setsumei .setsumei_syakan div {
    width: 50%; }
    .setsumei .setsumei_syakan div h3 {
      text-align: center;
      font-size: 1.4rem;
      letter-spacing: 0.1em;
      padding-top: 1em;
      margin-bottom: 2em; }

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {

.setsumei .setsumei_syakan div h3 {
  text-align: center;
  font-size: 1.6rem;
  letter-spacing:0;
  line-height: 1.5;
  padding-top:2.5em;
  margin-bottom:1.5em;
}

}
/* width 640px end --------------------------------------------*/


    .setsumei .setsumei_syakan div ol li {
      font-size: 1.4rem;
      position: relative;
      padding-left: 1.5em;
      letter-spacing: 0em;
      margin-bottom: 5px; }
      .setsumei .setsumei_syakan div ol li span {
        position: absolute;
        top: 0;
        left: 0; }

@media screen and (max-width: 999px) {
  .setsumei .setsumei_box .wrap {
    padding: 90px 10px 90px; }
  .setsumei > .wrap {
    padding: 80px 10px 18px; }
  .setsumei .setsumei_syakan {
    display: block;
    margin-bottom: 85px; }
    .setsumei .setsumei_syakan div {
      width: 100%; } }

/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
  .setsumei .setsumei_box .wrap {
    padding:10vw 1em; }
  .setsumei > .wrap {
    padding:10vw 1em; }
  .setsumei .setsumei_syakan {
    display: block;
    margin-bottom:1.5em; }
    .setsumei .setsumei_syakan div {
      width: 100%; }

}
/* width 640px end --------------------------------------------*/



/*-----------------------
 contact
-------------------------*/
.contact .contact_ttl {
  background: #1075a6;
  height: 100px;
  font-size: 2.4rem;
  text-align: center;
  padding-top: 33px;
  color: #FFF; }
  .contact .contact_ttl p {
    margin: 0; }
.contact .wrap {
  padding: 46px 0 30px 0; }
.contact .contact_box {
  display: flex;
  justify-content: space-between; }
  .contact .contact_box div {
    width: 50%;
    text-align: center; }
    .contact .contact_box div.contact_box_tel p a {
      display: block;
      color: #013894;
      font-size: 4.8rem;
      padding: 15px 0; }


/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {

.contact .contact_box div.contact_box_tel p a {
      font-size: 4rem;
}

}
/* width 640px end --------------------------------------------*/

      
    .contact .contact_box div.contact_box_tel p small {
      font-size: 1.8rem;
      letter-spacing: 0.05em; }
    .contact .contact_box div.contact_box_mail p:nth-child(2) {
      padding-top: 6px;
      margin-bottom: 12px; }
      .contact .contact_box div.contact_box_mail p:nth-child(2) a {
        display: block;
        background: #be1733;
        width: 310px;
        height: 50px;
        position: relative;
        margin: auto;
        color: #FFF;
        padding-top: 10px; }
        .contact .contact_box div.contact_box_mail p:nth-child(2) a span {
          position: relative;
          top: 0;
          left: 0;
          margin-right: 10px;
          display: inline-block; }
    .contact .contact_box div.contact_box_mail p small {
      font-size: 1.8rem; }

@media screen and (max-width: 999px) {
  .contact .contact_ttl {
    height: auto;
    padding: 33px 15px; }
  .contact .wrap {
    padding: 46px 15px 30px; }
  .contact .contact_box {
    display: block; }
    .contact .contact_box div {
      width: 100%; }
      .contact .contact_box div.contact_box_tel p {
        letter-spacing: -0.05em; }
      .contact .contact_box div.contact_box_mail p {
        letter-spacing: -0.05em; } }
/*-----------------------
 flow
-------------------------*/
.flow .wrap {
  padding: 100px 0 65px 0; }
.flow h2.caption01 {
  margin-bottom: 120px; }
.flow .flow_inner {
  display: flex;
  justify-content: space-between; }
  .flow .flow_inner .flow_step {
    width: 472px;
    margin-left: 15px; }
    .flow .flow_inner .flow_step ol {
      display: flex;
      justify-content: center;
      margin-bottom: 50px; }
      .flow .flow_inner .flow_step ol li {
        margin: 0; }
        .flow .flow_inner .flow_step ol li img {
          height: auto; }
    .flow .flow_inner .flow_step dl {
      border: 2px solid #0e75c1; }
      .flow .flow_inner .flow_step dl dt {
        background: #bbcce7;
        text-align: center;
        padding: 10px;
        font-size: 1.55rem; }
      .flow .flow_inner .flow_step dl dd {
        font-size: 1.2rem;
        padding: 0 5px; }
        .flow .flow_inner .flow_step dl dd ul li {
          margin: 0;
          letter-spacing: 0.2em; }
  .flow .flow_inner .flow_txt {
    width: 480px; }
    .flow .flow_inner .flow_txt dl dt {
      font-size: 1.8rem;
      text-decoration: underline;
      margin-bottom: 0em; }
    .flow .flow_inner .flow_txt dl dd {
      font-size: 1.2rem;
      margin-bottom: 2.5em;
      letter-spacing: 0.1em;
      line-height: 1.9em; }

@media screen and (max-width: 999px) {
  .flow .wrap {
    padding: 100px 15px 65px; }
  .flow .flow_inner {
    display: block; }
    .flow .flow_inner .flow_step {
      width: 100%;
      margin-left: 0; }
      .flow .flow_inner .flow_step dl {
        margin-bottom: 50px; }
    .flow .flow_inner .flow_txt {
      width: 100%; } }
      
/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
.flow .wrap {
  padding:10vw 1em;
}

}
/* width 640px end --------------------------------------------*/


/*-----------------------
 qa
-------------------------*/
.qa .wrap {
  padding: 85px 134px; }
.qa dl {
  margin-bottom: 35px; }
  .qa dl dt {
    font-size: 1.8rem;
    position: relative;
    margin-left: 45px;
    letter-spacing: 0.1em;
    display: inline-block;
    border-bottom: 1px solid #000; }
    .qa dl dt::before {
      content: "";
      display: block;
      position: absolute;
      background: url("../images/icon_q.png") no-repeat;
      width: 22px;
      height: 27px;
      top: 0;
      left: -45px; }
      


  .qa dl dd {
    font-size: 1.4rem;
    margin-left: 45px; }

@media screen and (max-width: 999px) {
  .qa .wrap {
    padding: 85px 15px; }
  .qa dl {
    margin-bottom: 0px; } }
    




/*-----------------------
 about
-------------------------*/
.about .wrap {
  padding: 105px 0 172px; }
.about h2.caption02 {
  width: 620px;
  margin-left: auto;
  margin-right: auto; }
.about dl {
  width: 620px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative; }
  .about dl::before {
    display: block;
    content: "";
    position: absolute;
    bottom: -37px;
    left: 50%;
    transform: translateX(-50%);
    width: 690px;
    height: 2px;
    border: 1px dashed #2a3e74; }
  .about dl dt {
    width: 185px;
    letter-spacing: 0.2em;
    margin-bottom: 25px; }
  .about dl dd {
    width: calc(100% - 185px);
    letter-spacing: 0.075em;
    margin-bottom: 25px; }




@media screen and (max-width: 999px) {
  .about .wrap {
    padding-left: 15px;
    padding-right: 15px; }
  .about h2.caption02 {
    width: 100%;
    padding-left: 15px;
    padding-right: 15px; }
    .about h2.caption02::before {
      width: 100%; }
  .about dl {
    width: 100%; }
    .about dl::before {
      width: 100%; }
    .about dl dt {
      width: 100%; }
    .about dl dd {
      width: 100%; } }
/*-----------------------
 polisy
-------------------------*/
.polisy .wrap {
  padding: 90px 55px 60px; }
.polisy h2 {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: #013894;
  letter-spacing: 0;
  margin-bottom: 8px; }
  





.polisy p {
  font-size: 1.4rem;
  text-align: center;
  letter-spacing: 0;
  margin-bottom: 25px; }
.polisy .pp dl dt {
  font-size: 1.4rem;
  color: #013894; }
.polisy .pp dl dd {
  font-size: 1.1rem; }

@media screen and (max-width: 999px) {
  .polisy .wrap {
    padding: 90px 15px 60px; } }


/*---------------------------------------------*
* width 640px
*----------------------------------------------*/
@media screen and (max-width:640px) {
.mv .mv_inner .mv_kind h2,
.flow h2.caption01,
.polisy h2 {
  font-size: 2rem;
  padding: 1.5em 0;
  margin-bottom:1.5em;
}
.polisy .wrap,
.about .wrap,
.qa .wrap,
.flow .wrap {
  padding:10vw 1em;
}

.about h2.caption02{
  font-size: 2rem;
  padding:1.5em 0;
  margin-bottom:0.5em;
}
.about h2.caption02::before {
top:50%;
transform: translateY(-50%); 
left: 0;
}
.caption01::before {
  bottom:-0.25em;
}


.about dl {
margin-bottom: 1.5em;
}
.about dl dt {
  width:100%;
  letter-spacing:0;
  margin-bottom:0.5em;
}
.about dl dd{
  width:100%;
margin-bottom:2em;  
}

.qa dl dt {
  font-size: 1.6rem;
  margin-left:0;
  	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
      line-height: 1.5;
}


.qa dl dt:before {
position: relative;
left: 0;
margin:0 0.5em 0 0;
}
.qa dl dd {
  margin:0 0 1.5em 1.6rem;
}

}
/* width 640px end --------------------------------------------*/




/*-----------------------
 footer
-------------------------*/
footer p {
  padding: 15px;
  text-align: center;
  font-size: 1.4rem; }




@media screen and (max-width: 767px) {
  input[type="text"], 
  input[type="tel"], 
  input[type="email"] {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    height: 45px;
    font-size: 16px; /* iOS のズームを防ぐ */
  }
}