@charset "UTF-8";
:root {
  --base-font: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --sub-font: "Shippori Mincho", serif;
  --num-font: "Julius Sans One", sans-serif;
  --en-font: "Cinzel", serif;
  --base-color: #40362F;
  --base-color-rgb: 64,54,47;
  --color01: #fff;
  --color02: #150B00;
  --color03: #6D6331;
  --color03-rgb: 109,99,49;
  --color04: #9F6A4A;
  --color04-rgb: 159,106,74;
  --color05: #A68636;
  --color05-rgb: 166,134,54;
  --color06: #C89964;
  --color07: #88807C;
  --color07-rgb: 136,128,124;
  --color08: #D4AE4D;
  --color08-rgb: 212,174,77;
  --color09: #F8F7F5;
  --color09-rgb: 248,247,245;
  --color10: #6A625D;
  --color11: #FDFDFC;
  --color12: #B3AFAC;
  --color13: #F1EFEB;
  --color14: #F8F1E1;
  --color15: #52290D;
  --color15-rgb: 82,41,13;
  --color16: #9F9A97;
  --color17: #ECDBAF;
  --color17-rgb: 236,219,175;
  --color18: #C58156;
  --color18-rgb: 197,129,86;
  --color19: #6B786F;
  --color20: #5D544E;
  --color21: #664229;
  --color21-rgb: 102,66,41;
  --color22: #4F5E31;
  --color22-rgb: 79,94,49;
  --color23: #9C4F42;
  --color23-rgb: 156,79,66;
  --color24: #364254;
  --color24-rgb: 54,66,84;
  --color25: #8F550E;
  --color25-rgb: 143,85,14;
  --color26: #E7D29D;
  --color27: #706863;
  --color28: #DDBE71;
  --color29: #684F3E;
  --color29-rgb: 104,79,62;
  --color30: #BA9E81;
  --color31: #80693C;
  --color32: #816A3D;
  --color33: #536257;
  --color34: #D4D2D0;
  --color35: #000;
  --color36: #E9D6A6;
  --color37: #665E59;
  --color38: #485D68;
  --color38-rgb: 72,93,104;
  --color39: #657C27;
  --color39-rgb: 101,124,39;
  --color40: #AA7A49;
  --color40-rgb: 170,122,73;
  --color41: #96512B;
  --color41-rgb: 150,81,43;
  --color42: #231815;
  --color42-rgb: 35,24,21;
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-JYJ */
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* flex */
.flex, .flexA, .flexB, .flexC {
  display: flex;
  flex-wrap: wrap;
}

.flexA {
  justify-content: space-around;
}

.flexB {
  justify-content: space-between;
}

.flexC {
  justify-content: center;
}

.en {
  font-family: var(--en-font);
}

.min {
  font-family: var(--sub-font) !important;
}

/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
  margin: 0 auto;
  max-width: 100rem;
}
@media all and (max-width: 896px) {
  .content {
    margin: 0 2rem;
    width: auto !important;
    max-width: inherit !important;
  }
}

/*------------------------------------------------------------
	comList
------------------------------------------------------------*/
.comList {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.6rem;
}
.comList li {
  padding: 3rem 1rem 0;
  width: 14.8rem;
  aspect-ratio: 1/1;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.545;
  letter-spacing: 0.1em;
  text-align: center;
  border-radius: 100%;
  background: rgba(var(--color03-rgb), 0.8);
  font-family: var(--base-font);
  position: relative;
}
.comList li::before {
  content: "";
  position: absolute;
  left: 0.3rem;
  top: 0.3rem;
  right: 0.3rem;
  bottom: 0.3rem;
  border: 1px solid var(--color01);
  border-radius: inherit;
  opacity: 0.3;
}
.comList li.item02 {
  background: rgba(var(--color04-rgb), 0.8);
}
.comList li.item03 {
  background: rgba(var(--color05-rgb), 0.8);
}
.comList li.item04 {
  background: rgba(var(--color38-rgb), 0.8);
}
.comList li.item05 {
  background: rgba(var(--color39-rgb), 0.8);
}
.comList li.item06 {
  background: rgba(var(--color40-rgb), 0.8);
}
.comList li.item07 {
  background: rgba(var(--color41-rgb), 0.8);
}
.comList li .icon {
  margin: 0 auto 0.9rem;
  width: 3.7rem;
}
.comList li .number {
  font-weight: 400;
  font-size: 1.5rem;
  font-family: var(--sub-font);
  letter-spacing: 0.2em;
  display: block;
}
.comList li .number .num {
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.06em;
}
@media all and (max-width: 896px) {
  .comList {
    position: relative;
    gap: 1rem;
  }
  .comList li {
    padding: 2.2rem 0.5rem;
    width: 10rem;
    font-size: 0.9rem;
    line-height: 1.275;
    letter-spacing: 0.04em;
  }
  .comList li .icon {
    margin-bottom: 0.5rem;
    width: 2.5rem;
  }
  .comList li .number {
    margin-top: 0.3rem;
    font-size: 1rem;
  }
  .comList li .number .num {
    font-size: 1.3rem;
    line-height: 0.8;
  }
}

