@charset "UTF-8";
/* common override */
@media all and (min-width: 768px), print {
  .l-page-container__in {
    padding-bottom: calc(97 / var(--fs) * 1rem);
  }
}
@media all and (max-width: 767px) {
  .l-page-container__in {
    padding-bottom: calc(88 / var(--fs) * 1rem);
  }
}
/* --------------------------------------------------------------------------
  intro-sec
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .intro-sec__body {
    padding-top: calc(82 / var(--fs) * 1rem);
    padding-bottom: 0;
  }
  .intro-sec__read {
    display: flex;
    flex-direction: column;
  }
  .intro-sec__read__item {
    display: flex;
    gap: calc(15 / var(--fs) * 1rem);
    align-items: flex-start;
  }
  .intro-sec__read__dash {
    flex-shrink: 0;
    width: calc(22 / var(--fs) * 1rem);
    height: calc(4 / var(--fs) * 1rem);
    background: var(--c-main-500);
    margin-top: calc(16 / var(--fs) * 1rem);
  }
  .intro-sec__read__label {
    font-size: calc(18 / var(--fs) * 1rem);
    line-height: 2;
  }
  .intro-sec__read__link {
    font-weight: 800;
    color: var(--c-main-500);
    text-decoration: underline;
  }
  .intro-sec__read__link:hover {
    text-decoration: none;
  }
}

@media all and (max-width: 767px) {
  .intro-sec__body {
    padding-top: calc(40 / var(--fs) * 1rem);
    padding-bottom: 0;
  }
  .intro-sec__read {
    display: flex;
    flex-direction: column;
    gap: calc(15 / var(--fs) * 1rem);
  }
  .intro-sec__read__item {
    display: flex;
    gap: calc(15 / var(--fs) * 1rem);
    align-items: flex-start;
  }
  .intro-sec__read__dash {
    flex-shrink: 0;
    width: calc(16 / var(--fs) * 1rem);
    height: 4px;
    background: var(--c-main-500);
    margin-top: calc(12 / var(--fs) * 1rem);
  }
  .intro-sec__read__label {
    font-size: calc(15 / var(--fs) * 1rem);
    line-height: 1.8;
  }
  .intro-sec__read__link {
    font-weight: 800;
    color: var(--c-main-500);
    text-decoration: underline;
  }
}


/* --------------------------------------------------------------------------
  honbu
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .honbu-sec {
    position: relative;
    &::before{
      position: absolute;
      content: "";
      width: 100%;
      height: calc(100% - calc(162 / var(--fs) * 1rem));
      top: calc(256 / var(--fs) * 1rem);
      left: calc(50% - calc(6 / var(--fs) * 1rem));
      transform: translateX(-50%);
      background-image: radial-gradient(circle, #22ac38 calc(1.75 / var(--fs) * 1rem), transparent calc(1.75 / var(--fs) * 1rem));
      background-position: 0 0;
      background-size: calc(15 / var(--fs) * 1rem) calc(15 / var(--fs) * 1rem);
      opacity: 0.16;
      z-index: -1;
    }
  }
  .honbu-sec__header {
    margin-bottom: calc(42 / var(--fs) * 1rem);
  }
  .honbu-outer {
    position: relative;
    background: rgba(34, 172, 56, 0.08);
    border-radius: calc(60 / var(--fs) * 1rem);
    padding: calc(60 / var(--fs) * 1rem);
    display: flex;
    flex-direction: column;
    gap: calc(62 / var(--fs) * 1rem);
    overflow: hidden;
  }
  .honbu-outer > * {
    position: relative;
    z-index: 1;
  }
}

@media all and (max-width: 767px) {
  .honbu-sec {
    position: relative;
    &::before{
      position: absolute;
      content: "";
      width: 100vw;
      height: calc(100% - calc(172 / var(--fs) * 1rem));
      top: calc(204 / var(--fs) * 1rem);
      left: calc(50% - calc(6 / var(--fs) * 1rem));
      transform: translateX(-50%);
      background-image: radial-gradient(circle, #22ac38 calc(1.75 / var(--fs) * 1rem), transparent calc(1.75 / var(--fs) * 1rem));
      background-position: 0 0;
      background-size: calc(15 / var(--fs) * 1rem) calc(15 / var(--fs) * 1rem);
      opacity: 0.16;
    }
  }
  .honbu-sec__in {
    padding-right: 0;
  }
  .honbu-sec__body {
    padding-top: calc(60 / var(--fs) * 1rem);
  }
  .honbu-sec__header {
    padding-right: calc(20 / var(--fs) * 1rem);
    margin-bottom: calc(22 / var(--fs) * 1rem);
  }
  .honbu-outer {
    position: relative;
    background: rgba(34, 172, 56, 0.08);
    border-radius: calc(40 / var(--fs) * 1rem) 0 0 calc(40 / var(--fs) * 1rem);
    padding: calc(30 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: calc(52 / var(--fs) * 1rem);
    overflow: hidden;
  }
  .honbu-outer::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background-image: radial-gradient(circle, var(--c-main-500) calc(1.5 / var(--fs) * 1rem), transparent calc(1.5 / var(--fs) * 1rem));
    background-size: calc(15 / var(--fs) * 1rem) calc(15 / var(--fs) * 1rem);
    opacity: 0.06;
    pointer-events: none;
    z-index: 0;
  }
  .honbu-outer > * {
    position: relative;
    z-index: 1;
  }
}


/* --------------------------------------------------------------------------
  honbu-card
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .honbu-card {
    display: flex;
    gap: 0;
    background: var(--c-white);
    overflow: hidden;
  }
  .honbu-card__table-wrap {
    flex: 1 1 0;
    min-width: 0;
    padding-block: calc(28 / var(--fs) * 1rem) calc(30 / var(--fs) * 1rem);
    padding-inline: calc(40 / var(--fs) * 1rem) calc(40 / var(--fs) * 1rem);
  }
  .honbu-card__aside {
    flex-shrink: 0;
    width: calc(320 / var(--fs) * 1rem);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(41 / var(--fs) * 1rem);
    padding-block: calc(30 / var(--fs) * 1rem) calc(10 / var(--fs) * 1rem);
    padding-inline: calc(10 / var(--fs) * 1rem) calc(38 / var(--fs) * 1rem);
  }
  .honbu-card__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(14 / var(--fs) * 1rem);
  }
  .honbu-card__logo img {
    width: calc(200 / var(--fs) * 1rem);
    height: auto;
  }
  .honbu-card__btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: calc(210 / var(--font-size) * 1rem);
    background: var(--c-accent-500);
    transition: var(--transition);
  }

  /* honbu-table */
  .honbu-table {
    width: 100%;
  }
  .honbu-table__row {
    display: flex;
    align-items: flex-start;
    gap: calc(24 / var(--fs) * 1rem);
    border-top: calc(1 / var(--fs) * 1rem) solid var(--c-main-500);
    padding-top: calc(19 / var(--fs) * 1rem);
    margin-top: calc(20 / var(--fs) * 1rem);
  }
  .honbu-table__row:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
  .honbu-table dt {
    flex-shrink: 0;
    width: calc(148 / var(--fs) * 1rem);
    font-size: calc(18 / var(--fs) * 1rem);
    font-weight: 500;
    line-height: 2;
    padding-left: calc(20 / var(--fs) * 1rem);
  }
  .honbu-table dd {
    padding-left: calc(28 / var(--fs) * 1rem);
    flex: 1;
    font-size: calc(18 / var(--fs) * 1rem);
    font-weight: 500;
    line-height: 2;
    margin-left: 0;
  }

  /* honbu-card--simple */
  .honbu-card--simple {
    display: block;
    padding-inline: calc(40 / var(--fs) * 1rem);
    padding-block: calc(32 / var(--fs) * 1rem) calc(30 / var(--fs) * 1rem);
    background: var(--c-white);
  }
  .honbu-card--simple .honbu-table dt {
    font-size: calc(16 / var(--fs) * 1rem);
    line-height: 1.8;
  }
  .honbu-card--simple .honbu-table dd {
    font-size: calc(16 / var(--fs) * 1rem);
    line-height: 1.8;
  }
  .honbu-card--simple .honbu-table__row {
    margin-top: calc(20 / var(--fs) * 1rem);
    padding-top: calc(20 / var(--fs) * 1rem);
  }
  .honbu-card--simple .honbu-table__row:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }
}


