@charset "UTF-8";
@media screen and (max-width: 768px) {
  #header .container {
    max-width: 100%; } }
@media screen and (max-width: 768px) {
  #header .banking-btn a, #header #gnav-btn, #header .search-btn button {
    height: 50px; } }
@media screen and (max-width: 768px) {
  #header .humb-menu {
    position: absolute;
    right: -5px; } }
#header .search-btn {
  text-align: center; }
  #header .search-btn button {
    position: absolute;
    right: 67px;
    color: #4a4a4a;
    font-size: 10px;
    font-weight: bold;
    text-decoration: none;
    background-color: #EDEDED;
    font-weight: bold;
    padding: 8px;
    width: 55px;
    display: block;
    border: none;
    border-radius: 10px; }
    @media screen and (max-width: 350px) {
      #header .search-btn button {
        right: 52px;
        width: 50px; } }
    #header .search-btn button .fa-sistrix {
      font-size: 18px;
      margin-bottom: 5px;
      display: block;
      color: #32b550; }
#header #searchModal {
  top: 43px; }
  #header #searchModal .site-search-form {
    display: flex; }
  #header #searchModal [type="submit"] {
    -webkit-appearance: button;
    background-color: #45b452;
    color: #fff;
    width: 16%;
    height: 40px;
    margin-left: -3px;
    font-size: 20px; }
  #header #searchModal [type="search"] {
    height: 40px;
    width: 80%; }
@media screen and (max-width: 768px) {
  #header .hnav {
    position: absolute;
    top: -24px;
    right: 60px;
    z-index: 10; } }
@media screen and (max-width: 350px) {
  #header .hnav {
    right: 48px; } }
@media screen and (max-width: 768px) {
  #header .hnav .banking-btn a {
    padding: 10px !important;
    text-align: center;
    color: #4a4a4a;
    background-color: #EDEDED;
    border-radius: 10px; } }
@media screen and (max-width: 350px) {
  #header .hnav .banking-btn a {
    padding: 5px !important; } }
#header .hnav .banking-btn a .fa-unlock {
  font-size: 18px;
  margin-bottom: 5px;
  color: #32b550; }
  @media screen and (max-width: 350px) {
    #header .hnav .banking-btn a .fa-unlock {
      font-size: 16px;
      margin-top: 4px; } }
@media screen and (max-width: 768px) {
  #header #gnav-btn {
    border-radius: 0;
    text-align: center;
    padding: 5px 0 !important; }
    #header #gnav-btn::before {
      content: '\f0c9';
      -webkit-font-smoothing: antialiased;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      display: inline-block;
      text-align: center;
      font-size: 24px;
      margin-bottom: 5px; }
    #header #gnav-btn.collapsed::after {
      content: 'メニュー';
      font-size: 8px;
      display: block; }
    #header #gnav-btn[aria-expanded="true"] {
      padding: 5px 10px !important; }
    #header #gnav-btn[aria-expanded="true"]::before {
      display: none;
      content: ""; }
    #header #gnav-btn[aria-expanded="true"]::after {
      content: '\f00d';
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      font-size: 30px;
      color: #41a64c;
      width: 30px;
      margin-top: 2px; } }
#header #nav-menu::before {
  right: 27px; }

@media screen and (max-width: 768px) {
  #footer a {
    font-size: 0.9rem; } }

