:root {
  --base-font: "Noto Sans JP", sans-serif;
  --sub-font: "Noto Serif JP", serif;
  --en-font: "Baskervville SC", serif;
  --en-font2: "Aboreto", system-ui;
  --base-color: #515A6F;
  --grey2: #F6F7F9;
  --grey3: #F9F9F9;
  --white: #fff;
  --white80: rgba(255,255,255,0.8);
  --white70: rgba(255,255,255,0.7);
  --white40: rgba(255,255,255,0.4);
  --green: #0AB34F;
  --green2: #00AE47;
  --brown02: #59A6B6;
  --blk: #525252;
  --blk4: rgba(0, 0, 0, 0.6);
  --blk6: rgba(0, 0, 0, 0.06);
  --blk7: rgba(0, 0, 0, 0.7);
  --purple: #765D84;
  --pink: #F1688A;
  --blue1: #79CEDF;
  --blue2: #87DEF0;
  --blue3: #F6F7F9;
  --yellow: #FFFBA9;
  --linear1: linear-gradient(180deg, rgba(89, 166, 182, 0.00) 0%, #59A6B6 100%);
  --linear2: linear-gradient(180deg, rgba(87, 91, 111, 0.00) 0%, rgba(87, 91, 111, 0.20) 10%, rgba(87, 91, 111, 0.20) 60%, rgba(87, 91, 111, 0.00) 100%);
  --linear3: linear-gradient(90deg, #F7F7F7 0%, rgba(255, 255, 255, 0.00) 100%);
  --linear4: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, #F7F7F7 100%);
  --linear5: linear-gradient(180deg, rgba(147, 193, 202, 0.00) 0%, #93C1CA 100%);
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .mainVisual {
  margin: 0 2rem -19.5rem;
  position: relative;
  z-index: 5;
  min-height: 76rem;
  background: #FFF url(../img/index/main_bg.webp) no-repeat center right/149.6rem;
  border-radius: 1.6rem;
}
#main .mainVisual .inner {
  margin: 0 auto;
  max-width: 143rem;
  padding: 3.4rem 2rem;
  box-sizing: content-box;
}
#main .mainVisual .inner .textBox .textImg {
  margin-bottom: -1rem;
  width: 40rem;
}
#main .mainVisual .inner .textBox .subBox {
  margin: 0 auto;
  max-width: 117.6rem;
}
#main .mainVisual .inner .textBox .subBox .title {
  margin-bottom: 0.1rem;
  font-family: var(--sub-font);
  line-height: 1.55;
}
#main .mainVisual .inner .textBox .subBox .title .sub {
  font-size: 3.8rem;
  letter-spacing: 0.76rem;
}
#main .mainVisual .inner .textBox .subBox .title small {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.48rem;
}
#main .mainVisual .inner .textBox .subBox .title .big {
  margin-top: -2.7rem;
  display: block;
  color: var(--brown02);
  font-size: 10rem;
  font-weight: 200;
  letter-spacing: 1rem;
}
#main .mainVisual .inner .textBox .subBox .title .big small {
  color: var(--base-color);
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.4rem;
}
#main .mainVisual .inner .textBox .subBox h1 {
  margin-bottom: 2.9rem;
  padding: 0.1rem 1rem 0.2rem;
  max-width: 66rem;
  color: var(--white);
  font-weight: 300;
  letter-spacing: 0.42rem;
  text-align: center;
  background-color: var(--base-color);
  border-radius: 1.2rem;
}
#main .mainVisual .inner .textBox .subBox .textList {
  padding: 0 1rem;
  display: flex;
  flex-wrap: wrap;
}
#main .mainVisual .inner .textBox .subBox .textList li {
  position: relative;
  margin: 0 -1rem;
  padding: 3.2rem 0 0;
  width: 18rem;
  height: 18rem;
  border-radius: 50%;
  box-sizing: border-box;
  background-color: var(--white80);
}
#main .mainVisual .inner .textBox .subBox .textList li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid var(--brown02);
  border-radius: 50%;
  box-sizing: border-box;
  content: "";
  z-index: 5;
}
#main .mainVisual .inner .textBox .subBox .textList li .photo {
  margin: 0 auto 1.4rem;
  width: 7.6rem;
  position: relative;
  z-index: 6;
}
#main .mainVisual .inner .textBox .subBox .textList li .text {
  font-family: var(--sub-font);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.16rem;
  text-align: center;
  position: relative;
  z-index: 6;
}
#main .mainVisual .inner .textBox .subBox .textList li .text .number {
  font-size: 3rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
}
#main .mainVisual .inner .textBox .subBox .textList li .text .big {
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.18rem;
  line-height: 1.3;
}
@media all and (max-width: 896px) {
  #main .mainVisual {
    margin: 0 1rem -12rem;
    padding-bottom: 0.5rem;
    background-image: url(../img/index/main_bg_sp.webp);
    background-color: #FFF;
    min-height: 34rem;
    background-size: cover;
    background-position: center center;
    border-radius: 1.6rem;
  }
  #main .mainVisual .inner {
    margin: 0;
    max-width: inherit;
    padding: 3rem 1rem;
  }
  #main .mainVisual .inner .textBox .textImg {
    margin-bottom: 0rem;
    width: 20rem;
  }
  #main .mainVisual .inner .textBox .subBox {
    margin: 0 1rem;
    max-width: inherit;
  }
  #main .mainVisual .inner .textBox .subBox .title {
    margin-bottom: 1.4rem;
    line-height: 1.35;
  }
  #main .mainVisual .inner .textBox .subBox .title .sub {
    font-size: 2.4rem;
    letter-spacing: 0.43rem;
  }
  #main .mainVisual .inner .textBox .subBox .title small {
    font-size: 1.6rem;
    letter-spacing: 0.28rem;
  }
  #main .mainVisual .inner .textBox .subBox .title .big {
    margin-top: -0.6rem;
    font-size: 4rem;
    letter-spacing: 0.5rem;
  }
  #main .mainVisual .inner .textBox .subBox .title .big small {
    font-size: 2rem;
    letter-spacing: 0.24rem;
  }
  #main .mainVisual .inner .textBox .subBox h1 {
    margin-bottom: 1.8rem;
    padding: 0.3rem 1rem;
    max-width: inherit;
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
  }
  #main .mainVisual .inner .textBox .subBox .textList {
    margin: 0 -3.4rem -8.7rem;
    padding: 0;
  }
  #main .mainVisual .inner .textBox .subBox .textList li {
    margin: 0 -1.6vw;
    padding: 5.3vw 0 0;
    width: calc((100% + 12.7vw) / 4);
    height: auto;
    aspect-ratio: 1/1;
  }
  #main .mainVisual .inner .textBox .subBox .textList li .photo {
    margin: 0 auto 2.13vw;
    width: 12.2vw;
  }
  #main .mainVisual .inner .textBox .subBox .textList li .text {
    font-size: 2.4vw;
    line-height: 1.45;
  }
  #main .mainVisual .inner .textBox .subBox .textList li .text .number {
    font-size: 4.8vw;
  }
  #main .mainVisual .inner .textBox .subBox .textList li .text .big {
    font-size: 2.67vw;
  }
}
#main .issues {
  padding: 33rem 0 0;
  position: relative;
  background: url(../img/index/issues_bg.webp) no-repeat center top/100%;
}
#main .issues::before {
  position: absolute;
  top: 20rem;
  left: 0;
  width: 54rem;
  height: 55rem;
  background: url(../img/index/issues_img01.webp) no-repeat left top/100%;
  content: "";
}
#main .issues .hTitle {
  margin-bottom: 3.9rem;
  color: var(--white);
  font-family: var(--sub-font);
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.6rem;
}
#main .issues .hTitle .big {
  color: var(--purple);
  font-size: 6rem;
  letter-spacing: 1.2rem;
}
#main .issues .textList {
  margin-bottom: 4.7rem;
  padding: 3rem 0 2.9rem;
  border-top: 1px solid var(--white);
  border-bottom: 1px solid var(--white);
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 3.8rem;
}
#main .issues .textList li {
  width: fit-content;
  padding: 0.5rem 0 0.5rem 4.9rem;
  font-family: var(--sub-font);
  color: var(--purple);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.16rem;
  background: url(../img/common/icon05.webp) no-repeat left top 0.2rem/3.9rem;
}
#main .issues .text {
  margin-bottom: 6.5rem;
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.4rem;
  text-align: center;
}
#main .issues .textBox {
  margin-bottom: 8.1rem;
  padding-top: 8.8rem;
  position: relative;
}
#main .issues .textBox::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 32rem;
  height: 9.6rem;
  background: url(../img/index/issues_bg01.webp) no-repeat center bottom/100%;
  content: "";
}
#main .issues .textBox .h3Title {
  width: 54rem;
  font-size: 7rem;
  font-family: var(--sub-font);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.42rem;
}
#main .issues .textBox .h3Title .color {
  color: var(--brown02);
}
#main .issues .textBox .h3Title small {
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.18rem;
}
#main .issues .textBox .innText {
  margin-top: 5.3rem;
  width: calc(100% - 60rem);
  line-height: 2.4;
  letter-spacing: 0.196rem;
  text-align: justify;
}
#main .issues .textBox .innText .color01 {
  color: var(--pink);
}
@media all and (max-width: 896px) {
  #main .issues {
    padding: 19.3rem 0 0;
    background-image: url(../img/index/issues_bg_sp.webp);
  }
  #main .issues::before {
    top: 12rem;
    width: 17.5rem;
    height: 17.8rem;
  }
  #main .issues .hTitle {
    margin-bottom: 2.3rem;
    font-size: 2rem;
    letter-spacing: 0.36rem;
    line-height: 1.52;
  }
  #main .issues .hTitle .big {
    font-size: 3.2rem;
    letter-spacing: 0.57rem;
  }
  #main .issues .textList {
    margin: 0 0 3.1rem;
    padding: 1.4rem 0 1.2rem;
    display: block;
  }
  #main .issues .textList li {
    padding: 0.5rem 0 0.5rem 2.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.12rem;
    background: url(../img/common/icon05.webp) no-repeat left top 0.5rem/2.5rem;
  }
  #main .issues .text {
    margin-bottom: 3rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 0.28rem;
  }
  #main .issues .textBox {
    margin-bottom: 5rem;
    padding-top: 6.8rem;
    display: block;
  }
  #main .issues .textBox::before {
    width: 16rem;
    height: 4.8rem;
  }
  #main .issues .textBox .h3Title {
    width: auto;
    font-size: 3.2rem;
    letter-spacing: 0.192rem;
    text-align: center;
  }
  #main .issues .textBox .h3Title small {
    font-size: 2rem;
    letter-spacing: 0.12rem;
  }
  #main .issues .textBox .innText {
    margin: 2.1rem -1rem 0 0;
    width: auto;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
}
#main .complex {
  margin-top: -20rem;
  padding: 30rem 0 17.1rem;
  background: var(--linear2);
  position: relative;
}
#main .complex::before {
  position: absolute;
  bottom: 1px;
  left: -38rem;
  width: 76rem;
  height: 76.1rem;
  background: url(../img/index/complex_bg01.webp) no-repeat left top/100%;
  content: "";
}
#main .complex .inner {
  margin-bottom: 6rem;
}
#main .complex .inner .lBox .smallText {
  margin-bottom: 1.9rem;
  padding: 0 2.2rem 0 2.4rem;
  width: fit-content;
  font-size: 2rem;
  font-family: var(--sub-font);
  font-weight: 500;
  letter-spacing: 0.2rem;
  background: url(../img/common/line01.webp) no-repeat left top 0.2rem/1rem, url(../img/common/line02.webp) no-repeat right top 0.2rem/1rem;
}
#main .complex .inner .lBox .hTitle {
  margin-left: 1.1rem;
  height: 56rem;
  font-family: var(--sub-font);
  font-size: 4.2rem;
  font-weight: 500;
  -webkit-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1.45;
  letter-spacing: 0.3rem;
}
#main .complex .inner .lBox .hTitle .sub {
  margin-top: 10.2rem;
  display: block;
  letter-spacing: 0.8rem;
}
#main .complex .inner .lBox .hTitle .big {
  margin: 0.9rem 0;
  font-size: 7rem;
  font-weight: 400;
  letter-spacing: 0.6rem;
  color: var(--purple);
}
#main .complex .inner .rBox {
  margin-top: 5.1rem;
  position: relative;
  width: calc(100% - 23rem);
  box-sizing: border-box;
  padding-left: 7rem;
}
#main .complex .inner .rBox::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  border-left: 1px solid var(--base-color);
  content: "";
}
#main .complex .inner .rBox .title {
  margin-bottom: 3.1rem;
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.87;
  letter-spacing: 0.2rem;
}
#main .complex .inner .rBox .title .big {
  color: var(--purple);
  font-size: 4.2rem;
  font-weight: 500;
  letter-spacing: 0.42rem;
}
#main .complex .inner .rBox .title .bgText {
  background: -webkit-linear-gradient(var(--white), var(--white)) repeat-x center bottom 0.2rem/100% 1.2rem;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
