@charset "UTF-8";
:root {
  --color-white: #FFFFFF;
  --color-black: #22282a;
  --color-gray: #F0F0F0;
  --color-main: #7cb4f1;
  --color-text: #83929e;
  --color-main-dark: #229C2A;
  --color-accent: #222e0a;
  --color-menu-text: #224;
  --font-main: "neue-haas-grotesk-text", "ryo-gothic-plusn", sans-serif;
  --font-nijimi: "dnp-shuei-nmincho-std", sans-serif;
  --c-glass: #bbbbbc;
  --c-light: #fff;
  --c-dark: #000;
  --c-content: #224;
  --c-action: #0052f5;
  --c-bg: #e8e8e9;
  --glass-reflex-dark: 1;
  --glass-reflex-light: 1;
  --saturation: 150%;
}

/* ******************************
 *
 * RESPONSIVE MIXIN
 *
 * ****************************** */
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
@font-face {
  font-family: "tsukuhou";
  src: url("../font/Tsukuhou-35Point-Gothic.ttf") format("truetype");
}
/* ******************************
 *
 * FONT SETTINGS
 *
 * ****************************** */
@-webkit-keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loopCl {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@-webkit-keyframes loopClRv {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes loopClRv {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@media screen and (min-width: 320px) {
  .aboutus_introWrapper {
    padding: 64px 5vw 0;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introWrapper {
    padding: 88px 5vw 0;
  }
}

@media screen and (min-width: 320px) {
  .aboutus_introTitleEn {
    font-size: 1.2rem;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introTitleEn {
    font-size: 1.8rem;
    margin-bottom: 64px;
  }
}

.aboutus_introTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 320px) {
  .aboutus_introTop .img {
    width: 100%;
    padding: 0 0 0 40%;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introTop .img {
    width: 32.4%;
    padding: 0;
  }
}

@media screen and (min-width: 320px) {
  .aboutus_introCopy {
    width: 80%;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introCopy {
    width: 60%;
  }
}

.aboutus_introTitle {
  font-family: var(--font-nijimi);
  font-weight: 100;
}
@media screen and (min-width: 320px) {
  .aboutus_introTitle {
    font-size: 3.2rem;
    margin: 32px 0 32px;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introTitle {
    font-size: 6.4rem;
    margin: 32px 0 48px;
  }
}

.aboutus_introDesc {
  line-height: 2.2;
}
@media screen and (min-width: 320px) {
  .aboutus_introDesc {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introDesc {
    font-size: 2.2rem;
  }
}

.aboutus_introBottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 320px) {
  .aboutus_introBottom {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 48px;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introBottom {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 16px;
  }
}
@media screen and (min-width: 320px) {
  .aboutus_introBottom .img {
    width: 40%;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_introBottom .img {
    width: 24%;
  }
}

.aboutus_contents {
  height: 100vh;
  height: 100lvh;
  overflow: hidden;
  position: relative;
}

.aboutus_contentsBg, .aboutus_contentsSlider {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.aboutus_contentsBg {
  background: var(--color-main);
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
  -webkit-mask-image: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0));
          mask-image: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
          mask-image: linear-gradient(to bottom, rgb(0, 0, 0), rgba(0, 0, 0, 0));
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media screen and (min-width: 320px) {
  .aboutus_contentsBg {
    border-radius: 32px 32px 0 0;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_contentsBg {
    border-radius: 80px 80px 0 0;
  }
}

.aboutus_contentsSlider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  color: var(--color-white);
}
.aboutus_contentsSlider .textSlider_item {
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 320px) {
  .aboutus_contentsSlider .textSlider_item {
    width: 84rem;
    font-size: 8rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_contentsSlider .textSlider_item {
    width: 335rem;
    font-size: 32rem;
  }
}

.aboutus_contentsWrapper {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}
@media screen and (min-width: 320px) {
  .aboutus_contentsWrapper {
    padding-top: 8rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_contentsWrapper {
    padding-top: 18rem;
  }
}

.aboutusContent {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font-size: 3rem;
}
@media screen and (min-width: 320px) {
  .aboutusContent {
    margin-right: 16px;
    width: 90vw;
    height: 38.5vw;
    border-radius: 16px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent {
    margin-right: 32px;
    width: 30vw;
    height: 38.5vw;
    border-radius: 24px;
  }
}
@media screen and (min-width: 320px) {
  .aboutusContent:first-child {
    margin-left: 25vw;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent:first-child {
    margin-left: 25vw;
  }
}

.aboutusContent_link {
  display: block;
  background-color: color-mix(in srgb, var(--c-glass) 12%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
          backdrop-filter: blur(16px) saturate(140%);
  -webkit-box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent), inset 1.8px 3px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent), inset -2px -2px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent), inset -3px -8px 1px -6px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent), inset -0.3px -1px 4px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 12%), transparent), inset -1.5px 2.5px 0px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent), inset 0px 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent), inset 2px -6.5px 1px -4px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent), 0px 1px 5px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent), 0px 6px 16px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 8%), transparent);
          box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 10%), transparent), inset 1.8px 3px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 90%), transparent), inset -2px -2px 0px -2px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 80%), transparent), inset -3px -8px 1px -6px color-mix(in srgb, var(--c-light) calc(var(--glass-reflex-light) * 60%), transparent), inset -0.3px -1px 4px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 12%), transparent), inset -1.5px 2.5px 0px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent), inset 0px 3px 4px -2px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 20%), transparent), inset 2px -6.5px 1px -4px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent), 0px 1px 5px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 10%), transparent), 0px 6px 16px 0px color-mix(in srgb, var(--c-dark) calc(var(--glass-reflex-dark) * 8%), transparent);
}
@media screen and (min-width: 320px) {
  .aboutusContent_link {
    padding: 8px;
    border-radius: 16px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_link {
    padding: 16px;
    border-radius: 24px;
  }
}
.aboutusContent_link:hover .aboutusContent_arrow .text {
  text-decoration: none;
}
.aboutusContent_link:hover .aboutusContent_arrow .icon::before {
  -webkit-transform: scale(1.08);
          transform: scale(1.08);
}
.aboutusContent_link:hover .aboutusContent_arrow svg {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 320px) {
  .aboutusContent_img {
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_img {
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 320px) {
  .aboutusContent_info {
    padding: 0 32px 24px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_info {
    padding: 0 32px 24px;
  }
}

.aboutusContent_title {
  font-weight: 500;
}
@media screen and (min-width: 320px) {
  .aboutusContent_title {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_title {
    font-size: 2.4rem;
    margin-bottom: 32px;
  }
}

@media screen and (min-width: 320px) {
  .aboutusContent_desc {
    font-size: 1.24rem;
    margin-bottom: 32px;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_desc {
    font-size: 1.6rem;
    margin-bottom: 32px;
  }
}

.aboutusContent_bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .aboutusContent_bottom {
    font-size: 1.24rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_bottom {
    font-size: 1.4rem;
  }
}

.aboutusContent_arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
.aboutusContent_arrow .text {
  text-decoration: underline;
}
.aboutusContent_arrow .icon {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 320px) {
  .aboutusContent_arrow .icon {
    width: 5.2rem;
    height: 5.2rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutusContent_arrow .icon {
    width: 5.2rem;
    height: 5.2rem;
  }
}
.aboutusContent_arrow .icon::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 50%;
  background: var(--color-black);
  -webkit-transition: -webkit-transform 400ms ease;
  transition: -webkit-transform 400ms ease;
  transition: transform 400ms ease;
  transition: transform 400ms ease, -webkit-transform 400ms ease;
}
.aboutusContent_arrow svg {
  position: relative;
  z-index: 1;
  display: block;
  fill: var(--color-main);
  width: 40%;
  height: 40%;
  -webkit-transition: -webkit-transform 400ms ease;
  transition: -webkit-transform 400ms ease;
  transition: transform 400ms ease;
  transition: transform 400ms ease, -webkit-transform 400ms ease;
}

.aboutus_philosophy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (min-width: 320px) {
  .aboutus_philosophy {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophy {
    padding: 0 5vw;
  }
}

.aboutus_philosophyTitle {
  padding: 0 5% 0 0;
}
@media screen and (min-width: 320px) {
  .aboutus_philosophyTitle {
    width: 100%;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophyTitle {
    width: 50%;
  }
}
.aboutus_philosophyTitle h2 {
  font-family: var(--font-nijimi);
  font-weight: 100;
  line-height: 1.24;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  line-height: 1.46;
}
@media screen and (min-width: 320px) {
  .aboutus_philosophyTitle h2 {
    font-size: 2.8rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophyTitle h2 {
    font-size: 7.4rem;
  }
}
.aboutus_philosophyTitle h2 span {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

@media screen and (min-width: 320px) {
  .aboutus_philosophyCopy {
    width: 100%;
    padding: 48px 0 32px;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophyCopy {
    width: 50%;
    padding: 30.24rem 0 32px;
  }
}
.aboutus_philosophyCopy p {
  line-height: 2.12;
}
@media screen and (min-width: 320px) {
  .aboutus_philosophyCopy p {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophyCopy p {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 320px) {
  .aboutus_philosophySlider .textSliderLink_img:nth-child(2) {
    padding: 3rem 0 0 3rem;
    margin: 5rem 0 0 3rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophySlider .textSliderLink_img:nth-child(2) {
    padding: 10rem 0 0 10rem;
    margin: 16rem 0 0 6rem;
  }
}
@media screen and (min-width: 320px) {
  .aboutus_philosophySlider .textSliderLink_img:nth-child(3) {
    padding: 3rem 0 0 3rem;
    margin: 0 5rem 0 3rem;
  }
}
@media screen and (min-width: 600px) {
  .aboutus_philosophySlider .textSliderLink_img:nth-child(3) {
    padding: 10rem 0 0 10rem;
    margin: 0 15rem 0 6rem;
  }
}

.philosophy_cHead {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 320px) {
  .philosophy_cHead {
    margin-top: 96px;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead {
    margin-top: 96px;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_cHead_wrapper {
    padding-left: 0%;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_wrapper {
    padding-left: 70%;
  }
}

.philosophy_cHead_en {
  margin-bottom: 72px;
}
@media screen and (min-width: 320px) {
  .philosophy_cHead_en {
    font-size: 1.12rem;
    text-align: center;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_en {
    font-size: 1.8rem;
    text-align: right;
  }
}

.philosophy_cHead_ja {
  font-family: var(--font-nijimi);
  font-weight: 100;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1.24;
  margin-bottom: 48px;
}
@media screen and (min-width: 320px) {
  .philosophy_cHead_ja {
    font-size: 4.8rem;
    margin: 0 auto 48px;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_ja {
    font-size: 12rem;
    margin: 0 0 48px;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_cHead_title, .philosophy_cHead_desc {
    text-align: center;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_title, .philosophy_cHead_desc {
    text-align: left;
  }
}

.philosophy_cHead_title {
  font-weight: 400;
  margin-bottom: 24px;
}
@media screen and (min-width: 320px) {
  .philosophy_cHead_title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_title {
    font-size: 4.8rem;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_cHead_desc {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_cHead_desc {
    font-size: 2.4rem;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_value .sectionInner {
    padding: 0 5vw;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_value .sectionInner {
    padding: 0 10vw;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_valueImg {
    margin-top: 32px;
    padding: 0;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_valueImg {
    margin-top: -50rem;
    padding: 0 17% 0 0;
    --mask-solid: 60%;
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
    -webkit-mask-image: linear-gradient(to right, rgb(0, 0, 0) var(--mask-solid), rgba(0, 0, 0, 0) 100%);
            mask-image: -webkit-gradient(linear, left top, right top, from(rgb(0, 0, 0)), to(rgba(0, 0, 0, 0)));
            mask-image: linear-gradient(to right, rgb(0, 0, 0) var(--mask-solid), rgba(0, 0, 0, 0) 100%);
    -webkit-mask-size: 100% 100%;
            mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_feature .sectionInner {
    padding: 0 5vw 72px;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_feature .sectionInner {
    padding: 0 10vw 128px;
  }
}

@media screen and (min-width: 320px) {
  .philosophy_featureList {
    padding: 0;
    margin-top: 24px;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_featureList {
    padding: 0 42.5% 0 0;
    margin-top: -20rem;
  }
}

.philosophy_featureList_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 24px;
  padding-top: 24px;
  border-top: solid 1px rgba(0, 0, 0, 0.16);
}
.philosophy_featureList_item:last-child {
  padding-bottom: 24px;
  border-bottom: solid 1px rgba(0, 0, 0, 0.16);
}

@media screen and (min-width: 320px) {
  .philosophy_featureList_img {
    width: 100%;
    margin-bottom: 16px;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_featureList_img {
    width: 30%;
    margin-bottom: 0;
  }
}

.philosophy_featureList_text {
  padding-top: 24px;
}
@media screen and (min-width: 320px) {
  .philosophy_featureList_text {
    width: 100%;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_featureList_text {
    width: 65%;
  }
}

.philosophy_featureList_title {
  font-weight: 400;
  margin-bottom: 16px;
}
@media screen and (min-width: 320px) {
  .philosophy_featureList_title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_featureList_title {
    font-size: 3.2rem;
  }
}

.philosophy_featureList_desc {
  opacity: 0.72;
}
@media screen and (min-width: 320px) {
  .philosophy_featureList_desc {
    font-size: 1.32rem;
  }
}
@media screen and (min-width: 600px) {
  .philosophy_featureList_desc {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 320px) {
  .companyOutline {
    padding: 32rem 5vw 128px;
  }
}
@media screen and (min-width: 600px) {
  .companyOutline {
    padding: 168px 5vw 128px;
  }
}
.companyOutline .sectonInner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.outline_title {
  font-weight: 400;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 320px) {
  .outline_title {
    font-size: 2.4rem;
    width: 100%;
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 600px) {
  .outline_title {
    font-size: 4rem;
    width: 25%;
    margin-bottom: 0;
  }
}

.outline_en {
  position: absolute;
  right: 0;
  font-weight: 400;
  text-align: right;
}
@media screen and (min-width: 320px) {
  .outline_en {
    font-size: 6.8rem;
    top: -24rem;
  }
}
@media screen and (min-width: 600px) {
  .outline_en {
    font-size: 6.4rem;
    top: 0;
  }
}

@media screen and (min-width: 320px) {
  .outline_body {
    width: 100%;
    padding: 0 0 0 20%;
  }
}
@media screen and (min-width: 600px) {
  .outline_body {
    width: 70%;
    padding: 0;
  }
}

.outline_item dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (min-width: 320px) {
  .outline_item dl {
    font-size: 1.4rem;
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 600px) {
  .outline_item dl {
    font-size: 2.4rem;
    margin-bottom: 48px;
  }
}
@media screen and (min-width: 320px) {
  .outline_item dt {
    width: 100%;
    margin-bottom: 4px;
  }
}
@media screen and (min-width: 600px) {
  .outline_item dt {
    width: 15%;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 320px) {
  .outline_item dd {
    width: 100%;
    opacity: 0.72;
  }
}
@media screen and (min-width: 600px) {
  .outline_item dd {
    width: 82.5%;
    opacity: 1;
  }
}

.message_body {
  position: relative;
}
.message_body::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  height: 1px;
  background: var(--color-black);
  opacity: 0.32;
}
@media screen and (min-width: 320px) {
  .message_body::before {
    width: 75vw;
    left: 16px;
    top: 1.2rem;
  }
}
@media screen and (min-width: 600px) {
  .message_body::before {
    width: 75vw;
    left: 16px;
    top: 1.2rem;
  }
}
@media screen and (min-width: 320px) {
  .message_body .sectionInner {
    padding: 0 10vw 0 2.5vw;
  }
}
@media screen and (min-width: 600px) {
  .message_body .sectionInner {
    padding: 0 10vw 0 2.5vw;
  }
}

@media screen and (min-width: 320px) {
  .ceo_img {
    padding: 0 50vw 0 2.5vw;
    margin: -52rem 0 64px;
  }
}
@media screen and (min-width: 600px) {
  .ceo_img {
    padding: 0 50vw 0 2.5vw;
    margin: -52rem 0 64px;
  }
}

@media screen and (min-width: 320px) {
  .ceo_message {
    padding: 0 20vw 128px 10vw;
  }
}
@media screen and (min-width: 600px) {
  .ceo_message {
    padding: 0 20vw 128px 10vw;
  }
}

.ceo_messageTitle {
  font-weight: 400;
  margin-bottom: 32px;
}
@media screen and (min-width: 320px) {
  .ceo_messageTitle {
    font-size: 4rem;
  }
}
@media screen and (min-width: 600px) {
  .ceo_messageTitle {
    font-size: 4rem;
  }
}

.ceo_messageBlocks {
  display: grid;
  line-height: 1.82;
}
@media screen and (min-width: 320px) {
  .ceo_messageBlocks {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 600px) {
  .ceo_messageBlocks {
    grid-template-columns: repeat(2, 1fr);
    gap: 48px;
    font-size: 2.4rem;
  }
}

:root {
  --ui-bg: #0b0c10;
  --ui-card: #ffffff;
  --ui-text: #0f1222;
  --ui-sub: #5b6275;
  --ui-accent: #3aa0ff;
  --ui-ring: rgba(58,160,255,.35);
  --ui-grad-1: rgba(255,255,255,1);
  --ui-grad-2: rgba(255,255,255,.85);
  --ui-shadow: 0 10px 30px rgba(15,18,34,.08), 0 2px 10px rgba(15,18,34,.04);
  --radius-2xl: 20px;
}

@media (prefers-color-scheme: dark) {
  :root {
    --ui-bg: #0c0f14;
    --ui-card: #141923;
    --ui-text: #e9edf7;
    --ui-sub: #9aa3b2;
    --ui-grad-1: rgba(255,255,255,.06);
    --ui-grad-2: rgba(255,255,255,.02);
    --ui-shadow: 0 12px 30px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.04);
  }
}
@media screen and (min-width: 320px) {
  .principles {
    margin: 32px 0;
  }
}
@media screen and (min-width: 600px) {
  .principles {
    margin: 32px 0;
  }
}

.principles__header {
  margin-bottom: clamp(20px, 5vw, 40px);
  text-align: left;
}

.principles__title {
  font-family: var(--font-nijimi);
  letter-spacing: 0.005em;
  line-height: 1.15;
  margin: 0 0 16px;
  font-size: clamp(22px, 2.6vw, 34px);
}
@media screen and (min-width: 320px) {
  .principles__title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 600px) {
  .principles__title {
    font-size: 4.8rem;
  }
}

.principles__subtitle {
  margin: 0;
}
@media screen and (min-width: 320px) {
  .principles__subtitle {
    font-size: 1.24rem;
  }
}
@media screen and (min-width: 600px) {
  .principles__subtitle {
    font-size: 2.2rem;
  }
}

.principles__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14px, 3vw, 22px);
  padding: 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 320px) {
  .principles__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (min-width: 600px) {
  .principles__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* SwiftUI RoundedRectangle + subtle gradient + shadow */
.principleCard {
  position: relative;
  border-radius: var(--radius-2xl);
  background: -webkit-gradient(linear, left top, left bottom, from(var(--ui-grad-1)), to(var(--ui-grad-2)));
  background: linear-gradient(180deg, var(--ui-grad-1), var(--ui-grad-2));
  background-color: var(--ui-card);
  -webkit-box-shadow: var(--ui-shadow);
          box-shadow: var(--ui-shadow);
  padding: 18px 16px 16px 16px;
  -webkit-transition: outline-color 0.2s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: outline-color 0.2s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: transform 0.25s ease, box-shadow 0.25s ease, outline-color 0.2s ease;
  transition: transform 0.25s ease, box-shadow 0.25s ease, outline-color 0.2s ease, -webkit-transform 0.25s ease, -webkit-box-shadow 0.25s ease;
  outline: 0 solid transparent;
  will-change: transform;
}

.principleCard:hover {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
  -webkit-box-shadow: 0 16px 36px rgba(15, 18, 34, 0.12), 0 4px 16px rgba(15, 18, 34, 0.06);
          box-shadow: 0 16px 36px rgba(15, 18, 34, 0.12), 0 4px 16px rgba(15, 18, 34, 0.06);
}

.principleCard:focus-within {
  outline: 3px solid var(--ui-ring);
}

/* Badge (SF Symbolsを意識した丸アイコン) */
.principleCard__badge {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: radial-gradient(120% 120% at 30% 20%, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0) 60%), linear-gradient(135deg, rgba(58, 160, 255, 0.18), rgba(58, 160, 255, 0.05));
  border: 1px solid rgba(58, 160, 255, 0.25);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.06);
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 2px rgba(0, 0, 0, 0.06);
  margin-bottom: 10px;
}

.icon {
  width: 22px;
  height: 22px;
  fill: var(--ui-accent);
}

/* Title & Description */
.principleCard__title {
  margin: 2px 0 6px;
  font-weight: 700;
  letter-spacing: 0.01em;
  font-size: 16px;
  line-height: 1.35;
}
@media screen and (min-width: 320px) {
  .principleCard__title {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 600px) {
  .principleCard__title {
    font-size: 2.4rem;
  }
}

.principleCard__desc {
  margin: 0;
  line-height: 1.7;
}
@media screen and (min-width: 320px) {
  .principleCard__desc {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 600px) {
  .principleCard__desc {
    font-size: 2rem;
  }
}

/* モーション控えめ設定 */
@media (prefers-reduced-motion: reduce) {
  .principleCard {
    -webkit-transition: none;
    transition: none;
  }
  .principleCard:hover {
    -webkit-transform: none;
            transform: none;
    -webkit-box-shadow: var(--ui-shadow);
            box-shadow: var(--ui-shadow);
  }
}/*# sourceMappingURL=aboutus.css.map */