@charset "UTF-8";
:root {
  --xlarge: 1800px;
  --large: 1600px;
  --medium: 1265px;
  --medium2: 1111px;
  --medium3: 1023px;
  --medium4: 959px;
  --small: 769px;
  --xsmall: 668px;
  --xxsmall: 560px;
  --xxxsmall: 321px; }

:root {
  --font-size-xxl: 2rem;
  --font-size-xl: 1.8rem;
  --font-size-l: 1.4rem;
  --font-size-m: 1.4rem;
  --font-size-s: 1.2rem;
  --font-size-xs: 1.1rem;
  --line-height-xxl: 2.2;
  --line-height-xl: 2.2;
  --line-height-l: 2.14;
  --line-height-m: 2;
  --line-height-s: 1.7;
  --line-height-xs: 1.4; }

@media screen and (max-width: 768px) {
  :root {
    --font-size-xxl:1.5rem;
    --font-size-xl: 1.8rem;
    --font-size-l: 1.4rem;
    --font-size-m: 1.3rem;
    --font-size-s: 1.2rem;
    --font-size-xs: 1.1rem; } }

:root {
  --color-bg-base: #161b24;
  --color-line_gray: #d6d6d6;
  --color-txt_yellow: #f1f0e8; }

:root {
  --color-bg:     #E1D7B0;
  --color-white:  #FDF4E7;
  --color-black:  #3D3317;
  --color-black2: #564A27;
  --color-yellow: #EDC054;
  --color-line:   #C5BB95;
  --font-min: 'FOT-TsukuOldMin Pro', serif;
  --font-got: 'Helvetica Neue','Helvetica','YuGothic', sans-serif;
  --font-en: 'Castoro', serif; }

.c-heading2__slogan {
  font-family: var(--font-min);
  -webkit-text-stroke: .7px currentColor;
  font-family: var(--font-min);
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  letter-spacing: -0.02em;
  -webkit-transform: scale(0.95, 1);
  -ms-transform: scale(0.95, 1);
  transform: scale(0.95, 1);
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  -webkit-font-smoothing: subpixel-antialiased !important; }

/* ==============================================================================================
ページ：会社案内
============================================================================================== */
.t-hero {
  margin-top: clamp(40px, 6.25vw, 80px); }
  @media screen and (min-width: 1700px) {
    .t-hero {
      margin-top: clamp(40px, 6.25vw, 80); } }
  .t-hero img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  @media screen and (max-width: 768px) {
    .t-hero {
      height: 300px; } }

.c-heading2__title {
  font-size: 13px;
  font-weight: bold; }

.c-heading2__slogan {
  font-size: 72px;
  line-height: 1.3;
  padding-top: 10px;
  font-size: clamp(38px, 5.625vw, 72px); }
  @media screen and (min-width: 1700px) {
    .c-heading2__slogan {
      font-size: clamp(38px, 5.625vw, 72); } }
  @media screen and (max-width: 768px) {
    .c-heading2__slogan {
      padding-top: 14px; } }

.t-about-section1 {
  position: relative; }
  .t-about-section1 .c-heading2__title,
  .t-about-section1 .c-heading2__slogan {
    color: var(--color-white); }

.t-about-section1__visual {
  position: relative;
  background: url(/assets/image/about/sec_hero.png) no-repeat center bottom/cover;
  height: clamp(400px, 62.5vw, 800px);
  border-top: 1px solid rgba(0, 0, 0, 0.015); }
  @media screen and (min-width: 1700px) {
    .t-about-section1__visual {
      height: clamp(400px, 62.5vw, 800); } }
  .t-about-section1__visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }

.t-about-section1__obj {
  --width: clamp(80px, 56.875vw, 728px);
  width: var(--width);
  height: var(--width);
  border-radius: var(--width);
  overflow: hidden;
  position: absolute;
  top: -100px;
  right: 40px; }
  @media screen and (min-width: 1700px) {
    .t-about-section1__obj {
      --width: clamp(80px, 56.875vw, 728); } }
  .t-about-section1__obj img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  @media screen and (min-width: 1600px) {
    .t-about-section1__obj {
      width: 728px;
      border-radius: 728px; } }
  @media screen and (max-width: 768px) {
    .t-about-section1__obj {
      display: none; } }

