@charset "UTF-8";
/* 変数の定義
--------------------------------------------------*/
/* reset
--------------------------------------------------*/
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, svg, a, table, tr, th, td, figure {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

article, header, footer, aside, figure, figcaption, nav, section {
  display: block;
}

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

a {
  text-decoration: none;
  overflow-wrap: break-word;
  opacity: 1;
  transition: all 0.4s ease-out;
}

a:hover {
  opacity: 0.7;
}

img {
  display: block;
  border-style: none;
  max-width: 100%;
}

button {
  border: none;
}

:focus {
  border-style: none;
  outline: none;
}

table, tr, th, td {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
  padding: 0;
  margin: 0;
}

#wrapper {
  overflow-x: hidden;
}

/* ie11以下のテキストルール */
@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, body {
    font-family: Century, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
}
/* 色の定義
--------------------------------------------------*/
/* テキストパーツ
--------------------------------------------------*/
.white {
  color: #fff;
}

.black {
  color: #333333;
}

.brown {
  color: #5f4c4c;
}

.red {
  color: #f84b4b;
}

.green {
  color: #194945;
}

.gray {
  color: #666666;
}

/* フォントの定義
--------------------------------------------------*/
html, body, ul, ol, dl, li, dt, dd, p, div, span, img, svg, a, table, tr, th, td, figure {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #333333;
}

h1, h2, h3, h4 {
  font-family: "Noto Sans JP", "Yu Mincho", "YuMincho", "Noto Serif JP", serif;
  font-style: normal;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #333333;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-weight: 400;
}

html {
  font-size: 62.5%;
}

