@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@100;200;300;400;500&display=swap");
html {
  scroll-behavior: smooth;
  min-width: 1140px;
}
@media screen and (max-width: 798px) {
  html {
    min-width: 100%;
  }
}

body, html, p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ⾓ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 300;
  color: #3e3a39;
}

body, html {
  height: 100%;
}

p {
  line-height: 1.7;
  color: #3f3a39;
}

.img100 img {
  width: 100%;
  height: auto;
}

header {
  display: flex;
  flex-wrap: wrap;
  position: fixed;
  z-index: 900;
  min-width: 1200px;
  background-color: rgba(255, 255, 255, 0);
  padding: 10px;
  width: 100%;
}
@media screen and (max-width: 798px) {
  header {
    min-width: 100%;
    z-index: 9990;
  }
}

.pc-header {
  background-color: rgba(255, 255, 255, 0);
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.pc-header.header-scroll {
  background-color: rgb(255, 255, 255);
}

nav {
  margin-left: auto;
  margin-right: 65px;
}

nav ul {
  list-style: none;
  margin: 0px 0px 0px auto;
  padding: 0px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

nav li {
  margin: 30px 15px 0px;
  font-size: 16px;
  letter-spacing: 0.04em;
}

nav a {
  color: #fff;
  position: relative;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
nav a span {
  margin-right: 6px;
  font-size: 13px;
  border-bottom: solid 1px #fff;
  position: relative;
  top: -3px;
  font-family: "Lexend Deca";
  letter-spacing: 0.1em;
  font-weight: 400;
}

.cls-1, .st0 {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.header-scroll {
  padding: 0 10px;
}
.header-scroll .header_instagram {
  top: -5px !important;
}
.header-scroll nav a {
  color: #000;
}
.header-scroll nav a:hover {
  color: #000;
}
.header-scroll nav a::after {
  background: #000;
}
.header-scroll nav a span {
  border-color: #000;
}
.header-scroll .cls-1, .header-scroll .st0 {
  fill: #000;
}
.header-scroll h1 svg {
  width: 40px !important;
  height: auto !important;
}

nav a:hover {
  color: #fff;
}

nav a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  bottom: -14px;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

nav a:hover::after {
  visibility: visible;
  bottom: -12px;
  opacity: 1;
}
@media screen and (max-width: 798px) {
  nav a:hover::after {
    display: none;
  }
}

footer nav a:hover::after {
  bottom: -8px;
}

h1 {
  padding: 10px 10px 10px 20px;
}

h1 svg {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.nav-contact {
  background-color: #e72b57;
  color: #fff;
  font-size: 24px;
  border-radius: 7px;
  font-weight: 600;
  text-align: center;
  margin-top: 5px;
}

.nav-contact a {
  display: block;
  color: #fff;
  padding: 8px 40px 10px;
  border: solid 2px #e72b57;
  position: relative;
  border-radius: 7px;
  white-space: nowrap;
}

.nav-contact a:hover {
  color: #e72b57;
  background-color: #fff;
  border: solid 2px #e72b57;
  border-radius: 7px;
}

.nav-contact a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 9px;
  height: 16px;
  background-image: url("../images/arrow.png");
  background-size: contain;
  vertical-align: middle;
  right: 10px;
  top: 28px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}

.nav-contact a:hover::after {
  background-image: url("../images/arrow_hover.png");
}

.header_instagram {
  position: absolute;
  top: 10px;
  right: 25px;
  margin-left: 60px;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .header_instagram {
    position: relative;
    right: 0;
    top: 0;
  }
}

main {
  padding-bottom: 150px;
}
@media screen and (max-width: 798px) {
  main {
    padding-bottom: 90px;
  }
}

/* ------------------ */
/* fv */
/* ------------------ */
.mainimage {
  position: relative;
}
@media screen and (max-width: 798px) {
  .mainimage {
    height: 100vh;
    height: -webkit-fill-available;
  }
}

.teaser_copy {
  position: absolute;
  z-index: 99;
  color: #fff;
  font-size: 2.5rem;
  line-height: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sub_teaser_copy {
  border-left: solid 2px #fff;
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 30px;
  margin-left: 15px;
  padding-left: 25px;
}

.teaser_copy_area {
  position: absolute;
  z-index: 99;
  width: 225px;
  height: 233px;
  top: 50%;
  left: 59.5%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 798px) {
  .teaser_copy_area {
    width: 175px;
    left: 45%;
  }
}

.slick-dots li button {
  font-size: initial !important;
  color: initial !important;
  background: initia !important;
}

.slick-dots li button:before {
  content: none !important;
}

.slick-dots {
  bottom: 20px !important;
  z-index: 99;
  right: 20px !important;
  text-align: right !important;
}

.slick-dots li {
  border-left: solid 1px #fff;
  text-align: center;
  margin: 0 5px !important;
  padding: 0 15px !important;
}

.slick-dots li:first-child {
  border-left: none;
}

.slick-dots li button {
  color: #fff !important;
  opacity: 0.7;
  font-weight: 600;
  width: auto !important;
  padding: 0 !important;
}

.slick-dots .slick-active button {
  opacity: 1 !important;
}

/*=== 9-1-3 マウスが動いてスクロールを促す ====*/
/*スクロールダウン全体の場所*/
.scrolldown3 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  bottom: 20px;
  z-index: 99;
  right: 50%;
  /*マウスの動き1.6秒かけて動く永遠にループ*/
  -webkit-animation: mousemove 1.6s ease-in-out infinite;
          animation: mousemove 1.6s ease-in-out infinite;
}

/*下からの距離が変化して上から下に動く*/
@-webkit-keyframes mousemove {
  0% {
    bottom: 10px;
  }
  50% {
    bottom: 5px;
  }
  100% {
    bottom: 10px;
  }
}
@keyframes mousemove {
  0% {
    bottom: 10px;
  }
  50% {
    bottom: 5px;
  }
  100% {
    bottom: 10px;
  }
}
/*Scrollテキストの描写*/
.scrolldown3 span {
  /*描画位置*/
  position: absolute;
  left: -22px;
  bottom: 45px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  font-family: "Lexend Deca";
  letter-spacing: 0.1em;
  font-weight: 400;
}

.slick-dots li {
  font-family: "Lexend Deca";
}

/*マウスの中の線描写 */
/*上からの距離・不透明度・高さが変化して上から下に流れる*/
@-webkit-keyframes mousepathmove {
  0% {
    height: 0;
    top: 10px;
    opacity: 0;
  }
  50% {
    height: 15px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 30px;
    opacity: 0;
  }
}
@keyframes mousepathmove {
  0% {
    height: 0;
    top: 10px;
    opacity: 0;
  }
  50% {
    height: 15px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 30px;
    opacity: 0;
  }
}
/*マウスの描写 */
.scrolldown3:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 10px;
  left: -4px;
  /*マウスの形状*/
  width: 13px;
  height: 27px;
  border-radius: 10px;
  border: 1px solid #eee;
}

/*マウスの中の丸の描写*/
.scrolldown3:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 26px;
  left: 0;
  /*丸の形状*/
  width: 5px;
  height: 5px;
  background-color: #fff;
  border-radius: 50%;
  border: 1px solid #eee;
}

.section1 {
  position: relative;
}

@-webkit-keyframes animation-side {
  0% {
    right: -5px;
    opacity: 0;
  }
  100% {
    right: 0px;
    opacity: 1;
  }
}

@keyframes animation-side {
  0% {
    right: -5px;
    opacity: 0;
  }
  100% {
    right: 0px;
    opacity: 1;
  }
}
.side_contact a {
  border-width: 2px 0 2px 2px;
  border-color: #000;
  border-style: solid;
  border-radius: 5px 0 0px 5px;
  text-align: center;
  padding: 10px 5px 10px;
  right: 0;
  position: fixed;
  width: 50px;
  opacity: 0;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
.side_contact a:hover {
  background-color: #eee;
}
.side_contact a img {
  width: 22px;
  height: auto;
}

.side_contact {
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.side_contact.scrollside {
  z-index: 994;
  -webkit-animation-name: animation-side;
          animation-name: animation-side;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  opacity: 1;
}

.side_contact.scrollside a {
  opacity: 1;
  top: 30%;
  z-index: 994;
  background-color: #fff;
}

.section1_img img {
  width: 1400px;
  height: 408px;
  margin: 100px auto 0;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  overflow-x: hidden;
}
@media screen and (max-width: 1200px) {
  .section1_img img {
    width: 100%;
    height: auto;
    max-width: 1200px;
    overflow-x: auto;
  }
}
@media screen and (max-width: 798px) {
  .section1_img img {
    margin: 0px auto 0;
    padding: 25px;
  }
}

.hd_title1 {
  text-align: center;
  margin: 150px auto 50px;
  position: relative;
}
@media screen and (max-width: 798px) {
  .hd_title1 {
    margin: 100px auto 50px;
  }
}

.midashi1-s {
  font-size: 16px;
  position: relative;
  padding-top: 55px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .midashi1-s {
    padding-top: 35px;
    font-size: 13px;
  }
}
.midashi1-s span {
  font-size: 13px;
  position: relative;
  top: -1px;
  margin-right: 10px;
  font-family: "Lexend Deca";
}
@media screen and (max-width: 798px) {
  .midashi1-s span {
    font-size: 11px;
  }
}
.midashi1-s::before {
  content: "";
  position: absolute;
  top: 0px;
  display: inline-block;
  width: 70px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
}
@media screen and (max-width: 798px) {
  .midashi1-s::before {
    width: 50px;
  }
}

.midashi1-s2 {
  font-size: 21px;
  position: relative;
  padding-top: 25px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .midashi1-s2 {
    font-size: 16px;
  }
}
.midashi1-s2 span {
  font-size: 17px;
  position: relative;
  top: -1px;
  margin-right: 10px;
  font-family: "Lexend Deca";
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .midashi1-s2 span {
    font-size: 13px;
  }
}
.midashi1-s2::before {
  content: "";
  position: absolute;
  top: 0px;
  display: inline-block;
  width: 70px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
}
@media screen and (max-width: 798px) {
  .midashi1-s2::before {
    width: 50px;
  }
}

.midashi1 {
  font-size: 30px;
  line-height: 1.7;
  margin-top: 20px;
  padding-bottom: 38px;
  position: relative;
  font-weight: 300;
  margin-bottom: 35px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .midashi1 {
    font-size: 22px;
    margin-bottom: 28px;
    padding-bottom: 30px;
  }
}
.midashi1::after {
  content: "";
  position: absolute;
  bottom: 0px;
  display: inline-block;
  width: 70px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
}
@media screen and (max-width: 798px) {
  .midashi1::after {
    width: 50px;
  }
}

.midashi2 {
  font-size: 17px;
  text-align: center;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .midashi2 {
    margin-bottom: 10px;
  }
}

.title-en {
  font-family: "Lexend Deca";
  font-size: 17px;
  letter-spacing: 0.1em;
  font-weight: 400;
}

.button1 a {
  display: inline-block;
  color: #fff;
  text-align: center;
  margin-top: 35px;
  background-color: #e72b57;
  width: 375px;
  font-size: 18px;
  border-radius: 7px;
  border: solid 2px #e72b57;
  font-weight: 600;
  line-height: 70px;
  padding: 0px 40px;
  position: relative;
  height: 76px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
@media screen and (max-width: 798px) {
  .button1 a {
    width: 100%;
    font-size: 15px;
    line-height: 50px;
    height: 56px;
  }
}

.button1 a:hover {
  color: #e72b57;
  background-color: #fff;
  border: solid 2px #e72b57;
  border-radius: 7px;
}

.button1 a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 9px;
  height: 16px;
  background-image: url("../images/arrow.png");
  background-size: contain;
  vertical-align: middle;
  right: 30px;
  top: 28px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
@media screen and (max-width: 798px) {
  .button1 a::after {
    top: 18px;
  }
}

.button1 a:hover::after {
  background-image: url("../images/arrow_hover.png");
}

.button2 a {
  display: inline-block;
  color: #fff;
  text-align: center;
  margin-top: 45px;
  background-color: #e72b57;
  width: 616px;
  border: solid 2px #e72b57;
  font-size: 18px;
  border-radius: 7px;
  font-weight: 600;
  line-height: 1.5;
  padding: 15px 40px;
  position: relative;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
@media screen and (max-width: 798px) {
  .button2 a {
    width: 100%;
    font-size: 14px;
  }
}

.button2 a:hover {
  color: #e72b57;
  background-color: #fff;
  border: solid 2px #e72b57;
  border-radius: 7px;
}

.button2 a::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 14px;
  height: 25px;
  background-image: url("../images/arrow2.png");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  right: 30px;
  top: 29px;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
@media screen and (max-width: 798px) {
  .button2 a::after {
    width: 10px;
    height: 25px;
    right: 10px;
    top: 28px;
  }
}

.button2 a:hover::after {
  background-image: url("../images/arrow_hover.png");
}

#onayami {
  padding: 35px 0 50px;
}
@media screen and (max-width: 798px) {
  #onayami {
    width: 80%;
    margin: auto;
    padding-bottom: 0;
  }
}

#lesson {
  background-color: #edf8f7;
  padding: 70px 0 90px;
}
@media screen and (max-width: 798px) {
  #lesson {
    padding: 30px 30px 40px;
  }
}

.ta_c {
  text-align: center;
}

.container {
  width: 1100px;
  margin: auto;
}
@media screen and (max-width: 798px) {
  .container {
    width: 100%;
  }
}

.container1000 {
  width: 1000px;
  margin: auto;
}
@media screen and (max-width: 798px) {
  .container1000 {
    width: 100%;
  }
}

.container2 {
  width: 700px;
  margin: auto;
}
@media screen and (max-width: 798px) {
  .container2 {
    width: 75%;
  }
}

.container3 {
  width: 900px;
  margin: auto;
}
@media screen and (max-width: 798px) {
  .container3 {
    width: 100%;
  }
}

.container img {
  max-width: 100%;
  height: auto;
}

.container1000 img {
  max-width: 100%;
  height: auto;
}

.f_box {
  display: flex;
  flex-wrap: wrap;
}

.f_center {
  justify-content: center;
}

/* モーダルCSS */
.modal {
  visibility: hidden;
  overflow-y: scroll;
  opacity: 0;
  position: fixed;
  z-index: 992;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0 20px;
  transition: opacity 0.3s, visibility 0s 0.3s;
  background: rgba(0, 0, 0, 0.8);
}
.modal.is-active {
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s, visibility 0s 0s;
}

.modal_container {
  display: flex;
  min-height: 100%;
  justify-content: center;
  align-items: center;
}
.modal_container _:-ms-lang(x)::-ms-backdrop, .modal_container {
  min-height: 100vh;
}
.modal_container::after {
  content: "";
  min-height: inherit;
  font-size: 0;
}

.modal_inner {
  margin: 20px auto;
  width: auto;
}

.modal_content {
  display: none;
  border-radius: 2px;
  background: #fff;
}
.is-active .modal_content {
  display: block;
}

.wrapper.is-locked {
  position: fixed;
  width: 100%;
}

.midashi5 {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .midashi5 {
    text-align: center;
    font-size: 15px;
  }
}

@media screen and (max-width: 798px) {
  .midashi5_left {
    text-align: left;
  }
}

#about, #instructor, #trial-lesson, #order {
  padding-top: 110px;
  margin-top: -110px;
}

#lesson {
  background-color: #edf8f7;
  padding: 70px 0 90px;
}
@media screen and (max-width: 798px) {
  #lesson {
    padding: 30px 30px 20px;
  }
}

