@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&icon_names=link");
.corp__branding {
  position: relative;
  aspect-ratio: 1440/800;
  -ms-flex-line-pack: center;
      align-content: center;
}
@media screen and (max-width: 768px) {
  .corp__branding {
    aspect-ratio: 5/7;
  }
}
.corp__branding .corp__branding-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  overflow: hidden;
  background-color: #f0f0f0;
}
.corp__branding .corp__branding-img img {
  position: absolute;
  border-radius: 2rem;
}
.corp__branding .corp__branding-img .story-bg-01 {
  width: 28%;
  top: 18%;
  left: -10%;
}
.corp__branding .corp__branding-img .story-bg-02 {
  width: 18%;
  top: -6%;
  left: 11%;
}
.corp__branding .corp__branding-img .story-bg-03 {
  width: 27%;
  top: -10%;
  left: 68%;
}
.corp__branding .corp__branding-img .story-bg-04 {
  width: 12%;
  top: 11%;
  left: 90%;
}
.corp__branding .corp__branding-img .story-bg-05 {
  width: 32%;
  top: 62%;
  left: -1%;
}
.corp__branding .corp__branding-img .story-bg-06 {
  width: 21%;
  top: 51%;
  left: 81%;
}
.corp__branding .corp__branding-img .story-bg-07 {
  width: 22%;
  top: 62%;
  left: 66%;
}
@media screen and (max-width: 768px) {
  .corp__branding .corp__branding-img .story-bg-01 {
    width: 42%;
    top: 6%;
    left: -18%;
  }
  .corp__branding .corp__branding-img .story-bg-02 {
    width: 27%;
    top: -10%;
    left: 14%;
  }
  .corp__branding .corp__branding-img .story-bg-03 {
    width: 40%;
    top: -8%;
    left: 65%;
  }
  .corp__branding .corp__branding-img .story-bg-04 {
    width: 18%;
    top: 11%;
    left: 85%;
  }
  .corp__branding .corp__branding-img .story-bg-05 {
    width: 48%;
    top: 79%;
    left: -1%;
  }
  .corp__branding .corp__branding-img .story-bg-06 {
    width: 31%;
    top: 71%;
    left: 81%;
  }
  .corp__branding .corp__branding-img .story-bg-07 {
    width: 33%;
    top: 82%;
    left: 55%;
  }
}
.corp__branding .corp__branding-txt > h2 {
  margin-top: 0;
}
.corp__branding .corp__branding-txt .corp__branding-ttl {
  font-size: 3.8rem;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-bottom: 0;
}
@media screen and (max-width: 768px) {
  .corp__branding .corp__branding-txt .corp__branding-ttl {
    font-size: 3.2rem;
  }
}

.corp-about {
  position: relative;
  aspect-ratio: 1440/400;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .corp-about {
    aspect-ratio: 1/1;
  }
}
.corp-about .corp-about-img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.corp-about .corp-about-txt {
  -ms-flex-line-pack: center;
      align-content: center;
  height: 100%;
}
.corp-about .ttl-section {
  margin-top: 0;
}

