@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Noto+Sans+JP:wght@100..900&display=swap");
:root {
  --fs-per: .0625;
  --fs-vw: .0781;
}

*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: min(var(--fs-vw) * 1vw, var(--fs-per) * 1rem);
  color: #1d1d1f;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  overflow-x: hidden;
}

body {
  width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  background-repeat: repeat;
  background-position: left top;
  background-size: 152rem;
  background-color: #fff;
}
body.open {
  overflow: hidden;
}

.main {
  position: relative;
  padding-top: 72rem;
}

.container {
  width: 1200rem;
  margin: 0 auto;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: 0.4s;
}
a:hover {
  opacity: 0.7;
}

ul,
ol {
  list-style: none;
}

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

.forSP {
  display: none;
}

/* backToTop */
.toTop {
  position: sticky;
  bottom: 16rem;
  margin: -66rem 0 16rem auto;
  right: 16rem;
  width: 50rem;
  z-index: 8;
}

.toTop__btn {
  cursor: pointer;
  width: 50rem;
  height: 50rem;
  background-image: url(../img/toTop.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: all 0.4s;
}
.toTop__btn:hover {
  opacity: 0.7;
}

@media only screen and (max-width: 767.9px) {
  :root {
    --fs-vw: .2545;
  }
  html {
    font-size: calc(var(--fs-vw) * 1vw);
  }
  body {
    background-size: 91rem;
  }
  .main {
    padding-top: 48rem;
  }
  .container {
    width: 343rem;
    margin: 0 16rem;
  }
  .forSP {
    display: block;
  }
  .forPC {
    display: none;
  }
  .toTop {
    bottom: 8rem;
    margin-bottom: 8rem;
    margin: -50rem 0 8rem auto;
    right: 8rem;
    width: 42rem;
  }
  .toTop__btn {
    width: 42rem;
    height: 42rem;
  }
}
body {
  font-size: 16rem;
  line-height: 1.875;
}

.heading--primary {
  font-size: 56rem;
}
.heading--secondary {
  font-size: 48rem;
}

.alphabet {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (max-width: 767.9px) {
  body {
    font-size: 16rem;
  }
  .heading--primary {
    font-size: 32rem;
  }
  .heading--secondary {
    font-size: 28rem;
  }
}
.c-accordion__item {
  margin-top: 32rem;
  background-color: #FAFAFA;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__item {
    margin-top: 28rem;
  }
}
.c-accordion__click {
  position: relative;
  display: flex;
  align-items: center;
  padding: 32rem 64rem 32rem 32rem;
  font-size: 25rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__click {
    padding: 32rem 106rem 32rem 12rem;
    font-size: 16rem;
    line-height: 1.5625;
  }
}
.c-accordion__click::before {
  content: "Q";
  display: flex;
  align-items: center;
  justify-content: center;
  width: 33rem;
  height: 48rem;
  margin-right: 32rem;
  flex: none;
  font-size: 40rem;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  line-height: 1;
  color: #506774;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__click::before {
    width: 30rem;
    height: 30rem;
    margin-right: 8rem;
    font-size: 20rem;
  }
}
.c-accordion__click.active {
  padding-bottom: 22rem;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__click.active {
    padding-bottom: 0;
  }
}
.c-accordion__click.active .c-accordion__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 18%;
  height: 2px;
  background-color: #C6A648;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__click.active .c-accordion__btn::after {
    width: 30rem;
  }
}
.c-accordion__btn {
  position: absolute;
  right: 64rem;
  display: block;
  width: 24rem;
  height: 24rem;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__btn {
    right: 12rem;
    width: 30rem;
    height: 30rem;
  }
}
.c-accordion__btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 24rem;
  height: 3rem;
  background-color: #C6A648;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__btn::before {
    width: 30rem;
  }
}
.c-accordion__btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
  display: block;
  width: 24rem;
  height: 3rem;
  background-color: #C6A648;
  transition: 0.3s;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__btn::after {
    width: 30rem;
  }
}
.c-accordion__contents {
  position: relative;
  display: none;
  border-top: 0;
  padding: 0 89rem 34rem 94rem;
  font-size: 18rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .c-accordion__contents {
    padding: 28rem 12rem 32rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}

.wpcf7-form {
  margin: 69rem auto 0;
  width: 100%;
  max-width: 1290rem;
}
@media only screen and (max-width: 767.9px) {
  .wpcf7-form {
    margin-top: 40px;
    width: 100%;
    max-width: 100%;
  }
}
.wpcf7-form .hidden-fields-container {
  display: none;
}

.c-form__table {
  width: 100%;
  margin-bottom: 62rem;
  border-spacing: unset;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table {
    margin-bottom: 20rem;
    padding: 0 28rem;
  }
}
.c-form__table dl {
  display: flex;
  gap: 28rem;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dl {
    flex-direction: column;
    gap: 16rem;
    padding: 24rem 0;
  }
}
.c-form__table dl:not(:last-of-type) {
  border-bottom: 1px dashed #707070;
}
.c-form__table dd {
  width: calc(100% - 277rem);
  margin-right: 223rem;
  padding: 37rem 0 32rem;
  text-align: left;
  font-size: 16rem;
  font-weight: 500;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd {
    padding: 0;
    width: 100%;
    margin: 0;
  }
}
.c-form__table dt {
  width: 249rem;
  padding: 38rem 0 32rem;
  margin-left: 190rem;
  font-size: 16rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  display: flex;
  align-items: baseline;
  flex: none;
  font-weight: 500;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dt {
    width: 100%;
    font-size: 16rem;
    padding: 0;
    margin: 0;
  }
}
.c-form__table dt > p {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dt > p {
    justify-content: flex-start;
  }
}
.c-form__table dt .c-form__required-badge {
  width: 50rem;
  height: 20rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1px;
  background-color: #9A6C6C;
  color: #fff;
  font-size: 12rem;
  font-weight: 500;
  font-family: "Zen Kaku Gothic New", sans-serif;
  top: 0 !important;
  height: auto;
  margin-left: 0.5em;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dt .c-form__required-badge {
    border-radius: 1px;
    font-size: 12rem;
    width: 50rem;
    height: 20rem;
    top: 0;
    margin-left: 16rem;
  }
}
.c-form__table dd input {
  width: 100%;
  padding: 11rem 24rem;
  font-size: 16rem;
  letter-spacing: 0.1em;
  border: 1px solid #707070;
  border-radius: 3rem;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd input {
    width: 100%;
    height: 46px;
    padding: 0.25em 0.5em;
    font-size: 14rem;
  }
}
.c-form__table dd input.size-s {
  width: 129rem;
  margin-bottom: 16rem;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd input.size-s {
    width: 116rem;
  }
}
.c-form__table dd input + input {
  display: block;
  margin-top: 8px;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd input + input {
    margin-top: 16px;
  }
}
.c-form__table dd input[type=checkbox] {
  width: 24rem;
  height: 24rem;
  border: 1px solid #707070;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd input[type=checkbox] {
    width: 20rem;
    height: 20rem;
    margin-right: 8rem;
  }
}
.c-form__table dd textarea {
  border: 1px solid #707070;
  padding: 11rem 24rem;
  font-size: 16rem;
  width: 100%;
  border-radius: 3rem;
}
.c-form__table dd select {
  background-color: #fff;
  border: 1px solid #707070;
  padding: 0.25em;
}
@media only screen and (max-width: 767.9px) {
  .c-form__table dd select {
    display: block;
  }
}

.c-form_column {
  display: flex;
  gap: 14rem;
  flex-direction: column;
}

