@charset "UTF-8";
/*============================================
responsive
============================================*/
/*============================================
layout
============================================*/
main {
  max-width: calc(100% - 40px);
  margin: 60px auto;
  border: 10px solid #A5D9DF;
  box-sizing: border-box; }
  @media screen and (max-width: 897px) {
    main {
      max-width: calc(100% - 20px);
      margin: 30px auto;
      border-width: 6px; } }

.inner {
  padding: 40px; }
  @media screen and (max-width: 897px) {
    .inner {
      padding: 20px 40px; } }

/*============================================
このページのみ：i-contact
============================================*/
.i-contact {
  --scale: 1; }
  @media screen and (max-width: 897px) {
    .i-contact {
      --scale: 1.52; } }
  .i-contact__headline {
    text-align: center;
    padding: 0 0 30px 0;
    margin: 0 0 30px 0;
    position: relative; }
    .i-contact__headline::after {
      position: absolute;
      content: "";
      width: 80px;
      height: 10px;
      border-radius: 100px;
      background: #eee;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%); }
    .i-contact__headline h2 {
      font-size: calc(clamp(22px, 2.2vw, 32px) * var(--scale));
      font-weight: 700; }
    .i-contact__headline p {
      font-size: calc(clamp(14px, 1.4vw, 18px) * var(--scale));
      font-weight: 700; }
    @media screen and (max-width: 897px) {
      .i-contact__headline {
        padding: 0 0 20px 0;
        margin: 0 0 20px 0; }
        .i-contact__headline::after {
          width: 60px;
          height: 8px; } }
  .i-contact__box__item:not(:last-of-type) {
    margin: 0 0 40px 0; }
    @media screen and (max-width: 897px) {
      .i-contact__box__item:not(:last-of-type) {
        margin: 0 0 28px 0; } }
  .i-contact__box__item h3 {
    font-size: calc(clamp(16px, 1.8vw, 18px) * var(--scale));
    font-weight: 700;
    margin: 0 0 20px 0;
    padding: 0 0 0 60px;
    position: relative; }
    .i-contact__box__item h3::before {
      position: absolute;
      content: "";
      width: 40px;
      height: 2px;
      background: #ccc;
      left: 0;
      top: 50%;
      transform: translateY(-50%); }
    @media screen and (max-width: 897px) {
      .i-contact__box__item h3 {
        padding: 0 0 0 50px;
        margin: 0 0 15px 0; }
        .i-contact__box__item h3::before {
          width: 32px; } }
  .i-contact__box__item .inbox {
    display: flex;
    flex-direction: column;
    gap: 20px; }
    @media screen and (max-width: 897px) {
      .i-contact__box__item .inbox {
        gap: 12px; } }
    .i-contact__box__item .inbox__item {
      display: flex;
      gap: 2px;
      background: #F6FCFC;
      padding: 2px;
      border-radius: 10px;
      box-sizing: border-box;
      border: 1px solid #f7f7f7; }
      @media screen and (max-width: 897px) {
        .i-contact__box__item .inbox__item {
          flex-direction: column;
          border-radius: 8px; } }
      .i-contact__box__item .inbox__item > div {
        flex: 1;
        background: #fff;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-width: 0;
        padding: 20px 10px;
        box-sizing: border-box; }
        @media screen and (max-width: 897px) {
          .i-contact__box__item .inbox__item > div {
            width: 100%;
            padding: 14px 10px; } }
      .i-contact__box__item .inbox__item .logo {
        padding: 20px 0; }
        @media screen and (max-width: 897px) {
          .i-contact__box__item .inbox__item .logo {
            padding: 14px 0; } }
      .i-contact__box__item .inbox__item .img {
        margin: 0 0 10px 0; }
        @media screen and (max-width: 897px) {
          .i-contact__box__item .inbox__item .img {
            margin: 0 0 8px 0; } }
      .i-contact__box__item .inbox__item .ttl {
        font-size: calc(clamp(14px, 1.6vw, 16px) * var(--scale));
        font-weight: 700;
        margin: 0 0 5px 0;
        background: #f7f7f7;
        display: block;
        width: 80%;
        padding: 5px 0;
        text-align: center; }
        @media screen and (max-width: 897px) {
          .i-contact__box__item .inbox__item .ttl {
            width: auto;
            padding: 3px 10px;
            border-radius: 999px; } }
      .i-contact__box__item .inbox__item .number {
        font-size: calc(clamp(18px, 2.4vw, 20px) * var(--scale));
        font-weight: 700; }
        .i-contact__box__item .inbox__item .number a {
          color: #222; }

/*============================================
i-contact-dt（横並び・背景なし・詰め + ボタン）
============================================*/
.i-contact-dt {
  --scale: 1; }
  @media screen and (max-width: 897px) {
    .i-contact-dt {
      --scale: 1.52; } }
  .i-contact-dt__headline {
    text-align: center;
    margin: 0 0 16px 0; }
    .i-contact-dt__headline h2 {
      font-size: calc(clamp(20px, 2vw, 28px) * var(--scale));
      font-weight: 700; }
  .i-contact-dt__box {
    display: flex;
    gap: 24px;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .i-contact-dt__box {
        flex-direction: column;
        gap: 14px; } }
  .i-contact-dt__item {
    box-sizing: border-box;
    border: 1px solid #E0ECEC;
    border-radius: 8px;
    padding: 12px 14px;
    background: #fff;
    width: calc((100% - 48px) / 3); }
    @media screen and (max-width: 1290px) {
      .i-contact-dt__item {
        width: calc((100% - 24px) / 2); } }
    @media screen and (max-width: 897px) {
      .i-contact-dt__item {
        width: 100%;
        padding: 10px 12px; } }
    .i-contact-dt__item > h3 {
      margin: 0 0 8px 0;
      font-size: calc(clamp(15px, 1.6vw, 17px) * var(--scale));
      font-weight: 700;
      text-align: center; }
    .i-contact-dt__item dl {
      margin: 0; }
      .i-contact-dt__item dl > div {
        display: flex;
        gap: 8px;
        align-items: flex-start;
        padding: 6px 0; }
        .i-contact-dt__item dl > div:not(:last-child) {
          border-bottom: 1px solid #EEF5F5; }
      .i-contact-dt__item dl dt {
        width: 5em;
        font-weight: 700;
        font-size: calc(clamp(13px, 1.4vw, 15px) * var(--scale));
        flex: 0 0 auto; }
      .i-contact-dt__item dl dd {
        margin: 0;
        flex: 1;
        min-width: 0;
        font-size: calc(clamp(13px, 1.4vw, 15px) * var(--scale));
        line-height: 1.5; }
  .i-contact-dt__btn {
    margin: 30px auto 0;
    text-align: center; }
    .i-contact-dt__btn a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 14px;
      padding: 18px 40px;
      border-radius: 999px;
      border: 2px solid #0F2A44;
      color: #0F2A44;
      font-weight: 700;
      font-size: calc(clamp(14px, 1.6vw, 16px) * var(--scale));
      text-decoration: none;
      transition: 0.3s ease;
      background: #fff; }
      .i-contact-dt__btn a::after {
        content: "→";
        font-size: 1.2em;
        transition: 0.3s ease; }
      .i-contact-dt__btn a:hover {
        background: #0F2A44;
        color: #fff; }
        .i-contact-dt__btn a:hover::after {
          transform: translateX(4px); }
    @media screen and (max-width: 897px) {
      .i-contact-dt__btn {
        margin: 24px auto 0; }
        .i-contact-dt__btn a {
          width: 100%;
          max-width: 320px;
          padding: 16px 0; } }
  .i-contact-dt__btn-front {
    margin: 30px auto 0;
    text-align: center; }
    .i-contact-dt__btn-front .otoiawasetel {
      padding: 10px 0 0 0;
      font-weight: 700;
      font-family: Arial, Helvetica, "sans-serif";
      font-size: 2.0rem;
      color: #2c6bb4; }
      .i-contact-dt__btn-front .otoiawasetel::before {
        content: "";
        display: inline-block;
        background-image: url("../images/tel_icon.png");
        background-size: contain;
        background-repeat: no-repeat;
        width: 1.2em;
        height: 1.2em;
        margin-right: 0.3em; }

.i-voice {
  --scale: 1; }
  @media screen and (max-width: 897px) {
    .i-voice {
      --scale: 1.42; } }
  .i-voice__headline {
    text-align: center;
    margin: 0 0 18px 0; }
    .i-voice__headline h2 {
      font-size: calc(clamp(20px, 2vw, 28px) * var(--scale));
      font-weight: 700; }
  .i-voice__box {
    display: flex;
    gap: 24px;
    flex-wrap: wrap; }
    @media screen and (max-width: 897px) {
      .i-voice__box {
        gap: 14px; } }
  .i-voice__item {
    width: calc((100% - 24px) / 2);
    border: 1px solid #E0ECEC;
    border-radius: 12px;
    padding: 14px 16px;
    box-sizing: border-box;
    background: #fff;
    position: relative; }
    @media screen and (max-width: 897px) {
      .i-voice__item {
        width: 100%;
        border-radius: 10px; } }
  .i-voice__title {
    margin: 0 0 8px 0;
    font-size: calc(clamp(16px, 1.8vw, 18px) * var(--scale));
    font-weight: 700;
    position: relative;
    padding-left: 12px; }
    .i-voice__title::before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.4em;
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #19B6ED; }
  .i-voice__text {
    margin: 0 0 10px 0;
    font-size: calc(clamp(13px, 1.4vw, 15px) * var(--scale));
    line-height: 1.7; }
  .i-voice__meta {
    display: inline-block;
    margin-top: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    background: #F0F8FF;
    color: #2B4A6F;
    font-size: calc(clamp(12px, 1.2vw, 13px) * var(--scale)); }
    .i-voice__meta .is-male {
      color: #1E88E5;
      font-weight: 700; }
    .i-voice__meta .is-female {
      color: #E91E63;
      font-weight: 700; }
