@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap);
:root {
  --ff-noto-sans: "Noto Sans JP", Meiryo, sans-serif;
  --c-white: #ffffff;
  --c-black: #000000;
  --c-gray-light: #eeeeee;
  --c-green-primary: #23ac48;
  --c-green-dark: #009943;
  --c-green-light: #7bcd91;
  --c-text-main: #333333;
  --c-red-accent: #b34040;
}

/* ==========================================================================//
//
//　calc関数、エディターコンパイル用
//（calc関数をそのままscssに入れてコンパイルすると、自動で計算後のvwに変換されるため用意しています。）
//
//
// ========================================================================== */
/** -------------------------------- **
	PC用
*** ----------------------------------------------------------------- ***/
/*-- 基本ヘッダーフッター用、またはコンテンツ幅を超えてアートボードいっぱいにデザインされているもの --*/
/*-- mainタグ内（デザインのコンテンツ幅1280pxと両サイドのpadding40pxを足して1320） --*/
/** -------------------------------- **
	タブレット用
*** ----------------------------------------------------------------- ***/
/** -------------------------------- **
	SP用
*** ----------------------------------------------------------------- ***/
@media (min-width: 768px) {
  .intro_area .section__title {
    letter-spacing: 0.08em;
  }
}

.process-flow {
  margin-bottom: min(calc(100 / 1320 * 100vw), 100px);
}
@media (max-width: 767px) {
  .process-flow {
    margin-block: calc( 75/375 * 100vw) calc( 100/375 * 100vw);
  }
}
.process-flow__list {
  display: flex;
  flex-direction: column;
}
.process-flow__item {
  display: flex;
}
.process-flow__item:not(:first-child) {
  margin-top: min(calc(100 / 1320 * 100vw), 100px);
}
@media (max-width: 767px) {
  .process-flow__item:not(:first-child) {
    margin-top: calc( 40/375 * 100vw);
  }
}
.process-flow__item:last-child .process-flow__icon::after {
  display: none;
}
.process-flow__icon {
  position: relative;
  width: min(calc(80 / 1320 * 100vw), 80px);
  height: min(calc(80 / 1320 * 100vw), 80px);
  margin-inline: min(calc(50 / 1320 * 100vw), 50px) min(calc(50 / 1320 * 100vw), 50px);
  border-radius: 50%;
  background-color: var(--c-green-primary);
}
@media (max-width: 767px) {
  .process-flow__icon {
    width: calc( 80/375 * 100vw);
    height: calc( 80/375 * 100vw);
    margin-inline: 0 calc( 20/375 * 100vw);
  }
}
.process-flow__icon svg {
  width: 50%;
  height: 50%;
  fill: #ffffff;
  color: #ffffff;
  margin: 25%;
}
.process-flow__icon::after {
  content: "";
  position: absolute;
  top: calc(100% + min(calc(30 / 1320 * 100vw), 30px));
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: min(calc(40 / 1320 * 100vw), 40px);
  background-color: var(--c-green-primary);
  border-radius: 4px;
}
@media (max-width: 767px) {
  .process-flow__icon::after {
    display: none;
  }
}
.process-flow__content {
  display: flex;
  align-items: center;
  flex: 1;
  position: relative;
}
@media (max-width: 767px) {
  .process-flow__content {
    align-items: flex-start;
    flex-direction: column;
    gap: calc( 20/375 * 100vw);
  }
}
.process-flow__content::after {
  content: "";
  position: absolute;
  bottom: -50px;
  left: 0;
  width: 95%;
  height: 1px;
  background-color: #ccc;
}
.process-flow__item:last-child .process-flow__content::after {
  display: none;
}
.process-flow__title {
  flex: 0 0 min(calc(350 / 1320 * 100vw), 350px);
  font-size: min(calc(20 / 1320 * 100vw), 20px);
  font-weight: bold;
  color: var(--c-green-primary);
}
@media (max-width: 767px) {
  .process-flow__title {
    display: flex;
    align-items: center;
    flex: 0 0 calc( 80/375 * 100vw);
    font-size: calc( 20/375 * 100vw);
    line-height: 1.5;
  }
}
.process-flow__description {
  position: relative;
  flex: 1;
  padding-inline-end: min(calc(50 / 1320 * 100vw), 50px);
  font-size: min(calc(16 / 1320 * 100vw), 16px);
  line-height: 2;
}
@media (max-width: 767px) {
  .process-flow__description {
    padding-inline-end: 0;
    padding-bottom: calc( 6/375 * 100vw);
    font-size: calc( 16/375 * 100vw);
  }
}
.process-flow__description::before {
  content: "";
  position: absolute;
  top: 0.9em;
  left: min(calc(-13 / 1320 * 100vw), -13px);
  width: min(calc(7 / 1320 * 100vw), 7px);
  height: min(calc(7 / 1320 * 100vw), 7px);
  background-color: var(--c-green-primary);
  border-radius: 50%;
}
@media (max-width: 767px) {
  .process-flow__description::before {
    top: calc( 10/375 * 100vw);
    left: calc( -62/375 * 100vw);
    width: calc( 4/375 * 100vw);
    height: 100%;
    border-radius: calc( 4/375 * 100vw);
  }
}

