@charset "UTF-8";
:root {
  --f-ja: "source-han-serif-jp-subset", sans-serif;
  --f-en: "minerva-modern", sans-serif;
  --fwhite: #ffffff;
  --fblack: #4D4A52;
}

body {
  font-family: var(--f-ja);
}

.view_pc {
  display: block;
}

.view_pd {
  display: none;
}

.view_sp {
  display: none;
}

@media screen and (max-width: 767px) {
  .view_pd {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .view_pc {
    display: none;
  }
  .view_sp {
    display: block;
  }
}
.header {
  height: 60px;
  box-sizing: border-box;
  text-align: center;
  padding: 15px 20px;
  position: fixed;
  z-index: 15;
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
  /*transform: translateY(-110%);
  transition: transform 1.5s cubic-bezier(0.4, 0, 0, 1);
  transition-delay: 0.5s;*/
}

#invitation .header {
  background: none;
}

#invitation #header .toggle_drawer {
  display: none;
}

.header h1 {
  width: 200px;
  margin: 0;
}

.limited_page .header h1 {
  background-image: url(../../img/common/logo_wh.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.limited_page .header h1 img {
  opacity: 0;
}

.limited_page.is-open .header h1 {
  background: none;
}

.limited_page.is-open .header h1 img {
  opacity: 1;
}

#header .entry_cat {
  position: absolute;
  top: 21px;
  right: 105px;
  z-index: 30;
  display: inline-block;
  display: none;
}

#header .entry_cat a {
  color: #333;
  letter-spacing: 0.1em;
  font-size: min(2.1vw, 14px);
  position: relative;
}

#header .entry_cat a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.1em;
  margin: auto;
  background: #666;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

#header .entry_cat a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

#header .toggle_drawer {
  position: absolute;
  top: 18px;
  width: 45px;
  right: 35px;
  height: 20px;
  z-index: 1001;
  cursor: pointer;
  background: none;
  transition: 0.5s ease-in-out;
}

#header .toggle_drawer:hover {
  right: 30px;
  width: 55px;
}

#header .toggle_drawer:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: #000;
  transition: transform 0.5s;
}

#header .toggle_drawer:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: #000;
  transition: transform 0.5s;
}

#header .toggle_drawer span {
  content: "";
  position: absolute;
  left: 0;
  bottom: 50%;
  width: 100%;
  height: 1px;
  background: #000;
}

.limited_page #header .toggle_drawer:before, .limited_page #header .toggle_drawer:after, .limited_page #header .toggle_drawer span {
  background: #fff;
}

.is-open #header .toggle_drawer:before {
  transform: rotate(30deg);
  top: calc(50% - 1px);
}

.is-open #header .toggle_drawer:after {
  transform: rotate(-30deg);
  bottom: calc(50% - 1px);
}

.is-open #header .toggle_drawer span {
  display: none;
}

.limited_page.is-open #header .toggle_drawer:before, .limited_page.is-open #header .toggle_drawer:after, .limited_page.is-open #header .toggle_drawer span {
  background: #000;
}

/***nav***/
.cover {
  width: 100%;
  height: 100vh;
  position: fixed;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(30px);
  -webkit-backdrop-filter: blur(30px);
  z-index: 11;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}

.is-open .cover {
  width: 100%;
  height: 100vh;
  visibility: visible;
  opacity: 1;
}

.nav_drawer {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 12;
  font-family: var(--f-en);
  visibility: hidden;
  /*transform: translateX(101%);*/
}

