@charset "UTF-8";
/* ------------------------------

	編集時の注意
	・必ず.scssから編集してコンパイルしてください。（直接.cssを編集しないでください）
	・コンパイル時はautoprefix, sourcemap出力を使用してください。
  ・フォントサイズの指定にはmixinを使用しています。@include fz(カンプ上でのサイズ）と指定してください。

------------------------------ */
/* ------------------------------
 Bg-Color
------------------------------ */
.bg-pink {
  background-color: #e9584d;
}

.bg-orange {
  background-color: #eb5505;
}

.bg-paleorange {
  background-color: #fff2eb;
}

.bg-gold {
  background-color: #df9a00;
}

.bg-palegold {
  background-color: #fef4dd;
}

.bg-cyan {
  background-color: #0587bd;
}

.bg-paleblue {
  background-color: #dceaf5;
}

.bg-navy {
  background-color: #263395;
}

.bg-darknavy {
  background-color: #0e2052;
}

.bg-purple {
  background-color: #2b1863;
}

.bg-palepurple {
  background-color: #eee2ef;
}

/* ------------------------------
 Margin Padding
------------------------------ */
.mg-auto {
  margin: auto;
}

.ptb5 {
  padding: 0 5%;
}

/* ------------------------------
 Mixin
------------------------------ */
/* ------------------------------
 Body
------------------------------ */
html {
  background: #CCC;
}

body {
  margin: 0 auto;
  padding: 0;
  color: #262626;
  font-family: 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', 'Meiryo', sans-serif;
  -webkit-text-size-adjust: 100%;
  max-width: 900px;
  overflow-x: hidden;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  background-color: #FFF;
  font-size: 9.6px;
  font-size: 2.66667vw;
  /*iPhone8系で10pxを1em相当とする*/
}

@media screen and (min-width: 901px) {
  body {
    font-size: 24px;
  }
}

#page-wrap {
  overflow-x: hidden;
}

/* ------------------------------
 Reset CSS
------------------------------ */
* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

main, article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block;
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6, h7, p, dl, dt, dd, ul, ol, li, form {
  margin: 0;
  padding: 0;
}

ul {
  list-style-type: none;
}

img {
  vertical-align: bottom;
  border: 0;
  width: 100%;
  height: auto;
  min-height: 1px;
}

a {
  outline: 0;
  color: currentColor;
}

a.no-line {
  text-decoration: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

button::-moz-focus-inner {
  border: 0;
}

/* ------------------------------
 text
------------------------------ */
p, ul, dl {
  font-size: 1em;
  line-height: 1.6;
}

sup {
  font-size: 0.7em;
}

.indent-1em {
  display: block;
  text-indent: -1em;
  padding-left: 1em;
}

.txt-orange {
  color: #eb5505;
}

.txt-xlg {
  font-size: 16px;
  font-size: 4.44444vw;
}

@media screen and (min-width: 901px) {
  .txt-xlg {
    font-size: 40px;
  }
}

.txt-lg {
  font-size: 14.4px;
  font-size: 4vw;
}

@media screen and (min-width: 901px) {
  .txt-lg {
    font-size: 36px;
  }
}

.txt-rg {
  font-size: 11.2px;
  font-size: 3.11111vw;
}

@media screen and (min-width: 901px) {
  .txt-rg {
    font-size: 28px;
  }
}

.txt-sm {
  font-size: 9.6px;
  font-size: 2.66667vw;
}

@media screen and (min-width: 901px) {
  .txt-sm {
    font-size: 24px;
  }
}

.txt-xs {
  font-size: 8.8px;
  font-size: 2.44444vw;
}

@media screen and (min-width: 901px) {
  .txt-xs {
    font-size: 22px;
  }
}

.mt-05em {
  margin-top: 0.5em;
}

.mt-1em {
  margin-top: 1em;
}

.pl-1em {
  display: block;
  padding-left: 1em;
}

.align-center {
  text-align: center;
}

/* ------------------------------
 Header
------------------------------ */
.header {
  background: #FFF;
  padding: 4% 0;
}

.header .logo {
  width: 24.44444%;
  margin: auto;
}

/* ------------------------------
 inner-wrap
------------------------------ */
.inner-wrap {
  margin: auto 4.44444%;
}

@media screen and (min-width: 901px) {
  .inner-wrap {
    margin: auto 40px;
  }
}

/* ------------------------------
 svg-wrap
------------------------------ */
.svg-wrap {
  position: relative;
}

.svg-wrap svg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

/* ------------------------------
 title
------------------------------ */
.sec-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 24px;
  font-size: 6.66667vw;
  text-align: center;
  line-height: 1.2;
  color: #FFF;
  min-height: 2.5em;
  padding: 0.2em;
}