#main .complex .inner .rBox .text {
  line-height: 2.4;
  letter-spacing: 0.196rem;
}
#main .complex .inner .rBox .topBox {
  margin-bottom: 10.2rem;
  position: relative;
}
#main .complex .inner .rBox .topBox .photoBox {
  position: absolute;
  top: -13.1rem;
  right: -23.8rem;
  width: 58rem;
}
#main .complex .inner .rBox .topBox .photoBox::before {
  position: absolute;
  top: 5rem;
  left: 5.9rem;
  width: 51.1rem;
  height: 56.4rem;
  background: url(../img/index/complex_bg02.webp) no-repeat left top/100%;
  content: "";
  z-index: 5;
}
#main .complex .inner .rBox .topBox .photoBox .photo {
  mix-blend-mode: difference;
  opacity: 0.8;
}
#main .complex .inner .rBox .topBox .textBox {
  padding-top: 5.8rem;
  max-width: 58rem;
}
#main .complex .inner .rBox .bottomBox {
  margin-left: -1.6rem;
}
#main .complex .inner .rBox .bottomBox .photoBox {
  position: relative;
}
#main .complex .inner .rBox .bottomBox .photoBox::before {
  position: absolute;
  top: -22rem;
  left: -22rem;
  width: 76rem;
  height: 76.1rem;
  background: url(../img/index/complex_bg01.webp) no-repeat left top/100%;
  content: "";
}
#main .complex .inner .rBox .bottomBox .photoBox .photo01 {
  width: 32rem;
  position: relative;
  z-index: 5;
  border-radius: 50%;
  overflow: hidden;
}
#main .complex .inner .rBox .bottomBox .photoBox .photo02 {
  position: absolute;
  top: 14.1rem;
  left: -34.5rem;
  width: 38rem;
}
#main .complex .inner .rBox .bottomBox .textBox {
  width: calc(100% - 35.5rem);
}
#main .complex .inner .rBox .bottomBox .textBox .title .bgText {
  padding-bottom: 0.7rem;
  background: -webkit-linear-gradient(var(--white), var(--white)) repeat-x center bottom/100% 1.2rem;
}
#main .complex .inner .rBox .bottomBox .textBox .text {
  margin: 0 -3rem 4.6rem 0;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table {
  border-collapse: collapse;
  width: 100%;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table .color {
  color: var(--pink);
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table th,
#main .complex .inner .rBox .bottomBox .textBox .tableBox table td {
  vertical-align: top;
  text-align: left;
  box-sizing: border-box;
  word-break: break-all;
  border-bottom: 0.2rem dotted var(--base-color);
  font-family: var(--sub-font);
  font-weight: 500;
  letter-spacing: 0.08rem;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table th {
  width: 32.2%;
  background-color: var(--white40);
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.1rem;
  text-align: center;
  vertical-align: middle;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table td {
  padding: 2.1rem 2.1rem 1.6rem;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table td.color {
  padding: 1.9rem 2.1rem 1.4rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:first-child th,
#main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:first-child td {
  border-top: 1px solid var(--base-color);
}
#main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:last-child th,
#main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:last-child td {
  border-bottom: 1px solid var(--base-color);
}
#main .complex .titleBox {
  position: relative;
  padding-top: 13.7rem;
}
#main .complex .titleBox::before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 28rem;
  height: 8.4rem;
  background: url(../img/common/icon07.webp) no-repeat center top/100%;
  content: "";
}
@media all and (max-width: 896px) {
  #main .complex {
    margin-top: -7rem;
    padding: 13.9rem 0 8.6rem;
    background: var(--linear2);
    position: relative;
  }
  #main .complex::before {
    display: none;
  }
  #main .complex .inner {
    margin-bottom: 3rem;
    display: block;
  }
  #main .complex .inner .lBox .smallText {
    margin: 0 auto 0.6rem;
    padding: 0 1.9rem;
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
    background: url(../img/common/line01.webp) no-repeat left top/1rem, url(../img/common/line02.webp) no-repeat right top/1rem;
  }
  #main .complex .inner .lBox .hTitle {
    margin-left: 1.1rem;
    height: auto;
    font-size: 2.4rem;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    -moz-writing-mode: horizontal-tb;
    -ms-writing-mode: horizontal-tb;
    -o-writing-mode: horizontal-tb;
    letter-spacing: 0.24rem;
    text-align: center;
  }
  #main .complex .inner .lBox .hTitle .sub {
    margin-top: 0;
    display: block;
    letter-spacing: 0.24rem;
  }
  #main .complex .inner .lBox .hTitle .big {
    margin: 0.9rem 0 0 0.3rem;
    font-size: 4rem;
    letter-spacing: 0.56rem;
  }
  #main .complex .inner .rBox {
    margin-top: 1.7rem;
    width: auto;
    padding-left: 0;
  }
  #main .complex .inner .rBox::before {
    display: none;
  }
  #main .complex .inner .rBox .title {
    margin-bottom: 1.7rem;
    font-size: 1.8rem;
    line-height: 1.65;
    letter-spacing: 0.14rem;
  }
  #main .complex .inner .rBox .title .big {
    margin-top: -0.6rem;
    display: block;
    font-size: 3rem;
    letter-spacing: 0.24rem;
  }
  #main .complex .inner .rBox .text {
    margin-right: -1rem;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
  #main .complex .inner .rBox .topBox {
    margin-bottom: 2.5rem;
  }
  #main .complex .inner .rBox .topBox .photoBox {
    margin: 0 auto;
    position: relative;
    top: auto;
    right: auto;
    width: 18rem;
  }
  #main .complex .inner .rBox .topBox .photoBox::before {
    top: 1.6rem;
    left: 1.9rem;
    width: 15.9rem;
    height: 17.6rem;
    background-image: url(../img/index/complex_bg02_sp.webp);
  }
  #main .complex .inner .rBox .topBox .textBox {
    padding-top: 1.3rem;
    max-width: inherit;
  }
  #main .complex .inner .rBox .bottomBox {
    margin-left: 0;
    display: block;
  }
  #main .complex .inner .rBox .bottomBox .photoBox {
    margin: 0 auto 3.3rem;
    max-width: 33.5rem;
  }
  #main .complex .inner .rBox .bottomBox .photoBox::before {
    top: -11rem;
    left: auto;
    right: -8.5rem;
    width: 38rem;
    height: 38.1rem;
  }
  #main .complex .inner .rBox .bottomBox .photoBox .photo01 {
    margin: 0 2.5rem 0 auto;
    width: 16rem;
  }
  #main .complex .inner .rBox .bottomBox .photoBox .photo02 {
    top: -3.6rem;
    left: 2rem;
    width: 18rem;
    z-index: 5;
  }
  #main .complex .inner .rBox .bottomBox .textBox {
    width: auto;
  }
  #main .complex .inner .rBox .bottomBox .textBox .title .big {
    display: inline-block;
  }
  #main .complex .inner .rBox .bottomBox .textBox .title .bgText {
    padding-bottom: 0.2rem;
    background: -webkit-linear-gradient(var(--white), var(--white)) repeat-x center bottom 0/100% 1.2rem;
  }
  #main .complex .inner .rBox .bottomBox .textBox .text {
    margin: 0 -1rem 3.9rem 0;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table th,
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table td {
    display: block;
    width: 100% !important;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table th {
    padding: 1.1rem 0 1rem;
    font-size: 1.8rem;
    border-top: 1px solid var(--base-color) !important;
    border-bottom: none;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table td {
    padding: 1.3rem 0 1.1rem;
    border-top: 0.2rem dotted var(--base-color) !important;
    border-bottom: none;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table td.color {
    padding: 1.1rem 0 1.2rem;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:first-child th,
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:first-child td {
    border-top: none;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:last-child th,
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:last-child td {
    border-bottom: none;
  }
  #main .complex .inner .rBox .bottomBox .textBox .tableBox table tr:last-child td {
    border-bottom: 1px solid var(--base-color);
  }
  #main .complex .titleBox {
    position: relative;
    padding-top: 7.7rem;
  }
  #main .complex .titleBox::before {
    width: 16rem;
    height: 4.8rem;
  }
}
#main .pain {
  padding: 10.7rem 0 8.7rem;
  position: relative;
  background: url(../img/index/pain_bg01.webp) no-repeat center center/cover;
  border-radius: 1.6rem;
}
#main .pain .comEn {
  padding-left: 1.7rem;
  position: absolute;
  top: -8.3rem;
  left: 0;
  width: 100%;
  text-align: center;
}
#main .pain .comTitle {
  margin-bottom: 1.3rem;
}
#main .pain .hTitle {
  margin-bottom: 7.9rem;
  padding: 2rem 0 1.9rem;
  font-family: var(--sub-font);
  color: var(--white);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.6rem;
  text-align: center;
  border-top: 1px solid var(--white);
  border-bottom: 1px solid var(--white);
}
#main .pain .subBox {
  position: relative;
}
#main .pain .subBox .photoBox {
  position: absolute;
  top: -2.9rem;
  right: 4rem;
  width: 45rem;
}
#main .pain .subBox .photoBox .photo {
  border-radius: 50%;
  overflow: hidden;
}
#main .pain .subBox .photoBox .photo.photo01 {
  width: 26rem;
}
#main .pain .subBox .photoBox .photo.photo02 {
  margin: -7.6rem 0 0 auto;
  width: 22rem;
}
#main .pain .subBox .textList {
  margin-bottom: 5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--white);
}
#main .pain .subBox .textList li {
  margin-bottom: 3.3rem;
  padding-bottom: 2.2rem;
  border-bottom: 0.2rem dotted var(--white);
}
#main .pain .subBox .textList li:last-child {
  border-bottom: none;
}
#main .pain .subBox .textList li .title {
  margin-bottom: 0.9rem;
  padding-left: 4.8rem;
  font-family: var(--sub-font);
  color: var(--blue2);
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.24rem;
  background: url(../img/common/icon08.webp) no-repeat left top/3.9rem;
}
#main .pain .subBox .textList li .text {
  padding-left: 4.8rem;
  color: var(--white);
  line-height: 2;
  letter-spacing: 0.28rem;
}
#main .pain .titleBox .comTitle {
  font-weight: 400;
  line-height: 2.2;
}
#main .pain .titleBox .comTitle .sub {
  margin-top: -2.2rem;
  display: block;
}
#main .pain .outPhoto {
  position: absolute;
  bottom: 0;
  left: 4rem;
  width: 36rem;
}
@media all and (max-width: 896px) {
  #main .pain {
    padding: 5.6rem 0 20.9rem;
    background-image: url(../img/index/pain_bg01_sp.webp);
  }
  #main .pain .comEn {
    padding-left: 0.5rem;
    top: -2.9rem;
  }
  #main .pain .comTitle {
    margin-bottom: 1.2rem;
    line-height: 1.65;
  }
  #main .pain .hTitle {
    margin-bottom: 2rem;
    padding: 1.4rem 0 1.2rem;
    font-size: 1.6rem;
    line-height: 1.65;
    letter-spacing: 0.32rem;
  }
  #main .pain .subBox .photoBox {
    margin: 0 auto 1.4rem;
    padding: 0 3rem;
    position: static;
    width: auto;
    max-width: 31.5rem;
  }
  #main .pain .subBox .photoBox .photo.photo01 {
    width: 14.7rem;
  }
  #main .pain .subBox .photoBox .photo.photo02 {
    margin: -4.3rem 0 0 auto;
    width: 12.5rem;
  }
  #main .pain .subBox .textList {
    margin-bottom: 2rem;
    padding-bottom: 1rem;
    border-bottom: none;
  }
  #main .pain .subBox .textList li {
    margin-bottom: 1.6rem;
    padding-bottom: 1.8rem;
    border-bottom: 0.2rem dotted var(--white);
  }
  #main .pain .subBox .textList li:last-child {
    margin-bottom: 0;
    border-bottom: 0.2rem dotted var(--white);
  }
  #main .pain .subBox .textList li .title {
    margin: 0 -1rem 0.5rem 0;
    padding-left: 3rem;
    font-size: 1.8rem;
    letter-spacing: 0.144rem;
    background: url(../img/common/icon08.webp) no-repeat left top 0.3rem/2.3rem;
  }
  #main .pain .subBox .textList li .text {
    padding-left: 0;
    line-height: 1.6;
    letter-spacing: 0.11rem;
  }
  #main .pain .titleBox .comTitle {
    margin: 0 -1rem;
    line-height: 1.8;
  }
  #main .pain .titleBox .comTitle .sub {
    margin-top: -0.2rem;
  }
  #main .pain .outPhoto {
    bottom: -1px;
    left: 1.8rem;
    width: 20rem;
  }
}
#main .digital {
  padding: 8.9rem 0 11.9rem;
  position: relative;
  z-index: 1;
}
#main .digital::before {
  position: absolute;
  top: 33rem;
  left: -32rem;
  width: 64rem;
  height: 64.1rem;
  background: url(../img/index/bg01.webp) no-repeat center center/100%;
  content: "";
  z-index: -1;
}
#main .digital::after {
  position: absolute;
  top: -0.1rem;
  right: -38rem;
  width: 76rem;
  height: 76.1rem;
  background: url(../img/index/bg02.webp) no-repeat center center/100%;
  content: "";
  z-index: -1;
}
#main .digital .outPhoto {
  position: absolute;
  top: -10rem;
  right: 0;
  width: 62rem;
}
#main .digital .comEn {
  margin-bottom: 0.7rem;
  color: var(--grey2);
  letter-spacing: 0.9rem;
}
#main .digital .hTitle {
  margin-bottom: 5rem;
  padding-bottom: 1.9rem;
  font-size: 3rem;
  font-family: var(--sub-font);
  font-weight: 400;
  letter-spacing: 0.6rem;
  line-height: 1.85;
  border-bottom: 1px solid var(--base-color);
}
#main .digital .hTitle .sub {
  font-weight: 500;
}
#main .digital .hTitle .big {
  font-size: 6rem;
  letter-spacing: 1.2rem;
}
#main .digital .hTitle .color01 {
  color: var(--brown02);
}
#main .digital .inner {
  margin-bottom: 4.7rem;
  padding-bottom: 4.9rem;
  align-items: flex-start;
  border-bottom: 1px solid var(--base-color);
  position: relative;
}
#main .digital .inner .innPhoto {
  position: absolute;
  top: 14.9rem;
  left: -27.3rem;
  width: 30rem;
}
#main .digital .inner .title {
  padding-top: 3.2rem;
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.4rem;
}
#main .digital .inner .photoList {
  margin-right: -10rem;
  width: calc(100% - 44rem);
  position: relative;
}
#main .digital .inner .photoList::before {
  position: absolute;
  top: 5.7rem;
  left: -17rem;
  width: 19rem;
  height: 9.4rem;
  background: url(../img/index/digital_img01.webp) no-repeat center center/100%;
  content: "";
  z-index: 5;
}
#main .digital .inner .photoList li {
  padding: 1.4rem 2rem;
  position: relative;
  width: calc((100% - 2rem) / 2);
  aspect-ratio: 64/52;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  box-sizing: border-box;
}
#main .digital .inner .photoList li:first-child::before {
  margin-top: 0.8rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -5.5rem;
  width: 9rem;
  height: 9rem;
  background: url(../img/common/icon09.webp) no-repeat left top/100%;
  content: "";
  z-index: 5;
}
#main .digital .inner .photoList li .photo {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#main .digital .inner .photoList li .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.6rem;
}
#main .digital .inner .photoList li .textBox {
  position: relative;
  z-index: 5;
  color: var(--white);
  width: 100%;
}
#main .digital .inner .photoList li .textBox .innTitle {
  margin-bottom: 0.7rem;
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.2rem;
}
#main .digital .inner .photoList li .textBox .innText {
  line-height: 2;
  letter-spacing: 0.19rem;
}
#main .digital .titleBox .comTitle {
  font-size: 2.4rem;
  line-height: 2.26;
  letter-spacing: 0.48rem;
}
#main .digital .titleBox .comTitle .big {
  font-size: 4rem;
  letter-spacing: 0.8rem;
}
#main .digital .titleBox .comTitle .sub {
  margin-top: -1rem;
  display: block;
}
@media all and (max-width: 896px) {
  #main .digital {
    padding: 3.9rem 0 4.3rem;
  }
  #main .digital::before {
    top: -6.6rem;
    left: auto;
    right: -14rem;
    width: 30rem;
    height: 30rem;
  }
  #main .digital::after {
    display: none;
  }
  #main .digital .outPhoto {
    top: -9.3rem;
    right: -3.6rem;
    width: 22.5rem;
  }
  #main .digital .comEn {
    margin-bottom: 1rem;
    letter-spacing: 0.36rem;
    line-height: 1.2;
  }
  #main .digital .hTitle {
    margin-bottom: 2.1rem;
    padding-bottom: 1.2rem;
    font-size: 2rem;
    letter-spacing: 0.12rem;
    line-height: 1.5;
  }
  #main .digital .hTitle .big {
    font-size: 3.2rem;
    letter-spacing: 0.192rem;
  }
  #main .digital .inner {
    margin-bottom: 2.7rem;
    padding-bottom: 2.9rem;
    display: block;
  }
  #main .digital .inner .innPhoto {
    display: none;
  }
  #main .digital .inner .title {
    margin-bottom: 2rem;
    padding-top: 0;
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: 0.288rem;
  }
  #main .digital .inner .photoList {
    margin: 0 0.7rem 0 0.8rem;
    width: auto;
    display: block;
  }
  #main .digital .inner .photoList::before {
    top: -12.5rem;
    left: auto;
    right: 1.2rem;
    width: 7.5rem;
    height: 15rem;
    background-image: url(../img/index/digital_img01_sp.webp);
  }
  #main .digital .inner .photoList li {
    margin-bottom: 2rem;
    padding: 1.4rem 2rem 1.5rem;
    width: auto;
    aspect-ratio: 32/22;
  }
  #main .digital .inner .photoList li:first-child::before {
    margin-top: 0;
    top: auto;
    bottom: -7rem;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../img/common/icon09_sp.webp);
  }
  #main .digital .inner .photoList li:last-child {
    margin-bottom: 0;
  }
  #main .digital .inner .photoList li .textBox .innTitle {
    margin-bottom: 0.9rem;
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
  }
  #main .digital .inner .photoList li .textBox .innText {
    line-height: 1.8;
    letter-spacing: 0.14rem;
  }
  #main .digital .titleBox .comTitle {
    font-size: 1.8rem;
    line-height: 1.9;
    letter-spacing: 0.324rem;
  }
  #main .digital .titleBox .comTitle .big {
    font-size: 2.4rem;
    letter-spacing: 0.432rem;
  }
  #main .digital .titleBox .comTitle .sub {
    margin-top: -0.4rem;
    display: block;
  }
  #main .digital .titleBox .comTitle .spec {
    font-size: 1.6rem;
    letter-spacing: 0.288rem;
  }
}
#main .notOnly .topBox {
  margin-bottom: 11.2rem;
  padding: 2.9rem 0 0.5rem;
  position: relative;
  border-radius: 1.6rem;
  background: url(../img/index/not_only_bg01.webp) no-repeat center center/cover;
}
#main .notOnly .topBox::before {
  position: absolute;
  bottom: -7.5rem;
  left: 50%;
  transform: translateX(-50%);
  width: 46rem;
  height: 7.7rem;
  background: url(../img/index/not_only_bg02.webp) no-repeat center bottom/100%;
  content: "";
}
#main .notOnly .topBox .hTitle {
  margin-bottom: 2.7rem;
  text-align: center;
}
#main .notOnly .topBox .hTitle .comEn {
  letter-spacing: 0.9rem;
}
#main .notOnly .topBox .hTitle .jp {
  color: var(--white);
  font-family: var(--sub-font);
  font-size: 3rem;
  font-weight: 500;
  letter-spacing: 0.6rem;
}
#main .notOnly .topBox .inner {
  margin: 0 auto;
  max-width: 89.4rem;
  position: relative;
}
#main .notOnly .topBox .inner .photo {
  margin: 0 auto -3.1rem;
  width: 34rem;
}
#main .notOnly .topBox .inner .textBox {
  position: absolute;
  color: var(--white);
  font-family: var(--sub-font);
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.18rem;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#main .notOnly .topBox .inner .textBox.textBox01 {
  padding: 0 0 1.4rem 0.5rem;
  top: 3.5rem;
  left: 11.3rem;
  width: 28rem;
  height: 15.3rem;
  background: url(../img/index/not_only_bg03.webp) no-repeat left top/100%;
}
#main .notOnly .topBox .inner .textBox.textBox02 {
  padding: 0 0.1rem 2.3rem 0;
  top: 20.6rem;
  left: -1.9rem;
  width: 35.3rem;
  height: 12.5rem;
  background: url(../img/index/not_only_bg04.webp) no-repeat left top/100%;
}
#main .notOnly .topBox .inner .textBox.textBox03 {
  padding: 0 0.4rem 2.2rem 0;
  top: 5.9rem;
  right: 2.3rem;
  width: 27.2rem;
  height: 24.6rem;
  background: url(../img/index/not_only_bg05.webp) no-repeat left top/100%;
}
#main .notOnly .comLinkArea .text {
  margin-bottom: 2.3rem;
}
#main .notOnly .comLinkArea .hTitle {
  margin-bottom: 9.7rem;
  line-height: 1.8;
}
@media all and (max-width: 896px) {
  #main .notOnly .topBox {
    margin-bottom: 4.9rem;
    padding: 3.1rem 0 3.1rem;
    background-image: url(../img/index/not_only_bg01_sp.webp);
  }
  #main .notOnly .topBox::before {
    bottom: -3rem;
    width: 17.5rem;
    height: 3rem;
    background-image: url(../img/index/not_only_bg02_sp.webp);
  }
  #main .notOnly .topBox .hTitle {
    margin-bottom: 2.3rem;
    text-align: center;
  }
  #main .notOnly .topBox .hTitle .comEn {
    margin-bottom: 0.9rem;
    letter-spacing: 0.36rem;
    line-height: 1;
  }
  #main .notOnly .topBox .hTitle .jp {
    font-size: 1.8rem;
    letter-spacing: 0.324rem;
  }
  #main .notOnly .topBox .inner {
    margin: 0 -2rem;
    padding-top: 15rem;
    max-width: inherit;
  }
  #main .notOnly .topBox .inner .photo {
    margin: 0 auto -3.1rem;
    padding-left: 3.6rem;
    width: 20rem;
    box-sizing: content-box;
    position: relative;
    z-index: 5;
  }
  #main .notOnly .topBox .inner .textBox {
    font-size: 1.4rem;
    line-height: 1.55;
    letter-spacing: 0.112rem;
    text-align: center;
  }
  #main .notOnly .topBox .inner .textBox.textBox01 {
    padding: 0 0 1.4rem 0.3rem;
    top: 2.2rem;
    left: -2.2rem;
    width: 20rem;
    height: 11rem;
  }
  #main .notOnly .topBox .inner .textBox.textBox02 {
    padding: 0 3.8rem 1.8rem 0;
    top: 15.5rem;
    left: -2.9rem;
    width: 28rem;
    height: 9.9rem;
  }
  #main .notOnly .topBox .inner .textBox.textBox03 {
    padding: 0 0.2rem 1.5rem 0;
    top: -0.9rem;
    right: -2.1rem;
    width: 18rem;
    height: 16.3rem;
  }
  #main .notOnly .comLinkArea .text {
    margin-bottom: 2.4rem;
    letter-spacing: 0.2rem;
    line-height: 1.78;
  }
  #main .notOnly .comLinkArea .hTitle {
    margin-bottom: 5.9rem;
    line-height: 1.8;
  }
}
#main .reason {
  padding: 11.1rem 0 10.8rem;
  position: relative;
  background: #FFF;
}
#main .reason::before {
  position: absolute;
  top: 0;
  left: -42rem;
  width: 84rem;
  height: 84.1rem;
  background: url(../img/index/bg03.webp) no-repeat center center/100%;
  content: "";
  mix-blend-mode: multiply;
  opacity: 0.06;
}
#main .reason::after {
  position: absolute;
  bottom: -3rem;
  right: -28rem;
  width: 76rem;
  height: 76.1rem;
  background: url(../img/index/bg02.webp) no-repeat center center/100%;
  content: "";
}
#main .reason .outPhoto {
  position: absolute;
  top: 0;
  right: 0;
  width: 66rem;
}
#main .reason .hTitle {
  margin-bottom: 2.9rem;
  padding-bottom: 3.8rem;
  color: var(--brown02);
  font-family: var(--en-font);
  font-weight: 400;
  font-size: 10rem;
  letter-spacing: 1rem;
  line-height: 1.2;
  border-bottom: 1px solid var(--brown02);
}
#main .reason .hTitle .number {
  font-family: var(--en-font2);
  font-size: 20rem;
  letter-spacing: 2rem;
}
#main .reason .hTitle small {
  margin-top: -0.4rem;
  display: block;
  font-size: 6rem;
  letter-spacing: 0.6rem;
}
#main .reason .title {
  margin-bottom: 16.2rem;
  font-size: 3.2rem;
  font-family: var(--sub-font);
  font-weight: 500;
  letter-spacing: 0.64rem;
}
#main .reason .area {
  position: relative;
  padding: 0 9.9rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main .reason .area .photoBox {
  width: 66rem;
  position: relative;
}
#main .reason .area .photoBox .number {
  position: absolute;
  top: -4rem;
  left: 0;
  width: 14.1rem;
  height: 14.1rem;
  background: url(../img/index/reason_bg01.webp) no-repeat center center/100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  font-family: var(--en-font2);
  color: var(--brown02);
  font-size: 10rem;
  font-weight: 400;
  line-height: 1;
  z-index: 5;
}
#main .reason .area .photoBox .photo img {
  border-radius: 14rem;
}
#main .reason .area .textBox {
  width: calc(100% - 72rem);
}
#main .reason .area .textBox .tag {
  margin-bottom: 2.6rem;
  padding: 1.2rem 4rem 1rem;
  width: fit-content;
  color: var(--white);
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  background: var(--brown02);
  border-radius: 3rem;
  box-shadow: 0 0 2rem 0 var(--blk6);
  backdrop-filter: blur(1.5rem);
}
#main .reason .area .textBox .innTitle {
  margin-bottom: 2rem;
  color: var(--brown02);
  font-family: var(--sub-font);
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.48rem;
}
#main .reason .area .textBox .text {
  line-height: 2.4;
  letter-spacing: 0.196rem;
}
#main .reason .area:nth-child(2n) {
  padding: 8rem 9.8rem 6.4rem;
  z-index: 1;
}
#main .reason .area:nth-child(2n)::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 26rem 0 0 26rem;
  background: var(--linear3);
  content: "";
  z-index: -1;
  mix-blend-mode: multiply;
}
#main .reason .area:nth-child(2n).right::before {
  border-radius: 0 26rem 26rem 0;
  background: var(--linear4);
}
#main .reason .area:nth-child(2n) .photoBox {
  margin-top: 0.3rem;
  order: 2;
}
#main .reason .comBtnUl {
  margin-top: 5.2rem;
}
#main .reason .comBtnUl li {
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  #main .reason {
    padding: 3.2rem 0 5.1rem;
    position: relative;
    background: #FFF;
  }
  #main .reason::before {
    top: -3.5rem;
    left: -15rem;
    width: 30rem;
    height: 30rem;
  }
  #main .reason::after {
    bottom: 32.2rem;
    right: -15rem;
    width: 30rem;
    height: 30rem;
  }
  #main .reason .outPhoto {
    width: 14rem;
  }
  #main .reason .hTitle {
    margin-bottom: 0.9rem;
    padding-bottom: 1.1rem;
    font-size: 3.6rem;
    letter-spacing: 0.288rem;
  }
  #main .reason .hTitle .number {
    font-size: 8rem;
    letter-spacing: 0.16rem;
  }
  #main .reason .hTitle small {
    margin-top: -1rem;
    font-size: 2rem;
    letter-spacing: 0.16rem;
  }
  #main .reason .title {
    margin: 0 -1rem 7.4rem 0;
    font-size: 1.8rem;
    letter-spacing: 0.324rem;
  }
  #main .reason .area {
    margin-bottom: 3.2rem;
    padding: 0 1rem !important;
    display: block;
  }
  #main .reason .area:last-child {
    margin-bottom: 0 !important;
  }
  #main .reason .area .photoBox {
    margin-bottom: 3.1rem;
    width: auto;
  }
  #main .reason .area .photoBox .number {
    top: -3rem;
    width: 6.1rem;
    height: 6.1rem;
    font-size: 3.8rem;
  }
  #main .reason .area .textBox {
    width: auto;
  }
  #main .reason .area .textBox .tag {
    margin: 0 -1rem 2.1rem 0;
    padding: 1.2rem 4rem 1.1rem 4rem;
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
    text-align: center;
  }
  #main .reason .area .textBox .tag.center {
    margin: 0 auto 2.1rem;
  }
  #main .reason .area .textBox .innTitle {
    margin-bottom: 1.2rem;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 0.36rem;
  }
  #main .reason .area .textBox .text {
    margin-right: -1rem;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
  #main .reason .area:nth-child(2n) {
    margin-bottom: 5.1rem;
    padding: 4.7rem 1rem 2.5rem !important;
  }
  #main .reason .area:nth-child(2n)::before {
    left: -1rem;
    right: -1rem;
    width: auto;
    border-radius: 0 !important;
    background: var(--linear3) !important;
  }
  #main .reason .area:nth-child(2n).right::before {
    border-radius: 0 26rem 26rem 0;
    background: var(--linear4);
  }
  #main .reason .area:nth-child(2n) .photoBox {
    margin-top: 0.3rem;
    order: 2;
  }
  #main .reason .comBtnUl {
    margin-top: 3.1rem;
  }
  #main .reason .comBtnUl li {
    margin: 0 auto;
  }
}
#main .numberArea {
  padding: 7.6rem 0 3.3rem;
  border-radius: 1.6rem;
  background: url(../img/index/number_bg01.webp) no-repeat center center/cover;
  position: relative;
  z-index: 5;
}
#main .numberArea .headLine02 {
  padding-left: 7rem;
}
#main .numberArea .topBox {
  margin-bottom: 1.6rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid var(--white);
}
#main .numberArea .topBox .lBox {
  width: 61.75%;
  position: relative;
}
#main .numberArea .topBox .lBox::before {
  margin-top: -0.3rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 16rem;
  background: var(--white);
  content: "";
}
#main .numberArea .topBox .lBox .area {
  padding: 2.8rem 0 0;
}
#main .numberArea .topBox .lBox .area.area01 {
  width: 54.9%;
  position: relative;
}
#main .numberArea .topBox .lBox .area.area01::before {
  margin-top: -0.3rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 16rem;
  background: var(--white);
  content: "";
}
#main .numberArea .topBox .lBox .area.area02 {
  width: 45.1%;
}
#main .numberArea .topBox .rBox {
  padding-top: 3.3rem;
  width: 38.25%;
}
#main .numberArea .topBox .title {
  margin-bottom: -1.3rem;
  color: var(--white);
  font-family: var(--sub-font);
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.4rem;
}
#main .numberArea .topBox .number {
  color: var(--yellow);
  font-size: 3rem;
  letter-spacing: -0.18rem;
  line-height: 1.2;
  text-align: center;
  font-family: var(--sub-font);
}
#main .numberArea .topBox .number .num {
  font-family: var(--en-font2);
  font-size: 12rem;
  letter-spacing: -0.72rem;
}
#main .numberArea .topBox.style01 {
  padding-bottom: 1.4rem;
}
#main .numberArea .topBox.style01 .rBox {
  padding-top: 2.8rem;
}
#main .numberArea .imgBox {
  margin-top: 6.9rem;
}
#main .numberArea .imgBox .textBox {
  width: calc(100% - 55rem);
}
#main .numberArea .imgBox .textBox .headLine02 {
  margin-bottom: 3.4rem;
}
#main .numberArea .imgBox .textBox .tagUl {
  padding-left: 7rem;
  gap: 1.6rem 1rem;
}
#main .numberArea .imgBox .textBox .tagUl li {
  width: fit-content;
  padding: 1.2rem 3rem;
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: 0.072rem;
  background: var(--white);
  border-radius: 3rem;
}
#main .numberArea .imgBox .map {
  margin: -5.7rem 4.9rem 0 0;
  width: 44rem;
}
@media all and (max-width: 896px) {
  #main .numberArea {
    padding: 2.7rem 0 3.8rem;
    background-image: url(../img/index/number_bg01_sp.webp);
  }
  #main .numberArea .headLine02 {
    padding-left: 0;
    text-align: center;
  }
  #main .numberArea .topBox {
    margin-bottom: 0;
    padding-bottom: 0.3rem;
    display: block;
  }
  #main .numberArea .topBox .lBox {
    padding-bottom: 1.6rem;
    width: auto;
  }
  #main .numberArea .topBox .lBox::before {
    margin-top: 0;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    transform: none;
    right: 0;
    width: auto;
    height: 1px;
  }
  #main .numberArea .topBox .lBox .area {
    padding: 2rem 0 0;
  }
  #main .numberArea .topBox .lBox .area.area01 .title, #main .numberArea .topBox .lBox .area.area02 .title {
    margin-bottom: -0.6rem;
  }
  #main .numberArea .topBox .lBox .area.area01 .number .num, #main .numberArea .topBox .lBox .area.area02 .number .num {
    margin-right: 0.4rem;
  }
  #main .numberArea .topBox .lBox .area.area01 {
    width: 50%;
  }
  #main .numberArea .topBox .lBox .area.area01::before {
    margin-top: 0.5rem;
    top: 50%;
    width: 1px;
    height: 12.5rem;
  }
  #main .numberArea .topBox .lBox .area.area01 .number {
    font-size: 4rem;
  }
  #main .numberArea .topBox .lBox .area.area02 {
    width: 50%;
  }
  #main .numberArea .topBox .rBox {
    padding-top: 2rem;
    width: auto;
  }
  #main .numberArea .topBox .title {
    margin-bottom: -0.3rem;
    font-size: 1.6rem;
    letter-spacing: 0.288rem;
    line-height: 1.4;
  }
  #main .numberArea .topBox .number {
    font-size: 2.4rem;
    letter-spacing: -0.144rem;
  }
  #main .numberArea .topBox .number .num {
    font-size: 8rem;
    letter-spacing: -0.48rem;
  }
  #main .numberArea .topBox.style01 {
    padding-bottom: 0.5rem;
  }
  #main .numberArea .topBox.style01 .lBox {
    padding-bottom: 1rem;
  }
  #main .numberArea .topBox.style01 .rBox {
    padding-top: 1.5rem;
  }
  #main .numberArea .topBox.style01 .rBox .title {
    font-size: 1.8rem;
  }
  #main .numberArea .imgBox {
    margin-top: 1.4rem;
    display: block;
  }
  #main .numberArea .imgBox .textBox {
    width: auto;
  }
  #main .numberArea .imgBox .textBox .headLine02 {
    margin-bottom: 2.1rem;
    line-height: 1.4;
  }
  #main .numberArea .imgBox .textBox .headLine02 .big {
    font-size: 4rem;
  }
  #main .numberArea .imgBox .textBox .tagUl {
    margin-right: -1rem;
    padding-left: 0;
    gap: 1rem;
  }
  #main .numberArea .imgBox .textBox .tagUl li {
    padding: 0.8rem 1.2rem;
    font-size: 1.4rem;
    letter-spacing: 0.056rem;
  }
  #main .numberArea .imgBox .map {
    margin: 2.2rem 0 0;
    width: auto;
  }
  #main .numberArea .imgBox .map img {
    width: 100%;
  }
}
#main .clicks {
  padding: 14rem 0 0;
  position: relative;
}
#main .clicks .content {
  position: relative;
  z-index: 5;
}
#main .clicks::before {
  position: absolute;
  top: -30rem;
  left: 0;
  width: 100%;
  height: 116rem;
  background: url(../img/index/clicks_bg01.webp) no-repeat center top/100%;
  content: "";
  mix-blend-mode: multiply;
}
#main .clicks .textUl {
  margin-bottom: 4.4rem;
  padding: 0 0.6rem;
}
#main .clicks .textUl li {
  margin: 0 -0.6rem;
  padding: 0 0.2rem 0.2rem 0;
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background-color: var(--white70);
  position: relative;
  color: var(--brown02);
  font-family: var(--sub-font);
  font-size: 3.6rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