.trial {
  background-color: #fdd7c5;
  padding: 70px 0 40px;
}
@media screen and (max-width: 798px) {
  .trial {
    padding: 30px 30px 20px;
  }
}

.trial2 {
  padding: 47px 0 55px;
}
@media screen and (max-width: 798px) {
  .trial2 {
    padding: 30px 30px 20px;
  }
}

.trial3 {
  background-color: #fdd7c5;
  padding: 70px 0;
}
@media screen and (max-width: 798px) {
  .trial3 {
    padding: 30px 30px 20px;
  }
}

.box_w {
  margin-top: 60px;
  background-color: #fff;
  width: 1032px;
  margin-left: auto;
  margin-right: auto;
  padding: 60px;
  border-radius: 7px;
}
@media screen and (max-width: 798px) {
  .box_w {
    width: 100%;
    margin-top: 30px;
    padding: 25px;
  }
}

footer {
  width: 100%;
}
@media screen and (max-width: 798px) {
  footer {
    width: 80%;
    margin: auto;
  }
}

.footer_box {
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
  padding: 30px 15px;
}
@media screen and (max-width: 798px) {
  .footer_box {
    text-align: center;
  }
}

@media screen and (max-width: 798px) {
  .footer_box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media screen and (max-width: 798px) {
  .footer_box nav {
    margin: 0;
  }
}

@media screen and (max-width: 798px) {
  .footer_box li {
    font-size: 12px;
    margin: 0 5px;
  }
}

footer li img {
  margin-top: -5px;
}

.sitemap {
  width: 470px;
}
@media screen and (max-width: 798px) {
  .sitemap {
    width: 65%;
    margin-left: auto;
  }
}
.sitemap p {
  font-size: 12px;
}
.sitemap ul {
  justify-content: flex-start;
}
.sitemap li {
  width: 40%;
  margin: 0px 0px 20px !important;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 798px) {
  .sitemap li {
    width: 100%;
    font-size: 13px;
    margin: 0px 0px 11px !important;
  }
}
.sitemap li:nth-child(3n) {
  width: 20%;
}
@media screen and (max-width: 798px) {
  .sitemap li:nth-child(3n) {
    width: 100%;
  }
}
.sitemap nav a {
  color: #000;
}
.sitemap nav a:hover {
  color: #000;
}
.sitemap nav a::after {
  background: #000;
}
.sitemap nav a span {
  border-color: #000;
}
.sitemap .cls-1, .sitemap .st0 {
  fill: #000;
}
.sitemap h1 svg {
  width: 40px !important;
  height: auto !important;
}

.copy {
  padding: 45px 10px;
  text-align: center;
  color: #444444;
}
@media screen and (max-width: 798px) {
  .copy {
    font-size: 11px;
    color: #838383;
    padding: 30px 10px 30px;
  }
}

.sec1_box1 {
  background-color: #ffdc50;
  width: 504px;
  padding: 30px;
  margin-bottom: 20px;
  border-radius: 5px;
}
@media screen and (max-width: 798px) {
  .sec1_box1 {
    width: 49%;
    margin-right: 2%;
    padding: 20px;
    margin-bottom: 0;
  }
}
.sec1_box1:nth-child(2n) {
  margin-left: auto;
}
@media screen and (max-width: 798px) {
  .sec1_box1:nth-child(even) {
    margin-right: 0%;
  }
}
.sec1_box1 p {
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 798px) {
  .sec1_box1 p {
    font-size: 12px;
    line-height: 1.6;
  }
}

.sec1_1 {
  width: 260px;
}
@media screen and (max-width: 798px) {
  .sec1_1 {
    width: 100%;
    margin-bottom: 10px;
  }
}

.sec1_2 {
  width: 170px;
  margin-left: auto;
}
@media screen and (max-width: 798px) {
  .sec1_2 {
    width: 100%;
  }
}
.sec1_2 img {
  max-width: 100%;
  height: auto;
}

.sec1_box2 {
  width: 324px;
  margin-right: 63px;
}
@media screen and (max-width: 798px) {
  .sec1_box2 {
    width: 100%;
    margin-bottom: 0;
    margin-right: 0%;
    padding: 25px;
  }
}
.sec1_box2:last-child {
  margin-right: 0px;
}
@media screen and (max-width: 798px) {
  .sec1_box2:nth-child(even) {
    margin-right: 0%;
  }
}
.sec1_box2 h5 {
  font-size: 17px;
  margin: 34px auto 22px;
  text-align: center;
  letter-spacing: 0.13em;
}
.sec1_box2 p {
  font-size: 14px;
  line-height: 1.7;
  letter-spacing: 0.13em;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .sec1_box2 p {
    font-size: 12px;
    line-height: 1.8;
  }
}

.sec1_img {
  position: relative;
}
.sec1_img .num {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  text-align: center;
  font-size: 13px;
  width: 30px;
  line-height: 30px;
  font-family: "Lexend Deca";
  letter-spacing: 0.1em;
  font-weight: 400;
}

.sec1_img2 {
  display: block;
  text-align: center;
  margin: 95px auto 0;
  width: 548px;
}
@media screen and (max-width: 798px) {
  .sec1_img2 {
    width: 90%;
    margin: 30px auto 0;
    padding: 0 20px;
  }
}

.section3_header {
  background-image: url("../images/2x/omoi_p1_1.jpg");
  background-size: 1850px 750px;
  background-position: center;
  padding: 250px 0 50px;
  background-repeat: no-repeat;
  margin-top: 190px;
  color: #fff;
}
@media screen and (max-width: 798px) {
  .section3_header {
    margin-top: 100px;
    background-image: url("../images/sp/1x/sp-omoi_p1_1.jpg");
    background-size: 100% auto;
    padding: 150px 0 0px;
    color: #000;
    background-position: top;
  }
}
.section3_header .midashi1-s::before {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .section3_header .midashi1-s::before {
    background-color: #000;
  }
}
.section3_header .midashi1::after {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .section3_header .midashi1::after {
    background-color: #000;
  }
}
@media screen and (min-width: 1850px) {
  .section3_header {
    background-size: cover;
  }
}

/* モーダルCSS */
/*ここからモーダル用*/
.js-modal__bg {
  width: 100%;
  height: 100%;
  display: none;
  background-color: rgba(0, 0, 0, 0.6);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 992;
}

.js-modal__main {
  width: 80%;
  max-height: 85%;
  margin: auto;
  padding: 20px;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateY(-50%);
  background: #fff;
  border-radius: 5px;
  position: absolute;
}

.js-modal__main__scroll {
  max-height: 80vh;
  margin-bottom: 0px;
  overflow: scroll;
  overflow-x: hidden;
}

.js-modal__btn {
  cursor: pointer;
}

.js-modal__btn {
  width: 350px;
  line-height: 60px;
  text-align: center;
  background: #fff;
  border: solid 1px #000;
  border-radius: 50px;
  z-index: 101;
  position: relative;
  cursor: pointer;
  margin: 50px auto;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
  font-size: 14px;
}
@media screen and (max-width: 798px) {
  .js-modal__btn {
    width: 75%;
  }
}
.js-modal__btn:hover {
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn:hover {
    color: #000;
    background-color: #fff;
    border: solid 1px #000;
  }
}

@media screen and (max-width: 798px) {
  #flow .js-modal__btn {
    width: 100%;
    margin-bottom: 0;
    margin-top: 30px;
  }
}

