@charset "UTF-8";
/*--------------------------
	Base
--------------------------*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

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

	リセットCSS調整ファイルです。
	リセットCSSを調整、カスタマイズしたい場合に編集します。

----------------------------------------------------*/
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1024px) {
  html {
    font-size: 52.5%;
  }
}

body {
  *font-size: small;
  *font: x-small;
  _font-size: 14px;
}

ul,
li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
  word-break: break-all;
}

img {
  vertical-align: middle;
}

* {
  box-sizing: border-box;
}

*:before,
*:after {
  box-sizing: inherit;
}

/*--------------------------
	フォントの設定
--------------------------*/
/*--------------------------
	カラーの設定
--------------------------*/
/*--------------------------
	レイアウトの設定
--------------------------*/
/*--------------------------
	グリッドのガター
--------------------------*/
/*--------------------------
	レスポンシブの設定
--------------------------*/
/*--------------------------
  アニメーションの設定
--------------------------*/
/*--------------------------
	レスポンシブ関連
--------------------------*/
/*----------------------------------------------------

	初期設定を行うファイルです。
	デフォルトの設定を行う時以外、基本的に編集することはありません。

----------------------------------------------------*/
html {
  font-size: 10px;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: 0.83333vw; /* 10px / 1200px * 100 */
  }
}
@media screen and (max-width: 700px) {
  html {
    font-size: 2.85714286vw; /* 10px / 350px * 100 */
  }
}

body {
  background: #fff;
  color: #000;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 1.8;
}
@media screen and (max-width: 700px) {
  body {
    font-size: 1.4rem;
  }
}

.wrap {
  overflow: hidden;
  position: relative;
}

img {
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
}

sup {
  font-size: 50%;
  vertical-align: super;
}

/*--------------------------
	Layout
--------------------------*/
.l-inner {
  margin: 0 auto;
  width: 1080px;
}
@media screen and (max-width: 1200px) {
  .l-inner {
    width: 90%;
  }
}
@media screen and (max-width: 700px) {
  .l-inner {
    padding: 0 2.5rem;
    width: 100%;
  }
}

/*--------------------------
	module
--------------------------*/
/*--------------------------
	page
--------------------------*/
.pd {
  padding-bottom: 5rem;
}

.contents--top {
  position: relative;
}
.contents--top::before {
  content: "";
  display: block;
  position: fixed; /* 背景画像を固定 */
  background-image: url(../images/top/bg-parallax.jpg); /* 背景画像 */
  background-repeat: no-repeat;
  background-size: cover; /* 背景画像を画面サイズいっぱいに表示 */
  background-position: center top; /* 背景画像の開始位置 */
  width: 100%;
  height: 100%; /* 親要素と同じ高さに設定 */
  top: 0;
  left: 0;
  z-index: -1; /* 他の要素の後ろに配置 */
}
@media screen and (max-width: 700px) {
  .contents--top::before {
    background-image: url(../images/top/bg-parallax-sp.jpg); /* スマホ用背景画像 */
  }
}

.body-frame {
  position: relative;
  z-index: 0;
}
.body-frame::before {
  content: "";
  position: fixed;
  background-image: url(../images/top/right.png);
  background-size: cover;
  background-repeat: repeat-y;
  background-position: right;
  width: 5rem;
  height: 100%;
  top: 0;
  right: 0;
  z-index: 9;
}
@media screen and (max-width: 1720px) {
  .body-frame::before {
    width: 2.7vw;
    height: 100vh;
    background-size: contain;
  }
}
@media screen and (max-width: 700px) {
  .body-frame::before {
    background-image: url(../images/top/right-sp.png);
    width: 1.6rem;
    background-size: 75%;
  }
}
@media screen and (min-width: 1920px) {
  .body-frame::before {
    content: "";
    position: fixed;
    background-image: url(../images/top/right.png);
    background-size: cover;
    background-repeat: repeat-y;
    width: 2.7vw;
    height: 100%;
    top: 0;
    right: 0;
    z-index: 9;
  }
}
.body-frame::after {
  content: "";
  position: fixed;
  background-image: url(../images/top/left.png);
  background-size: cover;
  background-repeat: repeat-y;
  width: 5rem;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 9;
}
@media screen and (max-width: 1720px) {
  .body-frame::after {
    width: 2.7vw;
    height: 100vh;
    background-size: contain;
  }
}
@media screen and (max-width: 700px) {
  .body-frame::after {
    background-image: url(../images/top/left-sp.png);
    width: 1.6rem;
    background-size: 75%;
  }
}
@media screen and (min-width: 1920px) {
  .body-frame::after {
    content: "";
    position: fixed;
    background-image: url(../images/top/left.png);
    background-size: cover;
    background-repeat: repeat-y;
    width: 2.7vw;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 9;
  }
}

.main-frame {
  position: relative;
  z-index: 10;
  width: 100%;
  margin-bottom: 9%;
}
.main-frame img {
  width: 100%;
  height: 100%;
}

.fixed-frame {
  position: absolute; /* 親要素内で位置を絶対的に指定 */
  top: 0;
  left: 0;
  width: 100%; /* 親要素全体をカバー */
  height: 100%; /* 親要素全体をカバー */
  z-index: 1; /* mv の背景として機能させる */
}

