/* base */
header {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

/*
ly_header
*/
.ly_header {
  /* border-bottom: 3px solid #CCCCCC; */
}

/* ************************************
  レイアウト : ヘッダー上半分の、多重フレックスボックス
  - ly_hdFlexBox              : (ロゴ & (バナー群 & (サブメニュ & 文字サイズ) ) )
    - ly_hdSubFlexBox         : (バナー群 & (サブメニュ & 文字サイズ) )
      - ly_hdBreakableFlexBox : (サブメニュー & 文字サイズ)
      - ly_hdBreakableFlexBox_subFlexBox:
************************************ */
.ly_hdFlexBox {
  /* position: relative; */
}

.ly_hdFlexBox,
.ly_hdBreakableFlexBox {
  display: flex;
  flex-direction: row;
}
/* 大枠 (ロゴ & (バナー群 & (サブメニュ & 文字サイズ) ) ) */
.ly_hdFlexBox {
  justify-content: space-between;
  gap: 16px;
  /* margin-top: 30px; */
  margin-bottom: 36px;
  padding-top: 30px;
  padding-right: 10px;
  padding-left: 10px;
}
/* 中枠 (バナー群 & (サブメニュ & 文字サイズ) ) */
.ly_hdSubFlexBox{
  gap: 16px;
}
/* 小枠 (サブメニュー & 文字サイズ) */
.ly_hdBreakableFlexBox {
  gap: 16px;
  justify-content: flex-end;
  flex-shrink: 0;
  /* height: fit-content; */
  align-items: center;
  height: 70px;
}

@media screen and (max-width: 1400px) {
  .ly_hdBreakableFlexBox {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    height: fit-content;
    font-size: 16px;
  }
}

/* ヘッダ > 改行可能フレックスボックス > サブフレックスボックス(インスタグラム・アイコン & 文字サイズ変更) */
.ly_hdBreakableFlexBox_subFlexBox {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  height: fit-content;
}

@media screen and (max-width: 960px) {
  .ly_bannerLinkUnit,
  .ly_hdBreakableFlexBox_subFlexBox,
  .ly_hdBreakableFlexBox {
    display: none;
  }
}

/* ************************************
  ブロック : インスタグラム・アイコン
  - bl_iconOfSns
************************************ */
.bl_iconOfSnsAnchor {
  display: block;
  height: 30px;
  width: 30px;
}
.bl_iconOfSnsAnchor_img {
  width: 100%;
  height: auto;
}

/* ************************************
  ブロック : 南部信用組合のロゴ
  - bl_nanbuLogo
    - bl_nanbuLogo__inHeader
    - bl_nanbuLogo__inFooter
    - bl_nanbuLogo_anchor
    - bl_nanbuLogo_img
************************************ */
.bl_nanbuLogo {
  flex-shrink: 1;
}

.bl_nanbuLogo_anchor {
  display: block;
  max-width: 450px;
  width: 100%;
  height: fit-content;
}

.bl_nanbuLogo_img {
  max-width: 100%;
  vertical-align: bottom;
  vertical-align: top;
  /* object-fit: cover; */
}

@media screen and (max-width: 960px) {
  /* ハンバーガーアイコンの余白を残すサイズに制限 */
  .bl_nanbuLogo {
    /* max-width: calc(100% - 50px); */
    /* max-width: 85%; */
    max-width: 324px;
    max-height: 45px;
    flex-shrink: 0;
  }
  .bl_nanbuLogo_anchor {
    max-width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .bl_nanbuLogo {
    max-width: 266px;
    max-height: 44px;
  }
}

/* ************************************
  ブロック : バナーリンクのユニット
  - bl_bannerLinkUnit
************************************ */
.bl_bannerLinkUnit {
  flex-grow: 1;/* 兄弟フレックスアイテム間で、余剰幅を自らの幅とする時の、もらう幅の割合。 */
  flex-shrink: 2;/* 兄弟フレックスアイテム間で不足する幅を自ら縮小して負担しあうときの負担割合 */
  display: flex;
  flex-direction: row;
  justify-content: right;
  gap: 1%;
}
@media screen and (max-width: 960px) {
  .bl_bannerLinkUnit {
    display: none;
  }
}

/* ************************************
  ブロック : バナーリンク
  - bl_bannerLink
    - bl_bannerLink_img
************************************ */
.bl_bannerLink {
  max-width: 210px;
  height: fit-content;
}
.bl_bannerLink_img {
  max-width: 100%;
  vertical-align: bottom;
}

/* ************************************
  ブロック : ヘッダのリンクリスト(名前が悪いかも)
  - bl_headerLinkList           :
    - bl_headerLinkList_item
    - bl_headerLinkList_anchor
      - bl_headerLinkList_anchor__usefulLinks : アイコン画像用
      - bl_headerLinkList_anchor__opinions    : アイコン画像用
      - bl_headerLinkList_anchor__sitemap     : アイコン画像用
************************************ */
.bl_headerLinkList {
  display: flex;
  flex-direction: row;
  /* height: fit-content; */
  align-items: center;
  height: 32px;
  gap: 12px;
  list-style: none;
}

.bl_headerLinkList_item {
  white-space: nowrap;
}

.bl_headerLinkList_anchor {
  color: #04a458;
  font-size: 14px;
  text-decoration: none;
  /* font-weight: bold; */
  /* text-decoration: none; */
}

/* ************************************
  ブロック : 文字サイズ変更ウィジェット
  - bl_fontSizeChanger
    - bl_fontSizeChanger_ttl
    - bl_fontSizeChanger_buttonUnit
    - bl_fontSizeChanger_btn
  - js_fontSizeChanger
    - js_fontSizeChanger_btn
  #js_fontSizeChanger / .js_fontSizeChanger
************************************ */
.bl_fontSizeChanger {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  height: 32px;
}
.bl_fontSizeChanger_ttl {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  font-size: 14px;
  /* font-weight: bold; */
  height: 100%;
  white-space: nowrap;
}
.bl_fontSizeChanger_buttonUnit {
  display: flex;
  flex-direction: row;
  gap: 8px;
  height: 100%;
}
.bl_fontSizeChanger_btn {
  box-sizing: border-box;
  flex-shrink: 0;
  font-size: 18px;
  width: 50px;
  height: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-content: center;
  cursor: pointer;
  border: 2px solid #04A458;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  -ms-border-radius: 4px;
  -o-border-radius: 4px;
}
.bl_fontSizeChanger_btn.is_active {
  color: #fff;
  background-color: #04A458;
}


/*
ハンバーガーメニュー用の修正
*/
/* ************************************
  ハンバーガーメニュー。pure-drawer.css で操作するが、display 等をここで管理。
  - bl_hambrugerMenu
************************************ */
.pure-container {
  display: none;
}
@media screen and (max-width: 960px) {
  .pure-container {
    display: block;
    position: relative;
    /* position: absolute; */
    /* top: 0;
    right: 0; */
    /* height: 100% ; */
    -webkit-overflow-scrolling: touch;
  }
}

/* ************************************
  pure-drawer.css の上書き
************************************ */
/* メニューの横幅と背景色 */
.pure-drawer {
  background-color: #fff;
  width: 320px;
}
/*
  オーバーレイ
  - アニメーションの早さ
*/
[data-effect='pure-effect-slide'] .pure-overlay {
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  /* transition-duration: 0ms !important; */
  -webkit-transition-delay: 0ms;
  transition-delay: 0ms;
}
/* オーバーレイの登場時の座標 */
.pure-toggle[data-toggle='right']:checked~.pure-overlay[data-overlay='right'] {
  right: 320px;
}

/* メニュー部分のアニメーションの早さ */
[data-effect='pure-effect-slide'] .pure-drawer {
  -webkit-transition-duration: 200ms;
  transition-duration: 200ms;
  /* transition-duration: 0ms !important; */
}

/* メニュー部分のスクロールを可能にする。 */
[data-effect="pure-effect-slide"] .pure-toggle[data-toggle="right"]:checked ~ .pure-drawer[data-position="right"] {
  overflow-y: auto;
}

/*
  ハンバーガーアイコン全体、閉じた時。座標はこれで変更
  - position: relative は上端固定にしないために必要。
*/
.pure-toggle-label[data-toggle-label="right"] {
  position: relative;
  color: #04A458;
  width: 36px;
  top: -10px;
  right: 10px;
  transition-duration: 0s;
}
/* ハンバーガーアイコン全体、開いた時。 */
.pure-toggle:checked ~ .pure-toggle-label {
  right: 20px;
}

@media screen and (max-width: 530px) {
  /* 小画面時、やや下に下がりすぎるので、5px 上方に。 */
  .pure-toggle-label[data-toggle-label="right"] {
  }
  .pure-toggle:checked ~ .pure-toggle-label {
  }
}

@media screen and (max-width: 360px) {
  /* 最小画面時、アイコン位置をさらに調整 */
  .pure-toggle-label[data-toggle-label="right"] {
    right: 0px;
  }
  .pure-toggle:checked ~ .pure-toggle-label {
    right: 10px;
  }
}


/* menu の文字列、閉じた時 */
.el_pureToggleIconTxt {
  font-size: 12px;
  display: inline;
  color: #04A458;
  position: absolute;
  transform: translate(0%, 70%);
  -webkit-transform: translate(0%, 70%);
  -moz-transform: translate(0%, 70%);
  -ms-transform: translate(0%, 70%);
  -o-transform: translate(0%, 70%);
}
/* menu の文字、開いた時、透明 */
.pure-toggle:checked ~ .pure-toggle-label > .el_pureToggleIconTxt {
  opacity: 0;
}

/* ハンバーガーアイコンの三本線、閉じた時 */
.pure-toggle-label .pure-toggle-icon:after {
  color: #04A458;
  font-size: 36px;
  display: block;
  height: 120%;
  content: "\f0c9";
  font-family: FontAwesome;
  transform: translate(0%);
  -webkit-transform: translate(0%);
  -moz-transform: translate(0%);
  -ms-transform: translate(0%);
  -o-transform: translate(0%);
}
/* ハンバーガーアイコンの三本線、開いた時 */
.pure-toggle:checked ~ .pure-toggle-label > .pure-toggle-icon:after {
  content: "\f00d";
}


/* ************************************
  ハンバーガーメニュー内の表示物
  - bl_hmbrgrMenu_heading
  - bl_hmbrgrMenu_bannerUnit
  - bl_hmbrgrMenu_banner
  -bl_hmbrgrMenu_list
    - bl_hmbrgrMenu_list__wide
  - bl_hmbrgrMenu_instagramAnchor
  - bl_hmbrgrMenu_soleLink
  - bl_hmbrgrMenu_contactUnit
  - bl_contactCard__inSubMenu (bl_contactCard の mod)
************************************ */

/* 見出し */
.bl_hmbrgrMenu_heading {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  color: #04a458;
  margin-top: 45px;
  font-size: 30px;
}

/* ハンバーガーメニューのバナー表示域全体 */
.bl_hmbrgrMenu_bannerUnit {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 25px;
}

/* ハンバーガーメニュー内のバナー１枚 */
.bl_hmbrgrMenu_banner {
  display: block;
}
.bl_bannerLink_img {
  width: 100%;
  height: auto;
}

/* メニュー */
.ly_hmbrgrMenu_list_wrap {
}
.ly_hmbrgrMenu_list {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
/* bl_hmbrgrMenu_list */
.bl_hmbrgrMenu_list {
  list-style: none;
}
/* li */
.ly_hmbrgrMenu_list li {
  box-sizing: border-box;
  width: calc(calc(100% - 10px) /2);
}
.ly_hmbrgrMenu_list li.bl_hmbrgrMenu_list__wide {
  width: 100%;
}

/* a , button */
.bl_hmbrgrMenu_list_anchor,
.js_jumpToCrrentPageId {
  box-sizing: border-box;
  text-decoration: none;
  border: solid 2px black;
  display: block;
  height: 100%;
  width: 100%;
  padding: 10px 0;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  cursor: pointer;
}
/* home ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__home {
  /* border-color: #04a458;
  color: #04a458; */
  border-color: #333;
  color: #333;
}
/* 個人客 ボタン */
.js_jumpToCrrentPageId.js_jumpToCrrentPageId__personal,
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__personal {
  border-color: #195178;
  color: #195178;
}
/* 法人客 ボタン */
.js_jumpToCrrentPageId.js_jumpToCrrentPageId__corp,
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__corp {
  border-color: #4b0082;
  color: #4b0082;
}
/* サービス・商品 ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__service {
  border-color: #37A6D3;
  color: #37A6D3;
}
/* 当組合 ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__about {
  border-color: #008000;
  color: #008000;
}
/* ディスクロージャー ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__disclosure {
  border-color: #FFA500;
  color: #FFA500;
}
/* 質問・意見 ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__mailform {
  border-color: #4b0082;
  color: #4b0082;
}
/* 店舗・atm ボタン */
.bl_hmbrgrMenu_list_anchor.bl_hmbrgrMenu_list_anchor__atm {
  border-color: #E15A78;
  color: #E15A78;
}
/* 店舗・atm ボタンの fontawesome サイズ調整 */
.bl_hmbrgrMenu_list_anchor_fa__atm {
  font-size: 19px;
}
.bl_hmbrgrMenu_list_anchor span::before,
.js_jumpToCrrentPageId span::before {
  vertical-align: inherit;
}



/*
  インスタグラムへのリンク(ハンバーガーメニュー内)
*/
.bl_hmbrgrMenu_instagramAnchor {
  display: inline-flex;
  text-transform: capitalize;
  text-decoration: none;
  gap: 10px;
}
/* インスタグラム、ラッパー、X軸方向の配置は、この justify-content で決まる */
.bl_hmbrgrMenu_instagramAnchor_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90%;
  margin: 20px auto;
}
/* インスタグラムのリンク、アイコン */
.bl_hmbrgrMenu_instagramAnchor img {

}
/* インスタグラムのリンク、文字列 */
.bl_hmbrgrMenu_instagramAnchor span {
  text-transform: capitalize;
  color: #505050;
  display: inline-flex;
  align-items: center;
}

/* リンク群 */
.ly_hmbrgrMenu_soleLinkUnit {
  margin-top: 20px;
  margin-bottom: 25px;
  background-color: #f6f6f6;
}

/* リンク自体 */
.bl_hmbrgrMenu_soleLink {
  text-decoration: none;
  display: block;
  padding: 20px 0;
  text-align: center;
  color: #505050;
  border-bottom: 1px solid #c2c2c2;
}
.bl_hmbrgrMenu_soleLink:last-child {
  border-bottom: none;
}

/* ハンバーガーメニュー内のコンタクト一覧 */
.bl_hmbrgrMenu_contactUnit {
  width: 90%;
  margin-right: auto;
  margin-left: auto;
  margin-top: 25px;
  margin-bottom: 25px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  list-style: none;
}

/* 上記のコンタクト一件。後から上書きがあるので詳細度 020 にしている。 */
.bl_contactCard.bl_contactCard__inSubMenu {
  padding: 10px 0;
}

/*
  しんくみATMセンター in ハンバーガーメニュ
*/
/* 上記が営業時間外の際は～ */
.el_cautionaryHeadline.el_cautionaryHeadline__isSubMenu {
  font-size: 75%;
  width: 90%;
  margin: 20px auto 20px auto;
}
.bl_altContact_name.bl_altContact_name__isSubMenu {
  font-size: 150%;
  display: block;
}
.bl_altContact_phoneNumber.bl_altContact_phoneNumber__isSubMenu {
  display: block;
}
/* 平日営業時間内は各店舗まで～ */
.el_small_txt.el_small_txt__isSubMenu {
  font-size: 75%;
  padding: 9px 0;
  margin-bottom: 15px;
  margin-top: 5px;
}

/*
コンタクト
*/
/* ************************************
  - bl_contactCard
    - bl_contactCard_ttl
    - bl_contactCard_phoneNumber
    - bl_contactCard_flexBox
    - bl_contactCard_businessDays
    - bl_contactCard_businessHours
************************************ */
.bl_contactCard {
  border: 1px solid #7e7e7f;
  padding: 20px 30px 16px 30px;
}
.bl_contactCard_ttl {
  display: block;
  font-size: 162.5%;/* 26px */
  line-height: 1.2;
  /* font-weight: bold; */
  margin-bottom: 8px;
}
.bl_contactCard_phoneNumber {
  display: block;
  font-size: 200%;
  font-weight: bold;
  line-height: 1.3;
  color: #f08200 !important;
  margin-bottom: 8px;
  white-space: nowrap;
  pointer-events: none;
}

.bl_contactCard_flexBox {
  display: flex;
  line-height: 1.3;
  gap: 10px;
  font-size: 112.5%;
}
.bl_contactCard_businessDays {
  display: flex;
  justify-content: space-between;
  margin-right: 150%;
}
.bl_contactCard_businessDays span:nth-child(1){
}
.bl_contactCard_businessHours {
  display: block;
}


@media screen and (max-width: 960px) {
  .bl_contactCard {
    text-align: center;
  }
  .bl_contactCard_ttl {
    font-size: 150%;/* 24px */
  }
  .bl_contactCard_phoneNumber {
    pointer-events: auto !important;
    font-size: 187.5%;/* 30px(16pxに対し)*/
  }
  .bl_contactCard_flexBox {
    display: inline-flex;
  }
}


/* ************************************
  - bl_altContact
    - bl_altContact_name
    - bl_altContact_phoneNumber
************************************ */
.bl_altContact {
  text-align: center;
}
.bl_altContact_name {
  font-size: 187.5%;/* font-size 30px (16pxに対して) */
}
.bl_altContact_phoneNumber {
  font-size: 225%;
  font-weight: bold;
  /* text-decoration: none; */
  color: #f08200 !important;
  pointer-events: none;
}

@media screen and (max-width: 960px) {
  .bl_altContact_name,
  .bl_altContact_phoneNumber {
    display: block;
  }
  .bl_altContact_name {
    font-size: 162.5%;
  }
  .bl_altContact_phoneNumber {
    font-size: 187.5%;
  }
  .bl_altContact_phoneNumber {
    pointer-events: auto !important;
  }
}

/* ************************************
  エレメント : 注意をひく見出し
- el_cautionaryHeadline
************************************ */
.el_cautionaryHeadline {
  font-size: 150%;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  color: #fff;
  background-color: #f08200;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
  -ms-border-radius: 25px;
  -o-border-radius: 25px;
}

@media screen and (max-width: 960px) {
  .el_cautionaryHeadline {
    font-size: 100%;
  }
}
@media screen and (max-width: 530px) {
  .el_cautionaryHeadline {
    /* font-size: 75%; */
    font-size: 87.5%;
  }
}
@media screen and (max-width: 360px) {
  .el_cautionaryHeadline {
    /* font-size: 70%; */
    font-size: 75%;
  }
}

/* ************************************
  - el_small_txt
    - el_small_txt__center
************************************ */
.el_small_txt {
  font-size: 100%;
}
.el_small_txt__center {
  text-align: center;
}


/*
旧ページのグローバルナヴィの移植
*/
.ly_oldGlobalNav {
  border-bottom: 3px solid #CCCCCC;
}
@media screen and (max-width: 960px) {
  .ly_oldGlobalNav {
    display: none;
  }
}

.bl_oldGlobalNav {
  width: 1000px;
  margin: 20px auto 3px;
  overflow: hidden;
}
@media screen and (max-width: 1000px) {
  .bl_oldGlobalNav {
    width: 96%;
    margin: 40px 2% 3px;
  }
}

.bl_oldGlobalNav_item {
  box-sizing: border-box;
  float: left;
  width: calc(100% / 5);
  text-align: center;
  list-style: none;
  border-left: 1px dashed #cccccc;
}
.bl_oldGlobalNav_item:last-child {
  border-right: 1px dashed #cccccc;
}

.bl_oldGlobalNav_item > a {
  display: block;
  padding-top: 5px;
  padding-bottom: 5px;
  text-decoration: none;
}
.bl_oldGlobalNav_item > a:hover {
  color: white;
}

.bl_oldGlobalNav_item__personal > a {
  color: #195178;
}
.bl_oldGlobalNav_item__corp > a {
  color: #4b0082;
}
.bl_oldGlobalNav_item__service > a {
  color: #37A6D3;
}
.bl_oldGlobalNav_item__aboutUs > a {
  color: #008000;
}
.bl_oldGlobalNav_item__discclosure > a {
  color: #FFA500;
}

.bl_oldGlobalNav_item i {
  display: block;
}

.bl_oldGlobalNav_item span {
  font-size: 14.4px;
  line-height: 1.6;
}


/* ************************************
  ヘルパー .hp_
************************************ */
/* トランジション期間を消す */
.hp_transitionDurationIsZero {
  transition-duration: 0ms !important;
  -o-transition-duration: 0ms !important;
  -moz-transition-duration: 0ms !important;
  -webkit-transition-duration: 0ms !important;
}
.hp_displayNone {
  display: none !important;
}
