@charset "UTF-8";
/* カラー設定 */
:root {
  --primary-color: #718CC7;
  --secondary-color: #222629;
  --back-color: #F1F3F9;
  --white-color: #FDFDFD; }

/*----------------------------------------------------------*/
/* トップページ */
/*----------------------------------------------------------*/
/*---
mv
---*/
.mv {
  margin-top: 80px;
  background-image: url(../images/mv_bg.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: calc(100svh - 80px);
  min-height: 520px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: hidden; }
  @media screen and (max-width: 1220px) {
    .mv {
      margin-top: 50px;
      min-height: 460px;
      height: calc(100svh - 50px); } }
  .mv__content {
    height: 100%;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1.2fr; }
    @media screen and (max-width: 768px) {
      .mv__content {
        grid-template-columns: 1fr; } }
    .mv__content__left {
      margin-left: 6.4vw;
      height: 100%; }
      @media screen and (max-width: 768px) {
        .mv__content__left {
          margin-left: 0; } }
      .mv__content__left .copy {
        height: 10svw;
        margin-top: 12svh; }
        @media screen and (max-width: 768px) {
          .mv__content__left .copy {
            height: 10svh;
            margin-left: 20px;
            margin-top: 8svh; } }
      .mv__content__left .intro-wrap {
        height: 50svh; }
        @media screen and (max-width: 768px) {
          .mv__content__left .intro-wrap {
            position: absolute;
            bottom: 0;
            width: 80%;
            background-color: rgba(255, 255, 255, 0.9);
            z-index: 1;
            border-radius: 0 40px 0 0;
            padding: 16px 0 0;
            height: 56svh;
            transform: translateY(40svh);
            transition: transform 0.6s ease; } }
        .mv__content__left .intro-wrap__white {
          content: "";
          width: 100%;
          height: 60px;
          background: linear-gradient(to top right, rgba(253, 253, 253, 0.9), rgba(253, 253, 253, 0));
          display: block;
          position: sticky;
          bottom: 3svh;
          opacity: 0;
          transform: translateY(30px);
          transition: opacity 3s ease, transform 2s ease; }
          .mv__content__left .intro-wrap__white.slide-in {
            opacity: 1;
            transform: translateY(0); }
      .mv__content__left .intro-box {
        overflow-y: auto;
        margin-top: 2svh;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch;
        /* iOS必須 */
        scrollbar-width: none;
        height: calc(100% - 6svh - 3svh);
        position: relative;
        overflow-y: auto;
        bottom: -6svh;
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 2s ease, transform 2s ease;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch; }
        @media screen and (max-width: 768px) {
          .mv__content__left .intro-box {
            margin-top: -40px;
            height: calc(100% - 52px);
            transition: transform 0.6s ease, opacity 0.6s ease;
            padding: 10px 16px 0; } }
        .mv__content__left .intro-box .scrollable {
          overflow-y: auto;
          /* アニメーション完了後にスクロール可能 */ }
        .mv__content__left .intro-box.slide-in {
          opacity: 1;
          transform: translateY(0); }
        .mv__content__left .intro-box p {
          line-height: 2.2;
          font-size: 2.0rem;
          color: var(--primary-color);
          margin-bottom: -40px; }
          @media screen and (max-width: 768px) {
            .mv__content__left .intro-box p {
              font-size: 1.4rem;
              margin-bottom: -60px; } }
        .mv__content__left .intro-box.is-bottom::after {
          opacity: 0; }
      .mv__content__left .scroll-indicator {
        font-size: 1.6rem;
        font-family: "Sorts Mill Goudy", serif;
        color: var(--primary-color);
        position: absolute;
        bottom: 0;
        height: 6svh;
        /* 「⚫︎」のアニメーション */ }
        @media screen and (max-width: 768px) {
          .mv__content__left .scroll-indicator {
            font-size: 1.2rem;
            bottom: unset;
            top: 8.9svh;
            background-color: white;
            width: 100%;
            left: 0;
            padding: 16px 16px 36px; } }
        .mv__content__left .scroll-indicator::before {
          content: "";
          width: 8px;
          height: 8px;
          background-color: var(--primary-color);
          border-radius: 100px;
          display: inline-block;
          margin-right: 8px;
          animation: scroll 2.5s infinite; }
          @media screen and (max-width: 768px) {
            .mv__content__left .scroll-indicator::before {
              width: 6px;
              height: 6px; } }
@keyframes scroll {
  0% {
    opacity: 0;
    transform: rotate(-45deg) translate(0, 0); }
  40% {
    opacity: 1; }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-16px, 16px); }
  80% {
    opacity: 0;
    transform: rotate(-45deg) translate(-16px, 16px); }
  100% {
    opacity: 0; } }
      @media screen and (max-width: 765px) {
        .mv__content__left {
          /* reset 用クラス */ }
          .mv__content__left .intro-wrap.show {
            transform: translateY(0);
            /* 下→上にスライドして展開 */ }
          .mv__content__left .intro-wrap.show .scroll-indicator {
            top: unset;
            bottom: 0; }
          .mv__content__left .scroll-indicator.reset {
            opacity: 1; } }
    .mv__content .illustration {
      width: 100%;
      height: calc(100svh - 80px);
      min-height: 100%; }
      @media screen and (max-width: 768px) {
        .mv__content .illustration {
          width: 130%;
          height: 70svh;
          min-height: unset;
          position: absolute;
          top: 60%;
          left: 50%;
          transform: translate(-50%, -50%); } }
      .mv__content .illustration img {
        width: 100%;
        height: 100%;
        object-fit: contain; }