.js-modal__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 23px;
  width: 13px;
  height: 1px;
  position: absolute;
  background-color: #000;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.js-modal__btn:hover::before {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn:hover::before {
    background-color: #000;
  }
}

.js-modal__btn:hover::after {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn:hover::after {
    background-color: #000;
  }
}

.js-modal__btn::after {
  content: "";
  position: absolute;
  top: 40%;
  right: 29px;
  width: 1px;
  height: 13px;
  position: absolute;
  background-color: #000;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.js-modal__btn--close:hover::before {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn--close:hover::before {
    background-color: #000;
  }
}

.js-modal__btn--close {
  width: 350px;
  line-height: 60px;
  text-align: center;
  background: #fff;
  border: solid 1px #000;
  border-radius: 50px;
  z-index: 101;
  position: relative;
  cursor: pointer;
  margin: auto;
  margin-bottom: 115px;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .js-modal__btn--close {
    width: 80%;
    margin-bottom: 55px;
  }
}
.js-modal__btn--close:hover {
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn--close:hover {
    background-color: #fff;
    color: #000;
  }
}

.js-modal__btn--close:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 23px;
  width: 13px;
  height: 1px;
  position: absolute;
  background-color: #000;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}

.js-modal__btn--close:hover::before {
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .js-modal__btn--close:hover::before {
    background-color: #000;
  }
}

.js-modal__btn2 {
  width: 230px;
  line-height: 60px;
  text-align: center;
  background: rgba(255, 255, 255, 0);
  border: solid 1px rgb(255, 255, 255);
  border-radius: 50px;
  z-index: 101;
  color: #fff;
  position: relative;
  cursor: pointer;
  margin: 30px auto 0;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2 {
    width: 90%;
    color: #000;
    border: solid 1px rgb(0, 0, 0);
  }
}
.js-modal__btn2:hover {
  background-color: #fff;
  color: #000;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2:hover {
    background-color: #fff;
    color: #000;
  }
}

.js-modal__btn2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 23px;
  width: 13px;
  height: 1px;
  position: absolute;
  background-color: #fff;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2::before {
    background-color: #000;
  }
}

.js-modal__btn2:hover::before {
  background-color: #000;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2:hover::before {
    background-color: #000;
  }
}

.js-modal__btn2:hover::after {
  background-color: #000;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2:hover::after {
    background-color: #000;
  }
}

.js-modal__btn2::after {
  content: "";
  position: absolute;
  top: 40%;
  right: 29px;
  width: 1px;
  height: 13px;
  position: absolute;
  background-color: #fff;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .js-modal__btn2::after {
    background-color: #000;
  }
}

.modal_ti_box {
  text-align: center;
  margin-top: 50px;
}
.modal_ti_box:first-child {
  margin-top: 100px;
}
@media screen and (max-width: 798px) {
  .modal_ti_box:first-child {
    margin-top: 30px;
  }
}
@media screen and (max-width: 798px) {
  .modal_ti_box {
    margin-top: 35px;
  }
}

.modal_ti_s {
  display: inline-block;
  font-size: 16px;
  text-align: center;
  margin: 10px auto 10px;
  padding-bottom: 9px;
  border-bottom: solid 1px #000;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .modal_ti_s {
    font-size: 13px;
  }
}

.modal_ti {
  font-size: 30px;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .modal_ti {
    font-size: 21px;
  }
}

.modal_line {
  background-color: #f7f5f3;
  border-top: solid 1px #d5d5d5;
  border-bottom: solid 1px #d5d5d5;
  height: 4px;
  margin: 45px 0;
}
@media screen and (max-width: 798px) {
  .modal_line {
    margin: 35px 0 45px;
  }
}

.modal_num {
  text-align: center;
  font-size: 17px;
  font-weight: 400;
  margin-top: 95px;
  letter-spacing: 0.06em;
  font-family: "Lexend Deca";
}
@media screen and (max-width: 798px) {
  .modal_num {
    margin-top: 25px;
    font-size: 16px;
  }
}

.modal_ti2 {
  font-size: 16px;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .modal_ti2 {
    font-size: 16 4px;
  }
}

.modal_ti2 {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 85px;
  padding-bottom: 20px;
  position: relative;
}
@media screen and (max-width: 798px) {
  .modal_ti2 {
    margin-bottom: 40px;
  }
}

.modal_ti2::after {
  content: "";
  position: absolute;
  bottom: -5px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  background-color: black;
}
@media screen and (max-width: 798px) {
  .modal_ti2::after {
    width: 40px;
  }
}

.modal_txt {
  width: 40%;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .modal_txt {
    width: 100%;
  }
}

.modal_ph {
  width: 56%;
}
@media screen and (max-width: 798px) {
  .modal_ph {
    width: 100%;
  }
}
.modal_ph img {
  width: 100%;
  height: auto;
}

.modal_txt2 {
  width: 63%;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .modal_txt2 {
    width: 100%;
  }
}

.modal_ph2 {
  width: 33%;
}
@media screen and (max-width: 798px) {
  .modal_ph2 {
    width: 100%;
  }
}
.modal_ph2 img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 798px) {
  .modal_ph2.or1 {
    order: 2;
  }
}

@media screen and (max-width: 798px) {
  .modal_txt2.or2 {
    order: 1;
    margin-bottom: 40px;
  }
}

.modal_txt3 {
  width: 30%;
  margin-bottom: 20px;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .modal_txt3 {
    margin-bottom: 40px;
  }
}
.modal_txt3 h4 {
  margin-top: 30px;
}
@media screen and (max-width: 798px) {
  .modal_txt3 h4 {
    margin-top: 0px;
  }
}
@media screen and (max-width: 798px) {
  .modal_txt3 {
    width: 100%;
  }
}

@media screen and (max-width: 798px) {
  .modal_txt3_2 {
    margin-bottom: 20px;
  }
}

.modal_ph3 {
  width: 66%;
}
@media screen and (max-width: 798px) {
  .modal_ph3 {
    width: 100%;
  }
}
.modal_ph3 img {
  width: 100%;
  height: auto;
}

.caption {
  margin-top: 5px;
  font-size: 11px;
  text-indent: -1.5em;
  margin-left: 1.5em;
  line-height: 1.6;
  letter-spacing: 0.06em;
}
.caption p {
  font-size: 11px;
}

.modal_column3 {
  width: 32.5%;
  margin-right: 1%;
  margin-top: 30px;
  margin-bottom: 50px;
}
.modal_column3:last-child {
  margin-right: 0;
}

@media screen and (max-width: 798px) {
  .sp_column2 .modal_column3 {
    width: 49%;
    margin-right: 1%;
    margin-bottom: 60px;
  }
  .sp_column2 .modal_column3:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 798px) {
  .sp_column1 .modal_column3 {
    width: 100%;
    margin-right: 0%;
    margin-bottom: 0px;
  }
  .sp_column1 .modal_column3:last-child {
    margin-right: 0;
  }
}

.modal_column2 {
  width: 49.5%;
  margin-right: 1%;
}
.modal_column2:last-child {
  margin-right: 0;
}
@media screen and (max-width: 798px) {
  .modal_column2 {
    width: 100%;
    margin-right: 0%;
    margin-top: 20px;
  }
}

.hosyou_box {
  padding: 25px 0;
  border-bottom: solid 1px #d5d5d5;
}
.hosyou_box:last-child {
  border: none;
}

