@charset "UTF-8";
/* ---------------------------- */
/* Base
/* ---------------------------- */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: 500;
  color: #171717;
}

img {
  vertical-align: bottom;
  width: 100%;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.inner {
  width: 1000px;
  margin: 0 auto;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.fadeInUpTrigger {
  opacity: 0;
}

a {
  text-decoration: none !important;
  outline: none !important;
  color: #000;
}

input[type="submit"],
button {
  -webkit-appearance: none !important;
}

input {
  font-size: 16px !important;
}
.l-wrapper {
  margin: 77px 20px;
}

@media only screen and (min-width: 1139px) {
  .container,
  .keyBig,
  .l-wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px;
  }
  ul.breadcrumb__list {
    margin-top: 65px;
  }
}
/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

/*左右のアニメーション*/
.leftAnime {
  opacity: 0; /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%); /*要素を左の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%); /*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
    transform: translateX(0); /*要素を元の位置に移動*/
    opacity: 1;
  }
}

/* ---------------------------- */
/* header
/* ---------------------------- */
.header {
  padding: 0px 30px 0px 0px;
  position: absolute;
  top: 0;
  left: 49.9%;
  z-index: 1;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
}

.header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  margin-right: 40px;
}

.header a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
}

.header a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.site-title {
  font-size: 18px;
  /* background-color: #b70101; */
  /* padding: 27.5px 48px; */
  padding: 0px 20px;
  letter-spacing: 8.4px;
}
.site-title img {
  width: 253px;
}

/* .site-title:after {
  content: 'Lux-rare';
  color: #fff;
  font-size: 11px;
  display: block;
  margin-top: 10px;
  letter-spacing: 6.4px;
} */

.nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.nav-item {
  margin-right: 30px;
}

.nav-item:last-of-type {
  margin-right: 0;
}

