@charset "UTF-8";

/* ==========================================================================
ベース設定
=========================================================================== */
@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/ZenKakuGothicNew-Regular.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/ZenKakuGothicNew-Medium.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/ZenKakuGothicNew-Bold.woff2") format("woff2");
  font-display: swap;
}

@font-face {
  font-family: "ZenKakuGothicNew";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/ZenKakuGothicNew-Black.woff2") format("woff2");
  font-display: swap;
}

:root {
  /* カラー */
  --Text: #222;
  --Text_color: #321400;
  --Text_link: #1558D6;
  --Main: #0045A0;
  --Sub: #4D7DBD;
  --Accent: #FA503C;
  --Back: #D1EAFC;
  --red01: #EC0E0E;
  --red02: #ED0F0F;
  --red03: #FBA94B;
  --grey: #828282;

  /* フォント */
  --Font_normal: "ZenKakuGothicNew", sans-serif;
}

.html {
  font-size: 1rem;
  overflow-x: hidden;
}

#wpadminbar {
  z-index: 10000000!important;
}

.body {
  font-family: var(--Font_normal);
  font-weight: 400;
  font-size: 16px;
  line-height: 1.5;
  color: var(--Text);
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  line-break: strict;
  overflow-wrap: break-word;
  word-wrap: break-word;
  background: #fff;
  width: 100%;
  counter-reset: number 0;
  position: relative;
  overflow-x: hidden;
}

.body small {
  font-size: max(80%, 0.625rem);
  line-height: 1.3;
}

.body a {
  font-weight: 700;
  text-decoration: underline;
  color: var(--Text_link);
  transition: all 0.3s;
}

.forPC {
  display: none;
}

.forPC-inline {
  display: none;
}  

.forSP {
  display: block;
}

.forSP-inline {
  display: inline;
}


/* ==========================================================================
共通パーツ
=========================================================================== */
.inner {
  padding: 0 4.80vw;
  margin: 0 auto;
}

.normal {
  font-weight: 500;
}

.bold {
  font-weight: 700;
}

.accent {
  color: var(--Accent);
}

.marker {
  background: linear-gradient(transparent 86%, #FEE002 86% 100%, transparent 100%);
}

.notes {
  font-size: 0.625rem;
  vertical-align: text-bottom;
}

.btn,
a.btn {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.1;
  text-decoration: none;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: linear-gradient(180deg, var(--red03) 0%, var(--red02) 50%, var(--red01) 100%);
  border: none;
  border-radius: 1.875rem;
  box-shadow: 0 0.375rem 0 0 var(--red03);
  width: 100%;
  min-height: 3.75rem;
  position: relative;
  padding: 1rem;
  margin-top: 1.5rem;
}

.btn--sm,
a.btn--sm {
  font-size: 0.9375rem;
  box-shadow: 0 0.1875rem 0 0 var(--red03);
  min-height: 2.5rem;
  margin-top: 0;
}

.btn--arrow::after,
a.btn--arrow::after {
  content: "";
  display: inline-block;
  background: url(../img/btn_arrow.svg) no-repeat center / contain;
  width: 1.5rem;
  aspect-ratio: 1;
}

/* .btn + *,
a.btn + * {
  margin-top: 1.375rem;
} */

.table {
  table-layout: fixed;
  border-spacing: 0;
  width: 100%;
  margin-top: 1rem;
}

.notesTxt + .table {
  margin-top: 0.25rem;
}

.table th,
.table td {
  line-height: 1.375rem;
  border-top: 0.0625rem solid #9FA5A9;
  border-left: 0.0625rem solid #9FA5A9;
  padding: 1rem 0.875rem;
}

.table th:last-child,
.table td:last-child {
  border-right: 0.0625rem solid #9FA5A9;
}

.table tbody tr:last-child th,
.table tbody tr:last-child td {
  border-bottom: 0.0625rem solid #9FA5A9;
}

.table:not(:has(thead)) tbody tr:first-child th:first-child,
.table:not(:has(thead)) tbody tr:first-child td:first-child {
  border-radius: 0.25rem 0 0 0;
}

.table:not(:has(thead)) tbody tr:first-child th:last-child,
.table:not(:has(thead)) tbody tr:first-child td:last-child {
  border-radius: 0 0.25rem 0 0;
}

.table tbody tr:last-child th:first-child,
.table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 0.25rem;
}