.hosyou_ti {
  width: 17%;
  text-align: left;
  padding-left: 5px;
  font-size: 18px;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 798px) {
  .hosyou_ti {
    width: 100%;
    font-size: 14px;
    margin-top: 7px;
  }
}
.hosyou_ti span {
  background-color: #000;
  color: #fff;
  position: relative;
  top: -1px;
  display: inline-block;
  margin-right: 7px;
  width: 21px;
  height: 21px;
  padding: 2px 0;
  font-size: 15px;
  text-align: center;
  font-family: "Lexend Deca";
}
@media screen and (max-width: 798px) {
  .hosyou_ti span {
    font-size: 13px;
  }
}

.hosyou_txt {
  width: 80%;
  text-align: left;
  font-size: 15px;
  padding-top: 0px;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
.hosyou_txt strong {
  font-weight: 600;
}
@media screen and (max-width: 798px) {
  .hosyou_txt {
    width: 100%;
    font-size: 13px;
    padding: 10px 5px;
    line-height: 1.8;
  }
}

.box255 {
  width: 255px;
}
@media screen and (max-width: 798px) {
  .box255 {
    width: 100%;
  }
}

.box600 {
  width: 600px;
}
@media screen and (max-width: 798px) {
  .box600 {
    width: 100%;
  }
}

.box530 {
  width: 530px;
}
@media screen and (max-width: 798px) {
  .box530 {
    width: 100%;
  }
}

.box320 {
  width: 320px;
}
.box320 img {
  width: 100%;
}
@media screen and (max-width: 798px) {
  .box320 {
    width: 100%;
  }
}

.txt_400 {
  letter-spacing: 0.1em;
  font-weight: 400;
}

.or1 {
  order: 1;
}

.maker {
  background: linear-gradient(transparent 60%, #ffff00 60%);
}

.or2 {
  order: 2;
  margin-left: auto;
}

.modal_box {
  padding: 0px 40px;
}
.modal_box p {
  font-size: 15px;
}
@media screen and (max-width: 798px) {
  .modal_box p {
    font-size: 13px;
  }
}
@media screen and (max-width: 798px) {
  .modal_box img {
    max-width: 100%;
  }
}

@media screen and (max-width: 798px) {
  p.modal_close {
    font-size: 14px;
  }
}

@media screen and (max-width: 798px) {
  .modal_img0 {
    margin-top: 30px;
  }
}

@media screen and (max-width: 798px) {
  .omoi_ph {
    margin-top: 90px;
  }
}

.omoi_ph img {
  width: 1400px;
  height: 408px;
  margin: 130px auto 0;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  overflow-x: hidden;
}
@media screen and (max-width: 1200px) {
  .omoi_ph img {
    width: 100%;
    height: auto;
    max-width: 1200px;
    overflow-x: auto;
  }
}
@media screen and (max-width: 798px) {
  .omoi_ph img {
    padding: 25px;
  }
}

#philosophy {
  position: relative;
}

.works_box {
  margin-bottom: 200px;
  margin-top: 65px;
}
@media screen and (max-width: 798px) {
  .works_box {
    margin-bottom: 0px;
    margin-top: 45px;
  }
}

.works_txt {
  position: absolute;
  right: 35px;
  bottom: 35px;
  padding: 24px 0;
}
@media screen and (max-width: 798px) {
  .works_txt {
    position: relative;
    right: 0px;
    padding: 29px 0 0;
    bottom: 0px;
  }
}

.works_txt1 {
  color: #fff;
  font-size: 17px;
  position: relative;
  padding: 25px 0;
  line-height: 2.2;
  margin-bottom: 30px;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 798px) {
  .works_txt1 {
    color: #000;
    font-size: 14px;
    padding: 18px 0;
    margin-bottom: 20px;
    text-align: center;
  }
}
.works_txt1::before {
  content: "";
  position: absolute;
  top: 0px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 0%;
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .works_txt1::before {
    width: 40px;
    background-color: #000;
    left: 50%;
    transform: translateX(-50%);
  }
}
.works_txt1::after {
  content: "";
  position: absolute;
  bottom: 0px;
  display: inline-block;
  width: 60px;
  height: 1px;
  left: 0%;
  background-color: #fff;
}
@media screen and (max-width: 798px) {
  .works_txt1::after {
    width: 40px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #000;
  }
}

.works_txt2 {
  font-size: 14px;
  color: #fff;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 798px) {
  .works_txt2 {
    color: #000;
    font-size: 12px;
    text-align: center;
  }
}

.staff_img {
  width: 160px;
  margin-top: -110px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}
@media screen and (max-width: 798px) {
  .staff_img {
    width: 30%;
    margin-top: 0px;
  }
}
.staff_img img {
  width: 100%;
  height: auto;
}

.staff_name {
  font-size: 19px;
  text-align: center;
  margin-bottom: 22px;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .staff_name {
    text-align: left;
    font-size: 17px;
    line-height: 1.7;
    margin-bottom: 16px;
  }
}

.staff_sub {
  font-size: 13px;
  display: block;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .staff_sub {
    font-size: 11px;
  }
}

.age {
  font-size: 14px;
  display: block;
}
@media screen and (max-width: 798px) {
  .age {
    font-size: 13px;
    margin-left: -6px;
  }
}

.staff_box {
  margin-top: 160px;
  padding: 0px 30px;
  position: relative;
  width: 334px;
  margin-right: 45px;
}
@media screen and (max-width: 798px) {
  .staff_box {
    width: 90%;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    flex-wrap: wrap;
    padding: 0px 0px;
    margin-top: 60px;
  }
}
.staff_box:last-child {
  margin-right: 0;
}
@media screen and (max-width: 798px) {
  .staff_box:last-child {
    margin-right: auto;
  }
}
.staff_box ul {
  margin: 15px 0;
}
.staff_box li {
  line-height: 1.6;
  font-size: 12px;
  margin-bottom: 14px;
  text-indent: -0.7em;
  margin-left: 1em;
}
@media screen and (max-width: 798px) {
  .staff_box li {
    font-size: 11px;
  }
}
.staff_box li::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background-image: url(../images/SVG/dot.svg);
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
  position: relative;
  top: -2px;
}

.staff_box::before, .staff_box::after {
  content: "";
  width: 15px;
  height: 100%;
  position: absolute;
}
@media screen and (max-width: 798px) {
  .staff_box::before, .staff_box::after {
    width: 100%;
    height: 15px;
    position: relative;
  }
}

.staff_box::before {
  border-left: solid 1px #cfcfcf;
  border-top: solid 1px #cfcfcf;
  border-bottom: solid 1px #cfcfcf;
  top: 0;
  left: 0;
}
@media screen and (max-width: 798px) {
  .staff_box::before {
    border-left: solid 1px #cfcfcf;
    border-top: solid 1px #cfcfcf;
    border-bottom: solid 0px #cfcfcf;
    border-right: solid 1px #cfcfcf;
    top: -20px;
  }
}

.staff_box::after {
  border-right: solid 1px #cfcfcf;
  border-top: solid 1px #cfcfcf;
  border-bottom: solid 1px #cfcfcf;
  top: 0;
  right: 0;
}
@media screen and (max-width: 798px) {
  .staff_box::after {
    border-right: solid 1px #cfcfcf;
    border-left: solid 1px #cfcfcf;
    border-top: solid 0px #cfcfcf;
    border-bottom: solid 1px #cfcfcf;
    top: auto;
    bottom: 0;
  }
}

.staff_txt_sp {
  padding-bottom: 12px;
}
@media screen and (max-width: 798px) {
  .staff_txt_sp {
    padding-bottom: 0px;
    width: 58%;
    margin-left: auto;
    margin-top: 10px;
  }
}
.staff_txt_sp p {
  font-size: 15px;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .staff_txt_sp p {
    font-size: 13px;
  }
}

#flow {
  background-color: #f6f4f2;
  margin-top: 180px;
  padding: 118px 0 150px;
}
@media screen and (max-width: 798px) {
  #flow {
    margin-top: 110px;
    padding: 78px 30px 50px;
  }
}

.flow_ti {
  text-align: center;
  margin-bottom: 20px;
  font-family: "Lexend Deca";
  letter-spacing: 0.1em;
  font-weight: 400;
}

.flow_box {
  background-color: #fff;
  margin-top: -10px;
  padding: 65px 90px 90px;
}
@media screen and (max-width: 798px) {
  .flow_box {
    padding: 45px 30px 40px;
  }
}

.flow_txt_1 {
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 798px) {
  .flow_txt_1 {
    margin-bottom: 20px;
    text-align: left;
  }
}
.flow_txt_1 p {
  font-size: 14px;
  line-height: 2.1;
  font-feature-settings: "palt";
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .flow_txt_1 p {
    text-align: left;
    font-size: 12px;
  }
}

.flow_line {
  margin-top: 10px;
}

.flow_line img {
  width: 800px;
  margin: auto;
  display: block;
}

/*toggle*/
.midashi_open {
  display: block;
  cursor: pointer;
  width: 100%;
  min-height: 65px;
  font-size: 17px;
  line-height: 65px;
  position: relative;
  margin-bottom: 0px;
}
@media screen and (max-width: 798px) {
  .midashi_open {
    margin-bottom: 0px;
    min-height: 45px;
    line-height: 45px;
    margin-top: 5px;
  }
}

.midashi_open:after {
  position: absolute;
  right: 10px;
  top: 50%;
  color: #909090;
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 10px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .midashi_open:after {
    width: 10px;
    height: 10px;
    top: 38%;
  }
}

.midashi_open.active {
  margin-bottom: 0;
}

.midashi_open.active:after {
  transform: rotate(225deg);
}

.midashi_open span {
  margin-left: 7px;
  font-size: 13px;
  color: #838383;
  border: solid 1px #838383;
  padding: 1px 4px;
  height: 23px;
  line-height: 1.4;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 798px) {
  .midashi_open span {
    font-size: 11px;
    height: 20px;
  }
}

.non_bd {
  border: none !important;
  padding: 2px 0 0 !important;
}
@media screen and (max-width: 798px) {
  .non_bd {
    padding: 0px 0 0 !important;
    margin-left: 0 !important;
  }
}

.flow_txt {
  width: 100%;
  margin: 0px;
  padding: 0px 20px 30px 91px;
  display: none;
}
@media screen and (max-width: 798px) {
  .flow_txt {
    padding: 10px 0px 30px 20%;
  }
}
@media screen and (max-width: 798px) {
  .flow_txt p {
    font-size: 11px;
  }
}