@media screen and (max-width: 768px) {
  .footer_accordion_toggle {
    display: block;
    background-color: #fff;
    border: 1px solid #5cb256;
    color: #52b354;
    padding: 10px;
    font-weight: bold;
    cursor: pointer;
    text-align: left;
    margin-bottom: 10px;
    position: relative;
    font-size: 0.9rem;
    border-radius: 5px; }
    .footer_accordion_toggle:after {
      content: '\f107';
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      position: absolute;
      right: 20px;
      font-size: 16px;
      color: #5cb256; } }
@media screen and (max-width: 768px) {
  .footer_kitei {
    display: none !important;
    flex-direction: column; }
    .footer_kitei.show {
      display: flex !important;
      flex-direction: column; }
    .footer_kitei.last {
      border-bottom: 1px solid #ccc;
      margin-bottom: 10px; } }

@media screen and (max-width: 768px) {
  #maincontent
  .front #nav-short {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 0; }
    #maincontent
    .front #nav-short.bg-white {
      background: transparent;
      background-color: transparent !important; } }
#maincontent
.front #nav-short ul {
  -webkit-justify-content: center;
  justify-content: left;
  -webkit-align-items: stretch;
  align-items: stretch;
  gap: 0.4rem; }
  @media screen and (max-width: 768px) {
    #maincontent
    .front #nav-short ul li {
      margin-bottom: 10px;
      background-color: #fff;
      padding: 15px 10px 15px 5px;
      width: 48%;
      position: relative; } }
  @media screen and (max-width: 400px) {
    #maincontent
    .front #nav-short ul li {
      padding: 10px; } }
  @media screen and (max-width: 768px) {
    #maincontent
    .front #nav-short ul li a {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: left;
      -webkit-align-items: center;
      align-items: center; } }
  @media screen and (max-width: 768px) {
    #maincontent
    .front #nav-short ul li a figcaption {
      text-align: left;
      line-height: 1.2rem; } }
  @media screen and (max-width: 350px) {
    #maincontent
    .front #nav-short ul li a figcaption {
      font-size: 0.7rem;
      line-height: 1.0rem; } }
  @media screen and (max-width: 768px) {
    #maincontent
    .front #nav-short ul li i {
      position: absolute;
      right: 5px; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #nav-short figure {
    margin-bottom: 0; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #nav-short figure img {
    width: 40px;
    height: auto;
    margin-right: 5px;
    margin-bottom: 0; } }
@media screen and (max-width: 350px) {
  #maincontent
  .front #nav-short figure img {
    width: 30px; } }
@media screen and (max-width: 350px) {
  #maincontent
  .front .col-lg-9 {
    padding: 0; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #banking {
    margin: 0; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #banking ul li {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: left;
    -webkit-align-items: center;
    align-items: center; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #banking ul li figure {
    margin-bottom: 0; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #banking ul li figure img {
    margin-right: 10px; } }
@media screen and (max-width: 350px) {
  #maincontent
  .front #banking ul li figure img {
    width: 50px; } }
@media screen and (max-width: 768px) {
  #maincontent
  .front #banking ul li figcaption {
    font-size: 0.8rem;
    text-align: left; } }
@media screen and (max-width: 350px) {
  #maincontent
  .front #banking ul li figcaption {
    font-size: 0.7rem;
    line-height: 1rem; } }

@media screen and (max-width: 991px) {
  #submenu button.navbar-toggler {
    display: none; } }

@media screen and (max-width: 768px) {
  body.Android #submenu_about, body.Android #submenu_kinri {
    margin-top: 50px; } }

@media screen and (max-width: 991px) {
  #submenu_about, #submenu_kinri {
    display: block !important;
    /* Bootstrapのcollapse対策 */
    height: auto !important;
    visibility: visible !important; } }
@media screen and (max-width: 991px) {
  #submenu_about .navbar-nav, #submenu_kinri .navbar-nav {
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: inherit;
    gap: 10px 0; } }
@media screen and (max-width: 991px) {
  #submenu_about .navbar-nav li:last-child, #submenu_kinri .navbar-nav li:last-child {
    flex-grow: 0; } }
@media screen and (max-width: 991px) {
  #submenu_about .navbar-nav li.nav-item, #submenu_kinri .navbar-nav li.nav-item {
    flex: none !important;
    width: 48%; } }
@media screen and (max-width: 991px) {
  #submenu_about .navbar-nav li.nav-item.mx-1, #submenu_kinri .navbar-nav li.nav-item.mx-1 {
    margin: 0 !important; } }