.t-about-section1__body {
  margin-top: -380px; }
  @media screen and (max-width: 768px) {
    .t-about-section1__body {
      margin-top: -200px; }
      .t-about-section1__body .c-heading2__title,
      .t-about-section1__body .c-heading2__slogan {
        color: #333; } }

.t-about-section1__text {
  width: 336px;
  padding-left: 140px;
  padding-top: 64px;
  padding-top: clamp(32px, 5vw, 64px);
  padding-left: clamp(0px, 10.9375vw, 140px);
  text-align: justify; }
  @media screen and (min-width: 1700px) {
    .t-about-section1__text {
      padding-top: clamp(32px, 5vw, 64); } }
  @media screen and (min-width: 1700px) {
    .t-about-section1__text {
      padding-left: clamp(0px, 10.9375vw, 140); } }
  @media screen and (max-width: 768px) {
    .t-about-section1__text {
      width: 100%;
      padding-left: 0; } }

.t-about-section1 .c-txt-m {
  line-height: 1.9; }
  @media screen and (max-width: 768px) {
    .t-about-section1 .c-txt-m {
      letter-spacing: .1em; } }

.t-about-section2 {
  margin-top: -220px;
  --line-size: 40px; }
  @media screen and (max-width: 768px) {
    .t-about-section2 {
      margin-top: 48px;
      --line-size: 10px; } }

.t-about-section2__inner {
  position: relative; }
  .t-about-section2__inner::after, .t-about-section2__inner::before {
    content: "";
    width: var(--line-size);
    --height: clamp(40px, 3.125vw, 40px);
    height: calc(100% - var(--height));
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 200; }
    @media screen and (min-width: 1700px) {
      .t-about-section2__inner::after, .t-about-section2__inner::before {
        --height: clamp(40px, 3.125vw, 40); } }
  .t-about-section2__inner::after {
    background: url(/assets/image/about/line1.jpg) no-repeat center center/cover; }
  .t-about-section2__inner::before {
    background: url(/assets/image/about/line2.jpg) no-repeat center center/cover;
    left: var(--line-size); }

.t-about-section2__visual {
  height: clamp(300px, 49.21875vw, 630px); }
  @media screen and (min-width: 1700px) {
    .t-about-section2__visual {
      height: clamp(300px, 49.21875vw, 630); } }
  .t-about-section2__visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }

.t-about-section2__body {
  margin-top: -12vw; }

.t-about-section2__text {
  margin-top: clamp(32px, 5vw, 64px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 56px; }
  @media screen and (min-width: 1700px) {
    .t-about-section2__text {
      margin-top: clamp(32px, 5vw, 64); } }
  @media screen and (max-width: 768px) {
    .t-about-section2__text {
      display: block; } }
  .t-about-section2__text img {
    height: 462px; }

@media screen and (max-width: 768px) {
  .t-about-section2__text div + div {
    margin-top: 16px; } }

.t-about-section2__text p {
  text-align: justify; }

.t-about-section2__media {
  margin-top: clamp(32px, 6.25vw, 80px);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 56px; }
  @media screen and (min-width: 1700px) {
    .t-about-section2__media {
      margin-top: clamp(32px, 6.25vw, 80); } }
  @media screen and (max-width: 768px) {
    .t-about-section2__media {
      gap: 10px; } }

.t-about-section2__media img {
  height: 38vw; }
  @media screen and (max-width: 768px) {
    .t-about-section2__media img {
      height: 48vw; } }

.t-about-section2__visual.-bottom {
  margin-top: clamp(-40px, -6.25vw, -80px); }
  @media screen and (min-width: 1700px) {
    .t-about-section2__visual.-bottom {
      margin-top: clamp(-40px, -6.25vw, -80); } }

.t-about-section3 {
  padding-top: 120px;
  padding-top: clamp(48px, 9.375vw, 120px);
  background: url(/assets/image/about/sec3_bg.jpg) no-repeat center center/cover; }
  @media screen and (min-width: 1700px) {
    .t-about-section3 {
      padding-top: clamp(48px, 9.375vw, 120); } }
  @media screen and (max-width: 768px) {
    .t-about-section3 {
      padding-bottom: 0; } }

.t-about-section3__body {
  position: relative;
  padding-left: clamp(20px, 10.9375vw, 140px); }
  @media screen and (min-width: 1700px) {
    .t-about-section3__body {
      padding-left: clamp(20px, 10.9375vw, 140); } }
  @media screen and (max-width: 768px) {
    .t-about-section3__body {
      padding-left: 0; } }

.t-about-section3__text {
  padding-right: 40%;
  text-align: justify;
  margin-top: clamp(32px, 3.75vw, 48px); }
  @media screen and (min-width: 1700px) {
    .t-about-section3__text {
      margin-top: clamp(32px, 3.75vw, 48); } }
  @media screen and (max-width: 768px) {
    .t-about-section3__text {
      padding-right: 0; } }
  .t-about-section3__text .c-txt-m {
    line-height: 1.9; }

.t-about-section3__pict {
  position: absolute;
  display: block;
  overflow: visible; }
  @media screen and (max-width: 768px) {
    .t-about-section3__pict {
      display: none; } }
  .t-about-section3__pict::after {
    content: "";
    width: 120%;
    height: 100%;
    background: url(/assets/image/about/obj_shadow.png) no-repeat left top/cover;
    position: absolute;
    bottom: -33px;
    right: -8px;
    z-index: -1; }
  .t-about-section3__pict.-obj1 {
    width: 168px;
    width: clamp(80px, 13.125vw, 168px);
    top: 0;
    left: -130px; }
    @media screen and (min-width: 1700px) {
      .t-about-section3__pict.-obj1 {
        width: clamp(80px, 13.125vw, 168); } }
  .t-about-section3__pict.-obj2 {
    width: 168px;
    width: clamp(80px, 13.125vw, 168px);
    top: 163px;
    right: -30px; }
    @media screen and (min-width: 1700px) {
      .t-about-section3__pict.-obj2 {
        width: clamp(80px, 13.125vw, 168); } }
  .t-about-section3__pict.-obj3 {
    width: 224px;
    width: clamp(80px, 17.5vw, 224px);
    top: 300px;
    right: -150px; }
    @media screen and (min-width: 1700px) {
      .t-about-section3__pict.-obj3 {
        width: clamp(80px, 17.5vw, 224); } }
  .t-about-section3__pict.-obj4 {
    width: 168px;
    width: clamp(80px, 13.125vw, 168px);
    top: 360px;
    left: -220px; }
    @media screen and (min-width: 1700px) {
      .t-about-section3__pict.-obj4 {
        width: clamp(80px, 13.125vw, 168); } }