.flow_txt a {
  text-decoration: underline;
}

.flow_txt a:hover {
  text-decoration: none;
}

.flow_ic {
  width: 90px;
  padding: 0px 0px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 798px) {
  .flow_ic {
    width: 20%;
  }
}
.flow_ic img {
  width: 100%;
  height: auto;
  transform-origin: center center;
  transform: scale(0.5);
}

.flow_ti_s {
  width: 70%;
  letter-spacing: 0.13em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 798px) {
  .flow_ti_s {
    font-size: 13px;
    line-height: 1.4;
  }
}

#news {
  margin-top: 150px;
}
@media screen and (max-width: 798px) {
  #news {
    margin-top: 90px;
  }
}

.news_txt {
  margin: 60px 0 60px;
}
@media screen and (max-width: 798px) {
  .news_txt {
    margin: 30px 0 60px;
  }
}
@media screen and (max-width: 798px) {
  .news_txt p {
    font-size: 12px;
  }
}

@media screen and (max-width: 798px) {
  #news .container {
    width: 90%;
  }
}

.insta_btn a {
  width: 350px;
  line-height: 60px;
  text-align: center;
  background: #fff;
  border: solid 1px #000;
  border-radius: 50px;
  z-index: 101;
  display: block;
  position: relative;
  margin: 50px auto;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
.insta_btn a::before {
  content: "";
  margin-right: 10px;
  display: inline-block;
  width: 15px; /*画像の幅*/
  height: 15px; /*画像の高さ*/
  background-image: url(../images/2x/instagra_ic_bk.png);
  background-size: contain;
  vertical-align: middle;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
.insta_btn a:hover {
  background-color: #000;
  color: #fff;
}
@media screen and (max-width: 798px) {
  .insta_btn a:hover {
    color: #000;
    background-color: #fff;
    border: solid 1px #000;
  }
}
.insta_btn a:hover::before {
  background-image: url(../images/SVG/instagra_ic.svg);
}
@media screen and (max-width: 798px) {
  .insta_btn a:hover::before {
    background-image: url(../images/2x/instagra_ic_bk.png);
  }
}

#information {
  margin-top: 150px;
}

.map {
  margin-top: 80px;
}
@media screen and (max-width: 798px) {
  .map {
    margin-top: 50px;
  }
}

.info_box {
  margin-top: 70px;
}
@media screen and (max-width: 798px) {
  .info_box {
    margin-top: 50px;
  }
}

.info_L {
  width: 55%;
}
@media screen and (max-width: 798px) {
  .info_L {
    width: 90%;
    margin: 0 auto 30px;
  }
}

.info_R {
  width: 40%;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 798px) {
  .info_R {
    width: 90%;
    margin: 0 auto;
  }
}
.info_R h3 {
  font-size: 16px;
  margin-bottom: 30px;
  width: 100%;
}
@media screen and (max-width: 798px) {
  .info_R h3 {
    font-size: 13px;
    margin-bottom: 20px;
  }
}

.info_table {
  width: 100%;
}
.info_table th {
  font-weight: 300;
  font-size: 14px;
  padding: 0px 0 10px;
  width: 36%;
  line-height: 1.8;
}
@media screen and (max-width: 798px) {
  .info_table th {
    font-size: 12px;
  }
}
.info_table td {
  font-weight: 300;
  font-size: 14px;
  padding: 0px 0 10px;
  line-height: 1.8;
}
@media screen and (max-width: 798px) {
  .info_table td {
    font-size: 12px;
  }
}

.link_non a {
  pointer-events: none;
}

.info_table a {
  text-decoration: underline;
}

.info_table a:hover {
  text-decoration: none;
}

.slider {
  margin-left: 0;
  margin-right: 0;
  overflow: hidden; /* 画像がはみ出ないようにする */
  width: 100vw;
}
@media screen and (max-width: 798px) {
  .slider {
    height: 100vh;
    height: -webkit-fill-available;
  }
}

.slick-list {
  height: 100vh;
}

.slick-img img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 798px) {
  .slick-img img {
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}

@-webkit-keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1); /* 拡大率 */
  }
}

@keyframes fadezoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.1); /* 拡大率 */
  }
}
.add-animation {
  -webkit-animation: fadezoom 10s 0s forwards;
          animation: fadezoom 10s 0s forwards;
}

@media screen and (max-width: 798px) {
  .slider1 img {
    -o-object-position: 30% 0;
       object-position: 30% 0;
  }
}

@media screen and (max-width: 798px) {
  .slider2 img {
    -o-object-position: 65% 0;
       object-position: 65% 0;
  }
}

.td21_1 {
  width: 46%;
}
@media screen and (max-width: 798px) {
  .td21_1 {
    width: 100%;
  }
}

.td21_2 {
  width: 54%;
}
@media screen and (max-width: 798px) {
  .td21_2 {
    width: 100%;
  }
}
.td21_2 h4 {
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 40px;
}
.td21_2 p {
  line-height: 1.9;
  margin-bottom: 20px;
}

.red_bg {
  background-color: #e72b57;
  color: #fff;
  padding-left: 2px;
  padding-right: 2px;
}

.blue_bg {
  background-color: #2aa5d8;
  color: #fff;
  padding-left: 2px;
  padding-right: 2px;
}

.midashi3 {
  font-size: 18px;
  margin: 55px 0 30px;
  line-height: 1.9;
  letter-spacing: 0.13em;
}
@media screen and (max-width: 798px) {
  .midashi3 {
    font-size: 14px;
    margin-bottom: 20px;
    margin-top: 40px;
  }
}
.midashi3 span {
  font-size: 22px;
  margin-left: 7px;
}

@media screen and (max-width: 798px) {
  .container2 .midashi3 {
    text-align: center;
  }
}

.section3_sub_box {
  margin-left: 40px;
}
@media screen and (max-width: 798px) {
  .section3_sub_box {
    margin-left: 0px;
  }
}
.section3_sub_box p {
  font-size: 14px;
  line-height: 2.4;
  margin-bottom: 40px;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .section3_sub_box p {
    font-size: 12px;
    margin-bottom: 20px;
    line-height: 1.9;
  }
}

.section3_ti2 {
  margin-top: 90px;
}
@media screen and (max-width: 798px) {
  .section3_ti2 {
    margin-top: 40px;
  }
}

.flont-line::before {
  position: relative;
  content: "";
  top: -5px;
  display: inline-block;
  width: 40px;
  height: 1px;
  left: 0%;
  margin-right: 5px;
  background-color: black;
}
@media screen and (max-width: 798px) {
  .flont-line::before {
    width: 30px;
  }
}

.td31_1 {
  width: 332px;
  margin-right: 18px;
  border-radius: 6px;
}
.td31_1:last-child {
  margin-right: 0;
}
@media screen and (max-width: 798px) {
  .td31_1 {
    width: 100%;
    margin-bottom: 15px;
    margin-right: 0;
  }
}

.lesson_ti0_1 {
  text-align: center;
  color: #fff;
  padding: 33px 10px 30px;
  background-color: #ee6988;
  border-radius: 6px 6px 0 0;
}
@media screen and (max-width: 798px) {
  .lesson_ti0_1 {
    padding: 20px 10px 20px;
  }
}

.lesson_ti0_2 {
  text-align: center;
  color: #fff;
  padding: 33px 10px 30px;
  background-color: #0bcdb4;
  border-radius: 6px 6px 0 0;
}
@media screen and (max-width: 798px) {
  .lesson_ti0_2 {
    padding: 20px 10px 20px;
  }
}

.lesson_ti0_3 {
  text-align: center;
  color: #fff;
  padding: 33px 10px 30px;
  background-color: #2aa5d8;
  border-radius: 6px 6px 0 0;
}
@media screen and (max-width: 798px) {
  .lesson_ti0_3 {
    padding: 20px 10px 20px;
  }
}

.td31_in {
  padding: 25px;
}

.td31_w {
  background-color: #fff;
  border-radius: 0 0 6px 6px;
}

.box_w2 {
  background-color: #fff;
  border-radius: 6px;
  padding: 40px;
}
@media screen and (max-width: 798px) {
  .box_w2 {
    padding: 25px;
  }
}