/*------------------------------------------------------------
	headLine
------------------------------------------------------------*/
.headLine01 {
  margin-bottom: 2.6rem;
  line-height: 1.25;
  font-size: 4rem;
  letter-spacing: 0.18em;
  font-weight: 400;
  font-family: var(--sub-font);
  text-align: center;
}
.headLine01 .en {
  margin-bottom: 1.2rem;
  font-size: 2.4rem;
  letter-spacing: 0.12em;
  color: var(--color08);
  display: block;
  font-family: var(--en-font);
  text-transform: uppercase;
}
.headLine01 .en::first-letter,
.headLine01 .en span::first-letter {
  font-size: 2.6rem;
  line-height: 1;
}
.headLine01 .en span {
  display: inline-block;
}
@media all and (max-width: 896px) {
  .headLine01 {
    margin-bottom: 1.6rem;
    font-size: 2.4rem;
    line-height: 1.309;
  }
  .headLine01 .en {
    margin-bottom: 0.7rem;
    font-size: 2rem;
    line-height: 1.4;
  }
  .headLine01 .en::first-letter,
  .headLine01 .en span::first-letter {
    font-size: 2.2rem;
    line-height: 1;
  }
}
.headLine02 {
  margin-bottom: 2.5rem;
  font-family: var(--sub-font);
  color: var(--color08);
  font-size: 5.8rem;
  font-weight: 400;
  line-height: 1.4;
  font-feature-settings: "palt";
}
.headLine02 small {
  margin-bottom: 0rem;
  font-size: 2.4rem;
  font-weight: 700;
  display: block;
  color: var(--color09);
  font-family: var(--base-font);
  letter-spacing: 0.12em;
}
.headLine02 .text {
  margin-left: -1.2rem;
  letter-spacing: -0.09em;
}
@media all and (max-width: 896px) {
  .headLine02 {
    margin-bottom: 0.6rem;
    font-size: 3.6rem;
    line-height: 1.431;
  }
  .headLine02 small {
    margin-bottom: 0.2rem;
    font-size: 1.5rem;
    line-height: 1.17;
  }
  .headLine02 .text {
    margin: 0 0.2rem;
    letter-spacing: 0.08em;
  }
}
.headLine03 {
  margin: 0 1rem 1.5rem;
  text-align: left;
  font-size: 3.6rem;
  letter-spacing: 0;
  font-weight: 400;
  font-family: var(--sub-font);
}
.headLine03 .en {
  margin: 0 1.2rem 0.3rem;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  display: block;
  color: var(--color08);
  font-family: var(--en-font);
}
.headLine03 .en::first-letter,
.headLine03 .en span::first-letter {
  font-size: 2.2rem;
  line-height: 1;
}
.headLine03 .en span {
  display: inline-block;
}
@media all and (max-width: 896px) {
  .headLine03 {
    margin: 0 0 0.6rem;
    font-size: 1.484rem;
  }
  .headLine03 .en {
    margin: 0 0 0rem;
    font-size: 1rem;
  }
  .headLine03 .en::first-letter,
  .headLine03 .en span::first-letter {
    font-size: 1.1rem;
    line-height: 1;
  }
}