.nav_drawer .nev_in {
  width: 92%;
  position: relative;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*background-image: url(../img/common/menu_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  transition-delay: 0.2s;*/
}

/*
.nav_drawer .nev_in.imgWrap {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition-timing-function: cubic-bezier(.5,.23,.34,1);
          transition-timing-function: cubic-bezier(.5,.23,.34,1);
  -webkit-transition-duration: 0.7s;
          transition-duration: 0.7s;
  overflow: hidden;
}
.is-open .nav_drawer .nev_in.imgWrap {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-filter: blur(0);
  filter: blur(0);
}
*/
.nav_drawer .nev_in ul {
  width: 100%;
  position: relative;
  top: 10%;
  left: 0;
  display: block;
  text-align: center;
}

.nav_drawer .nev_in ul li {
  margin: 40px 0;
}

.nav_drawer .nev_in ul li a {
  color: #333;
  letter-spacing: 0.1em;
  position: relative;
}

.nav_drawer .nev_in ul li.contents_bt a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.1em;
  margin: auto;
  background: #333333;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

.nav_drawer .nev_in ul li.contents_bt a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

.nav_drawer .nev_in ul li.cv_bt {
  width: 80%;
  max-width: 280px;
  display: block;
  overflow: hidden;
  margin: 20px auto;
  border: 1px solid #666;
  border-radius: 50px;
  transition: 0.5s ease-in-out;
  opacity: 0;
  transform: translateX(-10px);
}

.is-open .nav_drawer .nev_in ul li.cv_bt {
  opacity: 1;
  transform: translateX(0px);
}

.nav_drawer .nev_in ul li.cv_bt a {
  display: block;
  overflow: hidden;
  margin: 0 auto;
  padding: 24px;
}

.nav_drawer .nev_in ul li.cv_bt a::after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  background-image: url(../../img/common/nav_link_icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
  transition-duration: 0.5s;
}

.nav_drawer .nev_in ul li.cv_bt a:hover::after {
  transform: scale(1.2) translateY(-46%);
}

.nav_drawer .nev_in ul li.cv_bt:hover {
  background: #f0f0f0;
  border: 1px solid #f0f0f0;
}

.split_text {
  text-align: center;
}
.split_text span {
  opacity: 0;
  transform: translateX(-30px);
  transition: opacity 0.8s, transform 0.8s;
  display: inline-block;
}
.split_text span:nth-child(1) {
  transition-delay: 0.05s;
}
.split_text span:nth-child(2) {
  transition-delay: 0.1s;
}
.split_text span:nth-child(3) {
  transition-delay: 0.15s;
}
.split_text span:nth-child(4) {
  transition-delay: 0.2s;
}
.split_text span:nth-child(5) {
  transition-delay: 0.25s;
}
.split_text span:nth-child(6) {
  transition-delay: 0.3s;
}
.split_text span:nth-child(7) {
  transition-delay: 0.35s;
}
.split_text span:nth-child(8) {
  transition-delay: 0.4s;
}
.split_text span:nth-child(9) {
  transition-delay: 0.45s;
}
.split_text span:nth-child(10) {
  transition-delay: 0.5s;
}
.split_text span:nth-child(11) {
  transition-delay: 0.55s;
}
.split_text span:nth-child(12) {
  transition-delay: 0.6s;
}
.split_text span:nth-child(13) {
  transition-delay: 0.65s;
}
.split_text span:nth-child(14) {
  transition-delay: 0.7s;
}
.split_text span:nth-child(15) {
  transition-delay: 0.75s;
}
.split_text span:nth-child(16) {
  transition-delay: 0.8s;
}
.split_text span:nth-child(17) {
  transition-delay: 0.85s;
}
.split_text span:nth-child(18) {
  transition-delay: 0.9s;
}
.split_text span:nth-child(19) {
  transition-delay: 0.95s;
}
.split_text span:nth-child(20) {
  transition-delay: 1s;
}
.split_text span:nth-child(21) {
  transition-delay: 1.05s;
}
.split_text span:nth-child(22) {
  transition-delay: 1.1s;
}
.split_text span:nth-child(23) {
  transition-delay: 1.15s;
}
.split_text span:nth-child(24) {
  transition-delay: 1.2s;
}
.split_text span:nth-child(25) {
  transition-delay: 1.25s;
}
.split_text span:nth-child(26) {
  transition-delay: 1.3s;
}
.split_text span:nth-child(27) {
  transition-delay: 1.35s;
}
.split_text span:nth-child(28) {
  transition-delay: 1.4s;
}
.split_text span:nth-child(29) {
  transition-delay: 1.45s;
}
.split_text span:nth-child(30) {
  transition-delay: 1.5s;
}
.split_text span:nth-child(31) {
  transition-delay: 1.55s;
}
.split_text span:nth-child(32) {
  transition-delay: 1.6s;
}
.split_text span:nth-child(33) {
  transition-delay: 1.65s;
}
.split_text span:nth-child(34) {
  transition-delay: 1.7s;
}
.split_text span:nth-child(35) {
  transition-delay: 1.75s;
}
.split_text span:nth-child(36) {
  transition-delay: 1.8s;
}
.split_text span:nth-child(37) {
  transition-delay: 1.85s;
}
.split_text span:nth-child(38) {
  transition-delay: 1.9s;
}
.split_text span:nth-child(39) {
  transition-delay: 1.95s;
}
.split_text span:nth-child(40) {
  transition-delay: 2s;
}
.split_text span:nth-child(41) {
  transition-delay: 2.05s;
}
.split_text span:nth-child(42) {
  transition-delay: 2.1s;
}
.split_text span:nth-child(43) {
  transition-delay: 2.15s;
}
.split_text span:nth-child(44) {
  transition-delay: 2.2s;
}
.split_text span:nth-child(45) {
  transition-delay: 2.25s;
}
.split_text span:nth-child(46) {
  transition-delay: 2.3s;
}
.split_text span:nth-child(47) {
  transition-delay: 2.35s;
}
.split_text span:nth-child(48) {
  transition-delay: 2.4s;
}
.split_text span:nth-child(49) {
  transition-delay: 2.45s;
}
.split_text span:nth-child(50) {
  transition-delay: 2.5s;
}
.split_text span:nth-child(51) {
  transition-delay: 2.55s;
}
.split_text span:nth-child(52) {
  transition-delay: 2.6s;
}
.split_text span:nth-child(53) {
  transition-delay: 2.65s;
}
.split_text span:nth-child(54) {
  transition-delay: 2.7s;
}
.split_text span:nth-child(55) {
  transition-delay: 2.75s;
}
.split_text span:nth-child(56) {
  transition-delay: 2.8s;
}
.split_text span:nth-child(57) {
  transition-delay: 2.85s;
}
.split_text span:nth-child(58) {
  transition-delay: 2.9s;
}
.split_text span:nth-child(59) {
  transition-delay: 2.95s;
}
.split_text span:nth-child(60) {
  transition-delay: 3s;
}
.split_text span:nth-child(61) {
  transition-delay: 3.05s;
}
.split_text span:nth-child(62) {
  transition-delay: 3.1s;
}
.split_text span:nth-child(63) {
  transition-delay: 3.15s;
}
.split_text span:nth-child(64) {
  transition-delay: 3.2s;
}
.split_text span:nth-child(65) {
  transition-delay: 3.25s;
}
.split_text span:nth-child(66) {
  transition-delay: 3.3s;
}
.split_text span:nth-child(67) {
  transition-delay: 3.35s;
}
.split_text span:nth-child(68) {
  transition-delay: 3.4s;
}
.split_text span:nth-child(69) {
  transition-delay: 3.45s;
}
.split_text span:nth-child(70) {
  transition-delay: 3.5s;
}
.split_text span:nth-child(71) {
  transition-delay: 3.55s;
}
.split_text span:nth-child(72) {
  transition-delay: 3.6s;
}
.split_text span:nth-child(73) {
  transition-delay: 3.65s;
}
.split_text span:nth-child(74) {
  transition-delay: 3.7s;
}
.split_text span:nth-child(75) {
  transition-delay: 3.75s;
}
.split_text span:nth-child(76) {
  transition-delay: 3.8s;
}
.split_text span:nth-child(77) {
  transition-delay: 3.85s;
}
.split_text span:nth-child(78) {
  transition-delay: 3.9s;
}
.split_text span:nth-child(79) {
  transition-delay: 3.95s;
}
.split_text span:nth-child(80) {
  transition-delay: 4s;
}
.split_text span:nth-child(81) {
  transition-delay: 4.05s;
}
.split_text span:nth-child(82) {
  transition-delay: 4.1s;
}
.split_text span:nth-child(83) {
  transition-delay: 4.15s;
}
.split_text span:nth-child(84) {
  transition-delay: 4.2s;
}
.split_text span:nth-child(85) {
  transition-delay: 4.25s;
}
.split_text span:nth-child(86) {
  transition-delay: 4.3s;
}
.split_text span:nth-child(87) {
  transition-delay: 4.35s;
}
.split_text span:nth-child(88) {
  transition-delay: 4.4s;
}
.split_text span:nth-child(89) {
  transition-delay: 4.45s;
}
.split_text span:nth-child(90) {
  transition-delay: 4.5s;
}
.split_text span:nth-child(91) {
  transition-delay: 4.55s;
}
.split_text span:nth-child(92) {
  transition-delay: 4.6s;
}
.split_text span:nth-child(93) {
  transition-delay: 4.65s;
}
.split_text span:nth-child(94) {
  transition-delay: 4.7s;
}
.split_text span:nth-child(95) {
  transition-delay: 4.75s;
}
.split_text span:nth-child(96) {
  transition-delay: 4.8s;
}
.split_text span:nth-child(97) {
  transition-delay: 4.85s;
}
.split_text span:nth-child(98) {
  transition-delay: 4.9s;
}
.split_text span:nth-child(99) {
  transition-delay: 4.95s;
}
.split_text span:nth-child(100) {
  transition-delay: 5s;
}
.split_text span:nth-child(101) {
  transition-delay: 5.05s;
}
.split_text span:nth-child(102) {
  transition-delay: 5.1s;
}
.split_text span:nth-child(103) {
  transition-delay: 5.15s;
}
.split_text span:nth-child(104) {
  transition-delay: 5.2s;
}
.split_text span:nth-child(105) {
  transition-delay: 5.25s;
}
.split_text span:nth-child(106) {
  transition-delay: 5.3s;
}
.split_text span:nth-child(107) {
  transition-delay: 5.35s;
}
.split_text span:nth-child(108) {
  transition-delay: 5.4s;
}
.split_text span:nth-child(109) {
  transition-delay: 5.45s;
}
.split_text span:nth-child(110) {
  transition-delay: 5.5s;
}
.split_text span:nth-child(111) {
  transition-delay: 5.55s;
}
.split_text span:nth-child(112) {
  transition-delay: 5.6s;
}
.split_text span:nth-child(113) {
  transition-delay: 5.65s;
}
.split_text span:nth-child(114) {
  transition-delay: 5.7s;
}
.split_text span:nth-child(115) {
  transition-delay: 5.75s;
}
.split_text span:nth-child(116) {
  transition-delay: 5.8s;
}
.split_text span:nth-child(117) {
  transition-delay: 5.85s;
}
.split_text span:nth-child(118) {
  transition-delay: 5.9s;
}
.split_text span:nth-child(119) {
  transition-delay: 5.95s;
}
.split_text span:nth-child(120) {
  transition-delay: 6s;
}

.is-open .split_text span {
  transform: translateX(0px);
  opacity: 1;
}

.nav_drawer .sub_nav {
  width: 92%;
  position: absolute;
  top: 88vh;
  left: 4%;
  overflow: hidden;
}

.nav_drawer .sub_nav ul {
  width: 100%;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transform: translateY(-105%);
  transition: transform 1s 0s cubic-bezier(0.25, 0, 0, 1);
  transition-delay: 0.7s;
}

.nav_drawer .sub_nav li {
  margin: 0 15px;
}

.nav_drawer .sub_nav li a {
  color: #333;
  letter-spacing: 0.1em;
  font-size: min(2.1vw, 14px);
  position: relative;
}

.nav_drawer .sub_nav li a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.1em;
  margin: auto;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

.nav_drawer .sub_nav li a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

/***OPEN***/
.is-open .nav_drawer {
  opacity: 1;
  transform: translateX(0);
  visibility: visible;
}

.is-open .nav_drawer .sub_nav ul {
  transform: translateY(0%);
}

/***footer***/
.footer_wrapp {
  width: 100%;
  background: #fff;
}

.nav_footer {
  position: relative;
  width: 100%;
}

.nav_footer .nev_in {
  width: 92%;
  height: 70vh;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.nav_footer .nev_in::before {
  content: "";
  width: 100%;
  height: 50%;
  position: absolute;
  top: 50%;
  left: 0;
  background: rgba(96, 76, 63, 0.6);
  mix-blend-mode: multiply;
}

.nav_footer .nev_in.imgWrap {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  clip-path: inset(0 100% 0 0);
  filter: blur(8px);
  transition-timing-function: cubic-bezier(0.5, 0.23, 0.34, 1);
  transition-duration: 1.4s;
  overflow: hidden;
}

.nav_footer.is-active .nev_in.imgWrap {
  clip-path: inset(0 0 0 0);
  filter: blur(0);
}

.nav_footer .nev_in ul {
  width: 100%;
  position: absolute;
  top: 60%;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.nav_footer .nev_in ul li {
  margin: 0 20px;
}

.nav_footer .nev_in ul li a {
  color: #fff;
  letter-spacing: 0.1em;
  position: relative;
}

.nav_footer .nev_in ul li a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.1em;
  margin: auto;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

.nav_footer .nev_in ul li a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

.nav_footer .sub_nav {
  width: 92%;
  position: absolute;
  top: 88vh;
  left: 4%;
  overflow: hidden;
}

.nav_footer .sub_nav ul {
  width: 100%;
  padding-bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transform: translateY(-105%);
  transition: transform 1s 0s cubic-bezier(0.25, 0, 0, 1);
  transition-delay: 0.7s;
}

.nav_footer.is-active .sub_nav ul {
  transform: translateY(0%);
}

.nav_footer .sub_nav li {
  margin: 0 15px;
}

.nav_footer .sub_nav li a {
  color: #333;
  letter-spacing: 0.1em;
  font-size: min(2.1vw, 14px);
  position: relative;
}

.nav_footer .sub_nav li a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.1em;
  margin: auto;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

.nav_footer .sub_nav li a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

/***下層ページフッター***/
.contents_block_under {
  background: #fff;
  position: relative;
  z-index: 5;
  padding-top: 100px;
}

.page_caution {
  width: 94%;
  max-width: 900px;
  margin: 0 auto;
  padding-top: 60px;
  position: relative;
  z-index: 3;
  background: #fff;
  text-align: left;
  font-size: min(2.2vw, 11px);
  line-height: 180%;
}
.page_caution p {
  text-indent: -1em;
}

.page_caution a {
  color: #000;
}

.page_caution a:visited {
  color: #000;
}

.page_caution a:hover {
  color: #333;
}

.in_page_footer {
  position: relative;
  z-index: 3;
  background: #fff;
  text-align: center;
  font-size: min(2.2vw, 11px);
  line-height: 180%;
  padding: 100px 0;
}

.contents_block_under .design_line {
  width: 18px;
  padding-top: 10vh;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .in_page_footer {
    padding: 50px 0 0;
  }
  .contents_block_under {
    padding-top: 80px;
  }
}
/***footer***/
.footer_wrapp {
  width: 100%;
  margin: 0 auto;
  padding-top: 10vh;
  overflow: hidden;
  background: #fff;
}
.footer_wrapp .footer_set {
  background-image: url(../../img/common/footer_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80px 0;
}

.footer_wrapp .foot_sub_nav li.official {
  display: none;
}

.footer_wrapp .contents_block {
  width: 94%;
  margin: 0 auto 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer_wrapp .contents_block .foot_contents_bt {
  width: 33.333333%;
  position: relative;
  height: 385px;
  background: #000;
  overflow: hidden;
}

.footer_wrapp .contents_block .foot_contents_bt a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  color: #fff;
  text-decoration: none;
  z-index: 3;
}

.footer_wrapp .contents_block .foot_contents_bt a::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.5s ease-in-out;
}

.footer_wrapp .contents_block .foot_contents_bt a:hover::after {
  background-color: rgba(0, 0, 0, 0.3);
}

.footer_wrapp .contents_block .foot_contents_bt a span {
  position: absolute;
  width: 100%;
  z-index: 2;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  font-size: min(2.2vw, 28px);
  letter-spacing: 0.1em;
}

.footer_wrapp .contents_block .foot_contents_bt a span::before {
  content: "";
  width: 1px;
  height: 130%;
  position: absolute;
  top: -200%;
  left: 50%;
  z-index: 3;
  background: #fff;
  transition: 0.5s ease-in-out;
}

.footer_wrapp .contents_block .foot_contents_bt a:hover span::before {
  height: 200%;
  top: -270%;
}

.footer_wrapp .contents_block .foot_contents_bt a span::after {
  content: "";
  width: 30px;
  height: 30px;
  position: absolute;
  top: 200%;
  left: 50%;
  transform: translate(-50%, 0%);
  background-image: url(../../img/common/contents_bt_icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
  transition: 0.8s ease-in-out;
}

.footer_wrapp .contents_block .foot_contents_bt a:hover span::after {
  top: 200%;
  width: 23px;
  height: 23px;
}

.footer_wrapp .contents_block .foot_contents_bt .inner_img {
  width: 150%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.footer_wrapp .limited_bt {
  width: 94%;
  margin: 0 auto 50px;
  transition: 0.5s ease-in-out;
}

.footer_wrapp .limited_bt {
  border: 10px solid #CDBC87;
}

.footer_wrapp .limited_bt a {
  color: #fff;
  text-decoration: none;
  display: block;
  width: 100%;
  padding: 80px 0;
  text-align: center;
  font-size: min(2.2vw, 26px);
  letter-spacing: 0.1em;
  transition: 0.5s ease-in-out;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer_wrapp .limited_bt a span {
  width: 30px;
  height: 30px;
  margin-left: 20px;
  transition: 0.5s ease-in-out;
}

.footer_wrapp .limited_bt a span img {
  vertical-align: middle;
}

.footer_wrapp .limited_bt a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0%;
  top: 0%;
  border: 1px solid #CDBC87;
  box-sizing: border-box;
  opacity: 0;
  transition: 0.5s ease-in-out;
}

.footer_wrapp .limited_bt a:hover::after {
  content: "";
  width: 99%;
  height: 90%;
  position: absolute;
  left: 0.5%;
  top: 5%;
  border: 4px solid #CDBC87;
  box-sizing: border-box;
  opacity: 1;
}

.footer_wrapp .limited_bt a:hover span {
  transform: translateX(10px);
}

.footer_wrapp .foot_logo {
  width: 60%;
  max-width: 200px;
  margin: 0 auto 50px;
}

.footer_wrapp .foot_sub_nav {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer_wrapp .foot_sub_nav li {
  margin: 0 20px;
}

.footer_wrapp .foot_sub_nav li a {
  color: #000;
  font-family: var(--f-en);
  font-size: min(23.1vw, 25px);
  position: relative;
  letter-spacing: 0.1em;
  padding-left: 1.2em;
  transition: 0.8s ease-in-out;
}

.footer_wrapp .foot_sub_nav li a::after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translateY(-50%);
  background-image: url(../../img/common/foot_bt_icon.svg);
  background-repeat: no-repeat;
  background-size: cover;
}

.footer_wrapp .foot_sub_nav li a::before {
  opacity: 0;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  left: 50%;
  right: 0;
  bottom: -0.2em;
  margin: auto;
  background: #000;
  transform: scale(0, 1);
  transform-origin: left;
  transition-duration: 0.5s;
}

.footer_wrapp .foot_sub_nav li a:hover::before {
  opacity: 1;
  left: 0;
  transform: scale(1);
}

#limited .footer_wrapp .foot_sub_nav li.entry {
  display: none;
}

#limited_login .footer_wrapp .foot_sub_nav li.entry {
  display: none;
}

.footer_wrapp .copyr {
  display: block;
  font-family: var(--f-en);
  color: #333;
  text-align: center;
  padding: 25px;
  font-size: 13px;
}

.top_copyr {
  display: none;
}

#top .footer_wrapp .copyr {
  display: none;
}

#top .top_copyr {
  display: block;
  font-family: var(--f-en);
  color: #333;
  text-align: center;
  margin-top: 60px;
  padding: 25px;
  font-size: 13px;
}

.foot_tell {
  text-align: center;
  font-size: min(3.1vw, 14px);
  margin-bottom: 50px;
  display: none;
}

#documents .foot_tell, #limited .foot_tell, #limited_login .foot_tell {
  display: block;
}

