@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 100%;
  overflow-x: hidden;
  font-weight: 400;
  background: #ffffff;
  color: #565656;
}

body.navOn {
  width: 100%;
  height: 100%;
}

body * {
  letter-spacing: 0.08em;
  line-height: 190%;
}

#mainContent {
  max-width: 100%;
  overflow-x: hidden;
  overflow-y: clip;
}

a {
  color: #565656;
}
.commonWidth {
  margin: 0 auto;
}

.wrapWidth {
  margin: 0 auto;
}

.inWidth {
  margin: 0 auto;
}

.noLink {
  opacity: 0.5;
  pointer-events: none;
  cursor: inherit;
}

.errorText {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .commonWidth {
    width: min(88vw, 400px);
  }
  .wrapWidth {
    width: 94vw;
  }
  .commonWidthSp {
    width: min(88vw, 400px);
    margin: 0 auto;
  }
  .inWidth {
    width: min(88vw, 400px);
  }
  #pageContent {
    padding-top: 120px;
  }
  .contentArea {
    padding-bottom: 48px;
  }
  .errorText {
    font-size: clamp(14px, 4.1vw, 16px);
  }
}
@media print, screen and (min-width: 768px) {
  .commonWidth {
    width: min(90vw, 1200px);
  }
  .wrapWidth {
    width: min(94vw, 1340px);
  }
  .commonWidthPc {
    width: min(90vw, 1200px);
    margin: 0 auto;
  }
  .inWidth {
    width: min(86vw, 885px);
  }
  #pageContent {
    padding-top: 180px;
  }
  .contentArea {
    padding-bottom: 82px;
    min-height: calc(100vh - 852px);
  }
  .errorText {
    font-size: clamp(14px, 1.67vw, 20px);
  }
}
.commonTitleArea .titleJp {
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 0.2em;
}
.commonTitleArea .titleEn {
  font-family: "Lato", sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
}

.commonBtn {
  width: 100%;
  display: block;
  text-align: center;
  padding: 0px 0;
  border-radius: 50px;
  transition: color 0.4s, background-color 0.4s;
  font-size: 13px;
  cursor: pointer;
}
.commonBtn.white {
  border: solid 1px #CACACA;
  color: #565656;
  background: #ffffff;
}
.commonBtn.white:hover {
  color: #ffffff;
  background: #565656;
}

