/****************

master.cssは編集不可！！
LESSファイルを編集すること！

****************/
/*bootstrapの設定を読み込み*/
@import url(//use.fontawesome.com/releases/v5.10.2/css/all.css);
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/zenkakugothicnew/v18/gNMYW2drQpDw0GjzrVNFf_valaDBcznOkjs.ttf) format('truetype');
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/zenkakugothicnew/v18/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqs9LaWQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/zenkakugothicnew/v18/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqodNaWQ.ttf) format('truetype');
}
@font-face {
  font-family: 'Zen Kaku Gothic New';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/zenkakugothicnew/v18/gNMVW2drQpDw0GjzrVNFf_valaDBcznOqr9PaWQ.ttf) format('truetype');
}
/*Font Awesome*/
body {
  height: 100%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  margin: 0;
  background-color: #F0F0F0;
  padding: 5px;
  transition: background-color 0.3s ease;
}
@media (min-width: 992px) {
  body {
    padding: 10px;
  }
}
html {
  overflow-y: scroll;
  overflow-x: hidden;
  height: 100%;
}
h1,
h2,
h3,
h4 {
  padding: 0;
  margin: 0;
}
a {
  text-decoration: none!important;
  color: #272727;
}
a:hover {
  color: #666666;
}
::selection {
  background: #2d2d2d;
  color: #ffffff;
}
strong {
  font-weight: 700;
}
.site-logo {
  z-index: 100;
}
.last {
  margin-right: 0px !important;
}
.t_first {
  margin-top: 0px !important;
}
.login {
  top: 46px;
}
@media (min-width: 992px) {
  .login {
    top: 32px;
  }
}
.login.scroll {
  top: 0;
}
@media (min-width: 992px) {
  .login.scroll {
    top: 32px;
  }
}
.m_over:hover {
  opacity: 0.6;
  -webkit-transition: all 1s ease-out;
  /* Saf3.2+, Chrome */
  -moz-transition: all 1s ease-out;
  /* FF4+ */
  -ms-transition: all 1s ease-out;
  /* IE10? */
  -o-transition: all 1s ease-out;
  /* Opera 10.5+ */
  transition: all 1s ease-out;
  /*filter: alpha(opacity=80);*/
}
.m_over_inverse:hover {
  opacity: 1;
  -webkit-transition: all 1s ease-out;
  /* Saf3.2+, Chrome */
  -moz-transition: all 1s ease-out;
  /* FF4+ */
  -ms-transition: all 1s ease-out;
  /* IE10? */
  -o-transition: all 1s ease-out;
  /* Opera 10.5+ */
  transition: all 1s ease-out;
  /*filter: alpha(opacity=80);*/
  /*filter: alpha(opacity=80);*/
}
/*ヘッダー*/
a.page-site-logo {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  line-height: 0;
  padding: 20px;
  position: absolute;
  z-index: 1;
}
/* PC既定: 8vw（必要なら min/max で暴れ防止） */
a.page-site-logo svg {
  width: 8vw;
  max-width: 220px;
  min-width: 96px;
  height: auto;
  overflow: visible;
  display: block;
  color: #010101;
  shape-rendering: geometricPrecision;
  text-rendering: optimizeLegibility;
}
/* スマホ: 90px 固定 */
@media (max-width: 767.98px) {
  a.page-site-logo {
    padding: 10px;
  }
  a.page-site-logo svg {
    width: 70px;
    max-width: none;
    min-width: 0;
  }
}
.g-nav {
  position: fixed;
  z-index: -1;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #2D2D2D;
  transition: all 0.5s cubic-bezier(0.18, 0.06, 0.23, 1);
}
.g-nav-logo {
  width: 180px;
  height: auto;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 21;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
.g-nav__logo a {
  display: block;
}
.g-nav-btn {
  font-size: 16px;
  letter-spacing: 0.1em;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.g-nav-btn::after {
  content: "";
  width: 24px;
  height: 6px;
  -webkit-transform: skew(45deg) translate(0, -0.6vw);
  transform: skew(45deg) translate(0, -0.6vw);
  margin-left: 4px;
}
.g-nav-inner {
  padding: 100px 20px 20px 20px;
}
@media (min-width: 768px) {
  .g-nav-inner {
    padding: 120px 40px 20px 40px;
  }
}
@media (min-width: 1200px) {
  .g-nav-inner {
    padding: 11rem 5vw 11rem;
  }
}
.g-nav-inner .g-nav-contact {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.g-nav-inner .g-nav-contact > li {
  width: -webkit-calc(50% - 5px);
  width: calc(50% - 5px);
}
@media (min-width: 1200px) {
  .g-nav-inner .g-nav-contact > li {
    width: 100%;
  }
}
.g-nav-inner .contact-icon {
  position: relative;
  z-index: 1;
}
.g-nav-inner .contact-icon img {
  width: auto;
  height: 1.25rem;
  display: block;
}
@media (min-width: 992px) {
  .g-nav-inner .contact-icon img {
    height: 1.625rem;
  }
}
.g-nav-inner .contact-text-wrap {
  position: relative;
  z-index: 1;
}
.g-nav-inner .contact-text-wrap p {
  font-size: .75rem;
  font-weight: 500;
  line-height: 1;
  padding-left: .25rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .g-nav-inner .contact-text-wrap p {
    font-size: 1rem;
  }
}
.g-nav-inner .g-nav-contact-link {
  background-color: rgba(255, 255, 255, 0.7);
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  padding: .5rem;
}
@media (min-width: 768px) {
  .g-nav-inner .g-nav-contact-link {
    padding: 1.5rem;
  }
}
.g-nav-inner .g-nav-contact-link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #F0F0F0;
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.g-nav-inner .g-nav-contact-link:hover {
  color: #8D1C17;
}
.g-nav-inner .g-nav-contact-link:hover:before {
  transform: scale(1);
}
.g-nav-inner ul.header-nav2025 {
  list-style-type: none;
  padding-left: 0;
}
.g-nav-inner ul.header-nav2025 .header-nav-item,
.g-nav-inner ul.header-nav2025 .header-nav-item-in {
  font-size: .75rem;
  font-weight: 500;
  line-height: 1.8;
  color: #fff;
  display: block;
}
@media (min-width: 992px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item,
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    font-size: .875rem;
  }
}
@media (min-width: 1200px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item,
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    font-size: 1rem;
  }
}
@media (min-width: 1600px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item,
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    font-size: 1.125rem;
  }
}
.g-nav-inner ul.header-nav2025 .header-nav-item a,
.g-nav-inner ul.header-nav2025 .header-nav-item-in a {
  text-decoration: none;
  color: #fff;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.g-nav-inner ul.header-nav2025 .header-nav-item p,
.g-nav-inner ul.header-nav2025 .header-nav-item-in p {
  color: #fff;
  margin: 0;
}
.g-nav-inner ul.header-nav2025 .header-nav-item-in {
  padding-left: .75rem;
}
@media (min-width: 992px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    padding-left: .875rem;
  }
}
@media (min-width: 1200px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    padding-left: 1rem;
  }
}
@media (min-width: 1600px) {
  .g-nav-inner ul.header-nav2025 .header-nav-item-in {
    padding-left: 1.125rem;
  }
}
.g-nav-inner ul.header-nav2025 .header-nav-item-in:hover a {
  opacity: .6;
}
.g-nav-inner .sns-item {
  display: flex;
  flex-direction: row-reverse;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin-top: 1rem;
}
.g-nav-inner .sns-item img {
  width: 30px;
  height: auto;
}
.g-nav.panelactive {
  opacity: 1;
  z-index: 200;
}
.inner-btn {
  position: relative;
  width: 100%;
  height: 30px;
  font-weight: 600;
  color: #26476E;
  letter-spacing: 1px;
  line-height: 1;
  display: grid;
  place-items: center;
  border: 2px solid #26476E;
  border-radius: 5px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .inner-btn {
    height: 40px;
    font-size: 1rem;
  }
}
.inner-btn a {
  color: #26476E;
}
.inner-btn:hover {
  text-decoration: none;
  background-color: #26476E;
}
.inner-btn:hover a {
  color: #fff;
}
.gnav-logo {
  width: 163px;
  position: absolute;
  top: 20px;
  left: 20px;
}
@media screen and (min-width: 768px), print {
  .gnav-logo {
    width: 234px;
    left: 39px;
    top: 35px;
  }
}
.g-nav-list__wrap {
  padding: 0 20px;
  position: relative;
  border-radius: 15px;
}
@media (min-width: 992px) {
  .g-nav-list__wrap {
    padding: 0 30px;
    width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}
.g-nav-list ul {
  font-size: .875rem;
  letter-spacing: 0.12em;
  margin-bottom: 0;
  font-weight: bold;
  padding-left: 0;
  list-style-type: none;
  position: relative;
}
@media (min-width: 992px) {
  .g-nav-list ul {
    font-size: 1rem;
  }
}
.g-nav-list ul li {
  position: relative;
  color: #f0f0f0;
  line-height: 1;
  padding: 15px 0;
  border-bottom: 1px solid;
}
.g-nav-list ul a {
  display: block;
  color: #fff;
}
.g-nav-list ul p {
  line-height: 1;
  margin: 0;
}
.g-nav-list ul .sp-has-sub {
  position: relative;
  cursor: pointer;
  line-height: 1;
  padding: 15px 0;
}
.g-nav-list ul .sp-has-sub a {
  width: -webkit-calc(100% - 34px);
  width: calc(100% - 34px);
}
.g-nav-list ul .sp-has-sub .sub-btn-line {
  position: absolute;
  inset: 0;
  margin: auto 10px auto auto;
  height: 2px;
  background-color: #ffffff;
  width: 14px;
}
.g-nav-list ul .sp-has-sub .sub-btn-line::before,
.g-nav-list ul .sp-has-sub .sub-btn-line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.g-nav-list ul .sp-has-sub .sub-btn-line::before,
.g-nav-list ul .sp-has-sub .sub-btn-line::after {
  top: 0;
  content: "";
  background-color: inherit;
}
.g-nav-list ul .sp-has-sub .sub-btn-line::after {
  transform: rotate(90deg);
}
.g-nav-list ul .sp-has-sub .sp-sub {
  overflow: hidden;
  min-height: 0;
  height: 0;
  z-index: 99;
  width: 100%;
  position: absolute;
  padding-left: 0;
  top: 45px;
  left: 0;
  list-style: none;
  transition: height 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.g-nav-list ul .sp-has-sub .sp-sub:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #707070;
  transform: scaleY(0);
  transform-origin: left top;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.g-nav-list ul .sp-has-sub .sp-sub.active:before {
  transform: scale(1);
}
.g-nav-list ul .sp-has-sub .sp-sub-item {
  position: relative;
  padding: 15px 0 15px 20px;
  opacity: 0;
  transition: opacity .6s ease;
}
.g-nav-list ul .sp-has-sub .sp-sub.active {
  height: auto;
}
.g-nav-list ul .sp-has-sub .sp-sub.active .sp-sub-item {
  opacity: 1;
}
.g-nav-list ul .sp-has-sub::after {
  content: "";
}
.g-nav-list ul .sp-has-sub.active .sub-btn-line {
  background-color: transparent;
}
.g-nav-list ul .sp-has-sub.active .sub-btn-line::before,
.g-nav-list ul .sp-has-sub.active .sub-btn-line::after {
  top: 0;
  background-color: #f0f0f0;
}
.g-nav-list ul .sp-has-sub.active .sub-btn-line::after {
  content: "";
}
.g-nav-list ul .sp-has-sub.active .sub-btn-line::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.g-nav-list ul .sp-has-sub.active .sub-btn-line::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.g-nav-btn-close {
  cursor: pointer;
  margin: 45px 25px 20px 25px;
  font-size: 15px;
  letter-spacing: 0.08em;
  font-weight: bold;
  border-bottom: solid 2px #000;
  background: #fff;
}
.g-nav-btn-close span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  line-height: 50px;
}
.g-nav-btn-close span::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-size: 14px 14px;
  background-repeat: no-repeat;
  -webkit-transform: translate(-14px, 18px);
  transform: translate(-14px, 18px);
}
.g-nav.panelactive .g-nav-inner {
  position: fixed;
  z-index: 999;
  width: 100vw;
  height: 100vh;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 992px) {
  .g-nav.panelactive .g-nav-inner {
    overflow: initial;
  }
}
.gnav__btn {
  position: fixed;
  top: 10px;
  right: 10px;
  z-index: 500;
  padding: 0;
  border: 0;
  background: transparent;
  -webkit-transition: 1s ease;
  transition: 1s ease;
}
.gnav__btn.login {
  top: 46px;
}
@media (min-width: 768px) {
  .gnav__btn.login {
    top: 66px;
  }
}
@media (min-width: 992px) {
  .gnav__btn.login {
    top: 82px;
  }
}
@media screen and (min-width: 768px), print {
  .gnav__btn {
    top: 10px;
    right: 20px;
  }
}
.btn-trigger {
  position: relative;
  cursor: pointer;
  width: 60px;
  height: 60px;
}
@media (min-width: 992px) {
  .btn-trigger {
    width: 70px;
    height: 70px;
  }
}
.btn-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  height: 1px;
  background-color: #010101;
  width: 34px;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