.privacy {
  width: 975rem;
  max-width: 80%;
  margin: 0 auto 30rem;
  text-align: left;
}
@media only screen and (max-width: 767.9px) {
  .privacy {
    margin-bottom: 40rem;
    width: 100%;
    max-width: unset;
    padding: 0 28rem;
  }
}
.privacy p {
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .privacy p {
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.privacy .disabled-wrap {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 767.9px) {
  .privacy .disabled-wrap {
    margin-top: 32rem;
  }
}
.privacy .disabled-wrap input {
  width: 24rem;
  height: 24rem;
  margin-right: 14px;
}
@media only screen and (max-width: 767.9px) {
  .privacy .disabled-wrap input {
    width: 20rem;
    height: 20rem;
    margin-right: 8rem;
  }
}
.privacy .disabled-btn {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6666666667;
}

.thanks_area {
  text-align: center;
  margin-bottom: 80px;
}
@media only screen and (max-width: 767.9px) {
  .thanks_area {
    margin-bottom: 120px;
  }
}
.thanks_area p {
  font-size: 24px;
}
.thanks_area p:first-of-type {
  margin-bottom: 1em;
  font-size: 40px;
  font-weight: 700;
}
@media only screen and (max-width: 767.9px) {
  .thanks_area p:first-of-type {
    font-size: 32px;
  }
}
@media only screen and (max-width: 767.9px) {
  .thanks_area p {
    font-size: 28px;
  }
}

input[type=submit] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

span.wpcf7-spinner {
  display: none;
}

input[type=submit] {
  text-align: center;
}

input[type=submit] {
  position: relative;
  max-width: 100%;
}
@media only screen and (max-width: 767.9px) {
  input[type=submit] {
    width: 100%;
    height: 59rem;
    margin: 40rem auto 0;
    font-size: 18rem;
  }
}

::placeholder {
  color: #ACACAC;
}

/* 旧Edge対応 */
::-ms-input-placeholder {
  color: #ACACAC;
}

/* IE対応 */
:-ms-input-placeholder {
  color: #ACACAC;
}

.c-form__checkbox label {
  display: flex;
  align-items: center;
  gap: 8rem;
}
.c-form__checkbox .wpcf7-list-item {
  margin: 0 24rem 0 0;
}

.wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8rem;
}

.c-form__submit {
  position: relative;
  width: fit-content;
  margin: 80rem auto 0;
  font-size: 22rem;
}
@media only screen and (max-width: 767.9px) {
  .c-form__submit {
    width: 337rem;
    height: 59rem;
    font-size: 18rem;
  }
}
.c-form__submit::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18rem;
  transform: translate(0, -50%);
  display: block;
  width: 53rem;
  height: 7.5rem;
  background: url(../images/common/btn_arrow.svg) no-repeat;
  background-size: contain;
}

.slick-initialized .slick-slide {
  display: flex;
}
@media only screen and (max-width: 767.9px) {
  .slick-initialized .slick-slide {
    display: block;
  }
    .slick-slide img {
    display: block;
    height: auto;
}
}

.slick-dots li {
  border-radius: 50%;
  border: 1px solid #97803E;
  width: 13.54rem;
  height: 13.54rem;
  margin: 0 10rem;
}
.slick-dots li.slick-active {
  background-color: #97803E;
}

.slick-dotted.slick-slider {
  margin-bottom: 80rem;
}

.dots__wrapper {
  display: flex;
  justify-content: center;
}
.dots__wrapper li {
  width: 12rem;
  height: 12rem;
  margin: 0 10rem;
  border: 1px solid #fff;
  background: transparent;
  border-radius: 50%;
  cursor: pointer;
}
.dots__wrapper li.slick-active {
  background: #fff;
}
.dots__wrapper li button {
  display: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  padding: 0;
  border: none;
  background-color: transparent;
}

@media only screen and (max-width: 767.9px) {
  .dots__wrapper li {
    margin: 0 8rem;
  }
}
.slick-track {
  display: flex;
}

.slick-slide {
  height: auto !important;
}

.c-table__row {
  position: relative;
  display: flex;
  padding: 24rem 0;
  align-items: center;
}
@media only screen and (max-width: 767.9px) {
  .c-table__row {
    padding: 16rem 0;
  }
}
.c-table__row:last-of-type {
  border-bottom: 1px solid #eee;
}
@media only screen and (max-width: 767.9px) {
  .c-table__row::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 100%;
    height: 1px;
    background-image: url(../images/common/line-dots.svg);
    background-size: 100%;
  }
}
.c-table__row::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-image: url(../images/common/line-dots.svg);
  background-size: 100%;
}
@media only screen and (max-width: 767.9px) {
  .c-table__row--pconly {
    display: none;
  }
}
.c-table__row--sponly {
  display: none;
}
@media only screen and (max-width: 767.9px) {
  .c-table__row--sponly {
    display: flex;
  }
}
.c-table__heading, .c-table__detail {
  font-size: 18rem;
  line-height: 2;
  font-weight: 400;
  letter-spacing: 0;
}
.c-table__heading {
  width: 25%;
  padding-left: 40rem;
  flex: none;
}
@media only screen and (max-width: 767.9px) {
  .c-table__heading--pconly {
    display: none;
  }
}
.c-table__heading--sponly {
  display: none;
}
@media only screen and (max-width: 767.9px) {
  .c-table__heading--sponly {
    display: inline;
  }
}
.c-table__detail {
  width: 75%;
  padding-left: 57rem;
}
.c-title-english {
  width: 100%;
  text-align: center;
}
.c-title-english__ja {
  color: #4d4d4d;
  font-size: 45rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .c-title-english__ja {
    font-size: 30rem;
    line-height: 1.0714285714;
  }
}
.c-title-english__en {
  margin-top: 15rem;
  color: #c6a648;
  font-size: 20rem;
  font-weight: 400;
  font-family: "Outfit", serif;
  letter-spacing: 0;
  line-height: 1.4;
}
@media only screen and (max-width: 767.9px) {
  .c-title-english__en {
    margin-top: 16rem;
    font-family: "Lato", serif;
    font-size: 18rem;
    line-height: 1.5555555556;
  }
}

.c-title-brackets {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  height: 93rem;
  text-align: center;
  color: #506774;
  font-size: 45rem;
  font-weight: 500;
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767.9px) {
  .c-title-brackets {
    font-size: 25rem;
  }
}
.c-title-brackets::before {
  content: "「";
  display: inline-block;
  transform: translate(-14rem, -14rem);
}
@media only screen and (max-width: 767.9px) {
  .c-title-brackets::before {
    transform: translate(-8rem, -8rem);
  }
}
.c-title-brackets::after {
  content: "」";
  display: inline-block;
  transform: translate(14rem, 14rem);
}
@media only screen and (max-width: 767.9px) {
  .c-title-brackets::after {
    transform: translate(8rem, 7rem);
  }
}

.c-btn {
  position: relative;
  color: #136AB6;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 400rem;
  max-width: 100%;
  height: 70rem;
  background-color: #506774;
  border-radius: 35rem;
  border: 1px solid #fff;
  color: #fff;
  font-size: 22rem;
  font-weight: 700;
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .c-btn {
    width: 337rem;
    height: 59rem;
  }
}
.c-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 18rem;
  transform: translate(0, -50%);
  display: block;
  width: 53rem;
  height: 7.5rem;
  background: url(../images/common/btn_arrow.svg) no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 767.9px) {
  .c-btn::after {
    width: 44.65rem;
    height: 6.32rem;
    right: 14rem;
  }
}