.office-info {
  margin-bottom: min(calc(100 / 1320 * 100vw), 100px);
}
@media (max-width: 767px) {
  .office-info {
    margin-bottom: calc( 60/375 * 100vw);
  }
}
.office-info__inner {
  display: flex;
  align-items: center;
  gap: min(calc(80 / 1320 * 100vw), 80px);
}
@media (max-width: 767px) {
  .office-info__inner {
    flex-direction: column;
    gap: calc( 80/375 * 100vw);
  }
}
.office-info__media {
  flex: 0 0 min(calc(400 / 1320 * 100vw), 400px);
}
.office-info__image {
  flex: 1;
}
.office-info__image img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.office-info__contents {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media (max-width: 767px) {
  .office-info__contents {
    align-items: center;
  }
}
.office-info__content:not(:first-child) {
  margin-top: min(calc(80 / 1320 * 100vw), 80px);
}
@media (max-width: 767px) {
  .office-info__content:not(:first-child) {
    margin-top: calc( 80/375 * 100vw);
  }
}
.office-info__header {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: min(calc(20 / 1320 * 100vw), 20px);
  padding-bottom: min(calc(10 / 1320 * 100vw), 10px);
}
@media (max-width: 767px) {
  .office-info__header {
    margin-bottom: calc( 35/375 * 100vw);
    padding-bottom: calc( 22/375 * 100vw);
  }
}
.office-info__header::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ccc;
}
.office-info__icon {
  width: min(calc(20 / 1320 * 100vw), 20px);
  height: auto;
  margin-right: min(calc(18 / 1320 * 100vw), 18px);
}
@media (max-width: 767px) {
  .office-info__icon {
    width: calc( 20/375 * 100vw);
    margin-right: calc( 17/375 * 100vw);
  }
}
.office-info__icon svg {
  width: 100%;
  height: 100%;
  fill: var(--c-green-primary);
  color: var(--c-green-primary);
}
.office-info__title {
  font-size: min(calc(30 / 1320 * 100vw), 30px);
  font-weight: 600;
  color: var(--c-black);
}
@media (max-width: 767px) {
  .office-info__title {
    font-size: calc( 20/375 * 100vw);
  }
}
.office-info__title-en {
  margin-inline-start: auto;
  font-size: min(calc(16 / 1320 * 100vw), 16px);
  color: var(--c-green-light);
}
@media (max-width: 767px) {
  .office-info__title-en {
    font-size: calc( 16/375 * 100vw);
  }
}
.office-info__text {
  font-size: min(calc(16 / 1320 * 100vw), 16px);
  line-height: 2;
  color: var(--c-black);
}
@media (max-width: 767px) {
  .office-info__text {
    font-size: calc( 16/375 * 100vw);
  }
}
.iso-logo {
  margin-top: min(calc(40 / 1320 * 100vw), 40px);
  text-align: center;
}
@media (max-width: 767px) {
  .iso-logo {
    margin-top: calc( 80/375 * 100vw);
  }
}
.iso-logo + .text-right {
  margin-top: min(calc(32 / 1320 * 100vw), 32px);
}
@media (max-width: 767px) {
  .iso-logo + .text-right {
    margin-top: calc( 80/375 * 100vw);
  }
}