@media screen and (max-width: 991px) {
  #submenu_about .navbar-nav li.nav-item.active, #submenu_kinri .navbar-nav li.nav-item.active {
    border-bottom: 1px solid #fff; } }

@media screen and (max-width: 768px) {
  .table_aco.table-vertical tr {
    background: #fff !important; }
  .table_aco tr td:nth-child(2) {
    max-height: 0;
    overflow: hidden;
    padding: 0;
    opacity: 0;
    transition: all 0.3s ease; }
  .table_aco tr.open td:nth-child(2) {
    max-height: 300px;
    /* 想定される最大値に応じて */
    padding: 10px;
    opacity: 1; }
  .table_aco td:nth-child(1) {
    cursor: pointer;
    touch-action: manipulation;
    /* タップ誤動作対策 */
    position: relative;
    border-bottom: 3px solid #45b452; }
    .table_aco td:nth-child(1):after {
      content: "\f067";
      -webkit-font-smoothing: antialiased;
      display: inline-block;
      font-style: normal;
      font-variant: normal;
      text-rendering: auto;
      line-height: 1;
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      color: #45b452;
      font-size: 20px;
      position: absolute;
      top: 35px;
      right: 10px; } }
@media screen and (max-width: 768px) {
  .table-mode {
    display: none; }

  .div-mode {
    display: block; }
    .div-mode .accordion-header {
      background-color: #fff;
      padding: 10px;
      cursor: pointer;
      border-bottom: 2px solid #52b354;
      position: relative;
      font-size: 1rem; }
      .div-mode .accordion-header:before {
        content: attr(data-label);
        font-weight: bold;
        color: #32b550;
        display: block;
        padding-bottom: 5px; }
      .div-mode .accordion-header:after {
        content: "\f067";
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        color: #45b452;
        font-size: 20px;
        position: absolute;
        top: 27px;
        right: 10px; }
    .div-mode .accordion-content {
      background-color: #fff;
      font-size: 1rem;
      max-height: 0;
      overflow: hidden;
      padding: 0 10px;
      transition: all 0.3s ease;
      opacity: 0;
      margin-bottom: 20px; }
    .div-mode .accordion-content.open {
      max-height: 1000px;
      padding: 10px;
      opacity: 1;
      margin-bottom: 30px; }
      .div-mode .accordion-content.open:before {
        content: attr(data-label);
        color: #52b354;
        font-weight: bold;
        display: block;
        padding-bottom: 5px; } }
@media screen and (min-width: 769px) {
  .div-mode {
    display: none; } }
#contact .jusho {
  display: block !important; }
@media screen and (max-width: 768px) {
  #contact .lead {
    background-color: #fff;
    color: #000;
    border-radius: 0;
    text-align: center;
    padding: 25px 10px;
    font-size: 1.2rem;
    line-height: 2.2rem; } }
@media screen and (max-width: 768px) {
  #contact .lead:after {
    border-color: #fff transparent; } }
@media screen and (max-width: 768px) {
  #contact .tenpoinfo-wrap {
    position: relative; } }
@media screen and (max-width: 768px) {
  #contact .tenpoinfo-wrap.bg-white {
    background-color: #ffffffcc !important; } }
@media screen and (max-width: 768px) {
  #contact .tenpoinfo-wrap .tenpoinfo {
    text-align: left; } }
@media screen and (max-width: 450px) {
  #contact .tenpoinfo-wrap .tenpoinfo {
    padding: 20px 5px; } }
@media screen and (max-width: 768px) {
  #contact .tenpoinfo-wrap .tenpoinfo h4 {
    color: #000;
    font-size: 1rem;
    margin-left: 5px; } }
@media screen and (max-width: 768px) {
  #contact .tenpoinfo-wrap .tenpoinfo .jusho {
    width: 100%;
    margin-top: 5px;
    margin-bottom: 50px; } }
@media screen and (max-width: 768px) {
  #contact .jusho p, #contact .tel_text, #contact .tel_text .denwabango {
    font-size: 0.9rem !important;
    margin-top: 0 !important; } }
@media screen and (max-width: 550px) {
  #contact .jusho p, #contact .tel_text, #contact .tel_text .denwabango {
    display: inline-block; } }
