
@charset "UTF-8";
/*----------------------------
 共通CSS
-----------------------------*/

/*===== レイアウト設定 =====*/

a:hover {
  opacity: 0.7;
}

#wrapper {
  width: 100%;
  margin: 0 auto;
  position: relative;
  text-align: left;
}

.section-inner {
  width: 100%;
  position: relative;
  max-width: 1020px;
  padding: 0 10px;
  margin: 0 auto;
}

.col-2 {
  width: 100%;
  display: table;
}

.col-2 > div,
.col-2 > li {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
}

.display-pc {
  display: block !important;
}

.display-sp {
  display: none !important;
}

.none {
  display: none !important;
}

#contents {
  width: 100%;
  position: relative;
}

/* 削除 */
/* .fade {
  opacity: 0;
  position: relative;
}

.fade-top {
  opacity: 0;
  top: 30px;
  position: relative;
}

.fade-left {
  opacity: 0;
  left: -100px;
  position: relative;
} */
/* ここまで */

.container,
.sec_05_in,
.sec_07_in,
.sec_10_in,
.sec_11_in,
.cta_in,
.sec_14_in,
.sec_15_in,
.sec_16_in {
  width: 1000px;
  margin: 0 auto;
}

.img-w100-fit {
  height: auto;
  width: 100%;
  object-fit: contain;
}

/*===== ヘッダー =====*/

header {
  width: 100%;
  position: relative;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-top: 5px solid #0997e0;
}

header .section-inner img {
  width: 100%;
}

header .section-inner > div:first-child {
  width: 40.5%;
  margin-right: 2%;
  float: left;
}

header .section-inner > div:last-child {
  float: right;
  width: 56.5%;
}

header h1 {
  width: 100%;
}

header ul {
  width: 100%;
}

header ul > li:first-child {
  width: 335px;
  padding-right: 20px;
}

#header-txt {
  background: url(../img/header/bg.gif);
  padding: 15px 10px 20px;
}

#header-txt p {
  text-align: center;
}

/*===== コンテンツ =====*/

#main {
  clear: both;
  width: 100%;
  position: relative;
}

/* #mv */

#mv {
  width: 100%;
  position: relative;
  background: url(../img/mv/bg.jpg) repeat-x center;
  z-index: 1;
  min-height: 540px;
}

#mv h2 {
  opacity: 0;
  left: -60px;
  position: relative;
}

#mv h2 img {
  display: block;
  width: auto;
  margin: 0 auto;
}

/* sec01,.sec04 */

.striped {
  width: 100%;
  /* 削除 */
  /* width: 500px; */
  /* height: 350px; */
  position: relative;
  background: url(../img/sec01/bg_section.png) repeat-x center top;
  z-index: 2;
  padding-top: 70px;
  margin-top: -20px;
  margin-bottom: 10px;
}

.striped #secure-box div:nth-child(odd) {
  background: url(../img/sec01/bg_contents.gif);
}

.striped #secure-box ul > li {
  width: 50%;
  float: left;
}

.striped #secure-box div:nth-child(odd) ul > li:first-child {
  width: 50%;
  float: right;
  margin-left: 2%;
  margin-left: 0px;
}

/* sec02 */

.coupon {
  background: url(../img/sec02/bg.jpg) no-repeat center top,
    url(../img/sec01/bg_contents.gif);
  padding: 10px 0px 60px;
}

.coupon h2 {
  margin-bottom: 30px;
}

.coupon h2 + figure {
  margin-bottom: 20px;
}

.contact-box {
  border: 7px solid #054f75;
  background: #fff;
  padding: 30px;
}

.contact-box ul {
  width: 100%;
  margin-bottom: 20px;
}

.contact-box ul img {
  width: 100%;
}

.contact-box ul > li:first-child {
  float: left;
  width: 404px;
}

.contact-box ul > li:last-child {
  float: right;
  width: 486px;
  margin-top: 15px;
}

.contact-box figure {
  margin-bottom: 20px;
}

/* sec03 */

#sec03 {
  background: url(../img/sec03/bg.jpg);
  padding-bottom: 60px;
}

#sec03 ul {
  width: 100%;
  margin-top: 40px;
  margin-bottom: 30px;
}