.l-header {
  background-color: #fff;
  position: fixed;
  z-index: 10;
  width: 100%;
}
@media only screen and (max-width: 767.9px) {
  .l-header {
    left: 0;
    right: 0;
  }
}
.l-header__inner {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 1920rem;
  height: 112rem;
  max-width: 100%;
  margin: auto;
  background: url(../images/common/header_bg.png) no-repeat;
  background-size: 67.23%;
  background-position: 57.25% center;
}
@media only screen and (max-width: 767.9px) {
  .l-header__inner {
    height: 54rem;
    justify-content: flex-end;
    background: url(../images/common/header_bg_sp.png) no-repeat;
    background-size: 53%;
    background-position: 73.25% center;
  }
}
.l-header__logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 265rem;
  height: 265rem;
}
@media only screen and (max-width: 767.9px) {
  .l-header__logo {
	  width: 110rem;
	  height: 110rem;
  }
}
.l-header__logo a {
  display: block;
}
@media only screen and (max-width: 767.9px) {
  .l-header__logo a {
	  width: 110rem;
	  height: 110rem;
  }
}
.l-header__logo a img {
  object-fit: contain;
}
@media only screen and (max-width: 767.9px) {
  .l-header__logo a img {
    width: 110rem;
    height: 110rem;
  }
}
.l-header__logo p {
  font-size: 22rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 767.9px) {
  .l-header__logo p {
    font-size: 14rem;
    line-height: 1.4285714286;
  }
}
.l-header__nav {
  display: none;
  transform: translateX(-100%);
}
@media only screen and (max-width: 767.9px) {
  .l-header__nav {
    position: fixed;
    right: 0;
    left: 0;
    top: 60rem;
    width: 100%;
    height: calc(100vh - 60rem);
    transform: translateX(100%);
    background-color: #f5f5f5;
    transition: transform ease 0.4s;
    overflow-y: scroll;
  }
}
.l-header__nav.active {
  display: flex;
  transform: translateX(0);
  display: block;
  padding: 18rem 45rem 57rem;
  background-color: #f5f5f5;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  z-index: 999;
}

.l-header__nav.active .l-header__navlist {
  top: 0;
  left: 0;
}
.l-header__nav.active .l-header__navlist, .l-header__nav.active .l-header__navlist--small {
  display: block;
  height: auto;
    margin-top: 15%;
}
.l-header__menu {
  width: 60rem;
  height: 44rem;
  margin-right: 65rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  cursor: pointer;
  box-sizing: border-box;
    overflow: scroll;
}

.l-header__nav.active{
    overflow: scroll;
}

@media only screen and (max-width: 767.9px) {
  .l-header__menu {
    width: 24rem;
    height: 24rem;
    margin-right: 15rem;
  }
}
.l-header__menu-bar {
  position: absolute;
  left: 50%;
  width: 100%;
  height: 2rem;
  background-color: #1D1D1F;
  border-radius: 1rem;
  transition: all 0.3s ease;
  transform: translateX(-50%);
}
.l-header__menu-bar:nth-child(1) {
  top: 0;
}
.l-header__menu-bar:nth-of-type(2) {
  top: 50%;
}
.l-header__menu-bar:nth-child(3) {
  top: 100%;
}
.l-header__menu.active {
  position: relative;
  z-index: 9999;
}
.l-header__menu.active .l-header__menu-bar {
  transition: ease 0.4s;
}
.l-header__menu.active .l-header__menu-bar:nth-child(1) {
  top: 50%;
  transform: translateX(-50%) rotate(34deg);
}
.l-header__menu.active .l-header__menu-bar:nth-of-type(2) {
  opacity: 0;
}
.l-header__menu.active .l-header__menu-bar:nth-child(3) {
  top: 50%;
  transform: translateX(-50%) rotate(-34deg);
}
.l-header__menutxt {
  padding-right: 57rem;
  margin-left: 53rem;
  color: #1d1d1f;
  font-size: 28rem;
  font-weight: 900;
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .l-header__menutxt {
    padding-right: 10rem;
    margin-left: 21rem;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 12rem;
    font-weight: 900;
  }
}
.l-header__instagram {
  transform: translateY(1.5rem);
}
@media only screen and (max-width: 767.9px) {
  .l-header__instagram {
    transform: unset;
  }
}
@media only screen and (max-width: 767.9px) {
  .l-header__instagram img {
    width: 24rem;
    height: 24rem;
  }
}
.l-header__contact {
  display: flex;
  align-items: center;
  gap: 4rem;
  padding-top: 19rem;
  writing-mode: vertical-lr;
  color: #fff;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateY(100%);
  background: #506774;
  width: 69rem;
  height: 244rem;
  font-size: 16rem;
  letter-spacing: 0.11em;
}
@media only screen and (max-width: 767.9px) {
  .l-header__contact {
    position: fixed;
    bottom: 0;
    left: 0;
    transform: unset;
    writing-mode: unset;
    justify-content: center;
    padding: 0;
    gap: 8rem;
    width: 100%;
    height: 69rem;
    font-size: 20rem;
    letter-spacing: 0;
    line-height: 1;
	  z-index:9999;
  }
}
@media only screen and (max-width: 767.9px) {
  .l-header__contact img {
    width: 25rem;
    height: 21rem;
    transform: translateY(3rem);
  }
}

.mv {
  position: relative;
}

.heading__container {
  position: absolute;
  top: 0;
  left: calc((100vw - 1440rem) / 2);
  width: 1440rem;
  height: 100%;
  z-index: 1;
}

.heading__wrapper {
  position: absolute;
  top: 72rem;
  left: 48rem;
  width: 1344rem;
}

.text--bg {
  color: #fff;
  background-color: #136AB6;
  display: inline-block;
  padding: 3rem 16rem;
  letter-spacing: 0.04em;
  margin-bottom: 8rem;
}
.text--bg:where(.heading--primary *) {
  padding: 4rem 16rem 10rem;
}
.text--bg:where(.heading__text *) {
  padding: 8rem 16rem 10rem;
  margin-bottom: 0;
}
.text--bg01 {
  padding-right: 0;
}
.text--bg02 {
  padding-left: 0;
}
.text--bg03 {
  padding-top: 2rem;
}

.heading--sub {
  font-size: 24rem;
  font-weight: bold;
}

.heading--primary {
  line-height: 1.18;
}

.heading__text {
  line-height: 1;
}

@media only screen and (max-width: 1439.9px) {
  .heading__container {
    width: 100%;
    left: 0;
  }
  .heading__wrapper {
    width: calc(100vw - 48rem);
  }
}
@media only screen and (max-width: 767.9px) {
  .heading__wrapper {
    top: 24rem;
    left: 16rem;
    width: 343rem;
  }
  .text--bg {
    padding: 2rem 16rem 3rem 8rem;
    margin-bottom: 3rem;
  }
  .text--bg:where(.heading--primary *) {
    padding: 4rem 7rem 8rem 8rem;
  }
  .text--bg:where(.heading__text *) {
    padding: 6rem 8rem 7rem;
    margin-bottom: 0;
  }
  .text--bg02 {
    padding-top: 2rem;
  }
  .text--bg03 {
    padding-top: 6rem;
    transform: translateY(-4rem);
  }
  .heading--sub {
    font-size: 14rem;
  }
  .heading__text {
    font-size: 12rem;
  }
}
.container--bottom {
  position: absolute;
  right: calc((100vw - 1440rem) / 2);
  bottom: 0;
  width: 1440rem;
  height: 100%;
  z-index: 1;
}