/*---
トップページ__事業領域
---*/
.section-service__content__daily {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 5.6%; }
  @media screen and (max-width: 768px) {
    .section-service__content__daily {
      grid-template-columns: 1fr; } }
  .section-service__content__daily__copy {
    line-height: 1.7; }
  .section-service__content__daily__text {
    font-size: 1.8rem;
    line-height: 2.2; }
    @media screen and (max-width: 768px) {
      .section-service__content__daily__text {
        font-size: 1.4rem;
        line-height: 1.8;
        width: calc(80vw - 16px); } }
  .section-service__content__daily__img {
    max-width: 96%;
    margin: auto;
    margin-top: 24px; }
    @media screen and (max-width: 768px) {
      .section-service__content__daily__img {
        margin-top: 16px; } }
    @media screen and (max-width: 768px) {
      .section-service__content__daily__img--pc {
        display: none; } }
    .section-service__content__daily__img--sp {
      display: none; }
      @media screen and (max-width: 768px) {
        .section-service__content__daily__img--sp {
          display: block; } }
.section-service__content__business__img {
  margin-top: 32px; }
  @media screen and (max-width: 768px) {
    .section-service__content__business__img {
      margin-top: 16px; } }
  .section-service__content__business__img .pc {
    display: block; }
    @media screen and (max-width: 500px) {
      .section-service__content__business__img .pc {
        display: none; } }
  .section-service__content__business__img .sp {
    display: none; }
    @media screen and (max-width: 500px) {
      .section-service__content__business__img .sp {
        display: block;
        width: 100%;
        max-width: 520px;
        margin: auto; } }
.section-service__content__inheritance__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 80%;
  margin: auto;
  margin-top: 32px; }
  @media screen and (max-width: 768px) {
    .section-service__content__inheritance__list {
      width: 100%;
      margin-top: 16px;
      gap: 10px; } }
  @media screen and (max-width: 500px) {
    .section-service__content__inheritance__list {
      display: block; } }
.section-service__content__inheritance__item {
  height: fit-content; }
  @media screen and (max-width: 500px) {
    .section-service__content__inheritance__item:nth-child(1) {
      width: 60%; }
    .section-service__content__inheritance__item:nth-child(2) {
      width: 50%;
      margin-top: -28vw;
      margin-right: -6%;
      margin-left: auto; }
    .section-service__content__inheritance__item:nth-child(3) {
      width: 60%;
      margin-top: -30vw; } }
  @media screen and (max-width: 500px) and (max-width: 500px) {
    .section-service__content__inheritance__item:nth-child(3) {
      margin-top: -33vw; } }

