@charset "UTF-8";
/*-----------------------------------------------------
  TOP MORE 同様ボタン　
----------------------------------------------------- */
.c-button { display: block; text-align: center; align-items: center; padding: 15px 0; border: 2px solid #013396; border-radius: 9999px; background-color: #fff; color: #013396; font-size: clamp(13px, 3vw, 18px); font-weight: 700; letter-spacing: 0.15em; text-decoration: none; transition: all 0.3s ease; max-width: 300px; width: 100%; margin: 0 auto; position: relative; display: flex; align-items: center; justify-content: center; line-height: 1.1; }
.c-button svg { width: 9px; height: auto; transition: all 0.3s ease; position: absolute; right: 5%; bottom: 19px; }
.c-button span { vertical-align: 3px; }

/*-----------------------------------------------------
 アウトラインボタン 
----------------------------------------------------- */
.btn-outline { display: inline-grid; grid-auto-flow: column; align-items: center; justify-content: center; gap: 10px; width: min(320px,100%); height: 54px; border: 1px solid var(--blue-color); color: #323232; text-decoration: none; transition: .25s; box-sizing: border-box; font-size: clamp(13px, 3vw, 16px);  }
.btn-outline svg { width: 18px; height: 18px; }
.btn-outline:hover { background: var(--blue-color); color: #fff; }

/*-----------------------------------------------------
  共通：問い合わせCTA
----------------------------------------------------- */
.contact-cta { background:#f6f9ff; border-radius:16px; padding: clamp(25px,3vw,40px); margin-bottom: 100px; }
.contact-cta__inner { background:#fff; border-radius:3px; box-shadow:0 2px 0 rgba(0,0,0,.02); overflow:hidden; }
.contact-cta__title { margin-bottom: clamp(5px,2.6vw,10px); text-align:center; color: var(--blue-color); font-weight:600; font-size: clamp(16px,2.6vw,24px); letter-spacing:.06em; }
.contact-cta__bar { background: var(--blue-color); color:#fff; text-align:center; font-size: clamp(15px,2vw,18px); padding: clamp(10px,1.8vw,14px) clamp(12px,2vw,18px); line-height: 1.4; }
.contact-cta__body { padding: 3% 5%; display:grid; gap: clamp(10px,2.4vw,18px); }
.contact-cta__row { display:flex; align-items:center; flex-wrap: wrap; gap: clamp(10px,2.4vw,18px); justify-content: center; }
.contact-cta__row .box { display: flex; align-items: center; }
/*.contact-cta__row .box:not(:last-child) { margin-right: 30px; }*/
.contact-cta__row .box p.txt { font-size: clamp(15px, 3vw, 20px); margin-bottom: 0; }
.contact-cta__label { border:2px solid var(--blue-color); color:var(--blue-color); padding: .5em .5em .6em; letter-spacing:.08em; font-size: clamp(13px,2vw,18px); margin-right: 10px; }
.contact-cta__number { font-weight:600; letter-spacing:.06em; color:#222; font-size: clamp(20px,5vw,40px); line-height:1.1; white-space: nowrap; }
.contact-cta__number--sp { display:none; text-decoration:none; color:#222; }
.contact-cta__badge { background: var(--blue-color); color:#fff; padding:.5em .5em .6em; font-size: clamp(13px,2vw,18px); margin-right: 10px; border: 2px solid var(--blue-color); }
.contact-cta__hours { color:#222; font-size: clamp(15px,2.2vw,22px); }

/* 行2：ボタンとメール */
.contact-cta__btn { display:inline-grid; place-items:center; padding:.5em .5em .6em; text-decoration:none; transition:.2s ease; line-height:1; font-size: clamp(13px,2vw,18px); }
.contact-cta__btn--ghost { border:2px solid var(--blue-color); color:var(--blue-color); background:#fff; margin-right: 10px; }

.btn_wrap { margin: 30px auto 0; gap: 20px; display: flex; justify-content: center }
.contact-cta__mail { justify-self:start; align-self:center; color:#222; text-decoration:none; font-size: clamp(14px,2vw,20px); }
.c-button-more { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 40px; border: 2px solid var(--blue-color); border-radius: 9999px; color: var(--blue-color)!important; text-decoration: none; transition: all .3s ease; position: relative; font-size: clamp(14px, 3vw, 16px); background: #fff; }
.c-button-more.bg_blue { background: var(--blue-color)!important; color: #fff!important; }
.c-button-more svg { width: 9px; height: auto; transition: all 0.3s ease; position: absolute; right: 6%; bottom: 15px; }
.contact-cta .txt { text-align: center; font-size: clamp(13px,2vw,16px); font-weight: 500; margin-bottom: 15px; }

/*-----------------------------------------------------
  企業情報：外部リンク
----------------------------------------------------- */
.group__link__block .ext-btn { display: inline-flex; align-items: center; gap: 12px; padding: 18px 28px; border: 2px solid var(--blue-color); border-radius: 9999px; color: var(--blue-color); background: #fff; text-decoration: none; font-weight: 700; transition: background .25s ease, color .25s ease, border-color .25s ease; }
.group__link__block .ext-btn .ext-icon { width: 28px!important; height: 28px!important; flex: 0 0 auto; transition: color .25s ease; }
.group__link__block .ext-btn:hover { background: var(--blue-color); color: #fff; border-color: var(--blue-color); }
.group__link__block .c-button svg { width: 20px!important; bottom: 13px!important; }

@media (max-width: 600px) {
  .group__link__block .ext-btn { padding: 14px 22px; gap: 10px; }
  .group__link__block .ext-btn .ext-icon { width: 24px; height: 24px; }
}

/*-----------------------------------------------------
  企業情報下部：ページ内リンク
----------------------------------------------------- */
.bottom__nav { display: flex; justify-content: center; gap: min(110px, 5vw); width: 100%; margin-top: min(40px, 15vw); }
.bottom__nav > .c-button { margin: initial; }

.bottom__nav .btn svg { position: absolute; top: 50%; transform: translateY(-50%); width: 1em; }
.bottom__nav .btn.left svg { left: min(1em, 1.75vw); }
.bottom__nav .btn.right svg { right: min(1em, 1.75vw); }
@media (hover){
    .bottom__nav .btn:hover { background: var(--blue-color); color: #fff; }
    .bottom__nav .btn:hover svg stroke { color: #fff; background: #fff; }
}
@media (hover:not){
    .bottom__nav .btn:active { background: var(--blue-color); color: #fff; 
    }
    .bottom__nav .btn:active svg stroke { color: #fff;background: #fff; }
}

@media (hover:hover) and (pointer:fine) {
  .c-button:hover { background-color: #013396; color: #fff; }
  .c-button:hover svg { color: #fff; }
  .contact-cta__btn--ghost:hover { background: var(--blue-color); color:#fff; }
  .contact-cta__mail:hover { text-decoration:underline; }
  .c-button-more:hover { background-color: #323232!important; color: #fff!important; border: 2px solid #323232;}
  .c-button-more.bg_blue:hover { background: #fff!important; color: var(--blue-color)!important; border: 2px solid var(--blue-color); }
}

@media only screen and (max-width: 980px){
  .contact-cta__mail { grid-column:1 / -1; }
/*  .contact-cta__body { padding: 6% 5%; }*/
  .c-button-more svg { right: 7%; bottom: 14px; }
  .contact-cta { margin-bottom: 80px; }
}

@media only screen and (max-width: 600px){
  .c-button svg { bottom: 16px; }
  .contact-cta__body { padding: 1% 0 0 0; }
/*  .contact-cta__row { gap:5px; }*/
/*  .contact-cta__row--tel { gap: 5px; align-items: center; }*/
  .contact-cta__number--pc { display:none; }
  .contact-cta__number--sp { display:inline; }
  .btn_wrap { margin-top: 20px; flex-direction: column; gap: 10px; }
  .contact-cta { text-align: center; }
  .contact-cta__bar { color: #323232; padding:initial; background: none; }
  .contact-cta__title { display: inline-block; border-bottom: 2px solid var(--blue-color); }
  .contact-cta__inner { background: none; border-radius: 0; box-shadow: none; }
  .bottom__nav { gap: min(10px, 5vw); }
  .btn-outline { width: 100%; margin: 0 auto; }
  .btn-outline svg { width: 13px; height: 13px; }
}