#sec03 ul li {
  width: 32%;
  float: left;
  margin-right: 2%;
  margin-bottom: 20px;
}

#sec03 ul li:nth-child(3n) {
  margin-right: 0;
}

/* sec05 */

.sec_05 {
  margin: -8px;
}

.ttl-h2 {
  background: url(../img/header/bg.gif);
  margin: 5px 0 10px 0;
  position: relative;
  padding: 0 10px;
}

.ttl-h2::before {
  content: "";
  width: 100%;
  position: absolute;
  background: #1075bd;
  height: 1px;
  top: -2px;
  left: 0;
}

.ttl-h2::after {
  content: "";
  width: 100%;
  position: absolute;
  background: #1075bd;
  height: 1px;
  bottom: -2px;
  left: 0;
}

.ttl-h2 img {
  display: block;
  margin: 0 auto;
  position: relative;
}

#sec05 #about-box {
  margin: 40px 0 50px 0;
}

#sec05 #about-box > div {
  vertical-align: top;
}

#sec05 #about-box > div:first-child {
  width: 26%;
  padding-right: 4%;
}

#sec05 #about-box > div:first-child img {
  width: 100%;
}

#sec05 #about-box > div p {
  line-height: 2;
}

#sec05 #about-box > div p:not(:last-child) {
  margin-bottom: 30px;
}

#sec05 #about-box > div p span {
  font-weight: bold;
}

#sec05 #about-box > div p span span {
  color: #ea1f11;
}

#support-box {
  background: url(../img/sec05/bg.gif);
  border: 10px solid #0997e0;
  border-radius: 10px;
  padding: 0 20px 30px 20px;
  position: relative;
  margin: 50px 0 60px;
}

#support-box h3 {
  position: relative;
  top: -75px;
  margin-bottom: -65px;
}

#support-box .col-2 > div:first-child {
  width: 220px;
  padding-right: 20px;
}

#support-box .col-2 > div:first-child img {
  width: 100%;
}

#support-box p {
  font-size: 22px;
  line-height: 2;
}

#support-box p strong {
  display: block;
  font-weight: bold;
  font-size: 30px;
  font-style: italic;
  letter-spacing: -0.01em;
  background: linear-gradient(transparent 50%, #fef453 50%);
  padding: 0 3px;
  line-height: 1.4;
  margin: 10px 0 12px;
}

.what_wrap {
  background: url(../img/what/what_bg01.jpg) top center no-repeat;
  padding-bottom: 30px;
}

.what_title {
  display: block;
  margin: auto;
  padding-top: 50px;
}

/* sec08 */

.movie_wrap {
  display: block;
  margin: 0 auto;
  width: 800px;
  border: 4px solid #ffffff;
  box-sizing: unset;
  -webkit-box-sizing: unset;
}

/* sec09 */

.check_wrap {
  background: url(../img/sec09/check_bg01.png) top center no-repeat;
}

.check_wrap dl {
  position: relative;
}
.check_wrap dd {
  position: absolute;
  left: 300px;
  top: 305px;
  z-index: 1;
}

.check-wrap-img {
  position: relative;
  display: inline;
}

.check-wrap-over-img {
  position: absolute;
  left: 32%;
  top: 64%;
  width: 51%;
}

.cta_in {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.cta_btn {
  position: absolute;
  left: 8%;
  top: 73%;
  margin-left: 5%;
  margin-right: 5%;
}

.tel_btn {
  position: absolute;
  width: 37%;
  left: 9.5%;
  top: 65%;
  margin-left: 5%;
  margin-right: 5%;
}

/* sec11 */
.ropeman-img{
  margin-bottom: -10%;
}

/* sec14 */

.sec_14 {
  background: url("../img/sec14/bg_03.jpg") no-repeat top center/100%;
  height: 885px;
  background-size: 100% 100%;
}

/* sec15 */

.sec_15 {
  background: url("../img/sec15/bg_04.jpg") no-repeat top center/100%;
  background-size: 100% 50%;
  margin-bottom: -3%;
}

.slide {
  width: 748px;
  margin: 21px auto 0;
}

.bnr {
  background-color: #42210b;
  text-align: center;
  width: 100%;
  padding: 30px 0;
}

/* sec16 */
.sec_16_in {
  background: url("../img/sec16/bg_06.png");
  background-repeat: round;
  width: 100%;
}

.service-feature {
  height: auto;
  width: 80%;
  margin-left: 10%;
  margin-right: 10%;
  object-fit: contain;
}

/* sec_line */

#sec_line {
  text-align: center;
  position: relative;
  z-index: 2;
}

