@charset "UTF-8";
/*--------------------------------------------------
    layout
--------------------------------------------------*/
body {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  background-color: #F5F5F5;
}

#wrap {
  max-width: 560px;
  margin: 0 auto;
  background-color: #000000;
}
#wrap img {
  display: block;
  vertical-align: top;
}
#wrap img.img-m {
  width: 96%;
  margin: auto;
}
#wrap video {
  width: 100%;
}

section {
  padding-top: 8vh;
  padding-bottom: 6vh;
}
@media screen and (max-width: 560px) {
  section {
    padding-top: 4vh;
    padding-bottom: 3vh;
  }
}

.inner {
  width: 90%;
  margin: auto;
}
.inner.w-80 {
  width: 80%;
}
.inner img {
  margin-bottom: 1em;
}

.txt {
  font-size: 0.7em;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
.txt p {
  margin-bottom: 1em;
}
.txt span {
  color: #0075da;
}
.txt i {
  font-size: xx-small;
  position: relative;
  top: -1.2em;
  font-style: normal;
}
.txt.emg-area,
.txt .emg-area {
  font-size: 0.6em;
}

b {
  color: #d6ff50;
  font-size: 125%;
}

.center {
  text-align: center;
}

.flex {
  display: flex;
}

.mb-m {
  margin-bottom: 6vh !important;
}

.mb-l {
  margin-bottom: 10vh !important;
}

.mt-m {
  margin-top: 6vh !important;
}

@media screen and (max-width: 560px) {
  .mb-m {
    margin-bottom: 3vh !important;
  }
  .mb-l {
    margin-bottom: 5vh !important;
  }
  .mt-m {
    margin-top: 3vh !important;
  }
}
.btn {
  width: 76%;
  position: relative;
  background-color: #000;
  display: block;
  margin: 2em auto;
  color: #fff;
  text-align: center;
  font-size: 1.2em;
  padding: 0.5em;
}
.btn span {
  display: block;
  position: absolute;
  top: 0.8em;
  width: 1.2em;
  right: 0.8em;
}
@media screen and (max-width: 560px) {
  .btn {
    font-size: 0.9em;
  }
}

button {
  cursor: pointer;
}

.sp-on {
  display: none;
}

@media screen and (max-width: 560px) {
  .sp-on {
    display: block;
  }
}
/*--------------------------------------------------
    effect
--------------------------------------------------*/
/*accordion*/
.btn {
  position: relative;
  cursor: pointer;
}
.btn .off {
  display: none;
}
.btn.close span {
  transform: rotate(180deg);
}
.btn.close .on {
  display: none !important;
}
.btn.close .off {
  display: block !important;
}

.box,
.box2,
.faq dd {
  display: none;
}

/*nav*/
.nav-inner {
  max-width: 560px;
  margin: auto;
}
.nav-inner .black .bar {
  background-color: #000;
}
.nav-inner .black.close .bar {
  background-color: #fff;
}

.burger-btn {
  display: block;
  width: 39px;
  height: 39px;
  position: relative;
  z-index: 3;
  background-color: transparent;
  border: none;
  margin-left: auto;
}

.bar {
  width: 34px;
  height: 5px;
  display: block;
  position: absolute;
  left: 20%;
  transform: translateX(-50%);
  background-color: #fff;
}

.bar_top {
  top: 10px;
}

.bar_mid {
  top: 50%;
  transform: translate(-50%, -50%);
}

.bar_bottom {
  bottom: 10px;
}

.burger-btn.close .bar_top {
  transform: translate(-50%, 7px) rotate(45deg);
  transition: transform 0.3s;
}

.burger-btn.close .bar_bottom {
  transform: translate(-50%, -8px) rotate(-45deg);
  transition: transform 0.3s;
}

.nav-wrapper {
  display: none;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  /*キービジュアルと.btn_triggerとの重なりの前後関係を調整*/
}

.header-nav {
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 2;
}

.header-nav .nav-list {
  display: block;
  position: absolute;
  width: 70%;
  max-width: 500px;
  top: 30%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: left;
  font-size: 1.4em;
  line-height: 2;
  font-weight: 700;
}
.header-nav .nav-item {
  margin-right: 0;
  border-bottom: 1px solid #fff;
}
.header-nav .nav-item a {
  display: block;
  color: #fff;
}
.header-nav .nav-item a:after {
  position: absolute;
  content: url(../images/SVG/nav-icn.svg);
  width: 0.5em;
  right: 0;
}

.effect-fade {
  opacity: 0;
  transform: translate(0, 0px);
  /* フェードインで動く高さを指定 */
  transition: all 1000ms;
  /* フェードインにかかる時間を指定 */
}

.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}