#main .clicks .textUl li::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 1px solid var(--brown02);
  box-sizing: border-box;
  content: "";
  z-index: 1;
}
#main .clicks .textUl li .sub {
  position: relative;
  z-index: 5;
}
#main .clicks .inner {
  margin-bottom: 10rem;
}
#main .clicks .inner .textBox .headLine02 {
  margin-bottom: 2.3rem;
  line-height: 1.49;
}
#main .clicks .inner .textBox .text {
  line-height: 2.4;
  letter-spacing: 0.196rem;
}
#main .clicks .inner .comBtnUl {
  margin-top: -1.7rem;
  width: 46rem;
}
#main .clicks .inner .comBtnUl li {
  width: auto;
}
#main .clicks .inner .comBtnUl li a {
  padding: 2.4rem 7rem 2.5rem 2rem;
  display: block;
  font-size: 2rem;
  border-bottom: 1px solid var(--base-color);
  letter-spacing: 0.2rem;
  background: url(../img/common/icon15.webp) no-repeat right 1.7rem top calc(50% - 0.2rem)/5.9rem;
}
#main .clicks .textArea {
  background: url(../img/index/clicks_bg02.webp) repeat left top/1.5rem;
  border-radius: 1.6rem;
  position: relative;
}
#main .clicks .textArea .hTitle {
  padding: 1.5rem 5rem;
  color: var(--white);
  font-size: 2.6rem;
  font-family: var(--sub-font);
  font-weight: 500;
  background: var(--base-color);
  letter-spacing: 0.52rem;
  border-radius: 1.6rem 1.6rem 0 0;
}
#main .clicks .textArea .subBox {
  padding: 3rem 4.9rem 2.5rem;
  border: 1px solid var(--base-color);
  border-radius: 0 0 1.6rem 1.6rem;
}
#main .clicks .textArea .subBox .text {
  margin-bottom: 1.9rem;
  max-width: 81.3rem;
  font-size: 1.8rem;
  font-family: var(--sub-font);
  line-height: 2.2;
  letter-spacing: 0.36rem;
}
#main .clicks .textArea .subBox .comBtnUl li a {
  padding-right: 8.3rem;
  letter-spacing: 0;
}
#main .clicks .textArea .photo {
  position: absolute;
  top: -5.5rem;
  right: 1.9rem;
  width: 26rem;
}
@media all and (max-width: 896px) {
  #main .clicks {
    padding: 5rem 0 0;
  }
  #main .clicks::before {
    top: -17rem;
    background-image: url(../img/index/clicks_bg01_sp.webp);
  }
  #main .clicks .textUl {
    margin: 0 -0.6rem 2rem;
    padding: 0;
  }
  #main .clicks .textUl li {
    margin: 0 -0.3rem;
    padding: 0 0.2rem 0.2rem 0;
    width: 3.7rem;
    height: 3.7rem;
    font-size: 1.8rem;
  }
  #main .clicks .inner {
    margin-bottom: 5rem;
    display: block;
  }
  #main .clicks .inner .textBox .headLine02 {
    margin-bottom: 1.1rem;
    line-height: 1.4;
  }
  #main .clicks .inner .textBox .headLine02 .sub {
    font-size: 3.2rem;
  }
  #main .clicks .inner .textBox .headLine02 .big {
    font-size: 3.2rem;
  }
  #main .clicks .inner .textBox .headLine02 small {
    font-size: 2rem;
  }
  #main .clicks .inner .textBox .text {
    margin: 0 -1rem 2.2rem 0;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
  #main .clicks .inner .comBtnUl {
    margin-top: 0;
    width: auto;
  }
  #main .clicks .inner .comBtnUl li {
    width: auto;
  }
  #main .clicks .inner .comBtnUl li a {
    padding: 2.4rem 6rem 2.3rem 0;
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
    background: url(../img/common/icon15.webp) no-repeat right top calc(50% + 0.1rem)/5rem;
  }
  #main .clicks .textArea {
    background: url(../img/index/clicks_bg02.webp) repeat left top/1.5rem;
    border-radius: 1.6rem;
    position: relative;
  }
  #main .clicks .textArea .hTitle {
    padding: 1.6rem 2rem 1.3rem;
    font-size: 2rem;
    letter-spacing: 0.36rem;
    text-align: center;
  }
  #main .clicks .textArea .subBox {
    padding: 3rem 1.9rem;
  }
  #main .clicks .textArea .subBox .text {
    margin-bottom: 3.1rem;
    max-width: inherit;
    font-size: 1.4rem;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
  #main .clicks .textArea .subBox .comBtnUl li {
    margin: 0;
  }
  #main .clicks .textArea .subBox .comBtnUl li a {
    padding-right: 5.5rem;
    letter-spacing: 0.1em;
  }
  #main .clicks .textArea .photo {
    position: absolute;
    top: auto;
    bottom: -5.4rem;
    right: 1.2rem;
    width: 12rem;
  }
}
#main .case {
  padding: 12.5rem 0 13.6rem;
  margin-bottom: 8rem;
  background: linear-gradient(0deg, rgba(153, 199, 208, 0.2) 0%, rgba(153, 199, 208, 0.2) 100%), url(../img/index/case_bg.webp) no-repeat left top/cover;
  border-radius: 1.6rem;
}
#main .case .content {
  max-width: 100rem;
}
#main .case .hTitle {
  margin: 0 -10rem 6rem 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