.section-service__content__inheritance .title {
  background-size: contain;
  background-repeat: no-repeat;
  width: 77%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500; }
  @media screen and (max-width: 768px) {
    .section-service__content__inheritance .title {
      font-size: 1.3rem;
      width: 80%; } }
  @media screen and (max-width: 500px) {
    .section-service__content__inheritance .title {
      width: 40vw; } }
  .section-service__content__inheritance .title--01 {
    background-image: url("../images/service_inheritance01-shape.png");
    color: #54C3F1; }
  .section-service__content__inheritance .title--02 {
    background-image: url("../images/service_inheritance02-shape.png");
    color: #718CC7; }
  .section-service__content__inheritance .title--03 {
    background-image: url("../images/service_inheritance03-shape.png");
    color: #CE93BF; }
    @media screen and (max-width: 500px) {
      .section-service__content__inheritance .title--03 {
        margin-top: -33vw;
        margin-right: 0;
        margin-left: auto; } }
.section-service__content__inheritance .person {
  max-height: 38%;
  object-fit: contain;
  display: block;
  margin: 0 0 0 auto; }
  .section-service__content__inheritance .person--01 {
    margin-right: 8%;
    width: 59%;
    margin-top: -35%; }
    @media screen and (max-width: 500px) {
      .section-service__content__inheritance .person--01 {
        margin-right: 0;
        width: 55%;
        margin-top: -60%; } }
  .section-service__content__inheritance .person--02 {
    margin-right: -11%;
    width: 86%;
    margin-top: -36%; }
    @media screen and (max-width: 500px) {
      .section-service__content__inheritance .person--02 {
        margin-right: 10%;
        margin-top: -30%; } }
  .section-service__content__inheritance .person--03 {
    margin-right: 14%;
    width: 48%;
    margin-top: -39%; }
    @media screen and (max-width: 500px) {
      .section-service__content__inheritance .person--03 {
        margin-right: unset;
        margin-left: 0;
        margin-top: -80%; } }
.section-service .hr {
  color: var(--primary-color);
  margin-top: 28px; }

/*---
トップページ__会社概要
---*/
.section-company {
  border-radius: 80px 80px 0 0; }
  @media screen and (max-width: 768px) {
    .section-company {
      border-radius: 40px 40px 0 0; } }
  .section-company__content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 5.6%;
    position: relative; }
    @media screen and (max-width: 920px) {
      .section-company__content {
        grid-template-columns: 1fr; } }
    .section-company__content .left .table-wrapper {
      display: grid;
      gap: 32px; }
      @media screen and (max-width: 768px) {
        .section-company__content .left .table-wrapper {
          gap: 24px; } }
    .section-company__content .left th p,
    .section-company__content .left td p {
      font-size: 1.8rem;
      line-height: 1.8; }
      @media screen and (max-width: 768px) {
        .section-company__content .left th p,
        .section-company__content .left td p {
          font-size: 1.3rem; } }
    .section-company__content .left tr {
      display: flex;
      font-size: 1.8rem;
      gap: 30px; }
      @media screen and (max-width: 768px) {
        .section-company__content .left tr {
          gap: 20px; } }
      .section-company__content .left tr th {
        width: 100px;
        color: var(--primary-color);
        font-weight: 400; }
        @media screen and (max-width: 768px) {
          .section-company__content .left tr th {
            width: 56px; } }
        .section-company__content .left tr th small {
          display: block;
          font-size: 1.3rem;
          line-height: 1.4;
          margin-top: 4px; }
          @media screen and (max-width: 768px) {
            .section-company__content .left tr th small {
              font-size: 1.0rem; } }
    .section-company__content .hr {
      color: var(--primary-color); }
    .section-company__content::before {
      content: "";
      background-image: url("../images/company_bg.svg");
      background-repeat: no-repeat;
      background-size: contain;
      display: block;
      margin: 0 calc(50% - 50vw);
      width: 100%;
      max-width: 68vw;
      height: 17vw;
      position: absolute;
      bottom: -4vw;
      left: 0; }
      @media screen and (max-width: 768px) {
        .section-company__content::before {
          bottom: 0;
          left: -25%;
          width: 112vw;
          max-width: 112vw;
          height: 26vw; } }
      @media screen and (max-width: 768px) {
        .section-company__content::before {
          bottom: 130px; } }
    .section-company__content .right {
      z-index: 0; }
    .section-company__content .google-map iframe {
      width: 100%;
      height: 375px; }
      @media screen and (max-width: 500px) {
        .section-company__content .google-map iframe {
          height: 200px; } }
    @media screen and (max-width: 500px) {
      .section-company__content .google-map--pc {
        display: none; } }
    .section-company__content .google-map--sp {
      display: none; }
      @media screen and (max-width: 500px) {
        .section-company__content .google-map--sp {
          display: block; } }
  .section-company__history__title {
    color: var(--primary-color);
    border-bottom: solid 1px var(--primary-color);
    text-align: center;
    font-family: "Sorts Mill Goudy", serif;
    padding-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .section-company__history__title {
        font-size: 1.6rem;
        padding-bottom: 12px; } }
  .section-company__history__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6.4vw;
    margin-top: 36px; }
    @media screen and (max-width: 768px) {
      .section-company__history__list {
        grid-template-columns: 1fr;
        margin-top: 24px; } }
  .section-company__history__item .title {
    text-align: center;
    background-color: var(--white-color);
    padding: 12px 16px;
    border-radius: 10px; }
    @media screen and (max-width: 768px) {
      .section-company__history__item .title {
        padding: 8px 16px; } }
    .section-company__history__item .title p {
      font-size: 1.8rem; }
      @media screen and (max-width: 768px) {
        .section-company__history__item .title p {
          font-size: 1.3rem; } }
    .section-company__history__item .title .small {
      font-size: 1.3rem; }
  .section-company__history__item table {
    margin-top: 16px; }
    .section-company__history__item table th {
      width: 100px;
      color: var(--primary-color);
      font-weight: 400; }
      @media screen and (max-width: 768px) {
        .section-company__history__item table th {
          width: 76px; } }
    .section-company__history__item table p {
      line-height: 2; }
      @media screen and (max-width: 768px) {
        .section-company__history__item table p {
          line-height: 1.6; } }
  .section-company__history__merger {
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 36px 16px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .section-company__history__merger {
        padding: 16px 12px;
        font-size: 1.4rem; } }
    .section-company__history__merger .date {
      color: var(--primary-color);
      margin-right: 20px; }
      @media screen and (max-width: 768px) {
        .section-company__history__merger .date {
          margin-right: 0;
          font-size: 1.3rem;
          display: block;
          margin-bottom: 4px; } }

/*---
トップページ__グループ会社
---*/
.section-group-company__bg {
  background-color: var(--back-color); }

.section-group-company {
  border-radius: 80px 80px 0 0; }
  @media screen and (max-width: 768px) {
    .section-group-company {
      border-radius: 40px 40px 0 0; } }
  .section-group-company__title {
    margin-top: -20px;
    border-bottom: solid 1px var(--secondary-color);
    text-align: center;
    font-family: "Sorts Mill Goudy", serif;
    padding-bottom: 20px; }
    @media screen and (max-width: 768px) {
      .section-group-company__title {
        margin-top: 0;
        font-size: 1.6rem;
        padding-bottom: 12px; } }
  .section-group-company__item {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    align-items: center;
    border-bottom: solid 1px var(--secondary-color);
    padding-top: 36px;
    padding-bottom: 36px;
    gap: 20px; }
    @media screen and (max-width: 768px) {
      .section-group-company__item {
        grid-template-columns: 1fr;
        padding-top: 20px;
        padding-bottom: 20px; } }
    @media screen and (max-width: 768px) {
      .section-group-company__item .logo {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 4px 0; } }
    .section-group-company__item .logo img {
      height: 22px; }
      @media screen and (max-width: 768px) {
        .section-group-company__item .logo img {
          height: 14px; } }
    .section-group-company__item .logo__text {
      font-size: 1.3rem;
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .section-group-company__item .logo__text {
          font-size: 1.0rem;
          margin-top: 0; } }
    .section-group-company__item table tbody {
      display: grid;
      gap: 20px; }
      @media screen and (max-width: 768px) {
        .section-group-company__item table tbody {
          gap: 12px; } }
    .section-group-company__item table th {
      color: #CE93BF;
      font-weight: 400;
      width: 100px; }
      @media screen and (max-width: 768px) {
        .section-group-company__item table th {
          width: 76px; } }
    .section-group-company__item table p {
      line-height: 1.6; }

/*---
トップページ__お問い合わせ
---*/
.section-contact {
  margin-top: -80px; }
  @media screen and (max-width: 768px) {
    .section-contact {
      margin-top: -40px; } }
  .section-contact__content {
    background-color: var(--back-color);
    padding: 70px 8vw;
    border-radius: 80px; }
    @media screen and (max-width: 768px) {
      .section-contact__content {
        border-radius: 20px;
        padding: 25px 20px;
        padding: 24px 20px; } }
    @media screen and (max-width: 768px) {
      .section-contact__content .mt-m {
        margin-top: 24px; } }
    .section-contact__content__title {
      color: var(--primary-color);
      letter-spacing: 0.1em;
      display: flex; }
      @media screen and (max-width: 768px) {
        .section-contact__content__title {
          font-size: 1.5rem; } }
      .section-contact__content__title--tel {
        border-right: solid 1px var(--primary-color);
        height: 68px;
        align-items: center;
        justify-content: center; }
        @media screen and (max-width: 768px) {
          .section-contact__content__title--tel {
            border-right: none;
            height: auto; } }
    .section-contact__content .tel {
      background-color: var(--white-color);
      padding: 33px 16px;
      border-radius: 20px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center; }
      @media screen and (max-width: 768px) {
        .section-contact__content .tel {
          padding: 20px 16px;
          grid-template-columns: 1fr; } }
      .section-contact__content .tel__number {
        font-size: 4.8rem;
        color: var(--primary-color);
        text-align: center;
        letter-spacing: 0.05em; }
        @media screen and (max-width: 768px) {
          .section-contact__content .tel__number {
            font-size: 2.4rem;
            margin-top: 10px; } }
    .section-contact__content .hr {
      color: var(--primary-color); }
    @media screen and (max-width: 768px) {
      .section-contact__content .form.mt-m {
        margin-top: 20px; } }
    .section-contact__content .form .title {
      display: grid;
      grid-template-columns: 4fr 5fr; }
      @media screen and (max-width: 768px) {
        .section-contact__content .form .title {
          grid-template-columns: 1fr;
          gap: 12px; } }
      .section-contact__content .form .title p {
        color: var(--primary-color); }
    .section-contact__content .form__list {
      display: grid;
      gap: 30px;
      margin-top: 20px; }
      @media screen and (max-width: 768px) {
        .section-contact__content .form__list {
          gap: 14px; } }
    .section-contact__content .form .form-title {
      color: var(--primary-color);
      letter-spacing: 0.1em;
      font-size: 2.0rem;
      margin-bottom: 12px; }
      @media screen and (max-width: 768px) {
        .section-contact__content .form .form-title {
          font-size: 1.3rem;
          margin-bottom: 8px; } }
      .section-contact__content .form .form-title__required {
        border: solid 1px #CE93BF;
        color: #CE93BF;
        padding: 0 8px 1px;
        border-radius: 10px;
        font-size: 1.6rem;
        margin-left: 4px;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 768px) {
          .section-contact__content .form .form-title__required {
            padding: 0 4px 1px;
            border-radius: 7px;
            font-size: 1.1rem; } }
    .section-contact__content .form select,
    .section-contact__content .form input,
    .section-contact__content .form textarea {
      background-color: var(--white-color);
      padding: 16px 20px;
      border-radius: 12px;
      width: 100%;
      font-size: 1.8rem;
      cursor: pointer; }
      @media screen and (max-width: 768px) {
        .section-contact__content .form select,
        .section-contact__content .form input,
        .section-contact__content .form textarea {
          padding: 12px 16px;
          border-radius: 10px;
          font-size: 1.1rem; } }
      .section-contact__content .form select::placeholder,
      .section-contact__content .form input::placeholder,
      .section-contact__content .form textarea::placeholder {
        font-size: 1.8rem;
        color: #D9D9D9; }
        @media screen and (max-width: 768px) {
          .section-contact__content .form select::placeholder,
          .section-contact__content .form input::placeholder,
          .section-contact__content .form textarea::placeholder {
            font-size: 1.1rem; } }
    .section-contact__content .form__privacy {
      color: var(--primary-color);
      font-size: 2.0rem;
      display: flex;
      justify-content: center;
      align-items: center;
      margin-top: 70px;
      letter-spacing: 0.1em;
      margin-left: 2em; }
      @media screen and (max-width: 768px) {
        .section-contact__content .form__privacy {
          font-size: 1.1rem;
          margin-top: 32px; } }
      .section-contact__content .form__privacy a {
        text-decoration: underline; }
      .section-contact__content .form__privacy .wpcf7-list-item {
        margin: 0; }
      .section-contact__content .form__privacy input[type="checkbox"] {
        display: none; }
    .section-contact__content .form__privacy-link {
      text-decoration: underline;
      margin-left: 4px; }
    .section-contact__content input[type="submit"] {
      background-color: var(--primary-color);
      border: none;
      border-radius: 100px;
      color: var(--white-color);
      width: 100%;
      max-width: 460px;
      margin: auto;
      margin-top: 70px;
      display: block;
      text-align: center;
      font-size: 2.0rem;
      padding: 24px 16px;
      transition: all 0.15s ease-in-out;
      letter-spacing: 0.1em; }
      @media screen and (max-width: 768px) {
        .section-contact__content input[type="submit"] {
          margin-top: 32px;
          font-size: 1.3rem;
          padding: 16px; } }
      .section-contact__content input[type="submit"]:hover {
        opacity: 0.8; }
    .section-contact__content .wpcf7-list-item {
      display: block;
      line-height: 1; }
    .section-contact__content .wpcf7-list-item + .wpcf7-list-item {
      margin-top: 8px; }
    .section-contact__content .wpcf7-list-item-label::before {
      content: "";
      display: block;
      width: 40px;
      height: 40px;
      background: var(--white-color);
      position: absolute;
      top: 50%;
      left: -275px;
      transform: translateY(-50%);
      border-radius: 10px;
      cursor: pointer; }
      @media screen and (max-width: 768px) {
        .section-contact__content .wpcf7-list-item-label::before {
          width: 30px;
          height: 30px;
          left: -160px; } }
    .section-contact__content input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
      content: "";
      background-image: url("../images/form_privacy-check.svg");
      background-size: contain;
      background-repeat: no-repeat;
      width: 20px;
      height: 20px;
      position: absolute;
      top: 50%;
      left: -264px;
      transform: translateY(-50%); }
      @media screen and (max-width: 768px) {
        .section-contact__content input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
          width: 16px;
          height: 16px;
          position: absolute;
          top: 50%;
          left: -153px;
          transform: translateY(-50%); } }

