@charset "utf-8";

html {
   font-size: min(10px, 0.694444444vw);
}

a {
   display: block;
   transition: 0.2s;
}

a:hover {
   transition: 0.2s;
}

dt {
   font-weight: normal;
}

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

*,
*::before,
*::after {
   box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: auto;
   max-width: 1232px;
   width: calc(100% - 32px);
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   overflow: hidden;
}

/*
 * l-section
 * -------------------------------------------------------------
 */

.l-section {
   padding: 10.4rem 0;
}

/*
 * c-btn
 * -------------------------------------------------------------
 */

.c-btn {
   border-radius: 8px;
   margin: 0 auto;
   width: 52.2rem;
}

.c-btn--white {
   background: #fff;
}

.c-btn__link {
   font-size: 2.4rem;
   padding: 2.1rem;
   width: 100%;
   text-align: center;
}

/*
 * c-note-text
 * -------------------------------------------------------------
 */

.c-note-text {
   color: rgba(18, 18, 18, 0.5019607843);
   font-size: 1.1rem;
   text-align: left;
}

.c-note-text--center {
   text-align: center;
}

/*
 * c-subtitle
 * -------------------------------------------------------------
 */

.c-subtitle {
   font-family: "senobi-gothic", sans-serif;
   font-size: 3.2rem;
   font-weight: 700;
   text-align: center;
}

/*
 * c-title
 * -------------------------------------------------------------
 */