/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.comBox {
  margin-bottom: 1rem;
}
.comBox:last-child {
  margin-bottom: 0;
}
.comBox .imgBox {
  margin: 0 auto;
  width: 122rem;
  padding: 5.8rem 5.9rem;
  display: flex;
  align-items: flex-start;
  color: var(--color01);
  background: var(--color10) url(../img/common/bg01.webp) no-repeat left top/30rem;
  gap: 4rem;
}
.comBox .imgBox .photoBox {
  width: 45.8rem;
  position: relative;
}
.comBox .imgBox .photoBox .posImg {
  width: 65.8rem;
  left: -4.8rem;
  bottom: -17.8rem;
  position: absolute;
}
.comBox .imgBox .photoBox .posImg > img {
  position: relative;
  z-index: 1;
}
.comBox .imgBox .photoBox .posImg .subText {
  width: 21.8rem;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.606rem;
  letter-spacing: 0.07em;
  line-height: 1.333;
  border-radius: 100%;
  text-align: center;
  position: absolute;
  color: var(--base-color);
  font-family: var(--sub-font);
  box-shadow: 0 0.2rem 0.9rem rgba(0, 0, 0, 0.1);
  font-feature-settings: "palt";
  background-color: rgba(var(--color09-rgb), 0.85);
}
.comBox .imgBox .photoBox .posImg .subText span {
  display: block;
  letter-spacing: 0.04em;
  position: relative;
  font-size: 2.606rem;
}
.comBox .imgBox .photoBox .posImg .subText span::after {
  margin: 0.8rem auto 0.7rem;
  width: 2.2rem;
  height: 1px;
  content: "";
  display: block;
  opacity: 0.3;
  background: var(--base-color);
}
.comBox .imgBox .photoBox .posImg .subText02 {
  right: 12.7rem;
  top: 2.5rem;
}
.comBox .imgBox .photoBox .posImg .subText01 {
  left: 9.6rem;
  bottom: 7.3rem;
  letter-spacing: -0.22em;
  font-size: 2.4rem;
}
.comBox .imgBox .textBox {
  padding: 1rem 0 0 0;
  flex: 1;
  text-align: justify;
}
.comBox .imgBox .textBox p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
}
.comBox .imgBox .textBox .col {
  color: var(--color08);
}
@media all and (max-width: 896px) {
  .comBox .imgBox {
    padding: 3.6rem 2rem 8.8vw;
    width: auto;
    margin: 0 2rem;
    display: block;
    background-size: 18.5rem;
  }
  .comBox .imgBox .photoBox {
    width: auto;
  }
  .comBox .imgBox .photoBox .posImg {
    width: 85.6vw;
    bottom: -13vw;
    left: 5vw;
  }
  .comBox .imgBox .photoBox .posImg .subText {
    width: 28.267vw;
    font-size: 3.467vw;
    line-height: 1.304;
    letter-spacing: 0.04em;
  }
  .comBox .imgBox .photoBox .posImg .subText span {
    font-size: 3.467vw;
    letter-spacing: 0.04em;
  }
  .comBox .imgBox .photoBox .posImg .subText span::after {
    margin: 3px auto 4px;
    width: 2.933vw;
  }
  .comBox .imgBox .photoBox .posImg .subText01 {
    left: 12.5vw;
    bottom: 9.8vw;
    font-size: 3.067vw;
    letter-spacing: -0.15em;
  }
  .comBox .imgBox .photoBox .posImg .subText02 {
    right: 16.533vw;
    top: 3.2vw;
  }
  .comBox .imgBox .textBox {
    padding: 0 0 2.3rem;
  }
  .comBox .imgBox .textBox p {
    font-size: 1.4rem;
    line-height: 2;
  }
}
.comBox .chartBox {
  margin: 8.6rem auto 0;
  padding-bottom: 7.5rem;
  position: relative;
}
.comBox .chartBox::after {
  content: "";
  width: 30rem;
  aspect-ratio: 30/54;
  position: absolute;
  right: 0;
  bottom: -25.2rem;
  pointer-events: none;
  background: url(../img/common/bg02.webp) no-repeat center center/100%;
}
.comBox .chartBox .content {
  position: relative;
}
.comBox .chartBox .textBox {
  width: fit-content;
  text-align: left;
  position: absolute;
  left: 0;
  top: -0.3rem;
  color: var(--base-color);
  z-index: 1;
}
.comBox .chartBox .textBox .number {
  font-size: 8.5rem;
  font-style: italic;
  font-weight: 400;
  color: var(--base-color);
  font-family: var(--sub-font);
  line-height: 1;
}
.comBox .chartBox .textBox .number .num {
  font-size: 11.427rem;
  font-family: var(--en-font);
  letter-spacing: 0.02em;
}
.comBox .chartBox .image {
  position: relative;
}
.comBox .chartBox .image img {
  width: 100%;
}
.comBox .chartBox .image .rowNum {
  padding: 0 7rem 0 3.6rem;
  width: 100%;
  position: absolute;
  left: 0;
  top: calc(100% - 1.2rem);
  font-size: 1.287rem;
  line-height: 1.3;
  font-weight: 700;
  display: flex;
  justify-content: space-between;
}
.comBox .chartBox .image .rowNum li {
  width: 4rem;
  flex-shrink: 0;
  text-align: center;
}
@media all and (max-width: 896px) {
  .comBox .chartBox .image .rowNum {
    padding: 0 12.8vw 0 5.6vw;
    font-size: 2.4vw;
    top: calc(100% - 2.133vw);
  }
  .comBox .chartBox .image .rowNum li {
    width: 6.933vw;
  }
}
.comBox .chartBox .image .columNum {
  position: absolute;
  left: calc(100% - 2.6rem);
  top: -0.3rem;
  width: 3rem;
  font-weight: 500;
  font-size: 1.188rem;
  line-height: 1.5;
}
.comBox .chartBox .image .columNum li + li {
  margin-top: 4.3rem;
}
@media all and (max-width: 896px) {
  .comBox .chartBox .image .columNum {
    width: 6.667vw;
    font-size: 2.4vw;
    left: calc(100% - 5.333vw);
    top: -0.8vw;
  }
  .comBox .chartBox .image .columNum li {
    height: 3.6vw;
  }
  .comBox .chartBox .image .columNum li + li {
    margin-top: 6.933vw;
  }
}
.comBox .chartBox .image .detailNum {
  padding: 0 7rem 0 3.6rem;
  display: flex;
  width: 100%;
  height: 100%;
  position: absolute;
  justify-content: space-between;
  left: 0;
  top: 0;
  font-size: 1.585rem;
  font-family: var(--num-font);
  font-style: italic;
  font-weight: 300;
}
.comBox .chartBox .image .detailNum li {
  margin-top: 2.7rem;
  width: 4rem;
  flex-shrink: 0;
  text-align: center;
}
.comBox .chartBox .image .detailNum li:nth-child(1) {
  margin-top: 34.3rem;
}
.comBox .chartBox .image .detailNum li:nth-child(2) {
  margin-top: 34.2rem;
}
.comBox .chartBox .image .detailNum li:nth-child(3) {
  margin-top: 33.1rem;
}
.comBox .chartBox .image .detailNum li:nth-child(4) {
  margin-top: 32rem;
}
.comBox .chartBox .image .detailNum li:nth-child(5) {
  margin-top: 31rem;
}
.comBox .chartBox .image .detailNum li:nth-child(6) {
  margin-top: 29.8rem;
}
.comBox .chartBox .image .detailNum li:nth-child(7) {
  margin-top: 28.5rem;
}
.comBox .chartBox .image .detailNum li:nth-child(8) {
  margin-top: 27.4rem;
}
.comBox .chartBox .image .detailNum li:nth-child(9) {
  margin-top: 26rem;
}
.comBox .chartBox .image .detailNum li:nth-child(10) {
  margin-top: 24.3rem;
}
.comBox .chartBox .image .detailNum li:nth-child(11) {
  margin-top: 22rem;
}
.comBox .chartBox .image .detailNum li:nth-child(12) {
  margin-top: 19.7rem;
}
.comBox .chartBox .image .detailNum li:nth-child(13) {
  margin-top: 17rem;
}
.comBox .chartBox .image .detailNum li:nth-child(14) {
  margin-top: 14.2rem;
}
.comBox .chartBox .image .detailNum li:nth-child(15) {
  margin-top: 10.9rem;
}
.comBox .chartBox .image .detailNum li:nth-child(16) {
  margin-top: 7.9rem;
}
.comBox .chartBox .image .detailNum li:nth-child(17) {
  margin-top: 5.6rem;
}
@media all and (max-width: 896px) {
  .comBox .chartBox .image .detailNum {
    font-size: 2.744vw;
    padding: 0 12.8vw 0 5.6vw;
  }
  .comBox .chartBox .image .detailNum li {
    width: 6.933vw;
    margin-top: 4.8vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(11) {
    margin-top: 38.4vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(12) {
    margin-top: 34.4vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(13) {
    margin-top: 29.6vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(14) {
    margin-top: 24.8vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(15) {
    margin-top: 18.933vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(16) {
    margin-top: 13.6vw;
  }
  .comBox .chartBox .image .detailNum li:nth-child(17) {
    margin-top: 9.867vw;
  }
}
@media all and (max-width: 896px) {
  .comBox .chartBox {
    margin: 9.067vw 5.333vw 0;
    padding-bottom: 4.2rem;
  }
  .comBox .chartBox .content {
    margin: 0;
  }
  .comBox .chartBox::after {
    width: 18rem;
    bottom: -12.8rem;
    right: -5.333vw;
  }
  .comBox .chartBox .textBox {
    top: 0;
  }
  .comBox .chartBox .textBox .number {
    font-size: 3.5rem;
  }
  .comBox .chartBox .textBox .number .num {
    font-size: 4.711rem;
  }
  .comBox .chartBox .image {
    margin: 0 -0.8vw 0 3.2vw;
  }
  .comBox .chartBox .image img {
    width: 100%;
  }
}
.comBox .caseBox .headLine03 {
  margin: 0 auto -2.4rem;
  width: 98rem;
  position: relative;
  z-index: 2;
}
.comBox .caseBox .headLine03 .en {
  margin-bottom: 0;
}
.comBox .caseBox .headLine03 .jp {
  margin-left: 1.5rem;
}
.comBox .caseBox .cardList {
  margin: 0 auto;
  width: 100rem;
}
.comBox .caseBox .cardList .slick-list {
  overflow: visible !important;
}
.comBox .caseBox .cardList .slick-arrow {
  width: 7rem;
  height: 7rem;
  position: absolute;
  left: -3rem;
  top: 50%;
  font-size: 0;
  transform: translateY(-50%) scaleX(-1);
  transition: opcity 0.3s;
  background: url(../img/common/arrow01.webp) no-repeat center center/2rem;
  border-radius: 100%;
  border: 1px solid var(--color34);
  cursor: pointer;
  z-index: 3;
  transition: opacity 0.3s;
}
@media all and (min-width: 1025px) {
  .comBox .caseBox .cardList .slick-arrow:hover {
    opacity: 0.6;
  }
}
.comBox .caseBox .cardList .slick-next {
  left: auto;
  right: -3rem;
  transform: translateY(-50%);
}
.comBox .caseBox .cardList .card {
  margin: 0 5.7rem;
  padding: 4.7rem 3.8rem 4.8rem;
  width: 87.6rem !important;
  display: block !important;
  background-color: var(--color11);
}
.comBox .caseBox .cardList .card .photoUl {
  margin-bottom: 2rem;
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  justify-content: space-between;
}
.comBox .caseBox .cardList .card .photoUl li {
  width: calc(50% - 0.4rem);
  position: relative;
  aspect-ratio: 396/219;
}
.comBox .caseBox .cardList .card .photoUl li .text {
  padding: 0.5rem 0.5rem 0.9rem;
  width: fit-content;
  min-width: 10.7rem;
  text-align: center;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0;
  color: var(--color09);
  background: var(--base-color);
  text-transform: uppercase;
  font-family: var(--sub-font);
}
.comBox .caseBox .cardList .card .photoUl li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.comBox .caseBox .cardList .card .tabBox table {
  width: 100%;
  border-collapse: collapse;
}
.comBox .caseBox .cardList .card .tabBox table th,
.comBox .caseBox .cardList .card .tabBox table td {
  padding: 1.2rem 1rem;
  text-align: center;
  vertical-align: middle;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  font-weight: 500;
  word-break: break-all;
  border-top: 1px solid var(--color12);
  border-bottom: 1px solid var(--color12);
}
.comBox .caseBox .cardList .card .tabBox table tr:nth-child(2n) {
  background-color: var(--color13);
}
.comBox .caseBox .cardList .card .tabBox table th {
  width: 27.5%;
}
.comBox .caseBox .cardList .card .tabBox table td {
  padding-left: 10rem;
  text-align: left;
  position: relative;
}
.comBox .caseBox .cardList .card .tabBox table td::before {
  content: "";
  width: 1px;
  top: 0.8rem;
  bottom: 0.8rem;
  position: absolute;
  left: 0.7rem;
  background-color: var(--color12);
}
@media all and (max-width: 896px) {
  .comBox .caseBox .headLine03 {
    margin: 0 0 0.3rem;
    width: auto;
    text-align: center;
    font-size: 2rem;
  }
  .comBox .caseBox .headLine03 .en {
    font-size: 1rem;
  }
  .comBox .caseBox .cardList {
    width: 100%;
  }
  .comBox .caseBox .cardList .slick-arrow {
    width: 3rem;
    height: 3rem;
    background-size: 1.1rem;
  }
  .comBox .caseBox .cardList .slick-prev {
    left: 1rem;
  }
  .comBox .caseBox .cardList .slick-next {
    right: 1rem;
  }
  .comBox .caseBox .cardList .card {
    margin: 0 2rem;
    padding: 1.9rem 3.1rem;
    width: calc(100vw - 4rem) !important;
  }
  .comBox .caseBox .cardList .card .photoUl {
    margin-bottom: 1.1rem;
    gap: 0;
  }
  .comBox .caseBox .cardList .card .photoUl li {
    width: calc(50% - 0.2rem);
  }
  .comBox .caseBox .cardList .card .photoUl li .text {
    padding: 0.2rem;
    min-width: 5.2rem;
    font-size: 1.017rem;
    letter-spacing: 0em;
  }
  .comBox .caseBox .cardList .card .tabBox table th,
  .comBox .caseBox .cardList .card .tabBox table td {
    padding: 0.5rem 0.2rem;
    font-size: 1.222rem;
    letter-spacing: 0.13em;
  }
  .comBox .caseBox .cardList .card .tabBox table th {
    width: 24.8%;
  }
  .comBox .caseBox .cardList .card .tabBox table td {
    padding-left: 4rem;
  }
  .comBox .caseBox .cardList .card .tabBox table td::before {
    left: 0.9rem;
    top: 0.5rem;
    bottom: 0.5rem;
  }
}
.comBox02 {
  padding: 10.7rem 0 12.4rem;
  background: var(--color14);
  position: relative;
}
.comBox02::before {
  width: 100%;
  height: 10.8rem;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  background: linear-gradient(to bottom, var(--color09) 0%, var(--color14) 100%);
  pointer-events: none;
}
.comBox02 .imgBox {
  margin-bottom: 10rem;
  padding-left: 6.7rem;
  width: 120rem;
  z-index: 1;
  position: relative;
  flex-direction: row-reverse;
  gap: 4.8rem;
  background-color: rgba(var(--color15-rgb), 0.6);
}
@media all and (min-width: 897px) {
  .comBox02 .imgBox .headLine02 {
    font-size: 5.429rem;
    margin-bottom: 1.7rem;
  }
  .comBox02 .imgBox .headLine02 small {
    margin-bottom: 0.8rem;
    font-size: 1.846rem;
  }
  .comBox02 .imgBox .textBox p {
    font-size: 1.737rem;
    line-height: 2.125;
  }
  .comBox02 .imgBox .photoBox {
    width: 43.8rem;
  }
  .comBox02 .imgBox .photoBox .posImg {
    width: 71rem;
    left: -13.4rem;
    bottom: -16rem;
  }
  .comBox02 .imgBox .photoBox .posImg .subText01 {
    font-size: 3.241rem;
    line-height: 1.333;
    bottom: 17rem;
    left: 9rem;
    letter-spacing: 0.05em;
  }
  .comBox02 .imgBox .photoBox .posImg .subText02 {
    top: auto;
    bottom: 8.4rem;
    right: 17.8rem;
    padding-top: 0.7rem;
  }
  .comBox02 .imgBox .photoBox .posImg .subText02 span {
    letter-spacing: -0.04em;
  }
  .comBox02 .imgBox .photoBox .posImg .subText02 span::after {
    margin: 0.5rem auto 0.6rem;
  }
  .comBox02 .imgBox .photoBox .posImg .subText02 span:last-child::after {
    display: none;
  }
}
.comBox02 .chartBox {
  padding-bottom: 6rem;
}
.comBox02 .chartBox .headLine03 .en {
  margin-left: 0;
}
.comBox02 .caseBox .cardList .card {
  background-color: var(--color09);
}
@media all and (max-width: 896px) {
  .comBox02 {
    padding: 3.9rem 0 6.3rem;
  }
  .comBox02 .imgBox {
    margin: 0 2rem 12.8vw;
    padding: 3.6rem 2rem 10.4vw;
    width: auto;
  }
  .comBox02 .imgBox .photoBox .posImg {
    width: 104vw;
    bottom: -17vw;
    left: -3.8rem;
  }
  .comBox02 .imgBox .photoBox .posImg .subText {
    width: 31.733vw;
  }
  .comBox02 .imgBox .photoBox .posImg .subText01 {
    font-size: 4.728vw;
    line-height: 1.333;
    left: 13.3vw;
    bottom: 25vw;
    letter-spacing: 0.03em;
  }
  .comBox02 .imgBox .photoBox .posImg .subText span::after {
    margin: 3px auto 6px;
  }
  .comBox02 .imgBox .photoBox .posImg .subText span:last-child::after {
    display: none;
  }
  .comBox02 .imgBox .photoBox .posImg .subText span {
    letter-spacing: -0.05em;
    font-size: 3.803vw;
  }
  .comBox02 .imgBox .photoBox .posImg .subText02 {
    padding-top: 0.8vw;
    right: 25.6vw;
    top: 16.3vw;
  }
  .comBox02 .chartBox {
    padding-bottom: 4.1rem;
  }
}

/*------------------------------------------------------------
	comBtnUl
------------------------------------------------------------*/
.comBtnUl {
  display: flex;
  flex-wrap: wrap;
}
.comBtnUl li {
  width: 50%;
}
.comBtnUl li a {
  padding: 0 3.2rem 1rem 0;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  border-left: 1px solid var(--color16);
  font-family: var(--sub-font);
  gap: 1.3rem;
  background: url(../img/common/arrow02.webp) no-repeat center right 6.3rem/4rem;
  background-color: #fff;
}
.comBtnUl li a img {
  width: 5.2rem;
}
@media all and (min-width: 1025px) {
  .comBtnUl li a:hover {
    background-color: var(--color08);
  }
}
.comBtnUl li:nth-child(2n) a {
  border-right: 1px solid var(--color16);
}
@media all and (max-width: 896px) {
  .comBtnUl li a {
    padding: 0.5rem 2rem 0.8rem 0.5rem;
    height: 4.8rem;
    font-size: 1.5rem;
    gap: 0.2rem;
    letter-spacing: 0.02em;
    background-size: 1.8rem;
    background-position: center right 0.8rem;
  }
  .comBtnUl li a img {
    width: 2.2rem;
  }
}

.comBtnList {
  display: flex;
  gap: 2rem;
}
.comBtnList li {
  width: fit-content;
}
.comBtnList li a {
  width: 14.4rem;
  height: 4.2rem;
  border-radius: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.16em;
  line-height: 1.05;
  gap: 0.5rem;
  font-family: var(--sub-font);
}
.comBtnList li a > * {
  position: relative;
  z-index: 1;
}
.comBtnList li a small {
  font-size: 0.9rem;
  letter-spacing: 0.1em;
  display: block;
  font-family: var(--base-font);
}
.comBtnList li a img {
  width: 1.6rem;
}
.comBtnList li a::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: inherit;
  background: #8D784D;
  pointer-events: none;
}
@media all and (min-width: 1025px) {
  .comBtnList li a:hover {
    opacity: 0.6;
  }
}
.comBtnList li.btn02 ::after {
  background: var(--color07);
}
.comBtnList li.btn03 a {
  letter-spacing: 0;
}
.comBtnList li.btn03 ::after {
  background: #A86E4D;
}
.comBtnList li.btn04 a {
  font-family: var(--num-font);
  letter-spacing: 0;
}
.comBtnList li.btn04 a::after {
  background: var(--color19);
}
@media all and (min-width: 897px) {
  .comBtnList li.btn04 a {
    padding-left: 2rem !important;
    gap: 0rem !important;
  }
  .comBtnList li.btn04 a small {
    margin-top: 0.3rem;
    font-size: clamp(8px, 0.7320644217vw, 1rem) !important;
    letter-spacing: 0.14em;
  }
}
.comBtnList.spFixdBtn {
  width: 100%;
  height: 5.6rem;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1000;
  gap: 0;
}
.comBtnList.spFixdBtn li {
  width: 25%;
  height: 100%;
}
.comBtnList.spFixdBtn li a {
  padding: 0.8rem 0.3rem 0.8rem;
  width: 100%;
  height: 100%;
  border-radius: 0;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
}
.comBtnList.spFixdBtn li a img {
  width: 2.2rem;
}
.comBtnList.spFixdBtn li.btn04 a {
  font-family: var(--sub-font);
}

/*------------------------------------------------------------
	comAccessBox
------------------------------------------------------------*/
.comAccessBox {
  padding: 10.4rem 0 9.7rem;
  background: url(../img/common/bg03.webp) no-repeat center top/cover;
}
.comAccessBox .content {
  max-width: 110rem;
}
@media all and (max-width: 896px) {
  .comAccessBox {
    padding: 5.3rem 0 6.5rem;
  }
}
.comAccessBox .innerBox {
  margin: 0 auto;
  display: flex;
  gap: 8.3rem;
}
.comAccessBox .innerBox .mapBox {
  width: 63.4rem;
}
.comAccessBox .innerBox .mapBox .map {
  width: 100%;
  aspect-ratio: 634/511;
}
.comAccessBox .innerBox .mapBox .map iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.comAccessBox .innerBox .textBox {
  flex: 1;
}
.comAccessBox .innerBox .textBox .headLine03 {
  margin-bottom: 4.8rem;
  font-size: 5.2rem;
  letter-spacing: 0.2em;
}
.comAccessBox .innerBox .textBox .headLine03 .en {
  margin-left: 0;
  font-size: 2.4rem;
}
.comAccessBox .innerBox .textBox .headLine03 .en span {
  display: inline-block;
}
.comAccessBox .innerBox .textBox .headLine03 .en span::first-letter {
  font-size: 2.6rem;
}
.comAccessBox .innerBox .textBox .headLine03 .jp {
  display: block;
  line-height: 1.2;
}
.comAccessBox .innerBox .textBox .logo {
  margin-bottom: 4.5rem;
  width: 37.1rem;
}
.comAccessBox .innerBox .textBox .logo a {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.13rem;
}
.comAccessBox .innerBox .textBox .logo a span {
  margin-bottom: 0.9rem;
  display: block;
}
@media all and (max-width: 896px) {
  .comAccessBox .innerBox {
    display: block;
  }
  .comAccessBox .innerBox .mapBox {
    width: 100%;
  }
  .comAccessBox .innerBox .mapBox .map {
    aspect-ratio: 335/270;
  }
  .comAccessBox .innerBox .textBox {
    margin-bottom: 3rem;
  }
  .comAccessBox .innerBox .textBox .headLine03 {
    margin-bottom: 3.6rem;
    text-align: center;
  }
  .comAccessBox .innerBox .textBox .headLine03 .en {
    font-size: 2rem;
  }
  .comAccessBox .innerBox .textBox .headLine03 .en::first-letter,
  .comAccessBox .innerBox .textBox .headLine03 .en span::first-letter {
    font-size: 2.2rem;
    line-height: 1;
  }
  .comAccessBox .innerBox .textBox .headLine03 .en span {
    display: inline-block;
  }
  .comAccessBox .innerBox .textBox .headLine03 .jp {
    font-size: 3.8rem;
    line-height: 1.2;
    letter-spacing: 0.18em;
  }
  .comAccessBox .innerBox .textBox .logo {
    margin-bottom: 3.1rem;
    width: 33.3rem;
  }
  .comAccessBox .innerBox .textBox .logo a {
    font-size: 1.254rem;
  }
  .comAccessBox .innerBox .textBox .logo a span {
    margin-bottom: 0.7rem;
  }
}
.comAccessBox .tabNotes {
  margin: 1rem 4px 3.5rem;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-align: right;
  font-feature-settings: initial;
}
@media all and (max-width: 896px) {
  .comAccessBox .tabNotes {
    margin: 1rem 0.4rem 2rem;
  }
}
.comAccessBox .addressUl {
  font-size: 1.4rem;
  line-height: 1.571;
  letter-spacing: 0.14em;
  font-weight: 500;
  font-feature-settings: normal;
}
.comAccessBox .addressUl img {
  width: 1.9rem;
  position: absolute;
  left: 0;
  top: 0.2rem;
}
.comAccessBox .addressUl li {
  margin-right: -2rem;
  padding-left: 3rem;
  position: relative;
}
.comAccessBox .addressUl li + li {
  margin-top: 2.3rem;
}
.comAccessBox .addressUl li.item img {
  top: -0.2rem;
}
@media all and (max-width: 896px) {
  .comAccessBox .addressUl li + li {
    margin-top: 1.4rem;
  }
}
.comAccessBox .timeTab {
  width: 38rem;
  border-collapse: collapse;
}
.comAccessBox .timeTab th, .comAccessBox .timeTab td {
  padding: 0.9rem 0 0.5rem;
  text-align: center;
  vertical-align: middle;
  font-size: 1.4rem;
  letter-spacing: 0.12em;
  font-weight: 500;
}
.comAccessBox .timeTab th:first-child, .comAccessBox .timeTab td:first-child {
  width: 13.5rem;
}
.comAccessBox .timeTab th:last-child, .comAccessBox .timeTab td:last-child {
  padding-right: 1.4rem;
  width: 5.3rem;
}
.comAccessBox .timeTab th {
  padding: 0.9rem 0 0.5rem;
  background-color: rgba(var(--color17-rgb), 0.83);
}
.comAccessBox .timeTab td {
  padding-top: 0.6rem;
  border-bottom: 1px solid rgba(var(--base-color-rgb), 0.1);
}
@media all and (max-width: 896px) {
  .comAccessBox .timeTab {
    width: 100%;
  }
  .comAccessBox .timeTab th:first-child, .comAccessBox .timeTab td:first-child {
    padding-right: 0;
    width: 12rem;
  }
  .comAccessBox .timeTab th:last-child, .comAccessBox .timeTab td:last-child {
    padding-right: 1rem;
  }
  .comAccessBox .timeTab th {
    padding: 0.9rem 0.2rem 0.5rem;
    font-size: 1.4rem;
  }
  .comAccessBox .timeTab .list01 td {
    padding-top: 0.7rem;
  }
  .comAccessBox .timeTab td {
    padding-top: 0;
  }
  .comAccessBox .timeTab td img {
    width: 1.3rem;
  }
}
.comAccessBox .comBtnList {
  margin-top: 6.3rem;
  gap: 2.199rem;
  z-index: 1;
  position: relative;
}
.comAccessBox .comBtnList li {
  width: calc((100% - 6.6rem) / 4);
}
.comAccessBox .comBtnList li a {
  padding: 0.5rem 3.7rem 0.5rem 3.1rem;
  width: 100%;
  height: 7.6rem;
  font-size: 2.1rem;
  gap: 1.2rem;
  justify-content: flex-start;
}
@media all and (min-width: 1025px) {
  .comAccessBox .comBtnList li a:hover {
    opacity: 0.6;
  }
}
.comAccessBox .comBtnList li a::before {
  content: "";
  width: 2rem;
  height: 2rem;
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/common/arrow03.webp) no-repeat center right/100%;
  z-index: 1;
}
.comAccessBox .comBtnList li a img {
  width: 4rem;
}
.comAccessBox .comBtnList li a small {
  margin-top: 0.5rem;
  font-size: 1.2rem;
}
.comAccessBox .comBtnList li.btn03 a small {
  margin-bottom: 0.2rem;
  margin-top: 0;
}
.comAccessBox .comBtnList li.btn03 a::after {
  background: var(--color18);
}
@media all and (max-width: 896px) {
  .comAccessBox .comBtnList {
    margin-top: 4rem;
    display: block;
  }
  .comAccessBox .comBtnList li {
    width: 100%;
  }
  .comAccessBox .comBtnList li + li {
    margin-top: 1.6rem;
  }
  .comAccessBox .comBtnList li a {
    padding: 0.5rem 4rem 0.5rem 2rem;
    width: 100%;
    height: 7rem;
    font-size: 1.8rem;
    justify-content: center;
  }
  .comAccessBox .comBtnList li a img {
    width: 3.2rem;
  }
  .comAccessBox .comBtnList li a span {
    min-width: 10.8rem;
  }
  .comAccessBox .comBtnList li a small {
    font-size: 1rem;
  }
  .comAccessBox .comBtnList li a::before {
    right: 3rem;
  }
  .comAccessBox .comBtnList li.btn03 a {
    gap: 0.5rem;
  }
  .comAccessBox .comBtnList li.btn03 a img {
    width: 3.7rem;
  }
  .comAccessBox .comBtnList li.btn03 a small {
    font-size: 1.1rem;
    margin-bottom: 0.2rem;
  }
  .comAccessBox .comBtnList li.btn04 a {
    gap: 0.3rem;
    letter-spacing: 0.03em;
  }
  .comAccessBox .comBtnList li.btn04 a img {
    width: 3.5rem;
  }
}

/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn a {
  margin: 0 auto;
  width: fit-content;
  min-width: 34.4rem;
  min-height: 7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 400;
  font-family: var(--sub-font);
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  border-radius: 7rem;
  border: 1px solid rgba(var(--base-color-rgb), 0.4);
  background: url(../img/common/arrow01.webp) no-repeat center right 2.5rem/1.8rem;
}
@media all and (min-width: 1025px) {
  .comBtn a:hover {
    opacity: 0.6;
  }
}
@media all and (max-width: 896px) {
  .comBtn a {
    padding-right: 2rem;
    min-width: 100%;
    min-height: 6.6rem;
    font-size: 1.6rem;
  }
}

/*------------------------------------------------------------
	comText
------------------------------------------------------------*/
.comText {
  width: 17.8rem;
  aspect-ratio: 1/1;
  font-weight: 400;
  font-size: 2.2rem;
  line-height: 1.227;
  letter-spacing: 0em;
  text-align: center;
  border-radius: 100%;
  color: var(--color09);
  background: rgba(var(--color21-rgb), 0.9);
  font-family: var(--sub-font);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -3.2rem;
  top: 1.4rem;
  line-height: 1.227;
}
.comText02 {
  background: rgba(var(--color22-rgb), 0.9);
}
.comText03 {
  background: rgba(var(--color23-rgb), 0.9);
}
.comText03 p {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.15;
  row-gap: 0.3rem;
}
.comText03 p > span,
.comText03 p > small {
  display: block;
  line-height: 1.15;
}
.comText03 p > span > .col,
.comText03 p > span > small {
  display: inline;
}
.comText03 small {
  letter-spacing: 0;
  line-height: 1.15;
}
.comText04 {
  background: rgba(var(--base-color-rgb), 0.9);
}
.comText05 {
  background: rgba(var(--color24-rgb), 0.9);
}
.comText06 {
  background: rgba(var(--color25-rgb), 0.9);
}
.comText07 {
  background: rgba(var(--color18-rgb), 0.9);
}
.comText span {
  display: inline-block;
}
.comText .col {
  display: inline;
  font-weight: 400;
}
.comText .col ~ small {
  display: inline;
}
.comText small {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 1.428;
  font-weight: 500;
  font-family: var(--base-font);
  display: inline-block;
}
.comText small .col {
  font-weight: 400;
}
.comText::before {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  right: 0.5rem;
  bottom: 0.5rem;
  border: 1px solid var(--color01);
  border-radius: inherit;
  opacity: 0.3;
}
@media all and (max-width: 896px) {
  .comText {
    width: 11.3rem;
    font-size: 1.408rem;
    line-height: 1.227;
    right: -1rem;
    top: auto;
    bottom: -0.8rem;
  }
  .comText::before {
    left: 0.3rem;
    top: 0.3rem;
    right: 0.3rem;
    bottom: 0.3rem;
  }
  .comText small {
    font-size: 0.896rem;
    letter-spacing: 0.08em;
    line-height: 1.343;
  }
  .comText03 small {
    letter-spacing: 0;
    line-height: 1.15;
  }
}/*# sourceMappingURL=common.css.map */