/* reCAPCHAバッジ非表示＆テキスト追加 */
.recapcha-note {
  color: #a4a4a4;
  font-size: 1.4rem;
  text-align: center; }

@media (max-width: 768px) {
  .recapcha-note {
    font-size: 1.2rem; } }
.recapcha-note a {
  text-decoration: underline; }

.grecaptcha-badge {
  visibility: hidden; }

/*----------------------------------------------------------*/
/* 下層ページ_共通 */
/*----------------------------------------------------------*/
.page {
  padding-top: 60px; }
  @media screen and (max-width: 768px) {
    .page {
      padding-top: 40px; } }
  .page .inner {
    min-height: calc(100vh - 505px);
    align-content: center; }
    @media screen and (max-width: 768px) {
      .page .inner {
        min-height: calc(100vh - 333px); } }
  .page__content {
    background-color: var(--back-color);
    padding: 80px 8%;
    border-radius: 80px; }
    @media screen and (max-width: 768px) {
      .page__content {
        padding: 32px 20px;
        border-radius: 40px; } }

/*----------------------------------------------------------*/
/* プライバシーポリシーページ */
/*----------------------------------------------------------*/
.page-privacy .page__content {
  display: grid;
  gap: 40px; }
  @media screen and (max-width: 768px) {
    .page-privacy .page__content {
      gap: 32px; } }