.table tbody tr:last-child th:last-child,
.table tbody tr:last-child td:last-child {
  border-radius: 0 0 0.25rem 0;
}

.table th {
  font-weight: 700;
  text-align: center;
  background: #E3E4E5;
}

.table thead th {
  text-align: left;
  color: #fff;
  background: #727C89;
  border-bottom: none;
}

.table thead th:nth-of-type(n+2) {
  border-left: 0.0625rem solid #fff;
}

.table thead tr:first-child th:first-child,
.table thead tr:first-child td:first-child {
  border-radius: 0.25rem 0 0 0;
}

.table thead tr:first-child th:first-child,
.table thead tr:first-child td:first-child {
  border-radius: 0.25rem 0 0 0;
}

.table thead tr:first-child th:last-child,
.table thead tr:first-child td:last-child {
  border-radius: 0 0.25rem 0 0;
}

.table:has(thead) tbody th:first-child {
  text-align: left;
}

.table__notes {
  font-weight: 500;
}

th .table__notes {
  font-size: 0.8125rem;
}


/* ==========================================================================
商標・個別ページ
=========================================================================== */
a.scrollBtn {
  display: block;
  background: url(../img/scroll_btn.svg) no-repeat center / contain;
  width: 3.625rem;
  aspect-ratio: 1;
  position: fixed;
  right: 0.625rem;
  bottom: 1.5rem;
  z-index: 10;
}

.column {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5rem;
  padding-bottom: 2rem;
}

.column__head {
  padding: 1.125rem 1.125rem 0.5rem;
}

.column__head-ttl {
  font-weight: 900;
  font-size: 1.375rem;
  line-height: 2rem;
}

.column__head-pr {
  font-weight: 700;
  font-size: 0.8125rem;
  line-height: 1;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #999;
  border-radius: 0.25rem;
  width: 1.875rem;
  padding: 0.125rem 0 0.25rem;
  margin-left: auto;
}

.column__mv + * {
  margin-top: 1rem;
}

.column a {
  font-weight: 500;
  text-decoration: none;
}

.column p {
  margin-top: 1rem;
}

.column p + p {
  margin-top: 1.5rem;
}

.checkBox {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.625rem;
  display: flex;
  align-items: center;
  background: #EEEEEE;
  border-top: 0.375rem solid #013375;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;
  margin-top: 4.0625rem;
  position: relative;
}

.checkBox::before {
  content: "CHECK";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.1em;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background: url(../img/check_white.svg) no-repeat left 0.5rem top 0.4375rem / 1.375rem auto,
              #013375;
  border-radius: 0.5rem 0.5rem 0 0;
  padding: 0.3125rem 0.625rem 0.25rem 2.125rem;
  position: absolute;
  top: -2.0625rem;
  left: 0;
}

.checkBox > *:first-child {
  margin-top: 0;
}

.bnr {
  display: block;
  border-radius: 0.5rem;
  margin-top: 1rem;
  overflow: hidden;
}

.infoTable {
  margin-top: 1rem;
}

.infoTable th {
  line-height: 1.5rem;
  width: 6.6875rem;
}

.arrow {
  background: url(../img/arrow_down.svg) no-repeat center / contain;
  width: 3.75rem;
  aspect-ratio: 60 / 40;
  margin: 1rem auto 0;
}

.headBox {
  margin-top: 1rem;
}

.headBox__head {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #013375;
  border-radius: 0.5rem 0.5rem 0 0;
  padding: 1rem;
}

.headBox__content {
  border: 0.0625rem solid #9FA5A9;
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 1rem;
}

.headBox__content > *:first-child {
  margin-top: 0;
}

.headBox__content > a.btn {
  margin-bottom: 0.375rem;
}

.btnCatch {
  font-weight: 700;
  text-align: center;
  margin-top: 1.5rem;
}

.btnCatch + a.btn {
  margin-top: 0.5rem;
}

.index {
  border-radius: 0.5rem;
  margin-top: 3rem;
  overflow: hidden;
}

.index__head {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.625rem;
  letter-spacing: 0.1em;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  background: #A7B3C3;
  height: 2.5rem;
}