#limited .foot_tell .tell_text, #limited_login .foot_tell .tell_text {
  margin-bottom: 20px;
  padding: 40px 40px 0;
  border-top: 1px solid #ccc;
  display: inline-block;
}

#limited .foot_tell .tell_text {
  padding: 20px 40px 0;
  border-top: none;
}

#limited .foot_logo, #limited_login .foot_logo {
  display: none;
}

.foot_tell .tell_text {
  margin-bottom: 20px;
  /*border-top: 1px solid #ccc;
  display: inline-block;*/
  padding: 0px 40px 0;
}

.foot_tell .foot_info {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #cbcbcb;
  /*border-top: 1px solid #e30000;*/
  font-size: min(3vw, 17px);
  line-height: 200%;
  color: #e30000;
  display: none;
}

#limited .foot_tell .foot_info {
  display: inline-block;
  /*display: none;*/
}

#outline .foot_tell .foot_info {
  display: inline-block;
  /*display: none;*/
  color: #e30000;
  display: inline-block;
}

.foot_tell .tel_nom {
  width: 80%;
  max-width: 300px;
  margin: 0 auto 20px;
  pointer-events: none;
}

@media screen and (max-width: 867px) {
  .nav_drawer .nev_in ul li a::before {
    left: 0%;
    right: 0;
  }
  .nav_drawer .nev_in ul li a:hover::before {
    opacity: 1;
    left: 0;
    transform: scale(1);
  }
  .page_caution {
    width: 100%;
    text-align: left;
    font-size: min(2.2vw, 11px);
    margin: 0;
    padding: 40px 30px;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 767px) {
  .foot_tell .tell_text {
    padding: 30px 10px 0;
  }
  #limited .foot_tell .tell_text, #limited_login .foot_tell .tell_text {
    padding: 30px 10px 0;
  }
  .foot_tell .foot_info {
    margin-left: 10px;
    margin-right: 10px;
    font-size: min(5vw, 16px);
  }
  .foot_tell .tel_nom {
    width: 70%;
    max-width: inherit;
    margin: 0 auto 20px;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .header {
    height: 60px;
  }
  .header h1 {
    width: 40%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #top .header h1 {
    width: 39%;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 5%;
    transform: translate(0%, -50%);
  }
  #under .header h1, #limited .header h1, #limited_login .header h1, #under .header h1, #invitation .header h1 {
    width: 40%;
    margin: 0 auto;
  }
  #header .entry_cat {
    top: 22px;
    right: 15vw;
  }
  #header .entry_cat a {
    font-size: min(3.1vw, 14px);
  }
  #header .toggle_drawer {
    width: 30px;
    height: 25px;
    top: 15px;
    right: 10px;
  }
  #header .toggle_drawer:hover {
    width: 30px;
    height: 25px;
    right: 10px;
  }
  .nav_drawer .nev_in {
    width: 92%;
    height: 65vh;
  }
  .nav_drawer .nev_in::before {
    background: rgba(96, 76, 63, 0.8);
  }
  .nav_drawer .nev_in ul {
    flex-wrap: wrap;
  }
  .nav_drawer .nev_in ul li {
    width: 90%;
    margin: 0 20px 25px;
  }
  .nav_drawer .sub_nav {
    top: auto;
    bottom: 12vh;
  }
  .nav_drawer .sub_nav ul {
    justify-content: flex-start;
  }
  .nav_drawer .sub_nav li a {
    font-size: min(2.8vw, 15px);
  }
  /***Footer***/
  .nav_footer .nev_in {
    width: 92%;
    height: 65vh;
  }
  .nav_footer .nev_in::before {
    background: rgba(96, 76, 63, 0.8);
  }
  .nav_footer .nev_in ul {
    flex-wrap: wrap;
  }
  .nav_footer .nev_in ul li {
    width: 90%;
    margin: 0 20px 25px;
  }
  .nav_footer .sub_nav {
    top: auto;
    bottom: 12vh;
  }
  .nav_footer .sub_nav ul {
    justify-content: flex-start;
  }
  .nav_footer .sub_nav li a {
    font-size: min(2.8vw, 15px);
  }
  /***下層ページフッター***/
  .footer_wrapp.underpage {
    width: 100%;
    height: auto;
    background: #fff;
  }
  .footer_wrapp .contents_block {
    width: 96%;
    margin: 0 auto 50px;
    flex-wrap: wrap;
  }
  .footer_wrapp .contents_block .foot_contents_bt {
    width: 33.33333333%;
    height: 240px;
  }
  /*
  .footer_wrapp .contents_block .foot_contents_bt:last-child {
      width: 100%;
  }*/
  .footer_wrapp .contents_block .foot_contents_bt a span::before {
    height: 30px;
    top: -450%;
  }
  .footer_wrapp .contents_block .foot_contents_bt.grand a span::before {
    height: 30px;
    top: -200%;
  }
  .footer_wrapp .contents_block .foot_contents_bt.grand a span::after {
    top: 130%;
    left: 50%;
  }
  .footer_wrapp .contents_block .foot_contents_bt .inner_img {
    width: 140%;
    height: 100%;
    background-position: center center;
  }
  .footer_wrapp .footer_set {
    padding: 60px 0;
  }
  .footer_wrapp .limited_bt {
    width: 86%;
    margin: 0 auto 50px;
  }
  .footer_wrapp .limited_bt a {
    width: 100%;
    padding: 40px 0;
    font-size: min(3.2vw, 26px);
  }
  .footer_wrapp .limited_bt a span {
    width: 20px;
    height: 20px;
    margin-left: 20px;
  }
  .footer_wrapp .foot_sub_nav li a {
    font-size: min(7.8vw, 25px);
  }
  .footer_wrapp .copyr {
    font-size: min(2vw, 12px);
  }
  #top .top_copyr {
    font-size: min(2vw, 12px);
    margin-top: 0;
  }
}
/***下層ページ用***/
.footer_logo ul {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  width: 96%;
  max-width: 1400px;
  margin: 30px auto 0;
}

