@charset "UTF-8";
:root {
  --base-font: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --sub-font: "Shippori Mincho", serif;
  --en-font: "Roboto Condensed", serif;
  --maru: "Zen Maru Gothic", sans-serif;
  --base-color: #4D4D4D;
  --main-bg: #FFFDF1;
  --color-bg: #FFEEC1;
  --white: #fff;
  --color: #007ea4;
  --color01: #fff;
  --color01-rgb: 255,255,255;
  --color02: #666;
  --color03: #000;
  --color04: #FFEC3A;
  --color05: #FCF597;
  --color06: #BBEC56;
  --color07: #9EB62D;
  --color07-rgb: 158,182,45;
  --color08: #EE7E73;
  --color08-rgb: 238,126,115;
  --color09: #FF9089;
  --color10: #6CCE95;
  --color11: 204,174,0;
  --color12: 97,173,129;
  --color13: 229,126,23;
  --color14: 110,168,217;
  --color15: 239,123,117;
  --color16: #FFFDF1;
  --color17:101,195,84;
  --color18: #EFF9B5;
  --color19: #F1E5BA;
  --color20: #59B55B;
  --color21: #F1958C;
  --color22: #6EFFFF;
  --color23: 229,126,23;
  --color24: 110,168,217;
  --color25: #FFF9D2;
  --color26: #D4F1E0;
  --color27: #EDF5DD;
  --color28: #E7F4CC;
  --color29: #E2F3FB;
  --color30: #65C354;
  --color31: #6EA9DA;
  --color32: #84CF76;
  --color33: #F5B2AB;
  --color34: #C3E380;
  --color35: #99D5F1;
  --color36: #DBFF81;
  --color37: #D7E4F5;
  --color38: #BAD1ED;
  --color39: #9EC0E6;
  --color40: #FFFACC;
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main {
  overflow: hidden;
}
#main .bgBox {
  position: relative;
  background: var(--color-bg);
}
#main .bgBox::after {
  width: 100%;
  height: 100%;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  background: url(../img/common/dot_img.webp) repeat left top/13.8rem;
}
#main .colTxt01 {
  color: var(--color04);
}
#main .colTxt02 {
  color: var(--color08);
}
#main .mainVisual {
  margin-bottom: 10.8rem;
  padding: 3.6rem 3.8rem;
  position: relative;
  background: var(--color-bg);
}
#main .mainVisual .slideBox {
  position: relative;
  z-index: 2;
}
#main .mainVisual .slideBox::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
}
#main .mainVisual .posImage {
  position: absolute;
  width: 27.9rem;
  right: calc(50% - 56.1rem);
  bottom: -6rem;
  z-index: 88;
}
#main .mainVisual .mainImg {
  position: relative;
  z-index: 3;
  border-radius: 7rem;
  overflow: hidden;
}
#main .mainVisual .mainImg:not(:first-child) {
  display: none;
}
#main .mainVisual .mainImg .image img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: 7s linear;
  transition: 7s linear;
}
#main .mainVisual .mainImg.playing .image img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
#main .mainVisual .mainImg.playing .com_chon::before, #main .mainVisual .mainImg.playing .com_chon::after {
  -webkit-animation: zoomIn 0.5s linear forwards;
          animation: zoomIn 0.5s linear forwards;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
@-webkit-keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scaleX(0.8);
            transform: translateY(-50%) scaleX(0.8);
  }
  80% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scaleX(1.2);
            transform: translateY(-50%) scaleX(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scaleX(1);
            transform: translateY(-50%) scaleX(1);
  }
}
@keyframes zoomIn {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-50%) scaleX(0.8);
            transform: translateY(-50%) scaleX(0.8);
  }
  80% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scaleX(1.2);
            transform: translateY(-50%) scaleX(1.2);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-50%) scaleX(1);
            transform: translateY(-50%) scaleX(1);
  }
}
#main .mainVisual .pageTitle {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
  left: 9rem;
  font-family: var(--maru);
  color: var(--color01);
  font-size: 3.9rem;
  text-align: center;
  z-index: 2;
}
#main .mainVisual .pageTitle .largeTxt {
  line-height: 1.34;
  display: block;
  font-size: 10.359rem;
  font-weight: 500;
  color: var(--color09);
  font-family: var(--sub-font);
  position: relative;
  text-shadow: 0 0 8rem #000;
}
#main .mainVisual .pageTitle .text01 {
  text-shadow: 0 0 3rem rgba(0, 0, 0, 0.7);
}
#main .mainVisual .pageTitle .text02 {
  font-size: 2.6rem;
  text-shadow: 0 0 2rem rgba(0, 0, 0, 0.7);
}
#main .mainVisual .pageTitle .color01 {
  color: var(--color04);
}
#main .mainVisual .comList {
  margin: 0 0 0 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