#sec_line .registration {
  position: relative;
}

#sec_line .registration .registration-step1 {
  position: absolute;
  bottom: 0;
  left: 10%;
  width: 28%;
  margin-bottom: 5%;
}

#sec_line .registration .registration-step2 {
  position: absolute;
  bottom: 0;
  left: 38%;
  width: 28%;
  margin-bottom: 5%;
}

#sec_line .registration .registration-step3 {
  position: absolute;
  bottom: 0;
  left: 66%;
  width: 28%;
  margin-bottom: 5%;
}

/* sec_online */

.sec_online {
  padding: 0 0 25px;
  position: relative;
}

.btnArea {
  position: absolute;
  width: 100%;
  margin: 0 auto;
  top: 93.5%;
  left: 10%;
  z-index: 99;
}

.btnArea h3 {
  width: 41%;
  margin-left: 2%;
  z-index: 99;
}

.btnArea-In {
  display: flex;
  width: 100%;
  margin: 0 1% 0 1%;
}

.btnArea-In p {
  width: 26%;
  height: auto;
}

.btnArea-In img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* bussines_area */

.business-center {
  display: block;
  margin: auto;
}

/*===== フッター =====*/

footer {
  width: 100%;
  position: relative;
}

footer h2 {
  background: url(../img/footer/bg_ttl.gif);
  padding: 30px 10px;
  margin-bottom: 20px;
}

footer h2 img {
  display: block;
  margin: 0 auto;
  width: auto;
}

footer dl {
  width: 100%;
  max-width: 900px;
  margin: 0 auto 40px;
}

footer dl dt img {
  display: block;
  width: 320px;
  margin: 0 auto 20px;
}

footer ul {
  border-bottom: 1px solid #ccc;
  padding: 20px 40px;
  display: table;
  width: 100%;
}

footer ul:first-child {
  border-top: 1px solid #ccc;
}

footer ul li {
  display: table-cell;
  text-align: left;
  vertical-align: middle;
}

footer ul li img {
  height: 16px;
}

footer ul li:first-child {
  padding-right: 40px;
  width: 200px;
  text-align: center;
}

footer ul:last-child li a {
  text-decoration: underline;
}

footer ul:last-child li a:hover {
  color: #054f75;
}

footer ul:last-child li a::after {
  content: "";
  display: inline-block;
  background-size: 14px 14px;
  width: 14px;
  height: 14px;
  margin-left: 7px;
  position: relative;
  top: 2px;
}

@media screen and (max-width: 999px) {
  /*===== ヘッダー =====*/
  header .section-inner {
    padding-right: 0;
    padding-left: 5px;
  }
}

