@charset "UTF-8";
/* *****************************
 *
 * Import file to Scss or Sass.
 *
 **************************** */
/* -----------------------------------------------------------------

 #01　リセット

 ------------------------------------------------------------------ */
* {
  font-style: normal;
  margin: 0px;
  padding: 0px;
  text-decoration: none;
}

html {
  font-size: 62.5%;
  line-height: 1.6;
}

ul {
  list-style: none;
}

fieldset {
  border: 0;
}

img {
  border: 0;
  vertical-align: bottom;
}

/* -----------------------------------------------------------------

 #02　基本タグの定義

 ------------------------------------------------------------------ */
body {
  color: #333333;
  font-family: 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;
  font-feature-settings: 'palt' 1;
  background-color: #ffffff;
  letter-spacing: 0.05em;
  background-repeat: no-repeat;
  width: auto;
  height: 100%;
  margin: 0px auto;
  background-position: top;
}

h1,
h2,
h3 {
  font-weight: 100;
}

p {
  text-align: left;
  /* font-size: 1.3em; */
}

span {
  font-size: 1em;
  text-align: left;
}

em,
strong {
  font-style: normal;
  font-weight: 100;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th {
  text-align: left;
}

ol,
ul,
dl {
  list-style: none;
}

a img {
  border-style: none;
  outline: medium none;
}

object {
  border-style: none;
  outline: medium none;
}

a {
  font-size: 1em;
  color: #023461;
  text-decoration: none;
  outline: none;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  text-decoration: underline;
  opacity: 0.7;
}
a:link {
  outline: medium none;
}
a:visited {
  outline: medium none;
}

#wrapper img {
  width: auto;
  height: auto;
  max-width: 100%;
}

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */
.slide-item0 {
  opacity: 0;
}
.slide-item0.show {
  opacity: 1;
}

.slide-item1 {
  transform: translate(0, 25px);
  -webkit-transform: translate(0, 25px);
  -moz-transform: translate(0, 25px);
  -ms-transform: translate(0, 25px);
  -o-transform: translate(0, 25px);
  opacity: 0;
  -webkit-transition: opacity 1s, transform 1.2s, filter 1s;
  -moz-transition: opacity 1s, transform 1.2s, filter 1s;
  -ms-transition: opacity 1s, transform 1.2s, filter 1s;
  -o-transition: opacity 1s, transform 1.2s, filter 1s;
  transition: opacity 1s, transform 1.2s, filter 1s;
}
.slide-item1.show {
  transform: translate(0);
  -webkit-transform: translate(0);
  -moz-transform: translate(0);
  -ms-transform: translate(0);
  -o-transform: translate(0);
  -webkit-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}