.ti_pink {
  font-size: 22px;
  text-align: center;
  color: #ee6988;
  font-weight: 500;
  margin-bottom: 38px;
}
@media screen and (max-width: 798px) {
  .ti_pink {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.ti_green {
  font-size: 22px;
  text-align: center;
  color: #0bcdb4;
  font-weight: 500;
  margin-bottom: 38px;
}
@media screen and (max-width: 798px) {
  .ti_green {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.ti_blue {
  font-size: 22px;
  text-align: center;
  color: #2aa5d8;
  font-weight: 500;
  margin-bottom: 14px;
}
@media screen and (max-width: 798px) {
  .ti_blue {
    font-size: 16px;
    margin-bottom: 20px;
  }
}

.td31_in th {
  font-weight: 400;
  width: 39%;
  font-weight: 400;
}
@media screen and (max-width: 798px) {
  .td31_in th {
    width: 30%;
  }
}

.td31_in td {
  font-weight: 300;
}

.td31_in th, .td31_in td {
  padding: 5px 0;
  font-size: 15px;
}
@media screen and (max-width: 798px) {
  .td31_in th, .td31_in td {
    font-size: 13px;
  }
}

.s_ti {
  position: relative;
  display: inline-block;
  padding: 0 50px;
  font-size: 17px;
  font-weight: 500;
}
@media screen and (max-width: 798px) {
  .s_ti {
    font-size: 13px;
  }
}

.lesson_ti1 {
  font-size: 32px;
  font-weight: 500;
  margin-top: 10px;
}
@media screen and (max-width: 798px) {
  .lesson_ti1 {
    font-size: 21px;
  }
}

.s_ti:before, .s_ti:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 40px;
  height: 1px;
  background-color: #fff;
}

.s_ti:before {
  left: 0;
}

.s_ti:after {
  right: 0;
}

.about_box {
  background-color: #d1edea;
  padding: 60px 5%;
}
@media screen and (max-width: 798px) {
  .about_box {
    padding: 40px 5% 25px;
  }
}

.about_box1 {
  background-color: #d1edea;
}

.lesson_box1 {
  width: 61%;
}
@media screen and (max-width: 798px) {
  .lesson_box1 {
    width: 100%;
  }
}

.lesson_box2 {
  width: 35%;
  margin-left: auto;
}
@media screen and (max-width: 798px) {
  .lesson_box2 {
    width: 100%;
    margin-top: 15px;
  }
}

.lesson_box1 h3 {
  color: #e72b57;
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 20px;
}
@media screen and (max-width: 798px) {
  .lesson_box1 h3 {
    font-size: 21px;
  }
}

.lesson_box1 h4 {
  font-size: 22px;
  font-weight: 400;
  margin-bottom: 20px;
}
@media screen and (max-width: 798px) {
  .lesson_box1 h4 {
    font-size: 16px;
  }
}

.lesson_box1 p {
  font-size: 15px;
  line-height: 1.6;
}

.tx_red {
  font-size: 13px;
  color: #e72b57;
  margin-top: 5px;
  font-weight: 400;
}
@media screen and (max-width: 798px) {
  .tx_red {
    font-size: 12px;
  }
}

.tx_or {
  font-size: 13px;
  color: #fb8046;
}

.instructor1 {
  width: 55%;
  padding: 70px 40px 70px 10%;
}
@media screen and (max-width: 798px) {
  .instructor1 {
    width: 100%;
    padding: 30px 30px 30px;
  }
}
.instructor1 h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 2.6;
  margin-bottom: 40px;
}
@media screen and (max-width: 798px) {
  .instructor1 h3 {
    font-size: 16px;
    line-height: 1.5;
    margin-top: 20px;
    margin-bottom: 30px;
  }
}
.instructor1 h4 {
  color: #e72b57;
  font-size: 42px;
  font-weight: 500;
  margin-bottom: 30px;
}
@media screen and (max-width: 798px) {
  .instructor1 h4 {
    font-size: 25px;
  }
}
.instructor1 p {
  line-height: 1.8;
  margin-bottom: 20px;
}
@media screen and (max-width: 798px) {
  .instructor1 p {
    font-size: 13px;
  }
}
@media screen and (max-width: 798px) {
  .instructor1 {
    width: 100%;
  }
}

.instructor2 {
  width: 45%;
}
@media screen and (max-width: 798px) {
  .instructor2 {
    width: 100%;
  }
}

.box_pink {
  background-color: #fdeef1;
  border-radius: 6px;
  margin-top: 40px;
  padding: 30px;
}
@media screen and (max-width: 798px) {
  .box_pink {
    padding: 15px;
  }
}
.box_pink h4 {
  font-size: 18px;
  margin-bottom: 20px;
  font-weight: 500;
}
@media screen and (max-width: 798px) {
  .box_pink h4 {
    font-size: 13px;
  }
}
.box_pink li {
  margin: 10px 0 5px;
}
@media screen and (max-width: 798px) {
  .box_pink li {
    font-size: 12px;
  }
}
.box_pink a {
  color: #2aa5d8;
  text-decoration: underline;
  transition: all 0.3s ease-out;
  -webkit-transition: all 0.3s ease-out;
}
.box_pink a::after {
  content: ""; /*何も入れない*/
  display: inline-block; /*忘れずに！*/
  width: 21px; /*画像の幅*/
  height: 19px; /*画像の高さ*/
  background-image: url("../images/new-win.png");
  background-size: contain;
  vertical-align: middle;
  margin-left: 4px;
}
@media screen and (max-width: 798px) {
  .box_pink a::after {
    width: 14px; /*画像の幅*/
    height: 13px; /*画像の高さ*/
  }
}
.box_pink a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.box_pink li:before {
  color: #e72b57;
  content: "●";
  font-weight: 600;
  position: relative;
  top: -3px;
  font-size: 8px;
  font-size: 6px;
  margin-right: 9px;
}
@media screen and (max-width: 798px) {
  .box_pink li:before {
    font-size: 3px;
    margin-right: 4px;
    top: -2px;
  }
}

.trial2_1 {
  width: 60%;
}
@media screen and (max-width: 798px) {
  .trial2_1 {
    width: 100%;
  }
}
.trial2_1 h3 {
  font-size: 42px;
  font-weight: 500;
  color: #fb8046;
  margin-bottom: 20px;
}
@media screen and (max-width: 798px) {
  .trial2_1 h3 {
    font-size: 21px;
  }
}
.trial2_1 p {
  line-height: 1.8;
}

.trial2_2 {
  width: 40%;
}
@media screen and (max-width: 798px) {
  .trial2_2 {
    width: 100%;
    margin-top: 15px;
  }
}

#trial2 {
  background-color: #feede5;
  padding: 40px 0;
}
@media screen and (max-width: 798px) {
  #trial2 {
    padding: 20px 30px 30px;
  }
}

.midashi4 {
  text-align: center;
  color: #fb8046;
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 35px;
}
@media screen and (max-width: 798px) {
  .midashi4 {
    text-align: left;
    font-size: 21px;
    margin-bottom: 17px;
  }
}

.mb10 {
  margin-bottom: 10px;
}

.td31 {
  width: 332px;
  margin-right: 18px;
}
.td31:last-child {
  margin-right: 0;
}
@media screen and (max-width: 798px) {
  .td31 {
    width: 100%;
    margin-bottom: 20px;
    margin-right: 0;
  }
}

.cl2_img {
  width: 32%;
}
@media screen and (max-width: 798px) {
  .cl2_img {
    width: 37%;
  }
}

.cl2_tx {
  width: 64%;
  margin-left: auto;
}
@media screen and (max-width: 798px) {
  .cl2_tx {
    width: 60%;
  }
}
.cl2_tx h4 {
  font-size: 22px;
  color: #fb8046;
  margin-bottom: 20px;
  margin-top: 5px;
  font-weight: 500;
}
@media screen and (max-width: 798px) {
  .cl2_tx h4 {
    font-size: 16px;
    margin-bottom: 14px;
    margin-top: 0;
  }
}
.cl2_tx p {
  line-height: 1.6;
}
@media screen and (max-width: 798px) {
  .cl2_tx p {
    font-size: 12px;
  }
}

.voice {
  background-color: #edf8f7;
  margin-top: 60px;
  padding: 60px;
  margin-bottom: 60px;
}
@media screen and (max-width: 798px) {
  .voice {
    padding: 40px;
    margin: 35px 0 0;
  }
}
.voice .f_box {
  justify-content: center;
}

.span_block span {
  display: block;
  margin-top: 10px;
  margin-left: 0;
}

.voice h3 {
  text-align: center;
  color: #0bcdb4;
  font-size: 32px;
  margin-bottom: 30px;
}
@media screen and (max-width: 798px) {
  .voice h3 {
    font-size: 21px;
  }
}

.box_voice {
  background-color: #fff;
  padding: 38px;
  border-radius: 5px;
  width: 32%;
  margin-right: 0.5%;
  margin-left: 0.5%;
  margin-bottom: 1%;
}
@media screen and (max-width: 798px) {
  .box_voice {
    width: 100%;
    margin-right: 0%;
    margin-left: 0%;
    padding: 20px;
    margin-bottom: 10px;
  }
}
.box_voice h4 {
  color: #0bcdb4;
  font-size: 17px;
  margin-bottom: 14px;
  font-weight: 500;
}
@media screen and (max-width: 798px) {
  .box_voice h4 {
    font-size: 16px;
  }
}
.box_voice p {
  font-size: 14px;
  line-height: 1.5;
}

.contact1 {
  width: 315px;
  font-weight: 600;
}
@media screen and (max-width: 798px) {
  .contact1 {
    width: 100%;
    margin-bottom: 20px;
  }
}
.contact1 h3 {
  font-size: 21px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 798px) {
  .contact1 h3 {
    font-size: 15px;
  }
}
.contact1 p {
  font-size: 15px;
  margin-top: 7px;
  letter-spacing: 0.1em;
  font-weight: 600;
}
@media screen and (max-width: 798px) {
  .contact1 p {
    margin-top: 3px;
    font-size: 12px;
  }
}

.contact2 {
  width: 280px;
  padding: 0 20px 0 10px;
  text-align: center;
  border-right: solid 1px #a9a9a9;
  font-size: 17px;
  font-weight: 600;
}
@media screen and (max-width: 798px) {
  .contact2 {
    width: 100%;
    font-size: 14px;
    margin: auto;
    border-right: solid 0px #a9a9a9;
  }
}

.contact3 {
  width: 275px;
  padding: 0 10px;
  text-align: center;
  display: flex;
  justify-content: center;
  justify-items: center;
  align-items: center;
}
.contact3 a {
  color: #3e3a39;
  font-size: 17px;
  display: block;
  margin: auto;
  letter-spacing: 0.1em;
  font-weight: 600;
  transition: all 0.5s ease 0s;
  -webkit-transition: all 0.5s ease 0s;
}
@media screen and (max-width: 798px) {
  .contact3 a {
    font-size: 15px;
    margin-top: 25px;
    border-top: solid 1px #3e3a39;
    padding-top: 25px;
    padding-left: 20px;
    padding-right: 20px;
  }
}
.contact3 a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 13px;
  background-image: url("../images/SVG/ic_mail.svg");
  background-size: contain;
  vertical-align: middle;
  margin-right: 4px;
  position: relative;
  top: -1px;
}
.contact3 a:hover {
  opacity: 0.7;
}

.tel_sub {
  letter-spacing: 0.1em;
}

.tel {
  font-size: 30px;
  font-weight: 400;
  font-family: "Lexend Deca";
}
@media screen and (max-width: 798px) {
  .tel {
    font-size: 27px;
  }
}
.tel span {
  font-size: 27px;
}
@media screen and (max-width: 798px) {
  .tel span {
    font-size: 21px;
  }
}

.footer_sitemap {
  padding: 40px 0 140px;
}
@media screen and (max-width: 798px) {
  .footer_sitemap {
    align-items: flex-start;
    padding: 40px 0 0px;
  }
}

.footer_logo {
  width: 405px;
}
@media screen and (max-width: 798px) {
  .footer_logo {
    width: 30%;
    text-align: center;
    align-items: flex-start;
    justify-content: center;
  }
}