.footer_logo li {
  height: 4.3vw;
  max-height: 70px;
  margin: 0 18px 40px;
}
.footer_logo li span {
  display: block;
  font-size: 10px;
}

.footer_logo li.sekisui span {
  margin-left: 33%;
}

.footer_logo li.daigas {
  height: 3.5vw;
}
.footer_logo li.daigas span {
  margin-left: 19%;
}

.footer_logo li.orix {
  /*max-height: 44px;*/
}
.footer_logo li.orix span {
  margin-left: 32%;
}

.footer_logo li.kanden span {
  margin-left: 22%;
}

.footer_logo li.takenaka {
  max-height: 60px;
}
.footer_logo li.takenaka span {
  margin-left: 22%;
}

.footer_logo li.hankyu span {
  margin-left: 25%;
}

.footer_logo li.mitsubishi span {
  margin-left: 18%;
}

.footer_logo li.umekita {
  max-height: 60px;
}

.footer_logo li.hankyuhanshin span {
  margin-left: 30%;
}

.footer_logo ul li img {
  width: auto;
  height: 100%;
  margin-top: 5px;
}

.footer_logo li.takenaka img {
  margin-top: 10px;
}

.footer_logo li.umekita img {
  margin-top: 10px;
}

.footer_logo ul li img.bk {
  display: block;
}

