@charset "utf-8";

/*--------------------------------------------------------------------
  font
--------------------------------------------------------------------*/

.textVertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

.textShadow01 {
  text-shadow: 0 0 10px #000;
}

.textShadow02 {
  text-shadow: 0 0 10px #FFF;
}

@media screen and (min-width: 1251px) {
  .textShadowVisual01 {
    color: #000;
    text-shadow: 0 0 10px #FFF, 0 0 10px #FFF, 0 0 10px #FFF, 0 0 10px #FFF, 0 0 10px #FFF;
  }
}

@media screen and (max-width: 1250px) {
  .textShadowVisual01 {
    color: #FFF;
    text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000, 0 0 10px #000, 0 0 10px #000;
  }
}

/*--------------------------------------------------------------------
  font color
--------------------------------------------------------------------*/

.fcWhite {
  color: #FFF;
}

.fcWhite a { text-decoration: none; color: #FFF; }
.fcWhite a:link { text-decoration: none; color: #FFF; }
.fcWhite a:visited { text-decoration: none; color: #FFF; }
.fcWhite a:hover { text-decoration: underline; color: #FFF; }
.fcWhite a:active { text-decoration: underline; color: #FFF; }

.fcBlack { color: #333; }
.fcBlack a { text-decoration: none; color: #333; }
.fcBlack a:link { text-decoration: none; color: #333; }
.fcBlack a:visited { text-decoration: none; color: #333; }
.fcBlack a:hover { text-decoration: underline; color: #333; }
.fcBlack a:active { text-decoration: underline; color: #333; }

.fcGray01 { color: #999; }
.fcGray01 a { text-decoration: none; color: #999; }
.fcGray01 a:link { text-decoration: none; color: #999; }
.fcGray01 a:visited { text-decoration: none; color: #999; }
.fcGray01 a:hover { text-decoration: underline; color: #999; }
.fcGray01 a:active { text-decoration: underline; color: #999; }

.fcGray02 { color: #646464; }
.fcGray02 a { text-decoration: none; color: #646464; }
.fcGray02 a:link { text-decoration: none; color: #646464; }
.fcGray02 a:visited { text-decoration: none; color: #646464; }
.fcGray02 a:hover { text-decoration: underline; color: #646464; }
.fcGray02 a:active { text-decoration: underline; color: #646464; }

.fcRed01 { color: #952336; }
.fcRed01 a { text-decoration: none; color: #952336; }
.fcRed01 a:link { text-decoration: none; color: #952336; }
.fcRed01 a:visited { text-decoration: none; color: #952336; }
.fcRed01 a:hover { text-decoration: underline; color: #952336; }
.fcRed01 a:active { text-decoration: underline; color: #952336; }

.fcRed02 { color: #b34956; }
.fcRed02 a { text-decoration: none; color: #b34956; }
.fcRed02 a:link { text-decoration: none; color: #b34956; }
.fcRed02 a:visited { text-decoration: none; color: #b34956; }
.fcRed02 a:hover { text-decoration: underline; color: #b34956; }
.fcRed02 a:active { text-decoration: underline; color: #b34956; }

.fcDarkRed01 { color: #ad7326; }
.fcDarkRed01 a { text-decoration: none; color: #ad7326; }
.fcDarkRed01 a:link { text-decoration: none; color: #ad7326; }
.fcDarkRed01 a:visited { text-decoration: none; color: #ad7326; }
.fcDarkRed01 a:hover { text-decoration: underline; color: #ad7326; }
.fcDarkRed01 a:active { text-decoration: underline; color: #ad7326; }

.fcOrange01 { color: #e49412; }
.fcOrange01 a { text-decoration: none; color: #e49412; }
.fcOrange01 a:link { text-decoration: none; color: #e49412; }
.fcOrange01 a:visited { text-decoration: none; color: #e49412; }
.fcOrange01 a:hover { text-decoration: underline; color: #e49412; }
.fcOrange01 a:active { text-decoration: underline; color: #e49412; }

.fcYellow01 { color: #6E520F; }
.fcYellow01 a { text-decoration: none; color: #6E520F; }
.fcYellow01 a:link { text-decoration: none; color: #6E520F; }
.fcYellow01 a:visited { text-decoration: none; color: #6E520F; }
.fcYellow01 a:hover { text-decoration: underline; color: #6E520F; }
.fcYellow01 a:active { text-decoration: underline; color: #6E520F; }

.fcBrown01 { color: #fff3c4; }
.fcBrown01 a { text-decoration: none; color: #fff3c4; }
.fcBrown01 a:link { text-decoration: none; color: #fff3c4; }
.fcBrown01 a:visited { text-decoration: none; color: #fff3c4; }
.fcBrown01 a:hover { text-decoration: underline; color: #fff3c4; }
.fcBrown01 a:active { text-decoration: underline; color: #fff3c4; }

.fcBrown02 { color: #4a2512; }
.fcBrown02 a { text-decoration: none; color: #4a2512; }
.fcBrown02 a:link { text-decoration: none; color: #4a2512; }
.fcBrown02 a:visited { text-decoration: none; color: #4a2512; }
.fcBrown02 a:hover { text-decoration: underline; color: #4a2512; }
.fcBrown02 a:active { text-decoration: underline; color: #4a2512; }

.fcGreen01 { color: #53AF80; }
.fcGreen01 a { text-decoration: none; color: #53AF80; }
.fcGreen01 a:link { text-decoration: none; color: #53AF80; }
.fcGreen01 a:visited { text-decoration: none; color: #53AF80; }
.fcGreen01 a:hover { text-decoration: underline; color: #53AF80; }
.fcGreen01 a:active { text-decoration: underline; color: #53AF80; }

.fcGreen02 { color: #96CA8C; }
.fcGreen02 a { text-decoration: none; color: #96CA8C; }
.fcGreen02 a:link { text-decoration: none; color: #96CA8C; }
.fcGreen02 a:visited { text-decoration: none; color: #96CA8C; }
.fcGreen02 a:hover { text-decoration: underline; color: #96CA8C; }
.fcGreen02 a:active { text-decoration: underline; color: #96CA8C; }

.fcBlue01 { color: #6ec0e5; }
.fcBlue01 a { text-decoration: none; color: #6ec0e5; }
.fcBlue01 a:link { text-decoration: none; color: #6ec0e5; }
.fcBlue01 a:visited { text-decoration: none; color: #6ec0e5; }
.fcBlue01 a:hover { text-decoration: underline; color: #6ec0e5; }
.fcBlue01 a:active { text-decoration: underline; color: #6ec0e5; }

.fcNavy01 { color: #33405a; }
.fcNavy01 a { text-decoration: none; color: #33405a; }
.fcNavy01 a:link { text-decoration: none; color: #33405a; }
.fcNavy01 a:visited { text-decoration: none; color: #33405a; }
.fcNavy01 a:hover { text-decoration: underline; color: #33405a; }
.fcNavy01 a:active { text-decoration: underline; color: #33405a; }

.gold-heading {
  display: inline-block;
  background: linear-gradient(
    175deg,
    #8C6A1C 0%,
    #C49A3A 20%,
    #E8D79A 38%,
    #D4AF37 50%,
    #A67C2E 65%,
    #B88A2A 80%,
    #6E520F 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  text-shadow: 0 1px 1px rgba(0,0,0,0.15);
}

/*--------------------------------------------------------------------
  bg color
--------------------------------------------------------------------*/

.bgWhite   { background-color: #FFF; }
.bgGray01  { background-color: #F3F3F3; }
.bgGray02  { background-color: #F7F5F1; }
.bgGray03  { background-color: #292725; }
.bgGray04  { background-color: #6A6965; }
.bgBlue01  { background-color: #C7E4E2; }
.bgGreen01 { background-color: #53AF80; }
.bgGreen02 { background-color: #FFFCEB; }
.bgRed01   { background-color: #BB3C2B; }
.bgRed02   { background-color: #CC0000; }
.bgYellow01 { background-color: #F5F1E8; }
.bgNavy01  { background-color: #192F60; }
.bgBrown01 { background-color: #4a2512; }

/*--------------------------------------------------------------------
  border
--------------------------------------------------------------------*/

.borderCommon01 { border: 1px solid #DDD; }
.borderRed01    { border: 1px solid #b34956; }
.borderWhite01  { border: 1px solid #FFF; }
.borderBrown01  { border: 1px solid #4a2512; }
.borderCommon03 { border: 1px solid #333; }
.borderCommon04 { border: 5px solid #ffffff; }
.borderGray01   { border-color: #DDD; }

.borderDouble {
  border: 1px solid #534e49;
  outline: 1px solid #534e49;
  outline-offset: 3px;
}

.borderBottom {
  border-bottom: 1px solid #666666;
  margin-bottom: .2em;
  padding-bottom: .2em;
}

.borderBottom2 {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 3em;
}

/*--------------------------------------------------------------------
  size
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  [class*="sizeCommon"] { line-height: 1.8; }
  .sizeCommon01 { font-size: 1.6rem; }
  .sizeCommon02 { font-size: 1.0rem; }
  .sizeCommon03 { font-size: 1.2rem; }
  .sizeCommon04 { font-size: 2.2rem; }
  .sizeCommon05 { font-size: 4.0rem; }
  .sizeCommon06 { font-size: 0.9rem; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  [class*="sizeCommon"] { line-height: 1.6; }
  .sizeCommon01 { font-size: 1.5rem; }
  .sizeCommon02 { font-size: 1.0rem; }
  .sizeCommon03 { font-size: 1.2rem; }
  .sizeCommon04 { font-size: 1.8rem; }
  .sizeCommon05 { font-size: 3.0rem; }
  .sizeCommon06 { font-size: 0.85rem; }
}

@media screen and (max-width: 767px) {
  [class*="sizeCommon"] { line-height: 1.6; }
  .sizeCommon01 { font-size: 1rem; }
  .sizeCommon02 { font-size: 0.9rem; }
  .sizeCommon03 { font-size: 1.1rem; }
  .sizeCommon04 { font-size: 1.5rem; }
  .sizeCommon05 { font-size: 2.4rem; }
  .sizeCommon06 { font-size: 0.8rem; }
}

/*--------------------------------------------------------------------
  padding
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  .paddingCommon30A  { padding: 30px; }
  .paddingCommon20A  { padding: 20px; }
  .paddingCommon20B  { padding: 40px 20px; }
  .paddingCommon15A  { padding: 15px; }
  .paddingCommon15B  { padding: 10px 15px; }
  .paddingCommon10A  { padding: 10px; }
  .paddingCommon05A  { padding: 5px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .paddingCommon30A  { padding: 25px; }
  .paddingCommon20A  { padding: 15px; }
  .paddingCommon20B  { padding: 30px 15px; }
  .paddingCommon15A  { padding: 15px; }
  .paddingCommon15B  { padding: 10px 15px; }
  .paddingCommon10A  { padding: 10px; }
  .paddingCommon05A  { padding: 5px; }
}

@media screen and (max-width: 767px) {
  .paddingCommon30A  { padding: 15px; }
  .paddingCommon20A  { padding: 10px; }
  .paddingCommon20B  { padding: 20px 10px; }
  .paddingCommon15A  { padding: 10px; }
  .paddingCommon15B  { padding: 5px 10px; }
  .paddingCommon10A  { padding: 10px; }
  .paddingCommon05A  { padding: 5px; }
}

/*--------------------------------------------------------------------
  space
--------------------------------------------------------------------*/

@media screen and (min-width: 1251px) {
  .spaceCommonA80  { margin-bottom: 80px; }
  .spaceCommonA50  { margin-bottom: 50px; }
  .spaceCommonA40  { margin-bottom: 40px; }
  .spaceCommonA30  { margin-bottom: 30px; }
  .spaceCommonA20  { margin-bottom: 20px; }
  .spaceCommonA15  { margin-bottom: 15px; }
  .spaceCommonB50  { margin-bottom: 50px; }
  .spaceCommonB40  { margin-bottom: 40px; }
  .spaceCommonB30  { margin-bottom: 30px; }
  .spaceCommonB20  { margin-bottom: 20px; }
  .spaceCommonB15  { margin-bottom: 15px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .spaceCommonA80  { margin-bottom: 70px; }
  .spaceCommonA50  { margin-bottom: 40px; }
  .spaceCommonA40  { margin-bottom: 30px; }
  .spaceCommonA30  { margin-bottom: 20px; }
  .spaceCommonA20  { margin-bottom: 15px; }
  .spaceCommonA15  { margin-bottom: 10px; }
  .spaceCommonB50  { margin-bottom: 40px; }
  .spaceCommonB40  { margin-bottom: 30px; }
  .spaceCommonB30  { margin-bottom: 20px; }
  .spaceCommonB20  { margin-bottom: 15px; }
  .spaceCommonB15  { margin-bottom: 10px; }
}

@media screen and (max-width: 767px) {
  .spaceCommonA80  { margin-bottom: 50px; }
  .spaceCommonA50  { margin-bottom: 25px; }
  .spaceCommonA40  { margin-bottom: 20px; }
  .spaceCommonA30  { margin-bottom: 15px; }
  .spaceCommonA20  { margin-bottom: 10px; }
  .spaceCommonA15  { margin-bottom: 7px; }
  .spaceCommonB50  { margin-bottom: 0; }
  .spaceCommonB40  { margin-bottom: 0; }
  .spaceCommonB30  { margin-bottom: 0; }
  .spaceCommonB20  { margin-bottom: 0; }
  .spaceCommonB15  { margin-bottom: 0; }
}

/*--------------------------------------------------------------------
  structure
--------------------------------------------------------------------*/

.structureCommonA05 > *:nth-child(n+2),
.structureCommonA05 > li:nth-child(n+2) { margin-top: 5px; }

.structureCommonA10 > *:nth-child(n+2),
.structureCommonA10 > li:nth-child(n+2) { margin-top: 10px; }

.structureCommon01 > *.noPadding,
.structureCommon01Box.noPadding,
.structureCommon01a > *.noPadding,
.structureCommon01aBox.noPadding { padding: 0; }

.structureCommon01 > *.noPaddingBottom,
.structureCommon01Box.noPaddingBottom,
.structureCommon01a > *.noPaddingBottom,
.structureCommon01aBox.noPaddingBottom { padding: 0; }

.structureCommon01 > *.miniPadding,
.structureCommon01Box.miniPadding,
.structureCommon01a > *.miniPadding,
.structureCommon01aBox.miniPadding { padding: 30px 0; }

@media screen and (min-width: 1251px) {
  .structureCommon01 > *,
  .structureCommon01Box,
  .structureCommon01a > *,
  .structureCommon01aBox { padding: 60px 0; }

  .structureCommon02 > *,
  .structureCommon02Box { padding: 40px 0; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .structureCommon01 > *,
  .structureCommon01Box,
  .structureCommon01a > *,
  .structureCommon01aBox { padding: 50px 0; }

  .structureCommon02 > *,
  .structureCommon02Box { padding: 30px 0; }
}

@media screen and (max-width: 767px) {
  .structureCommon01 > *,
  .structureCommon01Box,
  .structureCommon01a > *,
  .structureCommon01aBox { padding: 50px 0; }

  .structureCommon02 > *,
  .structureCommon02Box { padding: 20px 0; }
}

/*--------------------------------------------------------------------
  marker
--------------------------------------------------------------------*/

.marker01.typeYellow {
  background: linear-gradient(transparent 70%, #E8D79A 70%);
}

/*--------------------------------------------------------------------
  title
--------------------------------------------------------------------*/

.titleSet {
  position: absolute;
  top: 0;
  width: 100%;
}

.titleCommon01 {
  line-height: 1.4;
  padding: 0 10px;
}

.titleCommon01 > *:nth-child(1) {
  padding-right: 15px;
  width: 52px;
}

.titleCommon01 > *:first-child { letter-spacing: 3px; }

.titleCommon02 > .text {
  border-bottom: 1px dotted #333;
  padding: 0 10px 10px;
  font-weight: bold;
}

@media screen and (min-width: 1251px) {
  .titleCommon01 > *:nth-child(2) { font-size: 2.0rem; }
  .titleCommon02 { font-size: 1.2rem; }
  .titleCommon02 > .icon { width: 76px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .titleCommon01 > *:nth-child(2) { font-size: 1.5rem; }
  .titleCommon02 { font-size: 1.3rem; }
  .titleCommon02 > .icon { width: 50px; }
}

@media screen and (max-width: 767px) {
  .titleCommon01 > *:nth-child(2) { font-size: 1.3rem; }
  .titleCommon02 { font-size: 1.2rem; }
  .titleCommon02 > .icon { width: 30px; }
}

/*--------------------------------------------------------------------
  flex img
--------------------------------------------------------------------*/

.flexImgCommon01 {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.flexImgCommon01.typeA {
  border-radius: 5px;
  overflow: hidden;
}

.imgCover {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*--------------------------------------------------------------------
  radius
--------------------------------------------------------------------*/

.radius05  { border-radius: 5px;  overflow: hidden; }
.radius10  { border-radius: 10px; overflow: hidden; }
.radius50p { border-radius: 50%;  overflow: hidden; }

/*--------------------------------------------------------------------
  icon
--------------------------------------------------------------------*/

.iconCommon01 {
  border-radius: 50%;
  text-align: center;
  z-index: 2;
}

.iconCommon01.typeA {
  width: 60px;
  height: 60px;
  font-size: 1.3rem;
  position: absolute;
}

.iconCommon01.colorA {
  background-color: #98621d;
  color: #FFF;
}

.iconNew01 {
  position: absolute;
  left: 5%;
  bottom: 7%;
  max-width: 30%;
}

@media screen and (min-width: 1251px) {
  .iconCommon01.typeA { top: -20px; left: -20px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .iconCommon01.typeA { top: -15px; left: -15px; }
}

@media screen and (max-width: 767px) {
  .iconCommon01.typeA { top: -15px; left: -15px; }
}

/*--------------------------------------------------------------------
  chapter
--------------------------------------------------------------------*/

.chapterCommon01 > p:nth-child(2) {
  text-align: center;
  line-height: 1.4em;
}

@media screen and (min-width: 1251px) {
  .chapterCommon01 { font-size: 1.4rem; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .chapterCommon01 { font-size: 1.3rem; }
}

@media screen and (max-width: 767px) {
  .chapterCommon01 { font-size: 1.2rem; }
}

/*--------------------------------------------------------------------
  hr
--------------------------------------------------------------------*/

.hrCommon01 {
  display: block;
  height: 1px;
  border: 0;
  margin: 0 auto;
  padding: 0;
}

.hrGray01  { border-top: 1px solid #999; }
.hrNavy01  { border-top: 1px solid #DF5E00; }

/*--------------------------------------------------------------------
  img
--------------------------------------------------------------------*/

.imgCommon01 {
  padding: 2px;
  background-color: #3b5700;
}

/*--------------------------------------------------------------------
  box
--------------------------------------------------------------------*/

.boxCommon01  { border-radius: 5px; }
.boxShadow01  { box-shadow: 1px 1px 10px rgba(10, 0, 0, 0.2); }

.boxTape01:before,
.boxTape01:after {
  content: "";
  position: absolute;
  top: -10px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  width: 224px;
  height: 138px;
  z-index: 2;
}

.boxTape01:before {
  background-image: url('../../f-all/tape01_left.png');
  left: -10px;
}

.boxTape01:after {
  background-image: url('../../f-all/tape01_right.png');
  right: -10px;
}

@media screen and (min-width: 1251px) {
  .boxTape01 { padding: 50px 40px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .boxTape01 { padding: 40px 30px; }
  .boxTape01:before,
  .boxTape01:after { width: 150px; height: 92px; }
}

@media screen and (max-width: 767px) {
  .boxTape01 { padding: 40px 15px; }
  .boxTape01:before,
  .boxTape01:after { width: 80px; height: 49px; }
}

/*--------------------------------------------------------------------
  movie
--------------------------------------------------------------------*/

.movieCommon01 {
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.movieCommon01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}

/*--------------------------------------------------------------------
  table
--------------------------------------------------------------------*/

.tableCommon01 { border-collapse: collapse; }

.tableCommon01 th,
.tableCommon01 td {
  padding: 10px;
  border: 1px solid #98621d;
  vertical-align: middle;
  font-weight: normal;
  text-align: left;
}

.tableCommon01 th {
  text-align: center;
  background-color: #FFFCEB;
}

.tableCommon01 td { background-color: #FFF; }

.tableMenu01 {
  font-weight: normal;
  margin-left: auto;
  margin-right: auto;
}

.tableMenu01 th,
.tableMenu01 td {
  border-bottom: 1px solid #EEE;
  vertical-align: middle;
  font-weight: normal;
  text-align: left;
}

@media screen and (min-width: 768px) {
  .tableMenu01 { width: 100%; }
  .tableMenu01 th,
  .tableMenu01 td { padding: 10px 15px; }
  .tableMenu01 th { width: 100px; }
}

@media screen and (max-width: 767px) {
  .tableCommon01,
  .tableCommon01 thead,
  .tableCommon01 tbody,
  .tableCommon01 tfoot,
  .tableCommon01 tr,
  .tableCommon01 th,
  .tableCommon01 td { display: block; }

  .tableCommon01 { border-top: 1px solid #98621d; }
  .tableCommon01 th,
  .tableCommon01 td { border-top: none; }
}

/*--------------------------------------------------------------------
  scroll
--------------------------------------------------------------------*/

.scroll02Wrap01 { overflow: hidden; }

.scroll02 img { border-right: 0px solid #FFF; }

@media screen and (min-width: 1251px) {
  .scroll02Wrap01,
  .scroll02,
  .scroll02 img { height: 200px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .scroll02Wrap01,
  .scroll02,
  .scroll02 img { height: 150px; }
}

@media screen and (max-width: 767px) {
  .scroll01 {
    overflow-x: scroll;
    overflow-y: hidden;
    padding-bottom: 10px;
  }

  .scroll01::-webkit-scrollbar { height: 8px; }
  .scroll01::-webkit-scrollbar-track { border-radius: 4px; background: #EFEFEF; }
  .scroll01::-webkit-scrollbar-thumb { border-radius: 4px; background: #666; }

  .scroll01Obj { min-width: 768px; }

  .scroll02Wrap01,
  .scroll02,
  .scroll02 img { height: 100px; }
}

/*--------------------------------------------------------------------
  layout
--------------------------------------------------------------------*/

.textLayout01 > *:nth-child(n+2)  { margin-top: 0.15em; }
.textLayout03 > *:nth-child(n+2)  { margin-top: 0.3em; }
.textLayout05 > *:nth-child(n+2)  { margin-top: 0.6em; }
.textLayout08 > *:nth-child(n+2)  { margin-top: 0.9em; }
.textLayout10 > *:nth-child(n+2)  { margin-top: 1.2em; }
.textLayout15 > *:nth-child(n+2)  { margin-top: 1.6em; }
.textLayout25 > *:nth-child(n+2)  { margin-top: 2.6em; }
.textLayout35 > *:nth-child(n+2)  { margin-top: 3.6em; }
.textLayout50 > *:nth-child(n+2)  { margin-top: 4.6em; }
.textLayout75 > *:nth-child(n+2)  { margin-top: 6.0em; }

/*--------------------------------------------------------------------
  button
--------------------------------------------------------------------*/

.buttonCommon01 {
  padding: 0 15px;
  transition-property: all;
  transition: 0.1s linear;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: bottom;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  border-radius: 5px;
  overflow: hidden;
}

.buttonCommon01.size30 { height: 30px; line-height: 30px; font-size: 0.8rem; padding: 0 5px; }
.buttonCommon01.size35 { height: 35px; line-height: 35px; font-size: 0.9rem; padding: 0 10px; }
.buttonCommon01.size50 { height: 50px; line-height: 50px; font-size: 1.0rem; padding: 0 10px; }
.buttonCommon01.size55 { height: 55px; line-height: 52px; font-size: 1.0rem; }
.buttonCommon01.size65 { height: 65px; line-height: 62px; font-size: 1.1rem; }

.buttonCommon02,
.buttonCommon02 a { width: 140px; height: 140px; }
.buttonCommon02 a { border-radius: 50%; }

.buttonWhite01   { background-color: #FFF;     color: #333; }
.buttonWhite02   { background-color: #FFF;     color: #333; border: 1px solid #333; }
.buttonBlack01   { background-color: #000000;  color: #FFF; }
.buttonBlack02   { border: 1px solid #333;     color: #333; }
.buttonGray01    { background-color: #534E49;  color: #FFF; }
.buttonYellow01  { background-color: #CB7B3A;  color: #FFF; }
.buttonYellow02  { background-color: #e6d9bd;  color: #4f4f4f; }
.buttonRed01     { background-color: #C13221;  color: #FFF; }
.buttonGreen01   { background-color: #98C451;  color: #FFF; }
.buttonBlue01    { background-color: #717d94;  color: #FFF; }
.buttonDarkRed01 { background-color: #391112;  color: #FFF; }

.buttonGold01 {
  background: linear-gradient(
    135deg,
    #8C6A1C 0%,
    #C49A3A 35%,
    #A67C2E 65%,
    #6E520F 100%
  );
  color: #FFF;
}

.buttonFont01 { font-size: 1.6rem; }
.buttonCommon01.typeRound { border-radius: 100px; }

/* New outline buttons */
.btnOutline {
  display: inline-block;
  padding: 10px 24px;
  border: 1px solid currentColor;
  border-radius: 4px;
  font-size: 1.4rem;
  cursor: pointer;
  transition: background .2s, color .2s;
  text-align: center;
}

.btnOutlineWh {
  display: inline-block;
  padding: 10px 24px;
  border: 1px solid #fff;
  border-radius: 4px;
  font-size: 1.4rem;
  color: #fff;
  cursor: pointer;
  transition: background .2s, color .2s;
  text-align: center;
}

.btnOutlineWh:hover { background: rgba(255,255,255,.15); opacity: 1; }

@media screen and (min-width: 1251px) {
  .buttonCommon01:hover,
  .buttonCommon02:hover,
  a:hover .buttonCommon01 { opacity: 0.8; }

  .buttonCommon01.typeA { font-size: 0.86rem; }
}

@media screen and (min-width: 768px) {
  .buttonCommon01.typeMemo01 { padding-right: 110px; }
  .buttonCommon01.typeMemo01:before {
    content: "空室状況";
    font-size: 0.9rem;
    position: absolute;
    top: 12px;
    right: calc(50% - 80px);
    width: 90px;
    height: 30px;
    border: 1px solid #FFF;
    line-height: 30px;
    text-align: center;
  }
}

/*--------------------------------------------------------------------
  ul
--------------------------------------------------------------------*/

.ulCommon01 { list-style: disc outside; padding-left: 1.5em; }
.ulCommon01 li:nth-child(n+2) { margin-top: 3px; }

.ulCommon02 > li { padding-left: 1.5em; }
.ulCommon02 > li:before { content: "◆"; position: absolute; left: 0; }
.ulCommon02 > li:nth-child(n+2) { margin-top: 3px; }

.ulCommon03 > li { padding-left: 1.5em; }
.ulCommon03 > li:before { content: "★"; position: absolute; left: 0; }
.ulCommon03 > li:nth-child(n+2) { margin-top: 3px; }

.ulCommon04 > li { padding-left: 1.5em; }
.ulCommon04 > li:before { content: "※"; position: absolute; left: 0; }
.ulCommon04 > li:nth-child(n+2) { margin-top: 3px; }

.olCommon01 > li { margin-left: 2em; list-style: decimal-leading-zero outside; }

/*--------------------------------------------------------------------
  mark
--------------------------------------------------------------------*/

.textMark01 { padding-left: 1.2em; }
.textMark01:before { content: '※'; position: absolute; left: 0; }

.textMark02 { counter-reset: number; list-style: none; }
.textMark02 li { padding-left: 1.8em; text-indent: -1.5em; position: relative; }
.textMark02 li:nth-child(n+2) { margin-top: 3px; }
.textMark02 li:before { display: inline; counter-increment: number; content: "※"counter(number)""; }

p.indent-1 { padding-left: 1em; text-indent: -1em; }

.ffs { font-feature-settings: "palt"; }

/*--------------------------------------------------------------------
  toggle
--------------------------------------------------------------------*/

.toggleCommon01Contents { display: none; }

.faqToggleWrap01 {
  border: 1px solid #c7b690;
  background-color: rgba(255, 255, 255, 0.9);
}

.faqToggleQ01 { cursor: pointer; }

.faqToggleQ01:before {
  content: "Q.";
  position: absolute;
}

.faqToggleQ01:after {
  content: "\f107";
  font-family: FontAwesome;
  position: absolute;
  right: 13px;
  font-size: 1.4rem;
}

.faqToggleQ01.activeToggle:after { content: "\f106"; }

.faqToggleA01:before {
  content: "A.";
  position: absolute;
}

.faqToggleA01:after {
  content: "";
  width: calc(100% - 20px);
  height: 1px;
  position: absolute;
  left: 10px;
  top: 0;
  background-color: #8a846a;
}

@media screen and (min-width: 1251px) {
  .faqToggleQ01,
  .faqToggleA01 { padding: 15px 40px; }
  .faqToggleQ01:before,
  .faqToggleA01:before { left: 15px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .faqToggleQ01,
  .faqToggleA01 { padding: 10px 30px; }
  .faqToggleQ01:before,
  .faqToggleA01:before { left: 10px; }
}

@media screen and (max-width: 767px) {
  .faqToggleQ01,
  .faqToggleA01 { padding: 10px 30px; }
  .faqToggleQ01:before,
  .faqToggleA01:before { left: 10px; }
}

/*--------------------------------------------------------------------
  floatSlide
--------------------------------------------------------------------*/

.floatSlider { width: 100%; overflow: hidden; }
.slideImg { float: left; }

@media screen and (min-width: 1251px) {
  .floatSlider,
  .floatSlider img { height: 200px; }
}

@media screen and (min-width: 768px) and (max-width: 1250px) {
  .floatSlider,
  .floatSlider img { height: 130px; }
}

@media screen and (max-width: 767px) {
  .floatSlider,
  .floatSlider img { height: 80px; }
}

/*--------------------------------------------------------------------
  flex layouts
--------------------------------------------------------------------*/

.flexList01 > *:not(:last-child) { margin-right: 1em; }

.flex2ColumnD > * { width: calc((100% - 10.1px) / 2); }
.flex2ColumnD > *:not(:nth-child(2n)) { margin-right: 10px; }
.flex2ColumnD > *:nth-child(n+3) { margin-top: 10px; }
.flex2ColumnD.typeA > *:first-child { display: none; }
.flex2ColumnD.typeA > *:not(:nth-child(2n)) { margin-right: 0; margin-left: 10px; }
.flex2ColumnD.typeA > *:nth-child(n+3) { margin-top: 0; }
.flex2ColumnD.typeA > *:nth-child(n+4) { margin-top: 10px; }

@media screen and (min-width: 1251px) {
  .flex2ColumnA > * { width: calc((100% - 40.1px) / 2); }
  .flex2ColumnA > *:nth-child(n+3) { margin-top: 40px; }

  .flex2ColumnB > * { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnB > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnB > *:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnC > * { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnC > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnC > *:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnF > * { width: calc((100% - 20.1px) / 2); }
  .flex2ColumnF > *:not(:nth-child(2n)) { margin-right: 20px; border-right: 1px dotted #7a7a7a; padding-right: 20px; }
  .flex2ColumnF > *:nth-child(n+3) { margin-top: 10px; }

  .flex3ColumnA > * { width: calc((100% - 60.1px) / 3); }
  .flex3ColumnA > *:not(:nth-child(3n)) { margin-right: 30px; }
  .flex3ColumnA > *:nth-child(n+4) { margin-top: 30px; }

  .flex3ColumnB > * { width: calc((100% - 40.1px) / 3); }
  .flex3ColumnB > *:not(:nth-child(3n)) { margin-right: 20px; }
  .flex3ColumnB > *:nth-child(n+4) { margin-top: 20px; }

  .flex4ColumnA > * { width: calc((100% - 60.1px) / 4); }
  .flex4ColumnA > *:not(:nth-child(4n)) { margin-right: 20px; }
  .flex4ColumnA > *:nth-child(n+5) { margin-top: 20px; }

  .flex4ColumnB > * { width: calc((100% - 60.1px) / 4); }
  .flex4ColumnB > *:not(:nth-child(4n)) { margin-right: 20px; }
  .flex4ColumnB > *:nth-child(n+5) { margin-top: 20px; }

  .flex5ColumnA > * { width: calc((100% - 40.1px) / 5); }
  .flex5ColumnA > *:not(:nth-child(5n)) { margin-right: 10px; }
  .flex5ColumnA > *:nth-child(n+6) { margin-top: 15px; }

  .flex6ColumnA > * { width: calc((100% - 50.1px) / 6); }
  .flex6ColumnA > *:not(:nth-child(6n)) { margin-right: 10px; }
  .flex6ColumnA > *:nth-child(n+7) { margin-top: 15px; }

  .flex6ColumnB > * { width: calc((100% - 100.1px) / 6); }
  .flex6ColumnB > *:not(:nth-child(6n)) { margin-right: 20px; }
  .flex6ColumnB > *:nth-child(n+7) { margin-top: 25px; }

  .flex7ColumnA > * { width: calc((100% - 60.1px) / 7); }
  .flex7ColumnA > *:not(:nth-child(7n)) { margin-right: 10px; }
  .flex7ColumnA > *:nth-child(n+8) { margin-top: 15px; }

  .flexCommon01.orderA > *:first-child,
  .flexCommon01.orderB > *:first-child { order: 2; }
  .flexCommon01.orderA > *:last-child,
  .flexCommon01.orderB > *:last-child  { order: 1; }

  .flexCommonLayout01 > *:first-child { width: 60%; }
  .flexCommonLayout01 > *:last-child  { width: calc(40% - 0.1px); }
  .flexCommonLayout01.typeA > *:first-child { width: calc(50% - 0.1px); }
  .flexCommonLayout01.typeA > *:last-child  { width: 50%; }
}

@media screen and (max-width: 1250px) {
  .flex2ColumnB > * { width: 100%; }
  .flex2ColumnB > *:nth-child(n+2) { margin-top: 10px; }
}

@media screen and (max-width: 1250px) and (min-width: 768px) {
  .flex2ColumnA > * { width: calc((100% - 30.1px) / 2); }
  .flex2ColumnA > *:nth-child(n+3) { margin-top: 30px; }

  .flex2ColumnC > * { width: calc((100% - 10.1px) / 2); }
  .flex2ColumnC > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex2ColumnC > *:nth-child(n+3) { margin-top: 10px; }

  .flex2ColumnF > * { width: calc((100% - 30.1px) / 2); }
  .flex2ColumnF > *:not(:nth-child(2n)) { margin-right: 20px; border-right: 1px dotted #7a7a7a; padding-right: 20px; }
  .flex2ColumnF > *:nth-child(n+3) { margin-top: 30px; }

  .flex3ColumnA > * { width: calc((100% - 30.1px) / 3); }
  .flex3ColumnA > *:not(:nth-child(3n)) { margin-right: 15px; }
  .flex3ColumnA > *:nth-child(n+4) { margin-top: 15px; }

  .flex3ColumnB > * { width: calc((100% - 20.1px) / 3); }
  .flex3ColumnB > *:not(:nth-child(3n)) { margin-right: 10px; }
  .flex3ColumnB > *:nth-child(n+4) { margin-top: 20px; }

  .flex4ColumnA > * { width: calc((100% - 45.1px) / 4); }
  .flex4ColumnA > *:not(:nth-child(4n)) { margin-right: 15px; }
  .flex4ColumnA > *:nth-child(n+5) { margin-top: 15px; }

  .flex4ColumnB > * { width: calc((100% - 45.1px) / 4); }
  .flex4ColumnB > *:not(:nth-child(4n)) { margin-right: 15px; }
  .flex4ColumnB > *:nth-child(n+5) { margin-top: 15px; }

  .flex5ColumnA > * { width: calc((100% - 40.1px) / 5); }
  .flex5ColumnA > *:not(:nth-child(5n)) { margin-right: 10px; }
  .flex5ColumnA > *:nth-child(n+6) { margin-top: 10px; }

  .flex6ColumnA > * { width: calc((100% - 40.1px) / 5); }
  .flex6ColumnA > *:not(:nth-child(5n)) { margin-right: 10px; }
  .flex6ColumnA > *:nth-child(n+6) { margin-top: 10px; }

  .flex6ColumnB > * { width: calc((100% - 40.1px) / 3); }
  .flex6ColumnB > *:not(:nth-child(3n)) { margin-right: 20px; }
  .flex6ColumnB > *:nth-child(n+4) { margin-top: 30px; }

  .flex7ColumnA > * { width: calc((100% - 60.1px) / 7); }
  .flex7ColumnA > *:not(:nth-child(7n)) { margin-right: 10px; }
  .flex7ColumnA > *:nth-child(n+8) { margin-top: 15px; }

  .flexCommon01.orderA > *:first-child { order: 2; }
  .flexCommon01.orderA > *:last-child  { order: 1; }

  .flexCommonLayout01 > *:first-child { width: 60%; }
  .flexCommonLayout01 > *:last-child  { width: calc(40% - 0.1px); }
  .flexCommonLayout01.typeA > *:first-child { width: calc(50% - 0.1px); }
  .flexCommonLayout01.typeA > *:last-child  { width: 50%; }
}

@media screen and (max-width: 1250px) {
  .flex2ColumnA.orderA > *:nth-child(2) { order: 2; }
  .flex2ColumnA.orderA > *:nth-child(2) { order: 1; }
}

@media screen and (max-width: 767px) {
  .flex2ColumnA > * { width: 100%; }
  .flex2ColumnA > *:nth-child(n+2) { margin-top: 25px; }

  .flex2ColumnC > * { width: 100%; }
  .flex2ColumnC > *:nth-child(n+2) { margin-top: 10px; }

  .flex2ColumnF > * { width: 100%; }
  .flex2ColumnF > *:nth-child(n+2) { margin-top: 25px; }

  .flex3ColumnA > * { width: 100%; }
  .flex3ColumnA > *:nth-child(n+2) { margin-top: 25px; }

  .flex3ColumnB > * { width: calc((100% - 10.1px) / 2); }
  .flex3ColumnB > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex3ColumnB > *:nth-child(n+3) { margin-top: 10px; }

  .flex4ColumnA > * { width: 100%; }
  .flex4ColumnA > *:nth-child(n+2) { margin-top: 15px; }

  .flex4ColumnB > * { width: calc((100% - 10.1px) / 2); }
  .flex4ColumnB > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex4ColumnB > *:nth-child(n+3) { margin-top: 10px; }

  .flex5ColumnA > * { width: calc((100% - 10.1px) / 2); }
  .flex5ColumnA > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex5ColumnA > *:nth-child(n+3) { margin-top: 10px; }

  .flex6ColumnA > * { width: calc((100% - 10.1px) / 2); }
  .flex6ColumnA > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex6ColumnA > *:nth-child(n+3) { margin-top: 10px; }

  .flex6ColumnB > * { width: calc((100% - 20.1px) / 2); }
  .flex6ColumnB > *:not(:nth-child(2n)) { margin-right: 20px; }
  .flex6ColumnB > *:nth-child(n+3) { margin-top: 25px; }

  .flex7ColumnA > * { width: calc((100% - 10.1px) / 2); }
  .flex7ColumnA > *:not(:nth-child(2n)) { margin-right: 10px; }
  .flex7ColumnA > *:nth-child(n+3) { margin-top: 20px; }

  .flexCommonLayout01 > *:first-child { width: 100%; }
  .flexCommonLayout01 > *:last-child  { width: 100%; }
}

/*--------------------------------------------------------------------
  loading (new design)
--------------------------------------------------------------------*/

.loader01 {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity .6s, visibility .6s;
}

.loader01.hidden { opacity: 0; visibility: hidden; pointer-events: none; }

.loaderBars { display: flex; gap: 6px; }

.loader01 .line {
  display: block;
  width: 3px;
  height: 30px;
  background: #3B6F5C;
  border-radius: 2px;
  animation: loaderBar 1s ease-in-out infinite;
}

.loader01 .line:nth-child(1) { animation-delay: .0s; }
.loader01 .line:nth-child(2) { animation-delay: .1s; }
.loader01 .line:nth-child(3) { animation-delay: .2s; }
.loader01 .line:nth-child(4) { animation-delay: .3s; }
.loader01 .line:nth-child(5) { animation-delay: .4s; }
.loader01 .line:nth-child(6) { animation-delay: .5s; }
.loader01 .line:nth-child(7) { animation-delay: .6s; }
.loader01 .line:nth-child(8) { animation-delay: .7s; }
.loader01 .line:nth-child(9) { animation-delay: .8s; }

@keyframes loaderBar {
  0%,100% { transform: scaleY(.4); opacity: .4; }
  50%      { transform: scaleY(1);  opacity: 1; }
}

.loaderTxt01 {
  font-family: 'EB Garamond', serif;
  font-size: 1.3rem;
  letter-spacing: .25em;
  color: #3B6F5C;
  margin-top: 14px;
}

/*--------------------------------------------------------------------
  inview
--------------------------------------------------------------------*/

.effectCommon01 {
  opacity: 0;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon01.inviewOn { opacity: 1; }

.effectCommon02 {
  opacity: 0;
  top: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon02.inviewOn { opacity: 1; top: 0; }

.effectCommon03 {
  opacity: 0;
  left: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon03.inviewOn { opacity: 1; left: 0; }

.effectCommon04 {
  opacity: 0;
  right: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon04.inviewOn { opacity: 1; right: 0; }

.effectCommon05 {
  opacity: 0;
  bottom: 20px;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.070, 0.910, 0.620, 0.940);
}

.loading01Out .effectCommon05.inviewOn { opacity: 1; bottom: 0; }

/* transition speed */
.tsSpeed01, .psSpeed01:before, .psSpeed01:after { transition-duration: .1s; }
.tsSpeed02, .psSpeed02:before, .psSpeed02:after { transition-duration: .2s; }
.tsSpeed03, .psSpeed03:before, .psSpeed03:after { transition-duration: .3s; }
.tsSpeed04, .psSpeed04:before, .psSpeed04:after { transition-duration: .4s; }
.tsSpeed05, .psSpeed05:before, .psSpeed05:after { transition-duration: .5s; }
.tsSpeed06, .psSpeed06:before, .psSpeed06:after { transition-duration: .6s; }
.tsSpeed07, .psSpeed07:before, .psSpeed07:after { transition-duration: .7s; }
.tsSpeed08, .psSpeed08:before, .psSpeed08:after { transition-duration: .8s; }
.tsSpeed09, .psSpeed09:before, .psSpeed09:after { transition-duration: .9s; }
.tsSpeed10, .psSpeed10:before, .psSpeed10:after { transition-duration: 1.0s; }
.tsSpeed11, .psSpeed11:before, .psSpeed11:after { transition-duration: 1.1s; }
.tsSpeed12, .psSpeed12:before, .psSpeed12:after { transition-duration: 1.2s; }
.tsSpeed13, .psSpeed13:before, .psSpeed13:after { transition-duration: 1.3s; }
.tsSpeed14, .psSpeed14:before, .psSpeed14:after { transition-duration: 1.4s; }
.tsSpeed15, .psSpeed15:before, .psSpeed15:after { transition-duration: 1.5s; }
.tsSpeed16, .psSpeed16:before, .psSpeed16:after { transition-duration: 1.6s; }
.tsSpeed17, .psSpeed17:before, .psSpeed17:after { transition-duration: 1.7s; }
.tsSpeed18, .psSpeed18:before, .psSpeed18:after { transition-duration: 1.8s; }
.tsSpeed19, .psSpeed19:before, .psSpeed19:after { transition-duration: 1.9s; }
.tsSpeed20, .psSpeed20:before, .psSpeed20:after { transition-duration: 2.0s; }
.tsSpeed21, .psSpeed21:before, .psSpeed21:after { transition-duration: 2.1s; }
.tsSpeed22, .psSpeed22:before, .psSpeed22:after { transition-duration: 2.2s; }
.tsSpeed23, .psSpeed23:before, .psSpeed23:after { transition-duration: 2.3s; }
.tsSpeed24, .psSpeed24:before, .psSpeed24:after { transition-duration: 2.4s; }
.tsSpeed25, .psSpeed25:before, .psSpeed25:after { transition-duration: 2.5s; }
.tsSpeed26, .psSpeed26:before, .psSpeed26:after { transition-duration: 2.6s; }
.tsSpeed27, .psSpeed27:before, .psSpeed27:after { transition-duration: 2.7s; }
.tsSpeed28, .psSpeed28:before, .psSpeed28:after { transition-duration: 2.8s; }
.tsSpeed29, .psSpeed29:before, .psSpeed29:after { transition-duration: 2.9s; }
.tsSpeed30, .psSpeed30:before, .psSpeed30:after { transition-duration: 3.0s; }

/* transition delay */
.tsDelay01,  .psDelay01:before,  .psDelay01:after  { transition-delay: .1s; }
.tsDelay011, .psDelay011:before, .psDelay011:after  { transition-delay: .11s; }
.tsDelay012, .psDelay012:before, .psDelay012:after  { transition-delay: .12s; }
.tsDelay013, .psDelay013:before, .psDelay013:after  { transition-delay: .13s; }
.tsDelay014, .psDelay014:before, .psDelay014:after  { transition-delay: .14s; }
.tsDelay015, .psDelay015:before, .psDelay015:after  { transition-delay: .15s; }
.tsDelay016, .psDelay016:before, .psDelay016:after  { transition-delay: .16s; }
.tsDelay017, .psDelay017:before, .psDelay017:after  { transition-delay: .17s; }
.tsDelay018, .psDelay018:before, .psDelay018:after  { transition-delay: .18s; }
.tsDelay019, .psDelay019:before, .psDelay019:after  { transition-delay: .19s; }
.tsDelay02,  .psDelay02:before,  .psDelay02:after   { transition-delay: .2s; }
.tsDelay021, .psDelay021:before, .psDelay021:after  { transition-delay: .21s; }
.tsDelay022, .psDelay022:before, .psDelay022:after  { transition-delay: .22s; }
.tsDelay023, .psDelay023:before, .psDelay023:after  { transition-delay: .23s; }
.tsDelay024, .psDelay024:before, .psDelay024:after  { transition-delay: .24s; }
.tsDelay025, .psDelay025:before, .psDelay025:after  { transition-delay: .25s; }
.tsDelay026, .psDelay026:before, .psDelay026:after  { transition-delay: .26s; }
.tsDelay027, .psDelay027:before, .psDelay027:after  { transition-delay: .27s; }
.tsDelay028, .psDelay028:before, .psDelay028:after  { transition-delay: .28s; }
.tsDelay029, .psDelay029:before, .psDelay029:after  { transition-delay: .29s; }
.tsDelay03,  .psDelay03:before,  .psDelay03:after   { transition-delay: .3s; }
.tsDelay031, .psDelay031:before, .psDelay031:after  { transition-delay: .31s; }
.tsDelay032, .psDelay032:before, .psDelay032:after  { transition-delay: .32s; }
.tsDelay033, .psDelay033:before, .psDelay033:after  { transition-delay: .33s; }
.tsDelay034, .psDelay034:before, .psDelay034:after  { transition-delay: .34s; }
.tsDelay035, .psDelay035:before, .psDelay035:after  { transition-delay: .35s; }
.tsDelay036, .psDelay036:before, .psDelay036:after  { transition-delay: .36s; }
.tsDelay037, .psDelay037:before, .psDelay037:after  { transition-delay: .37s; }
.tsDelay038, .psDelay038:before, .psDelay038:after  { transition-delay: .38s; }
.tsDelay039, .psDelay039:before, .psDelay039:after  { transition-delay: .39s; }
.tsDelay04,  .psDelay04:before,  .psDelay04:after   { transition-delay: .4s; }
.tsDelay05,  .psDelay05:before,  .psDelay05:after   { transition-delay: .5s; }
.tsDelay06,  .psDelay06:before,  .psDelay06:after   { transition-delay: .6s; }
.tsDelay07,  .psDelay07:before,  .psDelay07:after   { transition-delay: .7s; }
.tsDelay08,  .psDelay08:before,  .psDelay08:after   { transition-delay: .8s; }
.tsDelay09,  .psDelay09:before,  .psDelay09:after   { transition-delay: .9s; }
.tsDelay10,  .psDelay10:before,  .psDelay10:after   { transition-delay: 1.0s; }
.tsDelay11,  .psDelay11:before,  .psDelay11:after   { transition-delay: 1.1s; }
.tsDelay12,  .psDelay12:before,  .psDelay12:after   { transition-delay: 1.2s; }
.tsDelay13,  .psDelay13:before,  .psDelay13:after   { transition-delay: 1.3s; }
.tsDelay14,  .psDelay14:before,  .psDelay14:after   { transition-delay: 1.4s; }
.tsDelay15,  .psDelay15:before,  .psDelay15:after   { transition-delay: 1.5s; }
.tsDelay16,  .psDelay16:before,  .psDelay16:after   { transition-delay: 1.6s; }
.tsDelay17,  .psDelay17:before,  .psDelay17:after   { transition-delay: 1.7s; }
.tsDelay18,  .psDelay18:before,  .psDelay18:after   { transition-delay: 1.8s; }
.tsDelay19,  .psDelay19:before,  .psDelay19:after   { transition-delay: 1.9s; }
.tsDelay20,  .psDelay20:before,  .psDelay20:after   { transition-delay: 2.0s; }

@media screen and (min-width: 768px) {
  .tsDelay01po, .psDelay01po:before, .psDelay01po:after { transition-delay: .1s; }
  .tsDelay02po, .psDelay02po:before, .psDelay02po:after { transition-delay: .2s; }
  .tsDelay03po, .psDelay03po:before, .psDelay03po:after { transition-delay: .3s; }
  .tsDelay04po, .psDelay04po:before, .psDelay04po:after { transition-delay: .4s; }
  .tsDelay05po, .psDelay05po:before, .psDelay05po:after { transition-delay: .5s; }
  .tsDelay06po, .psDelay06po:before, .psDelay06po:after { transition-delay: .6s; }
  .tsDelay07po, .psDelay07po:before, .psDelay07po:after { transition-delay: .7s; }
  .tsDelay08po, .psDelay08po:before, .psDelay08po:after { transition-delay: .8s; }
  .tsDelay09po, .psDelay09po:before, .psDelay09po:after { transition-delay: .9s; }
  .tsDelay10po, .psDelay10po:before, .psDelay10po:after { transition-delay: 1.0s; }
}

/*--------------------------------------------------------------------
  mastTitle / effectTxt
--------------------------------------------------------------------*/

.mastTitle01 span { opacity: 0; }

.loading01Out .mastTitle01.inviewOn span {
  animation: letter-glow 1.6s 0s ease both;
}

.loading01Out .mastTitle01.typeA.inviewOn span {
  animation: letter-glow2 1.6s 0s ease both;
}

.loading01Out .mastTitle01.inviewOn span:nth-child(1)  { animation-delay: 0.05s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(2)  { animation-delay: 0.1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(3)  { animation-delay: 0.15s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(4)  { animation-delay: 0.2s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(5)  { animation-delay: 0.25s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(6)  { animation-delay: 0.3s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(7)  { animation-delay: 0.35s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(8)  { animation-delay: 0.4s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(9)  { animation-delay: 0.45s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(10) { animation-delay: 0.5s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(11) { animation-delay: 0.55s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(12) { animation-delay: 0.6s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(13) { animation-delay: 0.65s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(14) { animation-delay: 0.7s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(15) { animation-delay: 0.75s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(16) { animation-delay: 0.8s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(17) { animation-delay: 0.85s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(18) { animation-delay: 0.9s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(19) { animation-delay: 0.95s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(20) { animation-delay: 1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(21) { animation-delay: 1.05s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(22) { animation-delay: 1.1s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(23) { animation-delay: 1.15s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(24) { animation-delay: 1.2s; }
.loading01Out .mastTitle01.inviewOn span:nth-child(25) { animation-delay: 1.25s; }

.effectTxt01 span { opacity: 0; display: inline-block; }

.loading01Out .effectTxt01.inviewOn span {
  animation: letter-glow3 1.6s 0s ease both;
}

.loading01Out .effectTxt01.inviewOn span:nth-child(1)  { animation-delay: 0.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(2)  { animation-delay: 0.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(3)  { animation-delay: 0.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(4)  { animation-delay: 0.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(5)  { animation-delay: 0.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(6)  { animation-delay: 0.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(7)  { animation-delay: 0.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(8)  { animation-delay: 0.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(9)  { animation-delay: 0.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(10) { animation-delay: 0.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(11) { animation-delay: 0.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(12) { animation-delay: 0.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(13) { animation-delay: 0.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(14) { animation-delay: 0.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(15) { animation-delay: 0.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(16) { animation-delay: 0.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(17) { animation-delay: 0.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(18) { animation-delay: 0.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(19) { animation-delay: 0.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(20) { animation-delay: 1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(21) { animation-delay: 1.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(22) { animation-delay: 1.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(23) { animation-delay: 1.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(24) { animation-delay: 1.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(25) { animation-delay: 1.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(26) { animation-delay: 1.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(27) { animation-delay: 1.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(28) { animation-delay: 1.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(29) { animation-delay: 1.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(30) { animation-delay: 1.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(31) { animation-delay: 1.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(32) { animation-delay: 1.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(33) { animation-delay: 1.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(34) { animation-delay: 1.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(35) { animation-delay: 1.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(36) { animation-delay: 1.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(37) { animation-delay: 1.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(38) { animation-delay: 1.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(39) { animation-delay: 1.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(40) { animation-delay: 2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(41) { animation-delay: 2.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(42) { animation-delay: 2.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(43) { animation-delay: 2.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(44) { animation-delay: 2.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(45) { animation-delay: 2.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(46) { animation-delay: 2.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(47) { animation-delay: 2.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(48) { animation-delay: 2.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(49) { animation-delay: 2.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(50) { animation-delay: 2.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(51) { animation-delay: 2.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(52) { animation-delay: 2.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(53) { animation-delay: 2.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(54) { animation-delay: 2.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(55) { animation-delay: 2.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(56) { animation-delay: 2.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(57) { animation-delay: 2.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(58) { animation-delay: 2.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(59) { animation-delay: 2.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(60) { animation-delay: 3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(61) { animation-delay: 3.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(62) { animation-delay: 3.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(63) { animation-delay: 3.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(64) { animation-delay: 3.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(65) { animation-delay: 3.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(66) { animation-delay: 3.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(67) { animation-delay: 3.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(68) { animation-delay: 3.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(69) { animation-delay: 3.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(70) { animation-delay: 3.5s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(71) { animation-delay: 3.55s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(72) { animation-delay: 3.6s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(73) { animation-delay: 3.65s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(74) { animation-delay: 3.7s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(75) { animation-delay: 3.75s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(76) { animation-delay: 3.8s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(77) { animation-delay: 3.85s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(78) { animation-delay: 3.9s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(79) { animation-delay: 3.95s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(80) { animation-delay: 4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(81) { animation-delay: 4.05s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(82) { animation-delay: 4.1s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(83) { animation-delay: 4.15s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(84) { animation-delay: 4.2s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(85) { animation-delay: 4.25s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(86) { animation-delay: 4.3s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(87) { animation-delay: 4.35s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(88) { animation-delay: 4.4s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(89) { animation-delay: 4.45s; }
.loading01Out .effectTxt01.inviewOn span:nth-child(90) { animation-delay: 4.5s; }

@keyframes letter-glow {
  0%   { opacity: 0; text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.1); }
  66%  { opacity: 0.9; text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.9); }
  77%  { opacity: 0.5; }
  100% { opacity: 1; text-shadow: 0px 0px 20px rgba(255, 255, 255, 0); }
}

@keyframes letter-glow2 {
  0%   { opacity: 0; text-shadow: 0px 0px 1px rgba(255, 255, 255, 0.1); }
  66%  { opacity: 0.9; text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.9); }
  77%  { opacity: 0.5; }
  85%  { opacity: 1; text-shadow: 0px 0px 20px rgba(255, 255, 255, 0); }
  100% { opacity: 1; text-shadow: 0 0 10px #000, 0 0 10px #000, 0 0 10px #000; }
}

@keyframes letter-glow3 {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}

/*--------------------------------------------------------------------
  modal
--------------------------------------------------------------------*/

.modalBox01 {
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 20001;
  overflow-y: scroll;
}

.modalBg01 {
  background-color: rgba(255, 255, 255, 0.7);
  height: 100%;
  width: 100%;
}

.modalInner01 {
  background-color: #FFF;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 15px rgba(100, 100, 100, 0.1);
}

.modalClose01 {
  cursor: pointer;
  position: absolute;
  right: 0;
  top: -40px;
  font-size: 3rem;
  color: #666;
}

@media screen and (min-width: 768px) {
  .modalInner01 { font-size: 0.9rem; line-height: 1.6em; }
  .modalInner01Pack01 { width: 700px; padding: 20px; }
}

@media screen and (max-width: 767px) {
  .modalInner01 { font-size: 0.8rem; line-height: 1.4em; margin: 40px 0 20px; }
  .modalInner01Pack01 { width: 90vw; padding: 15px; }
}

/*--------------------------------------------------------------------
  CTA Buttons（共通）
--------------------------------------------------------------------*/

.btnCtaReserve {
  display: inline-flex; align-items: center;
  padding: 14px 32px;
  background: #b22222; color: #fff;
  font-size: 1.5rem; font-weight: 700;
  border-radius: 4px; letter-spacing: .04em;
  transition: background .2s;
}
.btnCtaReserve:hover { background: #c92828; opacity: 1; }
.btnCtaTel {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 14px 32px;
  border: 1px solid rgba(255,255,255,.5); color: #fff;
  font-size: 1.5rem; font-weight: 700;
  border-radius: 4px; transition: background .2s;
}
.btnCtaTel:hover { background: rgba(255,255,255,.1); opacity: 1; }
.btnOutline.btnReserve { background: #b22222; color: #fff; border-color: #b22222; }
.btnOutline.btnReserve:hover { background: #c92828; border-color: #c92828; opacity: 1; }

/*--------------------------------------------------------------------
  Amenity List
--------------------------------------------------------------------*/

.amenityList { display: flex; flex-wrap: wrap; gap: 10px; }
.amenityItem { display: inline-flex; align-items: center; gap: 6px; padding: 8px 16px; background: #fff; border: 1px solid var(--border); border-radius: 4px; font-size: 1.35rem; }
.amenityItem::before { content: '✓'; color: var(--accent); font-weight: 700; }

/*--------------------------------------------------------------------
  Faci Badges
--------------------------------------------------------------------*/

.faciBadge { display: inline-block; font-size: 1.1rem; font-weight: 600; padding: 2px 8px; border-radius: 3px; line-height: 1.6; vertical-align: middle; }
.faciBadgeFree { background: #e8f4ee; color: var(--accent); border: 1px solid #b8ddc8; }
.faciBadgePaid { background: #fdf3e8; color: #a05a00; border: 1px solid #f0cc99; }

/*--------------------------------------------------------------------
  Spot / Access Badges
--------------------------------------------------------------------*/

.spotLabel { font-family: 'EB Garamond', serif; font-size: 1.1rem; letter-spacing: .22em; color: var(--text-sub); display: block; margin-bottom: 8px; }
.accessBadge { display: inline-flex; align-items: center; gap: 6px; background: var(--bg-gray); border: 1px solid var(--border); border-radius: 20px; padding: 4px 14px; font-size: 1.25rem; color: var(--text-sub); margin-top: 16px; }

/*--------------------------------------------------------------------
  Route Card
--------------------------------------------------------------------*/

.accessRouteCard { background: #fff; border-radius: 6px; border: 1px solid var(--border); overflow: hidden; }
.accessRouteCardHead { background: var(--bg-dark); color: #fff; padding: 18px 28px; display: flex; align-items: center; gap: 14px; }
.accessRouteCardHead .routeIcon { font-size: 2.2rem; line-height: 1; flex-shrink: 0; }
.accessRouteCardHead h3 { font-family: 'Shippori Mincho', serif; font-size: 1.8rem; font-weight: 600; letter-spacing: .06em; }
.accessRouteCardHead p { font-size: 1.2rem; color: rgba(255,255,255,.65); margin-top: 2px; }
.accessRouteCardBody { padding: 28px; }
.accessRouteItem { padding: 16px 0; border-bottom: 1px solid var(--border); }
.accessRouteItem:last-child { border-bottom: none; padding-bottom: 0; }
.accessRouteItem:first-child { padding-top: 0; }
.accessRouteFrom { font-size: 1.35rem; font-weight: 700; color: #2C2C2C; margin-bottom: 6px; }
.accessRouteStep { font-size: 1.3rem; color: var(--text-sub); line-height: 1.9; }
.accessRouteTime { display: inline-flex; align-items: center; gap: 4px; background: var(--bg-gray); border: 1px solid var(--border); border-radius: 20px; padding: 3px 12px; font-size: 1.2rem; color: var(--accent); font-weight: 700; margin-top: 8px; }

/*--------------------------------------------------------------------
  Category Card
--------------------------------------------------------------------*/

.catCard { background: #fff; border: 1px solid var(--border); border-radius: 6px; padding: 24px; }
.catCard h4 { font-size: 1.45rem; font-weight: 700; margin-bottom: 8px; line-height: 1.5; }
.catCard p { font-size: 1.3rem; color: var(--text-sub); line-height: 1.9; }
.catCard .accessBadge { margin-top: 10px; }
.catCard img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 4px; display: block; margin-bottom: 16px; }

/*--------------------------------------------------------------------
  FAQ Accordion
--------------------------------------------------------------------*/

.faqItem { border-bottom: 1px solid var(--border); }
.faqQuestion { display: flex; align-items: flex-start; gap: 14px; padding: 20px 8px 20px 0; cursor: pointer; user-select: none; -webkit-user-select: none; }
.faqQuestion:hover { opacity: .8; }
.faqQ { flex-shrink: 0; font-family: 'EB Garamond', serif; font-size: 2rem; color: var(--accent); line-height: 1.3; margin-top: -1px; }
.faqQText { flex: 1; font-size: 1.5rem; font-weight: 700; line-height: 1.65; color: #2C2C2C; }
.faqToggleIcon { flex-shrink: 0; width: 24px; height: 24px; margin-top: 2px; border: 1px solid var(--border); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-sub); font-size: 1.4rem; transition: background .2s, color .2s, transform .3s; line-height: 1; }
.faqQuestion.is-open .faqToggleIcon { background: var(--accent); color: #fff; border-color: var(--accent); transform: rotate(45deg); }
.faqAnswer { display: none; padding: 0 8px 24px 0; }
.faqAnswer.is-open { display: flex; }
.faqAnswerInner { display: flex; align-items: flex-start; gap: 14px; }
.faqA { flex-shrink: 0; font-family: 'EB Garamond', serif; font-size: 2rem; color: #b22222; line-height: 1.3; margin-top: -1px; }
.faqAText { flex: 1; font-size: 1.45rem; color: var(--text-sub); line-height: 2; }
.faqAText a { color: var(--accent); text-decoration: underline; }
.faqCategoryIcon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; background: var(--accent); border-radius: 50%; color: #fff; font-family: 'EB Garamond', serif; font-size: 1.4rem; font-weight: 400; }