.c-title {
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background: linear-gradient(92.75deg, #B1C658 0%, #4BA58F 100%);
   background-clip: text;
   color: transparent;
   display: inline-block;
   font-family: "senobi-gothic", sans-serif;
   font-size: 4.8rem;
   text-align: center;
}

/*
 * u-bg-gradient
 * -------------------------------------------------------------
 */

.u-bg-gradient {
   background: linear-gradient(92.75deg, #B1C658 0%, #4BA58F 100%);
}

/*
 * u-center
 * -------------------------------------------------------------
 */

.u-center {
   text-align: center;
}

/*
 * u-pc
 * -------------------------------------------------------------
 */

.u-pc {
   display: block;
}

/*
 * u-sp
 * -------------------------------------------------------------
 */

.u-sp {
   display: none;
}

/*
 * u-text-gradient
 * -------------------------------------------------------------
 */

.u-text-gradient {
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   background: linear-gradient(92.75deg, #B1C658 0%, #4BA58F 100%);
   background-clip: text;
   color: transparent;
   display: inline-block;
}

/*
 * about
 * -------------------------------------------------------------
 */

.about__content {
   margin: 0 auto;
   width: -moz-fit-content;
   width: fit-content;
}

.about__text {
   margin-top: 4rem;
}

.about__note-text {
   margin-top: 4rem;
}

/*
 * body
 * -------------------------------------------------------------
 */

.body {
   color: #121212;
   font-family: "noto-sans-cjk-jp", sans-serif;
   font-size: 1.6rem;
   font-weight: 700;
   letter-spacing: 0.04em;
   line-height: 1.6;
}

.body::before {
   background: url(./../images/body_bg.webp) no-repeat center/cover;
   content: "";
   display: block;
   height: 100%;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   width: 100%;
   z-index: -1;
}

/*
 * description
 * -------------------------------------------------------------
 */

.description {
   background: url(./../images/desc_bg.webp) no-repeat top/100%;
   position: relative;
   text-align: center;
}

.description__title {
   margin: 0 auto;
   width: 61.4rem;
}

.description__text {
   margin-top: 3.8rem;
}

/*
 * p-footer
 * -------------------------------------------------------------
 */

.footer {
   color: #fff;
   padding: 4rem 0 1.2rem;
}

.footer__inner {
   display: flex;
   height: 100%;
   justify-content: space-between;
}

.footer__logo {
   align-items: center;
   display: flex;
   gap: 0 3rem;
   max-width: 51.4rem;
}

.footer__logo-j {
   max-width: 27.8rem;
}

.footer__logo-x {
   max-width: 2.4rem;
}

.footer__logo-v {
   max-width: 15.2rem;
}

.footer__nav {
   width: 28rem;
}

.footer__nav-items {
   display: flex;
   flex-wrap: wrap;
   gap: 0.8rem 6.8rem;
}

.footer__nav-item a {
   font-weight: 500;
}

.footer__copyright {
   font-size: 1.4rem;
   font-weight: 500;
   margin-top: 6rem;
   text-align: center;
}

/*
 * header
 * -------------------------------------------------------------
 */

.header {
   -webkit-backdrop-filter: blur(2px);
   backdrop-filter: blur(2px);
   background: rgba(255, 255, 255, 0.3);
   height: 8.2rem;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   z-index: 100;
}

.header__inner {
   align-items: center;
   display: flex;
   height: 100%;
   justify-content: space-between;
   padding: 0 4rem;
}

.header__logo {
   width: 24.2rem;
}

.header__contact {
   border-radius: 8px;
   color: #fff;
   padding: 1.2rem;
   text-align: center;
   width: 22.8rem;
}

.header__contact--sp {
   align-items: center;
   border-radius: 50%;
   display: none;
   height: 5.4rem;
   justify-items: center;
   place-items: center;
   width: 5.4rem;
}

.header__contact--sp img {
   margin-right: 0.1rem;
   width: 2.7rem;
}

/*
 * info
 * -------------------------------------------------------------
 */

.info__content01 {
   margin-top: 4rem;
}

.info__subtitle {
   margin-top: 4rem;
}

.info__text {
   margin-top: 4rem;
}

.info__note-text {
   margin-top: 2rem;
}

.info__btn {
   margin-top: 4.8rem;
}

.info__content02 {
   margin-top: 8rem;
}

.info__list-wrap {
   display: flex;
   flex-wrap: wrap;
   gap: 8rem 14.4rem;
   left: 2rem;
   margin: 4rem auto 0;
   max-width: 74rem;
   position: relative;
}

.info__list-block {
   align-items: center;
   display: flex;
   flex-direction: column;
   gap: 1.6rem 0;
}

.info__list-block:nth-child(2n-1) {
   width: 31.1rem;
}

.info__list-block:nth-child(2n) {
   flex: 1;
}

/*
 * mv
 * -------------------------------------------------------------
 */

.mv img {
   -o-object-fit: cover;
   height: 100%;
   max-height: 59.9rem;
   object-fit: cover;
}

/*
 * reserch
 * -------------------------------------------------------------
 */

.reserch__content01 {
   margin: 0 auto;
   padding-bottom: 3.4rem;
   width: -moz-fit-content;
   width: fit-content;
}

.reserch__subtitle {
   margin-top: 4rem;
}

.reserch__text {
   margin-top: 4rem;
}

.reserch__note-text {
   margin-top: 4rem;
}

.reserch__content02 {
   margin-top: 8rem;
}

.reserch__items01 {
   display: flex;
   gap: 0 10.4rem;
   margin: 4rem auto 0;
   max-width: 78.4rem;
}

.reserch__item {
   max-width: 34rem;
}

.reserch__item-title {
   align-items: center;
   border: 2px solid #121212;
   border-radius: 4px;
   display: grid;
   font-size: 1.4rem;
   height: 4.5rem;
   justify-items: center;
   line-height: 1.2;
   margin: 0 auto;
   place-items: center;
   width: 29.3rem;
}

.reserch__items02 {
   align-items: center;
   display: flex;
   gap: 0 8rem;
   margin: 4rem auto 0;
   max-width: 78.4rem;
}

.reserch__items02 .reserch__item:nth-child(1) {
   max-width: 32rem;
}

.reserch__items02 .reserch__item:nth-child(2) {
   border-radius: 8px;
   max-width: 38.2rem;
   padding: 2.4rem;
   width: 100%;
}

.reserch__item-text {
   color: #fff;
}

/*
 * start
 * -------------------------------------------------------------
 */

.start {
   overflow: hidden;
   padding: 8rem 0;
   position: relative;
}

.start__inner {
   position: relative;
   z-index: 1;
}

.start__content {
   color: #fff;
   text-align: center;
}

.start__logo {
   margin: 0 auto;
   width: 33.4rem;
}

.start__text-block {
   align-items: center;
   display: flex;
   flex-direction: column;
   gap: 0.8rem 0;
   margin-top: 2.4rem;
}

.start__text {
   font-size: 4rem;
   text-shadow: 0px 0px 15px #4BA58F;
}

.start__title {
   font-family: "senobi-gothic", sans-serif;
   font-size: 6.4rem;
   font-weight: 500;
   text-shadow: 0px 0px 15px #4BA58F;
}

.start__btn-block {
   margin-top: 4rem;
}

.start__btn {
   -webkit-backdrop-filter: blur(7.5px);
   backdrop-filter: blur(7.5px);
   background: rgba(255, 255, 255, 0.1);
   border: 2px solid #FFFFFF;
   position: relative;
   z-index: 1;
}

.start__bg {
   position: absolute;
   right: 0;
   top: 0;
   width: 100%;
}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}

@media screen and (max-width: 768px) {

   html {
      font-size: 1.7094017093vw;
   }

   .l-section {
      padding: 6.4rem 0;
   }

   .c-btn {
      width: 100%;
   }

   .c-btn__link {
      font-size: 1.6rem;
      padding: 1.9rem;
   }

   .c-note-text {
      font-size: 0.8rem;
   }

   .c-subtitle {
      font-size: 2rem;
   }

   .c-title {
      font-size: 3.2rem;
   }

   .u-pc {
      display: none;
   }

   .u-sp {
      display: block;
   }

   .about__text {
      margin-top: 2.4rem;
   }

   .about__note-text {
      font-size: 0.8rem;
      margin: 2.4rem auto 0;
      max-width: 33.8rem;
   }

   .body {
      font-size: 1.4rem;
   }

   .body::before {
      background: url(./../images/body_bg.webp) no-repeat center/cover;
   }

   .description {
      background: url(./../images/desc_bg_sp.webp) no-repeat top/100%;
   }

   .description__title {
      width: 30.2rem;
   }

   .description__text {
      margin-top: 2rem;
   }

   .footer {
      padding: 2.4rem 0 0.8rem;
   }

   .footer__logo {
      flex-direction: column;
      gap: 1rem 0;
      max-width: 100%;
      width: -moz-fit-content;
      width: fit-content;
   }

   .footer__logo-j {
      max-width: 14rem;
   }

   .footer__logo-x {
      max-width: 1.2rem;
   }

   .footer__logo-v {
      margin-top: 0.4rem;
      width: 7.1rem;
   }

   .footer__nav {
      width: -moz-fit-content;
      width: fit-content;
   }

   .footer__nav-items {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 0.8rem 0;
   }

   .footer__nav-item:nth-child(1) {
      order: 1;
   }

   .footer__nav-item:nth-child(2) {
      order: 3;
   }

   .footer__nav-item:nth-child(3) {
      order: 2;
   }

   .footer__copyright {
      font-size: 0.7rem;
      margin-top: 5rem;
   }

   .header__inner {
      padding: 0 2.4rem;
   }

   .header__logo {
      width: 19rem;
   }

   .header__contact--sp {
      display: grid;
   }

   .info__text {
      margin-top: 2.4rem;
   }

   .info__note-text {
      margin-top: 2.4rem;
   }

   .info__btn {
      margin-top: 4rem;
   }

   .info__list-wrap {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 4rem 0;
      margin-top: 2.4rem;
      max-width: 100%;
      position: static;
   }

   .info__list-block:nth-child(2n-1) {
      width: 100%;
   }

   .info__list-block:nth-child(2n) {
      width: 100%;
   }

   .mv {
      aspect-ratio: 390/423;
   }

   .mv img {
      max-height: 100%;
   }

   .reserch__content01 {
      padding-bottom: 0;
   }

   .reserch__subtitle {
      margin-top: 2.4rem;
   }

   .reserch__note-text {
      margin: 4rem auto 0;
      max-width: 36.2rem;
   }

   .reserch__content02 {
      margin-top: 4rem;
   }

   .reserch__items01 {
      flex-direction: column;
      gap: 4rem;
      max-width: 34rem;
   }

   .reserch__item {
      max-width: 100%;
   }

   .reserch__items02 {
      flex-direction: column;
      gap: 4rem 0;
      max-width: 34rem;
   }

   .reserch__items02 .reserch__item:nth-child(2) {
      margin: 0 auto;
      max-width: 34rem;
   }

   .start {
      padding: 6.4rem 0;
   }

   .start__logo {
      width: 22.9rem;
   }

   .start__text-block {
      gap: 1.6rem 0;
      margin-top: 3.2rem;
   }

   .start__text {
      font-size: 2rem;
   }

   .start__title {
      font-size: 3.2rem;
   }

   .start__btn-block {
      display: flex;
      flex-direction: column;
      gap: 1.6rem 0;
      position: relative;
      z-index: 1;
   }

   .start__btn {
      border-width: 3px;
   }

   .start__bg {
      right: 0rem;
      top: 32.5rem;
      width: 128%;
   }

}

@media screen and (max-width: 600px) {

   html {
      font-size: 2.564102564vw;
   }

   .start__bg {
      width: 136%;
   }

}


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