.zoomin {
  animation-iteration-count: infinite;
  animation-name: pulse;
  animation-duration: 1.5s;
  animation-fill-mode: both;
}
@keyframes pulse {
  from {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  50% {
    transform: scale3d(1, 1, 1);
  }
  to {
    transform: scale3d(1.05, 1.05, 1.05);
  }
}
/*--------------------------------------------------
    content
--------------------------------------------------*/
/*common*/
.bg {
  background-image: url("../images/cont04-bg01.png");
  background-color: #001e5a;
  position: absolute;
  width: 100%;
  height: 40%;
  top: 0;
  left: 0;
  z-index: 0;
}

.bg-grey {
  background-color: #ececec;
}

.bg-white {
  background-color: #fff;
}

header {
  position: fixed;
  width: 100%;
  z-index: 100;
  padding-top: 20px;
}
header.other-fv {
  padding-top: 10px;
}
@media screen and (max-width: 560px) {
  header {
    padding-top: 2vh;
  }
}

#cont01 {
  padding-top: 0;
}
#cont01 .inner {
  margin: 2em auto;
}

#cont02 {
  background-color: #001e5a;
  padding-top: 0;
  padding-bottom: 0;
}
#cont02 .bg {
  height: 80%;
}
#cont02 .inner {
  margin-top: 6vh;
}
#cont02 img {
  z-index: 4;
  position: relative;
}

#cont03 {
  padding-bottom: 0;
}

#cont04 {
  position: relative;
  padding-top: 10vh;
}
#cont04 .bg {
  height: 18%;
}
#cont04 img {
  z-index: 4;
  position: relative;
}
#cont04 .txt {
  color: #000;
  text-align: left;
}
#cont04 .emg-area {
  color: #696969 !important;
}

#cont05 {
  padding-bottom: 0;
}
#cont05 .bg {
  height: 10%;
}
#cont05 img {
  z-index: 4;
  position: relative;
  margin-bottom: 0.5em;
}
#cont05 .point {
  margin-top: 4vh;
}
#cont05 .point li {
  position: relative;
  background-color: #fff;
  border: 1px solid #000;
  padding: 1em;
  margin-bottom: 4vh;
  z-index: 4;
}
@media screen and (max-width: 560px) {
  #cont05 .point li {
    padding: 0.5em;
  }
}
#cont05 .txt {
  color: #000;
  text-align: left;
}

#cont06 {
  padding-top: 4vh;
}
#cont06 .mb-m {
  margin-bottom: 2vh !important;
}
#cont06 .mt-m {
  margin-top: 3vh !important;
}
#cont06 .mb-l {
  margin-bottom: 6vh !important;
}
#cont06 .txt.emg-area {
  text-align: left;
  font-size: 0.4em;
}
#cont06 .inner img {
  margin-bottom: 0;
}
@media screen and (max-width: 560px) {
  #cont06 .w-80 {
    width: 90%;
  }
}

#cont07 .bg {
  height: 70%;
  top: -8vh;
}
#cont07 .inner {
  position: relative;
  z-index: 4;
}
#cont07 .relative {
  z-index: 4;
}
#cont07 .ex-area li {
  margin-bottom: 2em;
}
#cont07 .txt {
  color: #000;
  text-align: left;
  font-size: 0.8em;
}
#cont07 .caution {
  background-color: #fff;
  width: 80%;
  margin: auto;
  font-size: 0.5em;
  color: #696969;
}
@media screen and (max-width: 560px) {
  #cont07 .caution {
    font-size: 0.5em;
    line-height: 1.5;
    width: 90%;
  }
}
#cont07 .caution .bold {
  border-bottom: 1px solid #000;
}
#cont07 .caution div {
  margin: 1.5em 1.5em 1.5em 2em;
}
#cont07 .caution ul {
  padding: 1em 1.5em 1em 2em;
}
#cont07 .caution ul li {
  list-style-type: none;
}
#cont07 .caution ul li:before {
  content: "・";
  margin-left: -1em;
}
@media screen and (max-width: 560px) {
  #cont07 .w-80 {
    width: 94%;
  }
}

#cont08 .bg {
  height: 30%;
}
#cont08 .relative {
  z-index: 4;
}
#cont08 .inner img {
  margin-bottom: 0;
}
@media screen and (max-width: 560px) {
  #cont08 .inner {
    width: 96%;
  }
}

#cont09 h2 {
  margin-bottom: 2em;
}
#cont09 .bg {
  height: 10%;
}
#cont09 .relative {
  z-index: 4;
}
#cont09 .img-m {
  width: 80%;
}
#cont09 .txt {
  text-align: left;
  font-size: 0.8em;
}
@media screen and (max-width: 560px) {
  #cont09 .txt {
    font-size: 1rem;
  }
  #cont09 .txt.inner {
    width: 96%;
  }
}
#cont09 .txt span {
  color: #21a7ef;
}
#cont09 .txt small {
  display: block;
  font-size: 0.6em;
  text-align: right;
}
#cont09 .doctor {
  margin-top: 8vh;
}
#cont09 .doctor li {
  margin: 0 0.5em;
}