@media all and (max-width: 767px) {
  .honbu-card {
    display: flex;
    flex-direction: column;
    background: var(--c-white);
    overflow: hidden;
    padding-block: calc(20 / var(--fs) * 1rem) calc(30 / var(--fs) * 1rem);
    padding-inline: calc(10 / var(--fs) * 1rem) calc(11 / var(--fs) * 1rem);
    gap: calc(30 / var(--fs) * 1rem);
    width: 100%;
  }
  .honbu-card__table-wrap {
    padding: 0;
  }
  .honbu-card__aside {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(34 / var(--fs) * 1rem);
    padding: 0;
    border-top: none;
  }
  .honbu-card__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(10 / var(--fs) * 1rem);
  }
  .honbu-card__logo img {
    width: calc(162 / var(--fs) * 1rem);
    height: auto;
  }
  .honbu-card__btn {
    max-width: calc(220 / var(--fs) * 1rem);
    width: 100%;
    transition: var(--transition);
  }
  .honbu-card__btn:hover {
    opacity: 0.8;
  }
  .honbu-card__btn-icon {
    flex-shrink: 0;
    width: calc(22 / var(--fs) * 1rem);
    height: calc(22 / var(--fs) * 1rem);
    background: var(--c-main-500);
    color: var(--c-white);
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
  }
  .honbu-card__btn-icon .c-svg {
    display: flex;
    width: calc(11 / var(--fs) * 1rem);
    height: calc(11 / var(--fs) * 1rem);
  }
  .honbu-card__btn-icon .c-svg svg {
    width: 100%;
    height: 100%;
    fill: var(--c-white);
  }

  /* honbu-table */
  .honbu-table {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--fs) * 1rem);
  }
  .honbu-table__row {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: calc(16 / var(--fs) * 1rem);
    border-top: none;
    padding-top: 0;
    padding-bottom: calc(20 / var(--fs) * 1rem);
    &::before {
      content: "";
      position: absolute;
      width: calc(100% - calc(20 / var(--fs) * 1rem));
      height: calc(1 / var(--fs) * 1rem);
      left: 50%;
      transform: translateX(-50%);
      bottom: 0;
      background: var(--c-main-500);
    }
  }
  .honbu-table dt {
    flex-shrink: 0;
    width: calc(94 / var(--fs) * 1rem);
    font-size: calc(15 / var(--fs) * 1rem);
    font-weight: 600;
    line-height: 1.8;
    padding-left: calc(10 / var(--fs) * 1rem);
  }
  .honbu-table dd {
    flex: 1;
    font-size: calc(15 / var(--fs) * 1rem);
    line-height: 1.8;
    margin-left: 0;
  }

  /* honbu-card--simple */
  .honbu-card--simple {
    display: block;
    padding-block: calc(21 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
    padding-inline: calc(20 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem);
    background: var(--c-white);
    width: 100%;
  }
  .honbu-card--simple .honbu-table {
    gap: calc(18 / var(--fs) * 1rem);
  }
  .honbu-card--simple .honbu-table__row {
    padding-top: calc(19 / var(--fs) * 1rem);
    padding-bottom: 0;
    &::before {
      content: "";
      position: absolute;
      width: 100%;
      height: calc(1 / var(--fs) * 1rem);
      left: 50%;
      transform: translateX(-50%);
      top: 0;
      background: var(--c-main-500);
  }
  }
  .honbu-card--simple .honbu-table__row:first-child {
    padding-top: 0;
    &::before {
      content: none;
    }
  }
  .honbu-card--simple .honbu-table dt,
  .honbu-card--simple .honbu-table dd {
    font-size: calc(14 / var(--fs) * 1rem);
  }
  .honbu-card--simple .honbu-table dt {
    width: calc(84 / var(--fs) * 1rem);
    padding-left: 0;
  }
  .honbu-card--simple .honbu-table dd {
    line-height: 1.6;
  }
}


/* --------------------------------------------------------------------------
  jimusho-inner
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .jimusho-inner {
    display: flex;
    flex-direction: column;
    gap: calc(20 / var(--fs) * 1rem);
  }
  .jimusho-header {
    font-size: calc(24 / var(--fs) * 1rem);
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.03em;
    color: var(--c-black);
  }
}

@media all and (max-width: 767px) {
  .jimusho-inner {
    display: flex;
    flex-direction: column;
    gap: calc(16 / var(--fs) * 1rem);
    width: 100%;
  }
  .jimusho-header {
    font-size: calc(20 / var(--fs) * 1rem);
    font-weight: 800;
    line-height: 1.4;
    color: var(--c-black);
    letter-spacing: 0.03em;
  }
}