#main .mainVisual .comList li {
  font-family: var(--base-font);
  font-size: 2.4rem;
  line-height: 1.458;
  font-weight: 700;
  letter-spacing: 0.05em !important;
}
#main .mainVisual .comList li::before {
  display: none !important;
}
@media all and (max-width: 896px) {
  #main .mainVisual {
    margin-bottom: 3rem;
    padding: 3.7rem 2rem;
  }
  #main .mainVisual .posImage {
    width: 14.5rem;
    right: 1rem;
    bottom: -1.4rem;
  }
  #main .mainVisual .mainImg {
    border-radius: 2.625rem;
  }
  #main .mainVisual .mainImg .image {
    aspect-ratio: 335/458;
  }
  #main .mainVisual .mainImg .image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #main .mainVisual .pageTitle {
    -webkit-transform: none;
            transform: none;
    text-align: center;
    width: 100%;
    left: 0;
    top: auto;
    bottom: 7.2rem;
  }
  #main .mainVisual .pageTitle .largeTxt {
    margin: 0.5rem auto 0.6rem;
    padding: 0 2.3rem;
    font-size: 4.909rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  #main .mainVisual .pageTitle .largeTxt::before, #main .mainVisual .pageTitle .largeTxt::after {
    width: 1.7rem;
  }
  #main .mainVisual .pageTitle .text01 {
    font-size: 1.9rem;
    line-height: 1.2;
    display: block;
  }
  #main .mainVisual .pageTitle .text02 {
    display: block;
    font-size: 1.232rem;
  }
  #main .mainVisual .comList {
    margin: 0 auto;
    padding: 0 1.2rem;
  }
  #main .mainVisual .comList li {
    margin: 0 -1.2rem 0 0;
    width: 8.8rem;
    height: 8.8rem;
    font-size: 1.1rem;
    line-height: 1.454;
  }
}
#main .mainVisual .mainImg02 .pageTitle {
  -webkit-transform: translateY(-31%);
          transform: translateY(-31%);
}
@media all and (max-width: 896px) {
  #main .mainVisual .mainImg02 .pageTitle {
    padding: 0 1rem;
    -webkit-transform: none;
            transform: none;
    bottom: 6.3rem;
  }
  #main .mainVisual .mainImg02 .pageTitle .text01 {
    margin-left: 0.8rem;
    font-size: 1.688rem;
  }
  #main .mainVisual .mainImg02 .pageTitle .comList {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    max-width: 33.5rem;
    width: auto;
  }
}
#main .mainVisual .pageHead {
  margin-left: -2.8rem;
  text-align: left;
  position: relative;
}
#main .mainVisual .pageHead::after {
  content: "";
  width: 77.4rem;
  height: 24rem;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -54%);
          transform: translate(-50%, -54%);
  opacity: 0.42;
  background: url(../img/common/bg01.webp) no-repeat center top/100%;
  z-index: -1;
}
#main .mainVisual .pageHead .largeTxt {
  margin: 0.8rem 0 1.8rem;
  font-size: 5.371rem;
  color: var(--color01);
  letter-spacing: -0.05em;
  position: relative;
  z-index: 4;
}
#main .mainVisual .pageHead .largeTxt .com_chon {
  margin-right: 1rem;
  font-size: 6.749rem;
  letter-spacing: 0.03em;
  color: var(--color05);
}
#main .mainVisual .pageHead .largeTxt .com_chon::before, #main .mainVisual .pageHead .largeTxt .com_chon::after {
  width: 3rem;
  background-image: url(../img/common/icon06.webp);
}
#main .mainVisual .pageHead .largeTxt .com_chon::after {
  background-image: url(../img/common/icon06_right.webp);
}
#main .mainVisual .pageHead .largeTxt .midTxt {
  font-size: 4.148rem;
}
#main .mainVisual .pageHead .text02 {
  text-shadow: none;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pageHead {
    margin: 0 auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
  #main .mainVisual .pageHead::after {
    width: 30.1rem;
    height: 8.6rem;
    opacity: 0.27;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  #main .mainVisual .pageHead .largeTxt {
    margin: 0.5rem auto 1rem;
    padding: 0;
    font-size: 2.325rem;
  }
  #main .mainVisual .pageHead .largeTxt .midTxt {
    font-size: 1.795rem;
  }
  #main .mainVisual .pageHead .largeTxt .com_chon {
    margin-right: 0;
    font-size: 2.921rem;
    padding: 0 2rem;
  }
  #main .mainVisual .pageHead .largeTxt .com_chon::before, #main .mainVisual .pageHead .largeTxt .com_chon::after {
    background-size: 1.3rem;
  }
  #main .mainVisual .pageHead .largeTxt .com_chon::before {
    left: -0.5rem;
  }
  #main .mainVisual .pageHead .largeTxt .com_chon::after {
    right: -0.5rem;
  }
}
#main .mainVisual .mainImg03 .pageHead {
  margin: 0 0 -4.5rem;
  font-size: 5.371rem;
  font-family: var(--sub-font);
}
#main .mainVisual .mainImg03 .pageHead > span {
  position: relative;
  z-index: 4;
}
#main .mainVisual .mainImg03 .pageHead::after {
  opacity: 0.27;
  -webkit-transform: translate(-56%, -46%);
          transform: translate(-56%, -46%);
}
#main .mainVisual .mainImg03 .pageHead .largeTxt {
  display: inline-block;
  font-size: 4.118rem;
}
#main .mainVisual .mainImg03 .pageHead .largeTxt .com_chon {
  margin: 0 1.3rem;
  color: var(--color06);
}
#main .mainVisual .mainImg03 .pageHead .largeTxt .com_chon::before {
  background-image: url(../img/common/icon07.webp);
}
#main .mainVisual .mainImg03 .pageHead .largeTxt .com_chon::after {
  background-image: url(../img/common/icon07_right.webp);
}
#main .mainVisual .mainImg03 .comList {
  margin: 0 auto;
}
#main .mainVisual .mainImg03 .pageTitle {
  left: auto;
  right: 7rem;
  -webkit-transform: none;
          transform: none;
  top: auto;
  bottom: 20.2%;
}
@media all and (max-width: 896px) {
  #main .mainVisual .mainImg03 .pageTitle {
    padding: 0 1.3rem;
    right: 0;
    bottom: 5.8rem;
  }
  #main .mainVisual .mainImg03 .comList {
    padding-left: 1.2rem;
  }
  #main .mainVisual .mainImg03 .comList p {
    position: relative;
    z-index: 4;
  }
  #main .mainVisual .mainImg03 .pageHead {
    margin: 0 auto -2.3rem;
    margin-bottom: -2.3rem;
    font-size: 2.317rem;
  }
  #main .mainVisual .mainImg03 .pageHead .largeTxt {
    font-size: 1.79rem;
  }
  #main .mainVisual .mainImg03 .pageHead .largeTxt .com_chon {
    margin: 0 0.3rem;
  }
}
#main .mainVisual .mainImg04 .pageTitle {
  left: calc(50% - 41rem);
}
#main .mainVisual .mainImg04 .pageHead {
  margin: 0 0 -4.3rem;
}
#main .mainVisual .mainImg04 .pageHead::after {
  opacity: 0.27;
}
#main .mainVisual .mainImg04 .pageHead .com_chon {
  letter-spacing: -0.06em;
  color: var(--color22);
}
#main .mainVisual .mainImg04 .pageHead .com_chon::before {
  background-image: url(../img/common/icon05.webp);
}
#main .mainVisual .mainImg04 .pageHead .com_chon::after {
  background-image: url(../img/common/icon05_right.webp);
}
@media all and (min-width: 897px) {
  #main .mainVisual .mainImg04 .comList {
    margin: 0 auto;
    padding-left: 1.5rem;
  }
  #main .mainVisual .mainImg04 .comList li {
    margin-left: -1.5rem;
  }
  #main .mainVisual .mainImg04 .comList li.item01 {
    padding-top: 0;
  }
}
@media all and (max-width: 896px) {
  #main .mainVisual .mainImg04 .pageTitle {
    left: 0;
    bottom: 5.8rem;
  }
  #main .mainVisual .mainImg04 .comList {
    margin: 0 auto;
    padding-right: 0.7rem;
    position: relative;
    z-index: 3;
  }
  #main .mainVisual .mainImg04 .comList li {
    margin-right: -0.7rem;
    width: 7.4rem;
    height: 7.4rem;
    font-size: 1rem;
    line-height: 1.269;
  }
  #main .mainVisual .mainImg04 .comList li.item01 {
    padding-top: 0;
  }
  #main .mainVisual .mainImg04 .pageHead {
    margin: 0 auto -1.9rem;
  }
  #main .mainVisual .mainImg04 .pageHead .largeTxt {
    margin: 0 auto 0.9rem;
    font-size: 1.948rem;
    z-index: 6;
    position: relative;
  }
  #main .mainVisual .mainImg04 .pageHead .largeTxt .com_chon {
    font-size: 2.447rem;
  }
}
#main .newsBox {
  padding-bottom: 16.3rem;
  position: relative;
  z-index: 2;
}
#main .newsBox::after {
  width: 100vw;
  height: 63.2rem;
  content: "";
  position: absolute;
  left: 0;
  top: -34.6rem;
  background: url(../img/index/bg02.webp) no-repeat center top/100% 100%;
  pointer-events: none;
}
#main .newsBox .content {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 2;
  gap: 3.6rem;
}
#main .newsBox .head {
  font-weight: 800;
  font-size: 5rem;
  letter-spacing: 0.15em;
  color: var(--color08);
}
#main .newsBox .newsList {
  padding: 0 4.7rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  position: relative;
}
#main .newsBox .newsList::before {
  content: "";
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0.3rem;
  left: 0;
  background: var(--color02);
}
#main .newsBox .newsList time {
  margin: 0 0.4rem 0.6rem;
  line-height: 1;
  display: block;
  letter-spacing: 0.1em;
}
#main .newsBox .newsList a {
  display: block;
  line-height: 1.2;
  letter-spacing: 0.07em;
  text-decoration: underline;
}
@media all and (min-width: 1025px) {
  #main .newsBox .newsList a:hover {
    opacity: 0.8;
  }
}
#main .newsBox .newsList .newsLink {
  text-decoration: none;
}
#main .newsBox .newsList .newsLink time {
  margin: 0 0 0.6rem;
}
#main .newsBox .newsList .newsLink .newsTitle {
  display: block;
  text-decoration: underline;
}
#main .newsBox .comBtn {
  margin-bottom: 0.3rem;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}
