@charset "UTF-8";

/* ==========================================================================
About Page style
============================================================================= */
:root {
  --font1: "Zen Kaku Gothic Antique", sans-serif;
  --font2: "Shippori Mincho", serif;
  --font3: "Lato", sans-serif;
  --color-base: #222;
  --color-green: #afff27;
}
/* Message section */
.p-message {
  padding-block: 0 200px;
}
.p-message .c-hdg01 {
  -webkit-margin-after: 120px;
          margin-block-end: 120px;
}
@media screen and (max-width: 767.98px) {
  .p-message {
    padding-block: 0;
  }
  .p-message .c-hdg01 {
    -webkit-margin-after: 100px;
            margin-block-end: 100px;
  }
}
.c-message__inner {
  position: relative;
}
.c-message__inner::before {
  content: "";
  background: url("../img_r2/about/message_bg.webp") no-repeat right bottom/contain;
  position: absolute;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 38.541vw;
  max-width: 550px;
  pointer-events: none;
  z-index: 20;
}
.c-message__cont {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px min(6.25vw, 90px);
  padding-block: 100px 60px;
  padding-inline: min(5.694vw, 82px);
  position: relative;
  z-index: 10;
}
.c-message__cont::before {
  border-radius: 10px 0 0 10px;
  background-color: #363935;
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  width: calc(100% - min(8.611vw, 124px));
  z-index: -1;
}
.c-message__cont::after {
  border-radius: 10px 0 0 10px;
  content: "";
  opacity: 0.4;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  z-index: -1;
}
.c-message__detail {
  -ms-overflow-style: none;
  scrollbar-width: none;
  -webkit-padding-after: 100px;
          padding-block-end: 100px;
  position: relative;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, #000), to(transparent));
  -webkit-mask-image: -webkit-linear-gradient(top, #000 70%, transparent 100%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(70%, #000), to(transparent));
          mask-image: linear-gradient(to bottom, #000 70%, transparent 100%);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.3) transparent;
}
.c-message__detail::-webkit-scrollbar {
  width: 6px;
}
.c-message__detail::-webkit-scrollbar-thumb {
  background-color: rgba(255,255,255,0.3);
  border-radius: 10px;
}
.c-message__detail::-webkit-scrollbar-track {
  background: transparent;
}
.c-message__detail .lead {
  font-size: clamp(2.6rem, 2.22vw, 3.2rem);
  font-family: var(--font2);
  line-height: 1.6;
}
.c-message__text {
  -webkit-margin-start: 40px;
          margin-inline-start: 40px;
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}
.c-message__text .ttl {
  -webkit-border-after: solid 1px #ddd;
          border-block-end: solid 1px #ddd;
  font-size: clamp(1.6rem, 1.5277vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  -webkit-margin-after: 30px;
          margin-block-end: 30px;
  -webkit-padding-after: 25px;
          padding-block-end: 25px;
}
.c-message__text .txt {
  font-size: 1.5rem;
  line-height: 1.8;
}
.c-message__text .txt + .ttl {
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}
.c-message__img {
  -webkit-margin-after: -140px;
          margin-block-end: -140px;
}
.c-message__img img {
  -webkit-box-shadow: 0 0 30px rgba(0,0,0,0.2);
          box-shadow: 0 0 30px rgba(0,0,0,0.2);
  width: 410px;
}
.c-message__name {
  -webkit-margin-before: 40px;
          margin-block-start: 40px;
  text-align: right;
}
.c-message__name b {
  display: block;
  font-size: 2rem;
  font-family: var(--font2);
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .c-message__cont {
    min-height: 690px;
    height: 47.9166vw;
    max-height: 900px;
    position: relative;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .c-message__cont::after {
    background: url("../img_r2/common/bg_noise_gray.svg") repeat 0 0/40% auto;
    width: calc(100% - min(8.611vw, 124px));
  }
  .c-message__img {
    -ms-flex-preferred-size: calc(min(34.0277vw, 490px) - 40px);
        flex-basis: calc(min(34.0277vw, 490px) - 40px);
    -webkit-transform: translate(0px, -140px);
            transform: translate(0px, -140px);
    -webkit-margin-end: max(-5.694vw, -82px);
            margin-inline-end: max(-5.694vw, -82px);
  }
  .c-message__name {
    -webkit-margin-end: 40px;
            margin-inline-end: 40px;
  }
  .c-message__detail {
    -ms-flex-preferred-size: calc(100% - min(34.0277vw, 490px) - min(6.25vw, 90px) + max(5.694vw, 82px));
        flex-basis: calc(100% - min(34.0277vw, 490px) - min(6.25vw, 90px) + max(5.694vw, 82px));
    height: 100%;
  }
  .c-message__text {
    -webkit-padding-after: 80px;
            padding-block-end: 80px;
  }
}
@media screen and (max-width: 767.98px) {
  .c-message__cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-padding-after: 0;
            padding-block-end: 0;
  }
  .c-message__cont::before {
    width: calc(100% - min(6.510vw, 50px));
  }
  .c-message__cont::after {
    background-image: -webkit-radial-gradient(12% 18%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(33% 77%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(58% 22%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(76% 41%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(21% 64%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(48% 55%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(67% 83%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(88% 28%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(15% 45%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(90% 70%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(35% 12%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(55% 95%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%);
    background-image: radial-gradient(1px 1px at 12% 18%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 33% 77%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 58% 22%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 76% 41%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 21% 64%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 48% 55%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 67% 83%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 88% 28%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 15% 45%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 90% 70%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 35% 12%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 55% 95%, rgba(0,0,0,0.6) 50%, transparent 51%);
    background-size: 20px 10px;
    mix-blend-mode: multiply;
    width: calc(100% - min(6.510vw, 50px));
  }
  .c-message__img {
    -webkit-transform: translate(-10px, -140px);
            transform: translate(-10px, -140px);
  }
  .c-message__img img {
    max-width: 200px;
  }
  .c-message__name {
    text-align: right;
  }
  .c-message__detail {
    -webkit-margin-start: 30px;
            margin-inline-start: 30px;
    max-height: 500px;
  }
  .c-message__text {
    -webkit-padding-before: 50px;
            padding-block-start: 50px;
    -webkit-padding-start: 30px;
            padding-inline-start: 30px;
    margin: 0;
  }
}
/* Policy section */
.p-policy {
  overflow: hidden;
}
.p-policy .c-bg__gray {
  padding-block: 125px 150px;
}
.p-policy .splide__track {
  position: relative;
}
.p-policy .splide__track::before {
  background: url("../img_r2/about/policy_list_bg.svg") no-repeat center/100% auto;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
}
.p-policy .splide__pagination,
.p-policy .splide__arrows {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .p-policy {
    -webkit-padding-before: 380px;
            padding-block-start: 380px;
  }
  .p-policy .c-bg__gray {
    padding-block: 40px 80px;
  }
  .p-policy .splide__slide {
    margin-inline: 20px;
    max-width: calc(100% - 40px);
  }
  .p-policy .splide__arrow {
    height: 3em;
    width: 3em;
  }
  .p-policy .splide__track::before {
    top: 30%;
  }
}
.c-policy__inner {
  padding-block: 80px calc(260px + 6.944vw);
  position: relative;
}
.c-policy__inner::before,
.c-policy__inner::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 50%;
  z-index: -1;
}
.c-policy__inner::before {
  background: url("../img_r2/about/policy_bg01.webp") no-repeat right top -60px/contain;
  top: 0;
  right: 0;
}
.c-policy__inner::after {
  background: url("../img_r2/about/policy_bg02.webp") no-repeat left bottom -200px/contain;
  bottom: 0;
  left: 0;
}
.c-policy__cont {
  position: relative;
  z-index: 30;
}
.c-policy__text {
  font-family: var(--font2);
  font-size: 1.8rem;
  line-height: 2.8;
  text-align: center;
}
.c-policy__text + .c-policy__text {
  -webkit-margin-before: 1em;
          margin-block-start: 1em;
}
.c-policy__group {
  position: relative;
}
.c-policy__group::before,
.c-policy__group::after {
  content: '';
  position: absolute;
  top: calc(-6.9444vw + 2px);
  height: 6.9444vw;
  width: 100%;
  -webkit-mask-image: url("../img_r2/common/bg_gray_head.svg");
          mask-image: url("../img_r2/common/bg_gray_head.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: 100% 6.9444vw;
          mask-size: 100% 6.9444vw;
}
.c-policy__group::after {
  background: #363935;
  z-index: -1;
}
.c-policy__list {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  /* gap: min(2.77vw, 40px); */
}
.c-policy__list > li {
  background: rgba(79,81,78,0.6);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  border-radius: 30px;
  margin-inline: 20px !important;
  max-width: calc(33.3333% - 40px);
}
.c-policy__item {
  padding: 30px min(2.083vw, 30px) 50px;
  position: relative;
  height: 100%;
}
.c-policy__item::before {
  border-radius: 30px;
  content: "";
  background: rgba(255,255,255,0.1);
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
.c-policy__item .mark {
  border: solid 2px var(--color-green);
  border-radius: 50%;
  color: var(--color-green);
  display: -ms-grid;
  display: grid;
  font-size: 2rem;
  font-weight: 500;
  margin: 0 auto 30px;
  place-items: center;
  height: 60px;
  width: 60px;
}
.c-policy__item .ttl {
  font-size: clamp(3rem, 2.77vw, 4rem);
  font-family: var(--font2);
  line-height: 1;
  -webkit-margin-after: 20px;
          margin-block-end: 20px;
  text-align: center;
}
.c-policy__item .ttl::after {
  background-color: rgba(255,255,255,0.8);
  content: "";
  display: block;
  margin: 28px auto;
  height: 20px;
  width: 1px;
}
.c-policy__item .subject {
  -webkit-margin-after: 60px;
          margin-block-end: 60px;
  text-align: center;
}
.c-policy__item .subject .sub {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.c-policy__item .subject em {
  display: block;
  font-family: var(--font2);
  font-size: 2.4rem;
  line-height: 1.5;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
.c-policy__img {
  position: absolute;
  width: 27.083vw;
  max-width: 390px;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 20;
}
.c-policy__img.right {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  right: 0;
  top: 0;
}
.c-policy__img.left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  left: 0;
  top: 118px;
}
.c-policy__img img {
  border-radius: 3px;
  max-width: 100%;
}
.c-policy__img .img01 {
  width: 79.48%;
  min-width: 120px;
}
.c-policy__img .img02 {
  display: block;
  margin-right: auto;
  -webkit-transform: translateY(-4.861vw);
          transform: translateY(-4.861vw);
  width: 180px;
}
.c-policy__img .img03 {
  width: 100%;
  display: block;
  margin-block: auto 30px;
  -webkit-margin-end: 30px;
          margin-inline-end: 30px;
  min-width: 130px;
}
.c-policy__img .img04 {
  width: 79.48%;
  min-width: 120px;
}
.c-policy__img .img05 {
  -webkit-transform: translate(9.722vw, -4.166vw);
          transform: translate(9.722vw, -4.166vw);
  min-width: 90px;
  width: 68.974%;
}
@media screen and (min-width: 768px) {
  .c-policy__group::before {
    background: url("../img_r2/common/bg_noise_gray.svg") repeat 0 0/40% auto;
    opacity: 0.4;
  }
}
@media screen and (max-width: 767.98px) {
  .c-policy__inner {
    -webkit-padding-after: 460px;
            padding-block-end: 460px;
  }
  .c-policy__inner::before {
    background-position: left top;
    right: auto;
    top: -230px;
    left: 0;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .c-policy__inner::after {
    left: auto;
    bottom: 0;
    right: 0;
    width: 80%;
    -webkit-transform: scale(-1, 1);
            transform: scale(-1, 1);
  }
  .c-policy__text {
    font-size: 1.6rem;
    padding-inline: 20px;
    text-shadow: 0 0 4px #fff, 0 0 8px #fff, 0 0 12px #fff;
  }
  .c-policy__group::before {
    background: #363935;
  }
  .c-policy__group::after {
    background: -webkit-radial-gradient(12% 18%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(33% 77%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(58% 22%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(76% 41%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(21% 64%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(48% 55%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(67% 83%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(88% 28%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(15% 45%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(90% 70%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(35% 12%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%), -webkit-radial-gradient(55% 95%, 1px 1px, rgba(0,0,0,0.6) 50%, transparent 51%);
    background: radial-gradient(1px 1px at 12% 18%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 33% 77%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 58% 22%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 76% 41%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 21% 64%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 48% 55%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 67% 83%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 88% 28%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 15% 45%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 90% 70%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 35% 12%, rgba(0,0,0,0.6) 50%, transparent 51%), radial-gradient(1px 1px at 55% 95%, rgba(0,0,0,0.6) 50%, transparent 51%);
    background-size: 20px 10px;
    z-index: 1;
    opacity: 0.4;
  }
  .c-policy__list {
    gap: 0;
  }
  .c-policy__item {
    padding-inline: 20px;
  }
  .c-policy__item .mark {
    font-size: 1.5rem;
    height: 50px;
    width: 50px;
  }
  .c-policy__item .ttl {
    -webkit-margin-after: 10px;
            margin-block-end: 10px;
  }
  .c-policy__item .ttl::after {
    margin: 15px auto 10px;
  }
  .c-policy__item .subject {
    -webkit-margin-after: 30px;
            margin-block-end: 30px;
  }
  .c-policy__item .subject em {
    font-size: 1.8rem;
    -webkit-margin-before: 15px;
            margin-block-start: 15px;
  }
  .c-policy__img img {
    max-width: inherit;
  }
  .c-policy__img.right {
    top: -300px;
  }
  .c-policy__img.left {
    left: 0;
    top: inherit;
  }
  .c-policy__img .img01 {
    max-width: 350px;
    width: 65vw;
  }
  .c-policy__img .img02 {
    max-width: 280px;
    -webkit-transform: translate(-70vw, -20vw);
            transform: translate(-70vw, -20vw);
    width: 45vw;
  }
  .c-policy__img .img03 {
    margin-block: auto -24px;
    -webkit-margin-end: -20px;
            margin-inline-end: -20px;
    max-width: 300px;
    width: 40vw;
  }
  .c-policy__img .img04 {
    padding-top: 40px;
    max-width: 250px;
    width: 52vw;
  }
  .c-policy__img .img05 {
    max-width: 250px;
    width: 50vw;
    min-width: inherit;
    -webkit-transform: translate(140px, -22vw);
            transform: translate(140px, -22vw);
  }
}
/* Feature section */
.p-feature {
  padding-block: 130px 150px;
}
.c-feature__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-margin-after: 0;
          margin-block-end: 0;
}
.c-feature__inner .c-card {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
@media screen and (min-width: 768px) {
  .c-feature__inner .c-btn {
    -ms-flex-preferred-size: 280px;
        flex-basis: 280px;
    -webkit-margin-end: 5px;
            margin-inline-end: 5px;
  }
}
@media screen and (max-width: 767.98px) {
  .c-feature__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 0;
  }
  .c-feature__inner .c-btn {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
  .c-feature__inner .c-card {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
/* Group section */
.p-group {
  padding-block: 0 150px;
}
.p-group .l-container {
  -webkit-border-before: solid 1px #ddd;
          border-block-start: solid 1px #ddd;
  -webkit-padding-before: 150px;
          padding-block-start: 150px;
}
@media (max-width: 1279.98px) {
  .p-group .l-container {
    margin-inline: 20px;
    padding-inline: 0;
  }
}
/*# sourceMappingURL=maps/about.css.map */