.corp__features {
  margin-bottom: 10rem;
}
.corp__features .corp__features-ttl {
  font-size: 4.5rem;
  line-height: 1;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 768px) {
  .corp__features .corp__features-ttl {
    font-size: 3.8rem;
  }
}
.corp__features .corp__features-img {
  padding: 0 8%;
  margin-top: -10rem;
  pointer-events: none;
  overflow-x: hidden;
}
@media screen and (max-width: 768px) {
  .corp__features .corp__features-img {
    padding: 0;
    margin-top: 3rem;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

.corp__recruit {
  background-color: #f0f0f0;
  padding: 8rem 0;
}
.corp__recruit .corp__recruit-col {
  display: grid;
  grid-template-columns: 2fr 3fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 4rem;
}
@media screen and (max-width: 768px) {
  .corp__recruit .corp__recruit-col {
    grid-template-columns: 1fr;
  }
}
.corp__recruit .corp__recruit-col .corp__recruit-txt > h2 {
  margin-top: 0;
}
.corp__recruit .corp__recruit-col .corp__recruit-txt .corp__recruit-ttl {
  font-size: 2.3rem;
  letter-spacing: 0.15em;
}
.corp__recruit .corp__recruit-col .corp__recruit-img {
  border-radius: 3rem;
  overflow: hidden;
}

.news__list {
  list-style-type: none;
  padding: 0;
  margin: 6rem auto;
  border-top: 1px solid #CCC;
}
.news__list .news__list-item {
  border-bottom: 1px solid #CCC;
}
.news__list .news__list-item a {
  display: grid;
  grid-template-columns: 8ch 18ch auto;
  grid-template-areas: "date category ttl";
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #434343;
  padding: 0 3rem 0 0;
  gap: 0 3rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a {
    grid-template-columns: 7ch auto;
    grid-template-areas: "date category" "date ttl";
  }
}
.news__list .news__list-item a .news__list-date {
  grid-area: date;
  font-size: 2.3rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
  white-space: nowrap;
}
.news__list .news__list-item a .news__list-date .news__list-date-year {
  display: block;
  font-size: 1.4rem;
}
.news__list .news__list-item a .news__list-category {
  grid-area: category;
  font-size: 1.4rem;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  background: #f0f0f0;
  padding: 0.8rem;
  border-radius: 2rem;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a .news__list-category {
    width: 16rem;
    margin: 2rem 0 0 0;
  }
}
.news__list .news__list-item a .news__list-ttl {
  grid-area: ttl;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .news__list .news__list-item a .news__list-ttl {
    margin-top: 0.7rem;
  }
}
.news__list .news__list-item a .arrow {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
  right: 0;
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
}
.news__list .news__list-item a .arrow::before, .news__list .news__list-item a .arrow::after {
  position: absolute;
  content: "";
  top: 50%;
}
.news__list .news__list-item a .arrow::before {
  width: 1.5rem;
  height: 0;
  border-top: 1px solid #434343;
}
.news__list .news__list-item a .arrow::after {
  width: 1rem;
  height: 1rem;
  border-top: 1px solid #434343;
  border-right: 1px solid #434343;
  -webkit-transform: rotate(45deg) translateY(-60%);
          transform: rotate(45deg) translateY(-60%);
}
.news__list .news__list-item a:hover {
  color: #8691A3;
}
.news__list .news__list-item a:hover .arrow {
  -webkit-animation: arrow 1s infinite;
          animation: arrow 1s infinite;
}
@-webkit-keyframes arrow {
  from {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  to {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}
@keyframes arrow {
  from {
    -webkit-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%);
  }
  to {
    -webkit-transform: translate(0%, -50%);
            transform: translate(0%, -50%);
  }
}

.scroll-direction {
  position: fixed;
  bottom: 5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 1;
  z-index: 10;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
  -webkit-animation: bounce 1.5s infinite;
          animation: bounce 1.5s infinite;
}
.scroll-direction .scroll-arrow {
  position: relative;
  display: inline-block;
  font-size: 1.6rem;
}
.scroll-direction .scroll-arrow::after {
  position: absolute;
  content: "";
  inset: auto 0 -70% 15%;
  width: 30px;
  height: 30px;
  border-right: 2px solid #434343;
  border-bottom: 2px solid #434343;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

@-webkit-keyframes bounce {
  0%, 100% {
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
  50% {
    -webkit-transform: translateX(-50%) translateY(-10px);
            transform: translateX(-50%) translateY(-10px);
  }
}

@keyframes bounce {
  0%, 100% {
    -webkit-transform: translateX(-50%) translateY(0);
            transform: translateX(-50%) translateY(0);
  }
  50% {
    -webkit-transform: translateX(-50%) translateY(-10px);
            transform: translateX(-50%) translateY(-10px);
  }
}
.branding__ttl {
  width: 100%;
  height: 40vh;
  -ms-flex-line-pack: center;
      align-content: center;
  overflow: hidden;
}
.branding__ttl .branding__ttl-txt {
  text-align: center;
  font-size: 9rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  color: #CCC;
  line-height: 1em;
}
.branding__ttl .branding__ttl-txt span {
  font-size: 11rem;
}
@media screen and (max-width: 768px) {
  .branding__ttl {
    height: 35%;
    margin: 3rem auto;
  }
  .branding__ttl .branding__ttl-txt {
    font-size: 4rem;
    line-height: 1;
    margin: 0;
  }
  .branding__ttl .branding__ttl-txt span {
    font-size: 5rem;
  }
}

.branding__read {
  width: 100%;
  height: 100vh;
  -ms-flex-line-pack: center;
      align-content: center;
  text-align: center;
  padding-bottom: 100px;
}
.branding__read .branding__read-ttl {
  font-size: 2.7rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 30%;
  margin: -50px auto 0;
  color: #696969;
}
.branding__read .branding__read-ttl::before, .branding__read .branding__read-ttl::after {
  content: "";
  height: 1px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  background-color: #CCC;
}
.branding__read .branding__read-ttl::before {
  margin-right: 1rem;
}
.branding__read .branding__read-ttl::after {
  margin-left: 1rem;
}
.branding__read .branding__read-txt {
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .branding__read {
    height: 70vh;
  }
  .branding__read .branding__read-ttl {
    font-size: 2rem;
    width: 70%;
    margin-top: 10%;
  }
  .branding__read .branding__read-txt {
    font-size: 1.8rem;
  }
}

h2.story-ttl {
  line-height: 2;
}
h2.story-ttl .bg-text {
  font-size: 3.8rem;
  font-weight: 500;
  background-color: #434343;
  color: #fff;
  padding: 5px 20px;
}
@media screen and (max-width: 768px) {
  h2.story-ttl .bg-text {
    padding: 5px 10px;
    font-size: 2.7rem;
  }
}
h2.story-ttl .no-bg-text {
  font-size: 3.8rem;
  font-weight: 500;
  color: #434343;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  h2.story-ttl .no-bg-text {
    font-size: 2.7rem;
  }
}
h2.story-ttl .gsap-reveal-text {
  display: block;
  letter-spacing: 0.15em;
  line-height: 1.5;
}

p.story-body {
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  p.story-body {
    font-size: 1.6rem;
  }
}

.story1 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/900;
}
.story1 .story1-txt {
  position: absolute;
  inset: 20% auto auto 52%;
}
.story1 .story1-img-b {
  display: block;
  width: 41%;
  inset: 0 0 auto auto;
  border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .story1 {
    aspect-ratio: 380/800;
  }
  .story1 .story1-txt {
    inset: 58% 3rem 3rem 3rem;
    z-index: 1;
  }
  .story1 .story1-img-b {
    width: 85%;
  }
}

.story2 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/920;
  margin-top: -15%;
}
.story2 .story2-txt {
  position: absolute;
  inset: 30% auto auto 15%;
}
.story2 .story2-img-d {
  display: block;
  position: absolute;
  width: 40%;
  inset: 10% auto auto 52%;
  border-radius: 20px;
}
.story2 .story2-img-c {
  display: block;
  position: absolute;
  width: 25%;
  inset: 60% 0 0 76%;
  border-radius: 20px 0 0 20px;
}
@media screen and (max-width: 768px) {
  .story2 {
    aspect-ratio: 430/800;
    margin-top: 3%;
  }
  .story2 .story2-txt {
    inset: 55% 3rem 3rem 3rem;
  }
  .story2 .story2-img-d {
    width: 80%;
    inset: 0 10% 0 10%;
  }
  .story2 .story2-img-c {
    width: 50%;
    inset: 25% 0 auto auto;
  }
}

.story3 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/650;
  margin-top: -5%;
}
.story3 .story3-txt {
  position: absolute;
  inset: 50% auto auto 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.story3 .story3-img-b {
  display: block;
  position: absolute;
  width: 55%;
  inset: 0 auto auto 0;
  z-index: -1;
  border-radius: 0 20px 20px 0;
}
@media screen and (max-width: 768px) {
  .story3 {
    aspect-ratio: 330/530;
    margin-top: 5%;
  }
  .story3 .story3-txt {
    inset: 45% 3rem 0 3rem;
    -webkit-transform: none;
            transform: none;
  }
  .story3 .story3-txt .story-ttl {
    margin: 0 auto;
  }
  .story3 .story3-img-b {
    width: 85%;
    inset: 0 auto auto 0;
  }
}

.story4 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/886;
  margin-top: 5%;
}
.story4 .story4-txt {
  position: absolute;
  inset: 50% auto auto 15%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}
.story4 .story4-img-c {
  display: block;
  position: absolute;
  width: 35%;
  inset: 0 0 0 45%;
  border-radius: 20px;
}
.story4 .story4-img-d {
  display: block;
  position: absolute;
  width: 25%;
  inset: 28% 0 0 67%;
  border-radius: 20px;
}
.story4 .story4-img-e {
  display: block;
  position: absolute;
  width: 15%;
  inset: 45% 0 0 50%;
  border-radius: 20px;
}
.story4 .story4-img-f {
  display: block;
  position: absolute;
  width: 28%;
  inset: 65% 0 0 60%;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .story4 {
    aspect-ratio: 370/700;
    margin-top: 10%;
  }
  .story4 .story4-txt {
    inset: 58% 3rem 0 3rem;
    -webkit-transform: none;
            transform: none;
  }
  .story4 .story4-img-c {
    width: 70%;
    inset: 0 20% auto auto;
  }
  .story4 .story4-img-d {
    width: 45%;
    inset: 18% 0 0 45%;
  }
  .story4 .story4-img-e {
    width: 25%;
    inset: 28% 0 0 15%;
  }
  .story4 .story4-img-f {
    width: 50%;
    inset: 38% 0 0 30%;
  }
}

@-webkit-keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scrollText {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.story5 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/1040;
  margin-top: 5%;
}
.story5 .copy-wrap {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.story5 .copy-wrap .copy-flow {
  font-size: 18rem;
  font-family: "Montserrat", sans-serif;
  color: #f0f0f0;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.2rem;
  white-space: nowrap;
  mix-blend-mode: multiply;
  -webkit-animation: scrollText 40s linear infinite;
          animation: scrollText 40s linear infinite;
}
.story5 .copy-wrap .copy-flow::after {
  content: attr(data-text);
  margin-left: 1em;
}
.story5 .video-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0; /* 動画間の隙間（任意） */
  margin-top: 90px;
}
.story5 video {
  width: 50%;
  height: 450px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right center;
     object-position: right center;
}
.story5 .story5-txt {
  position: absolute;
  inset: 50% 0 0 20%;
  background-color: #fff;
  padding: 3% 5%;
  border-radius: 50px 0 0 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .story5 {
    aspect-ratio: 360/860;
  }
  .story5 .story5-txt {
    inset: 51% 0 0 3rem;
    -webkit-transform: none;
            transform: none;
    padding: 3% 10%;
  }
  .story5 .story5-txt .story-ttl {
    margin: 30px auto 0;
  }
  .story5 .copy-wrap .copy-flow {
    font-size: 10rem;
  }
  .story5 .video-container {
    display: block;
    margin-top: 13%;
  }
  .story5 video {
    display: block;
    width: 100%;
    height: 34vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: right center;
       object-position: right center;
  }
}

.story6 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/875;
  margin-bottom: 10%;
}
.story6 .story6-txt {
  position: absolute;
  top: 50%;
  left: 15%;
}
.story6 .story6-img-c {
  display: block;
  position: absolute;
  overflow: hidden;
  width: 41%;
  inset: 10% 0 auto auto;
  border-radius: 20px 0 0 20px;
}
.story6 .story6-img-d {
  display: block;
  position: absolute;
  overflow: hidden;
  width: 28%;
  inset: 0 auto auto 5%;
  border-radius: 20px;
}
@media screen and (max-width: 768px) {
  .story6 {
    aspect-ratio: 400/870;
    margin-top: 20%;
  }
  .story6 .story6-txt {
    inset: 63% 3rem 0 3rem;
    height: 30%;
    z-index: 1;
  }
  .story6 .story6-img-c {
    width: 75%;
    inset: 22% 0 auto auto;
  }
  .story6 .story6-img-d {
    width: 50%;
    inset: 0 auto auto 3rem;
  }
}