@media screen and (max-width: 768px) {
  /*===== レイアウト設定 =====*/

  .display-pc {
    display: none !important;
  }

  .display-sp {
    display: block !important;
  }

  #sp_fixed {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
  }

  /*===== ヘッダー =====*/

  header .section-inner > div:first-child {
    width: 242px;
    margin: 2.5px;
  }

  header .section-inner > div:last-child {
    width: 140px;
  }

  header ul > li:first-child {
    width: 50%;
    padding-right: 0;
  }

  #header-txt {
    padding: 1.95% 10px 2.6%;
  }

  /* #mv */

  #mv {
    background: none;
    min-height: inherit;
  }

  /* sec01, sec04 */

  #striped {
    padding-top: 9.11458%;
    margin-top: -2.6%;
  }

  #striped #secure-box div:nth-child(odd) ul {
    padding: 0;
    padding-right: 5px;
  }

  #striped #secure-box div:nth-child(even) ul {
    padding: 0;
  }

  #striped #secure-box div:nth-child(even) ul li:last-child img {
    margin-top: 1%;
  }

  /* sec02 */

  .coupon {
    background: url(../img/sec02/bg.jpg) no-repeat center top/cover,
      url(../img/sec01/bg_contents.gif) / 16px 16px;
    padding: 10px 0 3.34%;
  }

  .coupon h2 {
    margin-bottom: 4%;
  }

  .coupon h2 + figure {
    margin-bottom: 2.67%;
  }

  .contact-box {
    padding: 20px;
  }

  .contact-box ul {
    margin-bottom: 3.34%;
  }

  .contact-box ul > li:first-child {
    float: none;
    width: 60%;
    margin: 0 auto;
  }

  .contact-box ul > li:last-child {
    float: none;
    width: 85%;
    margin: 2.67% auto 0;
  }

  .contact-box figure {
    margin-bottom: 2.67%;
  }

  /* sec03 */

  #sec03 {
    padding-bottom: 7.8125%;
  }

  #sec03 ul {
    margin-top: 5.347%;
    margin-bottom: 3.34%;
  }

  #sec03 ul li {
    margin-bottom: 2.67%;
  }

  /* sec04 */

  #sec04 {
    padding: 5.347% 10px 4%;
  }

  #advice-box {
    border: 24px solid #054f75;
    border-radius: 24px;
    padding: 20px 10px;
    padding-top: 0;
  }

  #advice-box h2 {
    top: -24px;
    margin-bottom: 1.33%;
  }

  #advice-box p:first-of-type {
    font-size: 28px;
    margin: 2.67% 0 5.347% 0;
  }

  #advice-box p:first-of-type br {
    display: none;
  }

  #advice-box p:last-of-type {
    font-size: 20px;
    margin-top: 5.347%;
    line-height: 2.2;
  }

  /* sec05 */

  .ttl-h2 {
    background: url(../img/header/bg.gif) / 16px 16px;
    margin: 0.668% 0 6.68% 0;
    position: relative;
    max-height: inherit;
    padding: 0 10px;
  }

  #sec05 h2 {
    margin-bottom: 4%;
    margin-top: 1.33%;
  }

  #sec05 h2 img {
    position: relative;
    margin-top: -2.67%;
  }

  #sec05 .section-inner h3:first-of-type {
    margin-bottom: 4% !important;
  }

  #sec05 #about-box {
    margin: 5.347% 0 6.68449% 0;
    display: block;
    overflow: hidden;
  }

  #sec05 #about-box > div {
    display: block;
  }

  #sec05 #about-box > div:first-child {
    width: 26%;
    padding-right: 0;
    margin-right: 4%;
    float: left;
    margin-bottom: 10px;
  }

  #sec05 #about-box > div p:not(:last-child) {
    margin-bottom: 3.34%;
  }

  #support-box {
    background: url(/img/sec05/bg.gif) / 40px 40px;
    border: 8px solid #0997e0;
    border-radius: 8px;
    padding: 0 2.67% 4% 2.67%;
    margin: 4% 0 8%;
  }

  #support-box h3 {
    position: relative;
    margin-top: -6.68449%;
    top: 0;
    margin-bottom: -8.6898%;
  }

  #support-box .col-2,
  #support-box .col-2 > div {
    display: block;
  }

  #support-box .col-2 > div:first-child {
    width: 35%;
    padding-right: 0;
    margin: 0 auto 2.67%;
  }

  #support-box p {
    font-size: 18px;
    text-align: center;
  }

  #support-box p img {
    display: block;
    margin: 2% auto 2.67%;
  }
}

