@charset "UTF-8";
/************************************************************
*************************************************************

ちばぎんpartner共通

*************************************************************
*************************************************************/ 
:root {
  --em: #e50012; /* 赤い強調 */
  --maincolor: #335EA8;
  --main-red: #D32C26;
}
.keep-all {
  word-break: keep-all;
}
.partner .column__outer {}
@media (max-width: 1020px) {
  .partner .column__outer {
    padding: 0 10px;
  }
}
.partner .column__inner {
  width: 100%;
  margin: 0 auto;
}
@media (min-width: 1251px) {
  .partner .column__inner {
    max-width: 1000px;
  }
}
@media (max-width: 1250px) {
  .partner .column__inner {
    width: 100%;
    max-width: 1000px;
  }
}
/************************************************************
*************************************************************

header

*************************************************************
*************************************************************/
.partner header {
  background: #fff;
  border-bottom: 1px solid #eee;
}
.partner header .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.2rem 0;
}
@media (max-width: 700px) {
  .partner header .inner {
    padding: 0.8rem 0;
  }
}
/* 
===============================
   ロゴ
=============================== 
*/
.partner .sitelogo img {
  /*width: 356px;*/
  height: 66px;
  width: auto;
}
@media (max-width: 830px) {
  .partner .sitelogo img {
    height: 50px;
  }
}
@media (max-width: 700px) {
  .partner .sitelogo img {
    height: 4.5rem;
  }
}
@media (max-width: 480px) {
  .partner .sitelogo img {
    height: 4.3rem;
  }
}
/* 
===============================
   グローバルナビ
=============================== 
*/
.partner .gnav__list {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  list-style: none;
}
@media (max-width: 700px) {
  .partner .gnav__list {
    position: fixed;
    top: 0;
    right: -100%;
    width: 70%;
    height: 100vh;
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    padding: 5rem 2rem;
    gap: 1.8rem;
    transition: right 0.3s ease;
    box-shadow: -2px 0 6px rgba(0, 0, 0, 0.2);
    z-index: 100;
  }
  .partner .gnav__list.open {
    right: 0;
  }
}
.partner .gnav__list li:nth-last-child(1) {
  margin-left: 1.5rem;
}
@media (max-width: 830px) {
  .partner .gnav__list li:nth-last-child(1) {
    margin-left: .5rem;
  }
}
@media (max-width: 700px) {
  .partner .gnav__list li:nth-last-child(1) {
    margin: 1rem 0 0 0;
    width: 100%;
  }
}
.partner .gnav__list li a.btn {
  background: #e50012;
  color: #fff;
  padding: 0 1rem;
  border-radius: 8px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.15);
  width: 110px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (max-width: 7000px) {
  .partner .gnav__list li a.btn {
    width: 100%;
  }
}
.partner .gnav__list li a.btn:hover {
  opacity: 0.85;
}
/* ------------------------------------
   gnav links（PC）
------------------------------------ */
.partner .gnav__list li a {
  color: #000;
  text-decoration: none;
  font-weight: bold;
  font-size: .95rem;
  padding-bottom: 0.5rem;
  position: relative;
  overflow: hidden;
  transition: color 0.3s;
}
/* 下線アニメーション */
.partner .gnav__list li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background: #e50012;
  transition: width 0.3s ease;
}
/* ホバー時 */
.partner .gnav__list li a:hover::after {
  width: 100%;
}
/* current */
.partner .gnav__list li a.current {
  color: #e50012;
}
.partner .gnav__list li a.current::after {
  width: 100%;
}
/* ------------------------------------
   Responsive：700px 以下
------------------------------------ */
@media (max-width: 700px) {
  .partner .gnav__list li a {
    font-size: 1.5rem;
    padding-bottom: 0;
  }
  .partner .gnav__list li a::after {
    display: none;
  }
  .partner .gnav__list li a.current {
    border-bottom: none;
  }
}
/* ------------------------------------
   Responsive：480px 以下
------------------------------------ */
@media (max-width: 480px) {
  .partner .gnav__list li a {
    font-size: 1.3rem;
  }
}
/* 
===============================
   ハンバーガーボタン
=============================== 
*/
.partner .menu-btn {
  display: none;
  width: 40px;
  height: 40px;
  background: var(--main-red);
  position: relative;
  cursor: pointer;
  z-index: 200;
  color: #fff;
  font-size: 0.55rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.partner .menu-btn span {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 20px;
  height: 2px;
  background: #fff;
  transition: 0.3s;
}
/* 白バー位置 */
.partner .menu-btn span:nth-child(1) {
  top: 10px;
}
.partner .menu-btn span:nth-child(2) {
  top: 16px;
}
.partner .menu-btn span:nth-child(3) {
  top: 22px;
}
/* 「MENU」テキスト */
.partner .menu-btn::after {
  content: "MENU";
  display: block;
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 0.55rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
/* active */
.partner .menu-btn.active span:nth-child(1) {
  transform: translateX(-50%) rotate(45deg);
  top: 16px;
}
.partner .menu-btn.active span:nth-child(2) {
  opacity: 0;
}
.partner .menu-btn.active span:nth-child(3) {
  transform: translateX(-50%) rotate(-45deg);
  top: 16px;
}
@media (max-width: 700px) {
  .partner .menu-btn {
    display: block;
  }
}
/* 
===============================
   ドロワーメニュー
===============================
*/
.partner .gnav__list {
  display: flex;
  align-items: center;
  gap: 1rem;
  list-style: none;
}
@media (max-width: 830px) {
  .partner .gnav__list {
    gap: .7rem;
  }
}
@media (max-width: 700px) {
  .partner .gnav__list {
    gap: 1rem;
    position: fixed;
    top: 0;
    right: -100%;
    width: 70%;
    height: 100vh;
    background: #fff;
    flex-direction: column;
    align-items: flex-start;
    padding: 5rem 2rem 5rem;
    gap: 1.8rem;
    transition: right 0.3s ease;
    box-shadow: -2px 0 6px rgba(0, 0, 0, 0.2);
    z-index: 200;
  }
  .partner .gnav__list.open {
    right: 0;
  }
}
/* 
===============================
   タイトルバー
=============================== 
*/
.partner .titlebar {
  background: #e50012;
  color: #fff;
  padding: 1.2rem 0;
}
@media (max-width: 700px) {
  .partner .titlebar {
    padding: 1.1rem 0;
  }
}
.partner .titlebar h2 {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin: 0;
  padding-left: 10px;
}
@media (min-width: 1251px) {
  .partner .titlebar h2 {
    font-size: 2rem;
  }
}
@media (max-width: 700px) {
  .partner .titlebar h2 {
    font-size: 1.5rem;
  }
}
/*
------------------------------------
 共通ボタンスタイル
------------------------------------
*/
.btn--external {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  background-color: #e50012;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  border-radius: 50px;
  padding: 0.9em 2.8em;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
@media (min-width: 701px) {
  .btn--external {
    width: 650px;
  }
}
@media (min-width: 501px) and (max-width: 700px) {
  .btn--external {
    width: 650px;
    max-width: 100%;
    font-size: 1.5rem;
    padding: 0.8em 2.8em;
  }
}
@media (max-width: 500px) {
  .btn--external {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .btn--external {
    font-size: .9rem;
  }
}
/* hover */
.btn--external:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.1);
}
/*------------------------------------
 externalボタン
------------------------------------*/
.btn--external::after {
  position: absolute;
  right: 1.25rem;
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2031.7%2031.7%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23fff%3B%20%7D%20.cls-2%20%7B%20fill%3A%20%23d61619%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%3E%20%3Cg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_1%22%3E%20%3Cg%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M26.8%2C25.2h-15.4c-2.7%2C0-4.9-2.2-4.9-4.9V4.9c0-2.7%2C2.2-4.9%2C4.9-4.9h15.4c2.7%2C0%2C4.9%2C2.2%2C4.9%2C4.9v15.4c0%2C2.7-2.2%2C4.9-4.9%2C4.9ZM11.4%2C2.6c-1.2%2C0-2.2%2C1-2.2%2C2.2v15.4c0%2C1.2%2C1%2C2.2%2C2.2%2C2.2h15.4c1.2%2C0%2C2.2-1%2C2.2-2.2V4.9c0-1.2-1-2.2-2.2-2.2h-15.4Z%22%2F%3E%20%3Cg%3E%20%3Crect%20class%3D%22cls-2%22%20x%3D%221.3%22%20y%3D%227.9%22%20width%3D%2222.5%22%20height%3D%2222.5%22%20rx%3D%226.8%22%20ry%3D%226.8%22%2F%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M20.3%2C31.7H4.9c-2.7%2C0-4.9-2.2-4.9-4.9v-15.4c0-2.7%2C2.2-4.9%2C4.9-4.9h15.4c2.7%2C0%2C4.9%2C2.2%2C4.9%2C4.9v15.4c0%2C2.7-2.2%2C4.9-4.9%2C4.9ZM4.9%2C9.2c-1.2%2C0-2.2%2C1-2.2%2C2.2v15.4c0%2C1.2%2C1%2C2.2%2C2.2%2C2.2h15.4c1.2%2C0%2C2.2-1%2C2.2-2.2v-15.4c0-1.2-1-2.2-2.2-2.2H4.9Z%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20class%3D%22cls-1%22%20d%3D%22M7.3%2C7.9h10.5c3.3%2C0%2C6%2C2.7%2C6%2C6v.8H1.3v-.8c0-3.3%2C2.7-6%2C6-6Z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E');
}
@media (max-width: 480px) {
  .btn--external::after {
    width: 16px;
    height: 16px;
  }
}
/*------------------------------------
  右矢印
------------------------------------*/
.btn--arrow_r {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
  background-color: #e50012;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  text-decoration: none;
  border-radius: 50px;
  padding: 0.7em 2.8em;
  box-shadow: 0 5px 0 rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
@media (min-width: 701px) {
  .btn--arrow_r {
    width: 650px;
  }
}
@media (min-width: 501px) and (max-width: 700px) {
  .btn--arrow_r {
    width: 650px;
    max-width: 100%;
    font-size: 1.5rem;
    padding: 0.7em 2.8em;
  }
}
@media (max-width: 500px) {
  .btn--arrow_r {
    width: 100%;
  }
}
@media (max-width: 480px) {
  .btn--arrow_r {
    font-size: .9rem;
  }
}
/* ▼右矢印アイコン */
.btn--arrow_r::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: rotate(-45deg);
  position: absolute;
  right: 1.4rem;
  transition: transform 0.2s ease;
}
/* hover */
.btn--arrow_r:hover {
  background: #b80000;
  transform: translateY(1px);
}
.btn--arrow_r:hover::after {
  transform: translate(3px, 0) rotate(-45deg);
}
@media (max-width: 700px) {
  .btn--arrow_r::after {
    width: 8px;
    height: 8px;
    border-right-width: 2.5px;
    border-bottom-width: 2.5px;
    right: 1rem;
  }
}
@media (max-width: 480px) {
  .btn--arrow_r::after {
    width: 8px;
    height: 8px;
    border-right-width: 2.5px;
    border-bottom-width: 2.5px;
    right: 1rem;
  }
}
/************************************************************
*************************************************************

otoku-partner

*************************************************************
*************************************************************/
/*
------------------------------------
 全体構成
------------------------------------
*/
#otoku-partner {
  position: relative;
  margin-top: 11rem;
}
/*
------------------------------------
 背景エリア
------------------------------------
*/
.partner-area {
  background-color: #275dae;
  text-align: center;
  padding: 3rem 1rem 4rem;
  border-radius: 0;
}
/*------------------------------------
 見出し
------------------------------------*/
.partner-area__title {
  color: #fff;
  font-weight: 700;
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  margin-bottom: 1rem;
  letter-spacing: 0.03em;
}
/*
------------------------------------
 ボタン
------------------------------------
*/
.partner-area__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  background: #fff;
  color: #000;
  font-weight: 700;
  font-size: 1.05rem;
  border-radius: 40px;
  padding: 0.7em 2.5em;
  box-shadow: 0 6px 0 rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transition: all 0.25s ease;
  position: relative;
}
@media (min-width: 701px) {
  .partner-area__btn {
    width: 330px;
  }
}
@media (max-width: 700px) {
  .partner-area__btn {
    width: 300px;
  }
}
@media (max-width: 600px) {
  .partner-area__btn {
    width: 28rem;
  }
}
@media (max-width: 480px) {
  .partner-area__btn {
    width: 100%;
  }
}
@media (max-width: 350px) {
  .partner-area__btn {
    width: 100%;
  }
}
.partner-area__btn:hover {
  transform: translateY(2px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.15);
}
/* 矢印アイコン（黒） */
.partner-area__btn::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  transform: rotate(-45deg);
  transition: transform 0.2s ease;
  position: absolute;
  right: 1rem;
}
.partner-area__btn:hover::after {
  transform: rotate(-45deg) translateX(3px);
}
/*
------------------------------------
 吹き出し
------------------------------------
*/
.bubble {
  position: absolute;
  top: -5rem;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  border: 3px solid #e50012;
  border-radius: 50px;
  padding: 0.2rem 1.6rem;
  display: inline-block;
  margin-bottom: 1.2rem;
  width: 80%;
  box-sizing: border-box;
}
@media (min-width: 701px) {
  .bubble {
    width: 320px;
  }
}
@media (max-width: 700px) {
  .bubble {
    width: 300px;
    border: 2px solid #e50012;
    padding: 0.1rem 1.6rem;
  }
}
@media (max-width: 600px) {
  .bubble {
    width: 28rem;
  }
}
@media (max-width: 480px) {
  .bubble {
    width: calc(100% - 40px);
  }
}
@media (max-width: 350px) {
  .bubble {
    width: 80%;
  }
}
.bubble::after {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  background: #fff;
  border-right: 3px solid #e50012;
  border-bottom: 3px solid #e50012;
}
@media (max-width: 700px) {
  .bubble::after {
    border-right: 2px solid #e50012;
    border-bottom: 2px solid #e50012;
  }
}
.bubble img {
  display: block;
  margin: 0 auto;
}
@media (min-width: 1001px) {
  .bubble img {
    width: auto;
    max-width: none;
    height: 2.2rem;
  }
}
@media (max-width: 1000px) {
  .bubble img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 480px) {
  .bubble img {
    width: 80%;
    height: auto;
  }
}