.story7 {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 1440/1200;
  margin-bottom: 10%;
}
.story7 .copy-wrap {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
}
.story7 .copy-wrap .copy-flow {
  font-size: 18rem;
  font-family: "Montserrat", sans-serif;
  color: #f0f0f0;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.2rem;
  white-space: nowrap;
  mix-blend-mode: multiply;
  -webkit-animation: scrollText 40s linear infinite;
          animation: scrollText 40s linear infinite;
}
.story7 .copy-wrap .copy-flow::after {
  content: attr(data-text);
  margin-left: 1em;
}
.story7 .video-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 90px;
}
.story7 .video-container video {
  width: 100%;
  height: 40vw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.story7 .story7-txt {
  position: absolute;
  width: 85%;
  inset: 52% auto auto 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #fff;
  padding: 5%;
  text-align: center;
  border-radius: 50px 50px 0 0;
}
@media screen and (max-width: 768px) {
  .story7 {
    aspect-ratio: 450/750;
  }
  .story7 .copy-wrap .copy-flow {
    font-size: 10rem;
  }
  .story7 .video-container {
    margin-top: 45px;
  }
  .story7 .video-container video {
    width: 100%;
    height: 45vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .story7 .story7-txt {
    inset: 48% 0 0 0;
    -webkit-transform: none;
            transform: none;
    width: 100%;
    height: 50%;
  }
}

.about__philosophy-ttl {
  font-size: 4.5rem;
  line-height: 1.2;
  font-family: "Montserrat", sans-serif;
  letter-spacing: 0;
}

.about__philosophy-txt {
  font-size: 2rem;
}

.about__vision-ttl {
  font-size: 4.5rem;
  line-height: 1;
  font-weight: 300;
  letter-spacing: 0;
}

.about__vision-txt {
  font-size: 2rem;
}

.about__value-img {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .about__value-img {
    width: 100%;
  }
}

.about__mission-ttl {
  font-size: 3.8rem;
  line-height: 1.5;
  font-weight: 300;
  letter-spacing: 0;
}

.about__mission-txt {
  font-size: 1.8rem;
}

.about__value-ttl {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1;
  margin: 3rem 0;
}

.about__value-list {
  margin-bottom: 5rem;
  padding: 0;
}
.about__value-list .about__value-list-item {
  list-style-type: none;
}
.about__value-list .about__value-list-item dl {
  display: grid;
  grid-template-columns: 1fr 3fr;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .about__value-list .about__value-list-item dl {
    grid-template-columns: 1fr;
  }
}
.about__value-list .about__value-list-item dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 500;
}
.about__value-list .about__value-list-item dl dt::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  display: block;
  background: #696969;
  margin: 0 1rem;
}
.about__value-list .about__value-list-item dl dd {
  margin: 0;
}