.nav-item img {
  width: 35px;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.h7,
.h8,
.h9 {
  text-align: center;
  margin-right: 40px !important;
}

.h1:after {
  /*疑似要素*/
  content: "ラグレアとは？";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h2:after {
  /*疑似要素*/
  content: "料金表";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h3:after {
  /*疑似要素*/
  content: "フロアガイド";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h4:after {
  /*疑似要素*/
  content: "よくある質問";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}
.h6:after {
  /*疑似要素*/
  content: "スタッフのいる時間";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}
.h7:after {
  /*疑似要素*/
  content: "作品ギャラリー";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h8:after {
  /*疑似要素*/
  content: "イベント";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h9:after {
  /*疑似要素*/
  content: "プラモデル販売";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.h5:after {
  /*疑似要素*/
  content: "お問い合わせ";
  color: #000;
  /*文字色*/
  font-size: 0.7em;
  display: block;
  /*改行するように*/
  margin-top: 10px;
}

.burger-btn {
  display: none;
}
figure img {
  max-width: 316px;
  min-width: 316px;
  max-height: 218px;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .l-wrapper {
    margin: 30px 20px 70px;
  }
  ul.breadcrumb__list {
    margin-top: 65px;
  }
  .l-main {
    margin-top: 30px;
  }

  /* ---------------------------- */
  /* header_sp
/* ---------------------------- */
  .header {
    padding: 30px 4vw 0;
  }
  .header-nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
  }
  .nav-list {
    height: 90%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .nav-item {
    margin-right: 0px !important;
  }
  /*.nav-item:last-of-type {
    margin-bottom: 25px;
  }*/
  .nav-item img {
    width: 25px;
  }
  .burger-btn {
    display: block;
    position: absolute;
    top: 22px;
    right: 4vw;
  }
  .burger-btn .bar {
    display: block;
    height: 3px;
    width: 30px;
    background-color: #0248a2;
  }
  .bar_top {
    margin-bottom: 6px;
  }
  .bar_mid {
    margin-bottom: 6px;
  }
  /* ハンバーガーメニューが開いたとき */
  .burger-btn.cross .bar_top {
    -webkit-transform: rotate(45deg) translate(6px, 6px);
    transform: rotate(45deg) translate(6px, 6px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .burger-btn.cross .bar_mid {
    opacity: 0;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .burger-btn.cross .bar_bottom {
    -webkit-transform: rotate(-45deg) translate(7px, -7px);
    transform: rotate(-45deg) translate(7px, -7px);
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  body.noscroll {
    overflow: hidden;
  }
  button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
}

/* wrap */
.hero {
  position: relative;
  top: 61px;
}

/* video */
.video-box {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}

.video {
  position: absolute;
  top: 53%;
  left: 67%;
  min-width: 134%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/* overlay */
.overlay::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  background: rgba(0, 0, 0, 0.4);
}

/* text */
.textbox {
  position: absolute;
  top: 46%;
  left: 28%;
  width: 41%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.btn {
  position: fixed;
  width: 16%;
  z-index: 2;
  bottom: 39px;
  right: 20px;
}

.news {
  padding: 30px 0;
  margin-top: 61px;
  background: #183489;
}

.news .flex {
  justify-content: space-around;
}
.news .flex .top,
.news .flex .bottom {
  width: 30%;
  color: #fff;
  font-weight: bold;
}
.news .flex .top h2 {
  font-size: 19px;
  line-height: 1.5;
}
.news .flex .bottom {
  text-align: right;
}
.news .flex .bottom a {
  color: #fff;
}

.news .ticker {
  padding: 0;
  width: 55%;
  border: none !important;
  background-color: none !important;
}

.news .ticker li div {
  padding: 10px;
}

.news .ticker span {
  margin: 0 10px 0 0;
  display: inline-block;
}

.news2 {
  text-align: left;
  margin: 0 auto;
  padding: 40px 30px;
}

.news2 li {
  font-size: 20px;
  margin-top: 30px;
  font-weight: bold;

  padding-bottom: 13px;
}
.news2 span {
  margin-right: 18px;
  font-size: 20px;
  font-weight: normal;
}
.news2 li .time {
  font-size: 12px;
  margin-bottom: 10px;
}
.newsbg {
  background-image: url(img/img5.png);
  background-size: cover;
  background-position: center;
  margin-top: 0;
}

@media only screen and (max-width: 767px) {
  .news .ticker span {
    display: block;
  }
  .hero {
    top: 61px;
  }
  .news {
    margin-top: 61px;
  }
}

.opensale {
  background: #183489;
  /* margin-top: 50px; */
  border-top: 1px solid #fff;
  padding: 40px 0;
}
.opensale .flex {
  justify-content: space-between;
}
.opensale .flex .box {
  width: 46%;
}

.anywhere {
  margin-top: 100px;
}

.anywhere h2 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.34em;
  line-height: 2;
  margin-bottom: 80px;
  margin-top: 130px;
}

.anywhere h2 span {
  font-size: 27px;
  color: #b70101;
}

.anywhere span {
  position: relative;
  padding-top: 0.2em;
}

/* .anywhere span::before {
  position: absolute;
  content: "・";
  top: -26px;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
  font-size: 1em;
} */

.anywhere .blue::before {
  display: none;
}

.anywhere .flex {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.anywhere .flex img {
  width: 15%;
  margin-bottom: 100px;
}

.now {
  margin-top: 100px;
}

.now .inner img {
  position: relative;
  vertical-align: bottom;
  margin-bottom: -10px;
  z-index: -2;
}

.now .now-box {
  background-image: url(img/img2.png);
  background-size: cover;
  background-position: center;
  text-align: center;
  padding: 40px;
}

.now .now-box img {
  width: 76%;
  margin: 0 auto;
}

.now .now-box .flex {
  max-width: 1000px;
}
.now .now-box .flex .left {
  background-color: #2058b4;
  color: #fff;
  width: 30%;
  height: 200px;
  text-align: left;
  border-top-left-radius: 17px;
  border-bottom-left-radius: 17px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.now .now-box .flex .left .first {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 8px;
}
.now .now-box .flex .left p {
  font-size: 25px;
  font-weight: bold;
}
.now .now-box .flex .right {
  width: 70%;
  background-color: #fff;
  padding: 36px 27px 27px 27px;
  height: 200px;
  padding-left: 73px;
  border-top-right-radius: 17px;
  border-bottom-right-radius: 17px;
}
.now .now-box .flex .right .flex {
  justify-content: flex-start;
  margin-left: 0;
}
.now .now-box .flex .right .flex p {
  font-weight: bold;
  font-size: 20px;
}
.now .now-box .flex .right .flex span {
  font-weight: bold;
  font-size: 50px;
  color: #3a8623;
}
.now .now-box .flex .right img {
  width: 12%;
  margin: 0;
  margin-right: 30px;
}
.now .now-box .flex .right .last {
  margin-top: 23px;
  color: #888888;
  font-size: 12px;
  line-height: 1.5;
}

.swiper-slide img {
  max-height: 226px;
  min-height: 230px;
  object-fit: cover;
}

.available {
  background-color: #f7f8f9;
  padding-bottom: 80px;
}

.available .inner {
  width: 777px;
}

.available .inner h2 {
  text-align: center;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 12px;
  line-height: 2;
  padding-top: 100px;
  font-size: 32px;
}
.available .inner .second {
  margin-bottom: 40px;
  padding-top: 20px;
}

.available .inner h2 span {
  color: #b70101;
}

.available .inner p {
  width: 85%;
  line-height: 1.5;
  margin: 0 auto;
  margin-bottom: 50px;
}

.available .inner .pr {
  position: relative;
}

.available .inner .pa {
  position: absolute;
  width: 15%;
  right: -76px;
  top: -59px;
}

.available .inner .btn-box {
  -ms-flex-pack: distribute;
  justify-content: space-around;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 3px;
  margin-top: 67px;
  margin-bottom: 22px;
}

.available .inner .btn-box .blue {
  background-color: #024397;
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.3);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.3);
}

.available .inner .btn-box .blue::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.available .inner .btn-box .blue:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.available .inner .btn-box .white {
  color: #024397;
  border: 1px solid #024397;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  line-height: 2;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}

.available .inner .btn-box .white::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #024397;
  border-right: 2px solid #024397;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.available .inner .btn-box .white:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.available .inner .btn-box .blue,
.available .inner .btn-box .white {
  padding: 20px 35px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 40%;
  text-align: center;
  height: 70px;
}

.available .inner .bottom {
  font-size: 13px;
  text-align: center;
}

.feature {
  background-image: url(img/img3.png);
  background-size: cover;
  background-position: center;
  padding-bottom: 100px;
}

.feature .inner {
  color: #fff;
}

.feature .inner .pr {
  position: relative;
}

.feature .inner .pa {
  position: absolute;
  width: 44% !important;
  left: -56px;
  bottom: 0;
}

.feature .inner h2 {
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 7px;
  text-align: center;
  line-height: 1.5;
  padding-top: 100px;
  margin-bottom: 90px;
}

.feature .inner h2::before {
  /*疑似要素*/
  content: "Lux-rare";
  letter-spacing: 2px;
  color: #fff;
  /*文字色*/
  font-size: 15px;
  display: block;
  /*改行するように*/
  margin-bottom: 10px;
}

.feature .inner .flex {
  margin-bottom: 63px;
}

.feature .inner .flex .l-box {
  width: 50%;
}

.feature .inner .flex .l-box img {
  width: 100%;
}

.feature .inner .flex .r-box {
  width: 50%;
}

.feature .inner .flex .r-box .text-box {
  width: 80%;
  margin: 0 auto;
}

.feature .inner .flex .r-box .text-box h3 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 7px;
  margin-bottom: 35px;
}

.feature .inner .flex .r-box .text-box h3::before {
  /*疑似要素*/
  content: "POINT -01";
  letter-spacing: 2px;
  color: #fff;
  /*文字色*/
  font-size: 11px;
  display: block;
  /*改行するように*/
  margin-bottom: 16px;
}

.feature .inner .flex .r-box .text-box p {
  font-size: 13px;
  letter-spacing: 3px;
  margin-bottom: 40px;
  line-height: 1.5;
}

.feature .inner .flex .r-box .text-box .white,
.blog .inner .white2,
.footer .inner .top .flex .r-box .white2 {
  color: #024397;
  border: 1px solid #012451;
  background-color: #fff;
  font-size: 15px;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.feature .inner .flex .r-box .text-box .white::before,
.blog .inner .white2::before,
.footer .inner .top .flex .r-box .white2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #024397;
  border-right: 2px solid #024397;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.feature .inner .flex .r-box .text-box .white:hover,
.blog .inner .white2:hover,
.footer .inner .top .flex .r-box .white2:hover {
  color: #fff;
  background-color: #012451;
  border: 1px solid #fff;
}

.feature .inner .flex .r-box .text-box .white:hover::before,
.blog .inner .white2:hover::before,
.footer .inner .top .flex .r-box .white2:hover::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.feature .inner .flex .r-box .text-box .white,
.blog .inner .white2,
.footer .inner .top .flex .r-box .white2 {
  padding: 18px 76px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 25%;
  text-align: center;
}

.feature .inner .flex2 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.feature .inner .flex2 .pr {
  position: relative;
}

.feature .inner .flex2 .pa2 {
  position: absolute;
  width: 39% !important;
  right: -56px;
  bottom: 0;
}

.feature .inner .flex2 .r-box .text-box h3 {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 7px;
  margin-bottom: 35px;
}

.feature .inner .flex2 .r-box .text-box h3::before {
  /*疑似要素*/
  content: "POINT -02";
  letter-spacing: 2px;
  color: #fff;
  /*文字色*/
  font-size: 11px;
  display: block;
  /*改行するように*/
  margin-bottom: 16px;
}

.blog {
  background-image: url(img/img5.png);
  background-size: cover;
  background-position: center;
  padding-bottom: 150px;
}

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

.blog .inner h2 {
  font-size: 27px;
  font-weight: bold;
  letter-spacing: 7px;
  text-align: center;
  padding-top: 100px;
  margin-bottom: 40px;
  color: #820000;
}
.blog .inner p {
  margin-bottom: 60px;
}

.blog .inner h2::before {
  /*疑似要素*/
  content: "BLOG";
  letter-spacing: 2px;
  color: #820000;
  /*文字色*/
  font-size: 15px;
  display: block;
  /*改行するように*/
  margin-bottom: 10px;
}

.blog .inner .flex {
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin-bottom: 50px;
  align-items: flex-start;
}

.blog .inner .flex .box {
  width: 95%;
  max-width: 335px;
  margin: 0 auto;
  text-align: left;
}

.blog .inner .flex .box p {
  color: #012451;
  font-size: 14px;
  font-weight: bold;
  margin-top: 25px;
}

.blog .inner .flex .card-box {
  width: 100%;
  position: relative;
  background: silver;
  /*背景色*/
}

.blog .inner .white2 {
  color: #012451;
  background-color: #fff;
  font-size: 15px;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}

.blog .inner .white2:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.blog .inner .white2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #012451;
  border-right: 2px solid #012451;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.blog .inner .white2 {
  padding: 18px 76px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 25%;
  text-align: center;
  margin: 0 auto;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}

.footer .inner .top {
  border-bottom: 1px solid #efefef;
  padding-bottom: 30px;
}

.footer .inner .top .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 20px;
}

.footer .inner .top .flex .l-box {
  width: 25%;
}

.footer .inner .top .flex .l-box h2 {
  font-size: 18px;
  letter-spacing: 8.4px;
  color: #b70101;
  line-height: 1.5;
  font-weight: bold;
}

.footer .inner .top .flex .l-box h2::after {
  content: "中野初号店";
  font-size: 11px;
  display: block;
  margin-bottom: 10px;
  letter-spacing: 6.4px;
}
.footer .inner .top .flex .l-box2 h2::after {
  content: "中野弐号店";
  font-size: 11px;
  display: block;
  margin-bottom: 10px;
  letter-spacing: 6.4px;
}

.footer .inner .top .flex .c-box {
  width: 50%;
}

.footer .inner .top .flex .c-box p {
  font-weight: bold;
  font-size: 12px;
  line-height: 2;
}

.footer .inner .top .flex .c-box a {
  color: #000;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: none;
  margin-right: 10px;
}

.footer .inner .top .flex .r-box {
  width: 25%;
  text-align: center;
}

.footer .inner .top .flex .r-box .white2 {
  color: #012451;
  background-color: #fff;
  font-size: 15px;
  font-weight: bold;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}

.footer .inner .top .flex .r-box .white2:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

.footer .inner .top .flex .r-box .white2::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #012451;
  border-right: 2px solid #012451;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

.footer .inner .top .flex .r-box .white2 {
  padding: 18px 76px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 25%;
  text-align: center;
  margin: 0 auto;
  -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
}

.footer .inner .middle {
  margin-top: 56px;
  margin-bottom: 104px;
}

.footer .inner .middle .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: flex-start;
}

.footer .inner .middle .flex .box {
  width: 50%;
}

.footer .inner .middle .flex .box h3 {
  font-size: 12px;
  font-weight: bold;
}

.footer .inner .middle .flex .box p {
  margin-top: 9px;
  font-size: 12px;
  line-height: 1.5;
}

.footer .inner .middle .flex .box .c-box {
  margin: 24px 0;
}

.footer .inner .bottom .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.footer .inner .bottom .flex .l-box .menu .box {
  margin-right: 55px;
}

.footer .inner .bottom .flex .l-box .menu .box ul a {
  text-decoration: none;
}

.footer .inner .bottom .flex .l-box .menu .box ul a li {
  font-size: 12px;
  font-weight: bold;
  color: #000;
  margin-bottom: 24px;
}

.footer .inner .bottom .flex .r-box {
  width: 65%;
}

.footer .inner .bottom .flex .r-box .ggmap {
  position: relative;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  height: 220px;
}

.footer .inner .bottom .flex .r-box .ggmap iframe,
.footer .inner .bottom .flex .r-box .ggmap object,
.footer .inner .bottom .flex .r-box .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 237px;
}

.fv2,
.fv3,
.fv4,
.fv5,
.fv6,
.fv7,
.fv8,
.fv9,
.fv10,
.fv11 {
  margin-top: 62px !important;
}

@media screen and (max-width: 768px) {
  .opensale .flex .box {
    width: 86%;
  }
  .opensale .flex .box:last-of-type {
    margin-top: 30px;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .now .now-box img {
    width: 100%;
    margin: 0 auto;
  }
  .inner {
    width: 90% !important;
  }
  .flex {
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
  .l-box,
  .r-box {
    width: 100% !important;
  }
  .header {
    padding: 0;
  }
  .h1:after,
  .h2:after,
  .h3:after,
  .h4:after,
  .h5:after,
  .h6:after,
  .h7:after,
  .h8:after,
  .h9:after {
    font-size: 15px;
  }

  .nav-list {
    height: 100%;
    overflow-y: scroll;
    display: flex;
    flex-wrap: wrap;
    padding: 0 15px;
    gap: 30px 0;
  }

  .header a {
    width: 48%;
  }

  .site-title {
    font-size: 16px;
    padding: 5px 9px;
    padding-right: 44px;
  }
  .site-title img {
    width: 155px;
  }
  .site-title:after {
    margin-top: 6px;
  }
  .fv {
    margin-top: 79px;
  }
  .feature .inner .flex2 .pa2 {
    position: absolute;
    width: 42% !important;
    right: -16px;
  }
  .feature .inner .pa {
    position: absolute;
    width: 48% !important;
    left: -9px;
  }
  .feature .inner h2 {
    padding-top: 70px;
  }
  .feature {
    padding-bottom: 40px;
  }
  .ticker ul li {
    line-height: 1.5;
  }
  .news .ticker {
    width: 100%;
  }
  .news .flex .top,
  .news .flex .bottom {
    width: 100%;
    margin: 10px;
  }
  .news .flex .bottom {
    text-align: right;
  }
  .anywhere .flex {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .anywhere .flex img {
    width: 36%;
    margin-bottom: 50px;
  }
  .anywhere h2 {
    font-size: 20px;
    letter-spacing: 1px;
  }
  .anywhere h2 span {
    font-size: 22px;
  }
  .anywhere span::before {
    font-size: 0em;
  }
  .available .inner h2 {
    font-size: 21px;
    letter-spacing: 9px;
    line-height: 1.7;
    margin-bottom: 25px;
  }
  .available .inner .pr {
    position: relative;
    width: 100%;
    margin-top: 50px;
  }
  .available .inner .pr img {
    width: 100%;
  }
  .available .inner .pa {
    position: absolute;
    width: 28% !important;
    right: -76px;
    top: -59px;
  }
  #div2 {
    overflow-x: scroll;
  }
  .available .inner .btn-box .blue,
  .available .inner .btn-box .white {
    padding: 20px 54px;
    margin-bottom: 20px;
    text-decoration: none;
    border-radius: 40px;
    position: relative;
    width: 90%;
    text-align: center;
  }
  .available .inner .bottom {
    text-align: left;
  }
  .feature {
    margin-bottom: 39px;
  }
  .feature .inner h2 {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .feature .inner .flex .l-box img {
    margin-bottom: 30px;
    margin-top: 40px;
  }
  .feature .inner .flex .r-box .text-box {
    width: 90%;
    text-align: center;
  }
  .feature .inner .flex .r-box .text-box h3 {
    font-size: 20px;
    text-align: left;
  }
  .feature .inner .flex .r-box .text-box p {
    text-align: left;
    margin-bottom: 50px;
  }
  .blog .inner .flex .box {
    width: 100%;
  }
  .blog .inner .flex .card-box {
    margin-top: 40px;
  }
  .blog .inner h2 {
    margin-bottom: 30px;
    padding-top: 45px;
    line-height: 1.3;
  }
  .footer .inner .top .flex .c-box {
    width: 100%;
    margin-bottom: 45px;
    margin-top: 20px;
  }
  .footer .inner .middle .flex .box {
    width: 100%;
    margin-bottom: 30px;
  }
  .menu.flex {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }
  .anywhere .dot-text {
    background-size: 1.019em 0.3em;
  }
  .footer .inner .middle {
    margin-top: 56px;
    margin-bottom: 56px;
  }
  .available .inner p {
    width: 100%;
  }
  .available .inner .bottom {
    font-size: 12px;
  }
  .feature .inner .flex .r-box .text-box .white {
    padding: 18px 91px;
  }
}

.fv2 {
  background-image: url(img/ab1.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv2 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}

.bread {
  background-color: #000;
  color: #fff;
  padding: 30px 0 30px;
}

main {
  margin-top: 130px;
  margin-bottom: 130px;
}

main .inner .space h2 {
  font-size: 27px;
  letter-spacing: 4px;
  font-weight: bold;
  color: #b70101;
  line-height: 1.7;
  border-bottom: solid 2px #fff;
  position: relative;
  margin-top: 100px;
}
main .inner .space h2:first-child {
  margin-top: 50px;
  display: flex;
}
main .inner .space h2:first-child span {
  font-size: 13px;
  display: block;
  color: #000;
}

main .inner .space h2:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -12px;
  width: 10%;
  border-bottom: 3px solid #b70101;
}
main .inner table th,
main .inner table td {
  width: 80%;
  line-height: 1.5;
}
main .inner .table1 th,
main .inner .table1 td {
  /*width: 40%;*/
  width: 28%;
}
.strike {
  text-decoration: line-through;
}
.fcr {
  color: #b70101;
  font-size: 1.2em;
}
.sale {
  margin-top: 60px;
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.6;
  font-size: 20px;
  font-weight: bold;
}
.enttl {
  font-size: 35px;
  font-weight: bold;
  background: linear-gradient(transparent 60%, #ff6 40%);
}
.guide .ttl {
  color: #b70101;
  font-size: 1.2em;
  margin-bottom: 20px;
  margin-top: 40px;
  font-weight: bold;
}
.benefits li {
  margin-bottom: 4px;
  font-weight: bold;
  font-size: 14px;
  list-style: inside;
}

.inner .staff table th,
.inner .staff table td {
  /* width: 50%; */
  width: 300px;
  line-height: 1.5;
}
main .inner table th:nth-of-type(1) {
  width: 20%;
  line-height: 1.5;
}
main .inner table th:last-child {
  color: #fff;
  background: #0248a2;
}
main .inner table td:first-child {
  width: 200px;
  background-color: #0d5bc0;
  color: #fff;
  border-radius: 0;
  border-bottom: 1px solid #ffffff75;
}

.scroll-table table {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
}

main .inner .space p {
  margin-top: 48px;
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 60px;
}
main .inner .space .text {
  margin-bottom: 20px;
  font-size: 16px;
}
main .inner .space .text span {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
}
main .inner .space .bottom {
  margin-top: 10px;
  font-size: 17px;
  color: #b70101;
  font-weight: bold;
}
main .inner .space .bottom a {
  color: #b70101;
}

main .inner .space h3 {
  font-weight: bold;
  font-size: 18px;
}

main .inner .space .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 100px;
}

main .inner .space .flex .box {
  width: 23%;
}

main .inner .space .btn2 {
  width: 100%;
  text-align: right;
}

main .inner .space .btn2 .white {
  color: #024397;
  border: 1px solid #024397;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}

main .inner .space .btn2 .white::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #024397;
  border-right: 2px solid #024397;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-top: -5px;
}

main .inner .space .btn2 .white:hover {
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}

main .inner .space .btn2 .white {
  padding: 20px 70px;
  text-decoration: none;
  border-radius: 40px;
  position: relative;
  width: 40%;
  text-align: center;
}

main .inner .space .row2 {
  width: 100%;
}
main .inner .space .row2 .top-bg {
  width: 100%;
  background-color: #0248a2;
  color: #fff;
  padding: 15px 0;
  padding-left: 30px;
  position: relative;
}
main .inner .space .row2 .top-bg .pa {
  position: absolute;
  top: -22px;
  left: 12px;
  color: #fff;
  font-weight: bold;
  padding: 2px 4px;
  padding-left: 9px;
  border-radius: 19px;
  background-color: #bf2521;
}
main .inner .space .row2 .top-bg p {
  margin: 0;
}
main .inner .space .row2 .bottom-bg {
  width: 100%;
  color: #000;
  border: 1px solid #0248a2;
  padding: 15px 0;
  padding-left: 30px;
  padding-right: 30px;
}
main .inner .space .row2 .bottom-bg p {
  margin: 0;
}

main .inner .guide h2 {
  margin-top: 100px;
  margin-bottom: 0px;
  font-size: 27px;
  letter-spacing: 4px;
  font-weight: bold;
  color: #b70101;
  line-height: 1.7;
  border-bottom: solid 2px #fff;
  position: relative;
}

main .inner .guide h2:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 10%;
  border-bottom: 3px solid #b70101;
}
main .inner .guide .top {
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  line-height: 1.7;
}
main .inner .guide h4 {
  margin-top: 65px;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}
main .inner .guide p {
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 1.7;
  font-weight: bold;
}
main .inner .guide .box .ml20 {
  margin-left: 20px;
}
main .inner .guide .box .boxttl {
  font-size: 18px;
  margin-top: 40px;
  margin-bottom: 60px;
  line-height: 2;
}
main .inner .guide .box .boxttl span {
  font-size: 28px;
  color: #b70101;
}

main .inner .guide .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 20px;
}

main .inner .guide .flex .l-box {
  width: 30%;
}

main .inner .guide .flex .r-box {
  width: 60%;
  padding-left: 40px;
}

main .inner .guide .flex .r-box h3 {
  font-size: 25px;
  font-weight: bold;
  color: #b70101;
  letter-spacing: 11px;
  margin-bottom: 29px;
  letter-spacing: 3px;
}

main .inner .guide .flex .r-box h3 span {
  font-size: 56px;
}

main .inner .guide .flex .r-box p {
  font-size: 13px;
  margin-bottom: 20px;
  line-height: 1.7;
}

main .inner .guide .box .top {
  font-size: 14px;
  background-color: #f5f6f7;
  line-height: 1.7;
  padding: 28px;
  margin-bottom: 35px;
  margin-top: 15px;
}

main .inner .guide .box h3 {
  margin-top: 30px;
  font-size: 21px;
  letter-spacing: 3px;
  font-weight: bold;
  color: #b70101;
  line-height: 1.7;
  padding: 29px 0;
  border-bottom: 1px solid #b70101;
  border-top: 1px solid #b70101;
}
main .inner .guide .box .mt {
  margin-top: 100px;
  margin-bottom: 50px;
}

main .inner .guide .box h3 span {
  font-size: 13px;
}
.subttl {
  font-weight: bold;
  margin-bottom: 20px;
  margin-top: 40px;
  line-height: 1.5;
}
.subttl2 {
  font-weight: bold;
  margin-bottom: 10px;
  margin-top: 20px;
  line-height: 1.5;
}
main .inner .guide .box h4 {
  font-size: 20px;
  color: #b70101;
  margin-top: 40px;
  padding-left: 10px;
  border-left: 4px solid #b71600;
}
.c-compare {
  margin-top: 20px;
}
.c-compare th,
.c-compare td {
  padding: 8px 10px;
}
.c-compare td {
  width: 25% !important;
}
.c-compare th {
  width: 25% !important;
  background-color: #0d5bc0;
  border-bottom: 1px solid #ffffff75;
}

main .inner .guide .box .flex {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}

main .inner .guide .box .flex .l-box {
  width: 50%;
  padding: 0 30px;
  padding-left: 0;
}

main .inner .guide .box .flex .l-box p {
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 1.7;
  font-weight: bold;
}

main .inner .guide .box .flex .l-box p span {
  font-size: 13px;
  font-weight: normal;
}

main .inner .guide .box .flex .r-box {
  width: 50%;
  padding-left: 0;
  padding: 0 30px;
}

main .inner .guide .box .flex .r-box p {
  font-size: 14px;
  margin-bottom: 16px;
  font-weight: bold;
  line-height: 1.7;
}

main .inner .guide .box .flex .r-box p span {
  font-size: 13px;
  font-weight: normal;
}
.guide-img {
  width: 60%;
}
/*アコーディオン全体*/
.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 0 auto;
}

.accordion-area li {
  margin: 10px 0;
  margin-bottom: 40px;
}
/*アコーディオンタイトル*/
.title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 21px;
  font-weight: normal;
  padding: 2% 3% 2% 90px;
  transition: all 0.5s ease;
  line-height: 1.5;
}

/*アイコンの＋と×*/
.title::before,
.title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}
.title::before {
  top: 48%;
  right: 15px;
  transform: rotate(0deg);
}
.title::after {
  top: 48%;
  right: 15px;
  transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.title.close::before {
  transform: rotate(45deg);
}

.title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box3 {
  display: none; /*はじめは非表示*/
  margin: 0 3% 3% 3%;
  padding-left: 64px;
  border-bottom: 1px solid #e8e8e8;
  padding-bottom: 20px;
  line-height: 1.5;
}
.ofh {
  margin-top: 40px;
  padding: 30px;
}
.ofh .title {
  padding: 0;
  font-size: 15px;
}
.ofh .box3 {
  padding: 0;
}
.ofh .box3 p {
  font-size: 15px;
}
.ofh .accordion-area li {
  margin: 0;
}

.qa {
  margin-top: 80px;
}
.qa a {
  color: #b70101;
}

.qa .inner ul li {
  position: relative;
}

.qa .inner ul li .ttl {
  position: absolute;
  width: 54px;
  top: 6px;
  height: 50px;
  background-color: #025dd4;
}

.qa .inner ul li .ttl p {
  font-size: 31px;
  font-weight: bold;
  padding-top: 8px;
  text-align: center;
  color: #fff;
}

.qa .inner ul li .ttl2 {
  position: absolute;
  width: 54px;
  top: 6px;
  height: 50px;
  background-color: #b70101;
}

.qa .inner ul li .ttl2 p {
  font-size: 31px;
  font-weight: bold;
  text-align: center;
  padding-top: 8px;
  color: #fff;
}

main .inner .ban {
  margin-top: 200px;
}

main .inner .ban h2 {
  letter-spacing: 4px;
  font-size: 27px;
  font-weight: bold;
  color: #b70101;
  line-height: 1.7;
  border-bottom: solid 2px #fff;
  position: relative;
}

main .inner .ban h2:after {
  content: "";
  display: block;
  line-height: 0;
  overflow: hidden;
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 10%;
  border-bottom: 3px solid #b70101;
}

main .inner .ban .box {
  margin-top: 100px;
}

main .inner .ban .box h4 {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 33px;
}

main .inner .ban .box p {
  line-height: 1.7;
  font-size: 15px;
  margin-bottom: 20px;
}

#about .guide .box p.boxttl {
  line-height: 2.5em;
}

/* 料金表 */

#price .red {
  color: #b70101;
}
#price .info p.sub-ttl {
  font-size: 2.3rem;
  font-weight: bold;
  text-align: center;
}
#price .info p.text {
  text-align: center;
  line-height: 2;
}
#price #price-table p.bottom {
  margin-bottom: 0;
}
#price #price-table th.th01 {
  border-bottom: 1px solid #ffffff75;
}

@media screen and (max-width: 768px) {
  .inner.price.gt.op table td:first-child {
    width: 100%;
    background-color: #0d5bc0;
    color: #fff;
    border-radius: 0;
  }
  main .inner .gt.op table td {
    width: 100%;
  }
  .now .now-box .flex .right {
    width: 100%;
    background-color: #fff;
    padding: 20px;
    height: auto;
    border-radius: 0;
    border-bottom-left-radius: 17px;
    border-bottom-right-radius: 17px;
  }
  .now .now-box .flex .left p {
    font-size: 20px;
  }
  .now .now-box .flex .left {
    background-color: #2058b4;
    color: #fff;
    width: 100%;
    height: 50px;
    text-align: left;
    border-radius: 0;
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
  .now .now-box .flex .left .first {
    margin-bottom: 0;
    font-size: 16px;
    margin-right: 10px;
  }
  .now .now-box .flex .right .flex {
    flex-direction: row !important;
  }
  .now .now-box .flex .right .flex span {
    font-size: 36px;
  }
  .now .now-box .flex .right .flex p {
    font-size: 18px;
  }
  .now .now-box .flex .right img {
    width: 25%;
  }
  p {
    line-height: 1.7 !important;
  }
  .fv2,
  .fv3,
  .fv4,
  .fv5,
  .fv6,
  .fv7,
  .fv8,
  .fv9,
  .fv10 {
    margin-top: 32px !important;
  }
  .fv2 img,
  .fv3 img,
  .fv4 img,
  .fv5 img,
  .fv6 img,
  .fv7 img,
  .fv8 img,
  .fv9 img,
  .fv10 img {
    position: absolute;
    width: 22%;
    bottom: -43px;
    right: 11px;
  }
  main .inner .space h2,
  main .inner .ban h2,
  main .inner .guide h2 {
    line-height: 2;
    font-size: 24px;
    letter-spacing: 0.02em;
  }
  main .inner .space h2 {
    text-align: center;
  }
  main .inner .space h2:first-child {
    margin-top: 50px;
    display: block;
  }
  main .inner .space h2:first-child span {
    font-size: 12px;
    display: block;
  }
  main .inner .guide .box .flex .l-box,
  main .inner .guide .box .flex .r-box,
  main .inner .guide .flex .r-box {
    padding: 0;
  }
  main .inner .space .flex {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  main .inner .space .flex .box {
    width: 48%;
    margin-bottom: 12px;
  }
  main .inner .ban {
    margin-top: 100px;
  }
  main .inner .guide .flex .r-box h3 {
    margin-top: 30px;
    font-size: 21px;
  }
  main .inner .guide .flex .r-box h3 span {
    font-size: 43px;
  }
  main .inner .guide .box h3 {
    font-size: 19px;
    padding: 19px 0;
    margin-top: 50px;
  }
  main .inner .ban .box {
    margin-top: 50px;
  }
  main {
    margin-top: 70px;
  }
  main .inner .guide h2:after,
  main .inner .space h2:after,
  main .inner .ban h2:after {
    width: 35%;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .guide-img {
    width: 100%;
  }
}

.fv3 {
  background-image: url(img/fl1.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv3 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}

.tac {
  text-align: center;
}

.flimg {
  margin: 0 auto;
  margin-top: 60px;
  width: 80%;
  margin-bottom: 80px;
}

.flimg2 {
  width: 80%;
  margin-top: 50px;
}
.flimg3 {
  width: 50%;
  margin-top: 50px;
}
.w37 {
  width: 37%;
}

.flp {
  line-height: 1.7;
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .ff {
    -webkit-box-orient: horizontal !important;
    -webkit-box-direction: normal !important;
    -ms-flex-direction: row !important;
    flex-direction: row !important;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .ff .box {
    width: 48%;
    margin-bottom: 12px;
  }
  .flimg2,
  .flimg {
    width: 100%;
    margin-bottom: 0;
  }
}

.fv4 {
  background-image: url(img/con1.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv4 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv6 {
  background-image: url(img/news2.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv6 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}

.con {
  line-height: 1.7;
  font-size: 16px;
  width: 90%;
  margin: 0 auto;
  text-align: center;
}

.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
  .con {
    line-height: 1.7;
    font-size: 16px;
    width: 90%;
    text-align: left;
  }
}

.Form-Item {
  padding-top: 24px;
  padding-bottom: 24px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media screen and (max-width: 480px) {
  .Form-Item {
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 16px;
    padding-bottom: 16px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 16px;
  }
}

.Form-Item:nth-child(5) {
  border-bottom: none;
}

.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 15px;
  color: #b70101;
}

@media screen and (max-width: 480px) {
  .Form-Item-Label {
    max-width: inherit;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 16px;
  }
}

.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}

@media screen and (max-width: 480px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}

.Form-Item-Label-Required {
  margin-left: 8px;
  padding-top: 5px;
  padding-bottom: 5px;
  width: 39px;
  display: inline-block;
  text-align: center;
  background: #ff8933;
  color: #fff;
  font-size: 9px;
}

@media screen and (max-width: 480px) {
  .Form-Item-Label-Required {
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 9px;
  }
}

.Form-Item-Input {
  border: none;
  border-bottom: 2px solid #b70101;
  margin-left: 0px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: none;
  font-size: 18px;
}

@media screen and (max-width: 480px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 18px;
    height: 40px;
    -webkit-box-flex: inherit;
    -ms-flex: inherit;
    flex: inherit;
    font-size: 16px;
    padding: 0;
  }
}

.Form-Item-Textarea {
  border: none;
  border-bottom: 2px solid #b70101;
  margin-left: 0px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: none;
  font-size: 18px;
}

@media screen and (max-width: 480px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    -webkit-box-flex: inherit;
    -ms-flex: inherit;
    flex: inherit;
    font-size: 16px;
    padding: 0;
  }
}

.Form-Btn {
  border: none;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #b70101;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}

@media screen and (max-width: 480px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 13px;
    padding-bottom: 13px;
    width: 200px;
    font-size: 16px;
  }
}
.wpcf7-not-valid-tip {
  margin-top: 10px;
}

.fv5 {
  background-image: url(img/p1.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv5 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv7 {
  background-image: url(img/fv7.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv7 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv8 {
  background-image: url(img/fv8.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv8 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv9 {
  background-image: url(img/fv9.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv9 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv10 {
  background-image: url(img/fv10.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv10 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}
.fv11 {
  background-image: url(img/staff.png);
  background-size: cover;
  background-position: center;
  height: 30vh;
  margin-top: 94px;
  position: relative;
}

.fv11 img {
  position: absolute;
  width: 10%;
  bottom: -70px;
  right: 30px;
}

table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin-top: 45px;
  margin-bottom: 30px;
}

table th:last-child {
  color: #b70101;
  background: #fff;
  border: 1px solid #0248a2;
}

table th {
  text-align: center;
  color: white;
  background: #0248a2;
  width: 25%;
  font-size: 15px;
  font-weight: bold;
  padding: 25px 0;
}

table tr:nth-child(odd) {
  background-color: #f5f8fa;
}

table td {
  padding: 25px 0;
  font-size: 14px;
  text-align: center;
  border-top: none;
  font-weight: bold;
  width: 25%;
}

table td:last-child {
  border-right: none;
}

table tr:last-child td:first-child {
  border-radius: 0;
}

table tr:last-child td:last-child {
  border-radius: 0;
}

.in .inbox {
  margin-top: 40px;
}
.in .inbox h4 {
  font-size: 18px;
  font-weight: bold;
}
.in .inbox p {
  font-size: 14px;
  margin-top: 20px;
  line-height: 1.5;
  margin-bottom: 20px;
}
.in .inbox ul {
  margin-left: 30px;
}
.in .inbox ul li {
  list-style: inside;
  line-height: 1.5;
  font-size: 14px;
}
.in .inbox ol {
  margin-left: 30px;
}
.in .inbox ol li {
  list-style: inside;
  list-style: decimal;
  line-height: 1.5;
  font-size: 14px;
}

.cn:after {
  content: none !important;
}
.cn span {
  background-color: #b70101;
  color: #fff;
  padding: 10px 15px;
  padding-left: 18px;
  border-radius: 28px;
  font-size: 23px;
  margin-right: 17px;
}
.cn {
  position: relative;
  line-height: 2em;
  padding-left: 3em;
}
.cn:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(img/like.png) no-repeat;
  background-size: contain;
}
.cn2 {
  position: relative;
  line-height: 2em;
  padding-left: 3em;
}
.cn2:before {
  position: absolute;
  left: 6px;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(img/hang-up.png) no-repeat;
  background-size: contain;
}
.cn3 {
  position: relative;
  line-height: 2em;
  padding-left: 3em;
}
.cn3:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(img/key.png) no-repeat;
  background-size: contain;
}
.cn4 {
  position: relative;
  line-height: 2em;
  padding-left: 3em;
}
.cn4:before {
  position: absolute;
  left: 5px;
  bottom: 0;
  content: "";
  display: inline-block;
  width: 2em;
  height: 2em;
  background: url(img/attendance.png) no-repeat;
  background-size: contain;
}

.price .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.price .flex .l-box {
  width: 45%;
}

.price .flex .l-box h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 37px;
  color: #b70101;
}

.price .flex .l-box table th:last-child {
  color: #b70101;
  background: #fff;
  border: 1px solid #b70101;
}

.price .flex .r-box {
  width: 45%;
}

.price .flex .r-box h3 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 37px;
  color: #b70101;
}

.price .flex .r-box table th:last-child {
  color: #b70101;
  background: #fff;
  border: 1px solid #b70101;
}
.op table th:last-child {
  background: #fff;
  width: 60%;
  text-align: left;
}

.op table th {
  color: #b70101;
  background: #fff;
  text-align: left;
  text-align: left;
  padding-left: 20px;
}
.op table td {
  text-align: left;
  padding-left: 20px;
  width: 60%;
}
.op table td:first-child {
  color: #fff;
  background-color: #b70101;
  text-align: left;
  width: 30%;
  border-bottom: 0.5px solid #f5f8fa;
  border-radius: 0 !important;
}

.top2 {
  background-color: #f5f8fa;
  padding: 45px 37px;
  margin-top: 40px;
}

.top2 .flex {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.top2 .flex .l-box {
  width: 25%;
}

.top2 .flex .l-box h2 {
  font-size: 22px;
  letter-spacing: 8.4px;
  color: #b70101;
  font-weight: bold;
}

.top2 .flex .c-box {
  width: 50%;
}

.top2 .flex .c-box p {
  font-weight: bold;
  font-size: 13px;
  line-height: 2;
}

.top2 .flex .c-box a {
  color: #000;
  font-size: 25px;
  font-weight: bold;
  letter-spacing: 2px;
  text-decoration: none;
  margin-right: 10px;
}

.top2 .flex .r-box {
  width: 20%;
  text-align: left;
}

.top2 .flex .r-box p {
  color: #012451;
  font-size: 23px;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .cn span {
    background-color: #b70101;
    color: #fff;
    padding: 8px 14px;
    padding-left: 18px;
    border-radius: 28px;
    font-size: 15px;
    margin-right: 17px;
  }
  .cn,
  .cn2,
  .cn3,
  .cn4 {
    padding-left: 0;
  }
  .cn:before {
    bottom: 49px;
    left: 54px;
  }
  .cn3:before {
    bottom: 50px;
    left: 60px;
  }
  .cn4:before {
    bottom: 53px;
    left: 60px;
  }
  .cn2:before {
    bottom: 49px;
    left: 69px;
  }
  main .inner .space p {
    margin-top: 30px;
  }

  .top2 .flex .c-box {
    width: 100%;
  }
  .fv2,
  .fv3,
  .fv4,
  .fv5,
  .fv6,
  .fv7,
  .fv8,
  .fv9,
  .fv10,
  .fv11 {
    margin-top: 78px;
  }
  .fv2 img,
  .fv3 img,
  .fv4 img,
  .fv5 img,
  .fv6 img,
  .fv7 img,
  .fv8 img,
  .fv9 img,
  .fv10 img,
  .fv11 img {
    position: absolute;
    width: 22%;
    bottom: -43px;
    right: 11px;
  }
  .fvsp {
    margin-top: 77px;
  }
  .video {
    left: 150%;
    top: 60%;
  }
  .btn {
    position: fixed;
    width: 13%;
    z-index: 2;
    bottom: 0px;
    right: 36px;
  }
  .fix {
    position: fixed;
    z-index: 100;
    width: 100%;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .scroll-top {
    margin-bottom: 40px;
  }
  .textbox {
    width: 89%;
    left: 50%;
    top: 32%;
  }
  .textbox img {
    width: 100%;
  }
  .top2 .flex .l-box h2 {
    font-size: 20px;
    letter-spacing: 8.4px;
    color: #b70101;
    text-align: center;
    font-weight: bold;
  }
  .top2 .flex .r-box p {
    color: #012451;
    text-align: center;
    font-size: 34px;
    margin: 0px 0;
    font-weight: bold;
  }
  .cn {
    font-size: 19px !important;
  }
  main .inner .guide .box .boxttl span {
    font-size: 21px;
  }
  main .inner .guide .box .boxttl {
    font-size: 15px;
  }
  .fzs {
    font-size: 22px !important;
  }

  main .inner .guide .top {
    text-align: left;
  }
  .title {
    position: relative;
    cursor: pointer;
    font-size: 17px;
    font-weight: normal;
    padding: 3% 11% 2% 57px;
    transition: all 0.5s ease;
    line-height: 1.5;
  }
  .qa .inner ul li .ttl {
    position: absolute;
    width: 44px;
    top: 6px;
    height: 39px;
    background-color: #025dd4;
  }
  .qa .inner ul li .ttl p {
    font-size: 24px;
    font-weight: bold;
    padding-top: 0px;
    text-align: center;
    color: #fff;
  }
  .qa .inner ul li .ttl2 {
    position: absolute;
    width: 44px;
    top: 6px;
    height: 39px;
    background-color: #b70101;
  }
  .qa .inner ul li .ttl2 p {
    font-size: 24px;
    font-weight: bold;
    padding-top: 0px;
    text-align: center;
    color: #fff;
  }
  .box3 {
    display: none;
    margin: 12px 3% 3% 1%;
    padding-left: 52px;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 20px;
    line-height: 1.5;
  }
  .box3 p {
    font-size: 14px;
  }
  .qa {
    margin-top: 50px;
  }
  main .inner .space .btn2 {
    width: 100%;
    text-align: center;
  }
  .flimg2 {
    margin-top: 45px;
  }
  main .inner .guide h2 {
    margin-top: 61px;
    text-align: center;
  }
  .op table td {
    text-align: left;
    padding-left: 20px;
    width: 100%;
    padding-right: 20px;
    display: block;
    line-height: 1.5;
  }
  .op table td:first-child {
    display: block;
    width: 100%;
  }
  main .inner table td {
    padding: 25px 9px;
  }
  .btn-wrap-pc-sp {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    /*テスト表示用*/
    max-width: 435px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: center;
  }
  .btn-wrap-pc-sp p {
    position: absolute;
    font-weight: bold;
    top: -40px;
    font-size: 12px;
    padding: 3px 19px;
    border-radius: 26px;
    background-color: #024397;
    color: #fff;
  }

  a.btn-pc-sp {
    border: 1px solid;
    line-height: 1.4;
    width: 50%;
    padding: 1.7rem 0;
    color: #ffff;
    position: relative;
  }

  a.btn-pc-sp--contact {
    color: #0248a2;
    font-weight: bold;
    background: #fff;
  }

  a.btn-pc-sp--tel {
    font-weight: bold;
    color: #0248a2;
    background: #fff;
  }

  .fa-position-right {
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1rem;
  }
  .cn {
    line-height: 2.5 !important;
  }
}
/*# sourceMappingURL=style.css.map */
@media only screen and (min-width: 1500px) {
  .btn {
    position: fixed;
    width: 13%;
    z-index: 2;
    bottom: 39px;
    right: 36px;
  }
}
@media only screen and (min-width: 1280px) {
  .fv2 img,
  .fv3 img,
  .fv4 img,
  .fv5 img,
  .fv6 img,
  .fv7 img,
  .fv8 img,
  .fv9 img,
  .fv10 img,
  .fv11 img {
    position: fixed;
    width: 13%;
    z-index: 2;
    bottom: 39px;
    right: 36px;
  }
}

.fuwafuwa {
  -webkit-animation: fuwafuwa 3s infinite linear alternate;
  animation: fuwafuwa 3s infinite linear alternate;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translate(0, 0) rotate(0deg);
  }
  50% {
    -webkit-transform: translate(0, -10px) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes fuwafuwa {
  0% {
    transform: translate(0, 0) rotate(0deg);
  }
  50% {
    transform: translate(0, -10px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}
.swiper-pagination-bullet-active {
  background: #007aff !important;
}

.eyecatch .eyecatch__link img {
  object-position: top;
}

.staff table {
  margin-top: 0;
}