.footer_logo1 img {
  width: 95px;
  height: auto;
}
@media screen and (max-width: 798px) {
  .footer_logo1 img {
    width: 62px;
  }
}

.footer_insta img {
  width: 26px;
  height: auto;
  margin: 66px 20px;
}
@media screen and (max-width: 798px) {
  .footer_insta img {
    margin: 20px 20px;
  }
}

#page_top {
  position: fixed;
  bottom: 30px;
  right: 30px;
}
@media screen and (max-width: 798px) {
  #page_top {
    bottom: 66px;
    right: 10px;
  }
}

#page_top a {
  background-color: #ee6988;
  color: #fff;
  text-align: center;
  text-decoration: none;
  padding: 5px 8px;
  display: block;
  border-radius: 8px;
  transition: all 0.2s ease-out;
  -webkit-transition: all 0.2s ease-out;
}
@media screen and (max-width: 798px) {
  #page_top a {
    font-size: 10px;
    padding: 6px 8px;
  }
}

#page_top a:hover {
  opacity: 0.8;
  text-decoration: none;
}

#page_top a::before {
  content: "";
  display: block;
  width: 30px; /*画像の幅*/
  height: 21px; /*画像の高さ*/
  background-image: url("../images/pc_arrow.png");
  background-size: cover;
  vertical-align: middle;
  left: 50%;
  position: relative;
  transform: translateX(-50%);
}
@media screen and (max-width: 798px) {
  #page_top a::before {
    background-image: url("../images/sp_arrow.png");
    width: 14px;
    height: 8px;
    margin-bottom: 3px;
  }
}