.page-privacy ul li {
  display: flex;
  align-items: baseline; }
  .page-privacy ul li::before {
    content: "●";
    font-size: 1.5rem;
    color: var(--primary-color);
    margin-right: 4px; }
    @media screen and (max-width: 768px) {
      .page-privacy ul li::before {
        font-size: 1.1rem;
        margin-right: 2px; } }

.page-privacy__item {
  display: grid;
  gap: 20px; }
  @media screen and (max-width: 768px) {
    .page-privacy__item {
      gap: 10px; } }
  .page-privacy__item .title {
    color: var(--primary-color); }
    @media screen and (max-width: 768px) {
      .page-privacy__item .title {
        font-size: 1.6rem; } }
  .page-privacy__item__info {
    background-color: var(--white-color);
    border-radius: 20px;
    padding: 40px 20px;
    display: grid;
    gap: 20px; }
    @media screen and (max-width: 768px) {
      .page-privacy__item__info {
        padding: 16px;
        gap: 10px; } }
    .page-privacy__item__info h5 {
      color: var(--primary-color);
      text-align: center; }
      @media screen and (max-width: 768px) {
        .page-privacy__item__info h5 {
          font-size: 1.2rem; } }
    .page-privacy__item__info .address {
      text-align: center; }
      @media screen and (max-width: 768px) {
        .page-privacy__item__info .address {
          font-size: 1.2rem; } }
    .page-privacy__item__info .tel {
      color: var(--secondary-color);
      letter-spacing: 0.05em; }
      .page-privacy__item__info .tel a {
        color: var(--primary-color);
        margin-left: 12px; }