.mv__logo {
  position: absolute;
  top: 5.5%;
  left: 3.5%;
  width: 12%;
  z-index: 100;
}
@media screen and (max-width: 700px) {
  .mv__logo {
    position: absolute;
    top: 3.5%;
    left: 6%;
    width: 27%;
  }
}
.mv__ttl {
  position: absolute;
  top: 10%;
  left: 17%;
  width: 67%;
  z-index: -1;
  animation: flyIn 0.7s cubic-bezier(0.15, 1.6, 0.3, 1) 0.9s forwards;
  opacity: 0;
  transform: scale(0.5) translateY(80px);
}
@media screen and (max-width: 700px) {
  .mv__ttl {
    top: 14%;
    left: 13%;
    width: 77%;
  }
}
.mv__people01 {
  position: absolute;
  bottom: 8%;
  left: 3%;
  width: 100%;
  z-index: -1;
  animation: flyIn 0.7s cubic-bezier(0.15, 1.6, 0.3, 1) 1.6s forwards;
  opacity: 0;
  transform: scale(0.5) translateY(100px);
}
@media screen and (max-width: 700px) {
  .mv__people01 {
    bottom: 3%;
    left: 0%;
    width: 113%;
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(100px);
  }
  60% {
    opacity: 1;
    transform: scale(1.2) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.mv__ramen-right01 {
  position: absolute;
  bottom: 38%;
  right: 26%;
  width: 16.8%;
  z-index: -4;
}
@media screen and (max-width: 700px) {
  .mv__ramen-right01 {
    position: absolute;
    bottom: 85%;
    right: 59%;
    width: 19.8%;
    z-index: -4;
  }
}
.mv__ramen-right02 {
  position: absolute;
  bottom: 42%;
  right: 14%;
  width: 18.8%;
  z-index: -6;
}
@media screen and (max-width: 700px) {
  .mv__ramen-right02 {
    position: absolute;
    bottom: 86%;
    right: 43%;
    width: 24.8%;
    z-index: -6;
  }
}
.mv__ramen-right03 {
  position: absolute;
  bottom: 47%;
  right: -1%;
  width: 22.8%;
  z-index: -3;
}
@media screen and (max-width: 700px) {
  .mv__ramen-right03 {
    position: absolute;
    bottom: 87%;
    right: 24%;
    width: 29.8%;
    z-index: -3;
  }
}
.mv__ramen-left01 {
  position: absolute;
  bottom: 39.6%;
  left: 31%;
  width: 14.8%;
  z-index: -2;
}
@media screen and (max-width: 700px) {
  .mv__ramen-left01 {
    position: absolute;
    bottom: 41%;
    left: 56%;
    width: 24.8%;
    z-index: -2;
  }
}
.mv__ramen-left02 {
  position: absolute;
  bottom: 42%;
  left: 17%;
  width: 18.8%;
  z-index: -4;
}
@media screen and (max-width: 700px) {
  .mv__ramen-left02 {
    position: absolute;
    bottom: 42%;
    left: 26%;
    width: 32.8%;
    z-index: -4;
  }
}
.mv__ramen-left03 {
  position: absolute;
  bottom: 48%;
  left: 2%;
  width: 22.8%;
  z-index: -1;
}
@media screen and (max-width: 700px) {
  .mv__ramen-left03 {
    position: absolute;
    bottom: 43%;
    left: -5%;
    width: 44.8%;
    z-index: -2;
  }
}
.mv__img01 {
  position: absolute;
  bottom: 56%;
  left: 27%;
  width: 6%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .mv__img01 {
    position: absolute;
    bottom: 73%;
    left: 4%;
    width: 17%;
    z-index: 1;
  }
}
.mv__img02 {
  position: absolute;
  bottom: 31%;
  right: -5%;
  width: 12%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .mv__img02 {
    position: absolute;
    bottom: 42%;
    right: -7%;
    width: 29%;
    z-index: 1;
  }
}
.mv__img03 {
  position: absolute;
  top: 5%;
  right: 15%;
  width: 10%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .mv__img03 {
    position: absolute;
    top: 35%;
    right: 1%;
    width: 19%;
    z-index: 1;
  }
}
.mv__img04 {
  position: absolute;
  bottom: 43%;
  left: -1%;
  width: 6%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .mv__img04 {
    position: absolute;
    bottom: 41%;
    left: -4%;
    width: 16%;
    z-index: 1;
  }
}
.mv__img05 {
  position: absolute;
  top: 13%;
  left: 10%;
  width: 13%;
  z-index: -2;
}
.mv__img06 {
  position: absolute;
  top: 5%;
  left: 20%;
  width: 10%;
  z-index: -2;
}
@media screen and (max-width: 700px) {
  .mv__img06 {
    position: absolute;
    top: 5%;
    left: 3%;
    width: 21%;
    z-index: -2;
  }
}
.mv__view-more {
  position: absolute;
  width: 10%;
  bottom: 7%;
  right: 5%;
  z-index: 2;
}
@media screen and (max-width: 700px) {
  .mv__view-more {
    position: absolute;
    width: 15%;
    bottom: 4%;
    right: 7%;
    z-index: 2;
  }
}
.mv__view-more-out {
  position: absolute;
  width: 135%;
  bottom: -18%;
  right: -17%;
  z-index: 2;
  animation: rotate-circle 10s linear infinite;
}
@keyframes rotate-circle {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.mv__character {
  position: absolute;
  top: 22%;
  right: 6%;
  width: 11%;
  z-index: -5;
}
@media screen and (max-width: 700px) {
  .mv__character {
    position: absolute;
    top: 11.4%;
    right: 3%;
    width: 23%;
    z-index: -5;
  }
}
.mv__character-balloon {
  position: absolute;
  top: 7%;
  right: 5%;
  width: 14%;
  z-index: -5;
}
@media screen and (max-width: 700px) {
  .mv__character-balloon {
    position: absolute;
    top: -1%;
    right: -10%;
    width: 40%;
    z-index: 1;
  }
}

.gradation-bg01 {
  background: rgb(75, 193, 226);
  background: -moz-linear-gradient(180deg, rgba(75, 193, 226, 0) 0%, rgb(75, 193, 226) 20%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 80%, rgba(242, 209, 146, 0) 100%);
  background: -webkit-linear-gradient(180deg, rgba(75, 193, 226, 0) 0%, rgb(75, 193, 226) 20%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 80%, rgba(242, 209, 146, 0) 100%);
  background: linear-gradient(180deg, rgba(75, 193, 226, 0) 0%, rgb(75, 193, 226) 20%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 80%, rgba(242, 209, 146, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4bc1e2",endColorstr="#f2d192",GradientType=1);
  background-position: top;
  width: 100%;
  height: auto;
  position: relative;
  z-index: -1;
}

.gradation-bg02 {
  background: rgb(75, 193, 226);
  background: -moz-linear-gradient(180deg, rgba(75, 193, 226, 0) 10%, rgb(75, 193, 226) 10%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 80%, rgba(242, 209, 146, 0) 100%);
  background: -webkit-linear-gradient(180deg, rgba(75, 193, 226, 0) 0%, rgb(75, 193, 226) 20%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 80%, rgba(242, 209, 146, 0) 100%);
  background: linear-gradient(180deg, rgba(75, 193, 226, 0) 0%, rgb(75, 193, 226) 3%, rgb(67, 174, 241) 50%, rgb(0, 193, 171) 100%, rgba(242, 209, 146, 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#4bc1e2",endColorstr="#f2d192",GradientType=1);
  background-position: top;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 0;
  padding-bottom: 22rem;
}
@media screen and (max-width: 700px) {
  .gradation-bg02 {
    padding-bottom: 11.8rem;
  }
}

.founding {
  position: relative;
  margin-bottom: 12rem;
  z-index: 1;
}
.founding__wrap {
  position: relative;
}
.founding__wrap02 {
  position: relative;
}
.founding__wrap03 {
  position: relative;
}
.founding__wrap04 {
  position: relative;
}
.founding__wrap05 {
  position: relative;
}
.founding__wrap06 {
  position: relative;
}
.founding__text-group02 {
  position: relative;
  z-index: 2;
}
.founding__img01 {
  margin: 0 auto;
  text-align: center;
  width: 75%;
  margin-bottom: 12rem;
  z-index: -1;
}
@media screen and (max-width: 1400px) {
  .founding__img01 {
    width: 55%;
  }
}
@media screen and (max-width: 700px) {
  .founding__img01 {
    width: 70%;
    top: 16%;
    left: -20%;
    z-index: -1;
    margin-bottom: 6rem;
  }
}
.founding__img02 {
  position: absolute;
  width: 31.5%;
  top: 40%;
  right: -4.3%;
  height: 100%;
}
@media screen and (max-width: 700px) {
  .founding__img02 {
    position: absolute;
    width: 49.1%;
    top: 88%;
    right: -20.3%;
    height: 12rem;
  }
}
.founding__heading {
  width: 23%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 700px) {
  .founding__heading {
    width: 27.3%;
    margin: 0 auto;
    text-align: center;
  }
}
.founding__text01 {
  text-align: center;
  font-size: 2.4rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  margin-top: 10rem;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
}
@media screen and (max-width: 700px) {
  .founding__text01 {
    font-size: 1.4rem;
    margin-top: 2.5rem;
  }
}
.founding__text02 {
  text-align: center;
  font-size: 4.2rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
}
@media screen and (max-width: 700px) {
  .founding__text02 {
    font-size: 2.1rem;
  }
}
.founding__number {
  font-size: 7.2rem;
  font-family: "din-2014", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  color: #FFF302;
  line-height: 1;
}
@media screen and (max-width: 700px) {
  .founding__number {
    font-size: 3.5rem;
  }
}
.founding__text03 {
  text-align: center;
  font-size: 2.4rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  margin-top: 35%;
  text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
}
@media screen and (max-width: 1200px) {
  .founding__text03 {
    margin-top: 30%;
  }
}
@media screen and (max-width: 700px) {
  .founding__text03 {
    font-size: 1.4rem;
    margin-top: 55%;
    letter-spacing: 0.1rem;
  }
}
.founding__text03 span {
  font-size: 3.2rem;
  font-family: "din-2014", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
}
@media screen and (max-width: 700px) {
  .founding__text03 span {
    font-size: 1.8rem;
  }
}
.founding__text04 {
  text-align: center;
  font-size: 4.2rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
  line-height: 1.2;
  margin-bottom: 10rem;
}
@media screen and (max-width: 700px) {
  .founding__text04 {
    font-size: 2.1rem;
    white-space: nowrap;
    margin-bottom: 19rem;
    letter-spacing: 0.1rem;
  }
}
.founding__text04 span {
  color: #FFF200;
  font-size: 6rem;
}
@media screen and (max-width: 700px) {
  .founding__text04 span {
    font-size: 2.7rem;
  }
}
.founding__photo01 {
  width: 41rem;
  top: 24%;
  left: 2.8%;
  position: absolute;
  z-index: -1;
  height: 30rem;
}
@media screen and (max-width: 1500px) {
  .founding__photo01 {
    left: -4.2%;
  }
}
@media screen and (max-width: 1400px) {
  .founding__photo01 {
    left: -5%;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo01 {
    top: 33rem;
    width: 40.8%;
    left: -3%;
    height: 13rem;
  }
}
.founding__photo02 {
  width: 42rem;
  top: 1450%;
  right: 32%;
  position: absolute;
  height: 30rem;
}
@media screen and (max-width: 1250px) {
  .founding__photo02 {
    top: 90rem;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo02 {
    width: 37%;
    top: 40rem;
    right: 42%;
    position: absolute;
    height: 10rem;
  }
}
.founding__photo03 {
  width: 32rem;
  top: 877%;
  right: 2.8%;
  position: absolute;
  height: 32rem;
}
@media screen and (max-width: 1250px) {
  .founding__photo03 {
    top: 50rem;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo03 {
    top: 42rem;
    width: 25%;
    right: -2%;
    height: 9rem;
  }
}
.founding__photo08 {
  width: 30rem;
  top: 800%;
  left: 15.8%;
  position: absolute;
  height: 30rem;
  z-index: 1;
}
@media screen and (max-width: 1250px) {
  .founding__photo08 {
    left: 2.8%;
    top: 80rem;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo08 {
    width: 26%;
    left: -2.2%;
    top: 39rem;
    position: absolute;
    height: 10rem;
    z-index: 1;
  }
}
.founding__photo04 {
  width: 43rem;
  top: 480%;
  left: 2.8%;
  position: absolute;
  height: 28rem;
}
@media screen and (max-width: 1250px) {
  .founding__photo04 {
    left: -0.2%;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo04 {
    width: 37%;
    top: 86rem;
    left: 7.8%;
    position: absolute;
    height: 9rem;
  }
}
.founding__photo05 {
  width: 41rem;
  top: 690%;
  left: 6.8%;
  height: 29rem;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 1250px) {
  .founding__photo05 {
    top: 624%;
  }
}
@media screen and (max-width: 1430px) {
  .founding__photo05 {
    top: 630%;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo05 {
    width: 53%;
    top: 211rem;
    left: -9.2%;
    height: 14rem;
    position: absolute;
    z-index: -1;
  }
}
.founding__photo06 {
  width: 24rem;
  height: 30rem;
  top: 786%;
  left: 72%;
  position: absolute;
  z-index: -1;
}
@media screen and (max-width: 1480px) {
  .founding__photo06 {
    top: 735%;
  }
}
@media screen and (max-width: 1080px) {
  .founding__photo06 {
    top: 709%;
    left: 74%;
  }
}
@media screen and (max-width: 700px) {
  .founding__photo06 {
    width: 32%;
    top: 236rem;
    left: 61.8%;
    position: absolute;
    z-index: -1;
    height: 14rem;
  }
}
.founding__photo07 {
  width: 47rem;
  height: 30rem;
  top: 700%;
  right: 2.8%;
  position: absolute;
  z-index: -1;
  height: 33rem;
}
@media screen and (max-width: 700px) {
  .founding__photo07 {
    width: 58%;
    height: 30rem;
    top: 117rem;
    right: -13.2%;
    position: absolute;
    z-index: -1;
    height: 15rem;
  }
}
.founding__big-img {
  margin-bottom: 0;
  position: relative;
  top: 240rem;
  height: 59rem;
}
@media screen and (max-width: 1250px) {
  .founding__big-img {
    top: 193rem;
  }
}
@media screen and (max-width: 700px) {
  .founding__big-img {
    top: 73rem;
    height: 17rem;
    width: 86%;
    margin: 0 auto;
  }
}
.founding__text05 {
  text-align: center;
  font-size: 3.2rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
  line-height: 1.2;
  margin-bottom: 3rem;
}
@media screen and (max-width: 700px) {
  .founding__text05 {
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.3rem;
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1.5rem;
  }
}
.founding__text05 span {
  color: #E60012;
}
.founding__text06 {
  text-align: center;
  font-size: 3.8rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  line-height: 1;
  padding: 1.5rem 2rem;
  margin-bottom: 3rem;
  background: #000000;
  color: #fff;
  width: fit-content;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 5rem;
}
@media screen and (max-width: 700px) {
  .founding__text06 {
    font-size: 1.9rem;
    margin-bottom: 1rem;
    padding: 1rem 1rem;
  }
}
.founding__text07 {
  text-align: center;
  font-size: 2.4rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
  letter-spacing: 0.2rem;
  line-height: 2;
  margin-bottom: 5rem;
}
@media screen and (max-width: 700px) {
  .founding__text07 {
    font-size: 1.4rem;
    margin-bottom: 2.5rem;
  }
}
.founding__text08 {
  text-align: center;
  font-size: 4.2rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.3);
  color: #fff;
  letter-spacing: 0.2rem;
  line-height: 1.6;
  margin-bottom: 13rem;
}
@media screen and (max-width: 700px) {
  .founding__text08 {
    font-size: 2.1rem;
    margin-bottom: 24.1rem;
  }
}
.founding__color {
  color: #FFF200;
}
.founding__eat-and-learn {
  width: 100%;
  text-align: center;
  margin: 0 auto;
  position: relative;
  opacity: 0;
  transform: scale(0.3) translateY(200px);
  transition: none;
}
.founding__eat-and-learn.active {
  animation: flyIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@media screen and (max-width: 700px) {
  .founding__eat-and-learn {
    width: 100%;
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(200px);
  }
  50% {
    opacity: 1;
    transform: scale(1.2) translateY(-15px);
  }
  70% {
    transform: scale(0.97) translateY(5px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(100px);
  }
  60% {
    opacity: 1;
    transform: scale(1.2) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.founding__text09 {
  text-align: center;
  font-size: 3.6rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  letter-spacing: 0.2rem;
  line-height: 1.4;
  margin-bottom: 1rem;
  color: #fff;
}
@media screen and (max-width: 700px) {
  .founding__text09 {
    font-size: 1.6rem;
  }
}
.founding__opening-of-school {
  width: 80%;
  text-align: center;
  margin: 0 auto;
  opacity: 0;
  transform: scale(0.3) translateY(200px);
  transition: none;
}
.founding__opening-of-school.active {
  animation: flyIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@media screen and (max-width: 700px) {
  .founding__opening-of-school {
    width: 95%;
    text-align: center;
    margin: 0 auto;
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(200px);
  }
  50% {
    opacity: 1;
    transform: scale(1.2) translateY(-15px);
  }
  70% {
    transform: scale(0.97) translateY(5px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(100px);
  }
  60% {
    opacity: 1;
    transform: scale(1.2) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.president {
  background-image: url(../images/top/president-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 100%;
  height: auto;
  position: relative;
  padding: 3rem 0 9rem;
  margin: 6rem 0;
}
@media screen and (max-width: 700px) {
  .president {
    background-image: url(../images/top/president-bg-sp.png);
    background-repeat: no-repeat;
    background-size: 104% 100%;
    background-position: top;
    margin: 0 0 0;
    padding: 3rem 0 5rem;
  }
}
.president__img01 {
  position: absolute;
  top: -9%;
  right: 2%;
  z-index: -1;
  width: 35%;
}
@media screen and (max-width: 700px) {
  .president__img01 {
    position: absolute;
    top: -6.8%;
    right: 2%;
    z-index: -1;
    width: 95%;
  }
}
.president__greet {
  width: 19%;
  position: absolute;
  top: 0;
  left: 8%;
}
@media screen and (max-width: 700px) {
  .president__greet {
    width: 23%;
    position: absolute;
    top: 0;
    left: 9%;
  }
}
.president__heading {
  font-size: 4.8rem;
  color: #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.3rem;
  margin-left: auto;
  padding-right: 8rem;
  width: fit-content;
  padding-top: 5rem;
  margin-bottom: -3rem;
}
@media screen and (max-width: 700px) {
  .president__heading {
    font-size: 1.8rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-right: 2.6rem;
    position: absolute;
    margin-right: auto;
    right: 0;
    z-index: 2;
    padding-top: 0;
    letter-spacing: 0.2rem;
  }
}
.president__heading span {
  background-color: #fff;
  color: #550007;
  padding: 1.2rem;
  margin: 0 1rem;
}
@media screen and (max-width: 700px) {
  .president__heading span {
    background-color: #fff;
    color: #550007;
    padding: 0.5rem;
    margin: 0rem 0rem 0.7rem;
    letter-spacing: 0.1rem;
  }
  .president__heading span:nth-of-type(2) {
    margin: 0.7rem 0 0.7rem;
  }
}
.president__about {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  flex-direction: row-reverse;
  align-items: flex-end;
}
@media screen and (max-width: 700px) {
  .president__about {
    display: flex;
    justify-content: center;
    margin: 0 auto;
    flex-direction: column-reverse;
    align-items: flex-end;
    width: 95%;
    margin-top: 1rem;
  }
}
.president__text {
  color: #fff;
  font-size: 1.6rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.1rem;
  position: relative;
  left: -5%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .president__text {
    color: #fff;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.1rem;
    width: 85.7%;
    left: 0;
    margin: 0 auto;
  }
}
.president__text p {
  margin-bottom: 3rem;
}
@media screen and (max-width: 700px) {
  .president__text p {
    margin-bottom: 2rem;
  }
}
.president__people {
  width: 45.8%;
  position: relative;
}
@media screen and (max-width: 700px) {
  .president__people {
    width: 77%;
    position: relative;
    margin: 0 auto;
    margin-bottom: 2rem;
    left: -5%;
  }
  .president__people::before {
    content: "";
    position: absolute;
    background-color: #fff;
    bottom: 0;
    left: 0;
    width: 113%;
    height: 0.1rem;
  }
}
.president__baton {
  background-image: url(../images/top/president-baton-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  width: 83%;
  height: auto;
  margin: 0 auto;
  position: relative;
  padding: 5rem 3rem 4rem 3rem;
}
@supports (background-image: url("../images/top/president-baton-bg.webp")) {
  .president__baton {
    background-image: url("../images/top/president-baton-bg.webp");
  }
}
@media screen and (max-width: 700px) {
  .president__baton {
    background-image: url(../images/top/president-baton-bg-sp.png);
    width: 86%;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: bottom;
    padding: 1.5rem 1.5rem 1.5rem 1.5rem;
    margin-bottom: 0rem;
  }
  @supports (background-image: url("../images/top/president-baton-bg-sp.webp")) {
    .president__baton {
      background-image: url("../images/top/president-baton-bg-sp.webp");
    }
  }
}
.president__baton-heading {
  color: #552700;
  font-size: 3.6rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  text-shadow: 2px 0px 7px rgba(85, 39, 0, 0.7);
  letter-spacing: 0.2rem;
  padding-bottom: 4rem;
  line-height: 1;
}
@media screen and (max-width: 700px) {
  .president__baton-heading {
    font-size: 1.7rem;
    line-height: 1.4;
    padding-bottom: 1rem;
    text-align: center;
  }
}
.president__baton-add-heading {
  width: 44rem;
  padding: 1rem 0;
  border-radius: 3rem;
  font-size: 1.6rem;
  background: #552700;
  color: #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
  display: inline-block;
  text-align: center;
}
@media screen and (max-width: 700px) {
  .president__baton-add-heading {
    font-size: 1.3rem;
    line-height: 1.4;
    margin-bottom: -1rem;
    width: 100%;
    margin-bottom: 1rem;
  }
}
.president__baton-text {
  font-size: 1.8rem;
  color: #552700;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 700px) {
  .president__baton-text {
    font-size: 1.3rem;
    line-height: 1.4;
    margin-bottom: 1rem;
    text-align: center;
  }
}
.president__baton-text--02 {
  font-size: 2rem;
}
@media screen and (max-width: 700px) {
  .president__baton-text--02 {
    font-size: 1.3rem;
    text-align: center;
  }
}
.president__baton-text-sp-br {
  margin-bottom: 1.5rem;
}
.president__baton-bg {
  background: #552700;
  padding: 2rem 0 2rem 2rem;
  /* margin-right: 5rem; */
  border-radius: 1.2rem;
  position: relative;
}
@media screen and (max-width: 700px) {
  .president__baton-bg {
    margin-right: 0;
    border-radius: 0.5rem;
    padding: 1.5rem;
  }
}
.president__baton-bg p {
  color: #fff;
  font-size: 1.6rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  width: 40rem;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 700px) {
  .president__baton-bg p {
    width: 100%;
    font-size: 1.2rem;
  }
}
.president__baton-img {
  position: absolute;
  top: -73%;
  right: 2%;
  width: 42.3%;
}
@media screen and (max-width: 700px) {
  .president__baton-img {
    position: static;
    width: 100%;
  }
}

.opening {
  position: relative;
  padding: 0;
}
.opening__frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
@keyframes swingLoop {
  0% {
    transform: rotate(0deg);
  }
  15% {
    transform: rotate(10deg);
  }
  30% {
    transform: rotate(-8deg);
  }
  45% {
    transform: rotate(6deg);
  }
  60% {
    transform: rotate(-4deg);
  }
  75% {
    transform: rotate(2deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.opening .animate__swingLoop {
  animation: swingLoop 1.8s ease-in-out infinite;
}
.opening__img01 {
  width: 130rem;
  margin: 0 auto;
}
@media screen and (max-width: 1300px) {
  .opening__img01 {
    width: 100%;
  }
}
@media screen and (max-width: 700px) {
  .opening__img01 {
    width: 100%;
    margin: 0 auto;
    position: relative;
    left: 5%;
  }
}
.opening__zoom {
  opacity: 0;
  transform: scale(0.3) translateY(200px);
  transition: none;
}
.opening__zoom.active {
  animation: flyIn 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.3) translateY(200px);
  }
  50% {
    opacity: 1;
    transform: scale(1.2) translateY(-15px);
  }
  70% {
    transform: scale(0.97) translateY(5px);
  }
  100% {
    transform: scale(1) translateY(0);
  }
}
@keyframes flyIn {
  0% {
    opacity: 0;
    transform: scale(0.5) translateY(100px);
  }
  60% {
    opacity: 1;
    transform: scale(1.2) translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.opening__img02 {
  position: absolute;
  bottom: 0%;
  left: 2%;
  width: 35%;
}
@media screen and (max-width: 700px) {
  .opening__img02 {
    bottom: -20%;
    left: -10%;
    width: 43%;
  }
}
.opening__img02 img {
  display: block;
  transform-origin: top center;
}
.opening__img03 {
  position: absolute;
  bottom: 0%;
  right: 2%;
  width: 35%;
}
@media screen and (max-width: 700px) {
  .opening__img03 {
    bottom: -17%;
    right: 2%;
    width: 40%;
  }
}
.opening__img03 img {
  display: block;
  transform-origin: top center;
}
.opening__text {
  text-align: center;
  font-size: 2.4rem;
  color: #000;
  text-shadow: 2px 1px 4px rgba(255, 255, 255, 0.7);
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.3rem;
  line-height: 1.6;
  margin-top: -5rem;
}
@media screen and (max-width: 700px) {
  .opening__text {
    font-size: 1.6rem;
    margin-top: 0;
    line-height: 1.8;
    margin-top: -2rem;
  }
}
.opening__blue {
  color: #0068B7;
  font-size: 2.8rem;
  background-color: #fff;
  border: solid 0.3rem #0068B7;
  padding: 0.3rem;
  margin: 0 0.5rem;
}
@media screen and (max-width: 700px) {
  .opening__blue {
    font-size: 1.6rem;
  }
}
.opening__red {
  color: #E60012;
  font-size: 2.8rem;
  background-color: #fff;
  border: solid 0.3rem #E60012;
  padding: 0.3rem;
  margin: 0 0.5rem;
}
@media screen and (max-width: 700px) {
  .opening__red {
    font-size: 1.6rem;
    margin: 0.5rem 0.5rem;
  }
}

.calligraphy {
  background-color: #030050;
  padding: 5rem 7rem 2rem;
  box-shadow: 0px 3px 5px 0px rgb(0, 0, 0);
  margin: 10rem 0 11rem;
  position: relative;
}
@media screen and (max-width: 700px) {
  .calligraphy {
    margin: 5rem 0 4.5rem;
    padding: 2rem 1.8rem 1rem;
  }
}
.calligraphy__heading {
  margin-bottom: 3rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__heading {
    margin-bottom: 0;
  }
}
.calligraphy__inner {
  background-image: url(../images/top/calligraphy-sub-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  padding: 0rem 0 9rem 0rem;
}
@supports (background-image: url("../images/top/calligraphy-sub-bg.webp")) {
  .calligraphy__inner {
    background-image: url("../images/top/calligraphy-sub-bg.webp");
  }
}
@media screen and (max-width: 700px) {
  .calligraphy__inner {
    background-image: url(../images/top/calligraphy-sub-bg-sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    padding: 0 2.5rem 5rem;
  }
  @supports (background-image: url("../images/top/calligraphy-sub-bg-sp.webp")) {
    .calligraphy__inner {
      background-image: url("../images/top/calligraphy-sub-bg-sp.webp");
    }
  }
}
.calligraphy__sub-heading {
  width: 58%;
  padding-top: 14rem;
  text-align: center;
  margin: 0 auto;
  position: relative;
  margin-bottom: 3rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__sub-heading {
    width: 100%;
    padding-top: 6rem;
    margin-bottom: 1.3rem;
  }
}
.calligraphy__img {
  position: absolute;
  top: 32%;
  left: -36%;
  width: 38%;
}
@media screen and (max-width: 700px) {
  .calligraphy__img {
    position: absolute;
    top: 1%;
    left: -14%;
    width: 40%;
  }
}
.calligraphy__text01 {
  text-align: center;
  font-size: 3.2rem;
  color: #000;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.1rem;
  line-height: 1.4;
  margin-bottom: 4rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text01 {
    font-size: 1.8rem;
    margin-bottom: 2.4rem;
    position: relative;
  }
}
.calligraphy__text01 span {
  color: #E60012;
}
.calligraphy__sub-text {
  text-align: center;
  margin: 0 auto 3rem;
  width: 48%;
}
@media screen and (max-width: 700px) {
  .calligraphy__sub-text {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.calligraphy__text02 {
  text-align: center;
  color: #000;
  font-size: 1.6rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  letter-spacing: 0.1rem;
  line-height: 1.8;
  margin-bottom: 4rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text02 {
    font-size: 1.2rem;
    text-align: left;
    width: 100%;
    margin: 0 auto;
    line-height: 1.6;
    padding-bottom: 1.5rem;
  }
}
.calligraphy__text03 {
  text-align: center;
  font-size: 2.4rem;
  color: #000;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.1rem;
  line-height: 1.4;
  margin-bottom: 3rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text03 {
    font-size: 1.6rem;
    width: 100%;
    margin-bottom: 1.5rem;
  }
}
.calligraphy__text03 span {
  color: #E60012;
}
.calligraphy__left-right {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-bottom: 7rem;
  position: relative;
}
@media screen and (max-width: 700px) {
  .calligraphy__left-right {
    flex-direction: column;
    margin-bottom: 2.5rem;
  }
}
.calligraphy__left {
  width: 34%;
}
@media screen and (max-width: 700px) {
  .calligraphy__left {
    width: 100%;
  }
}
.calligraphy__right {
  width: 34%;
}
@media screen and (max-width: 700px) {
  .calligraphy__right {
    width: 100%;
  }
}
.calligraphy__left-inner {
  border-top: solid 1px #000;
  padding-top: 0.5rem;
  border-bottom: solid 1px #000;
  padding-bottom: 0.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__left-inner {
    margin-bottom: 1rem;
  }
}
.calligraphy__right-inner {
  border-top: solid 1px #000;
  padding-top: 0.5rem;
  border-bottom: solid 1px #000;
  padding-bottom: 0.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__right-inner {
    margin-bottom: 1rem;
  }
}
.calligraphy__common-item {
  background: #E60012;
  color: #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  padding: 1rem 0;
  text-align: center;
  font-size: 2rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__common-item {
    font-size: 1.4rem;
    line-height: 1;
  }
}
.calligraphy__common-item--green {
  background: #A79824;
}
.calligraphy__common-img {
  width: 95%;
}
@media screen and (max-width: 700px) {
  .calligraphy__common-img {
    width: 88%;
    margin: 0 auto;
    text-align: center;
  }
}
.calligraphy__brush-img {
  position: absolute;
  top: 65%;
  right: 66%;
  width: 100%;
}
@media screen and (max-width: 700px) {
  .calligraphy__brush-img {
    width: 95%;
    margin: 0 auto;
    right: 62%;
    top: 10%;
  }
}
.calligraphy__sub-text02 {
  text-align: center;
  margin: 0 auto;
  width: 34%;
}
@media screen and (max-width: 700px) {
  .calligraphy__sub-text02 {
    width: 100%;
  }
}
.calligraphy__img02 {
  text-align: center;
  margin: 0 auto;
  width: 75%;
  position: relative;
  margin-bottom: 2%;
}
@media screen and (max-width: 700px) {
  .calligraphy__img02 {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    position: relative;
    margin: 0 calc(75% - 50vw);
    width: 70vw;
    margin-bottom: 1.8rem;
  }
}
.calligraphy__text04 {
  display: flex;
  justify-content: center;
  font-size: 2.4rem;
  color: #000000;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.2rem;
  line-height: 2.4;
  position: relative;
  z-index: 1;
  margin-bottom: 5rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text04 {
    font-size: 1.4rem;
    margin-bottom: 10rem;
  }
}
.calligraphy__text04 span {
  color: #fff;
  background-color: #000;
  padding: 0.5rem;
  margin: 0 0.5rem;
  line-height: 1;
}
@media screen and (max-width: 700px) {
  .calligraphy__text04 span {
    color: #fff;
    background-color: #000;
    padding: 0.2rem;
    margin: 0px 0.2rem;
    line-height: 1;
  }
}
.calligraphy__text05-flex {
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 46%;
  align-items: center;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 700px) {
  .calligraphy__text05-flex {
    width: 100%;
    padding-bottom: 0rem;
  }
}
.calligraphy__text05 {
  width: 43rem;
  font-size: 1.6rem;
  color: #000000;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 700;
  font-style: normal;
  border-bottom: solid 1px #898989;
  padding-bottom: 1.5rem;
  padding-left: 2rem;
  letter-spacing: 0.1rem;
}
.calligraphy__text05:first-child {
  border-top: solid 1px #898989;
  padding-top: 1.5rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text05:first-child {
    padding-top: 0.7rem;
  }
}
@media screen and (max-width: 700px) {
  .calligraphy__text05 {
    font-size: 1.1rem;
    width: 100%;
    padding-bottom: 0.7rem;
    padding-left: 0;
  }
}
.calligraphy__text05--01 {
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 700px) {
  .calligraphy__text05--01 {
    margin-bottom: 0.7rem;
  }
}
.calligraphy__text05--02 {
  width: 28rem;
  margin-right: auto;
}
@media screen and (max-width: 700px) {
  .calligraphy__text05--02 {
    width: 100%;
  }
}
.calligraphy__text05 p {
  padding-bottom: 0rem;
}
.calligraphy__text05 p:last-child {
  padding-bottom: 0;
}
.calligraphy__app-img {
  position: absolute;
  left: -55%;
  top: 0;
  width: 47%;
}
@media screen and (max-width: 700px) {
  .calligraphy__app-img {
    position: absolute;
    left: -1%;
    top: -68%;
    width: 34%;
  }
}
.calligraphy__text06 {
  position: absolute;
  width: 79%;
  top: 35%;
  right: -50%;
}
@media screen and (max-width: 700px) {
  .calligraphy__text06 {
    position: absolute;
    width: 58%;
    top: -64%;
    right: 0%;
  }
}
.calligraphy__text06--01 {
  margin-bottom: 1.6rem;
}
.calligraphy__text06--02 {
  width: 28rem;
  margin-right: auto;
}
.calligraphy__text06 p {
  padding-bottom: 0rem;
}
.calligraphy__text06 p:last-child {
  padding-bottom: 0;
}
.calligraphy__ink {
  position: absolute;
  top: 26%;
  left: 80%;
  width: 38.9%;
  z-index: 0;
}
@media screen and (max-width: 700px) {
  .calligraphy__ink {
    position: absolute;
    top: 35.5%;
    left: 73%;
    width: 39.9%;
    z-index: 0;
    transform: rotate(25deg);
  }
}
.calligraphy__add-white {
  color: #fff;
  font-size: 1.4rem;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: right;
}
@media screen and (max-width: 700px) {
  .calligraphy__add-white {
    text-align: left;
    font-size: 1rem;
    margin-top: -2rem;
  }
}

.ramen {
  padding-bottom: 16rem;
}
@media screen and (max-width: 700px) {
  .ramen {
    padding-bottom: 4.5rem;
  }
}
.ramen__inner img {
  width: 100%;
  height: 40rem;
  object-fit: cover;
  object-position: bottom;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 700px) {
  .ramen__inner img {
    height: 13.3rem;
  }
}

.simpleParallax.simple-parallax-initialized {
  width: 100%;
  box-shadow: inset 0 13px 10px 0 rgba(0, 0, 0, 0.5);
}

.art {
  background-image: url(../images/top/art-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  position: relative;
  margin-bottom: 8rem;
  padding-bottom: 51rem;
  z-index: 0;
}
@media screen and (max-width: 700px) {
  .art {
    background-image: url(../images/top/art-bg-sp.png);
    background-repeat: no-repeat;
    background-size: 104% 100%;
    background-position: top;
    padding-bottom: 44rem;
    margin-bottom: 2.5rem;
  }
}
.art__heading {
  position: relative;
  margin: 0 auto;
  text-align: center;
  z-index: -1;
  padding-top: 8rem;
  width: 87%;
}
@media screen and (max-width: 700px) {
  .art__heading {
    padding-top: 2.5rem;
    width: 80%;
  }
}
.art__sub-heading {
  text-align: center;
  width: 65.4%;
  margin: 0 auto;
  padding: 3.5rem 0;
}
@media screen and (max-width: 700px) {
  .art__sub-heading {
    padding: 1.5rem 0;
    width: 55%;
    margin-left: 3.1rem;
  }
}
.art__img01 {
  width: 86.4%;
  position: relative;
  z-index: -1;
  margin: 0 auto;
}
@media screen and (max-width: 700px) {
  .art__img01 {
    width: 87%;
    position: relative;
    z-index: -1;
    margin: 0 auto;
  }
}
.art__img02 {
  width: 26.6%;
  position: absolute;
  bottom: 19%;
  left: -11%;
}
@media screen and (max-width: 700px) {
  .art__img02 {
    width: 26.6%;
    position: absolute;
    bottom: 32%;
    left: -10%;
  }
}
.art__img03 {
  width: 19.3%;
  position: absolute;
  bottom: -35%;
  right: -3%;
}
@media screen and (max-width: 700px) {
  .art__img03 {
    width: 20.3%;
    position: absolute;
    bottom: -27%;
    right: -1%;
  }
}
.art__img04 {
  width: 17.9%;
  position: absolute;
  top: -42%;
  right: -2%;
  z-index: -1;
  opacity: 1;
  transition: opacity 0.6s ease-out;
}
@media screen and (max-width: 700px) {
  .art__img04 {
    width: 37.9%;
    position: absolute;
    top: -38%;
    right: 0%;
    z-index: -1;
  }
}
.art__character-flex {
  display: flex;
  margin-top: 0;
}
.art__character-catch {
  position: absolute;
  bottom: -16rem;
  width: 37%;
  left: 6%;
}
@media screen and (max-width: 700px) {
  .art__character-catch {
    position: absolute;
    bottom: -5rem;
    width: 42%;
    left: 0%;
  }
}
.art__character-img {
  position: absolute;
  width: 30.7%;
  right: 10%;
  bottom: -38%;
}
@media screen and (max-width: 700px) {
  .art__character-img {
    width: 46.9%;
    position: absolute;
    top: 91%;
    right: 7%;
    z-index: 0;
  }
}
.art__add-text-box {
  width: 84%;
  margin: 0 auto;
  position: absolute;
  bottom: 7.5%;
  left: 8%;
}
@media screen and (max-width: 700px) {
  .art__add-text-box {
    font-size: 1.4rem;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 2rem;
    bottom: 1.5%;
    left: 9%;
  }
}
.art__character-heading-h3 {
  font-size: 1.6rem;
  color: #fff;
  background: #550007;
  padding: 1.7rem 0;
  text-align: center;
  line-height: 1;
  border-radius: 1rem;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 700px) {
  .art__character-heading-h3 {
    font-size: 1.4rem;
    color: #fff;
    background: #550007;
    padding: 1.1rem 0;
    line-height: 1.2;
    border-radius: 0.5rem;
  }
}
.art__character-heading-text {
  font-size: 1.8rem;
  color: #550007;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  line-height: 1;
  padding: 2rem 0 3rem;
  letter-spacing: 0.3rem;
}
@media screen and (max-width: 700px) {
  .art__character-heading-text {
    font-size: 1.4rem;
    padding: 1.1rem 0;
    line-height: 1.4;
  }
}
.art__add-text-box-flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 700px) {
  .art__add-text-box-flex {
    flex-direction: column;
  }
}
.art__add-text-box-left {
  width: 47%;
}
@media screen and (max-width: 700px) {
  .art__add-text-box-left {
    width: 100%;
  }
}
.art__add-text-box-right {
  width: 47%;
}
@media screen and (max-width: 700px) {
  .art__add-text-box-right {
    width: 100%;
  }
}
.art__add-text-box-heading {
  font-size: 1.6rem;
  color: #fff;
  background: #550007;
  padding: 1.7rem 0;
  line-height: 1;
  text-align: center;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  border-radius: 1rem;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 700px) {
  .art__add-text-box-heading {
    border-radius: 0.5rem;
    font-size: 1.4rem;
    padding: 1.1rem 0;
  }
}
.art__add-text-box-text {
  font-size: 1.8rem;
  color: #550007;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  text-align: center;
  padding-top: 2rem;
  line-height: 1;
  letter-spacing: 0.3rem;
}
@media screen and (max-width: 700px) {
  .art__add-text-box-text {
    font-size: 1.4rem;
    text-align: center;
    padding-top: 1rem;
    padding-bottom: 2rem;
  }
}

.parallax03 {
  padding-bottom: 16rem;
}
@media screen and (max-width: 700px) {
  .parallax03 {
    padding-bottom: 10rem;
  }
}
.parallax03__inner img {
  width: 100%;
  height: 60rem;
  object-fit: cover;
  object-position: top;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 700px) {
  .parallax03__inner img {
    height: 16.4rem;
  }
}

.lottery {
  position: relative;
  background-image: url(../images/top/lottery-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top;
  width: 85%;
  height: auto;
  margin: 0 auto;
  position: relative;
  padding: 8.5rem 0 6rem;
  margin-bottom: 8rem;
}
@media screen and (max-width: 700px) {
  .lottery {
    position: relative;
    background-image: url(../images/top/lottery-bg-sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top;
    width: 84%;
    padding: 3.5rem 0 1.9rem;
    margin-bottom: 2rem;
    margin-top: -3rem;
  }
}
.lottery__wrap {
  background: #FFFFFF;
  padding: 3.5rem 4rem 4rem;
  margin: 0px 2rem;
  position: relative;
}
@media screen and (max-width: 700px) {
  .lottery__wrap {
    background: #FFFFFF;
    padding: 0.5rem 0.7rem 8.5rem;
    margin: 0.5rem 0.9rem;
  }
}
.lottery__heading {
  padding-bottom: 2rem;
}
@media screen and (max-width: 700px) {
  .lottery__heading {
    padding-bottom: 0;
  }
}
.lottery__text {
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  font-size: 2.1rem;
  line-height: 2.3;
  text-align: left;
}
@media screen and (max-width: 700px) {
  .lottery__text {
    font-size: 1.3rem;
    text-align: center;
    padding-top: 1rem;
  }
}
.lottery__text span {
  background: #E60012;
  padding: 0.7rem;
  color: #fff;
  line-height: 1;
  margin: 0 0.8rem;
}
@media screen and (max-width: 700px) {
  .lottery__text span {
    padding: 0.5rem;
    color: #fff;
    line-height: 1;
    margin: 0px 0.4rem;
  }
}
.lottery__img {
  position: absolute;
  top: -22%;
  right: -3%;
  width: 29.8%;
}
@media screen and (max-width: 700px) {
  .lottery__img {
    position: absolute;
    top: 71%;
    right: 0%;
    width: 94%;
  }
}

.dining-room {
  position: relative;
  background-image: url(../images/top/dining-room-bg.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center;
  width: 100%;
  height: auto;
  margin: 0 auto;
  position: relative;
  padding: 7rem 0 13rem;
  margin-bottom: 8rem;
  text-align: center;
  display: flex;
  justify-content: center;
  /* ハートビートアニメーション */
}
@supports (background-image: url("../images/top/dining-room-bg.webp")) {
  .dining-room {
    background-image: url("../images/top/dining-room-bg.webp");
  }
}
@media screen and (max-width: 700px) {
  .dining-room {
    padding-top: 2.5rem;
    background-image: url(../images/top/dining-room-bg-sp.png);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top center;
    padding: 2rem 0 3rem;
    margin-bottom: 2.5rem;
  }
  @supports (background-image: url("../images/top/dining-room-bg-sp.webp")) {
    .dining-room {
      background-image: url("../images/top/dining-room-bg-sp.webp");
    }
  }
}
.dining-room__heading {
  width: 83%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .dining-room__heading {
    width: 82.5%;
  }
}
.dining-room__balloon {
  position: absolute;
  top: -149%;
  right: -9%;
  width: 40%;
  opacity: 1;
}
@media screen and (max-width: 700px) {
  .dining-room__balloon {
    position: absolute;
    top: -220%;
    right: 12%;
    width: 75%;
  }
}
.dining-room__group {
  margin: 5rem auto;
  position: relative;
}
@media screen and (max-width: 700px) {
  .dining-room__group {
    margin: 1rem 0;
  }
}
.dining-room__text01 {
  background: #550007;
  color: #fff;
  width: fit-content;
  padding: 1.5rem 2.5rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.3rem;
  font-size: 3.2rem;
  margin: 0 auto 3rem;
  line-height: 1;
}
@media screen and (max-width: 700px) {
  .dining-room__text01 {
    font-size: 1.4rem;
    margin: 0 auto 1.5rem;
    padding: 0.9rem 1rem;
    letter-spacing: 0.1rem;
  }
}
.dining-room__img {
  width: 53%;
  margin: 0 auto 3rem;
}
@media screen and (max-width: 700px) {
  .dining-room__img {
    width: 80%;
    margin: 0 auto 2rem;
  }
}
.dining-room__text02 {
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  font-size: 1.6rem;
  color: #550007;
}
@media screen and (max-width: 700px) {
  .dining-room__text02 {
    font-size: 1.3rem;
    line-height: 1.3;
  }
}
.dining-room__food-img01 {
  position: absolute;
  width: 29%;
  bottom: 17%;
  right: -4%;
}
@media screen and (max-width: 700px) {
  .dining-room__food-img01 {
    position: absolute;
    width: 39%;
    bottom: 15%;
    right: -21%;
  }
}
.dining-room__food-img02 {
  position: absolute;
  width: 18%;
  bottom: 72%;
  left: 7%;
}
@media screen and (max-width: 700px) {
  .dining-room__food-img02 {
    position: absolute;
    width: 21%;
    bottom: 98%;
    left: 10%;
  }
}
.dining-room__food-img03 {
  position: absolute;
  width: 23%;
  bottom: 23%;
  left: -2%;
}
@media screen and (max-width: 700px) {
  .dining-room__food-img03 {
    position: absolute;
    width: 23%;
    bottom: 28%;
    left: -3%;
  }
}
.dining-room__coming-soon {
  width: 60%;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 700px) {
  .dining-room__coming-soon {
    width: 80%;
    padding-bottom: 12rem;
  }
}
.dining-room__coming-soon-character {
  position: absolute;
  width: 43%;
  right: -23%;
  bottom: 8%;
  opacity: 1;
  transform: translateY(50px);
  transition: opacity 0.5s, transform 0.5s ease-out;
  /* アニメーションが発動したときのスタイル */
}
@media screen and (max-width: 700px) {
  .dining-room__coming-soon-character {
    width: 46%;
    right: -9%;
    bottom: 10%;
  }
}
.dining-room__coming-soon-character.animate__heartBeat {
  animation: heartBeat 1s ease-in-out;
  opacity: 1;
  transform: translateY(0);
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.dining-room__vegan-ramen {
  position: absolute;
  width: 38%;
  left: -20%;
  bottom: 12%;
  opacity: 1;
  transform: translateY(50px);
  transition: opacity 0.5s, transform 0.5s ease-out;
}
@media screen and (max-width: 700px) {
  .dining-room__vegan-ramen {
    width: 63%;
    left: 4%;
    bottom: 9%;
  }
}
.dining-room__ramen-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 auto;
  gap: 4rem 4rem;
  margin-bottom: 5rem;
  width: 85%;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-list {
    align-items: center;
    flex-direction: column;
    gap: 2rem 2rem;
    margin-bottom: 2rem;
  }
}
.dining-room__ramen-item {
  width: 47.7%;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item {
    width: 85%;
  }
}
.dining-room__side-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4.6rem;
  padding: 0;
  margin: 0 auto;
  max-width: 85%;
  padding-bottom: 5rem;
}
@media screen and (max-width: 700px) {
  .dining-room__side-list {
    flex-direction: column;
    max-width: 60%;
    gap: 2rem;
    padding-bottom: 2rem;
  }
}
.dining-room__ramen-item02 {
  width: 29.9%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item02 {
    width: 100%;
  }
}
.dining-room__drink-desert-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4.6rem;
  padding: 0;
  margin: 0 auto;
  width: 84%;
  max-width: 85%;
  padding-bottom: 5rem;
}
@media screen and (max-width: 700px) {
  .dining-room__drink-desert-list {
    flex-direction: column;
    max-width: 60%;
    gap: 2rem;
    padding-bottom: 6rem;
  }
}
.dining-room__ramen-item03 {
  width: 29.8%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item03 {
    width: 100%;
  }
}
.dining-room__ramen-item-inner {
  text-align: left;
}
.dining-room__ramen-item-inner02 {
  text-align: left;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-inner02--left {
    margin-left: -2rem;
  }
}
.dining-room__ramen-item-img {
  margin-bottom: 3.4rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-img {
    margin-bottom: 1.5rem;
  }
}
.dining-room__ramen-item-img-other {
  margin-bottom: 3.4rem;
  border-radius: 1rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-img-other {
    margin-bottom: 1.5rem;
  }
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-group {
    margin-left: -2rem;
  }
}
.dining-room__ramen-item-ttl {
  color: #E60012;
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.1rem;
  font-size: 2rem;
  margin-bottom: 2rem;
  line-height: 1.2;
  position: relative;
  padding-left: 3rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-ttl {
    font-size: 1.4rem;
    margin-bottom: 1rem;
    padding-left: 1.5rem;
  }
}
.dining-room__ramen-item-ttl--02 {
  margin-top: 2rem;
}
.dining-room__ramen-item-ttl--03 {
  margin-top: 2rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-ttl--03 {
    margin-top: 2rem;
  }
}
.dining-room__ramen-item-ttl span {
  font-size: 1.6rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-ttl span {
    font-size: 1.2rem;
  }
}
.dining-room__ramen-item-ttl::before {
  content: "";
  position: absolute;
  background-image: url(../images/top/ramen-ttl-icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  width: 1.4rem;
  height: 2.1rem;
  top: 50%;
  left: 2%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-ttl::before {
    width: 1rem;
    height: 1.6rem;
  }
}
.dining-room__ramen-item-ttl--icon::before {
  top: 28%;
}
.dining-room__ramen-item-ttl--icon02::before {
  top: 20%;
}
.dining-room__ramen-item-ttl--03::before {
  top: 25%;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-ttl--03::before {
    top: 20%;
  }
}
.dining-room__ramen-item-explan {
  color: #550007;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.1rem;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}
.dining-room__ramen-item-price {
  color: #550007;
  font-family: "kinto-sans", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.1rem;
  font-size: 3.2rem;
  line-height: 1;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-price {
    font-size: 1.6rem;
  }
}
.dining-room__ramen-item-price span {
  font-size: 2.4rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-price span {
    font-size: 1.2rem;
  }
}
.dining-room__ramen-item-price small {
  font-size: 1.4rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-price small {
    font-size: 1.1rem;
  }
}
.dining-room__ramen-item-price .egg {
  font-size: 2rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-price .egg {
    font-size: 1.2rem;
  }
}
.dining-room__ramen-item-price--02 {
  margin-top: 2rem;
}
@media screen and (max-width: 700px) {
  .dining-room__ramen-item-price--02 {
    margin-top: 1rem;
  }
}

.home-economics {
  position: relative;
  background-image: url(../images/top/home-economics-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0 0 13rem;
  margin-bottom: 14rem;
}
@supports (background-image: url("../images/top/home-economics-bg.webp")) {
  .home-economics {
    background-image: url("../images/top/home-economics-bg.webp");
  }
}
@media screen and (max-width: 700px) {
  .home-economics {
    background-image: url(../images/top/home-economics-bg-sp.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    margin-bottom: 2.5rem;
    padding: 0 0 4.2rem;
  }
  @supports (background-image: url("../images/top/home-economics-bg-sp.webp")) {
    .home-economics {
      background-image: url("../images/top/home-economics-bg-sp.webp");
    }
  }
}
.home-economics__heading {
  width: 87%;
  margin: 0 auto;
  position: relative;
  text-align: center;
  padding-top: 7rem;
}
@media screen and (max-width: 1200px) {
  .home-economics__heading {
    width: 82.5%;
  }
}
@media screen and (max-width: 700px) {
  .home-economics__heading {
    width: 76.5%;
    padding-top: 3rem;
  }
}
.home-economics__sub-heading {
  width: 68%;
  position: relative;
  padding-top: 0rem;
  margin-left: 10rem;
}
@media screen and (max-width: 700px) {
  .home-economics__sub-heading {
    width: 85%;
    position: relative;
    padding-top: 0rem;
    margin-left: 3rem;
    padding-bottom: 1.4rem;
  }
}
.home-economics__bounce-left {
  opacity: 0;
  transition: opacity 0.5s ease-out;
}
.home-economics__bounce-left.animate__animated {
  opacity: 1 !important;
  animation-fill-mode: forwards;
}
.home-economics__img01 {
  position: absolute;
  top: 9%;
  right: -27%;
  width: 33.6%;
  z-index: 0;
}
@media screen and (max-width: 700px) {
  .home-economics__img01 {
    top: -148%;
    right: -9%;
    width: 58%;
    z-index: -1;
  }
}
.home-economics__img01.animate {
  animation: animate__shakeY 2s ease-in-out infinite;
}
.home-economics__text {
  text-align: center;
  display: flex;
  justify-content: center;
  margin: 0 auto;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 700px) {
  .home-economics__text {
    margin-bottom: 0.5rem;
    justify-content: flex-start;
    margin-left: 3.5rem;
  }
}
.home-economics__text p {
  font-size: 2.4rem;
  color: #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-color: #000;
  padding: 0.5rem 1rem;
}
@media screen and (max-width: 700px) {
  .home-economics__text p {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.home-economics__text02 {
  text-align: center;
  display: flex;
  justify-content: center;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 700px) {
  .home-economics__text02 {
    margin-bottom: 0.5rem;
    justify-content: flex-start;
    margin-left: 3.5rem;
  }
}
.home-economics__text02 p {
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  background-color: #000;
  padding: 0.5rem 1rem;
}
@media screen and (max-width: 700px) {
  .home-economics__text02 p {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.home-economics__text-small {
  font-size: 1.6rem;
}
@media screen and (max-width: 700px) {
  .home-economics__text-small {
    font-size: 1rem;
  }
}
.home-economics__text-color {
  color: #E60012;
}
.home-economics__photo {
  width: 84%;
  margin: 0 auto;
  margin-top: 1.9rem;
  position: relative;
}
@media screen and (max-width: 700px) {
  .home-economics__photo {
    width: 77%;
    margin: 0 auto;
    margin-top: 5.5rem;
    position: relative;
    z-index: 2;
  }
}
.home-economics__photo-txt {
  position: absolute;
  bottom: -20%;
  right: -13%;
  width: 43%;
  opacity: 1;
}
@media screen and (max-width: 700px) {
  .home-economics__photo-txt {
    position: absolute;
    bottom: -21%;
    right: -18%;
    width: 69%;
  }
}
.home-economics__img02 {
  position: absolute;
  top: -27%;
  left: -6%;
  width: 43%;
}
@media screen and (max-width: 700px) {
  .home-economics__img02 {
    position: absolute;
    top: -50%;
    left: -9%;
    width: 70%;
  }
}

.parallax {
  padding-bottom: 16rem;
}
@media screen and (max-width: 700px) {
  .parallax {
    padding-bottom: 8.5rem;
  }
}
.parallax__inner img {
  width: 100%;
  height: 60rem;
  object-fit: cover;
  object-position: top;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 700px) {
  .parallax__inner img {
    height: 16.4rem;
  }
}

.part-time-job {
  position: relative;
  background-image: url(../images/top/part-time-job-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0rem 0 11rem;
  margin-bottom: 0;
}
@supports (background-image: url("../images/top/part-time-job-bg.webp")) {
  .part-time-job {
    background-image: url("../images/top/part-time-job-bg.webp");
  }
}
@media screen and (max-width: 700px) {
  .part-time-job {
    background-image: url(../images/top/part-time-job-bg-sp.png);
    background-size: contain;
    padding: 12rem 0 4rem;
  }
  @supports (background-image: url("../images/top/part-time-job-bg-sp.webp")) {
    .part-time-job {
      background-image: url("../images/top/part-time-job-bg-sp.webp");
    }
  }
}
.part-time-job__wrap {
  position: relative;
}
.part-time-job__left {
  width: 44%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 700px) {
  .part-time-job__left {
    width: 100%;
    align-items: center;
  }
}
.part-time-job__heading {
  padding: 5rem 0 0 7rem;
  padding-bottom: 2rem;
  position: relative;
  z-index: 2;
  opacity: 1;
}
@media screen and (max-width: 700px) {
  .part-time-job__heading {
    padding: 0rem 0 0 0rem;
    padding-bottom: 2rem;
    position: relative;
    z-index: 2;
    width: 80%;
    top: -17rem;
  }
}
.part-time-job__text01 {
  color: #fff;
  display: inline-block;
  padding-bottom: 2rem;
}
@media screen and (max-width: 700px) {
  .part-time-job__text01 {
    padding-bottom: 1rem;
    padding-top: 1rem;
  }
}
.part-time-job__text01 p {
  font-size: 2.6rem;
  border: solid 0.3rem #fff;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding: 0.5rem 2rem;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 700px) {
  .part-time-job__text01 p {
    font-size: 1.6rem;
  }
}
.part-time-job__text02 {
  color: #fff;
  margin-left: -7%;
  font-size: 2rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 2rem;
}
@media screen and (max-width: 700px) {
  .part-time-job__text02 {
    margin-left: 0;
    font-size: 1.4rem;
    margin-bottom: 2rem;
    text-align: center;
  }
}
.part-time-job__btn {
  width: 63%;
  margin-left: 2rem;
}
@media screen and (max-width: 700px) {
  .part-time-job__btn {
    width: 80%;
    margin-left: 0;
  }
}
.part-time-job .btn-A {
  display: inline-block;
  position: relative;
  padding: 2.4rem 4rem 2.4rem 8rem;
  padding-left: 4rem;
  bottom: 0;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  border: solid 0.4rem #fff;
  color: #fff;
  background-color: #E60012;
  box-shadow: 1rem 1.1rem #fff;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.5;
  border-radius: 50px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 100%;
  line-height: 1;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 900;
  font-style: normal;
}
@media screen and (max-width: 700px) {
  .part-time-job .btn-A {
    padding: 1.4rem 0rem 1.4rem 0rem;
    padding-left: 0;
    border: solid 0.2rem #fff;
    box-shadow: 0.8rem 0.6rem #fff;
  }
}
.part-time-job .btn-A::before {
  content: "";
  position: absolute;
  background-image: url(../images/top/part-time-job-btn-arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: 2rem;
  height: 2rem;
  right: 7%;
  top: 33%;
  transition: 0.4s;
}
@media screen and (max-width: 700px) {
  .part-time-job .btn-A::before {
    width: 1.6rem;
    height: 1.6rem;
    right: 5%;
    transition: 0.4s;
  }
}
.part-time-job .btn-A:hover {
  -webkit-transform: translate(0.3rem, 0.3rem);
  transform: translate(0.3rem, 0.3rem);
  box-shadow: 0.2rem 0.4rem rgb(255, 255, 255);
}
@media screen and (max-width: 700px) {
  .part-time-job .btn-A:hover {
    box-shadow: 0.8rem 0.6rem #fff;
    transform: none;
  }
}
.part-time-job .btn-A:hover::before {
  right: 5%;
}
.part-time-job__photo01 {
  content: "";
  position: absolute;
  width: 28.7%;
  top: 9%;
  right: 32%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .part-time-job__photo01 {
    width: 40%;
    top: -18%;
    right: 52%;
  }
}
.part-time-job__photo02 {
  content: "";
  position: absolute;
  width: 28.7%;
  top: 15%;
  right: 2.5%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .part-time-job__photo02 {
    width: 42%;
    top: -17%;
    right: 8.5%;
  }
}
.part-time-job__photo03 {
  content: "";
  position: absolute;
  width: 30.7%;
  top: 52%;
  right: 30.5%;
  z-index: 0;
}
@media screen and (max-width: 700px) {
  .part-time-job__photo03 {
    content: "";
    position: absolute;
    width: 41.7%;
    top: 10%;
    right: 49.5%;
    z-index: 0;
  }
}
.part-time-job__photo04 {
  content: "";
  position: absolute;
  width: 29.7%;
  top: 55%;
  right: 3.5%;
  z-index: 1;
}
@media screen and (max-width: 700px) {
  .part-time-job__photo04 {
    width: 41.7%;
    top: 10%;
    right: 10.5%;
  }
}
.part-time-job__img01 {
  position: absolute;
  top: 55rem;
  right: 26%;
  width: 18.6rem;
  z-index: 3;
  animation: walkAnimation 2s infinite ease-in-out;
  transform-origin: center bottom; /* 傾ける位置を画像の下部に設定 */
}
@media screen and (max-width: 700px) {
  .part-time-job__img01 {
    position: absolute;
    top: 36.7rem;
    right: 27%;
    width: 7rem;
    z-index: 3;
  }
}
.part-time-job__img02 {
  position: absolute;
  top: 57rem;
  right: 16%;
  width: 13.4rem;
  z-index: 2;
  animation: walkAnimation 2s infinite ease-in-out;
  transform-origin: center bottom; /* 傾ける位置を画像の下部に設定 */
}
@media screen and (max-width: 700px) {
  .part-time-job__img02 {
    top: 37.9rem;
    right: 16%;
    width: 4.9rem;
  }
}
.part-time-job__img03 {
  position: absolute;
  top: 57rem;
  right: 3%;
  width: 14rem;
  z-index: 2;
  animation: walkAnimation 2s infinite ease-in-out;
  transform-origin: center bottom; /* 傾ける位置を画像の下部に設定 */
}
@media screen and (max-width: 700px) {
  .part-time-job__img03 {
    top: 37.2rem;
    right: 1%;
    width: 5.4rem;
  }
}
.part-time-job__img04 {
  position: absolute;
  bottom: -33rem;
  left: -5%;
  width: 32rem;
  z-index: 0;
}
@media screen and (max-width: 700px) {
  .part-time-job__img04 {
    position: absolute;
    bottom: -15.8rem;
    left: -3%;
    width: 15rem;
    z-index: 0;
  }
}

.map {
  position: relative;
  margin-bottom: 21rem;
}
.map__map-bg {
  background-color: #fff;
  padding: 2rem;
  aspect-ratio: 16/9;
  width: 100%;
  height: auto;
  position: relative;
}
.map__heading {
  position: absolute;
  top: -14rem;
  left: 4rem;
  width: 39%;
}
.map__text {
  position: absolute;
  right: -5%;
  top: -9rem;
}
.map__text p {
  background: #fff;
  color: #E95483;
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: 2.8rem;
  font-family: "kinto-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.2rem;
}
.map__text p:first-child {
  margin-bottom: 0.5rem;
}

.footer {
  background-image: url(../images/top/footer-bg.png);
  padding: 8rem 0 5rem;
  z-index: -1;
  position: relative;
}
@media screen and (max-width: 700px) {
  .footer {
    padding: 3rem 0 1.5rem;
  }
}
.footer img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.footer__logo {
  bottom: 40%;
  z-index: 3;
  width: 24rem;
  padding-bottom: 3.5rem;
}
@media screen and (max-width: 700px) {
  .footer__logo {
    position: static;
    width: 18rem;
    text-align: center;
    margin: 0 auto;
    padding-bottom: 2.5rem;
  }
}
.footer__text {
  z-index: 3;
  font-size: 1.2rem;
  font-family: "zen-kaku-gothic-new", sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.02rem;
}
@media screen and (max-width: 700px) {
  .footer__text {
    font-size: 1rem;
  }
}
.footer__wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 700px) {
  .footer__wrap {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin: 0 auto;
  }
}
.footer__icon-list {
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 700px) {
  .footer__icon-list {
    margin-bottom: 1rem;
    justify-content: center;
  }
}

.part-time-job__img02 {
  animation-delay: 2s; /* 2枚目は1枚目と3枚目の動きに合わせて遅延 */
}

/* 歩くアニメーション */
@keyframes walkAnimation {
  0% {
    transform: rotate(-3.5deg); /* 左に傾く */
  }
  50% {
    transform: rotate(3.5deg); /* 右に傾く */
  }
  100% {
    transform: rotate(-3.5deg); /* 左に戻る */
  }
}
.founding__img02 img,
.founding__photo01 img,
.founding__photo02 img,
.founding__photo03 img,
.founding__big-img img,
.founding__photo04 img,
.founding__photo05 img,
.founding__photo06 img,
.founding__photo07 img,
.founding__photo08 img {
  position: absolute;
  width: 100%;
  height: auto;
  transform: translateY(50px); /* 初期位置 */
  transition: transform 0.2s linear; /* スムーズな動き */
}

.js-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s, visibility 1s, transform 1s;
}

.scroll {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

.scroll_fadein {
  opacity: 0;
}

.fadein_animation_start {
  animation-name: fadein_animation;
  animation-delay: 0.3s;
  animation-duration: 1s;
  animation-fill-mode: both;
}

@keyframes fadein_animation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate(0);
  }
}
.slideup {
  transform: translateY(50px);
}

.slidedown {
  transform: translateY(-50px);
}

.slideright {
  transform: translateX(50px);
}

.slideleft {
  transform: translateX(-50px);
}

.u-fade-type-up {
  transform: translateY(50px);
  opacity: 0;
}

/* トリガー発火でis-activeを付与 */
.u-fade-type-up.is-active {
  transition: 1s;
  transform: translateY(0);
  opacity: 1;
}

/* トリガー発火でis-activeを付与 */
.is-active .u-fade-type-up {
  transition: 1.5s;
  transform: translateY(0);
  opacity: 1;
}

.is-active .u-fade-type-up:nth-child(2) {
  transition-delay: 0.3s;
}

.is-active .u-fade-type-up:nth-child(3) {
  transition-delay: 0.6s;
}

.is-active .u-fade-type-up:nth-child(4) {
  transition-delay: 0.9s;
}

.is-active .u-fade-type-up:nth-child(5) {
  transition-delay: 1.2s;
}

.is-active .u-fade-type-up:nth-child(6) {
  transition-delay: 1.5s;
}

.is-active .u-fade-type-up:nth-child(7) {
  transition-delay: 1.8s;
}

.is-active .u-fade-type-up:nth-child(8) {
  transition-delay: 2.1s;
}

.is-active .u-fade-type-up:nth-child(9) {
  transition-delay: 2.4s;
}

.is-active .u-fade-type-up:nth-child(10) {
  transition-delay: 2.7s;
}

.is-active .u-fade-type-up:nth-child(11) {
  transition-delay: 3s;
}

.is-active .u-fade-type-up:nth-child(12) {
  transition-delay: 3.3s;
}

.is-active .u-fade-type-up:nth-child(13) {
  transition-delay: 3.7s;
}

.is-active .u-fade-type-up:nth-child(14) {
  transition-delay: 4s;
}

.is-active .u-fade-type-up:nth-child(15) {
  transition-delay: 4.3s;
}

.is-active .u-fade-type-up:nth-child(16) {
  transition-delay: 4.6s;
}

.is-active .u-fade-type-up:nth-child(17) {
  transition-delay: 4.9s;
}

.is-active .u-fade-type-up:nth-child(18) {
  transition-delay: 5.1s;
}

/*--------------------------
	state
--------------------------*/
@media screen and (max-width: 1024px) {
  .is-Pc {
    display: none;
  }
}

@media screen and (max-width: 700px) {
  .is-Tab {
    display: none;
  }
}
@media screen and (min-width: 1025px) {
  .is-Tab {
    display: none;
  }
}

@media screen and (min-width: 701px) {
  .is-Sp {
    display: none;
  }
}

@media screen and (max-width: 700px) {
  .is-Pc_Tab {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .is-Tab_Sp {
    display: none;
  }
}

/*# sourceMappingURL=style.css.map */