#cont10 .bg {
  height: 15%;
}
#cont10 .relative {
  z-index: 4;
}
#cont10 .shop-slide {
  background-color: #000;
  padding: 1em 0;
  margin-bottom: 1em;
}
#cont10 .shop-slide h4 {
  font-size: 1.2em;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  color: #21acf4;
  margin: 1em 0;
}
@media screen and (max-width: 560px) {
  #cont10 .shop-slide h4 {
    font-size: 0.9em;
  }
}
#cont10 .shop-slide p {
  text-align: center;
  font-size: 0.7em;
  line-height: 1.4;
  margin: 1em 0;
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 560px) {
  #cont10 .shop-slide p {
    font-size: 0.6em;
  }
}
#cont10 .shop-slide li {
  margin: 0 0.5em;
}
#cont10 .step {
  margin-top: 8vh;
}
#cont10 .step .arrow {
  z-index: 10;
  position: relative;
}
#cont10 .step:last-child {
  padding-bottom: 0 !important;
  border-bottom: 1px solid #000;
}
#cont10 .step .step-cont {
  position: relative;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-right: 1px solid #000;
  background-color: #ececec;
  padding-top: 3vh;
  padding-bottom: 0.1em;
}
#cont10 .step .step-cont.step02 {
  padding-top: 5em;
  margin-top: -3em;
}
#cont10 .step .step-cont.step03 {
  padding-top: 5em;
  margin-top: -3em;
}
#cont10 .step .step-cont .step-inner {
  width: 90%;
  margin: auto;
}
#cont10 .step .step-cont .step-inner2 {
  padding: 5%;
  background-color: #fff;
}
#cont10 .step .step-cont h3 {
  font-size: 1.2em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 560px) {
  #cont10 .step .step-cont h3 {
    font-size: 0.8em;
    letter-spacing: -0.05em;
  }
}
#cont10 .step .step-cont h3 span {
  color: #0075d5;
}
#cont10 .step .step-cont .txt {
  font-size: 0.7em;
  text-align: left;
  color: #000;
  margin-bottom: 0.5em;
}
#cont10 .step .step-cont .txt.center {
  text-align: center;
}
#cont10 .step .step-cont .tag {
  width: 40%;
  margin: -2em auto 1em;
  z-index: 10;
}
#cont10 .step .step-cont .cta-area {
  padding-top: 2vh;
}
#cont10 .step .step-cont .cta-area .cta-box {
  width: 94%;
}
#cont10 .step .step-cont .cta-area .txt {
  color: #fff;
}
#cont10 .step .step-cont .cta-area .txt p {
  font-size: 0.8em;
}
#cont10 .step .step-cont .cta-area .txt small {
  font-size: 0.6em;
}

#cont11 .inner {
  width: 86%;
  margin: auto;
}
@media screen and (max-width: 560px) {
  #cont11 .inner {
    width: 96%;
  }
}
#cont11 .w-80 {
  width: 80% !important;
}
#cont11 .point li h3 {
  margin-bottom: 1em;
}
#cont11 .txt {
  width: 85%;
  margin: 1.5em auto;
  text-align: left;
  font-size: 0.8em;
}
#cont11 .txt span {
  color: #21a5ed;
}
#cont11 .txt.emg-area {
  font-size: 0.6em;
}

#cont12 {
  padding-top: 0;
  padding-bottom: 0;
}
#cont12 .cta-area {
  padding-bottom: 0;
  padding-top: 0;
}
#cont12 .cta-area .cta-box {
  width: 100%;
  padding: 0;
  background-color: #001e5a;
}
#cont12 .cta-area .cta-box .inner {
  width: 90%;
}
#cont12 .cta-area .cta-box .txt {
  font-size: 0.8em;
}
#cont12 .cta-area .cta-box .txt p {
  font-size: 0.8em;
}
#cont12 .cta-area .cta-box .txt small {
  font-size: 0.6em;
}
@media screen and (max-width: 560px) {
  #cont12 .w-80 {
    width: 94%;
  }
}