.about__overview-list {
  margin-bottom: 5rem;
}
.about__overview-list .about__overview-list-item {
  display: grid;
  grid-template-columns: 12ch auto;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: 2rem;
}
.about__overview-list .about__overview-list-item dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
}
.about__overview-list .about__overview-list-item dd {
  margin: 0;
}

.about__scope-list {
  margin-bottom: 5rem;
}
.about__scope-list .about__scope-list-item {
  display: grid;
  grid-template-columns: 1fr 3fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  margin-bottom: 2rem;
}
@media screen and (max-width: 768px) {
  .about__scope-list .about__scope-list-item {
    grid-template-columns: 1fr;
  }
}
.about__scope-list .about__scope-list-item dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  white-space: nowrap;
  margin: 0;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 500;
}
.about__scope-list .about__scope-list-item dt::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 1px;
  display: block;
  background: #696969;
  margin: 0 1rem;
}
.about__scope-list .about__scope-list-item dd {
  margin: 0;
}

.about__partners-list {
  list-style-type: none;
  padding: 0;
  -webkit-column-count: 2;
     -moz-column-count: 2;
          column-count: 2;
}
@media screen and (max-width: 768px) {
  .about__partners-list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
  }
}

.accessmap #map {
  height: 40rem;
  width: 100%;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