.mv__lists {
  color: #fff;
  position: absolute;
  bottom: 24rem;
  right: 40rem;
  width: 1264rem;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.mv__list {
  width: 390rem;
  letter-spacing: 0.04em;
  cursor: pointer;
}
.mv__list .mv__link:hover {
  color: #fff;
  opacity: 1;
}
.mv__list .title__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mv__list .num {
  font-weight: 100;
  font-size: 56rem;
  line-height: 1;
  width: 67rem;
}
.mv__list .title {
  width: 308rem;
}
.mv__list .title--01 {
  width: 323rem;
}
.mv__list .mv__text {
  display: none;
  font-size: 14rem;
  margin-top: 16rem;
}

@media only screen and (max-width: 1439.9px) {
  .container--bottom {
    right: 0;
  }
  .mv__lists {
    width: calc(100vw - 176rem);
  }
  .mv__list {
    width: 28vw;
  }
  .mv__list .num {
    width: 4.6vw;
  }
  .mv__list .title {
    width: 22vw;
  }
  .mv__list .title--01 {
    width: 23vw;
  }
}
@media only screen and (max-width: 767.9px) {
  .container--bottom {
    width: 375rem;
  }
  .mv__lists {
    bottom: 35rem;
    right: 16rem;
    width: 343rem;
  }
  .mv__list {
    width: 107rem;
  }
  .mv__list .title__wrapper {
    flex-direction: column;
    align-items: center;
    position: relative;
  }
  .mv__list .title__wrapper::after {
    content: "";
    position: absolute;
    bottom: -19rem;
    left: 50%;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 8rem;
    height: 8rem;
    transform: rotate(45deg) translateX(-50%);
  }
  .mv__list .num {
    width: 100%;
    font-size: 24rem;
    text-align: center;
    margin-bottom: 6rem;
  }
  .mv__list .title {
    text-align: center;
    width: 100%;
    font-size: 9rem;
  }
}
.mv__slider {
  padding-top: 24rem;
}
.mv__slider .slider {
  margin-left: auto;
  width: calc(100vw - (100vw - 1440rem) / 2 - 96rem);
}
.mv__slider .slider::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 200rem;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.66), transparent);
}