#wrapper {
  position: relative;
}
/* #wrapper strong, */
#wrapper a,
#wrapper span,
#wrapper img {
  display: block;
}
#wrapper .lpbody {
  /* width: 100vw; */
  overflow-x: hidden;
  max-width: 750px;
  margin: 0 auto;
  padding: 0 0 75px 0;
}
#wrapper .lpbody video {
  display: block;
}
#wrapper .lpbody video,
#wrapper .lpbody img {
  width: 100%;
  height: auto;
}
#wrapper .lpbody header {
  position: fixed;
  bottom: -450px;
  left: 0;
  width: 100%;
  z-index: 2;
  -webkit-transition: bottom 1s;
  -moz-transition: bottom 1s;
  -ms-transition: bottom 1s;
  -o-transition: bottom 1s;
  transition: bottom 1s;
}
#wrapper .lpbody header.on {
  bottom: 0;
}
#wrapper .lpbody header .box {
  /*background: #FFFFFF;*/
  background: rgba(255, 255, 255, 0.7);
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
  padding-top: 10px;
}
#wrapper .lpbody header .box ul {
  display: flex;
  justify-content: center;
}
#wrapper .lpbody header .box ul li:first-child {
  width: 181px;
  /* margin-right: -22px; */
}
#wrapper .lpbody header .box ul li:last-child {
  width: 750px;
}
#wrapper .lpbody .head a {
  width: calc(210 / 750 * 100%);
  position: absolute;
  right: 0;
  top: 0;
}
#wrapper .lpbody .cv01 .tel {
  width: calc(181 / 750 * 100%);
  position: absolute;
  left: calc(20 / 750 * 100%);
  top: 0px;
}
#wrapper .lpbody .cv01 .cv {
  width: calc(680 / 750 * 100%);
  position: absolute;
  right: calc(35 / 750 * 100%);
  top: 0px;
}
#wrapper .lpbody .bg {
  position: relative;
  top: 0;
  left: 0;
}
#wrapper .lpbody .bg dl {
  width: 650px;
  margin: 0 auto 40px auto;
}
#wrapper .lpbody .bg dl * {
  box-sizing: border-box;
}
#wrapper .lpbody .bg dl dt a {
  position: relative;
  top: 0;
  left: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  padding: 0.5em;
  color: #fff;
  text-decoration: none;
  font-size: min(calc(30/750*100*1vw),30px);
  line-height: 130%;
  background: #333333;
  border-radius: 10px;
}
#wrapper .lpbody .bg dl dt a .icon-q {
  padding-inline-end: 1em;
}
#wrapper .lpbody .bg dl dt a .icon-btn {
  position: relative;
  display: inline-block;
  width: min(calc(100/750*100*1vw),100px);
  aspect-ratio: 1;
  background: #000;
  border-radius: 10px;
}
#wrapper .lpbody .bg dl dt a .icon-btn::before,
#wrapper .lpbody .bg dl dt a .icon-btn::after {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  content: '';
  display: block;
  width: min(calc(40/750*100*1vw),40px);
  height: min(calc(5/750*100*1vw),5px);
  background: #29abe2;
  border-radius: 10px;
  transition: .3s;
}
#wrapper .lpbody .bg dl dt a .icon-btn::after {
  rotate: -90deg;
}
#wrapper .lpbody .bg dl dt a.on .icon-btn::after {
  rotate: 0deg;
}
#wrapper .lpbody .bg dl dt a p {
  padding-inline-start: 1em;
  border-left: 1px solid #f15a24;
}
#wrapper .lpbody .bg dl dt a .on {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#wrapper .lpbody .bg dl dt a.on .on {
  display: none;
}
#wrapper .lpbody .bg dl dd {
  width: 100%;
  height: 0;
  overflow: hidden;
}
.lpbody p {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
}
.cont_text span,
.lpbody p span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
#wrapper .lpbody p.lead {
  margin: -23px 0 0 0;
}

#wrapper .lpbody div {
  position: relative;
  top: 0;
  left: 0;
}
.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
  画像ごとの調整
*/
#wrapper .cont01_02 .gif {
  position: absolute;
  top: 5%;
  left: auto;
  right: 0;
  z-index: -1;
  width: 80%;
  translate: 25% 0;
}
#wrapper .cont04_07 .gif {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
  /* width: 80%; */
  translate: 0 -50%;
}

/*
  テキストごとの調整
*/
.cont_text {
  position: relative;
}
.cont_text .slide-item {
  box-sizing: border-box;
}
.cont_text h3,
.cont_text .title {
  text-align: justify;
  letter-spacing: 0;
  font-size: min(calc(36/750*100*1vw),36px);
}
.cont_text p,
.cont_text table {
  text-align: justify;
  font-size: min(calc(26/750*100*1vw),26px);
  letter-spacing: .05em;
}
.cont_text table th {
  font-weight: normal;
}
.cont_text p.small {
  margin-top: calc(10 / 750 * 100%);
  font-size: min(calc(16/750*100*1vw),16px);
}