@media all and (max-width: 896px) {
  #main .newsBox {
    padding-bottom: 5.8rem;
    background: var(--main-bg);
  }
  #main .newsBox::after {
    width: 102vw;
    height: 20rem;
    top: -15rem;
    left: auto;
    right: -3px;
    -webkit-transform: rotate(1deg);
            transform: rotate(1deg);
  }
  #main .newsBox .content {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 1rem 2rem;
  }
  #main .newsBox .comBtn {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
  #main .newsBox .newsList {
    padding: 0;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
  }
  #main .newsBox .newsList::before {
    display: none;
  }
  #main .newsBox .newsList time {
    margin-left: 0;
  }
  #main .newsBox .newsList a {
    line-height: 1.714;
    text-align: justify;
  }
  #main .newsBox .head {
    font-size: 3.4rem;
  }
}
#main .newsModal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2.4rem;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
#main .newsModal:target {
  opacity: 1;
  pointer-events: auto;
}
#main .newsModal__content {
  position: relative;
  max-width: 60rem;
  width: 100%;
  max-height: calc(100vh - 4.8rem);
  padding: 3rem 3.2rem 3.4rem;
  border-radius: 2.4rem;
  background: var(--color01);
  -webkit-box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.16);
  overflow-y: auto;
}
#main .newsModal__close {
  position: absolute;
  right: 2.2rem;
  top: 2.2rem;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  border: 1px solid var(--color02);
  background: transparent;
  cursor: pointer;
  text-decoration: none;
}
#main .newsModal__close::before, #main .newsModal__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1.6rem;
  height: 1px;
  background: var(--base-color);
  -webkit-transform-origin: center;
          transform-origin: center;
}
#main .newsModal__close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
#main .newsModal__close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media all and (min-width: 1025px) {
  #main .newsModal__close:hover {
    background: var(--color-bg);
  }
}
#main .newsModal__date {
  margin-bottom: 0.8rem;
  font-size: 1.3rem;
  letter-spacing: 0.12em;
}
#main .newsModal__title {
  margin-bottom: 1.6rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