p, a {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #333333;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 450px) {
  p, a {
    font-size: 1.5rem;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  p, a {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

/* フォントサイズ
--------------------------------------------------*/
.fz80 {
  font-size: 80%;
}

/* 個別フォント指定
--------------------------------------------------*/
h2.title .sub {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 700;
}

.btn.more a {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 700;
}

.reasons_cont h2 span {
  font-family: "Montserrat", sans-serif;
  font-style: normal;
  font-weight: 700;
}

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

※このスタイルシートはSCSSで生成されています。
cssへの直記入はなさらないようにしてください。

-----------------------------------------*/
/* ページ包括
--------------------------------------------------*/
#wrapper {
  margin: 0 auto;
}

/* 流用パーツ
--------------------------------------------------*/
.inner-wrap {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}

.inner-wrap-lg {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.inner-wrap-xl {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.sp-view {
  display: block;
}
@media screen and (min-width: 769px) {
  .sp-view {
    display: none;
  }
}

.pc-view {
  display: none;
}
@media screen and (min-width: 769px) {
  .pc-view {
    display: block;
  }
}
@media screen and (min-width: 769px) and (max-width: 850px) {
  .pc-view.blank {
    display: none;
  }
}

.lg-view {
  display: none;
}
@media screen and (min-width: 1000px) {
  .lg-view {
    display: block;
  }
}

.lgc-view {
  display: block;
}
@media screen and (min-width: 1000px) {
  .lgc-view {
    display: none;
  }
}

br.pc-view {
  display: none;
}
@media screen and (min-width: 769px) {
  br.pc-view {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 850px) {
  br.pc-view.blank {
    display: none;
  }
}
br.sp-view {
  display: block;
}
@media screen and (min-width: 769px) {
  br.sp-view {
    display: none;
  }
}
br.sm-view {
  display: block;
}
@media screen and (min-width: 450px) {
  br.sm-view {
    display: none;
  }
}

/* 共通パーツ
--------------------------------------------------*/
.mb0 {
  margin-bottom: 0;
}

/* タイトルパーツ
--------------------------------------------------*/
h2.title {
  display: flex;
  flex-flow: column nowrap;
  align-items: center;
  font-weight: 700;
  line-height: 2;
  font-size: 2rem;
  text-align: center;
  padding: 0 15px;
}
@media screen and (min-width: 450px) {
  h2.title {
    line-height: 2;
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 769px) {
  h2.title {
    font-size: 3.6rem;
  }
}
h2.title .color {
  display: contents;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.5;
}
@media screen and (min-width: 450px) {
  h2.title .color {
    line-height: 2;
  }
}
@media all and (-ms-high-contrast: none) {
  h2.title .color {
    display: table-cell;
  }
}
h2.title .sub {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-flex;
  position: relative;
  color: #acb49e;
  font-weight: 700;
  letter-spacing: 0.2em;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (min-width: 450px) {
  h2.title .sub {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 769px) {
  h2.title .sub {
    font-size: 1.6rem;
  }
}
h2.title .sub::before, h2.title .sub::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translatey(-50%);
  width: 8px;
  height: 1px;
  background-color: #acb49e;
}
@media screen and (min-width: 769px) {
  h2.title .sub::before, h2.title .sub::after {
    width: 15px;
    height: 2px;
  }
}
h2.title .sub::before {
  left: -20px;
}
@media screen and (min-width: 769px) {
  h2.title .sub::before {
    left: -25px;
  }
}
h2.title .sub::after {
  right: -20px;
}
@media screen and (min-width: 769px) {
  h2.title .sub::after {
    right: -25px;
  }
}
h2.title .sub.white {
  color: #fff;
}
h2.title .sub.white::before, h2.title .sub.white::after {
  background-color: #fff;
}

/* ボタン
--------------------------------------------------*/
.btn {
  background-color: #fff;
  border: 3px solid #fceda7;
  border-radius: 50px;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .btn {
    border: 5px solid #fceda7;
    border-radius: 35px;
  }
}
.btn.txt-pink a {
  color: #f5acb8;
}
.btn.bc-pink {
  background-color: #f5acb8;
}
.btn.bc-pink a {
  color: #fff;
}
.btn.txt-orange a {
  color: #ffa168;
}
.btn.bc-orange {
  background-color: #ffa168;
}
.btn.bc-orange a {
  color: #fff;
}
.btn a {
  color: #fff;
}

/* 画面追従ボタン
--------------------------------------------------*/
.banner-follow {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 99;
}
.banner-follow img {
  width: 50vw;
  max-width: 200px;
}
@media screen and (min-width: 769px) {
  .banner-follow img {
    width: 100%;
  }
}

/* 上下中央
--------------------------------------------------*/
.fc {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
}

/* スクロールパーツ
--------------------------------------------------*/
.cont-scr a {
  display: inline-block;
  position: absolute;
  right: 4vw;
  top: 110px;
  z-index: 2;
  padding: 10px 10px 160px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: 0.2s;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .cont-scr a {
    right: 40px;
    top: 230px;
    font-size: 1.8rem;
  }
}
.cont-scr a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 150px;
  background: #fff;
  -webkit-animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
          animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
.cont-scr a:hover {
  opacity: 0.5;
}

@-webkit-keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
/* 右回転
--------------------------------------------------*/
@-webkit-keyframes rotation_right {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotation_right {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 左回転
--------------------------------------------------*/
@-webkit-keyframes rotation_left {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes rotation_left {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-360deg);
  }
}
/* 泡アニメ
--------------------------------------------------*/
@-webkit-keyframes fuwa01 {
  0% {
    transform: translate(0, 0px);
  }
  100% {
    transform: translate(0, -15px);
  }
}
@keyframes fuwa01 {
  0% {
    transform: translate(0, 0px);
  }
  100% {
    transform: translate(0, -15px);
  }
}
@-webkit-keyframes fuwa02 {
  0% {
    transform: translate(0, 10px);
  }
  100% {
    transform: translate(0, 25px);
  }
}
@keyframes fuwa02 {
  0% {
    transform: translate(0, 10px);
  }
  100% {
    transform: translate(0, 25px);
  }
}
.scale-in-bottom {
  -webkit-animation: scale-in-bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: scale-in-bottom 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.bounce-top {
  -webkit-animation: bounce-top 0.9s both;
  animation: bounce-top 0.9s both;
}

/* ----------------------------------------------
 * Generated by Animista on 2022-6-24 17:7:12
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation scale-in-bottom
 * ----------------------------------------
 */
@-webkit-keyframes scale-in-bottom {
  0% {
    transform: scale(0);
    transform-origin: 50% 100%;
    opacity: 1;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
    opacity: 1;
  }
}
@keyframes scale-in-bottom {
  0% {
    transform: scale(0);
    transform-origin: 50% 100%;
    opacity: 1;
  }
  100% {
    transform: scale(1);
    transform-origin: 50% 100%;
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation bounce-top
 * ----------------------------------------
 */
@-webkit-keyframes bounce-top {
  0% {
    transform: translateY(-45px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    transform: translateY(-24px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  65% {
    transform: translateY(-12px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  82% {
    transform: translateY(-6px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  93% {
    transform: translateY(-4px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  25%, 55%, 75%, 87% {
    transform: translateY(0px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    transform: translateY(0px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
  }
}
@keyframes bounce-top {
  0% {
    transform: translateY(-45px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  40% {
    transform: translateY(-24px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  65% {
    transform: translateY(-12px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  82% {
    transform: translateY(-6px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  93% {
    transform: translateY(-4px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  25%, 55%, 75%, 87% {
    transform: translateY(0px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  100% {
    transform: translateY(0px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
    opacity: 1;
  }
}
/*# sourceMappingURL=style.css.map */