@media only screen and (max-width: 1439.9px) {
  .mv__slider .slider {
    width: calc(100vw - 96rem);
  }
}
@media only screen and (max-width: 767.9px) {
  .mv__slider {
    padding-top: 0;
  }
  .mv__slider .slider {
    width: 375rem;
  }
  .mv__slider .slider::after {
    height: 135rem;
  }
}
.p-index .l-inner {
  width: 96%;
  margin: 0 auto;
  padding: 0;
  max-width: 1290rem;
  margin: auto;
}
@media only screen and (max-width: 767.9px) {
  .p-index .l-inner {
    padding: 0 28rem;
    width: 100%;
  }
}
.p-index .c-btn {
  margin: auto;
}
.p-index__mv {
  position: relative;
  text-align: center;
  padding-top: 112rem;
  /*
  &::after{
    content: "";
    position: absolute;
    bottom: -70rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 1px;
    height: 287rem;
    background-color: #fff;
  }
    */
}
@media only screen and (max-width: 767.9px) {
  .p-index__mv {
    height: 100vh;
    padding-top: 0;
  }
}
.p-index__mv .mv_slide {
  position: relative;
  max-width: 1790rem;
  margin: auto;
  width: calc(100% - 130rem);
}
@media only screen and (max-width: 767.9px) {
  .p-index__mv .mv_slide {
    width: 100%;
    height: 100vh;
  }
  .p-index__mv .mv_slide img {
    object-fit: cover;
    height: 100vh;
  }
}
.p-index__mv-copy {
  position: absolute;
  top: 223rem;
  right: 333rem;
  transform: translate(0, 0);
  margin: auto;
  writing-mode: vertical-rl;
  color: #fff;
  font-size: 40rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.65;
  letter-spacing: 0.13em;
text-shadow: 0 0 16px rgba(0, 0, 0, 1);
}
@media only screen and (max-width: 767.9px) {
  .p-index__mv-copy {
    font-size: 30rem;
    line-height: 1.5;
    letter-spacing: 10rem;
    right: 41rem;
    top: 62rem;
  }
}
.p-index__event {
  padding-top: 64rem;
  background: linear-gradient(180deg, #fff 0%, #fff 49.28%, #F5F4F2 49.28%, #F5F4F2 100%);
}
.p-index__event .l-grid-col03__container {
  display: flex;
    column-gap: 56rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
	
  /*
  &::after{
    content: "";
    display: block;
    order: 1;
    width: 30%;
    @media only screen and (max-width: 767.9px) {
        width: 30%;
    }
  }
    */
}
@media only screen and (max-width: 767.9px) {
.p-index__event .l-grid-col03__container {
    grid-template-columns: repeat(1, 1fr);
}
}
  .p-index__event .l-grid-col03__item {
    width: 100%;
  }
@media only screen and (max-width: 767.9px) {
  .p-index__event .l-grid-col03__item {
    width: 100%;
  }
}
.p-index__event-list {
  margin-top: 64rem;
  margin-bottom: 63rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-list {
    margin-top: 19rem;
    margin-bottom: 40rem;
  }
}
.p-index__event-listitem {
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
margin-bottom: 24px;
}
.p-index__event-textwrap {
  padding: 12rem 17rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-textwrap {
    padding: 10rem 14rem;
  }
}
.p-index__lead01 {
  position: relative;
  padding: 95rem 0 79rem;
  background-color: #F5F4F2;
  text-align: center;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead01 {
    padding: 28rem 0 139rem;
  }
}
.p-index__lead01-heading {
  margin-top: 24rem;
  color: #1d1d1f;
  font-size: 30rem;
  font-weight: 600;
  font-family: "Zen Old Mincho", serif;
  line-height: 1;
  letter-spacing: 0;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead01-heading {
    margin-top: 28rem;
    font-size: 20rem;
    line-height: 1.5;
  }
}
.p-index__lead01-text {
  margin-top: 26rem;
  font-size: 16rem;
  letter-spacing: 0;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead01-text {
    margin-top: 18rem;
    text-align: left;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__lead02 {
  position: relative;
  padding: 265rem 0 266rem;
  overflow-x: hidden;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead02 {
    padding: 207rem 0 207rem;
    margin-top: -37rem;
  }
}
.p-index__lead02:before {
  content: "";
  position: absolute;
  top: 79rem;
  right: -88rem;
  display: block;
  width: 45.78vw;
  height: 565rem;
  background-image: url(../images/index/lead02-1_pc.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead02:before {
    top: 0;
    right: -34rem;
    width: 294rem;
    height: 189rem;
  }
}
.p-index__lead02:after {
  content: "";
  position: absolute;
  bottom: 80rem;
  left: 0rem;
  display: block;
  width: 34.27vw;
  height: 424rem;
  background-image: url(../images/index/lead02-2_pc.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead02:after {
    width: 239rem;
    height: 154rem;
    left: -52rem;
    bottom: 31rem;
  }
}
.p-index__lead02-heading {
  margin: auto;
  writing-mode: vertical-rl;
  color: #4d4d4d;
  font-size: 40rem;
  font-weight: 400;
  font-family: "Zen Old Mincho", serif;
  line-height: 1.65;
  letter-spacing: 0.13em;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead02-heading {
    font-size: 30rem;
    line-height: 1.5;
    writing-mode: unset;
    letter-spacing: 0;
    text-align: center;
  }
}
.p-index__lead02-text {
  width: 27.81vw;
  margin: 135rem auto 0;
  transform: translateX(-6rem);
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lead02-text {
    width: 100%;
    margin: 40rem auto 0;
    padding: 0 28rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__reason {
  padding: 105rem 0 101rem;
  background-color: #F5F4F2;
}
@media only screen and (max-width: 767.9px) {
  .p-index__reason {
    padding: 32rem 0 0;
  }
}
.p-index__reason .l-inner {
  max-width: 1366rem;
}
.p-index__reason-list {
  display: flex;
  gap: 68rem;
  margin-top: 60rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__reason-list {
    display: block;
    margin-top: 27rem;
  }
}
.p-index__reason-item {
  width: calc((100% - 136rem) / 3);
  padding: 28rem 28rem 26rem;
  background-color: #fff;
  box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.25);
  border-radius: 8rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__reason-item {
    width: calc(100% - 28rem);
	  margin: 0 28rem 68rem;
    padding: 24rem 16rem 29rem;
  }
}
.p-index__reason-item dt {
  color: #564E4E;
  font-size: 20rem;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0;
  font-weight: 600;
  line-height: 1.75;
}
@media only screen and (max-width: 767.9px) {
  .p-index__reason-item dt {
    font-size: 18rem;
    line-height: 1.6666666667;
  }
}
.p-index__reason-item dt > span {
  display: block;
  margin-bottom: 16rem;
  height: 34rem;
  padding-left: 8rem;
  border-left: 2px solid #C6A648;
  color: #C6A648;
  font-size: 35rem;
  font-weight: 400;
  line-height: 34rem;
}
.p-index__reason-item dd {
  margin-top: 40rem;
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .p-index__reason-item dd {
    margin-top: 28rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__lineup {
  padding: 77rem 0 134rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup {
    padding: 51rem 0 24rem;
  }
}
.p-index__lineup .l-inner {
  max-width: 1396rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup .c-title-english dl {
    display: flex;
    flex-direction: column-reverse;
    text-align: left;
    padding: 0 28rem;
  }
  .p-index__lineup .c-title-english .c-title-english__en {
    display: flex;
    align-items: center;
    margin-bottom: 8rem;
    gap: 16rem;
    color: #BDB9B1;
    font-size: 20rem;
    font-family: "Zen Old Mincho", serif;
    font-weight: 600;
    text-transform: lowercase;
  }
  .p-index__lineup .c-title-english .c-title-english__en::before {
    content: "";
    display: block;
    width: 30rem;
    height: 1px;
    background-color: #BDB9B1;
  }
}
.p-index__lineup-list {
  margin-top: 23rem;
}
.p-index__lineup-item {
  display: flex;
  gap: 70rem;
  padding: 48rem 68rem 48rem 38rem;
  background: linear-gradient(90deg, #fff 0%, #fff 39.68%, #F5F4F2 39.68%, #F5F4F2 100%);
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item {
    display: block;
    padding: 0;
    background: unset;
  }
}
.p-index__lineup-item:nth-of-type(even) {
  flex-direction: row-reverse;
  background: linear-gradient(90deg, #F5F4F2 0%, #F5F4F2 60.32%, #fff 60.32%, #fff 100%);
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item:nth-of-type(even) {
    background: unset;
  }
}
.p-index__lineup-item + .p-index__lineup-item {
  margin-top: 97rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item + .p-index__lineup-item {
    margin-top: 32rem;
  }
}
.p-index__lineup-item:nth-of-type(3) dl {
  margin-top: 60rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item:nth-of-type(3) dl {
    margin-top: 32rem;
  }
}
.p-index__lineup-item:nth-of-type(4) dl {
  margin-top: 77rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item:nth-of-type(4) dl {
    margin-top: 32rem;
  }
}
.p-index__lineup-item:last-of-type {
  margin-top: 101rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item:last-of-type {
    margin-top: 32rem;
  }
}
.p-index__lineup-item picture {
  width: 49.57%;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item picture {
    width: 100%;
  }
}
.p-index__lineup-item dl {
  width: 37.82%;
  margin-top: 81rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item dl {
    width: 100%;
    margin-top: 32rem;
  }
}
.p-index__lineup-item dl dt {
  color: #506774;
  font-size: 30rem;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.3333333333;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item dl dt {
    margin-top: 32rem;
  }
}
.p-index__lineup-item dl dd {
  margin-top: 24rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-size: 16rem;
  letter-spacing: 0;
  line-height: 1.625;
}
@media only screen and (max-width: 767.9px) {
  .p-index__lineup-item dl dd {
    margin-top: 16rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__works {
  padding: 115rem 0 160rem;
  background-color: #F5F4F2;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works {
    padding: 50rem 0;
  }
}
.p-index__works-lead {
  margin-top: 80rem;
  text-align: center;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-lead {
    margin-top: 40rem;
  }
}
.p-index__works-lead dt {
  color: #605A5A;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-lead dt {
    font-size: 20rem;
    line-height: 1.5;
  }
}
.p-index__works-lead dd {
  margin-top: 30rem;
  font-size: 16rem;
  letter-spacing: 0;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-lead dd {
    margin-top: 24rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__works-list {
  margin-top: 80rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-list {
    margin-top: 40rem;
  }
}
.p-index__works-item a {
  display: flex;
  align-items: center;
  padding: 0 56rem;
  gap: 64rem;
  margin-bottom: 24rem;
  max-height: 500px;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a {
    display: block;
    margin-top: 40rem;
    padding: 0;
    min-height: unset;
        max-height: 1000px;
  }
}
.p-index__works-item a figure {
  width: 49.46%;
  margin-bottom: 0;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a figure {
    width: 100%;
    margin-bottom: 32rem;
  max-height: 500px;
  }
}
.p-index__works-item a dl {
  width: 50.16%;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a dl {
    width: 100%;
  }
}
.p-index__works-item a dl dt {
  position: relative;
  width: fit-content;
  margin-left: 7rem;
  padding-bottom: 24rem;
  color: #506774;
  font-size: 35rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4285714286;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a dl dt {
    margin-left: 0;
    font-size: 25rem;
    line-height: 1.6;
  }
}
.p-index__works-item a dl dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 3rem;
  width: calc(100% - 34rem);
  height: 1px;
  background-color: #4D4D4D;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a dl dt::after {
    left: 0;
    width: 100%;
  }
}
.p-index__works-item a dl dd {
  margin-top: 73rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__works-item a dl dd {
    margin-top: 24rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__instagram {
  padding: 135rem 0 98rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram {
    padding: 81rem 0 50rem;
  }
}
.p-index__instagram h2 {
  position: relative;
  text-align: center;
  color: #605A5A;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram h2 {
    font-size: 20rem;
  }
}
.p-index__instagram h2::before {
  content: "";
  position: absolute;
  top: -21rem;
  left: 50%;
  transform: translate(-50%, -100%);
  display: block;
  width: 59.42rem;
  height: 27rem;
  background-image: url(../images/common/heading_illust01.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram h2::before {
    width: 50.31rem;
    height: 22.86rem;
  }
}
.p-index__instagram-banner {
  max-width: 696rem;
  width: 100%;
  margin: 40rem auto 0;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-banner {
    margin: 24rem auto 0;
  }
}
.p-index__instagram-detail {
  margin-top: 98rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-detail {
    margin-top: 75rem;
  }
}
.p-index__instagram-subheading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 272rem;
  height: 34rem;
  margin: 0 auto 8rem;
  border-radius: 19.5rem;
  background-color: #2f2f2f;
  text-align: center;
  color: #fff;
  font-size: 16rem;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-subheading {
    font-size: 16rem;
  }
}
.p-index__instagram-subheading::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 6rem;
  left: 50%;
  border-style: solid;
  border-width: 13rem 10rem 0 10rem;
  border-color: #2f2f2f transparent transparent;
  translate: -50% 100%;
}
.p-index__instagram-heading {
  text-align: center;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-heading {
    font-size: 16rem;
  }
}
.p-index__instagram-heading > img {
  width: 138rem;
  max-width: 100%;
  padding-left: 8rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-heading > img {
    width: 94.38rem;
    padding-left: 2.62rem;
    transform: translateY(3.72rem);
  }
}
.p-index__instagram-text {
  width: 752rem;
  max-width: 100%;
  margin: 24rem auto 0;
  text-align: center;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-text {
    font-size: 14rem;
    text-align: left;
    width: 100%;
  }
}
.p-index__instagram-list {
  margin-top: 82rem;
  display: flex;
  gap: 41rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list {
    margin-top: 34rem;
    flex-direction: column;
    gap: 59rem;
  }
}
.p-index__instagram-list > li {
  position: relative;
  width: calc((100% - 82rem) / 3);
  height: 576rem;
  border-radius: 8rem;
  background-color: #b5b5b5;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list > li {
    width: 100%;
    height: 350rem;
  }
}
.p-index__instagram-list > li:not(:first-of-type)::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -8rem;
  transform: translate(-100%, -50%);
  display: block;
  background-color: #506774;
  height: 35rem;
  width: 21rem;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list > li:not(:first-of-type)::before {
    top: -16rem;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 39rem;
    height: 27rem;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
  }
}
.p-index__instagram-list > li .step {
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
.p-index__instagram-list > li .step .en {
  position: absolute;
  top: 17rem;
  left: 14rem;
  font-size: 18rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list > li .step .en {
    font-size: 14rem;
    top: 4rem;
    left: 4rem;
    line-height: 2;
    text-transform: uppercase;
  }
}
.p-index__instagram-list > li .step .number {
  position: absolute;
  top: 45rem;
  left: 72rem;
  font-size: 40rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list > li .step .number {
    font-size: 30rem;
    top: 27rem;
    left: 39rem;
  }
}
.p-index__instagram-list > li .step::after {
  content: "";
  position: absolute;
  top: 78rem;
  left: 30rem;
  display: block;
  width: 91.92rem;
  height: 1rem;
  background-color: #000;
  transform: rotate(-45deg);
  transform-origin: top left;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-list > li .step::after {
    width: 60rem;
    left: 15rem;
    top: 54rem;
  }
}
.p-index__instagram-post {
  margin-top: 100rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-post {
    margin-top: 50rem;
  }
}
.p-index__instagram-post h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 49rem;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-post h3 {
    font-size: 30rem;
    margin-bottom: 24rem;
  }
}
.p-index__instagram-post h3::before {
  content: "";
  display: block;
  width: 44rem;
  height: 44rem;
  margin-right: 16rem;
  background-image: url(../images/common/instagram_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media only screen and (max-width: 767.9px) {
  .p-index__instagram-post h3::before {
    margin-right: 8rem;
  }
}
.p-index__contact {
  padding: 102rem 0 99rem;
  background-color: #F5F4F2;
}
@media only screen and (max-width: 767.9px) {
  .p-index__contact {
    padding: 50rem 0;
  }
}
.p-index__spec {
  padding: 144rem 0 90rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec {
    padding: 50rem 0;
  }
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec .c-title-brackets {
    position: relative;
    font-size: 25rem;
    letter-spacing: 0.05em;
    line-height: 1.44;
  }
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec .c-title-brackets::before {
    position: absolute;
    /* transform: translate(-14rem, 8rem); */
    top: 0;
    left: 0;
    transform: translateX(100%);
  }
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec .c-title-brackets::after {
    position: absolute;
    /* transform: translate(-14rem, 8rem); */
    bottom: 0;
    right: 0;
    transform: translateX(-100%);
  }
}
.p-index__spec-heading {
  margin-top: 24rem;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.0666666667;
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec-heading {
    margin-top: 28rem;
    font-size: 20rem;
    line-height: 1.5;
  }
}
.p-index__spec-text {
    margin-top: 24rem;
    margin-bottom: 68rem;
    max-width: 84%;
    margin: 24rem auto 68rem;
    font-size: 18px;
}
.p-index__spec-box img {
    max-width: 50%;
}
@media only screen and (max-width: 767.9px) {
  .p-index__spec-text {
    margin-top: 24rem;
    font-size: 14rem;
    line-height: 1.7857142857;
    margin-bottom: 24rem;
    text-align: left;
	max-width: 95%;
  }
.p-index__spec-box img {
    max-width: 95%;
}
}
.p-index__spec-box {
  text-align: center;
}
.p-index__spec-box:nth-of-type(2) .p-index__spec-heading {
  margin-top: 31rem;
}
.p-index__spec-box + .p-index__spec-box {
  margin-top: 124rem;
}
.p-index__spec-subbox img {
  width: 100%;
  border-radius: 3rem;
  margin-top: 28rem;
}
.p-index__spec-subbox > p {
  margin-top: 12rem;
  font-size: 16rem;
  line-height: 1.5;
  text-align: center;
}
.p-index__faq {
  padding: 130rem 0 87rem;
  background-image: url(../images/index/faq_bg.svg);
  background-size: cover;
  background-position: top;
}
@media only screen and (max-width: 767.9px) {
  .p-index__faq {
    padding: 90rem 0 50rem;
  }
}
.p-index .c-accordion {
  margin-top: 80rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index .c-accordion {
    margin-top: 40rem;
  }
}

.scroll {
  position: absolute;
  left: -20rem;
  bottom: 328rem;
  padding-bottom: 32rem;
  writing-mode: vertical-rl;
  transform: translateX(-100%);
  font-size: 25rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}

/* 線のアニメーション部分 */
.scroll::before {
  background-color: #000;
  bottom: 0;
  content: "";
  height: 329rem;
  left: 0;
  transform: translateY(100%);
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}

/* 線の背景色 */
.scroll::after {
  background-color: transparent;
  bottom: 0;
  content: "";
  height: 329rem;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
  transform: translateY(100%);
}

/* 線のアニメーション */
@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.u-d-inlineblock {
  display: inline-block;
}

.u-d-none {
  display: none;
}

.u-sponly {
  display: none;
}
@media only screen and (max-width: 767.9px) {
  .u-sponly {
    display: block;
  }
}

@media only screen and (max-width: 767.9px) {
  .u-pconly {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */
.c-breadcrumb__wrap {
  width: 100%;
  background-color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-breadcrumb {
  max-width: 1290rem;
  width: 90%;
  display: flex;
  align-items: center;
  gap: 31.7rem;
}
.c-breadcrumb__item {
  position: relative;
}
.c-breadcrumb__item::after {
  content: "";
  width: 10rem;
  height: 10rem;
  border-top: 2rem solid #333;
  border-right: 2rem solid #333;
  transform: rotate(45deg);
  display: inline-block;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -19rem;
}
.c-breadcrumb__item:last-child::after {
  content: none;
}
.p-works {
  background-color: #F5F4F2;
  position: relative;
  padding-top: 312rem;
}
.p-works .p-page__mv {
  padding-top: 100rem;
}
.p-works .l-inner {
  width: 96%;
  margin: 0 auto;
  padding: 0;
  max-width: 900rem;
  margin: auto;
}
.p-works .p-page__title {
  text-align: center;
}
.p-works__area {
  margin: 10rem 0;
  text-align: center;
  font-size: 20rem;
  font-weight: 500;
}
.p-works .p-page__category {
  text-align: center;
  margin: 10rem 0 20rem;
}
.p-works .p-page__category span {
  color: #fff;
  font-size: 20rem;
  background: #506774;
  border-radius: 30rem;
  display: inline-block;
  padding: 4rem 24rem;
}
.p-works__list {
  position: relative;
}
.p-works__img {
  position: relative;
  padding-top: 68%;
  width: 100%;
}
.p-works__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-works__content {
  margin-top: 20rem;
}
.p-works__detail {
  margin-top: 20rem;
}
.p-works__detail table {
  margin: 0 auto;
  width: 100%;
}
.p-works__detail table tr {
  display: flex;
  align-items: center;
  border-bottom: 0.1rem solid #000;
  padding: 15.5rem 0;
}
.p-works__detail table tr th,
.p-works__detail table tr td {
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.3333333333;
}
.p-works__detail table tr th {
  width: 30%;
  text-align: left;
}
.p-works__detail table tr td {
  width: 70%;
}
.p-works__single {
  padding-bottom: 50rem;
}
.works-shingle__gallery {
  padding-bottom: 112rem;
}
.works-shingle__gallery .l-inner {
  width: 96%;
  margin: 0 auto;
  padding: 0;
  max-width: 900rem;
  margin: auto;
}
.works-shingle__subttl {
  border-bottom: 0.1rem solid #000;
  font-size: 24rem;
  font-weight: 500;
  margin-bottom: 30rem;
}
.works-shingle__gallery-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10.4rem;
}
.works-shingle__gallery .works-shingle__gallery-sublist {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10.4rem;
  margin-top: 20rem;
}
.works-shingle__gallery .works-shingle__gallery-item {
  cursor: pointer;
  position: relative;
}
.works-shingle__gallery .works-shingle__gallery-subitem {
  cursor: pointer;
  position: relative;
}
.works-shingle__gallery .works-shingle__gallery-subitem .works-shingle__gallery-img {
  position: relative;
  width: 100%;
  padding-top: 133.33%;
}
.works-shingle__gallery .works-shingle__gallery-item .works-shingle__gallery-img {
  position: relative;
  padding-top: 75%;
}
.works-shingle__gallery-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.works-shingle__gallery-zoom {
  position: absolute;
  right: 8.5rem;
  bottom: 9.5rem;
  width: 17.8rem;
  opacity: 1;
}
.modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.8);
  align-items: center;
  justify-content: center;
}
.modal-content {
  margin: auto;
  display: block;
  max-width: 70%;
  max-height: 80%;
}
#imageModal img:not([alt]) {
  filter: none !important;
}
#caption {
  display: none;
}
.close {
  position: absolute;
  top: 0;
  right: 2%;
  color: white;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
}
.close:hover,
.close:focus {
  color: #bbb;
  text-decoration: none;
  cursor: pointer;
}
.modal-prev {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 2em;
  height: 2em;
  transform: translateX(25%) rotate(-135deg);
  cursor: pointer;
  margin-left: 10px;
}
.modal-prev::before,
.modal-prev::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.modal-prev::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.3em;
}
.modal-prev::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.3em;
}
.modal-next {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  position: relative;
  width: 2em;
  height: 2em;
  transform: translateX(-25%) rotate(45deg);
  cursor: pointer;
  margin-right: 1rem;
}
.modal-next::before,
.modal-next::after {
  content: '';
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.modal-next::before {
  top: 0;
  left: 0;
  right: 0;
  height: 0.3em;
}
.modal-next::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 0.3em;
}
.prev-arrow {
  border-style: solid;
  border-color: transparent;
  border-width: 1.375em 2.14952em;
  border-right-color: currentColor;
  border-left: 0;
  position: absolute;
  left: -59rem;
  top: 0;
  bottom: 0;
  margin: auto;
  cursor: pointer;
  height: 3rem;
  width: 5rem;
  background: transparent;
}
.next-arrow {
  border-style: solid;
  border-color: transparent;
  border-width: 1.375em 2.14952em;
  border-left-color: currentColor;
  border-right: 0;
  position: absolute;
  right: -59rem;
  top: 0;
  bottom: 0;
  margin: auto;
  cursor: pointer;
  height: 3rem;
  width: 5rem;
  background: transparent;
}
@media only screen and (max-width: 767.9px) {
  .c-breadcrumb {
    width: 100%;
    padding-left: 10rem;
  }
  .c-breadcrumb__item {
    white-space: nowrap;
  }
  .c-breadcrumb__item:last-of-type {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow-x: hidden;
  }
  .p-works {
    padding-top: 100rem;
  }
  .p-works .p-page__mv {
    padding-top: 30rem;
  }
  .p-works .l-inner {
    width: 100%;
    padding: 0 28rem;
  }
  .p-works .p-page__title span {
    font-size: 24rem;
  }
  .p-works__area {
    font-size: 18rem;
  }
  .p-works .p-page__category span {
    font-size: 16rem;
  }
  .prev-arrow {
    left: -22rem;
    border-width: 0.975em 1.24952em;
  }
  .next-arrow {
    right: -22rem;
    border-width: 0.975em 1.24952em;
  }
  .p-works__detail table tr th,
  .p-works__detail table tr td {
    font-size: 16rem;
  }
  .works-shingle__subttl {
    font-size: 20rem;
  }
  .works-shingle__gallery-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .works-shingle__gallery .works-shingle__gallery-sublist {
    grid-template-columns: repeat(1, 1fr);
  }
}

.p-index__event {
  padding: 115rem 0 160rem;
  background-color: #F5F4F2;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event {
    padding: 50rem 0;
  }
}
.p-index__event-lead {
  margin-top: 80rem;
  text-align: center;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-lead {
    margin-top: 40rem;
  }
}
.p-index__event-lead dt {
  color: #605A5A;
  font-size: 30rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-lead dt {
    font-size: 20rem;
    line-height: 1.5;
  }
}
.p-index__event-lead dd {
  margin-top: 30rem;
  font-size: 16rem;
  letter-spacing: 0;
  line-height: 1.875;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-lead dd {
    margin-top: 24rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-index__event-list {
  margin-top: 80rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-list {
    margin-top: 40rem;
  }
}
.p-index__event-item a {
  display: flex;
  align-items: center;
  padding: 0 56rem;
  gap: 64rem;
  margin-bottom: 24rem;
  min-height: 746rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a {
    display: block;
    margin-top: 40rem;
    padding: 0;
    min-height: unset;
  }
}
.p-index__event-item a figure {
  width: 49.46%;
  margin-bottom: 0;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a figure {
    width: 100%;
    margin-bottom: 32rem;
    min-height: 394rem;
  }
}
.p-index__event-item a dl {
  width: 50.16%;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a dl {
    width: 100%;
  }
}
.p-index__event-item a dl dt {
  position: relative;
  width: fit-content;
  margin-left: 7rem;
  padding-bottom: 24rem;
  color: #506774;
  font-size: 35rem;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4285714286;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a dl dt {
    margin-left: 0;
    font-size: 25rem;
    line-height: 1.6;
  }
}
.p-index__event-item a dl dt::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 3rem;
  width: calc(100% - 34rem);
  height: 1px;
  background-color: #4D4D4D;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a dl dt::after {
    left: 0;
    width: 100%;
  }
}
.p-index__event-item a dl dd {
  margin-top: 73rem;
}
@media only screen and (max-width: 767.9px) {
  .p-index__event-item a dl dd {
    margin-top: 24rem;
    font-size: 14rem;
    line-height: 1.7857142857;
  }
}
.p-event {
  background-color: #F5F4F2;
  position: relative;
  padding-top: 312rem;
}
.p-event .p-page__mv {
  padding-top: 100rem;
}
.p-event .l-inner {
  width: 96%;
  margin: 0 auto;
  padding: 0;
  max-width: 1200rem;
  margin: auto;
}
.p-event .p-page__title {
  text-align: center;
}
.p-event__area {
  margin: 10rem 0;
  text-align: center;
  font-size: 20rem;
  font-weight: 500;
}
.p-event .p-page__category {
  text-align: center;
  margin: 10rem 0 20rem;
}
.p-event .p-page__category span {
  color: #fff;
  font-size: 20rem;
  background: #506774;
  border-radius: 30rem;
  display: inline-block;
  padding: 4rem 24rem;
}
.p-event__list {
  position: relative;
}
.p-event__img {
  position: relative;
  padding-top: 68%;
  width: 100%;
}
.p-event__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-event__content {
  margin-top: 20rem;
}
.p-event__detail {
  margin-top: 20rem;
}
.p-event__detail table {
  margin: 0 auto;
  width: 100%;
}
.p-event__detail table tr {
  display: flex;
  align-items: center;
  border-bottom: 0.1rem solid #000;
  padding: 15.5rem 0;
}
.p-event__detail table tr th,
.p-event__detail table tr td {
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.3333333333;
}
.p-event__detail table tr th {
  width: 30%;
  text-align: left;
}
.p-event__detail table tr td {
  width: 70%;
}
.p-event__single {
  padding-bottom: 50rem;
}
.event-shingle__gallery {
  padding-bottom: 112rem;
}
.event-shingle__gallery .l-inner {
  width: 96%;
  margin: 0 auto;
  padding: 0;
  max-width: 900rem;
  margin: auto;
}
.event-shingle__subttl {
  border-bottom: 0.1rem solid #000;
  font-size: 24rem;
  font-weight: 500;
  margin-bottom: 30rem;
}
.event-shingle__gallery-list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10.4rem;
}
.event-shingle__gallery .event-shingle__gallery-sublist {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10.4rem;
  margin-top: 20rem;
}
.event-shingle__gallery .event-shingle__gallery-item {
  cursor: pointer;
  position: relative;
}
.event-shingle__gallery .event-shingle__gallery-subitem {
  cursor: pointer;
  position: relative;
}
.event-shingle__gallery .event-shingle__gallery-subitem .event-shingle__gallery-img {
  position: relative;
  width: 100%;
  padding-top: 133.33%;
}
.event-shingle__gallery .event-shingle__gallery-item .event-shingle__gallery-img {
  position: relative;
  padding-top: 75%;
}
.event-shingle__gallery-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.event-shingle__gallery-zoom {
  position: absolute;
  right: 8.5rem;
  bottom: 9.5rem;
  width: 17.8rem;
  opacity: 1;
}
@media only screen and (max-width: 767.9px) {
  .p-event {
    padding-top: 100rem;
  }
  .p-event .p-page__mv {
    padding-top: 30rem;
  }
  .p-event .l-inner {
    width: 100%;
    padding: 0 28rem;
  }
  .p-event .p-page__title span {
    font-size: 24rem;
  }
  .p-event__area {
    font-size: 18rem;
  }
  .p-event .p-page__category span {
    font-size: 16rem;
  }
  .prev-arrow {
    left: -22rem;
    border-width: 0.975em 1.24952em;
  }
  .next-arrow {
    right: -22rem;
    border-width: 0.975em 1.24952em;
  }
  .p-event__detail table tr th,
  .p-event__detail table tr td {
    font-size: 16rem;
  }
  .event-shingle__subttl {
    font-size: 20rem;
  }
  .event-shingle__gallery-list {
    grid-template-columns: repeat(1, 1fr);
  }
  .event-shingle__gallery .event-shingle__gallery-sublist {
    grid-template-columns: repeat(1, 1fr);
  }
}
section.event {
    background: #fff;
}

/*　20251009神蔵追記（フッター・ヘッダー・その他修正）*/
.slick-dots li button:before {
  display: none;
}

.l-footer__wrap {
  padding: 20rem 0 74rem;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__wrap {
    padding-bottom: 7rem;
  }
}
.l-footer__inner {
  position: relative;
  width: 1200rem;
  max-width: 100%;
  margin: auto;
  font-family: "Zen Old Mincho", serif;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__inner {
    width: 100%;
    padding: 0 28rem;
  }
}
.l-footer__box {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-footer__logo {
  width: 126rem;
  height: 126rem;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__logo {
    width: 78rem;
    height: 78rem;
  }
}
.l-footer__instagram {
  display: flex;
  align-items: center;
  font-size: 16rem;
}
.l-footer__instagram img {
  width: 44rem;
  height: 44rem;
}
.l-footer__nav {
  display: flex;
  gap: 151rem;
  margin-top: 22px;
  padding-left: 88rem;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__nav {
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding-left: 0;
  }
}
.l-footer__list {
  font-size: 16rem;
}
.l-footer__listitem {
  margin-top: 28rem;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__listitem {
    display: flex;
    align-items: center;
    height: 58rem;
    margin: 0;
    padding-left: 11rem;
    border-bottom: 1px solid #d9d9d9;
  }
}
@media only screen and (max-width: 767.9px) {
  .l-footer__listitem.border-0 {
    border: none;
  }
}
.l-footer__listitem--sub {
  padding-left: 11rem;
color: #8f8f8f;
}
.l-footer__listitem--sub a {
  position: relative;
  display: flex;
  padding-left: 23rem;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__listitem--sub a {
    padding-left: 36rem;
  }
}
.l-footer__listitem--sub a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 10rem;
  height: 1rem;
  background-color: #1d1d1d;
}
@media only screen and (max-width: 767.9px) {
  .l-footer__listitem--sub a::before {
    left: 11rem;
  }
}
.l-footer__copy {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60rem;
  background-color: #F5F4F2;
  text-align: center;
  font-size: 10rem;
  line-height: 1;
}


@media only screen and (max-width: 767.9px) {
  .l-header__nav.active {
  font-family: "Zen Old Mincho", serif;
    flex-direction: column;
    margin: 0;
	  padding:112rem  28rem 0;
  }
}

.l-header__navlistitem {
    display: flex;
    align-items: center;
    height: 74rem;
    font-size: 20px;
    margin: 0;
    padding-left: 11rem;
    border-bottom: 1px solid #d9d9d9;
	  font-family: "Zen Old Mincho", serif;
}
@media only screen and (max-width: 767.9px) {
	.l-header__navlist {
  font-size: 16rem;
	width:100%;
}
  .l-header__navlistitem {
    height: 58rem;
  }
}


@media only screen and (max-width: 767.9px) {
  .l-header__navlistitem.border-0 {
    border: none;
  }
}
.l-header__navlistitem--sub {
  padding-left: 11rem;
    color: #8f8f8f;
}
.l-header__navlistitem--sub a {
  position: relative;
  display: flex;
  padding-left: 23rem;
}
@media only screen and (max-width: 767.9px) {
  .l-header__navlistitem--sub a {
    padding-left: 36rem;
  }
}
.l-header__navlistitem--sub a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  display: block;
  width: 10rem;
  height: 1rem;
  background-color: #1d1d1d;
}
@media only screen and (max-width: 767.9px) {
  .l-header__navlistitem--sub a::before {
    left: 11rem;
  }
}

.c-pagination {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}

.c-pagination ul {
  display: flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-pagination li {
  display: inline-block;
}

.c-pagination a,
.c-pagination span {
  display: block;
  padding: 8px 14px;
  border: 1px solid #ddd;
  color: #333;
  text-decoration: none;
  border-radius: 6px;
  transition: all 0.2s ease;
  font-weight: 500;
}

.c-pagination a:hover {
  background-color: #f5f5f5;
  border-color: #bbb;
}

.c-pagination .current {
  background-color: #333;
  color: #fff;
  border-color: #333;
  pointer-events: none;
}

.c-form__checkbox {
    display: flex;
    gap: 14rem;
    flex-direction: column;
}

/* 神蔵ここまで　*/

.event_img img {
    margin: 24px 0;
}
h1.p-page__title {
    padding: 32px 0;
}
.event_img02 {
    width: 65%;
    margin: 0 auto;
}
h3.lp-contact__ttl {
    text-align: center;
    margin: 24px 0 0;
    font-size: 20px;
    background: #506774;
    color: #fff;
    padding: 8px 0;
}
section.event {
    background: #fff;
    margin-bottom: 60px;
}

/* 20251009神蔵（軽微な修正）*/

@media only screen and (max-width: 767.9px) {
	.p-index__reason .l-inner{
		padding:0;
	}
}
h3.wp-block-heading {
    padding: 24px 0;
}