.p-letters-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 8.3333333333vw;
}
.p-letters-header__inner {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  width: 76.3888888889vw;
  height: 100%;
}
.p-letters-header__button {
  width: 4.1666666667vw;
}
.p-letters-main {
  display: flex;
  justify-content: center;
  background-image: url("../img/letters/common/letters_main_bg_sp.jpg");
  background-size: 100% auto;
  background-position: top center;
  background-repeat: repeat-y;
}
.p-letters-main__inner {
  width: 84.7222222222vw;
  background: #E1E2E2;
  padding-top: 16.9444444444vw;
}
.p-letters-intro__heading {
  width: 71.8055555556vw;
  margin: 0 auto;
  position: relative;
}
.p-letters-intro__heading__textarea {
  position: absolute;
  top: 14.7222222222vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
.p-letters-intro__heading__text01 {
  font-weight: 500;
  font-size: 4.5833333333vw;
  line-height: 1.1818181818;
  letter-spacing: -0.08em;
  color: #968A59;
  text-align: center;
}
.p-letters-intro__heading__text02 {
  font-family: "EB Garamond", serif;
  font-weight: 700;
  font-size: 2.2222222222vw;
  line-height: 1.125;
  letter-spacing: 0.3em;
  color: #968A59;
  text-align: center;
  margin-top: 2.2222222222vw;
}
.p-letters-intro__heading__text02[data-item="2"] {
  letter-spacing: 0.2em;
}
.p-letters-intro__heading__text02 span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}
.p-letters-intro__lead {
  margin-top: 7.7777777778vw;
}
.p-letters-intro__lead__text {
  font-weight: 600;
  font-size: 2.7777777778vw;
  line-height: 2;
  letter-spacing: 0.03em;
  color: #968A59;
  text-align: center;
}
.p-letters-nav01 {
  display: flex;
  justify-content: center;
  margin-top: 7.6388888889vw;
}
.p-letters-nav01__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.7777777778vw;
}
.p-letters-nav01__link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32.2222222222vw;
  height: 5.8333333333vw;
  border: 0.1388888889vw solid #968A59;
  border-radius: 2.9166666667vw;
}
.p-letters-nav01__link__text {
  font-weight: 500;
  font-size: 2.7777777778vw;
  letter-spacing: 0.2em;
  color: #968A59;
}
.p-letters-nav01__link.is-current {
  background-color: #968A59;
  pointer-events: none;
}
.p-letters-nav01__link.is-current .p-letters-nav01__link__text {
  font-size: 3.75vw;
  color: #DFE0E0;
}
.p-letters-nav01__link.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.p-letters-lead {
  margin-top: 7.3611111111vw;
  display: flex;
  justify-content: center;
}
.p-letters-lead__inner {
  width: 72.2222222222vw;
  border-top: 0.1388888889vw solid #968A59;
  padding-top: 5vw;
}
.p-letters-lead__heading {
  font-weight: 500;
  font-size: 4.5833333333vw;
  line-height: 1.6363636364;
  letter-spacing: 0.09em;
  color: #968A59;
  text-align: center;
}
.p-letters-lead__text01 {
  font-weight: 500;
  font-size: 4.5833333333vw;
  line-height: 1.6363636364;
  letter-spacing: 0.03em;
  color: #968A59;
  text-align: center;
  margin-top: 2.7777777778vw;
}
.p-letters-lead__textbox {
  margin-top: 5.5555555556vw;
  padding-top: 6.6666666667vw;
  border-top: 0.1388888889vw solid #968A59;
}
.p-letters-lead__text02 {
  font-weight: 600;
  font-size: 2.7777777778vw;
  line-height: 2;
  color: #968A59;
  text-align: center;
}
.p-letters-nav02 {
  display: flex;
  justify-content: center;
  margin-top: 7.5vw;
}
.p-letters-nav02__list {
  width: 71.5277777778vw;
  border-top: 0.1388888889vw solid #968A59;
}
.p-letters-nav02__list[data-item=letters01] {
  border-bottom: 0.1388888889vw solid #968A59;
}
.p-letters-nav02__item {
  padding: 4.1666666667vw 0;
  border-bottom: 0.1388888889vw solid #968A59;
}
.p-letters-nav02__item[data-item=letters01_10] {
  border-bottom: none;
}
.p-letters-nav02__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.0555555556vw;
}
.p-letters-nav02__link__text {
  font-weight: 600;
  font-size: 2.7777777778vw;
  line-height: 1.2;
  letter-spacing: 0.2em;
  color: #968A59;
  text-align: center;
}
.p-letters-nav02__link.disabled {
  pointer-events: none;
  opacity: 0.5;
}
.p-letters-content {
  margin-top: 20.1388888889vw;
  padding-bottom: 11.1111111111vw;
}
.p-letters-content__item {
  display: flex;
  justify-content: center;
}
.p-letters-content__item + .p-letters-content__item {
  margin-top: 20.1388888889vw;
}
.p-letters-content__item + .p-letters-content__item .p-letters-content__item__inner {
  padding-top: 20.1388888889vw;
  border-top: 0.1388888889vw solid #323B64;
}
.p-letters-content__item:last-of-type .p-letters-content__item__inner {
  padding-bottom: 20.1388888889vw;
  border-bottom: 0.1388888889vw solid #323B64;
}
.p-letters-content__item__inner {
  width: 69.7222222222vw;
}
.p-letters-content__item__header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6.6666666667vw;
}
.p-letters-content__item__header__imgarea {
  width: 49.1666666667vw;
}
.p-letters-content__item__header__textarea {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.7777777778vw;
}
.p-letters-content__item__header__text {
  font-weight: 600;
  font-size: 2.5vw;
  line-height: 1.2;
  letter-spacing: 0.2em;
  color: #323B64;
  text-align: center;
}
.p-letters-content__item__main {
  margin-top: 18.0555555556vw;
}
.p-letters-content__item__main__heading {
  font-weight: 600;
  font-size: 3.3333333333vw;
  line-height: 1.875;
  color: #323B64;
}
.p-letters-content__item__main__block {
  margin-top: 1.5em;
}
.p-letters-content__item__main__text {
  font-weight: 600;
  font-size: 3.3333333333vw;
  line-height: 1.875;
  color: #323B64;
  text-align: justify;
  text-indent: 1em;
}
.p-letters-comingsoon {
  display: flex;
  justify-content: space-between;
  margin-top: 11.1111111111vw;
  padding-bottom: 16.6666666667vw;
}
.p-letters-comingsoon__back {
  padding-left: 8.8888888889vw;
}
.p-letters-comingsoon__back__inner {
  display: flex;
  align-items: center;
  gap: 2.7777777778vw;
}
.p-letters-comingsoon__back__arrow {
  width: 3.6111111111vw;
}
.p-letters-comingsoon__back__text {
  font-weight: 500;
  font-size: 2.2222222222vw;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #AAAAAA;
}
.p-letters-comingsoon__inner {
  padding-right: 8.8888888889vw;
  position: relative;
}
.p-letters-comingsoon__text01 {
  display: flex;
  align-items: center;
  gap: 2.7777777778vw;
}
.p-letters-comingsoon__text01__text {
  font-weight: 500;
  font-size: 2.2222222222vw;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #AAAAAA;
}
.p-letters-comingsoon__text01__arrow {
  width: 3.6111111111vw;
}
.p-letters-comingsoon__text02 {
  font-weight: 500;
  font-size: 2.2222222222vw;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #AAAAAA;
  position: absolute;
  left: 0;
  bottom: -4.1666666667vw;
}