@media screen and (max-width: 576px) {
  
  .container,
  .sec_05_in,
  .sec_07_in,
  .sec_10_in,
  .sec_11_in,
  .cta_in,
  .sec_14_in,
  .sec_15_in,
  .sec_15_2_in,
  .sec_16_in {
    width: 100%;
    margin: 0 auto;
  }

  /*===== ヘッダー =====*/

  header .section-inner {
    margin-bottom: -0.5%;
  }

  header .section-inner > div:first-child {
    width: 170px;
  }

  header .section-inner > div:last-child {
    width: 100px;
  }

  /* #mv */

  #mv {
    background: none;
    min-height: inherit;
  }

  /* sec01 */

  #sec01 {
    padding-top: 3.11458%;
    margin-top: -3.6%;
  }

  #sec01 #secure-box div:nth-child(odd) ul {
    padding: 0;
    padding-right: 5px;
  }

  #sec01 #secure-box div:nth-child(even) ul {
    padding: 0;
  }

  #sec01 #secure-box div:nth-child(even) ul li:last-child img {
    margin-top: 1%;
  }

  .striped {
    width: 100%;
    position: relative;
    background: url(../img/sec01/bg_section.png) repeat-x center top;
    z-index: 2;
    margin-bottom: 10px;
  }

  /* sec02 */

  .contact-box {
    padding: 10px;
  }

  .contact-box ul > li:first-child {
    width: 75%;
  }

  .contact-box ul > li:last-child {
    width: 90%;
  }

  /* sec03 */

  #sec03 ul li {
    width: 49%;
    margin-right: 2%;
  }

  #sec03 ul li:nth-child(3n) {
    margin-right: 2%;
  }

  #sec03 ul li:nth-child(2n) {
    margin-right: 0;
  }

  /* sec04 */

  #sec04 {
    padding: 7.8125% 5px 0.2%;
  }

  #sec06 > div > p > img {
    max-width: 70%;
  }

  #advice-box {
    border: 16px solid #054f75;
    border-radius: 16px;
    padding: 15px 10px;
    padding-top: 0;
  }

  #advice-box h2 {
    top: -14px;
  }

  #advice-box p:first-of-type {
    font-size: 22px;
  }

  #advice-box p:last-of-type {
    line-height: 2;
  }

  /* what_wrap */
  .what_wrap {
    background: url(../img/sp/movie/what_bg01.jpg) center top no-repeat;
    background-size: 100% 100%;
  }

  /* movie_wrap */

  .movie_wrap {
    height: 0;
    padding-top: 56.25%;
    width: 684px;
    width: 91.2%;
    display: block;
    margin: 0 auto;
    border: 4px solid #ffffff;
    border: 0.53vw solid #ffffff;
    position: relative;
  }

  .movie_wrap iframe {
    height: 100%;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
  }

  /* sec13 */

  .tel_btn {
    position: absolute;
    left: 8%;
    top: 65%;
    margin-left: 0%;
    margin-right: 0%;
    width: 84%;
  }

  .cta_btn {
    left: 6%;
    top: 81%;
    margin-left: 0%;
    margin-right: 0%;
  }

  /* sec14 */

  .sec_14 {
    background: url("../img/sp/sec14/bg_03.jpg") no-repeat center/100%;
    width: 100%;
    height: 100vw;
    margin-bottom: -1%;
  }

  /* sec15 */
  .sec_15 {
    background: url("../img/sp/sec15/bg_04.jpg") no-repeat top center/100%;
  }

  .slide {
    width: 54%;
    height: auto;
    margin: 0 auto 10px;
    padding: 21px 0 0;
  }

  .slide img {
    width: 40%;
    height: auto;
    margin: 0 auto;
  }

  .hoken_support {
    padding-top: 10%;
    width: 90%;
    margin: 0 auto;
  }

  /* sec_line */
  .line-image{
    width: 95%;
    margin: 0 auto 5%;
  }

  /* sec_online */

  .sec_online {
    padding: 0 0 25px;
    position: relative;
  }

  .sec_online h3 {
    margin: 0 0 25px;
  }

  .btnArea {
    width: 100%;
    height: auto;
    margin: 0 auto;
    position: absolute;
    top: 89.7%;
    left: 7.5%;
    z-index: 99;
  }

  .btnArea h3 {
    width: 82%;
    z-index: 99;
  }

  .btnArea-In {
    width: 86%;
    margin: 18% 0 0 0;
  }

  /* footer */

  footer ul {
    border-bottom: 1px solid #ccc;
    padding: 20px;
    display: table;
    width: 100%;
  }

  footer ul li:first-child {
    padding-right: 20px;
  }

  .fix-bnr-margin {
    background-color: #e1f0ff;
    height: 80px;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .bnr {
    position: fixed;
    bottom: 0;
    z-index: 100;
  }

  .bnr {
    background: #ffffff;
    width: 100%;
    height: 80px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
    padding: 15px 0 0;
    display: none;
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }

  .bnr ul {
    display: flex;
    justify-content: center;
  }

  .bnr li {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
    margin: 0 4px 0 5px;
  }

  .Launcherstyled__Wrapper-oef45p-0 {
    margin-bottom: 13%;
  }
}