@media (min-width: 992px) {
  .btn-line {
    width: 40px;
  }
}
.btn-line::before,
.btn-line::after {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background-color: inherit;
  content: "";
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
.btn-line::before {
  top: -8px;
}
.btn-line::after {
  top: 8px;
}
.btn-trigger.active .btn-line {
  background-color: transparent;
}
.btn-trigger.active .btn-line::before,
.btn-trigger.active .btn-line::after {
  top: 0;
  background-color: #010101;
}
.btn-trigger.active .btn-line::before {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  background-color: #fff;
}
.btn-trigger.active .btn-line::after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: #fff;
}
.hidden-text {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}
.l-wrapper.gnav-open {
  overflow: hidden !important;
}
.g-nav-list__item.parent::after {
  display: none;
}
.inner-white {
  background-color: #fff;
  border-radius: 10px;
  padding: 10px;
  border: 2px solid #000000;
}
@media (min-width: 992px) {
  .inner-white {
    padding: 20px 30px;
    width: 720px;
    margin-left: auto;
    margin-right: auto;
  }
}
.red-btn-menu {
  position: relative;
  width: 100%;
  display: block;
  font-size: .75rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  padding: 10px 0;
  background-color: #A20B1A;
  border: 2px solid #A20B1A;
  border-radius: 10px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .red-btn-menu {
    font-size: 1rem;
    padding: 15px 0;
  }
}
@media (min-width: 992px) {
  .red-btn-menu {
    font-size: 1.25rem;
  }
}
.red-btn-menu::after {
  content: "";
  width: -webkit-calc(100% + 12px);
  width: calc(100% + 12px);
  height: -webkit-calc(100% + 12px);
  height: calc(100% + 12px);
  position: absolute;
  left: -6px;
  top: -6px;
  border: 2px solid #A20B1A;
  border-radius: 10px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.red-btn-menu:hover {
  color: #A20B1A;
  background-color: #fff;
}
.navy-btn-menu {
  position: relative;
  width: 100%;
  display: block;
  font-size: .75rem;
  font-weight: 900;
  color: #fff;
  text-align: center;
  line-height: 1.4;
  padding: 10px 0;
  background-color: #26476E;
  border: 2px solid #26476E;
  border-radius: 10px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .navy-btn-menu {
    font-size: 1rem;
    padding: 15px 0;
  }
}
@media (min-width: 992px) {
  .navy-btn-menu {
    font-size: 1.25rem;
  }
}
.navy-btn-menu::after {
  content: "";
  width: -webkit-calc(100% + 12px);
  width: calc(100% + 12px);
  height: -webkit-calc(100% + 12px);
  height: calc(100% + 12px);
  position: absolute;
  left: -6px;
  top: -6px;
  border: 2px solid #26476E;
  border-radius: 10px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.navy-btn-menu:hover {
  color: #26476E;
  background-color: #fff;
}
.g-nav-btn-close {
  position: relative;
}
.g-nav-btn-close .close-btn-ico {
  position: absolute;
}
.g-nav-btn-close .btn-line-wrapper {
  background: none;
  height: 50px;
  width: 50px;
  display: inline-block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.g-nav-btn-close .btn-line-wrapper span {
  position: absolute;
  right: 0;
  left: auto;
  top: 50%;
  left: 54%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: 3px;
  border-radius: 4px;
  width: 22px;
}
.g-nav-btn-close .btn-line-wrapper span:first-of-type {
  top: 16px;
  -webkit-transform: translate(-10px, 8px) rotate(-45deg);
  transform: translate(-10px, 8px) rotate(-45deg);
}
.g-nav-btn-close .btn-line-wrapper span:nth-of-type(2) {
  -webkit-transform: translate(-10px, -6px) rotate(45deg);
  transform: translate(-10px, -6px) rotate(45deg);
  top: 30px;
}
_::-webkit-full-page-media,
_:future,
:root .g-nav-inner {
  padding-bottom: 100px;
}
.page-header {
  position: absolute;
  top: 10px;
  left: 0;
  width: 100%;
  height: 70px;
  -webkit-transition: 1s ease;
  transition: 1s ease;
  z-index: 5;
}
@media (min-width: 992px) {
  .page-header {
    height: 70px;
  }
}
@media (min-width: 1200px) {
  .page-header {
    height: 70px;
  }
}
.page-header .header-logo {
  width: 200px;
  height: auto;
  position: absolute;
  top: 50%;
  left: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: 1s ease;
  transition: 1s ease;
  z-index: 21;
}
@media (min-width: 992px) {
  .page-header .header-logo {
    width: 230px;
    left: 20px;
  }
}
@media (min-width: 1200px) {
  .page-header .header-logo {
    width: 20%;
    max-width: 280px;
    left: 30px;
  }
}
.page-header .header-logo:hover a {
  opacity: .6;
}
.page-header .anniversary-logo {
  width: auto;
  height: 34px;
  position: absolute;
  top: 50%;
  left: 225px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media (min-width: 992px) {
  .page-header .anniversary-logo {
    height: 38px;
    left: 280px;
  }
}
@media (min-width: 1200px) {
  .page-header .anniversary-logo {
    height: 44px;
    left: 330px;
  }
}
.page-header.login {
  top: 56px;
}
@media (min-width: 992px) {
  .page-header.login {
    top: 42px;
  }
}
.g-nav-pc-menu {
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  align-items: center;
  font-size: clamp(0.75rem, 1vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  z-index: 999;
  position: absolute;
  margin-bottom: 0;
  padding: 0;
  bottom: 0;
  right: 140px;
}
.g-nav-pc-menu .g-nav-pc-menu-item {
  position: relative;
  height: 70px;
  list-style: none;
  padding: 0 7px;
}
@media (min-width: 1600px) {
  .g-nav-pc-menu .g-nav-pc-menu-item {
    padding: 0 10px;
  }
}
.g-nav-pc-menu .g-nav-pc-menu-item p {
  margin: 0;
}
.g-nav-pc-menu .g-nav-pc-menu-item a {
  display: grid;
  place-items: center;
  height: 100%;
  color: #3E3A39;
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
}
.g-nav-pc-menu .g-nav-pc-menu-item a:hover {
  opacity: .6;
}
.g-nav-pc-menu .g-nav-pc-menu-item:last-child {
  padding-right: 14px;
}
.g-nav-pc-menu .has-sub {
  display: grid;
  place-items: center;
  color: #3E3A39;
  position: relative;
  cursor: pointer;
}
.g-nav-pc-menu .sub {
  overflow: hidden;
  min-width: 100%;
  width: 100%;
  min-height: 0;
  height: 0;
  z-index: 99;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 100px;
  left: 0;
  list-style: none;
  background: #fff;
}
.g-nav-pc-menu .sub-item {
  width: fit-content;
  position: relative;
  padding: 10px;
  border-bottom: dashed 1px #ccc;
  margin: 0 15px;
}
.g-nav-pc-menu .sub-item a {
  place-items: start;
}
.g-nav-pc-menu .sub.active {
  min-height: auto;
  height: auto;
  padding: 20px 40px;
  background-color: #EDEDED;
}
.btn-trigger.active #page-line {
  background-color: transparent;
}
.btn-trigger.active #page-line:before,
.btn-trigger.active #page-line:before {
  background-color: #fff;
}
.btn-trigger #page-line {
  background-color: #fff;
}
.top-sns {
  position: absolute;
  top: 20%;
  left: 10px;
  z-index: 1;
}
@media (min-width: 768px) {
  .top-sns {
    left: 20px;
    top: initial;
    bottom: 10%;
  }
}
.top-sns .top-title {
  display: flex;
  align-items: center;
  width: 30px;
  font-size: 10px;
  font-weight: 400;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
@media (min-width: 768px) {
  .top-sns .top-title {
    font-size: 12px;
  }
}
@media (min-width: 992px) {
  .top-sns .top-title {
    font-size: 14px;
  }
}
.top-sns .top-title span {
  text-orientation: sideways;
}
.top-sns .sns-item {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin-top: 1rem;
}
.top-sns .sns-item img {
  width: 30px;
  height: auto;
}
.brand-wrap {
  background: #8D1C17;
  border-radius: 50%;
  width: 100%;
}
ul.footer-btn-sp,
ul.footer-btn-single,
ul.footer-btn-two {
  width: calc(100vw - 20px);
  height: 40px;
  position: fixed;
  bottom: 0;
  left: 10px;
  z-index: 100;
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  background-color: #fff;
  margin: 0;
  padding: 0;
  list-style: none;
  border-radius: 5px 5px 0 0;
  overflow: hidden;
}
@media (min-width: 768px) {
  ul.footer-btn-sp,
  ul.footer-btn-single,
  ul.footer-btn-two {
    display: none;
  }
}
.footer-btn-sp > li {
  width: calc(100% / 3);
  height: 40px;
  font-size: .75rem;
  font-weight: 500;
  display: grid;
  text-align: center;
  align-items: center;
}
.footer-btn-sp > li a {
  color: #ffffff;
}
.footer-btn-single > li {
  width: 100%;
  height: 40px;
  font-size: .75rem;
  display: grid;
  text-align: center;
  align-items: center;
  background-color: #8D1C17;
}
.footer-btn-single > li a {
  color: #ffffff;
}
.footer-btn-two > li {
  width: 50%;
  height: 40px;
  font-size: .75rem;
  display: grid;
  text-align: center;
  align-items: center;
}
.footer-btn-two > li a {
  color: #ffffff;
}
.footer-btn-sp > li:first-child,
.footer-btn-two > li:first-child {
  background-color: #8D1C17;
}
.footer-btn-sp > li:nth-child(2) {
  background-color: #665951;
}
.footer-btn-sp > li:last-child,
.footer-btn-two > li:last-child {
  background-color: #010101;
}
.side-link {
  position: fixed;
  top: 50%;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 50;
}
.side-link-item {
  writing-mode: vertical-rl;
}
.side-text-wrap {
  position: relative;
  z-index: 2;
}
.side-text-wrap p {
  color: #fff;
  margin: 0;
  transition: transform 0.6s;
}
.side-contact-link {
  position: relative;
  display: block;
  height: 100%;
  padding: .625rem;
}
.side-contact-color01 {
  background-color: #8D1C17;
}
.side-contact-color02 {
  background-color: #665951;
}
.side-contact-color03 {
  background-color: #010101;
}
.side-contact-link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #423f3f;
  transform: scaleY(0);
  transform-origin: left top;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.side-contact-link:hover:before {
  transform: scale(1);
}
.wrapper {
  position: relative;
  width: 100%;
  margin: auto;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
img.w-100 {
  width: 100% !important;
}
.img_left {
  width: 50%;
  display: inline;
  float: left;
  margin: 0 .625rem 0 0;
}
.img_right {
  width: 50%;
  display: inline;
  float: right;
  margin: 0 0 0 .625rem;
}
/*フッター*/
#contact-content {
  position: relative;
  padding-top: 60px;
  padding-bottom: 40px;
  padding-left: 10px;
  padding-right: 10px;
  z-index: 0;
}
@media (min-width: 992px) {
  #contact-content {
    padding-top: 120px;
    padding-bottom: 90px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (min-width: 1200px) {
  #contact-content {
    padding-top: 180px;
    padding-bottom: 120px;
  }
}
#contact-content .contact-box {
  position: relative;
  padding-bottom: 40px;
  padding-left: 30px;
  padding-right: 30px;
}
@media (min-width: 992px) {
  #contact-content .contact-box {
    padding-bottom: 90px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (min-width: 1200px) {
  #contact-content .contact-box {
    padding-bottom: 120px;
    padding-left: 10%;
    padding-right: 10%;
  }
}
#contact-content .contact-box .title-wrap {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  #contact-content .contact-box .title-wrap {
    margin-bottom: 60px;
  }
}
@media (min-width: 1200px) {
  #contact-content .contact-box .title-wrap {
    margin-bottom: 90px;
  }
}
#contact-content .contact-box .title-wrap .sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#contact-content .contact-box .contact-title {
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}
@media (min-width: 768px) {
  #contact-content .contact-box .contact-title {
    font-size: 5.875rem;
  }
}
@media (min-width: 992px) {
  #contact-content .contact-box .contact-title {
    font-size: 7.5rem;
  }
}
@media (min-width: 1200px) {
  #contact-content .contact-box .contact-title {
    font-size: 8.75rem;
  }
}
@media (min-width: 1600px) {
  #contact-content .contact-box .contact-title {
    font-size: 10rem;
  }
}
#contact-content .contact-box .foot-contact {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  #contact-content .contact-box .foot-contact {
    flex-direction: initial;
  }
}
@media (min-width: 768px) {
  #contact-content .contact-box .foot-contact-item {
    width: 40rem;
  }
}
#contact-content .contact-box .contact-icon {
  position: relative;
  z-index: 1;
}
#contact-content .contact-box .contact-icon img {
  width: auto;
  height: 1.625rem;
}
#contact-content .contact-box .contact-text-wrap {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 1;
}
#contact-content .contact-box .contact-text-wrap p {
  font-size: .75rem;
  font-weight: 500;
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  #contact-content .contact-box .contact-text-wrap p {
    font-size: 1rem;
  }
}
#contact-content .contact-box .contact-text-wrap .btn-circle {
  position: relative;
  overflow: hidden;
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid #8D1C17;
  border-radius: 50%;
  margin-right: 0;
  transition: 0.5s ease-in-out;
}
@media (min-width: 992px) {
  #contact-content .contact-box .contact-text-wrap .btn-circle {
    width: 2rem;
    height: 2rem;
  }
}
#contact-content .contact-box .contact-text-wrap .btn-circle::before {
  content: "";
  width: .5rem;
  height: .5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  clip-path: polygon(0 45%, 85% 45%, 50% 0, 60% 0, 100% 50%, 60% 100%, 50% 100%, 85% 55%, 0 55%);
  background-color: #8D1C17;
  transform: translate(-50%, -50%);
  transition: 0.5s ease-in-out;
}
#contact-content .contact-box .foot-contact-link {
  background-color: rgba(255, 255, 255, 0.7);
  position: relative;
  display: flex;
  align-items: center;
  gap: .5rem;
  height: 100%;
  padding: 1.5rem;
}
@media (min-width: 768px) {
  #contact-content .contact-box .foot-contact-link {
    padding: 1rem;
  }
}
@media (min-width: 1200px) {
  #contact-content .contact-box .foot-contact-link {
    padding: 1.5rem;
  }
}
#contact-content .contact-box .foot-contact-link:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #F0F0F0;
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
#contact-content .contact-box .foot-contact-link:hover {
  color: #8D1C17;
}
#contact-content .contact-box .foot-contact-link:hover .btn-circle::before {
  animation: move-arrow 0.8s linear;
}
@keyframes move-arrow {
  /* 円の中（少し左寄り） */
  0% {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
  }
  /* 右側の外にはみ出す位置 */
  45% {
    transform: translateY(-50%) translateX(60px);
    opacity: 1;
  }
  /* 一瞬で左外へワープ（見た目を自然にするなら透明に） */
  50% {
    transform: translateY(-50%) translateX(-60px);
    opacity: 0;
  }
  /* 左外からまた見えるようにする */
  55% {
    transform: translateY(-50%) translateX(-60px);
    opacity: 1;
  }
  /* 元の位置（円の中）に戻る */
  100% {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
  }
}
#contact-content .contact-box .foot-contact-link:hover:before {
  transform: scale(1);
}
#contact-content .contact-box::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 95%;
  background-image: url(../images/common/footer/contact-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: -1;
}
@media (min-width: 768px) {
  #contact-content .contact-box::after {
    height: 80%;
  }
}
.footer-upper2025 {
  position: relative;
  padding-top: 30px;
  padding-bottom: 30px;
  padding-left: 40px;
  padding-right: 40px;
}
@media (min-width: 768px) {
  .footer-upper2025 {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (min-width: 1200px) {
  .footer-upper2025 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.footer-upper2025 .footer-logo {
  display: block;
  width: 50vw;
  max-width: 140px;
  min-width: 96px;
  height: auto;
  margin: auto;
}
@media (min-width: 1200px) {
  .footer-upper2025 .footer-logo {
    width: 10vw;
    margin: initial;
  }
}
.footer-upper2025 .flex-footer-nav {
  display: grid;
  gap: .675rem;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .footer-upper2025 .flex-footer-nav {
    width: fit-content;
    gap: 5rem;
    margin: auto;
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 1200px) {
  .footer-upper2025 .flex-footer-nav {
    width: auto;
    gap: 1rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.footer-upper2025 ul.footer-nav2025 {
  list-style-type: none;
  padding-left: 0;
}
.footer-upper2025 ul.footer-nav2025 .footer-nav-item,
.footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.8;
  display: block;
}
@media (min-width: 992px) {
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item,
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
    font-size: 1rem;
  }
}
@media (min-width: 1600px) {
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item,
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
    font-size: 1.125rem;
  }
}
.footer-upper2025 ul.footer-nav2025 .footer-nav-item a,
.footer-upper2025 ul.footer-nav2025 .footer-nav-item-in a {
  text-decoration: none;
}
.footer-upper2025 ul.footer-nav2025 .footer-nav-item p,
.footer-upper2025 ul.footer-nav2025 .footer-nav-item-in p {
  margin: 0;
}
.footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
  padding-left: .75rem;
}
@media (min-width: 992px) {
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
    padding-left: .875rem;
  }
}
@media (min-width: 1200px) {
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
    padding-left: 1rem;
  }
}
@media (min-width: 1600px) {
  .footer-upper2025 ul.footer-nav2025 .footer-nav-item-in {
    padding-left: 1.125rem;
  }
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul li {
  font-size: .875rem;
  font-weight: 500;
  color: #010101;
  border-bottom: solid 1px #c3c3c3;
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul a {
  color: #010101;
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul .sp-has-sub .sub-btn-line {
  background-color: #010101;
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul .sp-sub:before {
  background-color: #c5c5c5;
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul .sp-has-sub.active .sub-btn-line {
  background-color: transparent;
}
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul .sp-has-sub.active .sub-btn-line::before,
.footer-upper2025 .g-nav-list__wrap .g-nav-list ul .sp-has-sub.active .sub-btn-line::after {
  background-color: #010101;
}
footer {
  position: relative;
  padding-bottom: 10px;
  background-color: #F0F0F0;
}
.footer-middle2025 {
  position: relative;
  padding-bottom: 30px;
  padding-left: 60px;
  padding-right: 60px;
}
@media (min-width: 768px) {
  .footer-middle2025 {
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media (min-width: 1200px) {
  .footer-middle2025 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.footer-middle2025 address {
  padding-top: 30px;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.8;
  display: block;
  border-top: 2px solid #010101;
}
@media (min-width: 768px) {
  .footer-middle2025 address {
    padding-top: 40px;
  }
}
@media (min-width: 992px) {
  .footer-middle2025 address {
    font-size: 1rem;
  }
}
@media (min-width: 1200px) {
  .footer-middle2025 address {
    padding-top: 60px;
    font-size: 1.125rem;
  }
}
@media (min-width: 1600px) {
  .footer-middle2025 address {
    font-size: 1.25rem;
  }
}
.footer-middle2025 address a {
  color: #010101;
  text-decoration: none;
}
.footer-middle2025 address .addressphone {
  display: flex;
  align-items: center;
}
.footer-middle2025 address .addressphone img {
  width: 30px;
}
.footer-middle2025 .sns-item {
  display: flex;
  flex-direction: row-reverse;
  gap: .5rem;
  list-style-type: none;
  padding: 0;
  margin-top: 1rem;
}
.footer-middle2025 .sns-item img {
  width: 30px;
  height: auto;
}
.footer-under2025 {
  position: relative;
  background-color: #010101;
  padding-top: 0;
  padding-bottom: 45px;
  padding-left: 10px;
  padding-right: 10px;
  border-radius: 0 0 5px 5px;
}
@media (min-width: 768px) {
  .footer-under2025 {
    padding-left: 5%;
    padding-right: 5%;
    padding-bottom: 0;
  }
}
.footer-under2025 .f-copyright {
  font-size: .75rem;
  font-weight: 500;
  color: #fff;
  line-height: 2;
  text-align: center;
}
@media (min-width: 992px) {
  .footer-under2025 .f-copyright {
    font-size: .875rem;
  }
}
.footer-under2025 .f-copyright a {
  text-decoration: none;
  color: #fff;
}
.footer-under2025 .f-copyright img.spot-logo {
  display: inline-block;
  height: 12px;
  margin: 5px auto;
}
#page-top {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 980;
}
#page-top a {
  width: 30px;
  height: 30px;
  display: block;
}
@media (min-width: 992px) {
  #page-top a {
    width: 40px;
    height: 40px;
  }
}
#page-top a:hover {
  opacity: .6;
}
/*ブログアーカイブ*/
.archive_box {
  width: 100%;
  padding: 1.5rem;
}
@media (min-width: 992px) {
  .archive_box {
    padding: 2rem 3rem;
  }
}
.archive_box img {
  width: 100%;
  margin-bottom: 0;
}
.archive_box h3 {
  font-weight: 500;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .archive_box h3 {
    font-size: 1.25rem;
  }
}
.archive_box a {
  text-decoration: none;
}
.archive_box div.excerpt_box {
  margin: 0 0 20px;
  padding: 10px;
}
.archive_box div.excerpt_box p {
  margin-bottom: 0;
}
.archive_box .more_btn_b {
  margin-right: 0;
}
.blog_image_archive {
  width: 100%;
  margin: 0 auto 20px auto;
  position: relative;
  z-index: 15;
  overflow: hidden;
}
.blog_image_archive a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 10;
}
.blog_image_archive:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: rgba(0, 0, 0, 0);
}
.blog_image_archive:hover:after {
  background: rgba(0, 0, 0, 0.1);
}
.blog_image_archive img {
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.blog_image_archive:hover img {
  opacity: 0.8;
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.blog_image_archive p {
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  font-size: 18px;
  font-weight: 600;
  color: #203B57;
  text-align: center;
  margin-bottom: 0;
  line-height: 140%;
}
.blog_image_archive:hover p {
  color: #fff;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
/*ブログパーツ*/
.widget_box {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  -webkit-align-items: start;
  align-items: stretch;
  justify-content: space-between;
}
.widget_box > li {
  list-style-type: none;
  width: 100%;
  padding: 0.625rem;
  position: relative;
  transition: 0.5s;
  margin-bottom: 10px;
  border: 1px solid #eeeeee;
  background-color: #fff;
  border-radius: 5px;
}
@media (min-width: 992px) {
  .widget_box > li {
    width: 32%;
    padding: 0.9375rem;
    margin-bottom: 0;
  }
}
.widget_box > li ul {
  padding-left: 0;
  height: 120px;
  list-style: none;
  overflow-x: hidden;
  overflow-y: auto;
}
.widget_box > li ul li {
  padding-left: 1.625rem;
  line-height: 30px;
  background: url(../images/common/list_bullet.png) center left no-repeat;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: capitalize;
  margin-bottom: .5em;
}
.widget_box > li ul a {
  position: relative;
  text-decoration: none;
  -webkit-transition: color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.widget_box > li ul a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #666666;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: 100% 50% 0;
  -ms-transform-origin: 100% 50% 0;
  transform-origin: 100% 50% 0;
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, -webkit-transform 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.widget_box > li ul a:hover {
  color: #666666;
  -webkit-transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.widget_box > li ul a:hover::after {
  -webkit-transform-origin: 0 50% 0;
  -ms-transform-origin: 0 50% 0;
  transform-origin: 0 50% 0;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: transform 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s, -webkit-transform 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.widget_box > li .widget_recent_entries,
.widget_box > li .widget_archive,
.widget_box > li .widget_categories {
  background-color: #fff;
  padding: 0.625rem;
  border: 1px solid #EEEEEE;
  border-radius: 10px;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 10px;
  list-style: none;
}
@media (min-width: 992px) {
  .widget_box > li .widget_recent_entries,
  .widget_box > li .widget_archive,
  .widget_box > li .widget_categories {
    margin-right: 10px;
    margin-left: 10px;
    margin-bottom: 0;
  }
}
.widget_box > li h2.widgettitle {
  font-size: 1.125rem;
  color: #fff;
  text-align: center;
  padding: 0.3125rem;
  margin-top: 0;
  margin-bottom: 10px;
  background-color: #0d0d0d;
  border-bottom: none;
}
.widget_box > li h3.widget_title {
  font-size: 1.125rem;
  color: #fff;
  padding: 5px;
  margin-top: 0;
  margin-bottom: 10px;
  background-color: #0d0d0d;
  border-bottom: none;
}
.page_link {
  width: 100%;
  margin: 40px 0;
}
.page_link_prev,
.page_link_next {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: clamp(0.75rem, calc(0.5555555555555556vw + 0.625rem), 1rem);
  color: #000;
}
.page_link_prev a,
.page_link_next a {
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  position: relative;
  text-decoration: none;
}
.page_link_prev a:hover {
  color: #8D1C17;
}
.page_link_next a:hover {
  color: #8D1C17;
}
ul.page_link_prev {
  width: 100%;
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  ul.page_link_prev {
    text-align: right;
  }
}
ul.page_link_prev li {
  display: inline-block;
  line-height: 30px;
}
@media (min-width: 768px) {
  ul.page_link_prev li {
    line-height: 40px;
  }
}
ul.page_link_next {
  width: 100%;
  padding-left: 0;
  list-style: none;
  text-align: right;
}
@media (min-width: 992px) {
  ul.page_link_next {
    text-align: left;
  }
}
ul.page_link_next li {
  display: inline-block;
  line-height: 30px;
}
@media (min-width: 768px) {
  ul.page_link_next li {
    line-height: 40px;
  }
}
.archive-back {
  position: relative;
  height: 30px;
  font-size: clamp(0.75rem, calc(0.5555555555555556vw + 0.625rem), 1rem);
  font-weight: 500;
  color: #121212;
  letter-spacing: 1px;
  line-height: 1;
  display: grid;
  place-items: center;
  border: 1px solid #707070;
  border-radius: 15px;
  overflow: hidden;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
@media (min-width: 768px) {
  .archive-back {
    height: 40px;
    font-size: 1rem;
    border-radius: 20px;
  }
}
.archive-back:hover {
  color: #fff;
  text-decoration: none;
}
.archive-back:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-color: #121212;
  transform: scaleX(0);
  transform-origin: left top;
  transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.archive-back:hover:before {
  transform: scale(1);
}
.section-margin-bottom {
  margin-bottom: clamp(3.75rem, calc(3.571428571428571vw + 2.9464285714285716rem), 5.625rem);
}
/*ブログ記事*/
.blog_contents {
  padding: 2.5rem 0;
}
@media (min-width: 992px) {
  .blog_contents {
    padding: 3.75rem 0 5rem 0;
    margin-left: auto;
    margin-right: auto;
  }
}
.blog_contents p.date {
  font-size: 0.875rem;
  font-weight: 600;
  color: #000;
  margin-bottom: 10px;
}
.blog_contents h1 {
  font-size: 1.75rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h1 {
    font-size: 2.125rem;
  }
}
.blog_contents h2 {
  font-size: 1.5rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h2 {
    font-size: 1.875rem;
  }
}
.blog_contents h3 {
  font-size: 1.25rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h3 {
    font-size: 1.75rem;
  }
}
.blog_contents h4 {
  font-size: 1.125rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h4 {
    font-size: 1.5rem;
  }
}
.blog_contents h5 {
  font-size: 1rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h5 {
    font-size: 1.25rem;
  }
}
.blog_contents h6 {
  font-size: 0.875rem;
  margin-top: 30px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .blog_contents h6 {
    font-size: 1rem;
  }
}
.blog_contents h3.blog {
  width: 100%;
  font-size: 1.25rem;
  font-weight: 500;
  text-align: center;
  line-height: 140%;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .blog_contents h3.blog {
    width: fit-content;
    font-size: 1.875rem;
    text-align: left;
    margin-bottom: 60px;
  }
}
.blog_contents h3.blog:before {
  content: '';
  background: #fff;
  margin-right: 0;
}
.blog_contents h3.blog:after {
  content: '';
  display: block;
  width: 100px;
  height: 2px;
  background: -moz-linear-gradient(left, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  background: -webkit-linear-gradient(left, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  background: linear-gradient(to right, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .blog_contents h3.blog:after {
    margin-top: 10px;
  }
}
.blog_contents .alignleft {
  display: inline;
  float: left;
  margin: 12px 24px 12px 0;
  margin: 0.857142857rem 1.714285714rem 0.857142857rem 0;
}
.blog_contents .alignright {
  display: inline;
  float: right;
  margin: 12px 0 12px 24px;
  margin: 0.857142857rem 0 0.857142857rem 1.714285714rem;
}
.blog_contents .aligncenter {
  clear: both;
  display: block;
  margin: 12px auto;
}
@media (max-width: 768px) {
  .blog_contents .alignleft,
  .blog_contents .alignright {
    float: none;
    display: block;
    margin: auto;
  }
}
ul.news_title_day {
  position: relative;
  margin-bottom: 2rem;
  list-style: none;
}
ul.news_title_day li {
  margin-left: 1rem;
}
@media (min-width: 992px) {
  ul.news_title_day li {
    margin-left: 2rem;
  }
}
ul.news_title_day li h3 {
  font-weight: 600;
  padding-bottom: .5em;
  border-bottom: 1px dotted #666666;
}
ul.news_title_day::before {
  position: absolute;
  content: '';
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: #FBBE02;
}
/*見出し*/
h3.standard {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  line-height: 100%;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h3.standard {
    font-size: 3.5rem;
    margin-bottom: 40px;
  }
}
h3.standard span {
  display: block;
  font-size: 50%;
}
h3.large_page {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.35rem;
  line-height: 140%;
  margin-bottom: 1.75rem;
}
@media (min-width: 992px) {
  h3.large_page {
    font-size: 3.125rem;
    margin-bottom: 6rem;
  }
}
h3.large_page span {
  display: block;
}
h3.event_title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 100%;
  text-align: right;
  margin-top: 0;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  h3.event_title {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
h3.modelhouse,
h3.team_name {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 100%;
  text-align: right;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  h3.modelhouse,
  h3.team_name {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
h3.team_name {
  text-align: left;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h3.team_name {
    margin-bottom: 50px;
  }
}
h3.page_about {
  font-size: 1rem;
  font-weight: 700;
  margin-top: 15px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  h3.page_about {
    font-size: 1.5rem;
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
h3.event,
h3.works {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  line-height: 140%;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h3.event,
  h3.works {
    font-size: 2.5rem;
    margin-top: 30px;
    margin-bottom: 40px;
  }
}
h3.event {
  margin-top: 20px;
}
@media (min-width: 992px) {
  h3.event {
    margin-top: 30px;
  }
}
h3.works_gallery {
  font-size: 1.25rem;
  line-height: 140%;
  text-align: center;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  h3.works_gallery {
    font-size: 1.5rem;
    margin-bottom: 40px;
  }
}
h3.blog {
  width: 100%;
  font-size: 1.25rem;
  text-align: center;
  line-height: 140%;
  margin-bottom: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  h3.blog {
    width: fit-content;
    font-size: 1.875rem;
    text-align: left;
    margin-bottom: 60px;
  }
}
h3.blog:after {
  content: '';
  display: block;
  width: 100px;
  height: 2px;
  background: -moz-linear-gradient(left, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  background: -webkit-linear-gradient(left, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  background: linear-gradient(to right, #046aad 0%, #046aad 50%, #046aad 50%, #06baa2 100%);
  margin-top: 5px;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  h3.blog:after {
    margin-top: 10px;
  }
}
h4.standard {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  margin-top: 40px;
  margin-bottom: 20px;
  position: relative;
  padding-left: 10px;
}
@media (min-width: 992px) {
  h4.standard {
    font-size: 1.5rem;
    margin-top: 60px;
    padding-left: 15px;
  }
}
h4.standard span {
  font-size: .75rem;
}
@media (min-width: 992px) {
  h4.standard span {
    font-size: 1rem;
  }
}
h4.standard::before {
  content: '';
  display: block;
  width: 2px;
  height: 18px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 992px) {
  h4.standard::before {
    width: 3px;
    height: 30px;
  }
}
h4.page_about {
  font-size: 1rem;
  margin-top: 40px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  h4.page_about {
    font-size: 1.5rem;
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
h5.standard {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1rem;
  margin-top: 30px;
  margin-bottom: 20px;
  position: relative;
}
@media (min-width: 992px) {
  h5.standard {
    font-size: 1.25rem;
    margin-top: 40px;
    margin-bottom: 30px;
  }
}
h5.standard::before {
  content: '';
  background-color: #e5e4e3;
  display: block;
  position: absolute;
  left: 0;
  height: 40px;
  width: 40px;
  border-radius: 50%;
  top: -11px;
  z-index: -1;
}
@media (min-width: 992px) {
  h5.standard::before {
    height: 50px;
    width: 50px;
  }
}
h6.standard {
  font-size: 0.875rem;
  font-weight: 600;
  margin-top: 40px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  h6.standard {
    font-size: 1rem;
  }
}
/*ページ*/
.page-eyecatch-wrapper {
  position: relative;
  height: 100%;
  z-index: 0;
}
/*
.page-eyecatch-wrapper::after{
	content: "";
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: calc(~'50svh - 10px');
	min-height: 440px;
	border-radius: 8px;
	border: 2px solid #ffffff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
	z-index: -1;
	@media (min-width:@screen-lg){
		height: calc(~'40svh - 20px');
	}
	@media (min-width:@screen-xl){
		height: calc(~'100svh - 20px');
	}
}
*/
.page-eyecatch-inner,
.page-eyecatch-inner-lp {
  padding-top: clamp(5.625rem, calc(7.142857142857142vw + 4.017857142857143rem), 12.5rem);
  padding-bottom: clamp(5.625rem, calc(0.6493506493506493vw + 5.478896103896104rem), 6.25rem);
  padding-left: 30px;
  padding-right: 30px;
  position: relative;
  overflow: hidden;
}
@media (min-width: 992px) {
  .page-eyecatch-inner,
  .page-eyecatch-inner-lp {
    padding-left: 5%;
    padding-right: 5%;
  }
}
.page-eyecatch-inner .title-wrap,
.page-eyecatch-inner-lp .title-wrap {
  position: relative;
  white-space: nowrap;
}
.page-eyecatch-inner .page-title,
.page-eyecatch-inner-lp .page-title {
  font-size: clamp(2.8125rem, calc(10.416666666666668vw + 0.46875rem), 7.5rem);
  margin-left: clamp(-0.625rem, calc(-1.3888888888888888vw + -0.3125rem), -1.25rem);
  margin-bottom: clamp(1.25rem, calc(2.7777777777777777vw + 0.625rem), 2.5rem);
  font-weight: 600;
  line-height: 1;
  width: fit-content;
  color: #ffffff;
}
@media (min-width: 992px) {
  .page-eyecatch-inner .page-title,
  .page-eyecatch-inner-lp .page-title {
    font-size: clamp(7.5rem, calc(9.67741935483871vw + -0.24193548387096797rem), 11.25rem);
    margin-left: clamp(-1.25rem, calc(-3.225806451612903vw + 1.3306451612903225rem), -2.5rem);
  }
}
.page-eyecatch-inner .title-jp,
.page-eyecatch-inner-lp .title-jp {
  font-size: clamp(1rem, calc(1.9444444444444444vw + 0.5625rem), 1.875rem);
  font-weight: 500;
  color: #010101;
  display: block;
  position: absolute;
  bottom: 0;
  left: 10%;
}
@media (min-width: 992px) {
  .page-eyecatch-inner .title-jp,
  .page-eyecatch-inner-lp .title-jp {
    font-size: clamp(1.875rem, calc(1.6129032258064515vw + 0.5846774193548387rem), 2.5rem);
  }
}
.page-eyecatch-inner .breadcrumb-wrapper,
.page-eyecatch-inner-lp .breadcrumb-wrapper {
  position: relative;
  padding: 0.625rem;
  z-index: 0;
}
@media (min-width: 1200px) {
  .page-eyecatch-inner .breadcrumb-wrapper,
  .page-eyecatch-inner-lp .breadcrumb-wrapper {
    padding: 1.5rem 5%;
  }
}
.page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs,
.page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs {
  font-size: .825rem;
  margin-bottom: 0;
}
@media (min-width: 1200px) {
  .page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs,
  .page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs {
    font-size: 1rem;
  }
}
.page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs a,
.page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs a {
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  text-decoration: none;
  margin-right: 0.3125rem;
  color: #666666;
}
.page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs a:hover,
.page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs a:hover {
  opacity: .6;
}
.page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs .breadcrumb_last,
.page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs .breadcrumb_last {
  color: #8D1C17;
  margin-left: 0.3125rem;
}
.page-eyecatch-inner .breadcrumb-wrapper #breadcrumbs .breadcrumb_last a,
.page-eyecatch-inner-lp .breadcrumb-wrapper #breadcrumbs .breadcrumb_last a {
  color: #8D1C17;
}
.page-eyecatch-inner .breadcrumb-wrapper::before,
.page-eyecatch-inner-lp .breadcrumb-wrapper::before {
  content: "";
  width: 120vw;
  position: absolute;
  z-index: -1;
  top: 0;
  bottom: 0;
  left: -10vw;
  background-color: #ffffff;
}
.page-eyecatch-inner {
  padding-bottom: clamp(5.625rem, calc(0.6493506493506493vw + 5.478896103896104rem), 6.25rem);
}
.page-eyecatch-inner-lp {
  padding-bottom: clamp(0.9375rem, calc(0.3246753246753247vw + 0.864448051948052rem), 1.25rem);
}
.page_eyecatch_wrapper404 {
  position: relative;
  height: 70px;
  margin-top: 20px;
  margin-bottom: 20px;
  background-color: #eeeeee;
}
@media (min-width: 1200px) {
  .page_eyecatch_wrapper404 {
    height: 80px;
  }
}
@media (min-width: 1200px) {
  .page_eyecatch_wrapper404 {
    height: 90px;
  }
}
.contents-wrapper {
  position: relative;
  width: 100%;
  margin-top: clamp(-6.25rem, calc(-9.090909090909092vw + -4.204545454545455rem), -15rem);
  padding-bottom: clamp(5.625rem, calc(7.142857142857142vw + 4.017857142857143rem), 12.5rem);
}
/* ================================================================================
	wp-pagenavi
================================================================================ */
.wp-pagenavi {
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
}
.wp-pagenavi span,
.wp-pagenavi a {
  font-size: .875rem;
  font-style: normal;
  color: #000;
  border: none !important;
  padding: 5px !important;
}
.wp-pagenavi span.current {
  border: none;
  background: none;
  color: #000;
}
.wp-pagenavi span.pages {
  border: 1px solid #000 !important;
}
.page_gray_bg {
  position: relative;
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  overflow: hidden;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .page_gray_bg {
    padding-top: 5rem;
    padding-bottom: 5rem;
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
.contents {
  position: relative;
}
.contents .alignleft {
  display: inline;
  float: left;
  margin: 12px 24px 12px 0;
  margin: 0.857142857rem 1.714285714rem 0.857142857rem 0;
}
.contents .alignright {
  display: inline;
  float: right;
  margin: 12px 0 12px 24px;
  margin: 0.857142857rem 0 0.857142857rem 1.714285714rem;
}
.contents .aligncenter {
  clear: both;
  display: block;
  margin: 12px auto;
}
@media (max-width: 768px) {
  .contents .alignleft,
  .contents .alignright {
    float: none;
    display: block;
    margin: auto;
  }
}
.contents p.not_found {
  font-size: 2.5rem;
  color: #666666;
  font-weight: 100;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .contents p.not_found {
    font-size: 5rem;
  }
}
.section_margin {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 3rem;
}
@media (min-width: 992px) {
  .section_margin {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.blog_section_margin {
  position: relative;
  padding-top: 1rem;
  padding-bottom: 2rem;
}
@media (min-width: 992px) {
  .blog_section_margin {
    padding-top: 2rem;
    padding-bottom: 3rem;
  }
}
.section_margin_no_top {
  position: relative;
  padding-top: 0;
  padding-bottom: 3rem;
}
@media (min-width: 992px) {
  .section_margin_no_top {
    padding-top: 0;
    padding-bottom: 5rem;
  }
}
.white_bg {
  background-color: #fff;
}
.gray_bg {
  position: relative;
  padding: 20px;
  background-color: #f2f2f2;
  z-index: -2;
}
@media (min-width: 992px) {
  .gray_bg {
    padding: 3rem 5rem;
  }
}
.gray_bg p:last-of-type {
  margin-bottom: 0;
}
.eyecatch_contents {
  padding: 2.5rem 0;
  font-size: 120%;
  line-height: 200%;
}
@media (min-width: 992px) {
  .eyecatch_contents {
    padding: 5rem 0;
  }
}
@media (min-width: 1200px) {
  .eyecatch_contents {
    padding: 7.5rem 0;
  }
}
.pagelink_follow {
  width: 100%;
  background-color: #f2f2f2;
  padding: 1.875rem 0.625rem;
  border-radius: 10px;
}
.pagelink_follow p {
  font-weight: 600;
  font-style: normal;
  font-size: 1.125rem;
  color: #1B224C;
  text-align: center;
}
@media (min-width: 992px) {
  .pagelink_follow p {
    font-size: 1.625rem;
  }
}
.pagelink_follow .green_ghost {
  margin-top: 20px;
}
.mb-contents {
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .mb-contents {
    margin-bottom: 80px;
  }
}
img.img_display {
  display: block;
}
div.contents_white {
  width: 100%;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 20px 10px;
}
@media (min-width: 992px) {
  div.contents_white {
    padding: 40px;
  }
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 40px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.page_eng {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 10px!important;
}
@media (min-width: 992px) {
  .page_eng {
    font-size: 1.5rem;
    margin-bottom: 20px!important;
  }
}
.txt p {
  font-size: 1rem;
  line-height: 180%;
  margin-bottom: 1.75rem;
}
@media (min-width: 992px) {
  .txt p {
    font-size: 1rem;
    margin-bottom: 2rem;
  }
}
.txt p span {
  font-weight: 700;
}
.txt p:last-of-type {
  margin-bottom: 0;
}
.txt ul.check {
  padding-left: 0;
  list-style: none;
  margin-top: 1.25rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .txt ul.check {
    margin-top: 1.75rem;
  }
}
.txt ul.check li {
  line-height: 180%;
  margin-bottom: 0;
}
.txt ul.check li:before {
  font-weight: bold;
  line-height: 100%;
  content: "✓";
  display: inline-block;
  margin-right: 10px;
}
.middlebox {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 10;
}
/*EVENT*/
.flex_archive_event,
.flex_event_inner {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}
.flex_archive_event > div {
  width: 100%;
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .flex_archive_event > div {
    width: calc(50% - 30px);
    margin-bottom: 90px;
  }
}
.flex_archive_event > div a {
  text-decoration: none;
}
.flex_archive_event > div ul.event_type {
  display: block;
  height: 46px;
  text-align: right;
  margin-top: 2.5rem;
  margin-bottom: 0;
  padding-left: 0;
}
.flex_archive_event > div ul.event_type li {
  display: inline-block;
  font-size: .75rem;
  color: #fff;
  background: #000;
  padding: 2px 3px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_archive_event > div ul.event_type li {
    font-size: 1rem;
    padding: 2px 7px;
  }
}
.flex_archive_event > div ul.event_type a {
  position: relative;
  text-decoration: none;
  color: #fff;
  -webkit-transition: color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
  transition: color 0.25s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;
}
.flex_archive_event > div ul.event_type a:hover {
  color: #CCCCCC;
  -webkit-transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
  transition: color 0.45s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}
.flex_event_inner > div {
  width: fit-content;
}
@media (min-width: 992px) {
  .flex_event_inner > div {
    height: 46px;
  }
}
.flex_event_inner > div p.event_archive_day {
  font-size: .875rem;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  display: inline-block;
}
@media (min-width: 992px) {
  .flex_event_inner > div p.event_archive_day {
    font-size: 1.25rem;
  }
}
.flex_event_inner > div p.event_area {
  font-size: .75rem;
  display: inline-block;
}
@media (min-width: 992px) {
  .flex_event_inner > div p.event_area {
    font-size: 1rem;
  }
}
div.tbl_event {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  div.tbl_event {
    margin-bottom: 3.5rem;
  }
}
div.tbl_event dl {
  margin-bottom: 0px;
}
div.tbl_event dt {
  width: 40px;
  font-size: .75rem;
  line-height: 140%;
  float: left;
}
@media (min-width: 992px) {
  div.tbl_event dt {
    width: 60px;
    font-size: 1rem;
  }
}
div.tbl_event dd {
  font-size: .75rem;
  line-height: 140%;
  margin-left: 40px;
}
@media (min-width: 992px) {
  div.tbl_event dd {
    font-size: 1rem;
    margin-left: 70px;
  }
}
div.tbl_event dd p:last-of-type {
  margin-bottom: 0;
}
div.tbl_event dd ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: flex-end;
  padding-left: 0;
  list-style: none;
  flex-direction: row-reverse;
  margin-bottom: 0;
}
div.tbl_event dd ul li {
  font-size: .75rem;
  display: inline-block;
}
@media (min-width: 992px) {
  div.tbl_event dd ul li {
    font-size: 1rem;
  }
}
/*CONCEPT;*/
.flex_mission_page {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .flex_mission_page {
    margin-bottom: 120px;
  }
}
.flex_mission_page > div {
  width: 100%;
}
@media (min-width: 992px) {
  .flex_mission_page > div {
    width: fit-content;
    padding: 0 2.5rem;
  }
}
.flex_mission_page > div:last-child {
  line-height: 200%;
  margin-bottom: 1.5rem;
}
.flex_mission_page > div:last-child p:last-of-type {
  margin-bottom: 0;
}
.concept_txt {
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .concept_txt {
    margin-bottom: 120px;
  }
}
.concept_txt p {
  line-height: 170%;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .concept_txt p {
    margin-bottom: 1.75rem;
  }
}
.concept_txt p span {
  font-weight: 700;
}
.concept_txt p:last-of-type {
  margin-bottom: 0;
}
/*FIRSTSTEP;*/
.inner_link {
  padding: 1.25rem 1rem;
  border: 1px solid #B7B7B7;
  margin: 1.5rem 0;
}
@media (min-width: 992px) {
  .inner_link {
    width: fit-content;
    padding: 2rem 2.5rem;
    margin: 2.5rem 0;
    margin-left: auto;
    margin-right: auto;
  }
}
.inner_link .inner_sub {
  font-size: 1.125rem;
  font-weight: 700;
}
@media (min-width: 992px) {
  .inner_link .inner_sub {
    font-size: 1.25rem;
  }
}
ul.inner_ul01,
ul.inner_ul02,
ul.inner_ul03 {
  padding-left: 1rem;
}
ul.inner_ul01 li,
ul.inner_ul02 li,
ul.inner_ul03 li {
  font-size: 1rem;
  font-weight: 700;
  color: #AC272D;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  ul.inner_ul01 li,
  ul.inner_ul02 li,
  ul.inner_ul03 li {
    font-size: 1.25rem;
  }
}
ul.inner_ul01 li a,
ul.inner_ul02 li a,
ul.inner_ul03 li a {
  font-weight: 300;
  color: #000;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  border-bottom: 1px solid #000;
}
ul.inner_ul01 li a:hover,
ul.inner_ul02 li a:hover,
ul.inner_ul03 li a:hover {
  color: #B7B7B7;
  text-decoration: none;
}
ul.inner_ul01 {
  list-style-type: decimal;
}
ul.inner_ul02 {
  list-style-type: disclosure-open;
}
ul.inner_ul03 {
  list-style-type: square;
  margin-bottom: 1.75rem;
}
@media (min-width: 992px) {
  ul.inner_ul03 {
    margin-bottom: 2rem;
  }
}
ul.inner_ul03 li {
  font-weight: 300;
  color: #000;
}
.flex_land_sub {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  background: #E5E4E3;
  padding: .625rem;
  margin-top: 1.25rem;
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .flex_land_sub {
    margin-top: 2.5rem;
    margin-bottom: 1.25rem;
  }
}
.flex_land_sub > div:first-child {
  width: 30px;
  font-size: 1.25rem;
  font-weight: 700;
  color: #AC272D;
}
.flex_land_sub > div:last-child {
  width: calc(100% - 30px);
  font-size: 1.25rem;
  font-weight: 700;
}
/*MODELHOUSE;*/
.flex_modelhouse_archive {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
}
.flex_modelhouse_archive > div {
  width: 100%;
  margin-bottom: 80px;
}
@media (min-width: 992px) {
  .flex_modelhouse_archive > div {
    width: calc(50% - 30px);
    margin-bottom: 0;
  }
}
.gray_wrap {
  background: #E5E4E3;
}
.flex_modelhouse_spec {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin-top: 10px;
  padding-bottom: 20px;
}
@media (min-width: 992px) {
  .flex_modelhouse_spec {
    margin-top: 20px;
    padding-bottom: 40px;
  }
}
.flex_modelhouse_spec > div {
  width: 40%;
  font-size: .6875rem;
}
@media (min-width: 992px) {
  .flex_modelhouse_spec > div {
    font-size: 1.25rem;
  }
}
.flex_modelhouse_spec > div a {
  text-decoration: none;
}
.flex_modelhouse_spec > div p.movie_link {
  line-height: 20px;
}
.flex_modelhouse_spec > div p.movie_link:before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 20px;
  background: url(../images/common/movie.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: 5px;
}
@media (min-width: 992px) {
  .flex_modelhouse_spec > div p.movie_link:before {
    width: 55px;
    height: 66px;
    margin-right: 10px;
  }
}
.flex_modelhouse_spec > div:last-child {
  width: 60%;
  text-align: right;
}
.flex_point {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 40px;
}
@media (min-width: 992px) {
  .flex_point {
    margin-top: 60px;
  }
}
.flex_point > div {
  width: 100%;
  margin-bottom: 3rem;
}
@media (min-width: 992px) {
  .flex_point > div {
    width: -webkit-calc(33% - 10px);
    width: calc(33% - 10px);
    padding: 60px;
  }
}
.flex_point > div img {
  width: 100%;
}
@media (min-width: 992px) {
  .flex_point > div img {
    margin-bottom: 15px;
  }
}
.point_inner {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  justify-content: space-between;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
}
.point_inner > div {
  width: -webkit-calc(30% - 5px);
  width: calc(30% - 5px);
}
@media (min-width: 992px) {
  .point_inner > div {
    width: 100%;
  }
}
.point_inner > div:last-child {
  width: -webkit-calc(70% - 5px);
  width: calc(70% - 5px);
}
@media (min-width: 992px) {
  .point_inner > div:last-child {
    width: 100%;
  }
}
.point_sub {
  font-size: .875rem;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .point_sub {
    font-size: 1.25rem;
    margin-bottom: 15px;
    text-align: center;
  }
}
.point_sub span {
  margin-left: 5px;
}
.point_info {
  font-size: 11px;
  margin-top: .625rem;
}
@media (min-width: 992px) {
  .point_info {
    font-size: 14px;
    margin-top: 2rem;
  }
}
.hiraya_slide {
  margin-top: 40px;
}
@media (min-width: 992px) {
  .hiraya_slide {
    margin-top: 60px;
  }
}
h3.form_title {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  h3.form_title {
    font-size: 1.75rem;
  }
}
h4.modelhouse {
  font-weight: 700;
  font-style: normal;
  font-size: 1.125rem;
  margin-top: 40px;
  margin-bottom: 20px;
  position: relative;
  padding-left: 10px;
}
@media (min-width: 992px) {
  h4.modelhouse {
    font-size: 1.5rem;
    margin-top: 60px;
    padding-left: 15px;
  }
}
h4.modelhouse span {
  font-size: .75rem;
}
@media (min-width: 992px) {
  h4.modelhouse span {
    font-size: 1rem;
  }
}
h4.modelhouse::before {
  content: '';
  display: block;
  width: 2px;
  height: 18px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 992px) {
  h4.modelhouse::before {
    width: 3px;
    height: 30px;
  }
}
.merit_title {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .merit_title {
    font-size: 2.5rem;
    margin-bottom: 40px;
  }
}
.merit_title span {
  font-size: 150%;
}
.flex_reserve_merit {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_reserve_merit > div {
  position: relative;
  width: 100%;
  padding: 0 20px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .flex_reserve_merit > div {
    width: 33%;
    margin-bottom: 40px;
  }
}
.flex_reserve_merit > div img {
  display: block;
  width: calc(100% - 40px);
  height: auto;
  margin-left: auto;
  margin-right: auto;
  border-radius: 100%;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .flex_reserve_merit > div img {
    width: auto;
    height: 300px;
    margin-bottom: 20px;
  }
}
.flex_reserve_merit > div .sub {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 992px) {
  .flex_reserve_merit > div .sub {
    font-size: 1.4rem;
  }
}
/*PLAN;*/
.flex_standard {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  margin: 30px auto;
}
@media (min-width: 992px) {
  .flex_standard {
    margin: 50px auto;
  }
}
.flex_standard > div {
  width: 100%;
  height: 70px;
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 100%;
  background: #E5E4E3;
  margin-bottom: 15px;
  position: relative;
}
@media (min-width: 992px) {
  .flex_standard > div {
    width: calc(50% - 15px);
    font-size: 1.25rem;
  }
}
.answer {
  font-size: 1rem;
}
.large_txt {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  margin-top: 15px;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .large_txt {
    font-size: 2rem;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.price_img {
  width: 90%;
  display: block;
  margin: 30px auto;
}
@media (min-width: 992px) {
  .price_img {
    width: 940px;
    margin: 50px auto;
  }
}
.catalog_page_upper {
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  background: #AC272D;
  color: #fff;
  padding: 8px 0;
  border-radius: 15px 15px 0 0;
  margin-top: 20px;
}
@media (min-width: 992px) {
  .catalog_page_upper {
    font-size: 1.875rem;
    padding: 12px 0;
    margin-top: 40px;
  }
}
.catalog_page_content {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  padding: 15px;
  background: #fff;
  border: 2px solid #AC272D;
  border-radius: 0 0 15px 15px;
}
@media (min-width: 992px) {
  .catalog_page_content {
    padding: 20px;
  }
}
.catalog_page_content > div {
  width: 100%;
  padding: 5px;
}
@media (min-width: 992px) {
  .catalog_page_content > div {
    width: 50%;
    padding: 10px 20px;
  }
}
.catalog_page_content > div .catalog_about_img {
  width: 60%;
  margin-top: 10px;
}
@media (min-width: 992px) {
  .catalog_page_content > div .catalog_about_img {
    width: 40%;
  }
}
.catalog_page_content > div .catalog_sub {
  font-size: .875rem;
  font-weight: 600;
}
@media (min-width: 992px) {
  .catalog_page_content > div .catalog_sub {
    font-size: 1.25rem;
  }
}
.catalog_page_content > div p {
  font-size: .75rem;
  color: #000;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .catalog_page_content > div p {
    font-size: 1rem;
  }
}
.catalog_page_content > div .more_btn_contact {
  margin-top: 15px;
}
@media (min-width: 992px) {
  .catalog_page_content > div .more_btn_contact {
    margin-top: 25px;
  }
}
.flex_spec {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
  background: #E5E4E3;
  padding: 10px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .flex_spec {
    padding: 25px;
    margin-bottom: 50px;
  }
}
.flex_spec > div:first-child {
  width: 40%;
}
.flex_spec > div:first-child h4 {
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
}
@media (min-width: 992px) {
  .flex_spec > div:first-child h4 {
    font-size: 1.875rem;
  }
}
.flex_spec > div:first-child h4 span {
  font-size: 50%;
  display: block;
}
.flex_spec > div:nth-child(2) {
  width: 60%;
}
.flex_spec > div:last-child {
  width: 100%;
  padding: 10px 0 0 0;
}
@media (min-width: 992px) {
  .flex_spec > div:last-child {
    padding: 25px 0 0 0;
  }
}
/*以下Q&amp;amp;Aの処理*/
.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 100%;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  text-align: center;
  cursor: pointer;
}
/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
  font-weight: bold;
  line-height: 100%;
  font-family: "Font Awesome 5 Free";
  content: "\f078";
  display: inline-block;
  -webkit-transition: transform 0.4s;
  transition: transform 0.4s;
}
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  padding: 0 10px;
  -webkit-transition: max-height 0.2s;
  transition: max-height 0.2s;
}
@media (min-width: 992px) {
  .cp_qa .cp_actab .cp_actab-content {
    padding: 0 20px;
  }
}
.cp_qa .cp_actab .cp_actab-content p {
  font-size: .875rem;
  margin: 10px 0;
}
@media (min-width: 992px) {
  .cp_qa .cp_actab .cp_actab-content p {
    font-size: 1rem;
  }
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked + label + .cp_actab-content {
  max-height: 80em !important;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
  -webkit-transform: rotateZ(180deg);
  transform: rotateZ(180deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}
.spec_pc {
  display: none;
}
@media (min-width: 992px) {
  .spec_pc {
    padding: 15px 20px;
    line-height: 180%;
    display: block;
  }
  .spec_pc p:last-of-type {
    margin-bottom: 0;
  }
}
.spec_pc img {
  width: 900px;
  display: block;
}
.plan_inner {
  padding: 10px;
  border: 2px solid #000;
  background-color: #fff;
  margin-top: 20px;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .plan_inner {
    width: 900px;
    padding: 20px;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
}
.plan_inner ul.plan_ul {
  list-style-type: decimal;
}
.flex_hiraya_sub {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: center;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
  margin: 30px 0 60px 0;
}
@media (min-width: 992px) {
  .flex_hiraya_sub {
    margin: 60px 0 120px 0;
  }
}
.flex_hiraya_sub > div {
  position: relative;
  width: 100%;
  height: 70px;
  text-align: center;
  border-top: 2px solid;
}
@media (min-width: 992px) {
  .flex_hiraya_sub > div {
    width: 20%;
    border-bottom: 2px solid;
  }
}
.flex_hiraya_sub > div .en {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 2px;
}
@media (min-width: 992px) {
  .flex_hiraya_sub > div .en {
    font-size: .675rem;
  }
}
.flex_hiraya_sub > div .hiraya_title {
  font-size: 1.25rem;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_hiraya_sub > div .hiraya_title {
    font-size: .875rem;
  }
}
@media (min-width: 1200px) {
  .flex_hiraya_sub > div .hiraya_title {
    font-size: 1rem;
  }
}
.flex_hiraya_sub > div:last-child {
  border-bottom: 2px solid;
}
.flex_fascination {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}
.flex_fascination > div {
  position: relative;
  width: 100%;
  background: #E5E4E3;
  padding: 15px 0;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_fascination > div {
    width: 47%;
    padding: 20px 0;
    margin-bottom: 20px;
  }
}
.flex_fascination > div .fascination01,
.flex_fascination > div .fascination02,
.flex_fascination > div .fascination03,
.flex_fascination > div .fascination04,
.flex_fascination > div .fascination05,
.flex_fascination > div .fascination06 {
  padding: 15px 0;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: #fff;
}
@media (min-width: 992px) {
  .flex_fascination > div .fascination01,
  .flex_fascination > div .fascination02,
  .flex_fascination > div .fascination03,
  .flex_fascination > div .fascination04,
  .flex_fascination > div .fascination05,
  .flex_fascination > div .fascination06 {
    font-size: 1.5rem;
    padding: 20px 0;
  }
}
.flex_fascination > div .fascination01 {
  background: url(../images/page/hiraya/fascination01.jpg) center center no-repeat;
  background-size: cover;
}
.flex_fascination > div .fascination02 {
  background: url(../images/page/hiraya/fascination02.jpg) center center no-repeat;
  background-size: cover;
}
.flex_fascination > div .fascination03 {
  background: url(../images/page/hiraya/fascination03.jpg) center center no-repeat;
  background-size: cover;
}
.flex_fascination > div .fascination04 {
  background: url(../images/page/hiraya/fascination04.jpg) center center no-repeat;
  background-size: cover;
}
.flex_fascination > div .fascination05 {
  background: url(../images/page/hiraya/fascination05.jpg) center center no-repeat;
  background-size: cover;
}
.flex_fascination > div .fascination06 {
  background: url(../images/page/hiraya/fascination06.jpg) center center no-repeat;
  background-size: cover;
}
.flex_anxiety {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.flex_anxiety > div {
  position: relative;
  width: 100%;
  padding: 10px;
  border-left: 1px solid;
  border-right: 1px solid;
  border-bottom: 1px solid;
}
@media (min-width: 992px) {
  .flex_anxiety > div {
    padding: 15px 5px;
  }
}
.flex_anxiety > div .anxiety_sub {
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_anxiety > div .anxiety_sub {
    font-size: 1.5rem;
  }
}
.flex_anxiety > div:last-child {
  border-bottom: none;
}
.works_sub {
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media (min-width: 992px) {
  .works_sub {
    font-size: 1.5rem;
  }
}
.works_date {
  font-size: .75rem;
  text-align: center;
}
@media (min-width: 992px) {
  .works_date {
    font-size: 1rem;
  }
}
.works_txt {
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .works_txt {
    margin-bottom: 60px;
  }
}
.works_txt p {
  line-height: 170%;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .works_txt p {
    margin-bottom: 1.75rem;
  }
}
.works_txt p span {
  font-weight: 700;
}
.works_txt p:last-of-type {
  margin-bottom: 0;
}
img.works_img {
  display: block;
  margin-top: 60px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  img.works_img {
    margin-top: 80px;
    margin-bottom: 40px;
  }
}
.flex_plan {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 30px 0 60px 0;
}
@media (min-width: 992px) {
  .flex_plan {
    margin: 60px 0 120px 0;
  }
}
.flex_plan > div {
  position: relative;
  width: calc(50% - 5px);
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .flex_plan > div {
    width: calc(25% - 10px);
    margin-bottom: 0;
  }
}
.flex_plan > div .plan_img {
  margin: auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.flex_plan > div .plan_img img {
  width: 100%;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
.flex_plan > div .plan_img a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 4;
}
.flex_plan > div .plan_img:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: rgba(0, 0, 0, 0.6);
}
.flex_plan > div .plan_img:hover:after {
  background: rgba(0, 0, 0, 0.2);
}
.flex_plan > div .plan_img:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.flex_plan > div p {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 2rem;
  color: #fff;
  text-align: center;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 3;
}
.plan_type {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.125rem;
  text-align: center;
  display: block;
  width: 120px;
  padding: 5px;
  margin-top: 40px;
  margin-bottom: 15px;
  border: 1px solid;
}
@media (min-width: 992px) {
  .plan_type {
    font-size: 2rem;
    width: 240px;
    margin-top: 80px;
    margin-bottom: 20px;
  }
}
img.plan01,
img.plan02,
img.plan03,
img.plan04 {
  display: block;
  margin-top: 20px;
  cursor: pointer;
}
@media (min-width: 992px) {
  img.plan01,
  img.plan02,
  img.plan03,
  img.plan04 {
    width: 800px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
}
img.plan_ex {
  display: block;
  margin-top: 20px;
}
@media (min-width: 992px) {
  img.plan_ex {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
  }
}
.gallery_tpl {
  padding-bottom: 30px;
}
@media (min-width: 992px) {
  .gallery_tpl {
    padding-bottom: 60px;
  }
}
.plan_catch {
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .plan_catch {
    font-size: 1.5rem;
    margin-bottom: 60px;
  }
}
.plan_logo {
  height: 30px;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .plan_logo {
    height: 66px;
  }
}
.plan_name {
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .plan_name {
    font-size: 1rem;
    margin-top: 20px;
    margin-bottom: 60px;
  }
}
.info_catch {
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .info_catch {
    font-size: 1rem;
    margin-top: 60px;
    margin-bottom: 30px;
  }
}
.plan_slide {
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .plan_slide {
    margin-bottom: 60px;
  }
}
.flow_title {
  width: fit-content;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  text-align: center;
  line-height: 120%;
  margin-top: 90px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  letter-spacing: 3px;
  position: relative;
}
@media (min-width: 992px) {
  .flow_title {
    font-size: 3rem;
    margin-top: 120px;
    margin-bottom: 80px;
  }
}
.flow_title:after {
  content: '';
  background: #E6E4E2;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: absolute;
  right: -28px;
  top: -25px;
  z-index: -1;
}
@media (min-width: 768px) {
  .flow_title:after {
    width: 120px;
    height: 120px;
    right: -38px;
    top: -34px;
  }
}
.flow_box {
  padding: 10px 10px 10px 20px;
  margin-bottom: 0;
  border: 3px solid #000;
  position: relative;
}
@media (min-width: 992px) {
  .flow_box {
    max-width: 960px;
    padding: 50px 120px;
    margin-left: auto;
    margin-right: auto;
  }
}
.flow_box .flow_num {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0;
  display: inline-block;
  margin-right: 10px;
}
@media (min-width: 992px) {
  .flow_box .flow_num {
    font-size: 2rem;
    margin-right: 20px;
  }
}
.flow_box .flow_num span {
  font-size: 2rem;
}
@media (min-width: 992px) {
  .flow_box .flow_num span {
    font-size: 4rem;
  }
}
.flow_box .flow_sub01 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0;
  display: inline-block;
}
@media (min-width: 992px) {
  .flow_box .flow_sub01 {
    font-size: 2rem;
  }
}
.flow_box .flow_sub01 a {
  text-decoration: none;
}
.flow_box_bordertop {
  border-top: none;
}
.flow_box:before,
.flow_box:after {
  content: '';
  position: absolute;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
}
.flow_box:before {
  bottom: -20px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
  border-width: 18px 18px 0 18px;
}
@media (min-width: 768px) {
  .flow_box:before {
    bottom: -34px;
    border-width: 32px 32px 0 32px;
  }
}
.flow_box:after {
  bottom: -16px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 16px 16px 0 16px;
  z-index: 10;
}
@media (min-width: 992px) {
  .flow_box:after {
    bottom: -30px;
    border-width: 30px 30px 0 30px;
  }
}
.flow_titlebox {
  width: calc(100% - 40px);
  padding: 10px 30px 20px 30px;
  background: #E2E1E0;
  margin-top: 90px;
  margin-left: -15px;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flow_titlebox {
    width: 50%;
    padding: 20px 50px 40px 50px;
    margin-top: 120px;
    margin-left: 0;
    margin-bottom: 60px;
  }
}
.flow_titlebox .flow_num {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0;
  margin-right: 10px;
}
@media (min-width: 992px) {
  .flow_titlebox .flow_num {
    font-size: 2rem;
    margin-right: 20px;
  }
}
.flow_titlebox .flow_num span {
  font-size: 2rem;
}
@media (min-width: 992px) {
  .flow_titlebox .flow_num span {
    font-size: 4rem;
  }
}
.flow_titlebox .flow_sub02 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flow_titlebox .flow_sub02 {
    font-size: 2rem;
  }
}
.flex_plan_2022 {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 30px;
}
.flex_plan_2022 > div {
  position: relative;
  width: calc(100% - 60px);
  font-weight: 700;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .flex_plan_2022 > div {
    width: calc(50% - 10px);
    font-size: 1.5rem;
  }
}
.flex_type {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}
.flex_type > div {
  position: relative;
  width: calc(100% - 20px);
  margin-left: auto;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .flex_type > div {
    width: 48%;
    margin-left: 20px;
    margin-bottom: 40px;
  }
}
.flex_type > div .inner {
  padding: 10px;
}
@media (min-width: 992px) {
  .flex_type > div .inner {
    padding: 20px;
  }
}
.border01 {
  border-left: 1px solid #231815;
  border-bottom: 1px solid #231815;
}
.border02 {
  border-left: 1px solid #918A84;
  border-bottom: 1px solid #918A84;
}
.border03 {
  border-left: 1px solid #2B2B3A;
  border-bottom: 1px solid #2B2B3A;
}
.flex_select {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 30px;
}
.flex_select > div {
  position: relative;
  width: 100%;
  padding: 0 20px;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .flex_select > div {
    width: 33%;
    margin-bottom: 40px;
  }
}
.flex_select > div img {
  display: block;
  width: calc(100% - 40px);
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .flex_select > div img {
    width: auto;
    height: 190px;
  }
}
.flex_select > div .select_title {
  font-family: ltc-broadway, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.5rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_select > div .select_title {
    font-size: 2rem;
  }
}
.flex_select > div .select_sub {
  font-weight: 700;
}
.flex_enjoy_flow {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative;
  width: -webkit-calc(100% - 30px);
  width: calc(100% - 30px);
  margin-left: auto;
  margin-right: 0;
}
@media (min-width: 992px) {
  .flex_enjoy_flow {
    width: 820px;
    margin-right: auto;
    padding-left: 40px;
  }
}
.flex_enjoy_flow > div {
  width: 100%;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex_enjoy_flow > div {
    margin-bottom: 60px;
  }
}
.flex_enjoy_flow > div .flex_flow_inner {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.flex_enjoy_flow > div .flex_flow_inner > div:first-child {
  width: 70%;
  padding: 0 5px;
}
@media (min-width: 992px) {
  .flex_enjoy_flow > div .flex_flow_inner > div:first-child {
    padding: 0 10px;
  }
}
.flex_enjoy_flow > div .flex_flow_inner > div:last-child {
  width: 30%;
  padding: 30px 5px 5px 5px;
}
@media (min-width: 992px) {
  .flex_enjoy_flow > div .flex_flow_inner > div:last-child {
    padding: 10px;
  }
}
.flex_enjoy_flow > div:before {
  content: '●';
  font-weight: 600;
  color: #000;
  position: absolute;
  left: -25px;
}
.flex_enjoy_flow:before {
  content: ' ';
  background: #000;
  width: 2px;
  position: absolute;
  top: 20px;
  bottom: 5px;
  left: -19px;
}
@media (min-width: 992px) {
  .flex_enjoy_flow:before {
    bottom: 50px;
    left: -18px;
  }
}
.flow_last {
  position: relative;
}
.flow_last:before {
  left: -25px !important;
}
@media (min-width: 992px) {
  .flow_last:before {
    left: -65px !important;
  }
}
.flow_last:after {
  content: '';
  background: #fff;
  width: 2px;
  position: absolute;
  top: 20px;
  bottom: -60px;
  left: -19px;
}
@media (min-width: 992px) {
  .flow_last:after {
    left: -58px;
  }
}
/*LOGIN REGIST*/
.login_gray_wrap {
  background: url(../images/page/plan/login_gray_bg.jpg) center center no-repeat;
  background-size: cover;
}
.login_wrap {
  background: url(../images/page/plan/login_bg_sp.jpg) center center no-repeat;
  background-size: cover;
}
@media (min-width: 992px) {
  .login_wrap {
    background: url(../images/page/plan/login_bg_pc.jpg) center center no-repeat;
  }
}
.login_wrap h3.login {
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .login_wrap h3.login {
    font-size: 2.5rem;
    margin-bottom: 1.875rem;
  }
}
.regist_box,
.login_box {
  padding: 1.25rem;
  background: rgba(255, 255, 255, 0.7);
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .regist_box,
  .login_box {
    padding: 2.5rem;
  }
}
.regist_box label,
.login_box label {
  font-size: .875rem;
  font-weight: 700;
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .regist_box label,
  .login_box label {
    font-size: 1rem;
  }
}
.regist_box .link-text,
.login_box .link-text {
  display: none;
}
.regist_box {
  width: 100%;
}
.regist_box legend {
  font-size: 1rem;
}
@media (min-width: 992px) {
  .regist_box legend {
    font-size: 1.25rem;
  }
}
.login_box {
  width: 80%;
}
.login_box legend {
  display: none;
}
/*FIREPROOF*/
.fireproof_upper {
  padding: 80px 15px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .fireproof_upper {
    padding: 0 0 120px 0;
  }
}
.fireproof_middle,
.fireproof_under {
  padding: 80px 15px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .fireproof_middle,
  .fireproof_under {
    padding: 120px 0;
  }
}
.fireproof_middle {
  background: #f2f2f2;
}
p.fireproof_catch {
  font-size: calc(60 * 100vw / 768);
  font-weight: 600;
  position: relative;
  overflow: visible;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  p.fireproof_catch {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.625rem;
    margin-bottom: 60px;
  }
}
p.fireproof_catch span {
  font-size: calc(80 * 100vw / 768);
  background: url(../images/page/fireproof/fireproof_catch_bg2.svg) 0% 30% no-repeat;
  background-size: cover;
}
@media (min-width: 992px) {
  p.fireproof_catch span {
    font-size: 4rem;
  }
}
.fireproof_info {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: calc(54 * 100vw / 768);
  position: relative;
  padding-left: 60px;
}
@media (min-width: 992px) {
  .fireproof_info {
    font-size: 2.625rem;
    padding-left: 200px;
  }
}
.fireproof_info:before {
  content: "";
  width: 50px;
  height: 2px;
  background: #000000;
  position: absolute;
  left: 0;
  top: 50%;
}
@media (min-width: 992px) {
  .fireproof_info:before {
    width: 180px;
  }
}
.fireproof_txt {
  padding-left: 60px;
}
@media (min-width: 992px) {
  .fireproof_txt {
    padding-left: 200px;
  }
}
.three_point {
  width: 80%;
  margin-bottom: 30px;
}
@media (min-width: 992px) {
  .three_point {
    width: 440px;
    margin-bottom: 60px;
  }
}
ul.fireproof_point {
  list-style-type: decimal;
}
ul.fireproof_point li {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  ul.fireproof_point li {
    font-size: 2.125rem;
    margin-bottom: 30px;
  }
}
ul.fireproof_point li span {
  display: block;
  font-size: .875rem;
  font-weight: 400;
}
@media (min-width: 992px) {
  ul.fireproof_point li span {
    font-size: 1rem;
  }
}
.h3_inner {
  max-width: 1080px;
  overflow: visible;
  margin-left: auto;
  margin-right: auto;
}
h3.underpriced {
  font-size: calc(68 * 100vw / 768);
  font-weight: 600;
  position: relative;
  overflow: visible;
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  h3.underpriced {
    font-size: 4rem;
    text-align: right;
  }
}
h3.underpriced span {
  font-size: calc(50 * 100vw / 768);
  display: block;
}
@media (min-width: 992px) {
  h3.underpriced span {
    font-size: 1.625rem;
    display: inline-block;
  }
}
h3.underpriced:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 20px;
  background: url(../images/page/fireproof/h3_bg.png) top left repeat-x;
}
@media (min-width: 992px) {
  h3.underpriced:after {
    width: 9999px;
  }
}
.underpriced_txt {
  font-size: .875rem;
  line-height: 180%;
  padding: 20px;
}
@media (min-width: 992px) {
  .underpriced_txt {
    font-size: 1.125rem;
    text-align: right;
  }
}
.underpriced_txt span {
  background: -moz-linear-gradient(top, transparent 0%, transparent 50%, #E5E4E3 50%, #E5E4E3 100%);
  background: -webkit-linear-gradient(top, transparent 0%, transparent 50%, #E5E4E3 50%, #E5E4E3 100%);
  background: linear-gradient(to bottom, transparent 0%, transparent 50%, #E5E4E3 50%, #E5E4E3 100%);
}
h4.underpriced {
  font-size: 1.25rem;
  margin-top: 40px;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  h4.underpriced {
    font-size: 1.625rem;
    padding-left: 100px;
    margin-top: 60px;
    margin-bottom: 15px;
  }
}
table.fireproof_tbl {
  width: 100%;
  font-size: .875rem;
  margin-bottom: 20px;
  border-collapse: collapse;
  overflow: visible;
}
@media (min-width: 992px) {
  table.fireproof_tbl {
    font-size: 1rem;
    margin-bottom: 30px;
  }
}
table.fireproof_tbl thead th {
  text-align: center;
  padding: 10px 5px;
}
@media (min-width: 992px) {
  table.fireproof_tbl thead th {
    background-color: #f2f2f2;
    border: 1px solid #000000;
  }
}
@media (min-width: 992px) {
  table.fireproof_tbl thead th:first-child {
    border: none;
    background: none;
  }
}
table.fireproof_tbl tbody tr:first-child td:nth-child(3) {
  font-size: 20px;
}
@media (min-width: 992px) {
  table.fireproof_tbl tbody tr:first-child td:nth-child(3) {
    font-size: initial;
  }
}
table.fireproof_tbl tbody th {
  background-color: #f2f2f2;
  border: 1px solid #000000;
}
@media (min-width: 992px) {
  table.fireproof_tbl tbody th {
    border: none;
    background: none;
    width: 90px;
  }
}
table.fireproof_tbl tbody td {
  border: 1px solid #000000;
}
@media (min-width: 992px) {
  table.fireproof_tbl tbody tr:last-child td {
    font-size: initial;
  }
  table.fireproof_tbl tbody td:nth-child(2) {
    font-size: 24px;
  }
}
table.fireproof_tbl tbody td.t_structure {
  color: #ffffff;
  background-color: #4CA1AF;
}
table.fireproof_tbl tbody td,
table.fireproof_tbl tbody th {
  padding: 10px 5px;
  text-align: center;
}
@media (min-width: 992px) {
  table.fireproof_tbl tbody td,
  table.fireproof_tbl tbody th {
    padding: 20px 10px;
  }
}
table.fireproof_tbl img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
/*WORKS;*/
.flex_pagearchive_works {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_pagearchive_works > div {
  position: relative;
  padding: 10px 0;
}
.flex_pagearchive_works > div .archive_img {
  margin: auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.flex_pagearchive_works > div .archive_img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .archive_img img {
    height: 240px;
  }
}
.flex_pagearchive_works > div .archive_img a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 4;
}
.flex_pagearchive_works > div .archive_img:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: rgba(0, 0, 0, 0.3);
}
.flex_pagearchive_works > div .archive_img:hover:after {
  background: rgba(0, 0, 0, 0.2);
}
.flex_pagearchive_works > div .archive_img:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.flex_pagearchive_works > div .new_mark {
  display: inline-block;
  height: 20px;
  position: absolute;
  top: 10px;
  background: #AC272D;
  padding: 2px 5px;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: .625rem;
  text-align: center;
  color: #fff;
  margin: 0;
  z-index: 2;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .new_mark {
    height: 30px;
    top: 20px;
    font-size: 1rem;
  }
}
.flex_pagearchive_works > div .new_mark:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}
.flex_pagearchive_works > div .new_mark:after {
  right: -20px;
  bottom: 0;
  width: 20px;
  border: 10px solid #AC272D;
  border-right-color: transparent;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .new_mark:after {
    right: -30px;
    width: 30px;
    border: 15px solid #AC272D;
    border-right-color: transparent;
  }
}
.flex_pagearchive_works > div .detail {
  position: absolute;
  width: 100%;
  color: #fff;
  bottom: 0;
  left: 0;
  padding: 5px;
  z-index: 2;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .detail {
    padding: 15px;
  }
}
.flex_pagearchive_works > div .detail h3 {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: .875rem;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .detail h3 {
    font-size: 1.25rem;
    margin-bottom: 10px;
  }
}
.flex_pagearchive_works > div .detail .year,
.flex_pagearchive_works > div .detail .area_list {
  display: inline-block;
  font-size: .625rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .detail .year,
  .flex_pagearchive_works > div .detail .area_list {
    font-size: 1rem;
  }
}
.flex_pagearchive_works > div .detail .event_type {
  display: inline-block;
  font-size: .625rem;
  color: #000;
  background: #fff;
  padding: 2px 3px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div .detail .event_type {
    font-size: .875rem;
    padding: 2px 7px;
  }
}
.flex_pagearchive_works > div {
  width: 100%;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .flex_pagearchive_works > div {
    width: 48%;
    margin-bottom: 10px;
  }
}
@media (min-width: 1200px) {
  .flex_pagearchive_works > div {
    width: 30%;
  }
}
.flex_pagearchive_works:after {
  content: '';
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .flex_pagearchive_works:after {
    width: 48%;
    margin-bottom: 10px;
  }
}
@media (min-width: 1200px) {
  .flex_pagearchive_works:after {
    width: 30%;
  }
}
.flex_gallery_search {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  border-top: 1px solid;
  border-bottom: 1px solid;
  margin-bottom: clamp(1.25rem, calc(2.380952380952381vw + 0.7142857142857143rem), 2.5rem);
}
.flex_gallery_search > div {
  width: 25%;
  text-align: center;
  font-size: .75rem;
  line-height: 30px;
}
@media (min-width: 992px) {
  .flex_gallery_search > div {
    font-size: 1rem;
  }
}
.flex_gallery_search > div a {
  text-decoration: none;
}
.flex_gallery_search > div .works_taxonomy_btn {
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.flex_gallery_search > div .works_taxonomy_btn:hover:before {
  content: '▶';
  position: absolute;
  left: -20px;
}
div.works_taxonomy_room,
div.blog_archive {
  position: relative;
  padding: 5px;
  z-index: 101;
  display: none;
  /*初期状態は非表示*/
  width: 100%;
  border-bottom: 1px solid;
  margin-bottom: clamp(1.25rem, calc(2.380952380952381vw + 0.7142857142857143rem), 2.5rem);
}
div.works_taxonomy_room ul.works_taxonomy_ul,
div.blog_archive ul.works_taxonomy_ul {
  margin-bottom: 0px;
  padding-left: 0;
}
div.works_taxonomy_room ul.works_taxonomy_ul li,
div.blog_archive ul.works_taxonomy_ul li {
  font-size: clamp(0.75rem, calc(0.5555555555555556vw + 0.625rem), 1rem);
  list-style: none;
  display: inline-block;
  margin: 5px;
}
@media (min-width: 992px) {
  div.works_taxonomy_room ul.works_taxonomy_ul li,
  div.blog_archive ul.works_taxonomy_ul li {
    margin: 10px 30px 10px 0;
  }
}
div.works_taxonomy_room ul.works_taxonomy_ul li a,
div.blog_archive ul.works_taxonomy_ul li a {
  text-decoration: none;
  transition: 0.5s;
}
div.works_taxonomy_room ul.works_taxonomy_ul li a:hover,
div.blog_archive ul.works_taxonomy_ul li a:hover {
  background: #000;
  color: #fff;
}
div.works_taxonomy_room ul.works_taxonomy_ul ul.children,
div.blog_archive ul.works_taxonomy_ul ul.children {
  margin-bottom: 0px;
  padding-left: 0;
  list-style: decimal;
}
div.works_taxonomy_room ul.works_taxonomy_ul ul.children li,
div.blog_archive ul.works_taxonomy_ul ul.children li {
  font-size: .75rem;
  list-style: none;
  display: inline-block;
  margin: 5px;
}
@media (min-width: 992px) {
  div.works_taxonomy_room ul.works_taxonomy_ul ul.children li,
  div.blog_archive ul.works_taxonomy_ul ul.children li {
    font-size: 1rem;
  }
}
div.works_taxonomy_room li.categories ul,
div.blog_archive li.categories ul {
  padding-left: 0;
}
div.blog_archive {
  height: 150px;
  overflow-y: scroll;
}
div.blog_archive li {
  width: 28%;
}
@media (min-width: 992px) {
  div.blog_archive li {
    width: 16%;
  }
}
div.works_taxonomy_type,
div.works_taxonomy_area {
  position: relative;
  padding: 5px;
  z-index: 101;
  display: none;
  /*初期状態は非表示*/
  width: 100%;
  border-bottom: 1px solid;
  margin-bottom: clamp(1.25rem, calc(2.380952380952381vw + 0.7142857142857143rem), 2.5rem);
}
div.works_taxonomy_type ul.works_taxonomy_ul,
div.works_taxonomy_area ul.works_taxonomy_ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}
div.works_taxonomy_type ul.works_taxonomy_ul li,
div.works_taxonomy_area ul.works_taxonomy_ul li {
  width: 100%;
  font-size: clamp(0.75rem, calc(0.5555555555555556vw + 0.625rem), 1rem);
  font-weight: 700;
  list-style: none;
  display: inline-block;
  margin: 5px;
}
div.works_taxonomy_type ul.works_taxonomy_ul li a,
div.works_taxonomy_area ul.works_taxonomy_ul li a {
  text-decoration: none;
  transition: 0.5s;
}
div.works_taxonomy_type ul.works_taxonomy_ul li a:hover,
div.works_taxonomy_area ul.works_taxonomy_ul li a:hover {
  background: #000;
  color: #fff;
}
div.works_taxonomy_type ul.works_taxonomy_ul ul.children,
div.works_taxonomy_area ul.works_taxonomy_ul ul.children {
  margin-bottom: 0px;
  padding-left: 0;
  list-style: decimal;
}
div.works_taxonomy_type ul.works_taxonomy_ul ul.children li,
div.works_taxonomy_area ul.works_taxonomy_ul ul.children li {
  width: fit-content;
  font-weight: 400;
  list-style: none;
  display: inline-block;
  margin: 5px;
}
div.works_taxonomy_type ul.works_taxonomy_ul ul.children li a:hover,
div.works_taxonomy_area ul.works_taxonomy_ul ul.children li a:hover {
  background: #000;
  color: #fff;
}
@media (min-width: 1200px) {
  div.works_taxonomy_type ul.works_taxonomy_ul ul.children li a:hover,
  div.works_taxonomy_area ul.works_taxonomy_ul ul.children li a:hover {
    background: 000!important;
    color: #fff;
  }
}
.works_single_wrap {
  position: relative;
  background: -moz-linear-gradient(top, #E5E4E3 0%, #E5E4E3 30%, transparent 30%, transparent 100%);
  background: -webkit-linear-gradient(top, #E5E4E3 0%, #E5E4E3 30%, transparent 30%, transparent 100%);
  background: linear-gradient(to bottom, #E5E4E3 0%, #E5E4E3 30%, transparent 30%, transparent 100%);
  overflow: hidden;
}
img.movie_icon {
  display: block;
  width: 32px;
  height: 40px;
  margin: 10px 0 10px auto;
}
@media (min-width: 992px) {
  img.movie_icon {
    width: 55px;
    height: 66px;
  }
}
div.tbl_works {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  div.tbl_works {
    margin-bottom: 3.5rem;
  }
}
div.tbl_works dl {
  margin-bottom: 0px;
}
div.tbl_works dt {
  width: 70px;
  font-size: .75rem;
  line-height: 140%;
  float: left;
}
@media (min-width: 992px) {
  div.tbl_works dt {
    width: 90px;
    font-size: 1rem;
  }
}
div.tbl_works dd {
  font-size: .75rem;
  line-height: 140%;
  margin-left: 70px;
}
@media (min-width: 992px) {
  div.tbl_works dd {
    font-size: 1rem;
    margin-left: 100px;
  }
}
div.tbl_works dd p:last-of-type {
  margin-bottom: 0;
}
div.tbl_works dd ul {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  padding-left: 0;
  list-style: none;
  margin-bottom: 0;
}
div.tbl_works dd ul li {
  font-size: .75rem;
  display: inline-block;
}
@media (min-width: 992px) {
  div.tbl_works dd ul li {
    font-size: 1rem;
  }
}
.gallery_ul_type {
  padding-left: 0;
}
.gallery_ul_type li {
  font-size: .75rem;
  list-style: none;
  display: inline-block;
  margin: 5px 5px 5px 0;
  border: 1px solid;
  padding: 3px;
}
@media (min-width: 992px) {
  .gallery_ul_type li {
    font-size: 1rem;
    margin: 10px 10px 10px 0;
    padding: 3px 5px;
  }
}
.flex_works_main {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-around;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex_works_main {
    margin-bottom: 60px;
  }
}
.flex_works_main > div {
  position: relative;
  width: 50%;
}
.flex_works_main > div:first-child {
  position: relative;
  width: 50%;
  padding-right: 5px;
}
@media (min-width: 992px) {
  .flex_works_main > div:first-child {
    padding-right: 20px;
  }
}
.flex_works_main > div:first-child h4 {
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_works_main > div:first-child h4 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
.flex_works_main > div:first-child p {
  font-size: .875rem;
  line-height: 180%;
}
@media (min-width: 992px) {
  .flex_works_main > div:first-child p {
    font-size: 1rem;
  }
}
.flex_works_main > div:first-child p:last-of-type {
  margin-bottom: 0;
}
.flex_works_sub {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_works_sub {
    margin-bottom: 20px;
  }
}
.flex_works_sub > div {
  position: relative;
  width: calc(50% - 5px);
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_works_sub > div {
    width: calc(25% - 10px);
    margin-bottom: 20px;
  }
}
.flex_works_sub:after {
  content: '';
  display: block;
  width: calc(50% - 5px);
  height: 0;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_works_sub:after {
    width: calc(25% - 10px);
    margin-bottom: 20px;
  }
}
/*VOICE*/
.flex_pagearchive_voice {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flex_pagearchive_voice > div {
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div {
    width: 48%;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .flex_pagearchive_voice > div {
    width: 30%;
  }
}
.flex_pagearchive_voice > div .archive_img {
  margin: auto;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.flex_pagearchive_voice > div .archive_img img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
  font-family: 'object-fit: cover; object-position: center;';
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .archive_img img {
    height: 240px;
  }
}
.flex_pagearchive_voice > div .archive_img a {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 4;
}
.flex_pagearchive_voice > div .archive_img:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 1;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  background: rgba(0, 0, 0, 0.3);
}
.flex_pagearchive_voice > div .archive_img:hover:after {
  background: rgba(0, 0, 0, 0.2);
}
.flex_pagearchive_voice > div .archive_img:hover img {
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -o-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
}
.flex_pagearchive_voice > div .new_mark {
  display: inline-block;
  height: 20px;
  position: absolute;
  top: 10px;
  background: #AC272D;
  padding: 0 5px;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: .875rem;
  text-align: center;
  color: #fff;
  margin: 0;
  z-index: 2;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .new_mark {
    height: 30px;
    top: 20px;
    padding: 2px 5px;
    font-size: 1rem;
  }
}
.flex_pagearchive_voice > div .new_mark:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
}
.flex_pagearchive_voice > div .new_mark:after {
  right: -20px;
  bottom: 0;
  width: 20px;
  border: 10px solid #AC272D;
  border-right-color: transparent;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .new_mark:after {
    right: -30px;
    width: 30px;
    border: 15px solid #AC272D;
    border-right-color: transparent;
  }
}
.flex_pagearchive_voice > div .detail {
  position: absolute;
  width: 100%;
  color: #fff;
  bottom: 0;
  left: 0;
  padding: 5px;
  z-index: 2;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .detail {
    padding: 10x;
  }
}
.flex_pagearchive_voice > div .detail h3 {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: .875rem;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .detail h3 {
    font-size: 1rem;
    margin-bottom: 10px;
  }
}
.flex_pagearchive_voice > div .detail .year,
.flex_pagearchive_voice > div .detail .area_list {
  display: inline-block;
  font-size: .875rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .detail .year,
  .flex_pagearchive_voice > div .detail .area_list {
    font-size: 1rem;
  }
}
.flex_pagearchive_voice > div .detail .event_type {
  display: inline-block;
  font-size: .875rem;
  color: #000;
  background: #fff;
  padding: 2px 3px;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice > div .detail .event_type {
    font-size: .875rem;
    padding: 2px 7px;
  }
}
.flex_pagearchive_voice:after {
  content: '';
  display: block;
  position: relative;
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex_pagearchive_voice:after {
    width: 48%;
    margin-bottom: 40px;
  }
}
@media (min-width: 1200px) {
  .flex_pagearchive_voice:after {
    width: 30%;
  }
}
.voice_flex01,
.voice_flex02 {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin-bottom: 40px;
}
@media (min-width: 768px) {
  .voice_flex01,
  .voice_flex02 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
  }
}
.voice_flex01 > div,
.voice_flex02 > div {
  width: 50%;
  position: relative;
  padding: 5px;
  transition: 0.5s;
}
@media (min-width: 992px) {
  .voice_flex01 > div,
  .voice_flex02 > div {
    width: 50%;
    padding: 20px;
  }
}
.voice_flex01 > div p,
.voice_flex02 > div p {
  font-size: .875rem;
  line-height: 180%;
}
@media (min-width: 992px) {
  .voice_flex01 > div p,
  .voice_flex02 > div p {
    font-size: 1rem;
  }
}
.voice_flex01 > div img,
.voice_flex02 > div img {
  display: block;
  margin: auto;
}
.voice_flex01 > div:first-child,
.voice_flex02 > div:last-child {
  width: 50%;
}
@media (min-width: 992px) {
  .voice_flex01 > div:first-child,
  .voice_flex02 > div:last-child {
    width: 50%;
  }
}
.voice_box {
  padding: 5px;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .voice_box {
    padding: 20px;
  }
}
.voice_box p {
  font-size: .875rem;
  line-height: 180%;
}
@media (min-width: 992px) {
  .voice_box p {
    font-size: 1rem;
  }
}
p.voice_q {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: .5em;
  padding-left: 20px;
  position: relative;
}
@media (min-width: 992px) {
  p.voice_q {
    font-size: 24px;
    padding-left: 30px;
    margin-bottom: 1em !important;
  }
}
p.voice_q:before {
  content: '';
  width: 14px;
  height: 1px;
  background: #000;
  position: absolute;
  top: 9px;
  left: 0;
}
@media (min-width: 992px) {
  p.voice_q:before {
    width: 20px;
    top: 13px;
  }
}
.gallerylink {
  position: relative;
  padding: 1rem;
  overflow: hidden;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .gallerylink {
    padding: 2.5rem;
  }
}
.gallerylink .gallery_sub {
  font-size: .875rem;
  text-align: center;
  line-height: 100%;
}
@media (min-width: 992px) {
  .gallerylink .gallery_sub {
    font-size: 1rem;
  }
}
@media (min-width: 992px) {
  .gallerylink .flex_pagearchive_works > div {
    width: 420px;
  }
}
/*ABOUT*/
.greeting p {
  font-size: .875rem;
  line-height: 180%;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  .greeting p {
    font-size: 1rem;
    margin-bottom: 1.75rem;
  }
}
.greeting p span {
  font-weight: 700;
}
.greeting p:last-of-type {
  margin-bottom: 0;
}
.ceobox_sp {
  width: 100%;
  height: 0;
  padding-top: 80.612244897959184%;
  background: url(../images/page/company/ceo_sp.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  margin-top: 20px;
}
@media (min-width: 992px) {
  .ceobox_sp {
    display: none;
  }
}
.ceobox_pc {
  display: none;
}
@media (min-width: 992px) {
  .ceobox_pc {
    display: block;
    width: 490px;
    height: 395px;
    float: right;
    margin-left: 15px;
    background: url(../images/page/company/ceo_sp.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: relative;
  }
}
.ceo_inner {
  width: 100%;
  position: absolute;
  top: 0;
  padding: 15px;
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  text-align: right;
  color: #fff;
}
.ceo_inner .ceo_greet {
  font-size: 1.25rem;
  line-height: 160%;
}
.ceo_inner .ceo_name {
  font-size: .675rem;
  line-height: 120%;
}
.ceo_inner .ceo_name:before {
  content: '';
  display: inline-block;
  margin-right: 5px;
  width: 25px;
  height: 1px;
  background: #fff;
  vertical-align: middle;
}
.about_subtitle {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
  display: block;
  margin-bottom: 15px;
}
@media (min-width: 992px) {
  .about_subtitle {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
p.about_idea {
  font-size: .875rem;
  line-height: 180%;
  margin-bottom: 1.25rem;
}
@media (min-width: 992px) {
  p.about_idea {
    font-size: 1rem;
    margin-bottom: 1.75rem;
  }
}
div.tbl_about {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  div.tbl_about {
    margin-bottom: 3.5rem;
  }
}
div.tbl_about dl {
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  div.tbl_about dl {
    margin-bottom: 2rem;
  }
}
div.tbl_about dl:last-child {
  margin-bottom: 0;
}
div.tbl_about dt {
  padding: 5px;
  font-size: .75rem;
  font-weight: 400;
  line-height: 180%;
  background: #E3E2E1;
  margin-bottom: 2px;
}
@media (min-width: 992px) {
  div.tbl_about dt {
    width: 140px;
    font-size: 1rem;
    float: left;
    border: 2px solid #E3E2E1;
  }
}
div.tbl_about dd {
  padding: 5px;
  font-size: .75rem;
  border: 2px solid #E3E2E1;
  line-height: 180%;
}
@media (min-width: 992px) {
  div.tbl_about dd {
    font-size: 1rem;
    margin-left: 150px;
  }
}
div.tbl_about dd p:last-of-type {
  margin-bottom: 0;
}
div.tbl_access {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
}
@media (min-width: 992px) {
  div.tbl_access {
    margin-bottom: 3.5rem;
  }
}
div.tbl_access dl {
  margin-bottom: 0px;
}
div.tbl_access dt {
  width: 70px;
  font-size: .75rem;
  font-weight: 400;
  line-height: 180%;
  float: left;
}
@media (min-width: 992px) {
  div.tbl_access dt {
    width: 90px;
    font-size: 1rem;
  }
}
div.tbl_access dd {
  font-size: .75rem;
  line-height: 180%;
  margin-left: 70px;
}
@media (min-width: 992px) {
  div.tbl_access dd {
    font-size: 1rem;
    margin-left: 100px;
  }
}
div.tbl_access dd p:last-of-type {
  margin-bottom: 0;
}
.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 50%;
  position: relative;
}
@media (min-width: 992px) {
  .gmap {
    padding-bottom: 30%;
  }
}
.gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
.flex_access {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: center;
}
@media (min-width: 992px) {
  .flex_access {
    width: 940px;
    margin-left: auto;
    margin-right: auto;
  }
}
.flex_access > div {
  width: 100%;
  padding: 5px;
}
@media (min-width: 992px) {
  .flex_access > div {
    width: 50%;
    padding: 20px;
  }
}
.flex_access > div p.access_num {
  font-size: 120%;
  color: #046aad;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_access > div p.access_num {
    font-size: 1.5625rem;
  }
}
.flex_access > div img {
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  .flex_access > div img {
    margin-bottom: 15px;
  }
}
/*STAFF*/
.flex_staff {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex_staff {
    margin-bottom: 40px;
  }
}
.flex_staff > div {
  width: calc(50% - 3px);
  position: relative;
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .flex_staff > div {
    width: calc(33% - 20px);
    margin-bottom: 30px;
  }
}
.flex_staff > div img.staff_img {
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .flex_staff > div img.staff_img {
    margin-bottom: 15px;
  }
}
.flex_staff > div img.movie_staff {
  display: block;
  float: right;
  width: 16px;
  height: 20px;
}
@media (min-width: 992px) {
  .flex_staff > div img.movie_staff {
    width: 32px;
    height: 40px;
  }
}
.flex_staff > div .staff_position {
  font-size: .625rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_staff > div .staff_position {
    font-size: .75rem;
    margin-bottom: 5px;
  }
}
.flex_staff > div .staff_name {
  font-size: 1rem;
  font-weight: 700;
  display: block;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_staff > div .staff_name {
    margin-right: 5px;
    display: inline-block;
  }
}
.flex_staff > div .staff_kana {
  transform: scale(0.8);
  transform-origin: left bottom;
  font-size: .625rem;
  display: block;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_staff > div .staff_kana {
    transform: scale(1);
    font-size: .75rem;
    display: inline-block;
  }
}
@media (min-width: 992px) {
  .flex_staff::after {
    display: block;
    content: ' ';
    width: 33%;
  }
}
/*ZEH*/
.beginneing_sub {
  width: fit-content;
  border: 1px solid #000;
  padding: 10px;
  margin-left: auto;
  margin-right: auto;
}
.aqua_title {
  font-weight: 700;
  text-align: center;
}
.sash_detail {
  font-size: .625rem;
  background: #E5E4E3;
  padding: 10px;
}
@media (min-width: 992px) {
  .sash_detail {
    font-size: .875rem;
    padding: 30px;
  }
}
.sash_detail .strong {
  font-weight: 700;
}
.sash_detail ul {
  padding-left: 18px;
}
.sash_detail p:last-of-type {
  margin-bottom: 0;
}
.flex_reserve {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .flex_reserve {
    margin-bottom: 60px;
  }
}
.flex_reserve > div {
  position: relative;
  width: calc(50% - 10px);
}
@media (min-width: 992px) {
  .flex_reserve > div {
    width: calc(50% - 40px);
  }
}
/*CONTACT*/
.graybox {
  position: relative;
  padding: 1rem;
  overflow: hidden;
  background-color: #f2f2f2;
}
@media (min-width: 992px) {
  .graybox {
    padding: 2.5rem;
  }
}
.graybox .price_sub {
  font-size: .875rem;
  line-height: 100%;
}
@media (min-width: 992px) {
  .graybox .price_sub {
    font-size: 1rem;
  }
}
.contactpage_phone {
  display: block;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  .contactpage_phone {
    width: 270px;
  }
}
.contactpage_time {
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .contactpage_time {
    font-size: 1rem;
  }
}
.form_box {
  width: 100%;
}
@media (min-width: 992px) {
  .form_box {
    width: 640px;
    margin-left: auto;
    margin-right: auto;
  }
}
p.form_sub {
  font-size: .75rem;
  font-weight: 700;
  padding: 10px 0;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  p.form_sub {
    font-size: 1rem;
  }
}
p.form_sub span {
  color: #c1272d;
  margin-left: 10px;
}
p.form_add {
  font-size: .625rem;
  color: #c1272d;
  padding: 5px 0;
}
.flex_form {
  -js-display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  justify-content: space-around;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  position: relative;
  align-items: center;
}
.flex_form > div:first-child {
  width: 40px;
  padding: 5px;
  font-size: .75rem;
  font-weight: 700;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .flex_form > div:first-child {
    font-size: 1rem;
  }
}
.flex_form > div:nth-child(2) {
  width: calc(100% - 40px);
}
div.form_contact {
  width: 100%;
  border: 1px solid #000;
  padding: .625rem;
  text-align: center;
  background: #fff;
}
@media (min-width: 992px) {
  div.form_contact {
    width: 460px;
    height: 110px;
    margin-left: auto;
    margin-right: auto;
  }
}
div.form_contact .contact_sub,
div.form_contact .footer_contact_phone,
div.form_contact .footer_contact_time {
  line-height: 100%;
  text-decoration: none;
}
div.form_contact .contact_sub {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  div.form_contact .contact_sub {
    font-size: 1rem;
  }
}
div.form_contact .footer_contact_phone {
  display: block;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 5px;
}
@media (min-width: 992px) {
  div.form_contact .footer_contact_phone {
    font-size: 2rem;
  }
}
div.form_contact .footer_contact_time {
  font-size: 0.75rem;
  margin-bottom: 0;
}
@media (min-width: 992px) {
  div.form_contact .footer_contact_time {
    font-size: 1rem;
  }
}
div.form_contact p:last-of-type {
  margin-bottom: 0;
}
p.accept,
p.privacy_sub {
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media (min-width: 992px) {
  p.accept,
  p.privacy_sub {
    font-size: 1rem;
  }
}
p.form_title {
  padding: 5px;
  margin-bottom: 0.625rem;
}
@media (min-width: 992px) {
  p.form_title {
    padding: 5px 5px 5px 25px;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 40px;
  }
}
span.req,
span.any {
  font-size: 0.75rem;
  padding: 0.3125rem;
  margin-left: 0.625rem;
}
@media (min-width: 992px) {
  span.req,
  span.any {
    padding: 0.625rem;
  }
}
span.req {
  color: #c1272d;
}
span.any {
  color: #333333;
}
.thanks {
  font-family: kinuta-maruminshinano-stdn, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .thanks {
    font-size: 2rem;
  }
}
h4.event_detail {
  font-weight: 600;
  font-size: clamp(0.75rem, calc(1.6666666666666667vw + 0.375rem), 1.5rem);
  color: #2C3E50;
  line-height: 30px;
  margin-top: 60px;
  margin-bottom: 60px;
  text-align: center;
  position: relative;
}
@media (min-width: 768px) {
  h4.event_detail {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
h4.event_detail::after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
  content: '';
  width: 120px;
  height: 2px;
  background-color: #000000;
}
@media (min-width: 768px) {
  h4.event_detail::after {
    bottom: -30px;
    width: 160px;
  }
}
p.form_title {
  font-size: 20px;
  color: #2C3E50;
  margin-bottom: 10px;
}
@media (min-width: 576px) {
  p.form_title {
    margin-top: 5px;
    margin-bottom: 0;
    text-align: right;
  }
}
span.form_required {
  width: 40px;
  height: 25px;
  font-size: 12px;
  color: #FFFFFF;
  text-align: center;
  line-height: 27px;
  background-color: #C1272D;
  border-radius: 5px;
  margin-top: 10px;
  margin-left: 0;
  margin-right: auto;
  display: block;
}
@media (min-width: 576px) {
  span.form_required {
    width: 50px;
    margin-left: auto;
    margin-right: auto;
  }
}
.closedbox {
  width: fit-content;
  border: 1px solid #f0f0f0;
  font-size: clamp(0.75rem, calc(0.5555555555555556vw + 0.625rem), 1rem);
  padding-top: clamp(0.9375rem, calc(0.3246753246753247vw + 0.864448051948052rem), 1.25rem);
  padding-bottom: clamp(0.9375rem, calc(0.3246753246753247vw + 0.864448051948052rem), 1.25rem);
  padding-left: clamp(0.9375rem, calc(0.3246753246753247vw + 0.864448051948052rem), 1.25rem);
  padding-right: clamp(0.9375rem, calc(0.3246753246753247vw + 0.864448051948052rem), 1.25rem);
  margin-top: clamp(0.9375rem, calc(1.7857142857142856vw + 0.5357142857142858rem), 1.875rem);
  margin-bottom: clamp(0.9375rem, calc(1.7857142857142856vw + 0.5357142857142858rem), 1.875rem);
  margin-left: auto;
  margin-right: auto;
}
