@charset "UTF-8";
/*-----------------
@Module
-----------------*/
html {
  background-color: #fff;
}

a {
  -webkit-tap-highlight-color: transparent;
  cursor: pointer;
}

a:link,
a:visited,
a:hover,
a:active {
  color: unset;
  text-decoration: none;
}

h1, h2, h3, h4, h5, h6 {
  font-style: normal;
  font-weight: normal;
  font-size: 100%;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

.mainContents article, .mainContents aside, .mainContents body, .mainContents dd, .mainContents dl, .mainContents dt, .mainContents figcaption, .mainContents figure, .mainContents footer, .mainContents h1, .mainContents h2, .mainContents h3, .mainContents h4, .mainContents h5, .mainContents h6, .mainContents header, .mainContents html, .mainContents li, .mainContents nav, .mainContents ol, .mainContents p, .mainContents section, .mainContents ul {
  font-family: "YuGothic", "游ゴシック体", "Noto Sans JP", sans-serif;
}
@media only screen and (max-width: 750px) {
  .mainContents article, .mainContents aside, .mainContents body, .mainContents dd, .mainContents dl, .mainContents dt, .mainContents figcaption, .mainContents figure, .mainContents footer, .mainContents h1, .mainContents h2, .mainContents h3, .mainContents h4, .mainContents h5, .mainContents h6, .mainContents header, .mainContents html, .mainContents li, .mainContents nav, .mainContents ol, .mainContents p, .mainContents section, .mainContents ul {
    font-family: "Noto Sans JP", sans-serif;
  }
}

.mainContents {
  color: #572D2D;
  background-color: #F6E9D1;
  line-height: 1.7;
  font-size: 16px;
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .mainContents :where(p) {
    font-size: calc(16vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .mainContents :where(p) {
    font-size: calc(26 / 780 * 100vw);
  }
}
.mainContents img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
.mainContents :where(button) {
  -webkit-appearance: none;
  appearance: none;
  background: none;
  border: none;
  outline: none;
  margin: 0;
  padding: 0;
}
@media only screen and (min-width: 751px) {
  .mainContents :where(button) {
    cursor: pointer;
  }
}

.u-taL {
  text-align: left;
}

.u-taR {
  text-align: right;
}

.u-taC {
  text-align: center;
}

.u-sp {
  display: none !important;
}

.u-font-mincho {
  font-family: "YuMincho","游明朝体",serif;
}

.u-font-montserrat {
  font-family: "Montserrat", sans-serif;
}

@media screen and (max-width: 767px) {
  .u-sp {
    display: block !important;
  }

  .u-pc {
    display: none !important;
  }
}
.js-fade {
  opacity: 0;
  transition: opacity 1.5s;
}
.js-fade.is-active {
  opacity: 1;
}

/*-----------------
@Main
-----------------*/
.common_inner {
  margin: 0 auto;
}
@media only screen and (min-width: 751px) {
  .common_inner {
    max-width: 1066px;
    width: 95%;
    padding-bottom: 80px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .common_inner {
    padding-bottom: calc(80vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .common_inner {
    width: 87%;
    padding-bottom: calc(92 / 780 * 100vw);
  }
}

.common_titleBox {
  text-align: center;
}
@media only screen and (min-width: 751px) {
  .common_titleBox {
    padding-top: 67px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .common_titleBox {
    padding-top: calc(67vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .common_titleBox {
    padding-top: calc(75 / 780 * 100vw);
  }
}

.common_title {
  letter-spacing: 0.08em;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
}
@media only screen and (min-width: 751px) {
  .common_title {
    font-size: 50px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .common_title {
    font-size: calc(50vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .common_title {
    font-size: calc(60 / 780 * 100vw);
  }
}

.common_lead {
  font-weight: bold;
  text-align: center;
}
@media only screen and (max-width: 750px) {
  .common_lead {
    padding-top: calc(5 / 780 * 100vw);
    font-size: calc(26 / 780 * 100vw);
  }
}

@media only screen and (min-width: 751px) {
  .common_btn {
    width: 239px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .common_btn {
    width: calc(239vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .common_btn {
    width: calc(300 / 780 * 100vw);
  }
}
.common_btn a, .common_btn button {
  display: inline-block;
  width: 100%;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
}
@media only screen and (min-width: 751px) {
  .common_btn a, .common_btn button {
    font-size: 18px;
    border-radius: 50px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .common_btn a, .common_btn button {
    font-size: calc(18vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .common_btn a, .common_btn button {
    font-size: calc(22 / 780 * 100vw);
    border-radius: calc(50 / 780 * 100vw);
  }
}

.headerArea {
  width: 100%;
  background-color: #572D2D;
}
.page-history .headerArea {
  background-color: #F6E9D1;
}
@media only screen and (min-width: 751px) {
  .headerArea {
    height: 114px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .headerArea {
    height: calc(114vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .headerArea {
    height: calc(155 / 780 * 100vw);
  }
}

.headerArea_inner {
  position: relative;
}
@media only screen and (max-width: 750px) {
  .headerArea_inner {
    width: 87%;
    margin: 0 auto;
  }
}

.headerArea_logo {
  position: absolute;
  top: 0;
  z-index: 1;
}
@media only screen and (min-width: 751px) {
  .headerArea_logo {
    left: 100px;
    width: 193px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .headerArea_logo {
    left: calc(100vw / 11.4);
    width: calc(193vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .headerArea_logo {
    width: calc(200 / 780 * 100vw);
  }
}

.headerArea_btn {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  box-sizing: content-box;
}
@media only screen and (min-width: 751px) {
  .headerArea_btn {
    width: 60px;
    height: 12px;
    padding: 51px 27px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .headerArea_btn {
    width: calc(60vw / 11.4);
    height: calc(12vw / 11.4);
    padding: calc(51vw / 11.4) calc(27vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .headerArea_btn {
    width: calc(102 / 780 * 100vw);
    height: calc(20 / 780 * 100vw);
    padding: calc(66.5 / 780 * 100vw) 0 calc(66.5 / 780 * 100vw) calc(26.5 / 780 * 100vw);
  }
}

.headerArea_btn_lineBox {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}

.headerArea_btn_line {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #F6E9D1;
}
.page-history .headerArea_btn_line {
  background-color: #572D2D;
}
.is-active .headerArea_btn_line {
  background-color: #572D2D;
}
.headerArea_btn_line:first-child {
  top: 0;
  transition: background-color 0.5s,top 0.5s,transform 0.5s;
}
.is-active .headerArea_btn_line:first-child {
  transform: rotate(45deg);
}
@media only screen and (max-width: 750px) {
  .is-active .headerArea_btn_line:first-child {
    top: calc(5 / 780 * 100vw);
  }
}
.headerArea_btn_line:last-child {
  bottom: 0;
  transition: background-color 0.5s,top 0.5s,transform 0.5s;
}
.is-active .headerArea_btn_line:last-child {
  bottom: auto;
  transform: rotate(-45deg);
}
@media only screen and (max-width: 750px) {
  .is-active .headerArea_btn_line:last-child {
    top: calc(5 / 780 * 100vw);
  }
}

.navArea {
  display: grid;
  grid-template-rows: 0fr;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  overflow: hidden;
  background-color: #F6E9D1;
  transition: grid-template-rows 0.4s ease;
}
.navArea.is-active {
  grid-template-rows: 1fr;
}

.navArea_inner {
  min-height: 0;
  margin: 0 auto;
}
@media only screen and (min-width: 751px) {
  .navArea_inner {
    max-width: 1066px;
    width: 95%;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_inner {
    width: 87%;
  }
}

@media only screen and (min-width: 751px) {
  .navArea_list {
    padding: 50px 0;
    text-align: center;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .navArea_list {
    padding: calc(50vw / 11.4) 0;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_list {
    padding: calc(145 / 780 * 100vw) 0 calc(160 / 780 * 100vw);
  }
}

@media only screen and (min-width: 751px) {
  .navArea_item + .navArea_item {
    padding-top: 25px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .navArea_item + .navArea_item {
    padding-top: calc(25vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item + .navArea_item {
    padding-top: calc(60 / 780 * 100vw);
  }
}
@media only screen and (min-width: 751px) {
  .navArea_item a {
    transition: opacity 0.3s;
  }
  .navArea_item a:hover {
    opacity: 0.7;
  }
}

.navArea_item_title {
  letter-spacing: 0.08em;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 500;
}
@media only screen and (min-width: 751px) {
  .navArea_item_title {
    font-size: 30px;
    line-height: 1.1;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .navArea_item_title {
    font-size: calc(30vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_title {
    font-size: calc(60 / 780 * 100vw);
    line-height: 1.083;
  }
}

.navArea_item_txt {
  font-weight: bold;
}

@media only screen and (min-width: 751px) {
  .navArea_item_detail {
    padding-top: 20px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail {
    padding-top: calc(30 / 780 * 100vw);
  }
}

.navArea_item_detail_unit {
  position: relative;
}
@media only screen and (min-width: 751px) {
  .navArea_item_detail_unit {
    display: table;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 751px) {
  .navArea_item_detail_unit {
    padding-left: 17px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_unit {
    padding-left: calc(35 / 780 * 100vw);
  }
}
.navArea_item_detail_unit:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-style: solid;
  border-color: transparent transparent transparent #572D2D;
}
@media only screen and (min-width: 751px) {
  .navArea_item_detail_unit:before {
    border-width: 5px 0 5px 9px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_unit:before {
    border-width: calc(12 / 780 * 100vw) 0 calc(12 / 780 * 100vw) calc(20 / 780 * 100vw);
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_unit + .navArea_item_detail_unit {
    margin-top: calc(20 / 780 * 100vw);
  }
}
.navArea_item_detail_unit a {
  display: flex;
  align-items: center;
}
@media only screen and (min-width: 751px) {
  .navArea_item_detail_unit a {
    justify-content: center;
    gap: 10px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_unit a {
    gap: calc(10 / 780 * 100vw);
  }
}

.navArea_item_detail_title {
  letter-spacing: 0.08em;
  font-family: "Montserrat", sans-serif !important;
  font-weight: 600;
}
@media only screen and (min-width: 751px) {
  .navArea_item_detail_title {
    font-size: 25px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_title {
    font-size: calc(40 / 780 * 100vw);
    line-height: 1.125;
  }
}

.navArea_item_detail_txt {
  font-weight: bold;
}
@media only screen and (max-width: 750px) {
  .navArea_item_detail_txt {
    font-size: calc(24 / 780 * 100vw);
  }
}

.navArea_share {
  display: flex;
}
@media only screen and (min-width: 751px) {
  .navArea_share {
    justify-content: center;
    gap: 20px;
    padding-top: 20px;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_share {
    gap: calc(35 / 780 * 100vw);
    padding-top: calc(16 / 780 * 100vw);
  }
}

@media only screen and (min-width: 751px) {
  .navArea_share_item {
    flex-basis: 40px;
  }
  .navArea_share_item a {
    transition: opacity 0.3s;
  }
  .navArea_share_item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 750px) {
  .navArea_share_item {
    flex-basis: calc(60 / 780 * 100vw);
  }
}

.shareArea_list {
  display: flex;
  justify-content: center;
}
@media only screen and (min-width: 751px) {
  .shareArea_list {
    gap: 35px;
    padding-top: 40px;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .shareArea_list {
    gap: calc(35vw / 11.4);
    padding-top: calc(40vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .shareArea_list {
    gap: calc(43 / 780 * 100vw);
    padding-top: calc(38 / 780 * 100vw);
  }
}

@media only screen and (min-width: 751px) {
  .shareArea_item {
    flex-basis: 50px;
  }
  .shareArea_item a {
    transition: opacity 0.3s;
  }
  .shareArea_item a:hover {
    opacity: 0.7;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1140px) {
  .shareArea_item {
    flex-basis: calc(50vw / 11.4);
  }
}
@media only screen and (max-width: 750px) {
  .shareArea_item {
    flex-basis: calc(80 / 780 * 100vw);
  }
}