@media screen and (min-width: 901px) {
  .sec-ttl {
    font-size: 60px;
  }
}

.sec-ttl > span {
  display: block;
}

.sec-ttl > span.small {
  font-size: 20px;
  font-size: 5.55556vw;
}

@media screen and (min-width: 901px) {
  .sec-ttl > span.small {
    font-size: 50px;
  }
}

.balloon-ttl {
  position: relative;
  font-size: 16px;
  font-size: 4.44444vw;
  width: -webkit-min-content;
  width: -moz-min-content;
  width: min-content;
  min-width: 69.5122%;
  padding: 0 1em;
  height: 2em;
  margin: 3.65854% auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 1em;
}

@media screen and (min-width: 901px) {
  .balloon-ttl {
    font-size: 40px;
  }
}

.balloon-ttl::before {
  content: '';
  position: absolute;
  width: 1em;
  height: 1em;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  bottom: -10%;
  left: 50%;
  margin-left: -0.5em;
}

.balloon-ttl img {
  display: block;
  position: relative;
  height: 1em;
  width: auto;
}

.balloon-ttl.cyan, .balloon-ttl.cyan::before {
  background-color: #0587bd;
}

.balloon-ttl.blue, .balloon-ttl.blue::before {
  background-color: #076cb9;
}

.balloon-ttl.navy, .balloon-ttl.navy::before {
  background-color: #263395;
}

.balloon-ttl.orange, .balloon-ttl.orange::before {
  background-color: #eb5505;
}

