@charset "UTF-8";
/* reset.scss - 2025年最新版の軽量モダンリセット */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: auto;
  -webkit-text-size-adjust: 100%;
}

body {
  line-height: 1.5;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  -webkit-font-smoothing: antialiased;
  color: #000;
  background-color: #fff;
  text-rendering: optimizeLegibility;
}

img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
  background: none;
  border: none;
  outline: none;
}

button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

hr {
  border: none;
  height: 1px;
  background-color: #ccc;
}

:focus-visible {
  outline: 2px solid #2684ff;
  outline-offset: 2px;
}

/*
 変数定義用のファイルです 
 自由に書き換えてください
*/
/*========= Media Size ===============*/
/*========= Font ===============*/
/*========= Color ===============*/
html {
  font-size: 62.5%;
}
html.lenis {
  height: auto;
}

body {
  width: 100%;
  min-width: 1200px;
  background-color: #f8f8f6;
  color: #000;
  font-family: "Noto Sans JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 900px) {
  body {
    min-width: unset;
  }
}

main {
  overflow: hidden;
}

h2 {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 900px) {
  h2 {
    font-size: 1.8rem;
    margin-bottom: 20px;
  }
}

p {
  font-weight: 400;
  line-height: 2;
}

a {
  cursor: pointer;
}

.js-slide-up {
  overflow: hidden;
  visibility: hidden;
}

.js-fadein {
  opacity: 0;
  transition: opacity 1.5s cubic-bezier(0.33, 1, 0.68, 1);
}
.js-fadein.is-visible {
  opacity: 1;
}