.index__head::before {
  content: "";
  display: inline-block;
  background-image: url(../img/index.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.5rem;
  aspect-ratio: 1;
}

.index__closeBtn {
  font-family: var(--Font_normal);
  font-weight: 500;
  font-size: 0.875rem;
  text-align: left;
  color: #fff;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

.index__closeBtn::before {
  content: "[開く]";
  display: inline-block;
  width: 3.25rem;
}

.index__closeBtn.is-active::before {
  content: "[閉じる]";
}

.index__content {
  color: #555555;
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows .3s ease;
  background: #EEEEEE;
}

.index__content.is-open {
  grid-template-rows: 1fr;
}

.index__content-inner {
  padding: 0 1rem;
  overflow: hidden;
}

.index__list {
  margin: 1rem 0;
}

.index__list a {
  font-weight: 500;
  color: #555555;
}

.index__list-item:nth-of-type(n+2) {
  margin-top: 1rem;
}

.index__childList {
  padding-left: 1rem;
  margin-top: 0.625rem;
}

.index__childList-item {
  font-size: 11px;
  line-height: 1.375rem;
}

.index__childList-item:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.column__h2 {
  font-weight: 700;
  font-size: 1.375rem;
  line-height: 1.875rem;
  color: #fff;
  display: flex;
  align-items: center;
  background: #013375;
  padding: 0.875rem;
  margin-top: 2.5rem;
  position: relative;
}

.column__h2::before {
  content: "";
  display: inline-block;
  background: #fff;
  width: 100%;
  height: 0.125rem;
  position: absolute;
  top: 0.125rem;
  left: 0;
}

.column__h2::after {
  content: "";
  display: inline-block;
  background: #fff;
  width: 100%;
  height: 0.125rem;
  position: absolute;
  bottom: 0.125rem;
  left: 0;
}

.column__h3 {
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.75rem;
  background: #E3E4E5;
  padding: 0.5rem;
  margin-top: 2.5rem;
  margin-left: 1rem;
  position: relative;
}

.column__h3::before {
  content: "";
  display: inline-block;
  background: #013375;
  width: 0.75rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1rem;
}

.column__h4 {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.625rem;
  padding-bottom: 0.875rem;
  margin-top: 2rem;
  position: relative;
}

.column__h4::before {
  content: "";
  display: inline-block;
  background: #C0C0C0;
  width: 100%;
  height: 0.25rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.column__h4::after {
  content: "";
  display: inline-block;
  background: #013375;
  width: 3.75rem;
  height: 0.25rem;
  position: absolute;
  bottom: 0;
  left: 0;
}

.checkTtl {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.625rem;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 2rem;
}

.checkTtl::before {
  content: "";
  display: inline-block;
  background-image: url(../img/checkbox.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.625rem;
  aspect-ratio: 1;
  flex-shrink: 0;
}

.checkBox + .checkTtl {
  margin-top: 1rem;
}

.notesTxt {
  font-size: 0.8125rem;
  margin-top: 1rem;
}

.box .notesTxt {
  margin-top: 0;
}

/* .notesTxt + p {
  margin-top: 0.5rem;
} */

.txtLink {
  display: block;
  text-align: right;
  margin-top: 1rem;
}

.txtLink + .txtLink {
  margin-top: 0.5rem;
}

.ul {
  margin-top: 1rem;
}

.box .ul:not(:first-child) {
  margin-top: 0.5rem;
}

.ul__item {
  padding-left: 0.875rem;
  position: relative;
}

.ul__item::before {
  content: "";
  display: inline-block;
  background: #013375;
  border-radius: 50%;
  width: 0.5rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.6em;
  left: 0;
}

.ul__item:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.box .ul__item:nth-of-type(n+2) {
  margin-top: 0.75rem;
}

.ol {
  counter-reset: number 0;
  margin-top: 1rem;
}

.ol__item {
  min-height: 1.75rem;
  padding-left: 2.25rem;
  position: relative;
}

.ol__item::before {
  counter-increment: number 1;
  content: counter(number);
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-image: url(../img/ol_num_bg.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.75rem;
  aspect-ratio: 1;
  padding-bottom: 0.125rem;
  position: absolute;
  top: -0.0625rem;
  left: 0;
}

.ol__item:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.commentList {
  margin-top: 1rem;
}

.commentList__item {
  min-height: 1.75rem;
  padding-left: 2.25rem;
  position: relative;
}

.commentList__item::before {
  content: "";
  display: inline-block;
  background-image: url(../img/comment.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.75rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0;
  left: 0;
}

.commentList__item:nth-of-type(n+2) {
  margin-top: 0.75rem;
}

.box {
  background: #EEEEEE;
  border-radius: 0.25rem;
  padding: 1rem;
  margin-top: 1rem;
}

.box > *:first-child {
  margin-top: 0;
}

.box:has(.ol),
.box:has(.commentList) {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.quoteBox {
  outline: 0.0625rem solid #B2B2B2;
  outline-offset: -0.0625rem;
  border-radius: 0 0.25rem 0.25rem 0;
  padding: 1rem;
  margin-top: 1rem;
  margin-left: 1.75rem;
  position: relative;
}

.quoteBox::before {
  content: "";
  display: block;
  background: url(../img/quote.svg) no-repeat center / 1rem,
              #B2B2B2;
  border-radius: 0.25rem 0 0 0.25rem;
  width: 1.75rem;
  height: 100%;
  position: absolute;
  top: 0;
  left: -1.75rem;
}

.quoteBox > *:first-child {
  margin-top: 0;
}

.quoteBox .quoteBox__txt {
  font-size: 0.8125rem;
  line-height: 1.375rem;
  margin-top: 0.75rem;
}

.bookmarkBox {
  outline: 0.1875rem solid #8DA1BB;
  outline-offset: -0.1875rem;
  border-radius: 0.5rem;
  padding: 2rem 1rem;
  margin-top: 2rem;
  position: relative;
}

.bookmarkBox::before {
  content: "";
  display: inline-block;
  background-image: url(../img/bookmark.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.125rem;
  aspect-ratio: 34 / 38;
  position: absolute;
  top: -1rem;
  left: 1.5rem;
}

.bookmarkBox > *:first-child {
  margin-top: 0;
}

.bookmarkBox > a.btn {
  margin-bottom: 0.375rem;
}

.pointBox {
  background: #EEEEEE;
  outline: 0.1875rem solid #8DA1BB;
  outline-offset: -0.1875rem;
  border-radius: 0.5rem;
  padding: 3.375rem 1rem 1rem 1rem;
  margin-top: 1rem;
  position: relative;
}

.pointBox::before {
  content: "POINT";
  font-weight: 900;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  display: inline-block;
  background-image: url(../img/flag.svg);
  background-repeat: no-repeat;
  background-position: left 0.5rem center;
  background-size: 1rem auto;
  background-color: #013375;
  border-radius: 0.25rem;
  padding: 0.375rem 0.625rem 0.5rem 1.875rem;
  position: absolute;
  top: 1rem;
  left: 1rem;
}

.pointBox > *:first-child {
  margin-top: 0;
}

.balloonBox {
  margin-top: 1rem;
}

.balloonBox__head {
  font-weight: 700;
  text-align: center;
  color: #fff;
  background: #727C89;
  border-radius: 0.5rem 0.5rem 0 0;
  padding: 0.4375rem 1rem 0.5625rem;
  position: relative;
}

.balloonBox__head::before {
  content: "";
  display: inline-block;
  background-image: url(../img/balloonbox_triangle.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.875rem;
  aspect-ratio: 30 / 28;
  position: absolute;
  bottom: -0.9375rem;
  left: 50%;
  transform: translateX(-50%);
}

.balloonBox__content {
  outline: 0.1875rem solid #727C89;
  outline-offset: -0.1875rem;
  border-radius: 0 0 0.5rem 0.5rem;
  padding: 1.25rem 1rem 1.5rem;
}

.balloonBox__content > *:first-child {
  margin-top: 0;
}

.balloonBox__content p + p {
  margin-top: 0.5rem;
}

.balloonBox__content > .notesTxt {
  margin-top: 0;
}

.balloonBox__checkList-item {
  padding-left: 2.25rem;
  position: relative;
}

.balloonBox__checkList-item::before {
  content: "";
  display: inline-block;
  background-image: url(../img/check_grey.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.75rem;
  aspect-ratio: 1;
  position: absolute;
  top: -0.0625rem;
  left: 0;
}

.balloonBox__checkList-item:nth-of-type(n+2) {
  margin-top: 1rem;
}

.balloonBox__ul-item {
  padding-left: 0.875rem;
  position: relative;
}

.balloonBox__ul-item::before {
  content: "";
  display: inline-block;
  background: #727C89;
  border-radius: 50%;
  width: 0.5rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.7em;
  left: 0;
}

.balloonBox__ul-item:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.img {
  display: block;
  margin-top: 1rem;
}

.img--sm {
  width: calc(100% - 2.25rem);
  margin-left: auto;
  margin-right: auto;
}

.scroll {
  overflow-x: auto;
}

.scrollTable th {
  text-align: left;
  width: 7.8125rem;
}

.scrollTable:not(:has(thead)) th:first-child {
  text-align: center;
}

.map iframe {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 400 / 300;
  margin: 1rem auto 0;
}

.table__bnr {
  font-size: 0.875rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.table__bnr picture,
.table__bnr img {
  display: block;
  width: 100%;
  max-height: 64px;
  object-fit: contain;
}

.table--center th,
.table--center td {
  text-align: center!important;
}

.table__app {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.table__app-img {
  width: 3.75rem;
}

.table * + .btn {
  margin-top: 0.5rem;
}

/* カードローン絞り込み検索フォーム */
.cardloan3 .search {
  background: #E3E4E5;
  padding: 2rem 0 2.5rem;
  margin: 3.5rem -1.125rem 0;
}

.cardloan3 .search__content {
  margin-top: 1rem;
}

.cardloan3 .search__form-ttl {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.625rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-top: 1rem;
}

.cardloan3 .search__form-ttl::before {
  content: "";
  display: inline-block;
  background-image: url(../img/search_ttl_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.5rem;
  aspect-ratio: 1;
}

.cardloan3 .search__form-group:nth-of-type(n+2) {
  margin-top: 2rem;
}

.cardloan3 .search__form-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6875rem;
  margin-top: 0.75rem;
}

.cardloan3 .search__form label {
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--Main);
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 2px solid var(--Main);
  border-radius: 12px;
  height: 54px;
  padding-left: 1.25rem;
  position: relative;
}

.cardloan3 .search__form label:has(input[type="radio"])::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 0.125rem solid var(--Main);
  border-radius: 50%;
  width: 1.125rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.125rem;
  transform: translateY(-50%);
}

.cardloan3 .search__form label:has(input[type="radio"])::after {
  content: "";
  display: inline-block;
  background: #fff;
  border-radius: 50%;
  width: 0.625rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.6875rem;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.cardloan3 .search__form label:has(input[type="checkbox"])::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 0.125rem solid var(--Main);
  border-radius: 0.125rem;
  width: 1rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.125rem;
  transform: translateY(-50%);
}

.cardloan3 .search__form label:has(input[type="checkbox"])::after {
  content: "";
  display: inline-block;
  border-left: 0.125rem solid var(--Accent);
  border-bottom: 0.125rem solid var(--Accent);
  width: 0.5625rem;
  height: 0.3125rem;
  position: absolute;
  top: 49%;
  left: 1.625rem;
  transform: translate(-50%, -50%) rotate(-50deg);
  opacity: 0;
}

.cardloan3 .search__form input[type="radio"],
.cardloan3 .search__form input[type="checkbox"] {
  display: none;
}

.cardloan3 .search__form label:has(input[type="radio"]:checked),
.cardloan3 .search__form label:has(input[type="checkbox"]:checked) {
  color: #fff;
  background: #345C91;
  border: 0.125rem solid #345C91;
}

.cardloan3 .search__form label:has(input[type="radio"]:checked)::before {
  background: var(--Accent);
  border: 0.125rem solid #fff;
}

.cardloan3 .search__form label:has(input[type="checkbox"]:checked)::before {
  border: 0.125rem solid #fff;
}

.cardloan3 .search__form label:has(input[type="radio"]:checked)::after,
.cardloan3 .search__form label:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
}

.cardloan3 .search__form-submitBtn,
.cardloan3 .search-result__back a {
  font-family: var(--Font_normal);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--Accent);
  border: none;
  border-radius: 0.75rem;
  width: 13.4375rem;
  height: 3.5rem;
  margin: 2rem auto 0;
}

.cardloan3 .search__form-submitBtn:disabled {
  opacity: 0.4;
}

.cardloan3 .search__form-btns-errorTxt {
  font-weight: 700;
  font-size: 0.6875rem;
  text-align: center;
  color: var(--Accent);
  margin-top: 0.25rem;
}

.cardloan3 .search__form-btns-errorTxt {
  display: none;
}

.cardloan3 .search__form-submitBtn:disabled + .search__form-btns-errorTxt {
  display: block;
}

/* 即日絞り込み検索フォーム */
.sokujitsu .search {
  padding: 2rem 0 2.5rem;
  /* background-color: var(--Back); */
}

.sokujitsu .search .sectionTtl{
  padding: 0 3.73vw;
}

.sokujitsu .search__content {
  margin-top: 1rem;
  padding: 10px;
}

.sokujitsu .search__content{
  background: var(--Back);
}

.sokujitsu .search-from-sp-select {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 6px;
  background: #fff;
  border-radius: 12px;
  position: relative;
  cursor: pointer;
}

.sokujitsu .search-from-sp-select + .search-from-sp-select {
  margin-top: 8px;
}

.sokujitsu .search-from-sp-select::before {
  content: "";
  display: inline-block;
  background-image: url(../img/search_ttl_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.5rem;
  aspect-ratio: 1;
  flex-shrink: 0;
}

.sokujitsu .search-from-sp-select select {
  -webkit-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.625rem;
  width: 100%;
  cursor: pointer;
}

.sokujitsu .search-from-sp-select img {
  width: 0.5rem;
  height: 0.5rem;
  border-right: 0.125rem solid var(--Main01);
  border-bottom: 0.125rem solid var(--Main01);
  transform: rotate(45deg);
  margin-left: auto;
  margin-right: 0.25rem;
  margin-bottom: 0.1875rem;
  flex-shrink: 0;
  /* 画像を非表示にしてCSSで矢印を再現 */
  opacity: 0;
  position: absolute;
}

.sokujitsu .search-from-sp-select::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 0.125rem solid var(--Main01);
  border-bottom: 0.125rem solid var(--Main01);
  transform: rotate(45deg);
  margin-left: auto;
  margin-right: 0.25rem;
  margin-bottom: 0.1875rem;
  flex-shrink: 0;
}

.sokujitsu .search__form-ttl {
  font-weight: 700;
  font-size: 0.9375rem;
  line-height: 1.625rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  padding: 6px;
  cursor: pointer;
  user-select: none;
  background: #fff;
  border-radius: 12px;
}

.sokujitsu .search__form-group.is-open .search__form-ttl{
  border-radius: 12px 12px 0 0; 
}

.sokujitsu .search__form-ttl::after {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 0.125rem solid var(--Main01);
  border-bottom: 0.125rem solid var(--Main01);
  transform: rotate(45deg);
  margin-left: auto;
  margin-right: 0.25rem;
  margin-bottom: 0.1875rem;
  transition: transform 0.3s ease, margin-bottom 0.3s ease;
  flex-shrink: 0;
}

.sokujitsu .search__form-group:not(:first-of-type){
  margin-top: 8px;
}

.sokujitsu .search__form-group.is-open .search__form-ttl::after {
  transform: rotate(-135deg);
  margin-bottom: -0.1875rem;
}

.sokujitsu .search__form-ttl::before {
  content: "";
  display: inline-block;
  background-image: url(../img/search_ttl_icon.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.5rem;
  aspect-ratio: 1;
}

.sokujitsu .search__form-wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.6875rem;
  margin-top: 0;
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease, margin-top 0.3s ease;
}

.sokujitsu .search__form-group.is-open .search__form-wrap {
  background: #fff;
  padding: 10px;
  border-radius: 0 0 12px 12px;
}

.sokujitsu .search__form label {
  font-weight: 700;
  font-size: 0.875rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border: 0.125rem solid var(--Main01);
  border-radius: 0.75rem;
  height: 3.375rem;
  padding-left: 1.25rem;
  position: relative;
}

.sokujitsu .search__form label:has(input[type="radio"])::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 0.125rem solid #A6A6A6;
  border-radius: 50%;
  width: 1.125rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.125rem;
  transform: translateY(-50%);
}

.sokujitsu .search__form label:has(input[type="radio"])::after {
  content: "";
  display: inline-block;
  background: var(--Accent);
  border-radius: 50%;
  width: 10px;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.6875rem;
  transform: translate(-50%, -50%);
  opacity: 0;
}

.sokujitsu .search__form label:has(input[type="checkbox"])::before {
  content: "";
  display: inline-block;
  background: #fff;
  border: 0.125rem solid var(--Main01);
  border-radius: 0.125rem;
  width: 1rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: 1.125rem;
  transform: translateY(-50%);
}

.sokujitsu .search__form label:has(input[type="checkbox"])::after {
  content: "";
  display: inline-block;
  border-left: 0.125rem solid #fff;
  border-bottom: 0.125rem solid #fff;
  width: 0.5625rem;
  height: 0.3125rem;
  position: absolute;
  top: 49%;
  left: 1.625rem;
  transform: translate(-50%, -50%) rotate(-50deg);
  opacity: 0;
}

.sokujitsu .search__form input[type="radio"],
.sokujitsu .search__form input[type="checkbox"] {
  display: none;
}

.sokujitsu .search__form label:has(input[type="radio"]:checked),
.sokujitsu .search__form label:has(input[type="checkbox"]:checked) {
  background: #CCEFE1;
}

.sokujitsu .search__form label:has(input[type="radio"]:checked)::before {
  border: 0.125rem solid var(--Accent);
}

.sokujitsu .search__form label:has(input[type="radio"]:checked)::after,
.sokujitsu .search__form label:has(input[type="checkbox"]:checked)::after {
  opacity: 1;
}

.sokujitsu .search__form label:has(input[type="radio"]:checked)::before {
  border: 0.125rem solid var(--Accent);
}

.sokujitsu .search__form label:has(input[type="checkbox"]:checked)::before {
  background: var(--Accent);
  border: 0.125rem solid var(--Accent);
}

.sokujitsu .search__form-submitBtn,
.sokujitsu .search-result__back a {
  font-family: var(--Font_normal);
  font-weight: 700;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #FB4E14;
  border: none;
  border-radius: 0.75rem;
  width: 13.4375rem;
  height: 3.5rem;
  margin: 2rem auto 0;
}

.sokujitsu .search__form-submitBtn:disabled {
  opacity: 0.4;
  pointer-events: none;
}

.sokujitsu .search__form-btns-errorTxt {
  font-weight: 700;
  font-size: 0.6875rem;
  text-align: center;
  color: var(--Accent);
  margin-top: 0.25rem;
}

.sokujitsu .search__form-btns-errorTxt {
  display: none;
}

.sokujitsu .search__form-submitBtn:disabled + .search__form-btns-errorTxt {
  display: block;
}


/* ==========================================================================
フッター
=========================================================================== */
.footerLink {
  background: rgba(1, 51, 117, 0.15);
  padding: 2rem 0;
}

.footerLink__ttl {
  font-weight: 700;
  font-size: 0.9375rem;
}

.footerLink .menu {
  margin-top: 0.5rem;
}

.footerLink .menu li {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.5rem;
  padding-left: 1.125rem;
  position: relative;
}

.footerLink .menu li::before {
  content: "";
  display: inline-block;
  background-image: url(../img/footerlink_arrow.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.875rem;
  aspect-ratio: 1;
  position: absolute;
  top: 0.5em;
  left: 0;
}

.footerLink .menu li:nth-of-type(n+2) {
  margin-top: 0.5rem;
}

.footerLink .menu li a {
  font-size: inherit;
  line-height: inherit;
  /* text-decoration: none; */
  color: #222;
}

.footer {
  color: #fff;
  background: var(--Main);
  padding: 2rem 0 1.125rem;
}

.footer__txt {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1.125rem;
}

.footer a {
  color: #fff;
}

.footer__nav {
  margin-top: 1.5rem;
}

.footer__nav .menu {
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer__nav .menu li::before {
  content: "|";
  margin: 0 0.5em;
}

.footer__nav .menu li:last-of-type::after {
  content: "|";
  margin: 0 0.5em;
}

.footer__nav .menu li a {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.875rem;
  text-decoration: none;
  color: #fff;
}

.footer__copyright {
  text-align: center;
}

.footer__copyright small {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.875rem;
  color: #fff;
}