@media print, (min-width: 768px) {
  .p-letters-header {
    height: 5.0697084918vw;
  }
  .p-letters-header__inner {
    width: 75.0316856781vw;
  }
  .p-letters-header__button {
    width: 1.9011406844vw;
    cursor: pointer;
    transition: 0.3s;
  }
  .p-letters-header__button:hover {
    opacity: 0.7;
  }
  .p-letters-main {
    background-image: url("../img/letters/common/letters_main_bg_pc.jpg");
  }
  .p-letters-main__inner {
    width: 79.0874524715vw;
    padding-top: 6.0836501901vw;
  }
  .p-letters-intro__heading {
    width: 50vw;
  }
  .p-letters-intro__heading__textarea {
    top: 8.7452471483vw;
  }
  .p-letters-intro__heading__text01 {
    font-weight: 600;
    font-size: 2.4714828897vw;
    line-height: 1.1794871795;
    letter-spacing: 0.18em;
    padding-bottom: 0.9505703422vw;
  }
  .p-letters-intro__heading__text02 {
    font-size: 1.2040557668vw;
    line-height: 1.1052631579;
    margin-top: 1.0139416984vw;
  }
  .p-letters-intro__lead {
    margin-top: 2.5348542459vw;
  }
  .p-letters-intro__lead__text {
    font-weight: 700;
    font-size: 1.0139416984vw;
    letter-spacing: 0.14em;
  }
  .p-letters-nav01 {
    margin-top: 3.4854245881vw;
  }
  .p-letters-nav01__list {
    flex-direction: row;
    justify-content: center;
    gap: 3.1685678074vw;
  }
  .p-letters-nav01__link {
    width: 11.7237008872vw;
    height: 2.154626109vw;
    border: 0.0633713561vw solid #968A59;
    border-radius: 1.0773130545vw;
    transition: 0.3s;
  }
  .p-letters-nav01__link__text {
    font-size: 1.0139416984vw;
  }
  .p-letters-nav01__link.is-current .p-letters-nav01__link__text {
    font-size: 1.3307984791vw;
  }
  .p-letters-nav01__link:hover {
    opacity: 0.7;
  }
  .p-letters-lead {
    margin-top: 4.309252218vw;
  }
  .p-letters-lead__inner {
    width: 50.0633713561vw;
    border-top: 0.0633713561vw solid #968A59;
    padding-top: 2.7883396705vw;
  }
  .p-letters-lead__heading {
    font-size: 2.4714828897vw;
  }
  .p-letters-lead__text01 {
    font-size: 2.4714828897vw;
    margin-top: 1.5209125475vw;
  }
  .p-letters-lead__textbox {
    margin-top: 3.5487959442vw;
    padding-top: 3.1685678074vw;
    border-top: 0.0633713561vw solid #968A59;
  }
  .p-letters-lead__text02 {
    font-weight: 700;
    font-size: 1.0139416984vw;
  }
  .p-letters-nav02 {
    margin-top: 3.5487959442vw;
  }
  .p-letters-nav02__list {
    width: 50.0633713561vw;
    border-top: 0.0633713561vw solid #968A59;
    display: flex;
    flex-wrap: wrap;
  }
  .p-letters-nav02__list[data-item=letters01] {
    border-bottom: 0.0633713561vw solid #968A59;
  }
  .p-letters-nav02__item {
    padding: 0.7604562738vw 0;
    border-bottom: 0.0633713561vw solid #968A59;
    width: 33.33333%;
  }
  .p-letters-nav02__item__inner {
    border-right: 0.0633713561vw solid #968A59;
  }
  .p-letters-nav02__item:nth-of-type(3n) .p-letters-nav02__item__inner {
    border-right: none;
  }
  .p-letters-nav02__link {
    justify-content: center;
    gap: 0.9505703422vw;
    height: 5.3231939163vw;
    transition: 0.3s;
  }
  .p-letters-nav02__link__text {
    font-weight: 700;
    font-size: 0.7604562738vw;
    letter-spacing: 0.1em;
  }
  .p-letters-nav02__link:hover {
    opacity: 0.7;
  }
  .p-letters-content {
    margin-top: 9.5057034221vw;
    padding-bottom: 7.6045627376vw;
  }
  .p-letters-content__item + .p-letters-content__item {
    margin-top: 9.5057034221vw;
  }
  .p-letters-content__item + .p-letters-content__item .p-letters-content__item__inner {
    padding-top: 9.5057034221vw;
    border-top: 0.0633713561vw solid #323B64;
  }
  .p-letters-content__item:last-of-type .p-letters-content__item__inner {
    padding-bottom: 9.5057034221vw;
    border-bottom: 0.0633713561vw solid #323B64;
  }
  .p-letters-content__item__inner {
    width: 52.598225602vw;
  }
  .p-letters-content__item__header {
    flex-direction: row;
    justify-content: center;
    gap: 3.8022813688vw;
  }
  .p-letters-content__item__header__imgarea {
    width: 17.4904942966vw;
  }
  .p-letters-content__item__header__textarea {
    gap: 1.2674271229vw;
    min-width: 22.1799746515vw;
  }
  .p-letters-content__item__header__text {
    font-weight: 700;
    font-size: 1.3941698352vw;
  }
  .p-letters-content__item__main {
    margin-top: 7.6045627376vw;
  }
  .p-letters-content__item__main__heading {
    font-weight: 700;
    font-size: 1.0139416984vw;
  }
  .p-letters-content__item__main__text {
    font-weight: 700;
    font-size: 1.0139416984vw;
  }
  .p-letters-comingsoon {
    margin-top: 3.8022813688vw;
    padding-bottom: 9.5057034221vw;
  }
  .p-letters-comingsoon__back {
    padding-left: 5.0697084918vw;
  }
  .p-letters-comingsoon__back__inner {
    gap: 1.2674271229vw;
    transition: 0.3s;
  }
  .p-letters-comingsoon__back__inner:hover {
    opacity: 0.7;
  }
  .p-letters-comingsoon__back__arrow {
    width: 1.6159695817vw;
  }
  .p-letters-comingsoon__back__text {
    font-size: 1.0139416984vw;
  }
  .p-letters-comingsoon__inner {
    padding-right: 5.0697084918vw;
  }
  .p-letters-comingsoon__text01 {
    gap: 1.2674271229vw;
  }
  .p-letters-comingsoon__text01__text {
    font-size: 1.0139416984vw;
  }
  .p-letters-comingsoon__text01__arrow {
    width: 1.6159695817vw;
  }
  .p-letters-comingsoon__text01.enable {
    transition: 0.3s;
  }
  .p-letters-comingsoon__text01.enable:hover {
    opacity: 0.7;
  }
  .p-letters-comingsoon__text02 {
    font-size: 1.0139416984vw;
    bottom: -1.9011406844vw;
  }
}
@media print, (min-width: 1578px) {
  .p-letters-header {
    height: 80px;
  }
  .p-letters-header__inner {
    width: 1184px;
  }
  .p-letters-header__button {
    width: 30px;
  }
  .p-letters-main__inner {
    width: 1248px;
    padding-top: 96px;
  }
  .p-letters-intro__heading {
    width: 789px;
  }
  .p-letters-intro__heading__textarea {
    top: 138px;
  }
  .p-letters-intro__heading__text01 {
    font-size: 39px;
    padding-bottom: 15px;
  }
  .p-letters-intro__heading__text02 {
    font-size: 19px;
    margin-top: 16px;
  }
  .p-letters-intro__lead {
    margin-top: 40px;
  }
  .p-letters-intro__lead__text {
    font-size: 16px;
  }
  .p-letters-nav01 {
    margin-top: 55px;
  }
  .p-letters-nav01__list {
    gap: 50px;
  }
  .p-letters-nav01__link {
    width: 185px;
    height: 34px;
    border: 1px solid #968A59;
    border-radius: 17px;
  }
  .p-letters-nav01__link__text {
    font-size: 16px;
  }
  .p-letters-nav01__link.is-current .p-letters-nav01__link__text {
    font-size: 21px;
  }
  .p-letters-lead {
    margin-top: 68px;
  }
  .p-letters-lead__inner {
    width: 790px;
    border-top: 1px solid #968A59;
    padding-top: 44px;
  }
  .p-letters-lead__heading {
    font-size: 39px;
  }
  .p-letters-lead__text01 {
    font-size: 39px;
    margin-top: 24px;
  }
  .p-letters-lead__textbox {
    margin-top: 56px;
    padding-top: 50px;
    border-top: 1px solid #968A59;
  }
  .p-letters-lead__text02 {
    font-size: 16px;
  }
  .p-letters-nav02 {
    margin-top: 56px;
  }
  .p-letters-nav02__list {
    width: 790px;
    border-top: 1px solid #968A59;
  }
  .p-letters-nav02__list[data-item=letters01] {
    border-bottom: 1px solid #968A59;
  }
  .p-letters-nav02__item {
    padding: 12px 0;
    border-bottom: 1px solid #968A59;
  }
  .p-letters-nav02__item__inner {
    border-right: 1px solid #968A59;
  }
  .p-letters-nav02__link {
    gap: 15px;
    height: 84px;
  }
  .p-letters-nav02__link__text {
    font-size: 12px;
  }
  .p-letters-content {
    margin-top: 150px;
    padding-bottom: 120px;
  }
  .p-letters-content__item + .p-letters-content__item {
    margin-top: 150px;
  }
  .p-letters-content__item + .p-letters-content__item .p-letters-content__item__inner {
    padding-top: 150px;
    border-top: 1px solid #323B64;
  }
  .p-letters-content__item:last-of-type .p-letters-content__item__inner {
    padding-bottom: 150px;
    border-bottom: 1px solid #323B64;
  }
  .p-letters-content__item__inner {
    width: 830px;
  }
  .p-letters-content__item__header {
    gap: 60px;
  }
  .p-letters-content__item__header__imgarea {
    width: 276px;
  }
  .p-letters-content__item__header__textarea {
    gap: 20px;
    min-width: 350px;
  }
  .p-letters-content__item__header__text {
    font-size: 22px;
  }
  .p-letters-content__item__main {
    margin-top: 120px;
  }
  .p-letters-content__item__main__heading {
    font-size: 16px;
  }
  .p-letters-content__item__main__text {
    font-size: 16px;
  }
  .p-letters-comingsoon {
    margin-top: 60px;
    padding-bottom: 150px;
  }
  .p-letters-comingsoon__back {
    padding-left: 80px;
  }
  .p-letters-comingsoon__back__inner {
    gap: 20px;
  }
  .p-letters-comingsoon__back__arrow {
    width: 25.5px;
  }
  .p-letters-comingsoon__back__text {
    font-size: 16px;
  }
  .p-letters-comingsoon__inner {
    padding-right: 80px;
  }
  .p-letters-comingsoon__text01 {
    gap: 20px;
  }
  .p-letters-comingsoon__text01__text {
    font-size: 16px;
  }
  .p-letters-comingsoon__text01__arrow {
    width: 25.5px;
  }
  .p-letters-comingsoon__text02 {
    font-size: 16px;
    bottom: -30px;
  }
}