#contact .tel_xs {
  -webkit-justify-content: center;
  justify-content: left;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0; }
  #contact .tel_xs a {
    width: 50%;
    text-align: center;
    padding: 10px;
    color: #000; }
  #contact .tel_xs i {
    font-size: 1.4rem; }
  #contact .tel_xs span {
    display: block;
    font-size: 0.8rem; }
  #contact .tel_xs .tel {
    border-right: 1px solid #000; }
#contact .btn {
  padding: 10px; }

#maincontent {
  /* 預金ページ */ }
  @media screen and (max-width: 450px) {
    #maincontent .parts, #maincontent .mustproduct-title {
      font-size: 1rem !important; } }
  @media screen and (max-width: 768px) {
    #maincontent #points-yushi .box-parent .box-2 {
      bottom: 30px; } }
  @media screen and (max-width: 768px) {
    #maincontent #points-yushi .box-parent img {
      height: 160px;
      object-fit: cover;
      object-position: 0 34%; } }
  @media screen and (max-width: 768px) {
    #maincontent .btn-yokin a {
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: center;
      justify-content: center;
      -webkit-align-items: center;
      align-items: center; } }
  @media screen and (max-width: 768px) {
    #maincontent .btn-yokin a p {
      margin-bottom: 0;
      line-height: 1.5rem; } }
  @media screen and (max-width: 768px) {
    #maincontent .btn-yokin .pt-4 {
      padding-top: 0 !important; } }
  @media screen and (max-width: 768px) {
    #maincontent .btn-yokin .mt-2 {
      margin-top: 0 !important; } }
  @media screen and (max-width: 768px) {
    #maincontent .kitei_list {
      /* 預金ページの規程 */
      max-height: 0;
      overflow: hidden;
      transition: max-height 0.3s ease, padding 0.3s ease;
      padding-top: 0;
      padding-bottom: 0; }
      #maincontent .kitei_list.open {
        max-height: 1000px;
        /* 十分に大きめに */
        padding-top: 1rem;
        padding-bottom: 1rem; }
    #maincontent #kitei_open {
      border: #45a651 1px solid; }
      #maincontent #kitei_open:after {
        top: 15px;
        right: 10px;
        position: absolute; }
    #maincontent #kitei_open, #maincontent .qa table tr:first-child {
      cursor: pointer;
      position: relative;
      margin-bottom: 0;
      padding: 10px; }
      #maincontent #kitei_open:after, #maincontent .qa table tr:first-child:after {
        content: "\f067";
        -webkit-font-smoothing: antialiased;
        display: inline-block;
        font-style: normal;
        font-variant: normal;
        text-rendering: auto;
        line-height: 1;
        font-family: 'Font Awesome 5 Free';
        font-weight: 900;
        color: #45b452;
        font-size: 20px; } }
  @media (max-width: 768px) {
    #maincontent .qa table tr:first-child:after {
      margin-top: 20px; }
    #maincontent .qa table tr:first-child td:nth-child(2) {
      padding-right: 30px; }
    #maincontent .qa .answer-row {
      display: none; }
    #maincontent .qa .answer-row.show {
      display: table-row; } }
  @media (max-width: 568px) {
    #maincontent #nav-service {
      position: relative;
      z-index: 1;
      margin-left: calc(50% - 50vw);
      margin-right: calc(50% - 50vw); }
      #maincontent #nav-service .slick-arrow {
        position: absolute;
        z-index: 10; }
      #maincontent #nav-service .prev-arrow {
        left: 0; }
      #maincontent #nav-service .next-arrow {
        right: 0; }
      #maincontent #nav-service .slick-dots {
        bottom: -50px; }
        #maincontent #nav-service .slick-dots li {
          margin: 0; }
          #maincontent #nav-service .slick-dots li button:before {
            font-size: 0.6rem; }
          #maincontent #nav-service .slick-dots li.slick-active button:before {
            color: #45b452;
            font-size: 0.8rem; }
      #maincontent #nav-service .slick-slider-wrapper {
        overflow: visible;
        padding: 0 10px;
        /* 必要に応じて余白調整 */ }
      #maincontent #nav-service .slick-slider .slick-slide {
        transition: transform 0.3s ease; } }
  @media (max-width: 768px) {
    #maincontent #news {
      margin-bottom: 7rem !important; } }
  #maincontent .news_xs {
    margin-top: 70px; }
    #maincontent .news_xs .tab-content {
      margin-top: -15px; }
    #maincontent .news_xs .nav-tabs {
      border-bottom: none;
      gap: 4px; }
      #maincontent .news_xs .nav-tabs .nav-item {
        width: 32.222%; }
        @media (max-width: 400px) {
          #maincontent .news_xs .nav-tabs .nav-item {
            width: 30%; } }
        #maincontent .news_xs .nav-tabs .nav-item a {
          font-size: 1rem;
          padding: 10px 0; }
        #maincontent .news_xs .nav-tabs .nav-item .active {
          background-color: #32b550;
          color: #fff; }
          #maincontent .news_xs .nav-tabs .nav-item .active:hover {
            color: #fff !important; }
        #maincontent .news_xs .nav-tabs .nav-item .tab-01 {
          background-color: #32b550 !important;
          color: #fff; }
          #maincontent .news_xs .nav-tabs .nav-item .tab-01:hover {
            opacity: 0.8;
            color: #Fff !important; }
        #maincontent .news_xs .nav-tabs .nav-item .tab-02 {
          background-color: #0fbad7 !important;
          color: #fff; }
          #maincontent .news_xs .nav-tabs .nav-item .tab-02:hover {
            opacity: 0.8;
            color: #Fff !important; }
          #maincontent .news_xs .nav-tabs .nav-item .tab-02.active {
            border-top: 2px solid #0fbad7;
            border-left: 2px solid #0fbad7;
            border-right: 2px solid #0fbad7; }
        #maincontent .news_xs .nav-tabs .nav-item .tab-03 {
          background-color: #e87f8a !important;
          color: #fff; }
          #maincontent .news_xs .nav-tabs .nav-item .tab-03:hover {
            color: #Fff !important; }
          #maincontent .news_xs .nav-tabs .nav-item .tab-03.active {
            background-color: #e87f8a !important;
            color: #fff;
            border-top: 2px solid #e87f8a;
            border-left: 2px solid #e87f8a;
            border-right: 2px solid #e87f8a; }
            #maincontent .news_xs .nav-tabs .nav-item .tab-03.active:hover {
              color: #Fff !important; }
    #maincontent .news_xs #tab-01, #maincontent .news_xs #tab-02 {
      padding: 15px 10px; }
    #maincontent .news_xs #tab-01 {
      background-color: #f3fbf3; }
    #maincontent .news_xs #tab-02 {
      background-color: #f2fcff; }
      #maincontent .news_xs #tab-02 a {
        color: #329cb5; }
    #maincontent .news_xs #tab-03 {
      background-color: #FAEBEB;
      padding: 15px 10px; }
      #maincontent .news_xs #tab-03 a {
        color: #F06860;
        font-size: 1rem; }
    #maincontent .news_xs .table-shadow {
      box-shadow: none; }
      #maincontent .news_xs .table-shadow > tbody > tr > th, #maincontent .news_xs .table-shadow > tbody > tr > td {
        border: none;
        background-color: transparent; }
      #maincontent .news_xs .table-shadow > tbody > tr > th {
        font-size: 1rem;
        color: #000000;
        font-weight: normal;
        font-size: 0.9rem;
        padding: 5px 0 1px;
        background-color: transparent;
        border: none; }
      #maincontent .news_xs .table-shadow > tbody > tr > td {
        padding: 0 0 5px; }
  @media (max-width: 450px) {
    #maincontent #points01 .col-4 {
      padding-right: 2px;
      padding-left: 2px; } }
  @media (max-width: 450px) {
    #maincontent #points01 .col-4 .btn-sm {
      font-size: 0.7rem;
      padding: 5px 2px; } }
  @media (max-width: 450px) {
    #maincontent .mustproduct-title {
      font-size: 1rem !important; } }

@media (max-width: 991px) {
  .slick-prev, .slick-next {
    z-index: 999 !important; } }