.accessmap .accessmap-guide dl dd {
  margin-bottom: 1.5rem;
}
.accessmap .googlemap-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
}

.features-ttl-intro {
  font-size: 5.4rem;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .features-ttl-intro {
    font-size: 4.5rem;
  }
}
.features-ttl-intro span {
  display: block;
  font-size: 1.8rem;
  font-weight: 500;
}

.features-ttl-catch {
  font-size: 3.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .features-ttl-catch {
    font-size: 2.7rem;
  }
}

.features-service-img {
  padding: 0 8%;
}
@media screen and (max-width: 768px) {
  .features-service-img {
    padding: 0;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

.features-service .features-service-item .features-service-ttl {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .features-service .features-service-item .features-service-ttl {
    font-size: 2rem;
  }
}

.features-wish {
  list-style-type: none;
  padding: 0;
  margin: 8rem 0;
}
@media screen and (max-width: 768px) {
  .features-wish {
    margin: 4rem 0;
  }
}
.features-wish .features-wish-item {
  margin: 8rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item {
    margin: 4rem 0;
  }
}
.features-wish .features-wish-item .features-wish-txt {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  margin-right: 45%;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item .features-wish-txt {
    position: relative;
    top: auto;
    -webkit-transform: translateY(0);
            transform: translateY(0);
    z-index: auto;
    margin-right: 0;
    margin-bottom: 2rem;
  }
}
.features-wish .features-wish-item .features-wish-txt .features-wish-ttl {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.5;
}
.features-wish .features-wish-item .features-wish-img {
  position: relative;
  margin-left: 35%;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item .features-wish-img {
    margin-left: 0;
  }
}
.features-wish .features-wish-item .features-wish-img .features-wish-img-ttl {
  position: absolute;
  top: -1.3rem;
  right: -0.6rem;
  color: #fff;
  font-size: 8rem;
  line-height: 1;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: right;
  letter-spacing: -0.2rem;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item .features-wish-img .features-wish-img-ttl {
    font-size: 6rem;
  }
}
.features-wish .features-wish-item:nth-child(even) .features-wish-txt {
  margin-right: 0;
  margin-left: 45%;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item:nth-child(even) .features-wish-txt {
    margin-left: 0;
  }
}
.features-wish .features-wish-item:nth-child(even) .features-wish-img {
  margin-left: 0;
  margin-right: 35%;
}
@media screen and (max-width: 768px) {
  .features-wish .features-wish-item:nth-child(even) .features-wish-img {
    margin-right: 0;
  }
}
.features-wish .features-wish-item:nth-child(even) .features-wish-img .features-wish-img-ttl {
  right: auto;
  left: -0.6rem;
  text-align: left;
}

.power-list {
  list-style-type: none;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 5rem;
  counter-reset: list-counter;
}
@media screen and (max-width: 768px) {
  .power-list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.power-list .power-item {
  background-color: #f7f7f7;
  border-radius: 2rem;
  padding: 5rem 5rem 3rem 5rem;
  overflow: hidden;
  counter-increment: list-counter;
  position: relative;
}
@media screen and (max-width: 768px) {
  .power-list .power-item {
    padding: 5rem 3rem 2rem 3rem;
  }
}
.power-list .power-item::before {
  content: counter(list-counter);
  position: absolute;
  left: -0.5rem;
  top: -1.5rem;
  font-weight: bold;
  color: #fff;
  font-size: 10rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  line-height: 1;
}
.power-list .power-item .power-ttl {
  text-align: center;
  font-size: 2.3rem;
  line-height: 1.5;
  font-weight: 500;
  z-index: 1;
}

.strengths-img {
  padding: 0 8%;
}
@media screen and (max-width: 768px) {
  .strengths-img {
    padding: 0;
    margin-left: -2rem;
    margin-right: -2rem;
  }
}

.strengths-txt .strengths-txt-item .strengths-txt-ttl {
  font-size: 2.3rem;
  font-weight: 500;
  line-height: 1.5;
  margin-top: 0;
}