@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Zen+Old+Mincho:wght@400;600;700&display=swap");
.special {
  font-family: "Noto Sans JP", sans-serif;
}
.special .fade {
  opacity: 0;
  transition: 1.2s;
}
.special .fade.on {
  opacity: 1;
}
.special .fadeImg {
  opacity: 0;
  transform: scale(0.95) translateY(20px);
  transition: opacity 0.8s linear, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: center;
}
.special .fadeImg.on {
  opacity: 1;
  transform: scale(1) translateY(0);
}
.special .fadeParent .fadeChild {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s linear, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: center;
}
.special .fadeParent .fadeChild.on {
  opacity: 1;
  transform: translateY(0);
}
.specialInner {
  max-width: 1159px;
  margin-inline: auto;
  padding-inline: 10px;
}
.specialInnerS {
  max-width: 917px;
  margin-inline: auto;
  padding-inline: 10px;
}
.specialHead {
  max-width: 1366px;
  margin-inline: auto;
  position: relative;
}
.specialHeadImg {
  position: relative;
  padding: 0 0 70px 103px;
}
.specialHeadImg img {
  width: 100%;
  height: auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s linear, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: center;
}
.specialHeadImg img.on {
  opacity: 1;
  transform: translateY(0);
}
.specialHeadImg::before {
  content: "";
  width: calc(100% - 103px);
  height: calc(100% - 70px);
  background: #6E9997;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.specialHeadTxt {
  width: 325px;
  margin-inline: auto;
  position: absolute;
  bottom: 70px;
  left: 103px;
  padding: 60px 44px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s linear, transform 1.2s cubic-bezier(0.25, 1, 0.5, 1);
  transform-origin: center;
}
.specialHeadTxt.on {
  opacity: 1;
  transform: translateY(0);
}
.specialHeadTxtTag {
  font-size: 16px;
  font-weight: bold;
  color: #fff;
  background: #000;
  display: inline-block;
  padding: 8px 12px 8px 8px;
  line-height: 1;
  margin-bottom: 16px;
}
.specialHeadTxtHx {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 32px;
  line-height: 46px;
  color: #fff;
  margin-bottom: 16px;
}
.specialHeadTxtPrg {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  color: #fff;
}
.specialMember {
  padding-top: 200px;
  margin-bottom: 96px;
  position: relative;
}
.specialMember::before {
  content: "";
  background: url(../images/bg_member.png) no-repeat;
  width: 100%;
  height: 108px;
  position: absolute;
  top: -1px;
  left: calc(50% - 6px);
  transform: translateX(-50%);
  max-width: 1366px;
}
.specialMember h2 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 700;
  color: #fff;
  background: #6E9997;
  display: inline-block;
  font-size: 22px;
  line-height: 1;
  padding: 14px 15px 16px;
  position: relative;
  margin-bottom: 35px;
}
.specialMember h2::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  width: 20px;
  height: 100%;
  background: #6E9997;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.specialMemberList {
  display: flex;
  gap: 41px;
  margin-bottom: 45px;
}
.specialMemberList li {
  width: calc((100% - 90px) / 6);
}
.specialMemberList li figure img {
  width: 100%;
  height: auto;
}
.specialMemberList li figcaption {
  padding-top: 10px;
  text-align: center;
  font-size: 13px;
}
.specialMemberList li figcaption span {
  font-size: 18px;
}
.specialMemberTxt {
  background: #EFF2F2;
  padding: 25px;
}
.specialMemberTxt p {
  font-size: 16px;
  line-height: 2;
}
.specialCommentLine {
  margin-bottom: 84px;
}
.specialCommentLine:last-child {
  margin-bottom: 144px;
}
.specialCommentLine h2 {
  font-family: "Zen Old Mincho", serif;
  min-height: 70px;
  color: #115F5B;
  font-size: 32px;
  max-width: 1159px;
  margin: 0 auto 64px;
  box-sizing: border-box;
  padding: 15px 120px 0;
  line-height: 46px;
}
.specialCommentLine h2.q1 {
  background-image: url(../images/q1.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q2 {
  background-image: url(../images/q2.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q3 {
  background-image: url(../images/q3.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q4 {
  background-image: url(../images/q4.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q5 {
  background-image: url(../images/q5.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q6 {
  background-image: url(../images/q6.png);
  background-repeat: no-repeat;
}
.specialCommentLine h2.q7 {
  background-image: url(../images/q7.png);
  background-repeat: no-repeat;
}
.specialCommentBlock {
  max-width: 1159px;
  margin-inline: auto;
  display: flex;
  gap: 38px;
}
.specialCommentBlock.reverse {
  flex-flow: row-reverse;
}
.specialCommentBlockImg {
  width: 47.54%;
  height: 393px;
  position: relative;
}
.specialCommentBlockImg img {
  position: absolute;
  right: 0;
}
.specialCommentBlockImg img.leftImg {
  right: 0;
}
.specialCommentBlockImg img.rightImg {
  left: 0;
}
.specialCommentBlockTxt {
  padding: 30px 0 0 28px;
  flex: 1;
}
.specialComment .comment {
  font-size: 16px;
  line-height: 35px;
  margin-bottom: 30px;
  padding-left: 95px;
  padding-top: 22px;
  min-height: 80px;
}
.specialComment .comment:last-child {
  margin-bottom: 0;
}
.specialComment .commentKS {
  background: url(../images/member_ks.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentMS {
  background: url(../images/member_ms.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentYH {
  background: url(../images/member_yh.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentHF {
  background: url(../images/member_hf.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentJY {
  background: url(../images/member_jy.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentYO {
  background: url(../images/member_yo.jpg) no-repeat;
  background-size: 80px 80px;
}
.specialComment .commentHost {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  font-weight: 700;
  color: #115F5B;
  line-height: 36px;
  padding-left: 120px;
  position: relative;
  box-sizing: border-box;
  margin: 70px 120px 30px 0;
}
.specialComment .commentHost::before {
  content: "";
  width: 107px;
  height: 2px;
  background: #115F5B;
  position: absolute;
  top: 19px;
  left: 0;
}
.specialComment .specialInner .comment {
  margin-inline: 28px 120px;
}
.specialSeparator {
  height: 582px;
  width: 100%;
  margin-bottom: 100px;
}
.specialSeparator img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.specialMessage {
  margin-bottom: 122px;
}
.specialMessage h2 {
  font-family: "Zen Old Mincho", serif;
  font-size: 32px;
  font-weight: 600;
  line-height: 46px;
  margin-bottom: 43px;
  color: #115F5B;
}
.specialMessage p {
  background: #EFF2F2;
  padding: 25px;
  font-size: 16px;
  line-height: 35px;
  margin-bottom: 60px;
}
.specialMessagePhoto {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1px;
}
.specialMessagePhoto div img {
  width: 100%;
  height: auto;
}
.specialFooter {
  background: #6E9997;
  padding: 83px 0 110px;
}
.specialFooter .subTitle {
  margin-bottom: 25px;
  text-align: center;
}
.specialFooter h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 28px;
  line-height: 36px;
  color: #fff;
  text-align: center;
  margin-bottom: 52px;
}
.specialFooterPhoto {
  margin-bottom: 27px;
}
.specialFooterPhoto img {
  width: 100%;
  height: auto;
}
.specialFooter h4 {
  font-family: "Zen Old Mincho", serif;
  font-size: 22px;
  line-height: 36px;
  color: #fff;
  margin-bottom: 18px;
}
.specialFooterEvent {
  display: flex;
  gap: 20px;
}
.specialFooterEventTxt {
  flex: 1;
}
.specialFooterEventTxt p {
  color: #fff;
  font-size: 16px;
  line-height: 2;
}
.specialFooterEventBtn {
  width: 269px;
}
.specialFooterEventBtn a {
  border: 1px solid #115F5B;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  border-radius: 30px;
  font-size: 16px;
  width: 100%;
  text-decoration: none;
  color: #115F5B;
  font-weight: 500;
}

@media screen and (min-width: 769px) {
  .sp_only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pc_only {
    display: none;
  }
}
@media screen and (min-width: 769px) and (max-width: 1159px) {
  .specialCommentLine {
    padding-inline: 10px;
  }
  .specialCommentBlockImg img {
    width: 61.8vw;
    height: auto;
  }
  .specialCommentBlockTxt {
    padding-inline: 10px;
  }
  .specialSeparator {
    height: 50vw;
  }
}
@media screen and (max-width: 768px) {
  .specialInner {
    padding-inline: 0;
  }
  .specialInner.oneColumn {
    padding-inline: 20px;
  }
  .specialInnerS {
    padding-inline: 20px;
  }
  .specialHead {
    position: relative;
    padding-top: 28px;
    padding-bottom: 41px;
  }
  .specialHeadTag {
    color: #115F5B;
    display: inline-block;
    padding: 2px 5px 2px 15px;
    background: #fff;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 17px;
  }
  .specialHeadImg {
    position: static;
    padding: 0 0 0 20px;
    margin-bottom: 14px;
  }
  .specialHeadImg::before {
    top: 0;
    bottom: 0;
    width: calc(100% - 20px);
    height: auto;
  }
  .specialHeadTxt {
    position: static;
    width: auto;
    padding: 0;
    padding-inline: 20px 40px;
  }
  .specialHeadTxtHx {
    font-size: 29px;
    line-height: 41px;
    margin-bottom: 28px;
  }
  .specialHeadTxtPrg {
    font-size: 14px;
    line-height: 29px;
    font-feature-settings: "palt";
    font-weight: normal;
  }
  .specialMember {
    padding-top: 32.2666666667vw;
    margin-bottom: 38px;
  }
  .specialMember::before {
    top: 8.9333333333vw;
    background-size: calc(100% - 20px);
  }
  .specialMember h2 {
    padding-left: 20px;
    font-size: 16px;
  }
  .specialMemberList {
    padding-inline: 20px;
    flex-wrap: wrap;
    gap: 26px;
    margin-bottom: 26px;
  }
  .specialMemberList li {
    width: calc((100% - 52px) / 3);
  }
  .specialMemberTxt {
    padding: 15px 20px;
  }
  .specialMemberTxt p {
    font-size: 14px;
    line-height: 23px;
  }
  .specialCommentLine {
    margin-bottom: 61px;
  }
  .specialCommentLine:last-child {
    margin-bottom: 35px;
  }
  .specialCommentLine h2 {
    margin-inline: 20px;
    background-size: auto 62px;
    padding: 65px 0 0;
    font-size: 29px;
    line-height: 41px;
    margin-bottom: 20px;
  }
  .specialCommentBlock {
    flex-wrap: wrap;
    gap: 0;
  }
  .specialCommentBlock.reverse {
    flex-flow: unset;
    flex-wrap: wrap;
  }
  .specialCommentBlockImg {
    width: calc(100% - 20px);
    height: auto;
    margin-bottom: 30px;
  }
  .specialCommentBlockImg img {
    position: static;
    width: 100%;
    height: auto;
  }
  .specialCommentBlockImg img.leftImg {
    margin-inline: 0 20px;
  }
  .specialCommentBlockImg img.rightImg {
    margin-inline: 20px 0;
  }
  .specialCommentBlockTxt {
    padding: 0 20px;
  }
  .specialComment .comment {
    font-size: 14px;
    line-height: 23px;
    padding-left: 63px;
    padding-top: 15px;
    min-height: 50px;
  }
  .specialComment .commentKS {
    background-size: 50px 50px;
  }
  .specialComment .commentMS {
    background-size: 50px 50px;
  }
  .specialComment .commentYH {
    background-size: 50px 50px;
  }
  .specialComment .commentHF {
    background-size: 50px 50px;
  }
  .specialComment .commentJY {
    background-size: 50px 50px;
  }
  .specialComment .commentYO {
    background-size: 50px 50px;
  }
  .specialComment .commentHost {
    font-size: 20px;
    line-height: 32px;
    padding-left: 60px;
    letter-spacing: -0.08em;
    margin: 26px 0 40px 0;
  }
  .specialComment .commentHost::before {
    width: 50px;
  }
  .specialComment .specialInner .comment {
    margin-inline: 0;
  }
  .specialSeparator {
    height: 160px;
    margin-bottom: 48px;
  }
  .specialMessage {
    margin-bottom: 68px;
  }
  .specialMessage h2 {
    font-size: 29px;
    line-height: 41px;
    padding-inline: 20px;
    margin-bottom: 20px;
  }
  .specialMessage p {
    font-size: 14px;
    line-height: 23px;
    padding: 15px 20px;
    margin-bottom: 30px;
  }
  .specialMessagePhoto {
    padding-inline: 20px;
    gap: 15px;
    grid-template-columns: 1fr;
  }
  .specialFooter {
    padding: 57px 0 87px;
  }
  .specialFooter .subTitle {
    margin-bottom: 12px;
  }
  .specialFooter .subTitle img {
    width: 105px;
    height: auto;
  }
  .specialFooter h3 {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 40px;
  }
  .specialFooterPhoto {
    margin-bottom: 10px;
  }
  .specialFooter h4 {
    font-size: 20px;
    line-height: 32px;
    margin-bottom: 5px;
  }
  .specialFooterEvent {
    flex-wrap: wrap;
  }
  .specialFooterEventTxt {
    width: 100%;
  }
  .specialFooterEventTxt p {
    font-size: 14px;
    line-height: 26px;
  }
  .specialFooterEventBtn {
    width: 100%;
    text-align: center;
  }
  .specialFooterEventBtn a {
    max-width: 260px;
    margin-inline: auto;
    height: 40px;
    font-size: 14px;
  }
}

/*# sourceMappingURL=style.css.map */