/*----------------------------------------------------------*/
/* 送信完了ページ*/
/*----------------------------------------------------------*/
.section-thanks .page__content {
  padding-bottom: 48px; }
  @media screen and (max-width: 768px) {
    .section-thanks .page__content {
      padding-bottom: 32px; } }
.section-thanks .sec-title {
  position: relative;
  width: fit-content;
  margin: auto; }
  .section-thanks .sec-title h3 {
    font-size: 28px;
    text-align: center;
    color: var(--primary-color);
    letter-spacing: 0.1em; }
    @media screen and (max-width: 768px) {
      .section-thanks .sec-title h3 {
        font-size: 1.6rem; } }
    .section-thanks .sec-title h3::before, .section-thanks .sec-title h3::after {
      content: "";
      background-image: url(../images/p-thanks_title.svg);
      background-size: cover;
      background-repeat: no-repeat;
      display: block;
      width: 32px;
      height: 32px;
      position: absolute; }
      @media screen and (max-width: 768px) {
        .section-thanks .sec-title h3::before, .section-thanks .sec-title h3::after {
          width: 26px;
          height: 26px; } }
    .section-thanks .sec-title h3::before {
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      margin-left: -1.5em; }
      @media screen and (max-width: 768px) {
        .section-thanks .sec-title h3::before {
          margin-left: -2em; } }
    .section-thanks .sec-title h3::after {
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      margin-right: -1.5em; }
      @media screen and (max-width: 768px) {
        .section-thanks .sec-title h3::after {
          margin-right: -2em; } }