#main .newsModal__body p {
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.04em;
  text-align: justify;
}
@media all and (max-width: 896px) {
  #main .newsModal {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 2rem 1.6rem;
  }
  #main .newsModal__content {
    max-width: none;
    margin-top: 6rem;
    padding: 2.2rem 2rem 2.6rem;
    border-radius: 1.8rem;
    max-height: calc(100vh - 7rem);
  }
  #main .newsModal__close {
    right: 1.6rem;
    top: 1.6rem;
    width: 2.6rem;
    height: 2.6rem;
  }
  #main .newsModal__close::before, #main .newsModal__close::after {
    width: 1.2rem;
  }
  #main .newsModal__title {
    font-size: 1.7rem;
    line-height: 1.7;
  }
  #main .newsModal__body p {
    font-size: 1.3rem;
    line-height: 1.9;
  }
}
#main .about {
  padding: 12.3rem 0 12.8rem;
  position: relative;
  z-index: 3;
  background: url(../img/index/star_bg.webp) no-repeat left calc(50% - 1.8rem) top -1.4rem/174.1rem, -webkit-gradient(linear, left top, left bottom, from(var(--color01)), to(var(--color-bg)));
  background: url(../img/index/star_bg.webp) no-repeat left calc(50% - 1.8rem) top -1.4rem/174.1rem, linear-gradient(to bottom, var(--color01), var(--color-bg));
}
#main .about::after {
  width: 100%;
  height: 2.1rem;
  position: absolute;
  content: "";
  left: 0;
  bottom: -2rem;
  background: url(../img/index/bg06.webp) repeat-x left top/23rem;
}
#main .about .posImage {
  width: 57.5rem;
  position: absolute;
  top: -20rem;
  left: calc(50% - 94rem);
  z-index: 1;
}
#main .about .posImage02 {
  top: -15.5rem;
  left: calc(50% + 30rem);
}
#main .about .content {
  position: relative;
  z-index: 2;
}
#main .about .heading {
  margin-bottom: 5.2rem;
  font-size: 4.4rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.818;
  text-align: center;
  position: relative;
}
#main .about .heading::before, #main .about .heading::after {
  width: 8.6rem;
  height: 9.7rem;
  left: 4rem;
  top: -0.6rem;
  content: "";
  position: absolute;
  background: url(../img/index/flower_img01.webp) no-repeat center top/100%;
}
#main .about .heading::after {
  width: 6rem;
  height: 6.7rem;
  left: auto;
  top: auto;
  right: 2.3rem;
  bottom: -7.2rem;
  background-image: url(../img/index/flower_img02.webp);
}
#main .about p {
  margin-bottom: 2.6rem;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 2.117;
  letter-spacing: 0;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: center;
  font-family: var(--maru);
}
#main .about p:last-child {
  margin-bottom: 0;
}
@media all and (max-width: 896px) {
  #main .about {
    padding: 4rem 0 30.6rem;
  }
  #main .about::after {
    height: 1.7rem;
    bottom: -1.6rem;
    background-size: 16.4rem;
  }
  #main .about .posImage {
    width: 28rem;
    left: -11rem;
    top: auto;
    bottom: 2.4rem;
  }
  #main .about .posImage02 {
    width: 27.8rem;
    left: auto;
    right: -6.5rem;
    top: auto;
    bottom: 1.6rem;
  }
  #main .about .heading {
    margin: 0 auto 2.8rem;
    max-width: 33.5rem;
    font-size: 2.2rem;
    line-height: 1.863;
    letter-spacing: 0em;
  }
  #main .about .heading::before {
    width: 4.3rem;
    height: 4.9rem;
    left: -0.3rem;
    top: auto;
    bottom: -1rem;
  }
  #main .about .heading::after {
    width: 3.7rem;
    height: 4.2rem;
    right: 0.8rem;
    bottom: -0.8rem;
  }
  #main .about p {
    margin: 0 -0.8rem 1.5rem;
    font-size: 1.5rem;
    line-height: 1.866;
    letter-spacing: 0em;
  }
}
#main .feature {
  padding: 14rem 0 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
  background: var(--color16);
}
#main .feature .heading {
  margin: 0 auto 8.9rem;
  padding-left: 18rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 500;
  font-family: var(--sub-font);
  position: relative;
}
#main .feature .heading .text01 {
  margin: 0 5.9rem;
  font-size: 3.257rem;
  line-height: 1.494;
  display: block;
  letter-spacing: 0.1em;
}
#main .feature .heading .text02 {
  font-size: 10.067rem;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