.footer_logo ul li img.co {
  display: none;
}

.colors .footer_logo ul li img.bk {
  display: none;
}

.colors .footer_logo ul li img.co {
  display: block;
}

.footer_logo ul li a {
  transition: 0.4s ease-in-out;
}

.footer_logo ul li a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 875px) {
  .footer_logo ul {
    width: 98%;
    margin-left: 5%;
  }
  .footer_logo li {
    height: 4.2vw;
  }
  .footer_logo li span {
    font-size: min(1vw, 10px);
  }
}
@media screen and (max-width: 768px) {
  .footer_logo ul {
    width: 98%;
    justify-content: flex-start;
  }
  .footer_logo li {
    height: 9vw;
    max-height: 65px;
    margin: 0 2.5% 40px;
    width: 45%;
  }
  .footer_logo li span {
    font-size: min(1.6vw, 11px);
  }
  .footer_logo li.orix {
    height: 10.5vw;
  }
  .footer_logo li.daigas {
    max-height: inherit;
    height: 9.5vw;
  }
  .footer_logo li.kanden,
  .footer_logo li.mitsubishi,
  .footer_logo li.hankyu,
  .footer_logo li.hankyuhanshin,
  .footer_logo li.umekita {
    max-height: inherit;
    height: 10.5vw;
  }
  .footer_logo li.sekisui span {
    margin-left: 31%;
  }
  .footer_logo li.daigas span {
    margin-left: 15%;
  }
  .footer_logo li.orix span {
    margin-left: 25%;
  }
  .footer_logo li.kanden span {
    margin-left: 18%;
  }
  .footer_logo li.takenaka span {
    margin-left: 16%;
  }
  .footer_logo li.hankyu span {
    margin-left: 21%;
  }
  .footer_logo li.mitsubishi span {
    margin-left: 15%;
  }
  .footer_logo li.hankyuhanshin span {
    margin-left: 24%;
  }
  .footer_logo li.sekisui img {
    margin-top: 8px;
  }
  .footer_logo li.takenaka img {
    margin-top: 5px;
  }
}
/***アニメーション***/
.fadein_up {
  transform: translateY(20px);
  opacity: 0;
  transition: all 1s ease-out;
}