.mt0 {
  margin-top: 0px !important;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt20m {
  margin-top: -20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px !important;
}
@media screen and (max-width: 798px) {
  .mt80 {
    margin-top: 0px !important;
  }
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

/*.fadeIn {
    transform: translate3d(0, 30px, 0);
    transition: 1s;
    opacity: 0;
}

.fadeIn.animated {
    transform: translate3d(0, 0, 0);
    opacity: 1;
}
*/
.sp_hosyou {
  letter-spacing: 0.06em;
  margin-bottom: 25px;
  margin-top: 50px;
}

.fadeIn {
  opacity: 0;
  transform: translate(0, 30px);
  transition: all 2000ms;
}

.animated {
  opacity: 1;
  transform: translate(0, 0);
}

/* 2つ目の要素に400msのdelayをかける */
.lag01 {
  -moz-transition-delay: 200ms;
  -webkit-transition-delay: 200ms;
  -o-transition-delay: 200ms;
  -ms-transition-delay: 200ms;
}
@media screen and (max-width: 798px) {
  .lag01 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

/* 3つ目の要素に800msのdelayをかける */
.lag02 {
  -moz-transition-delay: 400ms;
  -webkit-transition-delay: 400ms;
  -o-transition-delay: 400ms;
  -ms-transition-delay: 400ms;
}
@media screen and (max-width: 798px) {
  .lag02 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

.lag03 {
  -moz-transition-delay: 600ms;
  -webkit-transition-delay: 600ms;
  -o-transition-delay: 600ms;
  -ms-transition-delay: 600ms;
}
@media screen and (max-width: 798px) {
  .lag03 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

.lag04 {
  -moz-transition-delay: 800ms;
  -webkit-transition-delay: 800ms;
  -o-transition-delay: 800ms;
  -ms-transition-delay: 800ms;
}
@media screen and (max-width: 798px) {
  .lag04 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

.lag05 {
  -moz-transition-delay: 1000ms;
  -webkit-transition-delay: 1000ms;
  -o-transition-delay: 1000ms;
  -ms-transition-delay: 1000ms;
}
@media screen and (max-width: 798px) {
  .lag05 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

.lag06 {
  -moz-transition-delay: 1200ms;
  -webkit-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms;
}
@media screen and (max-width: 798px) {
  .lag06 {
    -moz-transition-delay: 100ms;
    -webkit-transition-delay: 100ms;
    -o-transition-delay: 100ms;
    -ms-transition-delay: 100ms;
  }
}

#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: #3e3a39;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.spinner {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

@media screen and (max-width: 798px) {
  .section3_header .hd_title1 {
    background-color: #fff;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 50px;
  }
  .sp_instagram {
    position: fixed;
    right: 80px;
    top: 32px;
    z-index: 9997;
  }
  .sp_instagram svg {
    width: 30px;
  }
  .about_box h2 {
    width: 50%;
  }
  .about_box h2 img {
    width: 100%;
    height: auto;
  }
  .header-scroll .sp_instagram {
    top: 24px;
  }
  header h1 {
    width: 170px;
    margin-left: 10px;
    padding: 15px 0 0;
    position: relative;
    z-index: 9;
  }
}
@media screen and (max-width: 798px) and (max-width: 798px) {
  header h1 {
    padding: 10px 0;
  }
}
@media screen and (max-width: 798px) {
  header h1 img {
    width: 100%;
    height: auto;
  }
}
@media screen and (max-width: 798px) {
  .spmb0 {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 798px) {
  .sp_sns {
    padding: 25px 15px;
  }
}
@media screen and (max-width: 798px) {
  .sp_sns img {
    margin: 0 15px;
  }
}
@media screen and (max-width: 798px) {
  .trial .midashi3 span {
    display: block;
    margin-top: 7px;
    margin-left: 0;
  }
}
@media screen and (max-width: 798px) {
  .inst_sp {
    padding: 0 40px 40px;
  }
  .inst_sp img {
    border-radius: 6px;
  }
}
@media screen and (max-width: 798px) {
  .spmt30 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 798px) {
  .mt50 {
    margin-top: 20px;
  }
}
@media screen and (max-width: 798px) {
  .sphidden {
    display: none;
  }
}
@media screen and (max-width: 1200px) {
  nav li {
    margin: 30px 10px 0px;
  }
  .slider {
    min-width: 1200px;
  }
}
@media screen and (max-width: 798px) {
  .sp_hosyou {
    text-align: center;
    margin: -10px 0 30px !important;
  }
  .sp_top50 {
    margin-top: 40px !important;
  }
  .sp_top20 {
    margin-top: 20px !important;
  }
  .sp_or1 {
    order: 1;
  }
  .sp_or2 {
    order: 2;
  }
  .sp_btm10 {
    padding-bottom: 0px;
  }
  .sp_top0 {
    margin-top: 25px !important;
    padding-bottom: 0;
  }
  .sitemap nav a span {
    font-size: 11px;
    top: -2px;
  }
  .slider {
    min-width: 100%;
  }
  .bottom_contact {
    bottom: 0;
    z-index: 9997;
    height: 65px;
    left: 0;
    width: 100%;
    position: fixed;
    border-width: 1px;
    border-radius: 11px 11px 0px 0px;
    opacity: 0;
    transition: all 0.5s ease 0s;
    -webkit-transition: all 0.5s ease 0s;
    background-color: #fff;
  }
  .bottom_contact.scrollside {
    opacity: 1;
  }
  #new iframe {
    width: 100% !important;
  }
  #news ul li {
    width: 50% !important;
  }
  /* -------------------- */
  /* header
  /* -------------------- */
  .header {
    background-color: rgba(255, 255, 255, 0.91);
    color: #000;
    height: 75px;
    padding: 0 120px;
    border-bottom: 1px solid #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  /* ------------------ */
  /* fv
  /* ------------------ */
  /* ----------------------- */
  /* base_sp
  /* ----------------------- */
  /* ------------------ */
  /* humberger-menu */
  /* ------------------ */
}
@media screen and (max-width: 798px) and (max-width: 798px) {
  .header {
    background-color: rgba(255, 255, 255, 0);
    border-bottom: 0px solid #fff;
  }
}
@media screen and (max-width: 798px) {
  .burger-btn {
    display: none;
  }
}
@media screen and (max-width: 798px) {
  .fv {
    height: 90vh;
    background-color: rgba(255, 255, 255, 0.87);
    background-image: url(../img/fv-bgi@2x.jpg);
    background-position: center;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
}
@media screen and (max-width: 798px) {
  .main-copy {
    font-size: 50px;
    color: #fff;
    font-weight: bold;
    border: 2px solid #fff;
    padding: 34px 42px;
  }
}
@media screen and (max-width: 798px) {
  .header {
    padding: 0;
  }
}
@media screen and (max-width: 798px) {
  .burger-btn {
    display: block;
    width: 40px;
    height: 44px;
    position: fixed;
    top: 25px;
    right: 20px;
    z-index: 9997;
    border: none;
    border-radius: 3px;
  }
}
@media screen and (max-width: 798px) {
  .header-scroll .burger-btn {
    top: 16px;
  }
}
@media screen and (max-width: 798px) {
  .bar {
    width: 40px;
    height: 2px;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
  }
}
@media screen and (max-width: 798px) {
  .header-scroll .bar {
    background-color: #000;
  }
}
@media screen and (max-width: 798px) {
  .close .bar {
    background-color: #000;
  }
}
@media screen and (max-width: 798px) {
  .bar_top {
    top: 10px;
  }
}
@media screen and (max-width: 798px) {
  .bar_mid {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 798px) {
  .bar_bottom {
    bottom: 10px;
  }
}
@media screen and (max-width: 798px) {
  .burger-btn.close .bar_top {
    transform: translate(-50%, 12px) rotate(30deg);
    transition: transform 0.3s;
  }
}
@media screen and (max-width: 798px) {
  .burger-btn.close .bar_mid {
    opacity: 0;
    transition: opacity 0.3s;
  }
}
@media screen and (max-width: 798px) {
  .burger-btn.close .bar_bottom {
    transform: translate(-50%, -9px) rotate(-30deg);
    transition: transform 0.3s;
  }
}
@media screen and (max-width: 798px) {
  .nav-wrapper {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9991;
  }
}
@media screen and (max-width: 798px) {
  .header-nav {
    width: 90%;
    height: 100%;
    background-color: rgb(255, 255, 255);
    z-index: 2;
    margin-left: auto;
  }
}
@media screen and (max-width: 798px) {
  .header-nav::after {
    content: "";
    position: absolute;
    bottom: 0px;
    display: inline-block;
    width: 100%;
    height: 100vh;
    left: 0%;
    z-index: 1;
    background-color: rgba(0, 0, 0, 0.8);
  }
}
@media screen and (max-width: 798px) {
  .header-nav_in {
    padding: 70px 40px 0px;
    z-index: 2;
    background-color: #fff;
    height: 100vh;
    position: relative;
    overflow: auto;
  }
}
@media screen and (max-width: 798px) {
  .header-nav.nav-list {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  }
}
@media screen and (max-width: 798px) {
  .header-nav.nav-item {
    margin-right: 0;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 798px) {
  .header-nav a span {
    margin-right: 6px;
    font-size: 13px;
    border-bottom: solid 1px #000;
    position: relative;
    top: -3px;
    font-family: "Lexend Deca";
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 798px) {
  body.noscroll {
    overflow: hidden !important;
  }
}
@media screen and (max-width: 798px) {
  body.fixed {
    width: 100%;
    height: 100%;
    position: fixed;
  }
}
@media screen and (max-width: 798px) {
  .header-nav .button2 {
    margin-top: 30px;
    width: 100%;
    padding: 22px;
  }
}
@media screen and (max-width: 798px) {
  .header-nav .button2 a {
    margin-top: 0;
    font-size: 18px;
  }
}
@media screen and (max-width: 798px) {
  .header_instagram {
    margin-left: 0;
    margin-top: 45px !important;
  }
  .header_instagram img {
    height: 25px;
    width: auto;
  }
}
@media screen and (max-width: 798px) {
  .sp_nav_contact {
    border-top: solid 1px rgb(213, 213, 213);
    margin-top: 10px;
    padding: 23px 5px 0;
    text-align: center;
    border-bottom: solid 1px rgb(213, 213, 213);
  }
}
@media screen and (max-width: 798px) {
  .sp_title1 {
    font-size: 15px;
    line-height: 1.3;
  }
}
@media screen and (max-width: 798px) {
  .sp_title2 {
    font-size: 13px;
    line-height: 1;
  }
}
@media screen and (max-width: 798px) {
  .sp_tel {
    padding: 22px 0;
  }
  .sp_tel img {
    height: 48px;
    width: auto;
  }
}
@media screen and (max-width: 798px) {
  .sp_mail {
    border-top: solid 1px rgb(213, 213, 213);
    margin: 0 12px;
    padding: 22px 0px;
  }
  .sp_mail img {
    height: 17px;
    width: auto;
  }
}
@media screen and (max-width: 798px) {
  .spnav1 a {
    font-size: 17px;
    font-weight: 400;
  }
}
@media screen and (max-width: 798px) {
  .spnav1 li {
    margin-bottom: 7%;
    margin-top: 10px;
  }
}
@media screen and (max-width: 798px) {
  .spnav2 a {
    font-size: 13px;
    font-weight: 400;
  }
}
@media screen and (max-width: 798px) {
  .spnav2 li {
    margin-bottom: 11%;
    margin-top: 10px;
  }
}
@media screen and (max-width: 798px) {
  .spnav1 {
    padding-bottom: 5px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 798px) {
  .header-nav .sp_sns {
    padding: 0 15px;
  }
}
@media screen and (max-width: 798px) {
  .spfix {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 10px;
    background-color: rgba(255, 255, 255, 0.91);
  }
}
@media screen and (max-width: 798px) {
  .spfix .button2 a {
    margin-top: 0;
    font-size: 15px;
    line-height: 40px;
    height: 44px;
    padding: 0 10px 5px;
  }
}
@media screen and (max-width: 798px) {
  .spfix .button2 a::after {
    top: 10px;
  }
}
@media screen and (max-width: 798px) {
  footer {
    padding-bottom: 50px;
  }
}
.pchidden {
  display: none;
}
@media screen and (max-width: 798px) {
  .pchidden {
    display: block;
  }
}

.sub_midashi5 {
  margin-top: 70px;
  text-align: center;
}
@media screen and (max-width: 798px) {
  .sub_midashi5 {
    margin-top: 50px;
  }
}

.modal_box2 {
  margin-bottom: 10px;
}
@media screen and (max-width: 798px) {
  .modal_box2 {
    margin-bottom: 10px;
  }
}

.modal_inner {
  width: 900px;
  margin: auto;
  padding: 0px 0 50px;
}
@media screen and (max-width: 798px) {
  .modal_inner {
    width: 85%;
  }
}
.modal_inner img {
  width: 100%;
  height: auto;
}

.modal_inner2 {
  width: 450px;
  margin: 0 auto 0px;
  padding: 0px 0 0px;
  letter-spacing: 0.06em;
}
.modal_inner2 p {
  font-feature-settings: "palt";
  text-align: justify;
  text-justify: inter-ideograph; /* IE用 */
}
@media screen and (max-width: 798px) {
  .modal_inner2 {
    width: 85%;
    margin: 0 auto 30px;
  }
}
.modal_inner2 img {
  width: 100%;
  height: auto;
}
.modal_inner2 p {
  margin-bottom: 27px;
  font-size: 15px;
}
@media screen and (max-width: 798px) {
  .modal_inner2 p {
    font-size: 13px;
  }
}

.box650 {
  width: 650px;
}
@media screen and (max-width: 798px) {
  .box650 {
    width: 90%;
  }
}

.box800 {
  width: 800px;
}
@media screen and (max-width: 798px) {
  .box800 {
    width: 85%;
  }
}

.modal_inner2_bttom {
  margin: 0 auto 90px;
}
@media screen and (max-width: 798px) {
  .modal_inner2_bttom {
    width: 85%;
    margin: 0 auto 30px;
  }
}

.modal_inner3 {
  width: 86%;
  margin: auto;
  padding: 0px 0 0px;
}
@media screen and (max-width: 798px) {
  .modal_inner3 {
    width: 100%;
  }
}
.modal_inner3 img {
  width: 100%;
  height: auto;
}

.j_center {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

.txt_regular {
  font-weight: 300;
}

.modal_inner_top {
  margin-top: 50px;
}

.mt80 {
  margin-top: 80px;
}

.img_left {
  width: 90%;
  margin-right: auto;
  margin-top: 50px;
}
@media screen and (max-width: 798px) {
  .img_left {
    width: 120%;
    margin-top: 20px;
    margin-left: -10%;
    margin-right: -10%;
  }
}
.img_left img {
  width: 100%;
  height: auto;
}

.img_right {
  width: 90%;
  margin-left: auto;
  margin-top: 50px;
}
@media screen and (max-width: 798px) {
  .img_right {
    width: 120%;
    margin-top: 40px;
    margin-left: -10%;
    margin-right: -10%;
  }
}
.img_right img {
  width: 100%;
  height: auto;
}

.sitemap nav a span {
  letter-spacing: 0.06em;
}

.modal_open {
  display: block;
}

.modal_box {
  position: fixed;
  z-index: 9999;
  display: none;
  width: 1100px;
  min-width: 940px;
  margin: 0;
  padding: 0px 0vw 0px;
  border: 0px solid #aaa;
  background: #fff;
  border-radius: 0px;
  box-sizing: border-box;
  height: 80vh;
}
@media screen and (max-width: 798px) {
  .modal_box {
    width: 90%;
    min-width: 90%;
  }
}

.box650-2 {
  width: 650px;
  margin-bottom: 70px;
}
@media screen and (max-width: 798px) {
  .box650-2 {
    width: 85%;
    margin-bottom: 50px;
  }
}

.modal_bg {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9998;
  display: none;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.7);
}

.link_area {
  overflow: hidden;
  max-width: 410px;
  margin: 60px auto 0;
  text-align: center;
}

.link_area .modal_link {
  display: inline;
}

.link_area .modal_link a {
  display: inline-block;
  width: 180px;
  color: #000;
  line-height: 2.5;
  text-decoration: none;
  margin: 0 10px;
  background: #e6e6e6;
}

.link-area ul li.modal_link:first-child a {
  float: left;
}

.link-area ul li.modal_link:last-child a {
  float: right;
}

/* ------------------ */
/* fv
/* ------------------ */
@-webkit-keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
  -webkit-animation: zoomUp 10s linear 0s 1 normal both;
          animation: zoomUp 10s linear 0s 1 normal both;
}

.slide-img img {
  display: block;
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
@media screen and (max-width: 798px) {
  .slide-img img {
    height: 100vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
}

.swiper-pagination {
  bottom: 20px;
  right: 20px;
}

.swiper-pagination-bullet, .swiper-pagination-bullet-active {
  background: none !important;
}

.swiper-pagination-bullet {
  font-family: "Lexend Deca";
  border-left: solid 1px #fff;
  text-align: center;
  margin: 0 5px !important;
  padding: 0 15px !important;
  color: #fff;
  height: 17px !important;
  opacity: 1 !important;
  font-weight: 600;
  border-radius: 0% !important;
}

.swiper-pagination-bullet:first-child {
  border-left: none;
}

.swiper-pagination-bullet {
  color: rgba(255, 255, 255, 0.7);
}

.swiper-pagination-bullet-active {
  color: rgb(255, 255, 255);
}

@media screen and (max-width: 798px) {
  /*footerまでスクロールしたら消す*/
  .is-hidden {
    visibility: hidden;
    opacity: 0;
  }
  /*  ウィンドウサイズ769px以下の時のスタイル  */
  .modal_box {
    padding: 0px 0vw 0px;
  }
  .link_area {
    margin: 25px auto 0;
  }
  .link_area .modal_link a {
    margin: 15px auto 0;
  }
  .link_area ul li.modal_link:first-child a {
    float: none;
    margin-top: 0;
  }
  .link_area ul li.modal_link:last-child a {
    float: none;
  }
  .sp-txt_ch {
    letter-spacing: 0.03em;
  }
  .sp-mt50 {
    margin-top: 52px;
  }
  .sp_column2 {
    width: 120%;
    margin-left: -10%;
    margin-right: -10%;
  }
  .sp-mb0 {
    margin-bottom: 0;
  }
}
@supports (-webkit-touch-callout: none) {
  html {
    height: -webkit-fill-available;
  }
  body {
    min-height: 98vh;
    height: -webkit-fill-available;
  }
}/*# sourceMappingURL=style.css.map */