#main .case .hTitle .jp {
  margin-bottom: 1rem;
  width: 49rem;
  position: relative;
  z-index: 1;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: 0.2em;
}
#main .case .hTitle .jp .color {
  font-size: 5rem;
  display: block;
  color: var(--brown02);
  letter-spacing: 0.2em;
}
#main .case .hTitle .en {
  margin-left: -7rem;
  flex: 1;
  font-size: 20rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1;
}
#main .case .caseBox {
  margin-bottom: 6rem;
  padding: 4rem 5rem 10rem;
  background-color: var(--white);
  border-radius: 1.6rem;
  overflow: hidden;
  position: relative;
}
#main .case .caseBox:last-of-type {
  margin-bottom: 0;
}
#main .case .caseBox .photoUl {
  margin-bottom: 4rem;
}
#main .case .caseBox .photoUl li {
  position: relative;
  width: 44.4%;
}
#main .case .caseBox .photoUl li:not(:last-child)::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -6rem;
  z-index: 1;
  width: 2rem;
  height: 2.4rem;
  content: "";
  background: url(../img/common/icon10.webp) no-repeat left top/cover;
}
#main .case .caseBox .photoUl li img {
  border-radius: 1.6rem;
}
#main .case .caseBox .photoUl li span {
  font-family: var(--sub-font);
  position: absolute;
  top: 1.5rem;
  left: 2rem;
  z-index: 1;
  color: var(--white);
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.04rem;
}
#main .case .caseBox .tableBox {
  margin-top: 4rem;
  border-radius: 1.6rem;
  overflow: hidden;
}
#main .case .caseBox .tableBox:first-of-type {
  margin-top: 0;
}
#main .case .caseBox .tableBox table {
  width: 100%;
  border-collapse: collapse;
}
#main .case .caseBox .tableBox table th, #main .case .caseBox .tableBox table td {
  padding: 1.6rem 4rem;
  height: 6rem;
  text-align: left;
  vertical-align: top;
  word-break: break-all;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.18rem;
  background-color: var(--blue3);
  font-family: var(--sub-font);
}
#main .case .caseBox .tableBox table th {
  width: 22.3%;
  text-align: center;
  position: relative;
}
#main .case .caseBox .tableBox table th::after {
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  right: 0;
  width: 1px;
  content: "";
  z-index: 1;
  background-color: var(--base-color);
}
#main .case .caseBox .tableBox table tr:nth-child(2n) th, #main .case .caseBox .tableBox table tr:nth-child(2n) td {
  background-color: var(--grey3);
}
#main .case .caseBox .subBox {
  margin-top: 4rem;
  display: none;
}
#main .case .caseBox .moreBtn {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 2;
}
#main .case .caseBox .moreBtn a {
  display: block;
  padding: 1.25rem 1rem;
  color: var(--white);
  text-align: center;
  font-size: 2.4rem;
  font-family: var(--sub-font);
  font-weight: 500;
  letter-spacing: 0.1rem;
  background: var(--brown02) url(../img/common/icon11.webp) no-repeat right 5rem center/2rem;
}
#main .case .caseBox .moreBtn.on a {
  background-image: url(../img/common/icon12.webp);
}
#main .case .comBtnUl {
  margin-top: 6rem;
}
#main .case .comBtnUl li {
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  #main .case {
    padding: 4rem 0 5.7rem;
    margin-bottom: 3.9rem;
    background: linear-gradient(0deg, rgba(153, 199, 208, 0.2) 0%, rgba(153, 199, 208, 0.2) 100%), url(../img/index/case_bg_sp.webp) no-repeat left top/cover;
  }
  #main .case .hTitle {
    margin: 0 0 -1.2rem;
    display: block;
  }
  #main .case .hTitle .jp {
    margin-bottom: 1rem;
    width: auto;
    font-size: 2.4rem;
    line-height: 1.4;
    letter-spacing: 0.48rem;
  }
  #main .case .hTitle .jp .color {
    font-size: 2.4rem;
    letter-spacing: 0.48rem;
  }
  #main .case .hTitle .en {
    margin: -2.3rem -0.5rem 0 0;
    text-align: right;
    display: block;
    font-size: 7rem;
    letter-spacing: 0.7rem;
  }
  #main .case .caseBox {
    margin-bottom: 4rem;
    padding: 2rem 2rem 8.2rem;
  }
  #main .case .caseBox .photoUl {
    margin-bottom: 3.2rem;
    display: block;
  }
  #main .case .caseBox .photoUl li {
    margin-bottom: 4rem;
    width: auto;
    aspect-ratio: 275/160;
  }
  #main .case .caseBox .photoUl li:last-child {
    margin-bottom: 0;
  }
  #main .case .caseBox .photoUl li:not(:last-child)::after {
    top: auto;
    bottom: -2.6rem;
    transform: translateX(-50%);
    right: auto;
    left: 50%;
    width: 2.2rem;
    height: 1.4rem;
    background-image: url(../img/common/icon14.webp);
  }
  #main .case .caseBox .photoUl li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #main .case .caseBox .photoUl li span {
    top: 0.5rem;
    left: 1rem;
    font-size: 1.6rem;
    letter-spacing: 0.032rem;
  }
  #main .case .caseBox .tableBox {
    margin-top: 4rem;
  }
  #main .case .caseBox .tableBox table th, #main .case .caseBox .tableBox table td {
    padding: 0.9rem 2rem 0.7rem;
    width: 100% !important;
    display: block;
    min-height: 4rem;
    height: fit-content;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.18rem;
    background-color: var(--blue3) !important;
    border-bottom: 1px solid rgba(81, 90, 111, 0.25);
  }
  #main .case .caseBox .tableBox table td {
    background-color: var(--grey3) !important;
  }
  #main .case .caseBox .tableBox table td span {
    display: block;
    margin: -0.3rem 0 0.5rem;
  }
  #main .case .caseBox .tableBox table tr:last-child td {
    border-bottom: none;
  }
  #main .case .caseBox .tableBox table th::after {
    display: none;
  }
  #main .case .caseBox .subBox {
    margin-top: 4rem;
  }
  #main .case .caseBox .moreBtn a {
    padding: 1.15rem 4rem 1.15rem 1rem;
    font-size: 1.8rem;
    letter-spacing: 0.12rem;
    background-size: 1.2rem auto;
    background-position: right 3.1rem center;
  }
  #main .case .comBtnUl {
    margin-top: 3.5rem;
  }
}
#main .greetings {
  padding-top: 14rem;
  position: relative;
}
@media all and (min-width: 897px) {
  #main .greetings .content {
    position: absolute;
    top: 10.417vw;
    left: 50%;
    width: 100%;
    transform: translateX(-50%);
    z-index: 3;
  }
}
#main .greetings::after {
  position: absolute;
  top: 34rem;
  right: -45rem;
  width: 90rem;
  height: 90rem;
  z-index: 1;
  content: "";
  background: url(../img/common/circle_img01.webp) no-repeat left top/100%;
  pointer-events: none;
}
#main .greetings::before {
  position: absolute;
  top: -40.6rem;
  left: -40rem;
  width: 80rem;
  height: 80.1rem;
  z-index: 1;
  content: "";
  background: url(../img/common/circle_img01.webp) no-repeat left top/100%;
  pointer-events: none;
}
#main .greetings .hTitle {
  margin: 0 -54.5rem 6rem 0;
  align-items: flex-end;
  position: relative;
  z-index: 4;
}
#main .greetings .hTitle .jp {
  margin: 0 0 1rem -0.7rem;
  color: var(--brown02);
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.8rem;
  line-height: 1.3;
  display: inline-block;
  width: 30rem;
  position: relative;
  z-index: 1;
}
#main .greetings .hTitle .en {
  margin-left: -6rem;
  flex: 1;
  display: inline-block;
  color: var(--grey2);
  font-size: 16rem;
  font-weight: 400;
  letter-spacing: 1.6rem;
  line-height: 0.9;
}
#main .greetings .imgBox {
  margin: 0 0 10rem;
  position: relative;
  z-index: 2;
  align-items: center;
  flex-direction: row-reverse;
}
#main .greetings .imgBox .photoBox {
  margin-right: -14rem;
  width: calc(50% + 3.2rem);
  border-radius: 50%;
  overflow: hidden;
}
#main .greetings .imgBox .photoBox img {
  width: 100%;
}
#main .greetings .imgBox .textBox {
  margin-top: -7.3rem;
  width: calc(50% + 5rem);
}
#main .greetings .imgBox .textBox .sub {
  margin-left: auto;
  width: 60rem;
}
#main .greetings .imgBox .textBox .tag {
  margin-bottom: 1.5rem;
  padding: 0.45rem 1.9rem;
  width: fit-content;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.18rem;
  font-feature-settings: "palt";
  border: 1px solid var(--base-color);
  border-radius: 3rem;
  box-shadow: 0 0 20px 0 var(--blk6);
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}
#main .greetings .imgBox .textBox .name {
  margin-bottom: 3rem;
  font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.24rem;
}
#main .greetings .imgBox .textBox .name .en {
  margin-left: 2.3rem;
  display: inline-block;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: 0.4rem;
  vertical-align: 0.2rem;
}
#main .greetings .imgBox .textBox .title {
  margin-bottom: 2.1rem;
  padding-bottom: 2rem;
  color: var(--brown02);
  font-size: 2.4rem;
  font-feature-settings: "pcap" on, "palt" on;
  font-weight: 500;
  letter-spacing: 0.16rem;
  border-bottom: 1px solid var(--base-color);
}
#main .greetings .imgBox .textBox .text {
  margin-bottom: 4.1rem;
  line-height: 2.4;
  letter-spacing: 0.196rem;
  text-align: justify;
}
#main .greetings .gridBox {
  gap: 1rem;
}
#main .greetings .gridBox .subBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main .greetings .gridBox .subBox01 {
  aspect-ratio: 572/420;
  width: 37.25%;
  gap: 1rem;
}
#main .greetings .gridBox .subBox01 .lBox {
  width: 46.9%;
  aspect-ratio: 268/420;
}
#main .greetings .gridBox .subBox01 .rBox {
  aspect-ratio: 294/420;
  width: calc(53.1% - 1rem);
}
#main .greetings .gridBox .subBox01 .rBox .photoUl li {
  aspect-ratio: 294/270;
}
#main .greetings .gridBox .subBox01 .rBox .photoUl li:not(:last-child) {
  margin-bottom: 1rem;
}
#main .greetings .gridBox .subBox01 .rBox .photoUl li:nth-child(2) {
  aspect-ratio: 294/140;
}
#main .greetings .gridBox .subBox02 {
  width: 24.75%;
  aspect-ratio: 38/42;
}
#main .greetings .gridBox .subBox03 {
  aspect-ratio: 564/420;
  width: calc(38% - 2rem);
}
#main .greetings .gridBox .subBox03 .lBox {
  width: 53.2%;
  aspect-ratio: 30/42;
}
#main .greetings .gridBox .subBox03 .rBox {
  aspect-ratio: 254/42;
  width: calc(46.8% - 1rem);
}
#main .greetings .gridBox .subBox03 .rBox .photoUl li {
  aspect-ratio: 254/160;
}
#main .greetings .gridBox .subBox03 .rBox .photoUl li:not(:last-child) {
  margin-bottom: 1rem;
}
#main .greetings .gridBox .subBox03 .rBox .photoUl li:nth-child(2) {
  aspect-ratio: 254/250;
}
@media all and (max-width: 896px) {
  #main .greetings {
    z-index: 6;
    padding-top: 7.5rem;
  }
  #main .greetings::after {
    top: 14.5rem;
    right: -17.1rem;
    width: 30rem;
    height: 30rem;
  }
  #main .greetings::before {
    top: -8rem;
    left: -14.1rem;
    width: 29rem;
    height: 29rem;
    z-index: 2;
  }
  #main .greetings .hTitle {
    margin: 0 -22rem 4rem 0;
    align-items: flex-start;
  }
  #main .greetings .hTitle .jp {
    margin: 1.5rem 0 0 0;
    font-size: 2.4rem;
    letter-spacing: 0.48rem;
    width: 19rem;
  }
  #main .greetings .hTitle .en {
    margin-left: -5rem;
    font-size: 3.6rem;
    letter-spacing: 0.36rem;
  }
  #main .greetings .hTitle .en .big {
    font-size: 3.6rem;
  }
  #main .greetings .imgBox {
    margin: 0 0 5.5rem;
    position: relative;
    z-index: 1;
    display: block;
  }
  #main .greetings .imgBox .photoBox {
    margin-right: 0;
    position: absolute;
    top: 0.2rem;
    right: -8.2rem;
    width: 59%;
    max-width: 27rem;
  }
  #main .greetings .imgBox .textBox {
    margin-top: 0;
    padding: 0 2rem;
    width: auto;
  }
  #main .greetings .imgBox .textBox .sub {
    width: auto;
  }
  #main .greetings .imgBox .textBox .tag {
    margin-bottom: 4vw;
  }
  #main .greetings .imgBox .textBox .name {
    margin-bottom: 6.667vw;
    font-size: 3rem;
    letter-spacing: 0.18rem;
  }
  #main .greetings .imgBox .textBox .name .en {
    margin-left: 0;
    display: block;
    font-size: 1.6rem;
    letter-spacing: 0.32rem;
  }
  #main .greetings .imgBox .textBox .title {
    margin-bottom: 1.9rem;
    padding-bottom: 2.2rem;
    font-size: 2rem;
    letter-spacing: 0.2rem;
  }
  #main .greetings .imgBox .textBox .text {
    margin-bottom: 4.5rem;
    line-height: 2;
    letter-spacing: 0.168rem;
  }
  #main .greetings .gridBox {
    display: block;
  }
  #main .greetings .gridBox .subBox:not(:last-of-type) {
    margin-bottom: 0.6rem;
  }
  #main .greetings .gridBox .subBox01 {
    aspect-ratio: auto;
    width: auto;
    gap: 0.6rem;
  }
  #main .greetings .gridBox .subBox01 .lBox {
    width: 42.65%;
    aspect-ratio: 16/24;
  }
  #main .greetings .gridBox .subBox01 .rBox {
    aspect-ratio: 209/140;
    width: calc(57.35% - 0.6rem);
  }
  #main .greetings .gridBox .subBox01 .rBox .photoUl li {
    aspect-ratio: 209/124;
  }
  #main .greetings .gridBox .subBox01 .rBox .photoUl li:not(:last-child) {
    margin-bottom: 0.6rem;
  }
  #main .greetings .gridBox .subBox01 .rBox .photoUl li:nth-child(2) {
    aspect-ratio: 209/110;
  }
  #main .greetings .gridBox .subBox02 {
    width: auto;
    aspect-ratio: 375/200;
  }
  #main .greetings .gridBox .subBox03 {
    aspect-ratio: auto;
    width: auto;
  }
  #main .greetings .gridBox .subBox03 .lBox {
    width: 53.2%;
    aspect-ratio: 200/238;
  }
  #main .greetings .gridBox .subBox03 .rBox {
    aspect-ratio: auto;
    width: calc(46.8% - 0.6rem);
  }
  #main .greetings .gridBox .subBox03 .rBox .photoUl li {
    aspect-ratio: 169/112;
  }
  #main .greetings .gridBox .subBox03 .rBox .photoUl li:not(:last-child) {
    margin-bottom: 0.6rem;
  }
  #main .greetings .gridBox .subBox03 .rBox .photoUl li:nth-child(2) {
    aspect-ratio: 169/120;
  }
}
#main .faq {
  padding: 1.7rem 0 16.5rem;
  background: url(../img/common/circle_img01.webp) no-repeat left -46rem top/80rem;
}
#main .faq .centerText {
  margin-bottom: 5rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.43rem;
}
#main .faq dl {
  margin-bottom: 2rem;
}
#main .faq dl:last-of-type {
  margin-bottom: 12rem;
}
#main .faq dl {
  word-break: break-all;
}
#main .faq dl dt {
  padding: 1.3rem 5rem 1.3rem 4rem;
  border-radius: 2.5rem;
  color: var(--white);
  font-size: 1.6rem;
  letter-spacing: 0.32rem;
  background: var(--brown02) url(../img/common/icon01.webp) no-repeat right 3rem center/1.4rem;
  cursor: pointer;
}
#main .faq dl dt.on {
  background-image: url(../img/common/icon02.webp);
}
#main .faq dl dd {
  display: none;
  max-width: 98rem;
  padding: 2.2rem 4rem 0.2rem;
  line-height: 2.4;
  letter-spacing: 0.28rem;
  text-align: justify;
  font-feature-settings: "palt";
}
#main .faq .newUl {
  gap: 2rem 0;
}
#main .faq .newUl li {
  width: 31.8%;
}
#main .faq .newUl li:not(:nth-child(3n)) {
  border-right: 1px solid var(--base-color);
}
#main .faq .newUl li a {
  display: block;
  padding: 0 5rem 0.5rem;
}
#main .faq .newUl li a .photo {
  margin-bottom: 2.4rem;
  border-radius: 1.2rem;
  aspect-ratio: 30/18;
  overflow: hidden;
}
#main .faq .newUl li a .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main .faq .newUl li a time {
  margin-bottom: 0.9rem;
  display: block;
  color: var(--blk);
  letter-spacing: 0.14rem;
}
#main .faq .newUl li a .title {
  margin-bottom: 1.6rem;
  font-family: var(--sub-font);
  color: var(--brown02);
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.16rem;
}
#main .faq .newUl li a .text {
  color: var(--blk);
  line-height: 2.4;
  letter-spacing: 0.196rem;
  font-feature-settings: "palt";
  text-align: justify;
}
#main .faq .newUl li:nth-child(3n-1) {
  width: 36.4%;
}
#main .faq .newUl li:nth-child(3n-2) a {
  padding-left: 0;
}
#main .faq .newUl li:nth-child(3n) a {
  padding-right: 0;
}
@media all and (max-width: 896px) {
  #main .faq {
    padding: 3.7rem 0 4.6rem;
    background-size: 30rem auto;
    background-position: left -15rem top -15rem;
  }
  #main .faq .centerText {
    margin-bottom: 3rem;
    font-size: 1.8rem;
    letter-spacing: 0.2rem;
    line-height: 1.8;
  }
  #main .faq dl:last-of-type {
    margin-bottom: 5rem;
  }
  #main .faq dl dt {
    padding: 1.5rem 4rem 1.3rem 3rem;
    border-radius: 2.5rem;
    font-size: 1.4rem;
    letter-spacing: 0.28rem;
    line-height: 1.8;
    background-position: right 2rem center;
  }
  #main .faq dl dd {
    max-width: 100%;
    padding: 1.2rem 0 0.2rem;
    line-height: 1.8;
  }
  #main .faq .newUl {
    display: block;
  }
  #main .faq .newUl li {
    width: auto !important;
  }
  #main .faq .newUl li:not(:nth-child(3n)) {
    border-right: 0;
  }
  #main .faq .newUl li:not(:last-child) {
    border-bottom: 1px solid var(--base-color);
  }
  #main .faq .newUl li a {
    padding: 3rem 0 1.3rem !important;
  }
  #main .faq .newUl li a .photo {
    margin-bottom: 2.4rem;
    aspect-ratio: 335/180;
  }
  #main .faq .newUl li a time {
    margin-bottom: 0.5rem;
  }
  #main .faq .newUl li a .title {
    margin-bottom: 0;
  }
}/*# sourceMappingURL=index.css.map */