/* ------------------------------
 mv
------------------------------ */
.mv-sec .mv-wrap {
  position: relative;
  padding-top: 111.11111%;
  background: -webkit-gradient(linear, left top, left bottom, from(#94b9e2), to(#95cfe2));
  background: linear-gradient(to bottom, #94b9e2 0%, #95cfe2 100%);
}

.mv-sec .mv-ttl {
  position: absolute;
  width: 51.11111%;
  bottom: 2%;
  right: 4.44444%;
  z-index: 5;
}

.mv-sec .mv-illust {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.mv-sec .mv-illust > * {
  position: absolute;
}

.mv-sec .mv-illust::before {
  position: absolute;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url(../img/mv-bg-circle.svg) no-repeat 50% 46%;
  background-size: 66.66667% auto;
}

.mv-sec .mv-illust-01 {
  width: 24.33333%;
  top: 3.5%;
  left: 37.22222%;
}

.mv-sec .mv-illust-02 {
  width: 38.33333%;
  top: 9.7%;
  left: -3.11111%;
}

.mv-sec .mv-illust-03 {
  width: 34.33333%;
  top: 9%;
  right: 0.55556%;
}

.mv-sec .mv-illust-04 {
  width: 29.44444%;
  bottom: 8.3%;
  left: 3.11111%;
}

.mv-sec .mv-illust-05 {
  width: 27%;
  bottom: 29%;
  right: 4.44444%;
}

.mv-sec .mv-illust-phone {
  width: 27.77778%;
  left: 36.11111%;
  top: 28.3%;
}

.mv-sec .mv-lead {
  color: #FFF;
  background: #eb5505;
  font-size: 13.6px;
  font-size: 3.77778vw;
  text-align: center;
  font-weight: bold;
  padding: 1.5em 0;
}

@media screen and (min-width: 901px) {
  .mv-sec .mv-lead {
    font-size: 34px;
  }
}

/* ------------------------------
 step-sec
------------------------------ */
.step-sec {
  padding-top: 8.88889%;
}

.step-sec .step-ttl {
  width: 83.88889%;
  margin: 0 auto 5.55556%;
}

.step-sec .sec-ttl {
  margin: 0 0 8.88889%;
}

.step-sec .step-num-ttl {
  position: relative;
}

.step-sec .step-num-ttl .step-num {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  width: 21.11111%;
  top: 0;
  left: 0;
  background: url(../img/step-num-bg.png) no-repeat;
  background-size: 100% 100%;
}

.step-sec .step-num-ttl .step-num img {
  display: block;
  width: 42.10526%;
  margin-right: 20%;
}

.step-sec .step-num-ttl span {
  padding-left: 18.88889%;
}

.step-sec .step-content {
  padding-bottom: 8.88889%;
}

.step-sec .step-carousel-wrap + p {
  padding-top: 15px;
}

.step-sec .step-carousel-wrap + .step-carousel-wrap {
  padding-top: 8.88889%;
}

.step-sec .step-illust {
  margin: 11.11111% auto 0;
}

.step-sec .step-illust-01 {
  width: 38.65854%;
  padding-top: 36.21951%;
}

.step-sec .step-illust-02 {
  width: 60%;
  padding-top: 35.73171%;
}

.step-sec .step-illust-03 {
  width: 39.02439%;
  padding-top: 41.58537%;
}

/* ------------------------------
 method-sec
------------------------------ */
.method-sec .method-ttl {
  width: 92.07317%;
  margin: 5.88235% auto 0;
}

.method-sec .method-content {
  padding-bottom: 8.88889%;
}

.method-sec .method-carousel-wrap + .method-carousel-wrap {
  padding-top: 8.88889%;
}

.method-sec .method-carousel-wrap:nth-of-type(1) {
  margin-top: 8.88889%;
}

.method-sec .method-illust {
  width: 35.12195%;
  padding-top: 43.90244%;
  margin: 11.11111% auto 0;
}

/* ------------------------------
 recommend-sec
------------------------------ */
.recommend-sec {
  padding-bottom: 8.88889%;
}

.recommend-sec .sec-ttl {
  margin-bottom: 5.55556%;
}

.recommend-sec .recommend-illust {
  width: 45.4878%;
  padding-top: 36.58537%;
  margin: 11.11111% auto 0;
}

/* ------------------------------
 guide-index
------------------------------ */
.guide-index-wrap {
  padding-top: 6.09756%;
}

.guide-index-wrap:first-child {
  margin-top: -6.09756%;
}

.guide-index-wrap + .guide-index-wrap {
  margin-top: 3.65854%;
}

.guide-index-item {
  background: #FFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  padding: 4.87805%;
}

.guide-index-item-txt {
  width: 55%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.guide-index-item-txt .btn-detail {
  display: block;
}

.guide-index-item-txt .btn-detail + .btn-detail {
  margin-top: 1em;
}

.guide-index-item-txt .mt-auto {
  margin-top: auto;
}

.guide-index-item-img {
  width: 40%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

/* ------------------------------
 guide-carousel
------------------------------ */
.guide-carousel {
  margin: 0 -0.22222%;
  margin-bottom: 6.66667%;
  /* カルーセルUIカラー設定 */
  /* スライド個別設定 */
}

.guide-carousel .slick-list {
  overflow: visible !important;
}

.guide-carousel .slick-slide {
  outline: 0;
  margin: 0 0.22222%;
}

.guide-carousel .slick-arrow {
  position: absolute;
  display: block;
  font-size: 24px;
  font-size: 6.66667vw;
  width: 1em;
  height: 1em;
  border-radius: 0.5em;
  top: 50%;
  margin-top: -0.5em;
  z-index: 10;
  overflow: hidden;
  text-indent: 200%;
  background: url(../img/icon-arrow-next.svg) no-repeat 50% 50%;
  background-size: 50% auto;
}

@media screen and (min-width: 901px) {
  .guide-carousel .slick-arrow {
    font-size: 60px;
  }
}

.guide-carousel .slick-arrow.slick-prev {
  left: -0.5em;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.guide-carousel .slick-arrow.slick-next {
  right: -0.5em;
}

.guide-carousel .slick-arrow.slick-disabled {
  display: none !important;
}

.guide-carousel .slick-dots {
  position: absolute;
  text-align: center;
  left: 0;
  right: 0;
  bottom: -8.88889%;
  z-index: 10;
  font-size: 0;
}

.guide-carousel .slick-dots li {
  display: inline-block;
}

.guide-carousel .slick-dots li button {
  font-size: 8px;
  font-size: 2.22222vw;
  display: block;
  width: 1em;
  height: 1em;
  margin: 0 0.5em;
  background: #FFF;
  overflow: hidden;
  border-radius: 50%;
  text-indent: 200%;
}

@media screen and (min-width: 901px) {
  .guide-carousel .slick-dots li button {
    font-size: 20px;
  }
}

.guide-carousel.purple .slick-arrow, .guide-carousel.purple .slick-dots .slick-active button {
  background-color: #2b1863;
}

.guide-carousel.orange .slick-arrow, .guide-carousel.orange .slick-dots .slick-active button {
  background-color: #eb5505;
}

.guide-carousel.cyan .slick-arrow, .guide-carousel.cyan .slick-dots .slick-active button {
  background-color: #0587bd;
}

.guide-carousel .slick-slide.step-dl {
  position: relative;
}

.guide-carousel .slick-slide.step-dl .dl-btn-wrap {
  position: absolute;
  width: 40.2439%;
  left: 4.87805%;
  top: 14.54545%;
}

.guide-carousel .slick-slide.step-dl .dl-btn {
  display: block;
}

.guide-carousel .slick-slide.step-dl .dl-btn + .dl-btn {
  margin-top: 10%;
}

/* ------------------------------
 Footer
------------------------------ */
.footer {
  position: relative;
  color: #FFF;
}

.footer .copyright {
  display: block;
  text-align: center;
  font-size: 14.4px;
  font-size: 4vw;
  padding: 1em;
  background: #242b3e;
  text-align: center;
}

@media screen and (min-width: 901px) {
  .footer .copyright {
    font-size: 36px;
  }
}

/* ------------------------------
 
	Animation

------------------------------ */
/* ------------------------------
 scroll-in
------------------------------ */
body:not(.legacy) .scroll-in.fade-in {
  opacity: 0;
  -webkit-transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body:not(.legacy) .scroll-in.fade-in.appeared {
  opacity: 1;
}

body:not(.legacy) .scroll-in.left-in {
  opacity: 0;
  -webkit-transform: translateX(-3rem);
          transform: translateX(-3rem);
  -webkit-transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body:not(.legacy) .scroll-in.left-in.appeared {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

body:not(.legacy) .scroll-in.up-in {
  opacity: 0;
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
  -webkit-transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body:not(.legacy) .scroll-in.up-in.appeared {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

body:not(.legacy) .scroll-in.zoom-in {
  opacity: 0;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  -webkit-transform-origin: 50% 100%;
          transform-origin: 50% 100%;
  -webkit-transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1);
  transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1);
}

body:not(.legacy) .scroll-in.zoom-in.appeared {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

/* MV-Anime
----------------------------------------------------------- */
body:not(.legacy) .mv-ttl, body:not(.legacy) .mv-illust::before {
  opacity: 0;
  -webkit-transform: scale(0.4);
          transform: scale(0.4);
  -webkit-transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1);
  transition: 0.8s cubic-bezier(0.22, 1.5, 0.8, 1);
}

body:not(.legacy) .mv-illust > * {
  opacity: 0;
  -webkit-transform: translateY(3rem);
          transform: translateY(3rem);
  -webkit-transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body:not(.legacy).ready .mv-ttl, body:not(.legacy).ready .mv-illust::before {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

body:not(.legacy).ready .mv-illust > * {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

body:not(.legacy).ready .mv-illust-phone {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

body:not(.legacy).ready .mv-illust-01 {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

body:not(.legacy).ready .mv-illust-02 {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

body:not(.legacy).ready .mv-illust-03 {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

body:not(.legacy).ready .mv-illust-04 {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

body:not(.legacy).ready .mv-illust-05 {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

body:not(.legacy).ready .mv-illust-06 {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}