.fv_05 span {
  top: unset;
  bottom: calc(10 / 750 * 100%);
}
.fv_05 .text-block {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  place-items: center;
}
.fv_05 .text-block p {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: min(calc(30/750*100*1vw),30px);
  letter-spacing: 0;
}
.cont01_02 span {
  top: calc(25 / 750 * 100%);
  padding-inline-end: calc(40 / 750 * 100%);
}
.cont01_02 p.title {
  color: #fff;
  text-align: right;
  font-weight: bold;
}
.cont01_05 span {
  top: calc(25 / 750 * 100%);
  padding-inline: calc(60 / 750 * 100%);
}
.cont01_05 .text-block {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  place-items: center;
}
.cont01_05 .text-block p {
  color: #3674a8;
  text-align: center;
  font-weight: bold;
  font-size: min(calc(36/750*100*1vw),36px);
}
.cont01_07 span {
  top: calc(30 / 750 * 100%);
}
.cont01_07 p {
  text-align: center;
  font-size: min(calc(20/750*100*1vw),20px);
}
.cont03_03 span {
  padding-inline: calc(35 / 750 * 100%);
}
.cont03_03 video {
  object-fit: cover;
  width: calc(680 / 750 * 100%);
  aspect-ratio: 680 / 320;
  border-radius: min(calc(45/750*100*1vw),45px);
}
.cont03_04 span {
  padding-inline: calc(30 / 750 * 100%);
}
.cont03_05 span {
  top: calc(120 / 584 * 100%);
  left: calc(80 / 750 * 100%);
}
.cont03_05 .text-block {
  color: #fff;
}
.cont03_05 .text-block .title {
  width: calc(400 / 750 * 100%);
}
.cont03_05 .text-block .title + p {
  margin-top: calc(20 / 584 * 100%);
  width: calc(390 / 750 * 100%);
  font-size: min(calc(24/750*100*1vw),24px);
}
.cont03_06 span:last-child {
  top: 50%;
  translate: 0 -45%;
}
.cont03_06 p {
  color: #00a99d;
  text-align: center;
  font-weight: bold;
  font-size: min(calc(26/750*100*1vw),26px);
  line-height: 200%;
}
.cont04_04 p.title {
  color: #00677f;
  text-align: center;
  font-size: min(calc(55/750*100*1vw),55px);
  line-height: 130%;
}
.cont04_05 span:last-child,
.cont04_06 span:last-child,
.cont04_07 span:last-child {
  width: calc(280 / 750 * 100%);
}
.cont04_05 span:last-child p,
.cont04_06 span:last-child p,
.cont04_07 span:last-child p {
  font-size: min(calc(24/750*100*1vw),24px);
}
.cont04_05 span:last-child {
  top: calc(90 / 324 * 100%);
  left: unset;
  right: calc(90 / 750 * 100%);
}
.cont04_06 span:last-child {
  top: calc(100 / 324 * 100%);
  left: calc(80 / 750 * 100%);
}
.cont04_07 span:last-child {
  top: calc(90 / 428 * 100%);
  left: unset;
  right: calc(90 / 750 * 100%);
}
.cont04_11 p {
  font-size: min(calc(26/750*100*1vw),26px);
}
.cont04_11 p.title {
  text-align: center;
  font-size: min(calc(32/750*100*1vw),32px);
  line-height: 180%;
}
.cont04_11 p.title strong {
  color: #2099bd;
  font-size: min(calc(55/750*100*1vw),55px);
}
.cont04_12 span {
  padding-inline: calc(80 / 750 * 100%);
}
.cont04_14 span {
  top: 50%;
  translate: 0 -45%;
  padding-inline: calc(40 / 750 * 100%);
}
.cont04_14 p.title {
  color: #fff;
  font-size: min(calc(36/750*100*1vw),36px);
}
.cont04_16 span {
  top: 50%;
  translate: 0 -50%;
  padding-inline: calc(40 / 750 * 100%);
}
.cont04_16 p {
  width: calc(440 / 750 * 100%);
}
.cont04_19 span {
  top: 50%;
  translate: 0 -50%;
  padding-inline: calc(40 / 750 * 100%);
}
.cont04_19 p.title {
  color: #015e9b;
  text-align: center;
  font-size: min(calc(55/750*100*1vw),55px);
}
.cont04_20 span {
  top: 50%;
  translate: 0 -50%;
  padding-inline: calc(40 / 750 * 100%);
}
.cont04_20 p.title {
  color: #015e9b;
  text-align: center;
  font-size: min(calc(55/750*100*1vw),55px);
}
.cont04_23 span {
  padding-inline: calc(40 / 750 * 100%);
}
.cont05_03 span {
  top: calc(30 / 750 * 100%);
}
.cont05_03 p {
  color: #fff;
  text-align: center;
  font-size: min(calc(20/750*100*1vw),20px);
}
.cont05_08 p,
.cont05_12 p {
  text-align: center;
  font-size: min(calc(20/750*100*1vw),20px);
}
.cont07_02 span,
.cont07_05 span,
.cont07_08 span {
  top: 50%;
  translate: 0 -40%;
  padding-inline-start: calc(320 / 750 * 100%);
}
.cont07_02 p.title,
.cont07_05 p.title,
.cont07_08 p.title {
  color: #2099bd;
  font-size: min(calc(40/750*100*1vw),40px);
}
.cont07_03 span,
.cont07_06 span,
.cont07_09 span {
  top: 50%;
  translate: 0 -65%;
  padding-inline-start: calc(320 / 750 * 100%);
}
.cont07_03 p,
.cont07_06 p,
.cont07_09 p {
  color: #fff;
  font-size: min(calc(20/750*100*1vw),20px);
}
.cont07_04 span,
.cont07_07 span,
.cont07_10 span {
  padding-inline: calc(90 / 750 * 100%);
}
.cont08_03 span {
  top: 50%;
  translate: 0 -50%;
  padding-inline: calc(40 / 750 * 100%);
}
.cont08_05 span {
  top: unset;
  bottom: calc(10 / 750 * 100%);
}
.cont08_05 .text-block {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  place-items: center;
}
.cont08_05 .text-block p {
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: min(calc(30/750*100*1vw),30px);
  letter-spacing: 0;
}