#main .feature .heading .text02 span {
  font-size: 11.406rem;
}
#main .feature .heading .numImg {
  padding: 0;
  position: absolute;
  width: 15.5rem;
  left: 4.5rem;
  top: 0.4rem;
}
#main .feature .heading .numImg::before {
  width: 7.2rem;
  height: 6.8rem;
  background-image: url(../img/common/icon04.webp);
  -webkit-transform: none;
          transform: none;
  left: -3.3rem;
  top: -0.4rem;
}
#main .feature .heading .numImg::after {
  display: none;
}
#main .feature .heading .numImg.isShow::before {
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation-name: lineShow02;
          animation-name: lineShow02;
}
#main .feature .imgList {
  margin: 0 auto 10rem;
  max-width: 120rem;
}
#main .feature .imgList .photoBox {
  width: 57.2rem;
  position: relative;
}
#main .feature .imgList .numText {
  padding: 2.2rem 0 3rem;
  letter-spacing: 0.1em;
  width: 8.3rem;
  text-align: center;
  font-size: 1.5rem;
  position: absolute;
  left: 3.3rem;
  top: 0;
  background: var(--color07);
  border-radius: 0 0 4rem 4rem;
}
#main .feature .imgList .numText span {
  font-weight: 700;
  display: block;
  color: var(--color01);
}
#main .feature .imgList .numText .num {
  font-size: 4.089rem;
  line-height: 0.8;
  font-weight: 900;
  font-family: var(--maru);
}
#main .feature .imgList .comList {
  margin: 0;
  position: absolute;
  left: -3rem;
  bottom: -5.5rem;
}
#main .feature .imgList .comList li {
  margin: 0;
  letter-spacing: 0;
}
#main .feature .imgList .photo img {
  border-radius: 3rem;
}
#main .feature .imgList .textBox {
  margin: 2.1rem 0;
  width: 51rem;
}
#main .feature .imgList .textBox p {
  line-height: 2;
  letter-spacing: 0.06em;
}
#main .feature .imgList .title {
  font-size: 3rem;
  line-height: 1.333;
  color: rgba(var(--color17), 1);
  letter-spacing: -0.01em;
  font-family: var(--maru);
  font-weight: 500;
  margin-bottom: 1.6rem;
}
#main .feature .imgList > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6.2rem;
  position: relative;
}
#main .feature .imgList > li > * {
  position: relative;
  z-index: 2;
}
#main .feature .imgList > li::after {
  width: 999rem;
  top: -3.5rem;
  bottom: -3.5rem;
  position: absolute;
  left: 20.8rem;
  content: "";
  background: var(--color18);
  border-radius: 3rem 0 0 3rem;
}
#main .feature .imgList > li + li {
  margin-top: 11rem;
}
#main .feature .imgList > li:nth-child(2n)::after {
  background: var(--color19);
}
@media all and (min-width: 897px) {
  #main .feature .imgList > li:nth-child(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #main .feature .imgList > li:nth-child(2n)::after {
    left: auto;
    right: 20.9rem;
    border-radius: 0 3rem 3rem 0;
  }
  #main .feature .imgList > li:nth-child(2n) .comList {
    bottom: -6.3rem;
    right: -2.7rem;
    left: auto;
  }
}
#main .feature .bigPhoto {
  margin: 13.4rem 0 0;
  position: relative;
}
#main .feature .bigPhoto::after, #main .feature .bigPhoto::before {
  content: "";
  position: absolute;
  left: 0;
  top: -0.5rem;
  width: 100%;
  height: 2.4rem;
  background: url(../img/index/bg11.webp) repeat-x left top/23rem;
}
#main .feature .bigPhoto::after {
  top: auto;
  bottom: -0.6rem;
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
}
@media all and (max-width: 896px) {
  #main .feature .bigPhoto::after, #main .feature .bigPhoto::before {
    top: -0.4rem;
    height: 1.7rem;
    background-size: 16.4rem;
  }
  #main .feature .bigPhoto::after {
    top: auto;
    bottom: -0.4rem;
  }
}
@media all and (max-width: 896px) {
  #main .feature {
    padding: 6.8rem 0 0;
  }
  #main .feature .heading {
    margin-bottom: 4.7rem;
    padding-left: 6.8rem;
  }
  #main .feature .heading .numImg {
    width: 7.3rem;
    left: -0.5rem;
    top: 0.4rem;
  }
  #main .feature .heading .numImg::before {
    display: none;
  }
  #main .feature .heading .text01 {
    margin: 0 0 0 1.6rem;
    font-size: 1.534rem;
    line-height: 1.494;
  }
  #main .feature .heading .text02 {
    font-size: 4.742rem;
    letter-spacing: 0.02em;
  }
  #main .feature .heading .text02 span {
    font-size: 5.372rem;
  }
  #main .feature .imgList {
    margin: 0 4rem 6rem;
    max-width: inherit;
  }
  #main .feature .imgList > li {
    display: block;
  }
  #main .feature .imgList > li::after {
    width: calc(100% + 4rem);
    bottom: -2.5rem;
    top: 13.3rem;
    left: -2rem;
    border-radius: 1rem;
  }
  #main .feature .imgList > li + li {
    margin-top: 5.3rem;
  }
  #main .feature .imgList .photoBox {
    margin: 0 0 1.8rem;
    width: auto;
  }
  #main .feature .imgList .photoBox img {
    width: 100%;
    border-radius: 1.4rem;
  }
  #main .feature .imgList .textBox {
    margin: 0;
    width: auto;
  }
  #main .feature .imgList .textBox p {
    letter-spacing: 0.01em;
    text-align: justify;
  }
  #main .feature .imgList .comList {
    left: auto !important;
    bottom: -1.5rem !important;
    right: -4.7rem !important;
  }
  #main .feature .imgList .comList li {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  #main .feature .imgList .title {
    margin: 0 -2rem 1.3rem 0;
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: -0.02em;
  }
  #main .feature .imgList .numText {
    padding: 1.4rem 0 2rem;
    width: 5.3rem;
    font-size: 0.96rem;
    left: 1.5rem;
  }
  #main .feature .imgList .numText .num {
    font-size: 2.617rem;
  }
  #main .feature .bigPhoto {
    margin: 5.2rem 0 0;
    aspect-ratio: 375/137;
  }
  #main .feature .bigPhoto img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#main .greeting {
  padding-top: 11rem;
  position: relative;
}
@media all and (min-width: 897px) {
  #main .greeting::before {
    width: 23.6rem;
    height: 23.6rem;
    content: "";
    position: absolute;
    left: calc(50% - 45rem);
    top: -8.3rem;
    background: url(../img/index/dot_icon.webp) no-repeat center top/100%;
  }
}
#main .greeting .headLine {
  position: relative;
  z-index: 3;
}
#main .greeting .person {
  position: relative;
  background: var(--color25);
}
#main .greeting .person::before {
  content: "";
  width: 100%;
  height: 51.3rem;
  position: absolute;
  left: 0;
  top: -8.6rem;
  pointer-events: none;
  background: url(../img/index/greeting_img01.webp) no-repeat center top/100% 100%;
}
#main .greeting .person .content {
  margin: 0 auto;
  max-width: 120rem;
  position: relative;
  z-index: 3;
}
@media all and (min-width: 897px) {
  #main .greeting .person01 .photo::before {
    width: 18.5rem;
    height: 18.5rem;
    content: "";
    position: absolute;
    left: -14.5rem;
    top: 5rem;
    background: url(../img/index/dot_icon.webp) no-repeat center top/100%;
  }
  #main .greeting .person01 .photo > * {
    position: relative;
  }
}
#main .greeting .person02 {
  padding: 9.7rem 0 0;
  background: var(--color26);
}
#main .greeting .person02::before {
  top: -15.4rem;
  background-image: url(../img/index/greeting_img02.webp);
}
#main .greeting .person02 .imgBox {
  margin-bottom: 0;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#main .greeting .person02 .heading {
  color: rgba(var(--color23), 1) !important;
}
#main .greeting .person02 .title {
  background: rgba(var(--color23), 0.8) !important;
}
#main .greeting .person03 {
  padding: 7.3rem 0 13.8rem;
  background: var(--color27) url(../img/index/bg09.webp) repeat-x left bottom/23rem;
}
#main .greeting .person03::before {
  top: -8.2rem;
  background-image: url(../img/index/greeting_img03.webp);
}
#main .greeting .person03 .imgBox {
  margin-bottom: 1.6rem;
}
#main .greeting .person03 .heading {
  color: rgba(var(--color24), 1) !important;
  opacity: 1 !important;
}
#main .greeting .person03 .title {
  background: rgba(var(--color24), 1) !important;
}
#main .greeting .imgBox {
  margin-bottom: 5.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5.5rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#main .greeting .imgBox .photo {
  width: 45.7rem;
}
#main .greeting .imgBox .photo img {
  border-radius: 4rem;
}
#main .greeting .imgBox .photo p {
  margin-top: 2.5rem;
  font-weight: 500;
  font-size: 4.6rem;
  text-align: center;
  font-family: var(--sub-font);
  letter-spacing: 0.08em;
}
#main .greeting .imgBox .photo p small {
  display: block;
  font-family: var(--base-font);
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
#main .greeting .imgBox .textBox {
  margin: 3.6rem 0 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#main .greeting .imgBox .textBox p {
  line-height: 2;
  letter-spacing: 0.04em;
  text-align: justify;
}
#main .greeting .imgBox .heading {
  margin-bottom: 2.3rem;
  font-size: 3.2rem;
  line-height: 1.343;
  letter-spacing: 0.1em;
  color: var(--color20);
  opacity: 0.8;
}
#main .greeting .siteList > li {
  width: calc(50% - 2rem);
}
#main .greeting .subBox {
  margin-top: 3.2rem;
}
#main .greeting .subBox .title {
  margin-bottom: 2.2rem;
  padding: 1rem 2.7rem;
  border-radius: 2.5rem;
  letter-spacing: 0.06em;
  font-size: 2rem;
  font-family: var(--maru);
  color: var(--color01);
  background: rgba(var(--color17), 0.8);
}
@media all and (min-width: 897px) {
  #main .greeting .subBox .textList.colums2 {
    width: 48rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4.3rem;
  }
}
#main .greeting .subBox .textList.colums2 > li {
  margin: 0;
  padding: 0;
}
#main .greeting .subBox .textList.colums2 > li::before {
  display: none;
}
#main .greeting .subBox .textList li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-left: 1.5rem;
  font-size: 1.5rem;
  text-indent: -1.4rem;
  letter-spacing: 0.06em;
}
#main .greeting .subBox .textList li::before {
  margin-right: 0.4rem;
  content: "・";
}
#main .greeting .subBox .textList li + li {
  margin-top: 0.6rem;
}
#main .greeting .info {
  padding: 1px 2rem 3.6rem;
  width: 106.4rem;
  border-radius: 4rem;
  color: var(--color01);
  background: var(--color21);
  position: relative;
}
#main .greeting .info::after {
  content: "";
  width: 3.7rem;
  height: 2.8rem;
  position: absolute;
  right: -2.7rem;
  top: 3.9rem;
  background: url(../img/index/greeting_icon01.webp) no-repeat right top/100%;
}
@media all and (min-width: 897px) {
  #main .greeting .info {
    margin-top: 7rem;
    position: relative;
  }
  #main .greeting .info::before {
    width: 18.5rem;
    height: 18.5rem;
    content: "";
    position: absolute;
    right: -25.8rem;
    top: -10rem;
    background: url(../img/index/dot_icon.webp) no-repeat center top/100%;
  }
}
#main .greeting .info .title02 {
  margin: -2.4rem 0 1rem -1.6rem;
  padding: 0.7rem 1rem 0.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.6rem;
  line-height: 1.538;
  font-family: var(--maru);
  background: url(../img/index/greeting_icon02.webp) no-repeat left top/100% 100%;
  letter-spacing: -0.05em;
}
#main .greeting .info p {
  margin: 0 3.3rem;
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 2;
  letter-spacing: 0.08em;
}
#main .greeting .info .posImage {
  width: 16.2rem;
  position: absolute;
  left: calc(100% - 2rem);
  top: 1.8rem;
}
@media all and (max-width: 896px) {
  #main .greeting {
    padding-top: 6.3rem;
  }
  #main .greeting .headLine {
    margin-bottom: 2.3rem;
  }
  #main .greeting .imgBox {
    margin: 0 2rem;
    display: block;
  }
  #main .greeting .imgBox .photo {
    width: 100%;
  }
  #main .greeting .imgBox .photo img {
    border-radius: 2rem;
  }
  #main .greeting .imgBox .photo p {
    margin-top: 2.1rem;
    font-size: 3.4rem;
  }
  #main .greeting .imgBox .photo p small {
    font-size: 1.5rem;
    letter-spacing: 0.08em;
  }
  #main .greeting .imgBox .heading {
    margin-bottom: 1.2rem;
    font-size: 2.4rem;
    line-height: 1.433;
  }
  #main .greeting .imgBox .textBox {
    margin-top: 3.1rem;
  }
  #main .greeting .imgBox .textBox p {
    letter-spacing: 0.02em;
    text-align: justify;
  }
  #main .greeting .subBox {
    margin-top: 1.8rem;
  }
  #main .greeting .subBox .title {
    margin-bottom: 1.5rem;
  }
  #main .greeting .subBox .textList {
    width: auto !important;
    -webkit-columns: 1 !important;
       -moz-columns: 1 !important;
            columns: 1 !important;
  }
  #main .greeting .subBox .textList li {
    font-size: 1.4rem;
    line-height: 1.857;
  }
  #main .greeting .subBox .textList li + li {
    margin-top: 0;
  }
  #main .greeting .info {
    margin: 6.2rem 2rem 0;
    padding-bottom: 1.9rem;
    width: auto;
    border-radius: 2rem;
  }
  #main .greeting .info::after {
    display: none;
  }
  #main .greeting .info .title02 {
    margin-top: -2rem;
    padding: 0.6rem 1.4rem 0.6rem 1.1rem;
    font-size: 2rem;
  }
  #main .greeting .info p {
    margin: 0;
    font-size: 1.2rem;
    line-height: 2;
    text-align: justify;
  }
  #main .greeting .info .posImage {
    width: 7.9rem;
    left: calc(100% - 9.3rem);
    top: -5.8rem;
  }
  #main .greeting .person::before {
    width: 100%;
    height: 71.2vw;
    top: -0.3rem;
  }
  #main .greeting .person02 {
    padding-top: 7.3rem;
  }
  #main .greeting .person02::before {
    top: -20rem;
  }
  #main .greeting .person03 {
    padding-top: 6.3rem;
    padding-bottom: 8rem;
    background-size: 16.4rem;
  }
  #main .greeting .person03 .imgBox {
    margin-bottom: 3.8rem;
  }
  #main .greeting .person03::before {
    top: -12.2rem;
  }
  #main .greeting .siteList {
    display: block;
  }
  #main .greeting .siteList > li {
    width: 100%;
  }
  #main .greeting .siteList > li + li {
    margin-top: 1.7rem;
  }
}
#main .recruit {
  margin-top: 12rem;
  padding: 6.3rem 0 5.6rem;
  border-radius: 4rem;
  background: url(../img/index/recruit_bg.webp) no-repeat center top/cover;
  font-family: var(--maru);
  font-weight: 700;
  color: var(--color01);
  position: relative;
}
#main .recruit .heading {
  margin-bottom: 3.5rem;
  text-align: center;
  font-size: 6.583rem;
  line-height: 1.157;
  letter-spacing: 0em;
  font-style: italic;
}
#main .recruit .heading span {
  color: var(--color36);
}
#main .recruit .link {
  position: absolute;
  right: -4.5rem;
  top: -3.5rem;
}
#main .recruit .link a {
  width: 22.6rem;
  height: 22.6rem;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.445;
  text-align: center;
  border-radius: 100%;
  color: var(--base-color);
  font-family: var(--sub-font);
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
}
#main .recruit .link a::after {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  pointer-events: none;
  background: -webkit-gradient(linear, left top, right top, from(var(--color37)), color-stop(50%, var(--color38)), to(var(--color39))) 0% 0%/200%, #fff !important;
  background: linear-gradient(90deg, var(--color37) 0%, var(--color38) 50%, var(--color39) 100%) 0% 0%/200%, #fff !important;
  opacity: 0.9;
  z-index: -1;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#main .recruit .link a::before {
  width: 20.9rem;
  height: 20.9rem;
  position: absolute;
  left: 0.8rem;
  top: 0.8rem;
  content: "";
  pointer-events: none;
  background: url(../img/common/icon08.webp) no-repeat center top/100%;
}
#main .recruit .link a span {
  padding-top: 1.8rem;
}
#main .recruit .link a span::after {
  margin: 1.8rem auto 0;
  width: 2rem;
  height: 1.9rem;
  content: "";
  display: block;
  background: url(../img/common/blank_icon.webp) no-repeat center top/100%;
}
@media all and (min-width: 1025px) {
  #main .recruit .link a:hover::after {
    opacity: 0.72;
    background-position: -100% 0px !important;
  }
}
#main .recruit p {
  font-size: 1.8rem;
  text-align: center;
  letter-spacing: 0.09em;
  font-family: var(--base-font);
}
#main .recruit .list {
  margin-bottom: 4rem;
  gap: 1.8rem;
}
#main .recruit .list li {
  width: 18.9rem;
  text-align: center;
}
#main .recruit .list li a {
  font-size: 2.2rem;
  line-height: 2.227;
  display: block;
  color: var(--color01);
  border-radius: 1rem;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(var(--color11), 0.8)), color-stop(50%, rgba(var(--color11), 0.64))) 0% 0%/200% !important;
  background: linear-gradient(to right, rgba(var(--color11), 0.8) 50%, rgba(var(--color11), 0.64) 50%) 0% 0%/200% !important;
}
#main .recruit .list li.item01 a {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(var(--color12), 0.8)), color-stop(50%, rgba(var(--color12), 0.64))) 0% 0%/200% !important;
  background: linear-gradient(to right, rgba(var(--color12), 0.8) 50%, rgba(var(--color12), 0.64) 50%) 0% 0%/200% !important;
}
#main .recruit .list li.item02 a {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(var(--color13), 0.8)), color-stop(50%, rgba(var(--color13), 0.64))) 0% 0%/200% !important;
  background: linear-gradient(to right, rgba(var(--color13), 0.8) 50%, rgba(var(--color13), 0.64) 50%) 0% 0%/200% !important;
}
#main .recruit .list li.item03 a {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(var(--color14), 0.8)), color-stop(50%, rgba(var(--color14), 0.64))) 0% 0%/200% !important;
  background: linear-gradient(to right, rgba(var(--color14), 0.8) 50%, rgba(var(--color14), 0.64) 50%) 0% 0%/200% !important;
}
#main .recruit .list li.item04 a {
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, rgba(var(--color15), 0.8)), color-stop(50%, rgba(var(--color15), 0.64))) 0% 0%/200% !important;
  background: linear-gradient(to right, rgba(var(--color15), 0.8) 50%, rgba(var(--color15), 0.64) 50%) 0% 0%/200% !important;
}
@media all and (min-width: 1025px) {
  #main .recruit .list li a:hover {
    background-position: -100% 0px !important;
  }
}
@media all and (max-width: 896px) {
  #main .recruit {
    margin-top: 5.3rem;
    padding: 2.4rem 2rem;
    border-radius: 1.69rem;
  }
  #main .recruit .heading {
    margin-bottom: 1.9rem;
    font-size: 2.6rem;
    line-height: 1.174;
  }
  #main .recruit p {
    font-size: 1.1rem;
    line-height: 1.454;
    text-align: left;
  }
  #main .recruit .list {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 0.9rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1.6rem;
  }
  #main .recruit .list li {
    width: 9.2rem;
  }
  #main .recruit .list li a {
    font-size: 1.1rem;
    line-height: 2.177;
    border-radius: 0.48rem;
  }
  #main .recruit .link {
    right: -0.9rem;
    top: auto;
    bottom: -4rem;
  }
  #main .recruit .link a {
    width: 13.5rem;
    height: 13.5rem;
    font-size: 1.44rem;
    line-height: 1.445;
  }
  #main .recruit .link a::before {
    width: 12.5rem;
    height: 12.5rem;
    left: 0.5rem;
    top: 0.5rem;
  }
  #main .recruit .link a span {
    padding-top: 0.9rem;
  }
  #main .recruit .link a span::after {
    margin-top: 1.2rem;
    width: 1.2rem;
    height: 1.3rem;
  }
}
#main .clinic {
  position: relative;
}
@media all and (min-width: 897px) {
  #main .clinic .maskBox {
    padding: 10.3rem 0 14rem;
    position: relative;
  }
  #main .clinic .maskBox::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
    background: url(../img/index/clinic_bg.webp) no-repeat center top/cover;
    -webkit-mask-image: url(../img/index/mask.webp), url(../img/index/mask02.webp);
            mask-image: url(../img/index/mask.webp), url(../img/index/mask02.webp);
    -webkit-mask-repeat: repeat-x, no-repeat;
            mask-repeat: repeat-x, no-repeat;
    -webkit-mask-position: left top, left 2.4rem;
            mask-position: left top, left 2.4rem;
    -webkit-mask-size: 23rem, 100% 100%;
            mask-size: 23rem, 100% 100%;
  }
}
#main .clinic::before {
  width: 56.5rem;
  height: 56.5rem;
  content: "";
  position: absolute;
  left: calc(50% + 23rem);
  top: -4.8rem;
  pointer-events: none;
  z-index: 1;
  background: url(../img/common/logo_icon.webp) no-repeat center top/100%;
}
#main .clinic .content {
  max-width: 100rem;
  position: relative;
  z-index: 5;
}
#main .clinic .headLine {
  margin-bottom: 3.8rem;
}
#main .clinic .list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 2rem;
  background: var(--color01);
  position: relative;
}
#main .clinic .list li .arrowLink {
  width: 8rem;
  height: 8rem;
  position: absolute;
  right: -4rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
  background: -webkit-gradient(linear, left top, right top, color-stop(50%, var(--color08)), color-stop(50%, rgba(var(--color08-rgb), 0.8))) 0% 0%/200%, #fff !important;
  background: linear-gradient(to right, var(--color08) 50%, rgba(var(--color08-rgb), 0.8) 50%) 0% 0%/200%, #fff !important;
}
#main .clinic .list li .arrowLink img {
  width: 4.3rem;
}
@media all and (min-width: 1025px) {
  #main .clinic .list li .arrowLink:hover {
    opacity: 1;
    background-position: -100% 0px !important;
  }
}
#main .clinic .list li + li {
  margin-top: 2.8rem;
}
#main .clinic .list li .photo {
  width: 38rem;
  border-radius: 2rem 0 0 2rem;
  overflow: hidden;
}
#main .clinic .list li .photo img {
  width: 100%;
}
@media all and (min-width: 897px) {
  #main .clinic .list li .photo img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
#main .clinic .list li .textBox {
  margin: 2.6rem 3.9rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
#main .clinic .list li .textBox p {
  margin: 0 0.7rem 0.4rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
#main .clinic .list li .textBox p.tel {
  margin-bottom: 0;
}
#main .clinic .list li .textBox p a {
  display: inline-block;
  padding-left: 2.2rem;
  font-size: 2.194rem;
  background: url(../img/common/tel_icon02.webp) no-repeat center left/1.8rem;
}
#main .clinic .list li .logo {
  margin-bottom: 1.4rem;
  width: auto;
  height: 9.2rem;
}
#main .clinic .list li .logo img {
  width: auto;
  height: 100%;
}
#main .clinic .list li .logo a {
  display: block;
  height: 100%;
}
@media all and (max-width: 896px) {
  #main .clinic {
    padding: 6.6rem 0 7rem;
    background: url(../img/index/clinic_bg.webp) no-repeat center top/cover;
  }
  #main .clinic::before {
    width: 17.8rem;
    height: 17.8rem;
    left: calc(100% - 14.5rem);
    top: 2.3rem;
    z-index: 0;
  }
  #main .clinic::after {
    width: 100%;
    height: 1.7rem;
    content: "";
    position: absolute;
    left: 0;
    top: -0.1rem;
    pointer-events: none;
    background: url(../img/index/bg11.webp) repeat-x left top/16.3rem;
  }
  #main .clinic .headLine {
    margin-bottom: 3.1rem;
  }
  #main .clinic .headLine .jp {
    padding: 0 2.3rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: inherit;
  }
  #main .clinic .list li {
    padding-bottom: 1.6rem;
    display: block;
    border-radius: 2rem;
  }
  #main .clinic .list li + li {
    margin-top: 2rem;
  }
  #main .clinic .list li .photo {
    width: auto;
    border-radius: 2rem 2rem 0 0;
  }
  #main .clinic .list li .textBox {
    margin: 2rem 2rem 0;
  }
  #main .clinic .list li .textBox p {
    margin: 0 0 0.9rem;
    line-height: 1.714;
  }
  #main .clinic .list li .logo {
    margin-bottom: 1.3rem;
    height: 8rem;
  }
  #main .clinic .list li .arrowLink {
    -webkit-transform: none;
            transform: none;
    top: auto;
    bottom: 1.6rem;
    right: 1.4rem;
  }
}/*# sourceMappingURL=index.css.map */