.pc {
  display: block !important;
}
@media (max-width: 900px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media (max-width: 900px) {
  .sp {
    display: block !important;
  }
}

.u-theme--light {
  background-color: #f8f8f6;
  color: #000;
}
.u-theme--light .c-button:before {
  background-color: #fff;
  filter: blur(1.5px);
}

.u-theme--dark {
  background-color: #000;
  color: #fff;
}
.u-theme--dark .c-button:before {
  background-color: #303030;
}

.p-front__fv {
  position: relative;
  padding: 100px 0 30px 0;
}
.p-front__fv__content {
  position: absolute;
  left: 15%;
  top: 27vh;
}
@media screen and (max-width: 900px) {
  .p-front__fv__content {
    left: 7%;
    top: 17vh;
    z-index: 2;
  }
}
.p-front__fv__content p {
  margin-top: 50px;
  font-family: "Roboto Condensed", serif;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 900px) {
  .p-front__fv__content p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 900px) {
  .p-front__fv__content p img {
    width: 175px;
  }
}
.p-front__fv__human {
  width: 71%;
  margin: 0 2% 0 auto;
}
@media screen and (max-width: 900px) {
  .p-front__fv__human {
    position: relative;
    width: 117%;
    max-width: unset;
    right: -5%;
  }
}
.p-front__about {
  padding-bottom: 100px;
}
@media screen and (max-width: 900px) {
  .p-front__about {
    padding-top: 100px;
    padding-bottom: 150px;
  }
}
@media screen and (max-width: 900px) {
  .p-front__about .l-flex {
    flex-direction: column-reverse;
    margin-top: 80px;
  }
}
.p-front__about h2 {
  margin-bottom: 30px;
}
.p-front__about p {
  max-width: 375px;
  margin-bottom: 40px;
}
.p-front__about img {
  max-width: 350px;
  margin: 0 0 0 auto;
  width: 100%;
}
.p-front__technology {
  position: relative;
  padding: 250px 0;
}
@media screen and (max-width: 900px) {
  .p-front__technology {
    padding: 100px 0 350px 0;
  }
}
.p-front__technology h2 {
  margin-bottom: 70px;
}
@media screen and (max-width: 900px) {
  .p-front__technology h2 {
    margin-bottom: 20px;
  }
}
.p-front__technology img {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 45%;
  max-width: 730px;
}
@media screen and (max-width: 900px) {
  .p-front__technology img {
    top: 60%;
    width: 340px;
  }
}
.p-front__product {
  --grid-size: 96px;
  --grid-color: #e0e0e0;
  padding: 140px 0;
  background-color: #f8f8f6;
  background-image: repeating-linear-gradient(90deg, var(--grid-color) 0, var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(180deg, var(--grid-color) 0, var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
  /* 縦線はそのまま、横線だけ1px上にずらして一番上の線を非表示 */
  background-position: 0 0, 0 -32px;
  background-size: var(--grid-size) var(--grid-size);
}
@media screen and (max-width: 900px) {
  .p-front__product {
    padding: 100px 0;
  }
}
.p-front__product h2 {
  margin-bottom: 50px;
}
@media screen and (max-width: 900px) {
  .p-front__product h2 {
    margin-bottom: 20px;
  }
}
.p-front__product p {
  max-width: 375px;
  margin-bottom: 50px;
}
@media screen and (max-width: 900px) {
  .p-front__product p {
    margin-bottom: 35px;
  }
}
.p-front__product img {
  max-width: 350px;
  margin: 0 0 0 auto;
  width: 100%;
}
@media screen and (max-width: 900px) {
  .p-front__product img {
    margin-top: 30px;
  }
}
.p-front__gallery {
  position: relative;
  height: 100svh;
  display: flex;
  align-items: center;
  background-color: #fff;
}
.p-front__gallery::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 73%;
  background-color: #ebebeb;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  z-index: 0;
}
.p-front__gallery h2 {
  margin-bottom: 50px;
  flex-shrink: 0;
}
.p-front__gallery .c-button {
  margin: 70px auto 0 auto;
}
.p-front__gallery__inner {
  display: flex;
  flex-wrap: nowrap;
  gap: 35px;
  padding-left: calc((100% - 900px) / 2);
  padding-right: 30vw;
  width: max-content;
  overflow: hidden;
}
@media screen and (max-width: 900px) {
  .p-front__gallery__inner {
    padding-left: 20px;
    padding-right: 40px;
  }
}
.p-front__gallery__item {
  width: 245px;
  height: 185px;
  flex-shrink: 0;
  border-radius: 4px;
  overflow: hidden;
}
.p-front__gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-front__news {
  padding: 100px 0;
}
.p-front__news h2 {
  margin-bottom: 25px;
}
.p-front__footer-catchcopy {
  padding: 200px 0;
  text-align: center;
  font-size: 4.8rem;
  font-family: "Roboto Condensed", serif;
}
@media screen and (max-width: 900px) {
  .p-front__footer-catchcopy {
    padding: 130px 0;
    font-size: 3.2rem;
  }
}
.p-front__footer-catchcopy .js-split-text {
  display: inline-block;
  overflow: hidden;
}
.p-front__footer-catchcopy .js-split-text span {
  display: inline-block;
  transform: translateY(110%);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-front__footer-catchcopy .js-split-text.is-animated span {
  transform: translateY(0);
}

.p-about {
  padding: 200px 0 0 0;
}
@media screen and (max-width: 900px) {
  .p-about {
    padding: 150px 0 0 0;
  }
}
@media screen and (max-width: 900px) {
  .p-about__fv .l-flex__left {
    display: contents;
  }
  .p-about__fv .l-flex__left p {
    order: 3;
  }
}
@media screen and (max-width: 900px) {
  .p-about__fv .l-flex__right {
    display: contents;
  }
  .p-about__fv .l-flex__right img {
    order: 2;
  }
}
.p-about__fv__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-about__fv__logo {
  width: 270px;
  margin-bottom: 50px;
  overflow: hidden;
  visibility: hidden;
}
@media screen and (max-width: 900px) {
  .p-about__fv__logo {
    width: 160px;
    margin-bottom: 30px;
  }
}
.p-about__fv__image {
  width: 100%;
}
.p-about__fv__content, .p-about__fv__image-wrapper {
  opacity: 0;
}
.p-about__intro {
  position: relative;
  padding: 200px 0 120px 0;
}
.p-about__intro__text-image {
  position: absolute;
  top: 0;
  right: 3%;
  width: 100px;
  opacity: 0;
}
@media screen and (max-width: 900px) {
  .p-about__intro__text-image {
    width: 70px;
  }
}
.p-about__intro .l-flex {
  align-items: flex-start;
}
@media screen and (max-width: 900px) {
  .p-about__intro .l-flex {
    flex-direction: column-reverse;
  }
}
.p-about__intro .l-flex__left {
  width: 65%;
}
@media screen and (max-width: 900px) {
  .p-about__intro .l-flex__left {
    width: 100%;
  }
}
.p-about__intro__content {
  display: flex;
  gap: 60px;
  flex-direction: column;
}
.p-about__intro__title--1, .p-about__intro__title--2 {
  margin-bottom: 20px;
  font-weight: 500;
  font-family: "Roboto Condensed", serif;
  font-size: 3.4rem;
  line-height: 1.2;
  overflow: hidden;
  visibility: hidden;
}
.p-about__intro__text--1, .p-about__intro__text--2, .p-about__intro__image {
  opacity: 0;
}
.p-about__team {
  position: relative;
  padding: 100px 0;
  --grid-size: 96px;
  --grid-color: rgba(255, 255, 255, 0.15);
  background-color: #000;
  color: #fff;
  background-image: repeating-linear-gradient(90deg, var(--grid-color) 0, var(--grid-color) 1px, transparent 1px, transparent var(--grid-size)), repeating-linear-gradient(180deg, var(--grid-color) 0, var(--grid-color) 1px, transparent 1px, transparent var(--grid-size));
  /* 縦線はそのまま、横線だけ1px上にずらして一番上の線を非表示 */
  background-position: 0 0, 0 -32px;
  background-size: var(--grid-size) var(--grid-size);
}
.p-about__team__title {
  overflow: hidden;
  visibility: hidden;
}
.p-about__team__text-image {
  position: absolute;
  top: 20px;
  right: 3%;
  width: 310px;
  opacity: 0;
}
.p-about__team__wrapper {
  display: flex;
  justify-content: center;
  gap: 100px;
  margin-top: 50px;
}
@media screen and (max-width: 900px) {
  .p-about__team__wrapper {
    flex-direction: column;
  }
}
.p-about__team__item {
  max-width: 260px;
  opacity: 0;
}
@media screen and (max-width: 900px) {
  .p-about__team__item {
    width: 100%;
    max-width: unset;
  }
}
.p-about__team__item__image {
  width: 190px;
  margin: 0 auto 20px auto;
  opacity: 0;
}
.p-about__team__item__image img {
  width: 100%;
}
.p-about__team__item__position {
  font-family: "Roboto Condensed", serif;
  font-weight: 500;
  font-size: 1.4rem;
}
.p-about__team__item__name {
  font-family: "Roboto Condensed", serif;
  font-size: 2.4rem;
  line-height: 1;
  font-weight: 500;
  margin-bottom: 15px;
}
.p-about__company {
  position: relative;
  padding: 100px 0 200px 0;
}
.p-about__company__logo {
  width: 100px;
}
.p-about__company .c-title {
  margin-bottom: 40px;
}
.p-about__company__table {
  position: relative;
  width: 100%;
  max-width: 600px;
  border-collapse: collapse;
  z-index: 1;
}
.p-about__company__table tr {
  border-bottom: 1px solid #ccc;
}
.p-about__company__table tr:last-child {
  border-bottom: none;
}
.p-about__company__table th,
.p-about__company__table td {
  padding: 19px 0;
}
.p-about__company__table th {
  text-align: left;
  width: 150px;
  padding-left: 20px;
  font-weight: 500;
  font-family: "Roboto Condensed", serif;
}
.p-about__company__image {
  width: 100%;
  max-width: 360px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 900px) {
  .p-about__company__image {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 0;
    transform: translate(-50%, -50%);
  }
}

.c-button {
  position: relative;
  display: block;
  width: 120px;
}
.c-button span {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  text-align: center;
  padding: 3px 0;
  background-color: #fcfcfa;
  color: #000;
  font-family: "Roboto Condensed", serif;
  font-size: 1.6rem;
  box-shadow: -2px -2px 2px 0 rgba(255, 255, 255, 0.55) inset, 2px 2px 6px 0 rgba(0, 0, 0, 0.15) inset;
  border-radius: 100px;
  transition: all 0.3s ease;
}
.c-button:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -3px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  border-radius: 100px;
  filter: blur(0.5px);
  z-index: 0;
}
.c-button:after {
  content: "";
  position: absolute;
  top: 4px;
  right: -3px;
  width: 100%;
  height: 100%;
  border-radius: 100px;
  background: rgba(0, 0, 0, 0.05);
  filter: blur(1.5px);
  z-index: 0;
}
.c-button:hover span {
  box-shadow: -5px -5px 1px 0 #fff inset, 5px 5px 7px 0 rgba(0, 0, 0, 0.15) inset;
}

.c-breadcrumb {
  margin: 30px 0;
}
.c-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.c-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 900px) {
  .c-breadcrumb__item {
    gap: 6px;
  }
}
.c-breadcrumb__item::after {
  content: ">";
}
@media screen and (max-width: 900px) {
  .c-breadcrumb__item::after {
    margin-left: 6px;
  }
}
.c-breadcrumb__item:last-child::after {
  display: none;
}
.c-breadcrumb__link {
  display: flex;
  color: var(--text-color);
  text-decoration: none;
  transition: all 0.2s ease;
}
.c-breadcrumb span {
  font-weight: 500;
}

.c-cursor {
  position: fixed;
  left: 0;
  top: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.15s ease;
  will-change: transform;
  mix-blend-mode: exclusion;
  backface-visibility: hidden;
}
.c-cursor.is-visible {
  opacity: 1;
}
.c-cursor__dot {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  margin: -2px 0 0 -2px;
  background-color: #e0e0e0;
  border-radius: 50%;
  backface-visibility: hidden;
}
.c-cursor__ring {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  border-radius: 50%;
  backface-visibility: hidden;
  background: conic-gradient(from 0deg, #d5d5d5 0deg, #d5d5d5 12deg, #c5c5c5 22deg, #999 90deg, #666 135deg, #d5d5d5 180deg, #d5d5d5 192deg, #c5c5c5 202deg, #999 270deg, #666 315deg, #d5d5d5 360deg);
  animation: c-cursor-spin 1.4s linear infinite;
  -webkit-mask: radial-gradient(circle, transparent 9px, #fff 9px, #fff 10px, transparent 10px);
  mask: radial-gradient(circle, transparent 9px, #fff 9px, #fff 10px, transparent 10px);
}

@keyframes c-cursor-spin {
  from {
    transform: rotate(0deg) translateZ(0);
  }
  to {
    transform: rotate(360deg) translateZ(0);
  }
}
.c-loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 10000;
  pointer-events: none;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
.c-loader.is-loaded {
  opacity: 0;
  visibility: hidden;
}

.c-contact-form {
  max-width: 650px;
  margin: 0 auto;
}
.c-contact-form__radios {
  width: fit-content;
  margin: 60px auto 0 auto;
}
.c-contact-form__radios .wpcf7-list-item {
  margin: 0 0 0 2em;
}
.c-contact-form__radios label {
  display: flex;
  align-items: end;
  gap: 8px;
}
.c-contact-form__radios input {
  width: 20px !important;
  height: 20px;
  accent-color: #938f6c;
  vertical-align: bottom;
  outline: none;
}
.c-contact-form__item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 33px;
}
@media screen and (max-width: 900px) {
  .c-contact-form__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.c-contact-form__label {
  position: relative;
  width: 200px;
}
.c-contact-form__label small {
  display: block;
  margin-top: 9px;
  line-height: 1.8;
  font-size: 1.1rem;
}
.c-contact-form .wpcf7-form-control-wrap {
  flex: 1;
}
.c-contact-form input:not([type=radio]):not([type=checkbox]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]),
.c-contact-form textarea {
  position: relative;
  display: block;
  width: 100%;
  border-radius: 3px;
  padding: 14px 56px 14px 18px;
  font-size: 1.6rem;
  margin: 0 0 0 auto;
  background: #e7e7e5;
  outline: none;
}
.c-contact-form__address {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 10px;
}
.c-contact-form__address__label {
  width: 180px;
  font-size: 1.2rem;
  font-weight: bold;
}
.c-contact-form__address__input {
  flex: 1;
  border-radius: 3px;
  padding: 14px 18px;
  background: #f5f4f0;
}
.c-contact-form input[type=checkbox] {
  width: 20px;
  height: 20px;
  display: inline-block;
  accent-color: #938f6c;
  vertical-align: bottom;
  margin-right: 8px;
  outline: none;
}
.c-contact-form .accept-modal-btn {
  color: #5b584a;
  text-decoration: underline;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
}
.c-contact-form .wpcf7-submit,
.c-contact-form .wpcf7-previous {
  padding: 20px 0px;
  margin: 0 auto;
  width: 90%;
  min-width: 300px;
  text-align: center;
  border: 1px solid #2d2d2d;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.3s ease;
}
@media screen and (max-width: 900px) {
  .c-contact-form .wpcf7-submit,
  .c-contact-form .wpcf7-previous {
    width: 100%;
    padding: 14px 0px;
  }
}
.c-contact-form .wpcf7-submit:hover,
.c-contact-form .wpcf7-previous:hover {
  background: #d6d4c4;
}

/* ページネーション　*/
.wp-pagenavi {
  display: flex;
  gap: 15px;
  width: fit-content;
  margin: 70px auto 0 auto;
}
@media screen and (max-width: 900px) {
  .wp-pagenavi {
    gap: 5px;
  }
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi span,
.wp-pagenavi a {
  border: unset !important;
  color: rgba(23, 23, 23, 0.4);
  font-size: 1.6rem;
}
.wp-pagenavi .current {
  color: #171717;
  font-weight: 400 !important;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  font-size: 14px;
  padding-left: 20px;
  padding-right: 20px;
  color: #171717;
  border: 1px solid #171717 !important;
}

.c-title {
  font-family: "Roboto Condensed", serif;
  font-size: 4.8rem;
  font-weight: 500;
}
@media screen and (max-width: 900px) {
  .c-title {
    font-size: 4rem;
  }
}

.c-news-item {
  display: flex;
  align-items: center;
  gap: 35px;
  margin: 10px 0;
}
.c-news-item__date {
  font-weight: 400;
}
.c-news-item__title {
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

.l-header {
  position: fixed;
  left: 50%;
  top: 30px;
  width: 80%;
  min-width: 1000px;
  transform: translateX(-50%);
  z-index: 100;
  background-color: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 900px) {
  .l-header {
    top: 25px;
    width: 90%;
    min-width: unset;
  }
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 38px;
}
@media screen and (max-width: 900px) {
  .l-header__inner {
    padding: 16px 17px;
  }
}
.l-header__logo {
  width: 130px;
}
@media screen and (max-width: 900px) {
  .l-header__logo {
    width: 110px;
  }
}
.l-header__menu {
  display: flex;
  gap: 47px;
  font-family: "Roboto Condensed", serif;
}
.l-header__menu > li {
  position: relative;
}
.l-header__menu > li > a {
  transition: 0.2s ease;
}
.l-header__menu > li:hover .l-header__mega-menu {
  opacity: 1;
  visibility: visible;
}
.l-header__menu > li:hover > a {
  opacity: 0.6;
}
.l-header__mega-menu {
  position: absolute;
  width: 120px;
  left: -22px;
  top: 27px;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease;
}
.l-header__sub-menu {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 24px;
  padding: 18px 22px;
  border-radius: 5px;
  background-color: #fff;
}
.l-header__sub-menu li {
  transition: 0.2s ease;
  font-weight: 400;
}
.l-header__sub-menu li:hover {
  transform: translateX(5px);
}
.l-header__menu-button {
  position: relative;
  width: 24px;
  height: 18px;
  display: none;
  flex-direction: column;
  justify-content: space-between;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}
@media screen and (max-width: 900px) {
  .l-header__menu-button {
    display: flex;
  }
}
.l-header__menu-button span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #000;
  border-radius: 2px;
  transition: all 0.3s ease;
  transform-origin: center;
  will-change: transform;
  backface-visibility: hidden;
}
.l-header__menu-button.is-active span:nth-child(1) {
  transform: translateY(8px) rotate(38deg);
}
.l-header__menu-button.is-active span:nth-child(2) {
  opacity: 0;
  visibility: hidden;
}
.l-header__menu-button.is-active span:nth-child(3) {
  transform: translateY(-8px) rotate(-38deg);
}
.l-header__sp-menu {
  display: none;
  position: fixed;
  top: 98px;
  right: 5%;
  width: 180px;
  padding: 35px 31px;
  background-color: #fff;
  border-radius: 5px;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s ease;
  transform: translateY(-20px);
}
@media screen and (max-width: 900px) {
  .l-header__sp-menu {
    display: block;
  }
}
.l-header__sp-menu.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.l-header__sp-menu a {
  font-size: 2rem;
  font-family: "Roboto Condensed", serif;
  font-weight: 500;
  line-height: 1;
}
.l-header__sp-menu__sub-menu {
  margin: 15px 0 30px 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.l-header__sp-menu__sub-menu a {
  font-size: 1.6rem;
  font-weight: 400;
}

.l-footer {
  display: flex;
  align-items: flex-end;
  padding: 80px 5% 40px;
  background: #ecf3fb;
}
@media screen and (max-width: 900px) {
  .l-footer {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    padding: 80px 5% 70px;
  }
}
.l-footer__info {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.l-footer__logo {
  width: 156px;
}
.l-footer__address {
  font-weight: 500;
  line-height: 1.4;
  font-family: "Roboto Condensed", serif;
}
.l-footer__sns {
  display: flex;
  gap: 20px;
  margin: 0 0 0 auto;
}
@media screen and (max-width: 900px) {
  .l-footer__sns {
    margin: 0;
  }
}
.l-footer__sns a {
  display: block;
  width: 30px;
}
@media screen and (max-width: 900px) {
  .l-footer__sns a {
    width: 25px;
  }
}
.l-footer__sns a img {
  width: 100%;
}

.l-inner {
  margin: 0 auto;
}
@media screen and (max-width: 900px) {
  .l-inner {
    padding: 0 10%;
  }
}
.l-inner--1000 {
  max-width: 1000px;
}
.l-inner--900 {
  max-width: 900px;
}
.l-inner--750 {
  max-width: 750px;
}
.l-inner--550 {
  max-width: 550px;
}

.l-flex {
  display: flex;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 900px) {
  .l-flex {
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
  }
}
.l-flex__left {
  width: 50%;
}
@media screen and (max-width: 900px) {
  .l-flex__left {
    width: 100%;
  }
}
.l-flex__right {
  width: 50%;
}
@media screen and (max-width: 900px) {
  .l-flex__right {
    width: 100%;
  }
}

.l-article h2,
.l-article h3,
.l-article h4,
.l-article h5,
.l-article h6,
.l-article p,
.l-article ul,
.l-article ol,
.l-article blockquote,
.l-article figure,
.l-article hr {
  padding: 15px 0;
}
@media screen and (max-width: 900px) {
  .l-article h2,
  .l-article h3,
  .l-article h4,
  .l-article h5,
  .l-article h6,
  .l-article p,
  .l-article ul,
  .l-article ol,
  .l-article blockquote,
  .l-article figure,
  .l-article hr {
    padding: 20px 0;
  }
}
.l-article h2,
.l-article h3,
.l-article h4,
.l-article h5,
.l-article h6 {
  font-weight: 500;
}
.l-article a {
  text-decoration: underline;
}/*# sourceMappingURL=style.css.map */