.cont09_01 span {
  top: unset;
  bottom: calc(90 / 750 * 100%);
}
.cont09_01 span h2 {
  text-align: center;
  font-size: min(calc(50/750*100*1vw),50px);
  font-weight: bold;
}
.cont09 .faq dd .cont_text {
  padding-block-start: 1.5em;
}

.cont_footer_04 span {
  top: 0;
  left: 50%;
  translate: -50% 0;
  width: calc(610 / 750 * 100%);
}
.cont_footer_04 span p {
  font-size: min(calc(20/750*100*1vw),20px);
  color: #fff;
  text-align: center;
}
.cont_footer_03 span {
  top: 50%;
  translate: 0 -50%;
}
.cont_footer_03 span table {
  margin-inline: auto;
  background-color: #fff;
  border-collapse: collapse;
  border: 1px solid #ccc;
}
.cont_footer_03 span table th,
.cont_footer_03 span table td {
  padding: .5em;
  border: 1px solid #ccc;
}
.cont_footer_03 span table th {
  text-align: center;
  background: #ccc;
}
.cont_footer_03 span table tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}

@media screen and (max-width: 750px) {
  #wrapper .lpbody {
    padding: 0 0 10vw 0;
  }
  #wrapper .lpbody header .box {
    padding-top: 5px;
  }
  #wrapper .lpbody header .box ul li:first-child {
    width: 24.5333333333vw;
    /* margin-right: -10px; */
    /* width: 26.5333333333vw; */
  }
  #wrapper .lpbody header .box ul li:last-child {
    width: 100vw;
  }
  #wrapper .lpbody .bg dl {
    width: 86.6666666667vw;
    margin: 0 auto 5.3333333333vw auto;
  }
}