@media screen and (max-width: 768px) {
  .section-thanks__text {
    font-size: 1.2rem; } }
.section-thanks__top-link {
  margin-top: 100px;
  display: block; }
  @media screen and (max-width: 768px) {
    .section-thanks__top-link {
      margin-top: 52px; } }
  .section-thanks__top-link p {
    color: var(--primary-color);
    text-align: center;
    font-size: 1.2rem; }

/*----------------------------------------------------------*/
/* 404ページ*/
/*----------------------------------------------------------*/
.section-404 h2 {
  font-size: 6.0rem;
  width: 100%;
  text-align: center; }
  @media screen and (max-width: 768px) {
    .section-404 h2 {
      font-size: 4.8rem; } }
.section-404__text {
  text-align: center; }
.section-404 .top-link {
  border: solid 1px var(--primary-color);
  padding: 12px 16px;
  width: 100%;
  max-width: 320px;
  margin: auto;
  margin-top: 60px;
  text-align: center;
  border-radius: 100px; }
  @media screen and (max-width: 768px) {
    .section-404 .top-link {
      margin-top: 40px; } }

/*----------------------------------------------------------*/
/* thanksページ */
/*----------------------------------------------------------*/
.section-thanks__text {
  text-align: center; }
.section-thanks .top-link {
  border: solid 1px var(--primary-color);
  padding: 12px 16px;
  width: 100%;
  max-width: 320px;
  margin: auto;
  text-align: center;
  border-radius: 100px; }