@media only screen and (max-width: 767px) {
  .commonTitleArea {
    padding: 0 0 56px 0;
  }
  .commonTitleArea .titleJp {
    padding: 0 0 3px 0;
    font-size: clamp(14px, 6.15vw, 24px);
  }
}
@media print, screen and (min-width: 768px) {
  .commonTitleArea {
    padding: 0 0 26px 0;
  }
  .commonTitleArea .titleJp {
    padding: 0 0 3px 0;
    font-size: 24px;
  }
}
.secTitle {
  font-family: "Shippori Mincho B1", serif;
  font-size: 20px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #565656;
  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .secTitle {
    padding-bottom: 20px;
  }
}
.commonColWrap {
  display: flex;
  margin: 0 auto;
  border-top: solid 1px #cacaca;
}
.commonColWrap .commonColSide {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  z-index: 8;
}
.commonColWrap .commonColSide .slideLink {
  color: #8E8E8E;
  position: relative;
  font-family: "Shippori Mincho B1", serif;
  font-size: 12px;
  color: #bcbcbc;
}
.commonColWrap .commonColSide .slideLink.current {
  color: #565656;
}
@media only screen and (max-width: 767px) {
  .commonColWrap {
    row-gap: 40px;
    padding: 60px 0 0 0;
    flex-direction: column;
    width: min(88vw, 400px);
  }
  .commonColWrap .commonColSide {
    position: fixed;
    right: 0;
    width: min(90%, 300px);
    background: #ffffff;
    box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
    row-gap: clamp(4px, 1.4vh, 12px);
    padding: 16px 24px 72px 20px;
    transition: opacity 0.5s, bottom 0.5s;
    opacity: 0;
    bottom: -500px;
  }
  .commonColWrap .commonColSide.on {
    opacity: 1;
    bottom: 0;
  }
  .commonColWrap .commonColSide .slideLink {
    font-size: 13px;
  }
}
@media print, screen and (min-width: 768px) {
  .commonColWrap {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 110px 0 0 0;
    position: relative;
    width: min(90vw, 1200px);
  }
  .commonColWrap .commonColSide {
    width: calc(min(100vw, 1200px) * 0.22);
    position: absolute;
    top: 110px;
    left: 0;
    row-gap: clamp(8px, 2.22vh, 20px);
  }
  .commonColWrap .commonColSide .slideLink {
    font-size: 12px;
  }
  .commonColWrap .commonColSide.fix {
    position: fixed;
    left: calc((100% - min(90vw, 1200px)) / 2);
  }
  .commonColWrap .commonColSide.end {
    position: absolute;
    bottom: 0px;
    top: unset;
  }
  .commonColWrap .commonColMain {
    width: 75%;
  }
}
.secHeader {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  transition: height 0.5s;
  z-index: 50;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(5px);
}
.secHeader .secHeaderIn .leftCol .leftLink {
  color: #8E8E8E;
  position: relative;
}
.secHeader .secHeaderIn .leftCol .leftLink:after {
  position: absolute;
  content: "";
  display: block;
  width: 0%;
  height: 1px;
  background: rgba(142, 142, 142, 0.4);
  transition: 0.3s;
  margin: auto;
  left: 0;
  right: 0;
}
.secHeader .secHeaderIn .leftCol .leftLink:hover {
  opacity: 1;
}
.secHeader .secHeaderIn .leftCol .leftLink:hover:after {
  width: 100%;
  transition: 0.3s;
}
.secHeader .secHeaderIn .rightCol .rightLink {
  color: #8E8E8E;
  border-right: solid 1px #CACACA;
  position: relative;
}
.secHeader .secHeaderIn .rightCol .rightLink:after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 0%;
  height: 1px;
  background: rgba(142, 142, 142, 0.4);
  transition: 0.3s;
  margin: auto;
  bottom: -4px;
  left: 0;
  right: 0;
}
.secHeader .secHeaderIn .rightCol .rightLink:hover {
  opacity: 1;
}
.secHeader .secHeaderIn .rightCol .rightLink:hover:after {
  width: 40%;
  transition: 0.3s;
}
.secHeader .secHeaderIn .rightCol .rightLink:last-of-type {
  border-right: none;
}
@media only screen and (max-width: 1399px) {
  .secHeader {
    padding: 16px 0;
    border-bottom: solid 1px rgba(255, 255, 255, 0.4);
  }
  .secHeader .secHeaderIn .leftCol {
    display: none;
  }
  .secHeader .secHeaderIn .centerCol {
    margin: 0 auto;
    width: 49px;
  }
  .secHeader .secHeaderIn .rightCol {
    display: none;
  }
}
@media print, screen and (min-width: 1400px) {
  .secHeader {
    padding: 24px 0;
  }
  .secHeader .secHeaderIn {
    margin-left: min(3.8vw, 46px);
    margin-right: 100px;
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: center;
  }
  .secHeader .secHeaderIn .leftCol {
    display: flex;
    -moz-column-gap: min(1.5vw, 18px);
         column-gap: min(1.5vw, 18px);
  }
  .secHeader .secHeaderIn .leftCol .leftLink {
    font-size: 13px;
  }
  .secHeader .secHeaderIn .centerCol {
    position: absolute;
    width: 62px;
    left: 50%;
  }
  .secHeader .secHeaderIn .rightCol {
    display: flex;
    justify-content: flex-end;
    align-items: center;
  }
  .secHeader .secHeaderIn .rightCol .rightLink {
    font-size: 13px;
    line-height: 130%;
    padding: 0 min(2.75vw, 33px);
  }
  .secHeader.under {
    height: 65px;
    border-bottom: solid 1px #8E8E8E;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1080px) {
  .secHeader .secHeaderIn .linkArea .linkList {
    display: none;
  }
}
.pnkzArea * {
  color: #8E8E8E;
}
.pnkzArea a.pnkzList {
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .pnkzArea {
    font-size: 8px;
    padding: 10px 0 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .pnkzArea {
    font-size: 8px;
    padding: 6px 0 0 0;
  }
}
body.navOn .menuButtonArea .menuTrigger span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
body.navOn .menuButtonArea .menuTrigger span:nth-of-type(2) {
  opacity: 0;
}
body.navOn .menuButtonArea .menuTrigger span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.secFooterWrap {
  position: relative;
  background: #ffffff;
}

.secBottomContact {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.secBottomContact .linkArea {
  display: flex;
}
.secBottomContact .linkArea .linkBtn {
  border: solid 1px #ffffff;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-right: 1em;
  transition: background-color 0.4s, color;
  color: #ffffff;
}
.secBottomContact .linkArea .linkBtn:hover {
  background: #ffffff;
  color: #565656;
}
.secBottomContact .contactArea {
  color: #ffffff;
  text-align: center;
}
.secBottomContact .contactArea .telRow .tel {
  color: #ffffff;
  font-family: "Lato", sans-serif;
}
.prevTop {
  position: relative;
  margin-top: 40px;
  margin-left: auto;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  transition: 0.3s;
}
.prevTop .prevTopbtn {
  display: block;
  margin: auto;
  width: 14px;
  height: 14px;
  border-top: 1px solid #565656;
  border-left: 1px solid #565656;
  transform: rotate(45deg);
  transition: 0.3s;
  position: relative;
  bottom: 0px;
}
.prevTop:hover .prevTopbtn {
  position: relative;
  bottom: 4px;
  transition: 0.3s;
}

@media only screen and (max-width: 767px) {
  .secBottomContact {
    padding: 98px 0 98px 0;
    background-image: url(../images/bottom_contact_bg_sp.jpg);
  }
  .secBottomContact .linkArea {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 12px;
    padding: 0px 0 24px 0;
  }
  .secBottomContact .linkArea .linkBtn {
    width: 200px;
    height: 41px;
    font-size: 13px;
  }
  .secBottomContact .contactArea .headRow {
    font-size: 12px;
    padding: 0 0 4px 0;
  }
  .secBottomContact .contactArea .telRow .tel {
    font-size: clamp(14px, 5.9vw, 23px);
  }
  .secBottomContact .contactArea .timeRow {
    padding: 12px 0 0 0;
    font-size: 12px;
  }
}
@media print, screen and (min-width: 768px) {
  .secBottomContact {
    padding: 92px 0 72px 0;
    background-image: url(../images/bottom_contact_bg_pc.jpg);
  }
  .secBottomContact .linkArea {
    display: flex;
    justify-content: center;
    -moz-column-gap: 26px;
         column-gap: 26px;
    padding: 0px 0 44px 0;
  }
  .secBottomContact .linkArea .linkBtn {
    width: 200px;
    height: 41px;
    font-size: 13px;
  }
  .secBottomContact .contactArea .headRow {
    font-size: 13px;
    padding: 0 0 4px 0;
  }
  .secBottomContact .contactArea .telRow .tel {
    font-size: 25px;
  }
  .secBottomContact .contactArea .timeRow {
    padding: 12px 0 0 0;
    font-size: 12px;
  }
}
.secFooter .secFooterIn .infoArea .corpName {
  font-weight: bold;
}
.secFooter .secFooterIn .infoArea .infoList .infoItem {
  color: #8E8E8E;
  display: flex;
}
.secFooter .secFooterIn .linkArea .linkListWrap .linkCol .link.child {
  color: #8E8E8E;
}

@media only screen and (max-width: 767px) {
  .secFooter {
    padding: 54px 0 90px 0;
  }
  .secFooter .secFooterIn .infoArea {
    width: min(100%, 260px);
    margin: 0 auto;
  }
  .secFooter .secFooterIn .infoArea .logo {
    text-align: center;
  }
  .secFooter .secFooterIn .infoArea .corpName {
    padding: 18px 0 6px 0;
    font-size: 13px;
    text-align: center;
  }
  .secFooter .secFooterIn .infoArea .caption {
    padding: 0 0 14px 0;
    font-size: 13px;
    text-align: center;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem {
    font-size: 12px;
    padding: 3px 0;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem .infoHead {
    width: 56px;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem .infoContent {
    width: calc(100% - 56px);
  }
  .secFooter .secFooterIn .linkArea {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  .secFooter {
    padding: 60px 0 40px 0;
  }
  .secFooter .secFooterIn {
    display: flex;
    justify-content: space-between;
  }
  .secFooter .secFooterIn .infoArea {
    width: 270px;
  }
  .secFooter .secFooterIn .infoArea .corpName {
    padding: 20px 0 8px 0;
    font-size: 13px;
  }
  .secFooter .secFooterIn .infoArea .caption {
    padding: 0 0 14px 0;
    font-size: 13px;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem {
    font-size: 12px;
    padding: 2px 0;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem .infoHead {
    width: 47px;
  }
  .secFooter .secFooterIn .infoArea .infoList .infoItem .infoContent {
    width: calc(100% - 47px);
  }
  .secFooter .secFooterIn .linkArea {
    width: calc(100% - 270px);
  }
  .secFooter .secFooterIn .linkArea .linkListWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    -moz-column-gap: min(3.2vw, 38px);
         column-gap: min(3.2vw, 38px);
    row-gap: 40px;
  }
  .secFooter .secFooterIn .linkArea .linkListWrap .linkCol {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    font-size: 12px;
    -moz-column-gap: 4px;
         column-gap: 4px;
  }
  .secFooter .secFooterIn .linkArea .linkListWrap .linkCol .link {
    padding: 2px 0;
  }
  .secFooter .secFooterIn .linkArea .linkListWrap .linkCol.textRight {
    align-items: flex-end;
  }
}
.secCopyright {
  border-top: solid 1px #7e7e7e;
}
.secCopyright .secCopyrightIn .textCol {
  font-size: 11px;
}
.secCopyright .secCopyrightIn .linkCol {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 13px;
       column-gap: 13px;
}
@media only screen and (max-width: 767px) {
  .secCopyright {
    padding: 12px 0;
  }
  .secCopyright .secCopyrightIn {
    position: relative;
  }
  .secCopyright .secCopyrightIn .textCol {
    text-align: center;
  }
  .secCopyright .secCopyrightIn .linkCol {
    position: absolute;
    left: 0;
    top: -62px;
  }
}
@media print, screen and (min-width: 768px) {
  .secCopyright {
    padding: 24px 0;
  }
  .secCopyright .secCopyrightIn {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.commonCategorySearch .catLink {
  color: #8E8E8E;
  font-size: 12px;
}
.commonCategorySearch .catLink.select {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .commonCategorySearch {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    row-gap: 8px;
  }
}
@media print, screen and (min-width: 768px) {
  .commonCategorySearch {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .commonCategorySearch .catLink {
    padding: 0 16px;
    border-right: solid 1px #CACACA;
    line-height: 110%;
  }
  .commonCategorySearch .catLink:last-of-type {
    border-right: none;
  }
}
.commonBottomLink {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  margin: 0 auto;
}
.commonBottomLink * {
  color: #8E8E8E;
}
.commonBottomLink .newCol {
  min-width: 40px;
}
.commonBottomLink .oldCol {
  min-width: 40px;
}

@media only screen and (max-width: 767px) {
  .commonBottomLink {
    padding: 0 0 64px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .commonBottomLink {
    padding: 0 0 120px 0;
    width: min(100%, 890px);
  }
}
.secCommonOther {
  background: #F8F8F8;
  margin: 0 auto;
}
.secCommonOther .otherTitle {
  text-align: center;
  font-size: 13px;
  color: #707070;
}
.secCommonOther .otherList {
  display: flex;
  justify-content: center;
  align-items: center;
}
.secCommonOther .otherList .otherItem .otherImg {
  overflow: hidden;
  aspect-ratio: 1/1;
}
.secCommonOther .otherList .otherItem .otherImg img {
  transition: 0.4s;
  aspect-ratio: 1/1;
  display: block;
  overflow: hidden;
}
.secCommonOther .otherList .otherItem .otherText {
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
}
.secCommonOther .otherList .otherItem:hover {
  opacity: 1;
}
.secCommonOther .otherList .otherItem:hover .otherImg img {
  transition: 0.4s;
  opacity: 1;
  transform: scale(110%);
}

@media only screen and (max-width: 767px) {
  .secCommonOther {
    padding: 46px 0 56px 0;
  }
  .secCommonOther .otherTitle {
    padding-bottom: 14px;
  }
  .secCommonOther .otherList {
    width: min(96%, 370px);
    margin: 0 auto;
    justify-content: space-between;
  }
  .secCommonOther .otherList .otherItem {
    width: 32.43%;
  }
  .secCommonOther .otherList .otherItem .otherText {
    font-size: clamp(14px, 4.1vw, 16px);
    padding: 9px 0 0 0;
    letter-spacing: 0em;
  }
}
@media print, screen and (min-width: 768px) {
  .secCommonOther {
    width: min(90vw, 1200px);
    padding: 60px 0 50px 0;
  }
  .secCommonOther .otherTitle {
    padding-bottom: 32px;
  }
  .secCommonOther .otherList {
    -moz-column-gap: 38px;
         column-gap: 38px;
  }
  .secCommonOther .otherList .otherItem .otherText {
    font-size: clamp(14px, 1.33vw, 16px);
    padding: 8px 0 0 0;
  }
}
@media only screen and (max-width: 767px) {
  .sideMenuContents {
    display: none;
  }
  .sideMenuContents.active {
    display: block;
  }
  .sideMenuContents {
    position: fixed;
    z-index: 9;
    right: 10px;
    bottom: 30px;
    width: 150px;
    height: 32px;
  }
  .sideMenuContents .contentsIn {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .sideMenuContents .contentsIn .openBtn {
    cursor: pointer;
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(243, 243, 243, 0.9);
    opacity: 1;
    font-size: 13px;
    transition: opacity 0.5s;
    -moz-column-gap: 10px;
         column-gap: 10px;
  }
  .sideMenuContents .contentsIn .openBtn .icon {
    background: url(../images/icon_plus_red.svg) center center no-repeat;
    background-size: contain;
    width: 13px;
    height: 13px;
  }
  .sideMenuContents.on .contentsIn .openBtn .icon {
    background-image: url(../images/icon_minus_red.svg);
  }
}
@media print, screen and (min-width: 768px) {
  .sideMenuContents {
    display: none;
  }
}
.commonNoneData {
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .commonNoneData {
    font-size: 13px;
    padding: 80px 0 120px 0;
  }
}
@media print, screen and (min-width: 768px) {
  .commonNoneData {
    font-size: 13px;
    padding: 80px 0 120px 0;
  }
}
/* 背景スクロール固定用クラス */
body.modal-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

.featherlight-close-icon {
  display: none;
}

.featherlight .featherlight-content {
  background: transparent;
  overflow-y: hidden;
  padding: 0;
  border-bottom: none;
}

.modalBox {
  display: none;
  margin: auto;
  overflow: hidden;
  background: transparent;
}
.modalBox .modalInner {
  height: calc(100% - 60px);
  display: flex;
  flex-direction: column;
}
.modalBox .modalClose {
  margin: 19px 0 0 0;
  cursor: pointer;
}
.modalBox .modalClose .closeBtn {
  cursor: pointer;
  background: #565656;
  border-radius: 3px;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 157px;
  height: 41px;
  -moz-column-gap: 8px;
       column-gap: 8px;
  margin: 0 auto;
}
.modalBox .modalClose .closeBtn .icon {
  background: url(../images/icon_close_white.svg) center center no-repeat;
  width: 8px;
  height: 8px;
}
.modalBox .modalClose .closeBtn .text {
  font-size: 12px;
}

@media only screen and (max-width: 767px) {
  .modalBox {
    width: min(94vw, 100vw - 70px);
    height: -moz-fit-content;
    height: fit-content;
    max-height: calc(100vh - 60px);
  }
  .featherlight .modalBox {
    overflow-y: scroll;
    max-height: 90vh;
    max-height: calc(100svh - 10vh);
  }
}
@media print, screen and (min-width: 768px) {
  .modalBox {
    width: min(90vw, 1150px);
    height: min(86vh, 1200px);
  }
}
@keyframes showTextFromBottom {
  0% {
    transform: translateY(100%);
    transform: rotate(45deg);
    font-size: 5px;
    opacity: 0;
  }
  70% {
    opacity: 0.6;
  }
  100% {
    transform: translateY(0px);
    transform: rotate(0deg);
    font-size: 11px;
    opacity: 1;
  }
}
.anime-up.displayed span {
  animation: showText 0s backwards;
  display: inline-block;
}

.anime-up.displayed > span {
  overflow: hidden;
}

.anime-up.displayed > span > span {
  animation: showTextFromBottom 0.5s backwards;
}

/*---------------------------------------------
汎用ボタン
---------------------------------------------*/
.btnRound {
  font-size: 13px;
  padding: 0px 30px;
  line-height: 1.9em;
  border: 1px solid #cacaca;
  border-radius: 40px;
  color: #565656;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  cursor: pointer;
  transition: 0.3s;
}
.btnRound::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: #565656;
  transition: 0.3s;
}
.btnRound:hover {
  opacity: 1;
  border: 1px solid #565656;
  background: #565656 !important;
  color: #ffffff;
  transition: 0.3s;
}
.btnRound:hover::before {
  background: #ffffff;
  transition: 0.3s;
}
.btnRound.btnReserve {
  background-color: #707070;
  color: #ffffff;
}
.btnRound.btnReserve::before {
  background: #ffffff;
}
.btnRound.btnReserve:hover {
  background-color: #999999;
}
.btnRound.btnReserve.nohover {
  pointer-events: none;
  background-color: #d7d7d7;
  color: #565656;
}
.btnRound.btnReserve.nohover:before {
  background-color: #565656;
}
.btnRound.btnReserve.nohover:hover {
  background-color: #707070;
}

.comCalendarArea .underline {
  text-decoration: underline !important;
  text-underline-offset: 4px;
}
.comCalendarArea .description {
  font-size: 13px !important;
  font-family: "Shippori Mincho B1", serif !important;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.comCalendarArea #booking-package_calendarPage .dateField {
  padding: 5px 0 0 !important;
}
.comCalendarArea .selectable_time_slot {
  font-family: "Shippori Mincho B1", serif;
}
.comCalendarArea .selectable_time_slot.closed {
  background: #f2f2f2 !important;
}
.comCalendarArea .selectable_day_slot.closed {
  background: #f2f2f2 !important;
}
.comCalendarArea .selectable_day_slot.selected_day_slot {
  background-color: #edf3ff !important;
}
.comCalendarArea .selectable_time_slot,
.comCalendarArea .selectable_day_slot {
  font-family: "Shippori Mincho B1", serif;
}
.comCalendarArea .selectable_time_slot .timeSlot,
.comCalendarArea .selectable_day_slot .timeSlot {
  white-space: nowrap;
}
.comCalendarArea .selectable_time_slot *,
.comCalendarArea .selectable_day_slot * {
  font-size: 14px;
}
.comCalendarArea .title_in_form {
  font-size: 18px !important;
}
.comCalendarArea .row .radio_title {
  font-family: "Shippori Mincho B1", serif;
}
.comCalendarArea .row .name {
  font-family: "Shippori Mincho B1", serif;
  font-size: 16px;
}
.comCalendarArea .row ::-moz-placeholder {
  color: #bababa;
}
.comCalendarArea .row ::placeholder {
  color: #bababa;
}
.comCalendarArea .row {
  /* 旧Edge対応 */
}
.comCalendarArea .row ::-ms-input-placeholder {
  color: #bababa;
}
.comCalendarArea .row {
  /* IE対応 */
}
.comCalendarArea .row :-ms-input-placeholder {
  color: #bababa;
}
.comCalendarArea .row input,
.comCalendarArea .row textarea {
  border-radius: 4px;
  padding: 8px 14px !important;
  font-size: 13px !important;
  background: #f2f2f2;
  border: initial !important;
}
.comCalendarArea .row textarea {
  height: 100px !important;
}
.comCalendarArea #booking-package_schedulePage .selectedDate {
  font-size: 18px;
}
.comCalendarArea .book_now_button {
  margin: 10px auto !important;
  width: 200px !important;
  font-size: 13px !important;
  padding: 0px 30px;
  line-height: 200%;
  border: 1px solid #cacaca;
  border-radius: 40px;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  cursor: pointer;
  background-color: #707070;
}
.comCalendarArea .book_now_button::before {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 2px;
  color: #ffffff;
  background-color: #ffffff;
  transition: 0.3s;
}
.comCalendarArea .book_now_button:hover {
  opacity: 1;
  border: 1px solid #565656;
  background: #565656;
  color: #ffffff;
  transition: 0.3s;
}
.comCalendarArea .book_now_button:hover::before {
  background: #ffffff;
  transition: 0.3s;
}
.comCalendarArea .return_form_button,
.comCalendarArea #bottomPanel > button {
  font-size: 13px !important;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  text-underline-offset: 5px;
  margin: auto;
}
.comCalendarArea #bottomPanel > button {
  margin: 20px auto 0;
}

@media screen and (max-width: 767px) {
  .comCalendarArea {
    padding: 25px;
  }
  .comCalendarArea .calendarData {
    font-size: clamp(14px, 4.62vw, 18px);
  }
}
.comPrivacy {
  display: flex;
  align-content: center;
  justify-content: center;
  color: #8E8E8E;
  font-size: 13px;
  gap: 20px;
  margin-top: 20px;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
}
.modal-overlay .modal-wrap {
  display: grid;
  grid-template-rows: max-content max-content;
  align-items: center;
  gap: 0px;
  justify-content: center;
  margin: auto;
}
.modal-overlay .modal-wrap .modal-footer {
  padding: 0;
}
.modal-overlay .modal-wrap .modal-footer .modal-close-btn {
  display: block;
  margin: 30px auto 0;
  background-color: #565656;
  color: #ffffff;
  border: none;
  cursor: pointer;
  transition: opacity 0.3s;
  padding: 8px 50px;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.9em;
}
.modal-overlay .modal-container {
  position: relative;
  background-color: #fff;
  width: 90%;
  max-width: 1150px;
  max-height: 440px;
  display: flex;
  flex-direction: column;
  margin: auto;
}
.modal-overlay .modal-header {
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  text-align: center;
  flex-shrink: 0;
}
.modal-overlay .modal-header .modal-title {
  margin: 0;
  font-size: 16px;
  color: #666;
  letter-spacing: 0.2em;
}
.modal-overlay .scroll-arrow {
  position: absolute;
  font-size: 7px;
  color: #d9d9d9;
  pointer-events: none;
  z-index: 20;
  right: 11px;
}
.modal-overlay .scroll-arrow--up {
  top: 64px;
}
.modal-overlay .scroll-arrow--down {
  bottom: 8px;
}
.modal-overlay .modal-content {
  padding: 20px 60px;
  margin: 20px 12px;
  overflow-y: auto;
  flex-grow: 1;
}
.modal-overlay .modal-content::-webkit-scrollbar {
  width: 7px;
}
.modal-overlay .modal-content::-webkit-scrollbar-track {
  background: transparent;
}
.modal-overlay .modal-content::-webkit-scrollbar-thumb {
  background: #d9d9d9;
  border-radius: 0;
}
.modal-overlay .modal-content p {
  margin: 0;
  line-height: 1.9;
  font-size: 13px;
  color: #707070;
}
.modal-overlay .modal-content .mt-medium {
  margin-top: 1.5em;
}
.modal-overlay .modal-content .mt-large {
  margin-top: 2.5em;
}
.modal-overlay .modal-footer {
  padding: 0px 0 25px;
  display: flex;
  justify-content: center;
  flex-shrink: 0;
}
.modal-overlay .modal-footer .modal-close-btn {
  margin: auto;
  width: 53px;
  border-bottom: 1px solid rgba(112, 112, 112, 0.4);
  color: #565656;
  padding-bottom: 8px;
  font-size: 12px;
  cursor: pointer;
  display: flex;
  justify-content: center;
  transition: opacity 0.2s;
  line-height: 1;
}
.modal-overlay .modal-footer .modal-close-btn:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .modal-overlay .modal-content {
    padding: 0px 10px;
    margin: 20px 12px;
  }
  .modal-overlay .scroll-arrow {
    right: 12px;
  }
  .modal-overlay .scroll-arrow--down {
    bottom: 8px;
  }
}
.secReco .recoTitle {
  color: #707070;
  border-bottom: solid 1px #CACACA;
}
.secReco .recoListArea .listItem .itemIn {
  display: block;
}
.secReco .recoListArea .listItem .itemIn .imgRow {
  overflow: hidden;
  width: 100%;
  height: 100%;
  aspect-ratio: 260/230;
}
.secReco .recoListArea .listItem .itemIn .imgRow img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
.secReco .recoListArea .listItem .itemIn .categoryRow {
  display: none;
}
.secReco .recoListArea .listItem .itemIn .titleRow {
  font-family: "Shippori Mincho B1", serif;
}

@media only screen and (max-width: 767px) {
  .secReco {
    padding: 0 0 62px 0;
  }
  .secReco .recoTitle {
    font-size: 13px;
    padding: 0 0 3px 0;
  }
  .secReco .recoListArea {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 6%;
         column-gap: 6%;
    row-gap: 24px;
    padding: 35px 0 0 0;
  }
  .secReco .recoListArea .listItem {
    width: 47%;
  }
  .secReco .recoListArea .listItem .itemIn .titleRow {
    font-size: 14px;
    padding: 8px 0 0 0;
  }
}
@media print, screen and (min-width: 768px) {
  .secReco {
    padding: 0 0 156px 0;
  }
  .secReco .recoTitle {
    font-size: 13px;
    padding: 0 0 3px 0;
  }
  .secReco .recoListArea {
    display: flex;
    -moz-column-gap: 4%;
         column-gap: 4%;
    padding: 30px 0 0 0;
  }
  .secReco .recoListArea .listItem {
    width: 22%;
  }
  .secReco .recoListArea .listItem .itemIn .titleRow {
    font-size: clamp(14px, 1.33vw, 16px);
    padding: 8px 0 0 0;
  }
}
.btnUnder {
  font-size: 13px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  width: 242px;
  position: relative;
}
.btnUnder:after {
  content: "";
  position: absolute;
  margin: auto;
  left: 0;
  right: 0;
  bottom: 0;
  width: 32px;
  height: 1px;
  background: #565656;
}

@media only screen and (max-width: 767px) {
  .btnUnder {
    margin-top: 24px;
  }
}/*# sourceMappingURL=common.css.map */