.fadein_up.on {
  transform: none;
  opacity: 1;
}

.scroll_line {
  width: 30%;
  max-width: 60px;
  height: 250px;
  margin: 0 auto;
  position: absolute;
  top: -15vh;
  left: 50%;
  transform: translate(-50%, 0%);
}

.scroll_line .circle {
  position: relative;
  width: 100%;
}

.scroll_line .circle::before {
  content: "";
  width: 118%;
  height: 118%;
  border: 2px solid #fff;
  border-radius: 50%;
  position: absolute;
  top: -11.7%;
  left: -11.6%;
  /*transform: translate(-50%,-50%);*/
  opacity: 0.7;
  animation: circle-anim 2s linear infinite;
}

@keyframes circle-anim {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  40% {
    transform: scale(1);
    opacity: 0.7;
  }
  90% {
    transform: scale(1.21);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.scroll_line .arow {
  width: 30%;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  animation: arow-anim 2.4s linear infinite;
}

@keyframes arow-anim {
  0% {
    bottom: 80%;
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  40% {
    bottom: 20%;
    opacity: 1;
  }
  60% {
    bottom: 0%;
    opacity: 1;
  }
  90% {
    bottom: 0%;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.scroll_line::after {
  position: absolute;
  content: "";
  width: 1px;
  height: 60%;
  border-left: 1px solid #333;
  left: 49%;
  top: 14%;
  animation: arow-line-anim 2.4s linear infinite;
}

@keyframes arow-line-anim {
  0% {
    height: 0%;
  }
  10% {
    height: 0%;
  }
  60% {
    height: 50%;
    opacity: 1;
  }
  60% {
    height: 60%;
    opacity: 1;
  }
  90% {
    height: 60%;
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.page_fadein {
  opacity: 0;
  transition: 1s;
  transition-duration: 1s;
  transition-delay: 0.2s;
}

.page_fadein.on {
  opacity: 1;
}

.scroll-blur {
  -ms-filter: blur(20px);
  filter: blur(20px);
  opacity: 0;
  transition: all 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: opacity, filter, transform;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: transition;
}

.scroll-blur.on {
  -ms-filter: blur(0);
  filter: blur(0);
  opacity: 1;
}/*# sourceMappingURL=common.css.map */