#cont13 {
  background-color: #fff;
  padding-bottom: 4vh;
}
#cont13 ul li {
  background-color: #000;
}
#cont13 ul li p {
  color: #fff;
  padding: 2em 1em;
  text-align: left;
  font-size: 1em;
  margin-bottom: 0;
}
#cont13 ul li p span {
  color: #21a5ed;
}
#cont13 .cta-area {
  background-color: #fff;
}
#cont13 .caution {
  width: 86%;
  margin: auto;
  font-size: 0.5em;
  color: #696969;
}
@media screen and (max-width: 560px) {
  #cont13 .caution {
    width: 90%;
    font-size: 0.5em;
    line-height: 1.5;
  }
}
#cont13 .caution div {
  margin: 1.5em 1.5em 1.5em 2em;
}
#cont13 .caution ul {
  padding: 1em 1.5em 1em 2em;
}
#cont13 .caution ul li {
  background-color: #fff;
  list-style-type: none;
}
#cont13 .caution ul li:before {
  content: "※";
  margin-left: -1em;
}

#faq-area {
  background-color: #ececec;
}
#faq-area h3 {
  width: 40%;
  margin: 0 auto 2em;
}
@media screen and (max-width: 560px) {
  #faq-area h3 {
    margin: 0 auto 1em;
  }
}
#faq-area .btn {
  width: 60%;
}
#faq-area .faq img {
  margin-bottom: 0.5em;
}
#faq-area .faq dt {
  position: relative;
  font-size: 0.8em;
  line-height: 1;
  font-weight: 500;
  padding: 1.5em 2.5em 1.5em 2.5em;
  border: 1px solid #000;
  background-color: #fff;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 560px) {
  #faq-area .faq dt {
    font-size: 0.6em;
  }
}
#faq-area .faq dt:before {
  position: absolute;
  content: "Q";
  font-weight: 700;
  font-size: 2em;
  top: 50%;
  left: 0.6em;
  bottom: 0;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
#faq-area .faq dt:after {
  position: absolute;
  content: url(../images/SVG/faq-arrow.svg);
  font-weight: 700;
  width: 1.5em;
  right: 0em;
  top: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
#faq-area .faq dd {
  font-size: 0.8em;
  text-align: left;
  margin-bottom: 3em;
}
@media screen and (max-width: 560px) {
  #faq-area .faq dd {
    font-size: 0.6em;
    line-height: 1.5;
  }
}

.cta-area {
  padding-top: 4vh;
  padding-bottom: 4vh;
}
.cta-area .mb-m {
  margin-bottom: 3vh !important;
}
.cta-area .mt-m {
  margin-top: 3vh !important;
}
.cta-area .cta-box {
  padding: 0.5em 0;
  border: 2px solid #001e5a;
  width: 90%;
  margin: auto;
}
@media screen and (max-width: 560px) {
  .cta-area .cta-box {
    padding: 0.5em 0;
  }
}
.cta-area .cta-box .inner {
  width: 96%;
  background-color: #001e5a;
  padding: 1em;
}
.cta-area .img-m {
  width: 70% !important;
  margin: 1em auto;
}
.cta-area .txt {
  font-size: 0.5em;
}
.cta-area .txt p {
  font-size: 1.2em;
}
.cta-area .txt small {
  display: block;
  font-size: 0.9em;
  text-align: left;
}
.cta-area .caution {
  background-color: #fff;
  width: 86%;
  margin: auto;
  font-size: 0.4em;
  color: #696969;
}
@media screen and (max-width: 560px) {
  .cta-area .caution {
    font-size: 0.5em;
    line-height: 1.5;
  }
}
.cta-area .caution div {
  margin: 1.5em 1.5em 1.5em 2em;
}
.cta-area .caution ul {
  padding: 1em 1.5em 1em 2em;
}
.cta-area .caution ul li {
  list-style-type: none;
}
.cta-area .caution ul li:before {
  content: "・";
  margin-left: -1em;
}

/*-------------foot-fix-------------*/
#foot-fix {
  z-index: 10;
  border: 4px solid #001e5a;
}
@media screen and (min-width: 0px) and (max-width: 768px) {
  #foot-fix {
    font-size: 0.8em;
  }
}

.fixed-bottom {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  background-color: #fff;
  padding: 0.5em;
  box-sizing: border-box;
  display: none;
  max-width: 560px;
}
.fixed-bottom .inner {
  max-width: 560px;
  text-align: center;
  padding: 0;
  position: relative;
  width: 90%;
}
.fixed-bottom .inner img {
  display: flex;
  align-items: center;
  vertical-align: middle;
  height: 2em;
  margin: 0 auto;
}
.fixed-bottom .inner:after {
  content: "";
  background-image: url("../images/svg/foot-btn_arrow.svg");
  height: 1.5em;
  width: 1.5em;
  position: absolute;
  top: 0.3em;
  right: 0;
}

footer {
  padding-bottom: 3em;
}
footer #logo {
  width: 40%;
  margin: 2em auto;
}
footer .copy {
  font-size: 0.4em;
  color: #fff;
  padding: 0 0 2em;
}/*# sourceMappingURL=style.css.map */