@charset "utf-8";
/* CSS Document */

@media only screen and (max-width: 1100px) {
  html {
    font-size: 58% !important;
  }
}

body {
  padding-top: 120px;
  margin-top: -120px;
  background: #f9f9f9;
}

header {
  position: absolute;
  width: 100%;
  padding: 0 25px;
  height: 120px;

  z-index: 11;

  transition: 0.3s;
}

header .inner {
  display: flex;
  justify-content: space-between;

  padding: 13px 0 0;
  position: static !important;
}

.header_logo {
  display: flex;
  align-items: flex-end;
  min-width: 150px;
  padding-bottom: 20px;
}

.header_logo a {
  transition: 0.3s;
}
.header_logo a:hover {
  opacity: 0.7;
}

.header_right {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 20px;
}

.header_links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 25px;
}

.header_search {
  max-width: 180px;
}

.header_search {
  position: relative;
}

.header_search [type="search"] {
  width: 100%;
  padding: 10px 26px 10px 10px;
  border: 0;
  outline: 0;
  border-bottom: 1px solid #ccc;
  background: transparent;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;

  font-size: 1.6rem;
}

.search_submit {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-44%);

  background: url("../images/icon_search.svg") no-repeat;
  background-size: cover;
  
  display: block;
  width: 16px;
  height: 16px;

  cursor: pointer;

  border: 0;
  transition: 0.3s;
}


.header_info a {
  padding: 8px 21px 8px;
  background: #eee;
  border: 2px solid #eee;

  color: #333;
  font-size: 1.6rem;
  font-weight: bold;

  position: relative;
  border-radius: 5px;

  transition: 0.3s;
}

.header_info a:hover {
  background: #fff;
}

.header_links_btnset {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.header_links_btnset a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;

  min-width: 190px;
}

.header_servicebtn a {
  padding: 6px 15px 8px;
  background: linear-gradient(To right, #f69044 0%, #fb5a2e 100%);

  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;

  position: relative;
  border-radius: 5px;

  transition: 0.3s;
}

.header_servicebtn a div {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;

  transition: 0.3s;

  position: relative;
  z-index: 2;
}
.header_servicebtn a div .icon_wallet {
  margin-top: 6px;
  width: 21px;
  height: 18px;

  fill: none;
  stroke: #fff;
  transition: 0.3s;
}

.header_servicebtn a::before {
  content: "";
  position: absolute;
  inset: 0;
  margin: 2px;
  border-radius: inherit;
  background: linear-gradient(to right, #f69044 0%, #fb5a2e 100%);
  -webkit-mask-composite: xor;
          mask-composite: exclude;

  transition: 0.3s;
}

.header_servicebtn a:hover div {
  color: #ED6D20;
}
.header_servicebtn a:hover div .icon_wallet {
  stroke: #ED6D20;
}
.header_servicebtn a:hover::before {
  background: #fff;
}

.header_contactbtn a {
  border-radius: 5px;
  padding: 4px 13px 6px;
  background: #2639A6;
  border: 2px solid #2639A6;

  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;

  transition: 0.3s;
}

.icon_mail {
  margin-top: 6px;

  fill: none;
  stroke: #fff;

  width: 24px;
  height: 17px;

  transition: 0.3s;
}

.header_contactbtn a:hover {
  color: #2639A6;
  background: #fff;
}
.header_contactbtn a:hover .icon_mail {
  stroke: #2639A6;
}

/* 親メニュー */
.header_nav_ul {
  display: flex;
  justify-content: flex-end;
  gap: 25px;
}

.header_nav_ul > li {
}

.header_nav_ul > li > a {
  display: block;
  padding: 0px 0 20px;
  font-size: 1.6rem;
  font-weight: bold;

  transition: 0.3s;
}

.header_nav_ul > li > a:hover {
  color: #ED6D20;
}

/* 子メニュー・PC版 */
.header_nav_child {
  position: absolute;
  top: 120px;
  left: 0px;
  width: 100%;

  visibility: hidden;
  opacity: 0;

  padding: 15px 25px;
  background: #f9f9f9;
  border-bottom: 2px solid #ED6D20;

  display: flex;
  flex-direction: column;

  transition: 0.3s;
}

.header_nav_child a {
  display: block;
  padding: 5px 26px 5px 0;
  background: url("../images/icon_orange_arrow.svg") no-repeat;
  background-position: right center;
  transition: 0.3s;
}
.header_nav_child a:hover {
  color: #ED6D20;
}

.nav_inner {
  display: flex;
  justify-content: flex-start;
  gap: 40px;
  padding: 40px 20px;
}

.nav_inner ul {
  flex-basis: 75%;

  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0 30px;
}
.nav_inner ul li {
  flex-basis: calc((100% - 30px) / 2);
  border-bottom: 1px solid #ccc;
}
.nav_inner ul li a {
  padding: 15px 0;
}

.header_nav_child_ttl {
  flex-basis: 25%;

  color: #ED6D20;
  font-size: 2.4rem;
  font-weight: bold;

  position: relative;
}
.header_nav_child_ttl a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;

  background: none;
  width: max-content;
}
.header_nav_child_ttl a .header_nav_child_boxicon {
  border: 1px solid #fff;
}




@media (min-width: 1101px) {
  .header_nav_ul {
    flex-direction: row;
  }
}


/* 表示状態 */
li.is-open > .header_nav_child {
  visibility: visible;
  opacity: 1;
}


.spmenu_close {
  display: none;
}

/* ヘッダ追従 */
header.sticky {
  height: 120px;
  position: fixed;
  top: -120px;
  left: 0;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
  box-shadow: 0px 0 20px #e6e6e6;
}

header.sticky.visible {
  top: 0;
}

.sp_oshirase {
  display: none;
}

@media screen and (max-width: 1100px) {
  body {
    padding-top: 100px;
    margin-top: -100px;
  }

  header { /* ヘッダ */
    height: 100px;
  }

  header.sticky {
    height: 100px;
  }
  
  .header_logo {
    padding-bottom: 0px;
  }

  header .inner {
    align-items: center;
    padding: 15px 0px;
  }
  

  .hamburger {
      display: block;
  }
  
  .header_right { /* 収納時 */
      align-items: center;

      position: fixed;
      top: 100px;
      right: -100%;
      z-index: 11;
      height: calc(100vh - 100px);
      width: 100vw;
      padding-bottom: 50px;

      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;

      visibility: hidden;
      opacity: 0;
      background-color: #fff;
      transition: 0.4s;
  }
  
  .header_right.menu-open { /* 展開時 */
      right: 0;
      opacity: 1;
      visibility: visible;
  }

  .header_right .header_nav { /* レイアウト調整 */
    order: 1;
    width: 100%;
  }
  .header_right .header_links {
    order: 2;

    width: 90%;
    margin: 0 auto;
    flex-direction: column;
  }

  .header_links .header_search {
    order: 4;

    width: 100%;
    max-width: 100% !important;
  }

  .header_links .header_search [type="search"] {
    padding: 20px 60px 20px 20px;
    font-size: 1.8rem;
  }
  .header_links .header_search .search_submit {
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }

  .header_links .header_info {
    display: none;
  }

 
  .header_links .header_links_btnset {
    margin-top: 40px;
    order: 3;
    width: 100%;
  }
  .header_links .header_links_btnset .header_servicebtn,
  .header_links .header_links_btnset .header_contactbtn {
    width: 100%;
  }

  .header_links .header_links_btnset .header_servicebtn a,
  .header_links .header_links_btnset .header_contactbtn a {
    padding: 15px 20px;
    font-size: 1.8rem;
  }

  .header_right .header_nav .sp_only {
    display: block;
  }
  
  .header_right .header_nav_ul {
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0px;
    border-top: 1px solid #ccc;

  }

  .header_right .header_nav_ul > li {
    width: 100%;
    border-bottom: 1px solid #ccc;
  }

  .sp_oshirase {
    display: block;
  }
  
  .header_right .header_nav_ul > li > a {
    display: flex;
    justify-content: space-between;
    align-items: center;

    font-size: 1.8rem;
    font-weight: bold;

    padding: 20px;

    position: relative;
  }

  /* + */
  .header_right .header_nav_ul > li > a.header_nav_parent::before {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    background: #ED6D20;
    transform: rotate(90deg) translateY(-50%);

    position: absolute;
    right: 20px;
    top: 50%;
    transition: 0.3s;
  }

  .header_right .header_nav_ul > li > a.header_nav_parent::after {
    content: "";
    display: block;
    width: 15px;
    height: 1px;
    background: #ED6D20;
    
    position: absolute;
    right: 20px;
    top: 50%;
    transform:translateY(-50%);
    transition: 0.3s;
  }
  .header_right .header_nav_ul > li.is-open > a.header_nav_parent::before {
    content: "";
    transform: rotate(0deg);
  }

  /* 子メニュー・SP版 */
  .header_nav_child {
    position: static;
    max-height: 0;
    padding: 0;

    margin: 0 20px;

    visibility: visible;
    opacity: 1;
    
    overflow: hidden;

    width: calc(100% - 40px);

    background: #fff;
    box-shadow: none;
    border-bottom: 0;

    /* グリッドレイアウトにして高さを制御 */
    display: grid;
    grid-template-rows: 0fr;
    transition: 0.3s ease-out;

  }

  li.is-open > .header_nav_child {
    max-height: 1000px;
    padding: 0;
  }

  .header_nav_child > .nav_inner {
    overflow: hidden;
    
    padding: 0; 
    transition: 0.3s ease-out;
  }
  
  /* オープン時のスタイル */
  li.is-open > .header_nav_child {
    grid-template-rows: 1fr;
  }
  
  /* オープン時の中身のスタイル */
  li.is-open > .header_nav_child > .nav_inner {
    padding: 0 0px 20px; 
  }

  .header_nav_child a {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;

    font-size: 1.6rem;
    font-weight: bold;
    padding: 15px 26px 15px 0px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    margin-bottom: -1px;
  }
  .header_nav_child a::before {
    content: "";
    display: block;
    width: 10px;
    height: 3px;
    background: #ED6D20;
  }



  /* pc版のキャンセル */
  .header_nav_child_ttl a .header_nav_child_boxicon {
    display: none;
  }
  .header_nav_child_ttl a {
    width: 100%;
    background: url("../images/icon_orange_arrow.svg") no-repeat;
    background-position: right center;

    font-size: 1.6rem;
  }
  .nav_inner {
    display: block;
  }
  .nav_inner ul {
    display: block;
  }
  .nav_inner ul li {
    border-bottom: 0;
  }

  
  .spmenu_close {
    display: block;
    order: 3;
    width: 80%;
    margin: 40px auto 0;

    text-align: center;
  }

  .spmenu_close a {
    display: block;
    width: 100%;

    padding: 20px 20px;
    background: #f1f1f1;
    border-radius: 10px;

    font-size: 1.8rem;
  }
  
}

@media only screen and (max-width: 640px) {
  .header_logo img {
    width: 75%;
  }
  .header_right .header_nav ul li {
    width: 100%;
  }

}

@media screen and (max-width: 480px) {
  .header_links_btnset {
    flex-direction: column;
  }
}

/* ページネーション */
.page-numbers {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.page-numbers a {
  display: block;
  padding: 10px;
  color: #ED6D20;
  text-decoration: none;
  border: 1px solid #ED6D20;

  transition: 0.3s;
}
.page-numbers a:hover {
  background: #ED6D20;
  color: #fff;
}

.page-numbers.current {
  display: block;
  padding: 10px;
  color: #666;
  text-decoration: none;
  border: 1px solid #666;
}


/* single */
.single_backbtn {
  margin-top: 120px;
}

.single_backbtn a {
  width: 90%;
  max-width: 400px;
  height: 80px !important;
  border: 2px solid #2639A6;

  margin: auto;

  color: #fff;
  text-decoration: none;

  transition: 0.3s;
}
.single_backbtn a:hover {
  background: #fff;
  color: #2639A6;
}

.news_date_cat {
  display: flex;
  justify-content: flex-end;
  gap: 30px;
  margin-bottom: 60px;
}

.single_article p {
  margin-bottom: 2em;
}

.single_article figure {
  margin-bottom: 2em;
}

.single_article img {
  max-width: 100%;
}



/* 汎用 */
section {

}

.inner {
  max-width: 1100px;
  margin: auto;

  position: relative;
  z-index: 2;
}

.top_section hgroup h2 {
  font-family: 'roboto';
  font-size: 5.0rem;
  font-weight: 500;
  line-height: 1;
}
.top_section hgroup h2 > span:first-child {
  color: #ED6D20;
}

.top_section hgroup h2 small {
  margin-left: 10px;

  font-size: 1.8rem;

  padding-left: 33px;
  background: url("../images/icon_asmile.png") no-repeat;
}

.icon_out_orange {
  display: inline-block;
  color: #ED6D20 !important;

  padding-right: 24px;
  background: url("../images/icon_link_out.svg");
  background-repeat: no-repeat;
  background-position: right center;
}
.icon_out_orange:hover {
  text-decoration: underline;
}

.orange_border_box {
  padding: 30px 50px;
  background: #fff;
  border: 1px solid #ED6D20;
}

.border_box {
  padding: 15px;
  background: #fff;
  border: 1px solid #ccc;
}

.column_3_border_box {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
}
.column_3_border_box > div {
  padding: 15px;
  background: #fff;
  border: 1px solid #ccc;

  display: flex;
  justify-content: center;
  align-items: center;
}

.bg_white {
  background: #fff;
  padding: 70px;
}

.indent {
  text-indent: -1.0em;
  padding-left: 1.0em;
  line-height: 1.65;
}
.mgl_indent { margin-left: 1em; }

.indent_12 {
  text-indent: -1.2em;
  padding-left: 1.2em;
  line-height: 1.65;
}
.indent_20 {
  text-indent: -2.0em;
  padding-left: 2.0em;
  line-height: 1.65;
}
.indent_30 {
  text-indent: -3.0em;
  padding-left: 3.0em;
  line-height: 1.65;
}
.indent_num {
  text-indent: -2.7em;
  padding-left: 2.7em;
  line-height: 1.65;
}
.mgl_indent_num { margin-left: 2.7em; }

.table_th60 tr th:first-child {
  width: 60%;
}

.font_1_8rem { font-size: 1.8rem; line-height: 32px; }
.font_2_0rem { font-size: 2.0rem; line-height: 35px; }

.greybox {
  background: #EEEEEE;
  padding: 40px;
}
.greybox_small {
  background: #EEEEEE;
  padding: 20px;
}
.ib_greybox {
  display: inline-block;
  background: #EEEEEE;
  padding: 20px;
}

@media only screen and (max-width: 1100px) {
  .top_section hgroup h2 {
    font-size: 4.0rem;
  }
}

@media screen and (max-width: 768px) {
  .bg_white {
    padding: 25px;
  }
}


@media only screen and (max-width: 640px) {
  .top_section hgroup h2 small {
    display: block;
    margin-top: 15px;
    margin-left: 0;
  }
}


.btn_border {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;

  width: max-content;

  padding: 13px;
  border-radius: 10px;
  border: 2px solid #ED6D20;
  background: #fff;

  color: #ED6D20 !important;
  font-size: 1.6rem;
  font-weight: bold;

  overflow: hidden;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}
.btn_border:hover {
  background: #ED6D20;
  color: #fff !important;
}

.btn_border span {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  height: 1em;
  padding-left: 30px;
  border-left: 1px solid #ED6D20;
}
.btn_border:hover span {
  border-left-color: #fff;
}

.btn_border .icon_btnarrow {
  display: block;
  width: 9.04px;
  height: 5.42px;

  stroke: #ED6D20;
}
.btn_border:hover .icon_btnarrow {
  animation: arrow-move 0.6s ease forwards;
  stroke: #fff;
}

.whitebox_link_arrow { /*白ボタン・橙矢印*/
  display: flex;
  justify-content: center;
  align-items: center;

  width: 24px;
  height: 24px;
  border: 1px solid #ED6D20;
  background: #f7f7f7;
  border-radius: 2px;

  overflow: hidden;
}

.whitebox_link_arrow .link_arrow {
  display: block;
  width: 9.04px;
  height: 5.42px;

  stroke: #ED6D20;
}

.orangebox_link_arrow { /*橙ボタン・白矢印*/
  display: flex;
  justify-content: center;
  align-items: center;

  width: 24px;
  height: 24px;
  background: #ED6D20;
  border-radius: 2px;

  overflow: hidden;
}

.orangebox_link_arrow .link_arrow {
  display: block;
  width: 9.04px;
  height: 5.42px;

  stroke: #fff;
}

a:hover .link_arrow {
  animation: arrow-move 0.6s ease forwards;
}

@keyframes arrow-move {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  40% {
    transform: translateX(20px);
    opacity: 0;
  }
  60% {
    transform: translateX(-20px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}


@media only screen and (max-width: 1024px) {

  
}

section .inner p {

}

h2 {

}


h3 {

}


/* メインビジュアル */
.main {
  display: grid;
  grid-template-columns: 20% 18% 62%;
  grid-template-rows: 100%;

  width: 100%;
  height: calc(70vh);
  min-height: 660px;

  position: relative;

  margin-top: 120px;
  margin-bottom: 65px;
}


.main h1 {
  display: flex;
  justify-content: center;
  gap: 0.5em;
  z-index: 2;

  position: absolute;
  top: 58.5vh;
  right: 0;

  width: 74%;

  color: #ED6D20;
  font-size: clamp(66px, 6vw, 140px);
  font-family: 'roboto';
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.05em;
}

.maincopy {
  grid-column: 2 / 3;
  grid-row: 1 / 2;

  width: 100%;
  height: 100%;

  writing-mode: vertical-rl;
  text-orientation: mixed;

  display: grid;
  place-items: center start;
  grid-auto-flow: column;

  justify-content: center;
}

.maincopy_inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  z-index: 2;
}

.maincopy p {
  font-size: clamp(38px, 3.45vw, 48px);
  font-weight: 500;
}

.maincopy::before {
  content: "";
  display: block;
  width: 676px;
  height: 676px;
  background: url("../images/mv_howa.png") no-repeat;

  position: absolute;
  right: 28%;
  top: 0;
}
.maincopy::after {
  content: "";
  display: block;
  aspect-ratio: 86/171;
  width: 40%;
  background: url("../images/mv_bubble02.svg") no-repeat;
  background-size: 100%;

  position: absolute;
  right: 8%;
  bottom: 5%;
}

.main-visual_left {
  grid-column: 1 / 2;
  grid-row: 1 / 2;

  width: 100%;
  height: 68%;

  align-self: end;

  overflow: hidden;
  border-top-right-radius: 10px;

  position: relative;
}

.main-visual_right {
  grid-column: 3 / 4;
  grid-row: 1 / 2;

  width: 100%;
  height: 91%;

  align-self: start;
  
  overflow: hidden;
  position: relative;
}
.main-visual_right::after {
  content: "";
  display: block;
  aspect-ratio: 134/129;
  width: 14%;
  background: url("../images/mv_bubble01.svg") no-repeat;
  background-size: 100%;

  position: absolute;
  right: -15px;
  top: 34px;
}

.main-visual_left img, .main-visual_right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-visual_left img {
  border-top-right-radius: 10px;
}

/* TOPアニメーション */
/* js-seq 初期状態 */
[class*="js-seq-"] {
  opacity: 0;
}

/* フェード方向オプション */
.js-fade-up {
  transform: translateY(1em);
}
.js-fade-down {
  transform: translateY(-1em);
}

/* popup-title */
.popup-title span {
  display: inline-block;
  opacity: 0;
}

/* zoom-img */
.zoom-img {
  transform: scale(1);
  will-change: transform;
}

@media screen and (max-width: 1100px) {
  .main {
    height: 80vw;
    min-height: auto;
    margin-top: 100px !important;
    margin-bottom: 40px;
  }
  .maincopy p {
    font-size: clamp(18px, 4.45vw, 35px);
  }

  .main h1 {
    top: auto;
    bottom: 5%;
    font-size: clamp(35px, 6vw, 70px);
  }


}

@media screen and (max-width: 840px) {
  .main {
    height: 70vw;
    grid-template-columns: 22% 20% 58%;
  }
  
  .main h1 {
    width: 66%;
    bottom: 14%;
  }

  .main-visual_right {
    height: 80%;
  }
  
}

@media screen and (max-width: 480px) {
  .main {
    margin-bottom: 20px;
  }

  .main h1 {
    font-size: clamp(25px, 6vw, 70px);
  }

  .maincopy p {
    font-size: clamp(16px, 3.45vw, 35px);
  }
}


/* TOPバナーエリア */
.header_banner {
  padding: 60px;
  background: #FBE9D8;
}

.header_banner .inner {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.header_banner .inner div {
  width: calc(100% - 20px);
}

.header_banner a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;

  width: 100%;
  height: 78px;

  color: #fff;
  font-size: 2.0rem;
  font-weight: bold;
  text-decoration: none;

  border-radius: 10px;
  padding: 15px 0;
  box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.16);

  background: linear-gradient(to right, #f69044 0%, #fb5a2e 50%, #f69044 100%);
  background-size: 200% 100%;
  background-position: 0% center;
  
  animation: slide-out 0.3s forwards;
  transition: 0.3s;
}

.header_banner a:hover {
  animation: slide-in 0.3s forwards;
  letter-spacing: 0.12em;
}

@keyframes slide-in {
  0% { background-position: 0% center; }
  100% { background-position: 100% center; }
}

@keyframes slide-out {
  0% { background-position: 100% center; }
  100% { background-position: 200% center; }
}

.icon_building {
  display: block;
  fill: white;
  width: 42px;
  height: 39px;
}

.icon_user {
  display: block;
  fill: white;
  width: 21px;
  height: 48px;
}

@media only screen and (max-width: 840px) {
  .header_banner .inner {
    flex-direction: column;
    gap: 20px;
  }
  .header_banner .inner div {
    width: 100%;
  }
  
}

@media screen and (max-width: 480px) {
  .header_banner {
    padding: 40px 20px;
  }
}


/* TOPお知らせ */
#news {
  padding: 80px 60px;

  position: relative;
  overflow: hidden;
}

#news::before {
  content: "";
  display: block;

  width: 41%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #FFF9F0;
  filter: blur(50px);

  position: absolute;
  left: -11%;
  top: -19%;
  pointer-events: none;
  z-index: -1;
}

#news::after {
  content: "";
  display: block;

  width: 31%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #FFF9F0;
  filter: blur(50px);

  position: absolute;
  right: -15%;
  bottom: -15%;
  pointer-events: none;
  z-index: -1;
}

#news .inner {
  display: flex;
  justify-content: space-between;
}

#news hgroup {
  margin-bottom: 35px;
}

.top_news_list {
  width: calc(100% - 370px);
}

.news_list li {
  margin-bottom: 15px;
  background: #fff;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
}

.news_list li a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 25px;

  border: 1px solid transparent;

  padding: 15px 25px;

  transition: 0.6s;
}
.news_list li a:hover {
  border: 1px solid #ED6D20;
}

.news_infowrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
}

.news_list_date {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;

  font-family: 'roboto';
  line-height: 1;
}

.news_list_date div:first-child {
  font-size: 1.4rem;
  font-weight: 500;
}

.news_list_date div:last-child {
  font-size: 4.0rem;
  font-weight: bold;
}

.news_list_category {
  width: 118px;
  border-radius: 5px;

  font-size: 1.4rem;
  line-height: 1;
  text-align: center;

  padding: 7px 0px 8px 2px;
}

.cat_important {
  color: #fff;
  background: #ED6D20;
}

.cat_info {
  background: #EEEEEE;
}

.news_list_posttitle {
  flex: 1;
}

.news_list a span {
  display: flex;
  align-items: center;
  justify-content: flex-end;

  height: 20px;
  padding-left: 30px;
  border-left: 1px solid #333;

  margin-left: auto;
}

.news_list a span .icon_newsarrow {
  display: block;
  width: 9.04px;
  height: 5.42px;

  stroke: #333;
}
.news_list a:hover .icon_newsarrow {
  animation: arrow-move 0.6s ease forwards;
}

@media only screen and (max-width: 1100px) { 
  .top_news_list {
    width: calc(100% - 300px);
  }
  .news_list li a {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
    position: relative;
  }
  .news_list_posttitle {
    font-size: 1.8rem;
  }
  .news_list a span {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media only screen and (max-width: 840px) {
  #news .inner {
    flex-direction: column;
    gap: 0px;
  }

  .top_news_list {
    width: 100%;
  }

  #news .top_news_ttl {
    display: contents;
  }

  #news .inner hgroup {
    order: 1;
  }

  #news .inner .top_news_list {
    order: 2;
  }

  #news .inner .btn_border {
    order: 3;
    margin: 40px auto 0;
  }

}

@media screen and (max-width: 480px) {
  #news {
    padding: 40px 20px;
  }
  .news_list a span {
    padding-left: 15px;
  }

}

/* TOPショッピングクレジットとは */
#credit {
  background: #F2F2F2;
  padding: 60px;
}

#credit a {
  display: flex;
  align-items: center;
  gap: 30px;

  padding: 15px;
  background: #fff;
  box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.16);

  border: 1px solid transparent;
  transition: 0.3s;
}
#credit a:hover {
  border: 1px solid #ED6D20;
}

.credit_photo {
  width: 48%;
  height: 100%;
  overflow: hidden;
}
.credit_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

  transition: 0.3s;
}

#credit a:hover .credit_photo img {
  transform: scale(1.1,1.1);
}

.credit_text {
  width: 48%;
  padding-left: 25px;
  padding-bottom: 10px;

  transition: 0.3s;
}


.credit_text_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 8px;
  border-bottom: 2px solid #DDDDDD;

  margin-bottom: 10px;
  position: relative;
}
.credit_text_ttl::after {
  content: "";
  display: block;

  width: 100px;
  height: 2px;
  background: #ED6D20;

  position: absolute;
  bottom: -2px;
}

.credit_text p {
  line-height: 3.0rem;
}

.credit_boxicon {
  align-self: flex-end;
  flex: 0 0 auto;
  margin-left: auto;
}

@media only screen and (max-width: 1100px) {
  #credit {
    padding: 60px;
  }

  #credit a {
    align-items: stretch;
  }
  .credit_photo {
    height: auto;
  }
}
@media only screen and (max-width: 840px) {
  #credit a {
    flex-direction: column;
    gap: 15px;
    padding: 25px;
  }
  .credit_photo, .credit_text {
    width: 100%;
    padding-left: 0;
  }
}

@media screen and (max-width: 480px) {
  #credit {
    padding: 40px 20px;
  }
  .credit_text_ttl {
    font-size: 2.0rem;
  }
}


/* TOP加盟店様向けサポート */
#stores {
  background: url("../images/top_bg_stores.jpg") no-repeat;
  background-size: cover;
  background-position: bottom -100px center;
  padding: 90px 60px 250px;
}

#stores hgroup {
  color: #fff;
}

.stores_btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;

  margin-top: 40px;
}

.stores_btn li {
  width: calc((100% - 80px) / 3);
}

.stores_btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;

  border-radius: 10px;
  background: #f7f7f7;
  padding: 40px 30px;

  font-size: 2.4rem;
  font-weight: bold;

  box-shadow: 0px 10px 99px rgba(0, 0, 0, 0.16);

  border: 2px solid transparent;

  transition: 0.3s;
  position: relative;
}
.stores_btn a:hover {
  color: #fff;
  background: #ED6D20;
}

.store_btn_icon {
  width: 62px;
  height: 56px;
  fill: #ED6D20;
  transition: 0.3s;
}

.stores_btn a:hover .store_btn_icon {
  fill: #fff;
}

.stores_btn a p span {
  display: block;
}

.stores_boxicon {
  position: absolute;
  right: 15px;
  bottom: 15px;
}

@media only screen and (max-width: 1300px) {
  .stores_btn a {
    font-size: 1.8rem;
  }
}

@media only screen and (max-width: 1100px) {
  #stores {
    background-position: bottom 0px center;
    padding: 90px 60px 120px;
  }

  .stores_btn {
    flex-direction: column;
    gap: 20px;
  }
  
  .stores_btn li {
    width: 100%;
  }

  .stores_btn a {
    font-size: 2.2rem;
    padding: 30px;
  }

  .stores_btn a p span {
    display: inline !important;
  }

}

@media screen and (max-width: 480px) {
  #stores {
    padding: 40px 20px 60px;
  }

  .stores_btn a {
    padding: 20px 40px 20px 20px;
    justify-content: flex-start;
  }

  .stores_btn a p span {
    display: block !important;
  }

}


/* TOP個人様向けサポート */
#personal {
  padding: 80px 0px 0;
  position: relative;
  overflow: hidden;
}

#personal::before {
  content: "";
  display: block;

  width: 41%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #FFF9F0;
  filter: blur(50px);

  position: absolute;
  right: -30px;
  top: 20px;
  pointer-events: none;
  z-index: -1;
}

.personal_btn {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 40px;
}

.personal_btn a {
  display: flex;
  justify-content: center;
  align-items: center;

  width: 100%;
  aspect-ratio: 455 / 200;

  text-decoration: none;

  transition: 0.3s;
  position: relative;
}

.personal_btn li {
  width: calc(100% / 3);
  overflow: hidden;
}

.personal_btn_higher {
  position: relative;
  z-index: 3;
}

.personal_btn a p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
}

.personal_boxicon {
  border: 1px solid #fff;
  position: absolute;
  right: 15px;
  bottom: 15px;
  z-index: 3;
}

.personal_btn_lower {
  position: absolute;
  top: 0;
  left: 0;

  width: 100%;
  aspect-ratio: 455 / 200;
}
.personal_btn_lower::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 455 / 200;
  background: rgba(0, 0, 0, 0.29);

  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.personal_btn_lower img {
  width: 100%;
  aspect-ratio: 455 / 200;

  object-fit: cover;
  object-position: center;
  transition: 0.3s;
}

.personal_btn a:hover .personal_btn_lower img {
  transform: scale(1.1,1.1);
}
@media only screen and (max-width: 1200px) {
  #personal .inner {
    padding: 0 60px;
  }
}
@media only screen and (max-width: 1100px) {
    #personal {
    padding-bottom: 40px;
  }

  .personal_btn li {
    width: 50%;
  }

  .personal_btn a p {
    font-size: 2.0rem;
  }

}
@media screen and (max-width: 768px) {
  #personal .inner {
    padding: 40px 20px 40px;
  }
  .personal_btn li {
    width: 100%;
  }
  .personal_btn a {
    aspect-ratio: 455 / 110;
  }

}


/* TOPお客様サポート */
#help {
  padding: 90px 60px;
  background: #FBE9D8;
}

.help_contact {
  margin-top: 40px;

  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.help_contact > div {
  width: calc(100% - 20px);
  background: #fff;
  border-radius: 10px;
  padding: 25px 20px;
}

.help_contact_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;

  font-size: 2.0rem;
  font-weight: bold;

  margin-bottom: 20px;
}

.icon_question {
  width: 26px;
  height: 26px;
}

.help_contact_btn {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.help_contact_btn a {
  width: calc(100% - 10px);
  display: flex;
  justify-content: space-between;
  align-items: center;

  color: #fff;
  text-decoration: none;

  background: #ED6D20;
  border: 1px solid #ED6D20;
  padding: 9px;
  border-radius: 10px;

  transition: 0.3s;
}
.help_contact_btn a span {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 1em;
  padding-left: 10px;
  border-left: 1px solid #fff;
  margin-left: auto;

  transition: 0.3s;
}
.help_contact_btn > a span .icon_helparrow {
  display: block;
  width: 9.04px;
  height: 5.42px;
  stroke: #fff;
}

.help_contact_btn a:hover {
  color: #ED6D20;
  background: #fff;
}

.help_contact_btn a:hover span {
  border-left: 1px solid #ED6D20;
}

.help_contact_btn a:hover .icon_helparrow {
  stroke: #ED6D20;
  animation: arrow-move 0.6s ease forwards;
}


.help_contact > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.heip_phonecall {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;

  color: #2639A6;
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 1;

  margin-top: -13px;
}
.heip_phonecall svg.icon_phonecall {
  margin-top: 4px;
  display: block;
  width: 22.455px;
  height: 30.832px;
}

.heip_phonecall_att {
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  margin-top: 8px;
}

@media only screen and (max-width: 1200px) {
  .help_contact_btn {
    flex-direction: column;
    gap: 10px;
  }

  .help_contact > div {
    width: 100%;
  }

}

@media only screen and (max-width: 840px) {
  .help_contact {
    flex-direction: column;
    gap: 20px;
  }
  

}

@media screen and (max-width: 480px) {
  #help {
    padding: 40px 20px;
  }

}

/* TOPサイトマップ */
#sitemap {
  padding: 60px;
  background: url("../images/top_bg_sitemap.jpg") no-repeat;
  background-size: cover;
  background-position: top center;
}

.top_sitemap {
  display: flex;
  justify-content: space-between;

  background: rgba(17, 17, 17, 0.8);
  border-radius: 10px;
  padding: 35px;
}

.top_sitemap ul {
  border-left: 1px solid #fff;
  padding-left: 30px;
}
.top_sitemap ul:first-child {
  border-left: 0;
  padding-left: 0;
}

.top_sitemap a {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: none;

  display: inline-block;
  margin-bottom: 2px;
}

.top_sitemap a::after {
  content: "";
  margin-top: 4px;
  display: block;
  height: 2px;
  width: 100%;
  background: #fff;

  transform: scale(0,1);
  transform-origin: left;
  transition: 0.3s;
}
.top_sitemap a:hover::after {
  transform: scale(1,1);
}

.top_sitemap a.sitemap_parent {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 12px;
}

@media only screen and (max-width: 1100px) {
  #sitemap {
    padding: 60px 0;
  }
  .top_sitemap {
    flex-wrap: wrap;
  }
  .top_sitemap ul {
    display: contents;
  }
  
  .top_sitemap ul li {
    width: 50%;
  }
  
  .top_sitemap_wrap {
    margin-top: 10px;
    border-top: 1px solid #707070;
    padding-top: 30px;

    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .top_sitemap a {
    margin-bottom: 8px;
    line-height: 1.3;
  }
  .top_sitemap a.sitemap_parent {
    margin-bottom: 0px;
  }

}

@media only screen and (max-width: 840px) {
  .top_sitemap ul li {
    width: 100%;
  }
}

@media screen and (max-width: 480px) {
  #sitemap {
    padding: 40px 20px;
  }
  footer #sitemap .inner {
    padding: 0 !important;
  }
  .top_sitemap {
    padding: 20px;
  }

  .top_sitemap_wrap {
    margin-top: 20px;
    padding-top: 20px;
  }

}




/* フッター */
footer {
  background: #555555;
  padding: 0px 0px 20px;
  color: #fff;

  font-size: 1.6rem;
  line-height: 3.0rem;
}

.footer_flex {
  margin-top: 60px;
  display: flex;
  justify-content: space-between;
}

.footer_flex p {
  margin-top: 25px;
}

.loan_att {
  background: #666666;
  padding: 30px 40px;
  border-radius: 10px;
}

.loan_att2 {
  font-size: 1.6rem;
  font-weight: bold;
  border: 1px solid #fff;
  padding: 15px 50px;

  margin: 45px 0;
}

.signiture {
  font-size: 1.4rem;
  text-align: center;
}

@media only screen and (max-width: 1100px) {
  footer .inner {
    padding: 0 40px;
  }
  .footer_flex {
    flex-direction: column;
    gap: 40px;
  }
}

@media screen and (max-width: 480px) {
  footer {
  }
  footer .inner {
    padding: 0 20px;
  }

  .loan_att, .loan_att2 {
    padding: 25px;
  }
}


/* サブページ */

.sub_header .inner,
.bread .inner,
.sub_content .inner {
  width: 92%;
}

.sub_header {
  margin-top: 120px;

  height: 300px;

  position: relative;
}

.sub_header .inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 300px;
}

.sub_header .sub_header_ttl {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
  padding: 25px 40px;

  font-size: 22px;
  font-weight: bold;

  position: relative;
  z-index: 2;
}
.sub_header .sub_header_ttl span {
  display: inline-block;
  padding-left: 40px;

  background: url("../images/icon_asmile.png") no-repeat;
  background-position: left center;
}

.sub_header img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}

.ob-top { object-position: top !important; }
.ob-center { object-position: center !important; }
.ob-bottom { object-position: bottom !important; }



.bread ul {
  margin: 20px 0 30px;
  display: flex;
  justify-content: flex-start;
  gap: 10px;

  font-size: 1.4rem;
  font-weight: bold;
}

.bread ul a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;

  color: #aaa;
}

.bread ul a::after {
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  background: #aaa;
  transform: rotate(25deg);
}

@media screen and (max-width: 640px) {
  .bread ul {
    flex-direction: column;
  }
  .bread ul a {
    justify-content: flex-start;
  }
}

.sub_content h2 {
  font-size: 3.0rem;
  font-weight: bold;
  padding-top: 20px;
  margin-bottom: 40px;
  position: relative;
}
.sub_content h2::before {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #ED6D20;
  position: absolute;
  top: 0;
}
.sub_content h2::after {
  content: "";
  display: block;
  width: calc(100% - 40px);
  height: 2px;
  background: #ddd;
  position: absolute;
  top: 0;
  right: 0;
}

.sub_content h3 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;

  font-size: 2.4rem;
  font-weight: bold;
  gap: 10px;

  margin-top: 50px;
  margin-bottom: 25px;
  position: relative;
}
.sub_content h3::before {
  content: "";
  display: block;
  flex-shrink: 0;

  margin-top: 15px;

  width: 28px;
  height: 5px;
  background: #ED6D20;
}

.sub_content h4 {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 7px;
  border-bottom: 1px solid #ED6D20;
}

.sub_content h5 {
  font-size: 2.0rem;
  font-weight: bold;
}
.sub_content h5 code {
  display: inline-block;
  background: #ED6D20;
  border-radius: 5px;
  padding: 8px 20px;

  color: #fff;
  line-height: 1;
  
  margin-right: 10px;
}

.section {
  margin-bottom: 95px;
}

.dl > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
}

.dt {
  flex-basis: 250px;

  padding: 15px 0;
  border-bottom: 1px solid #ccc;
}

.dd {
  flex-basis: calc(100% - 250px);

  padding: 15px 0;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 1100px) {
  .sub_header {
    margin-top: 100px;
  }


}


@media screen and (max-width: 768px) {
  
  .sub_header .sub_header_ttl {
    font-size: 2.0rem;
    padding: 18px 30px;
  }
  
  .sub_header,
  .sub_header .inner,
  .sub_header img {
    height: 240px;
  }




  .dl > div {
    flex-direction: column;
  }
  
  .dt {
    flex-basis: 100%;
    padding: 10px 0 5px;
    border-bottom: 0;
  }
  
  .dd {
    flex-basis: 100%;
    padding: 5px 0 10px
  }
  

}

.sub_content img {
  max-width: 100%;
}


.sub_content table, .sub_content table th, .sub_content table td {
  padding: 10px;
  border: 1px solid #ccc;
  border-collapse: collapse;

  font-size: 1.6rem;
}

.sub_content table th {
  background: #EEEEEE;
}
.sub_content table td {
  background: #fff;
}
.sub_content table td.td_color {
  background: #FBE9D8;
  padding: 10px 25px;
}

.table_width_15 {
  width: 15% !important;
}
.table_width_30 {
  width: 30% !important;
}

.sub_content p a {
  color: #ED6D20;
  text-decoration: underline;
}
.sub_content p a:hover {
  text-decoration: none;
}


.column_3 > div {
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

.column_3_box {
  width: calc((100% - 80px) / 3);
  border: 1px solid #ED6D20;
  padding: 30px 25px;

  background: #fff;
}

.column_3_box_ttl {
  color: #ED6D20;
  font-size: 2.0rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}


/* 会社概要 */
.about_otherpagelink {
  display: flex;
  justify-content: center;
  margin-top: 60px;
}
.about_otherpagelink a {
  width: 400px;
  padding: 25px 15px;
  border-radius: 5px;
  box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.16);

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;

  border: 1px solid transparent;

  transition: 0.3s;
}


.about_otherpagelink a p {
  margin: 0 10px 0 20px;
  font-size: 2.4rem;
  font-weight: bold;
}

.about_otherpagelink a:hover {
  border: 1px solid #ed6d20;
}

.corp_policy_wrap > div {
  display: flex;
  justify-content: center;
  gap: 40px;
}
.corp_policy_wrap > div > div {
  width: 50%;
}

.corp_policy > div {
  border: 2px solid #ed6d20;
  padding: 40px;

  display: flex;
  justify-content: center;
  align-items: flex-start;
}

.corp_policy_box_num {
  color: #ed6d20;
  font-size: 2.0rem;
  padding-right: 35px;
}

.corp_policy_box_text {
  font-size: 2.2rem;
  font-weight: bold;

  padding-left: 35px;
  border-left: 1px solid #ccc;
}

.slogan {
  padding: 80px 0;
  text-align: center;

  background: url("/wp2026/wp-content/uploads/2026/01/slogan.png") no-repeat;
  background-position: center;
  background-size: cover;

  position: relative;
}
.slogan::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;

  position: absolute;
  left: 0;
  top: 0;

  background: transparent;
  backdrop-filter: blur(27.63319969177246px);
  --webkit-backdrop-filter: blur(27.63319969177246px);
  background-color: rgba(255, 255, 255, 0.12);
}

.slogan_01 {
  font-size: 3.0rem;
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
}
.slogan_02 {
  color: #ED6D20;
  font-size: 3.0rem;
  font-weight: bold;
  
  margin-bottom: 10px;
  position: relative;
  z-index: 2;
}
.slogan_03 {
  font-size: 2.0rem;
  position: relative;
  z-index: 2;
}

.check {
  padding-left: 19px;
  position: relative;
  margin-bottom: 1em;
}
.check::before {
  content: "";
  display: block;
  width: 9px;
  height: 6px;
  color: #ed6d20;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.828 6.225'%3E%3Cpath d='M9,12l1.5,1.5a.707.707,0,0,0,1,0L15,10' transform='translate(-7.586 -8.586)' fill='none' stroke='%23ed6d20' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;

  position: absolute;
  top: 8px;
  left: 0;
}


@media screen and (max-width: 768px) {
  .corp_policy_wrap > div {
    flex-direction: column;
  }
  .corp_policy_wrap > div > div {
    width: 100%;
  }

  .about_otherpagelink > div {
    width: 100%;
  }

  .about_otherpagelink a {
    max-width: 90%;
    margin: auto;
  }

  .about_otherpagelink a img {
    width: 33%;
  }

  .about_otherpagelink a p {
    font-size: 2.0rem;
  }

  .corp_policy > div {
    justify-content: flex-start;
  }

  .slogan {
    padding: 50px 20px;
  }

  .slogan_01 {
    font-size: 2.7rem;
  }
  .slogan_02 {
    font-size: 2.7rem;
  }
  .slogan_03 {
    font-size: 1.8rem;
  }

}





.catch {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.table_melit .td_firts {
  width: 20%;
  text-align: center;
  font-weight: bold;
}

.table_melit .td_color {
  width: 25%;
  padding: 10px 30px;
  text-align: left;
  font-weight: bold;
}

.flow-container > div {
  display: flex;
  justify-content: space-between;
  width: 100%;
  overflow: hidden; 
}

.flow-step {
  flex: 1;
  position: relative;
  padding: 30px 23px 30px 40px;
  color: #333;
  
  clip-path: polygon(
    0% 0%,
    calc(100% - 30px) 0%,
    100% 50%,
    calc(100% - 30px) 100%,
    0% 100%,
    30px 50%
  );
  
  margin-left: -30px; 
  
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 120px;
}

.flow-step figure {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step_01 { background: #f2f2f2; }
.step_02 { background: #e9e9e9; }
.step_03 { background: #dddddd; }
.step_04 { background: #cccccc; }
.step_05 { background: #ed6d20; }

.flow-step .flow_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin: 0 0 10px 0;
  text-align: center;
}

.flow-step p {
  font-size: 1.3rem;
  margin: 0;
  line-height: 1.5;
}

.flow-step:first-child {
  margin-left: 0;
  padding-left: 20px;
  clip-path: polygon(
    0% 0%, 
    calc(100% - 30px) 0%, 
    100% 50%, 
    calc(100% - 30px) 100%, 
    0% 100%
  );
}

.flow-step:last-child {
  color: #fff;
  padding-right: 20px;
  clip-path: polygon(
    0% 0%,
    100% 0%,
    100% 100%,
    0% 100%,
    30px 50%
  );
}

.service_list > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.service_list_box {
  width: calc((100% / 5) - 20px);
  background: #fff;
  padding: 30px;

  text-align: center;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

.credit_prtext {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  .column_3 > div {
    flex-direction: column;
  }
  .column_3_box {
    width: 100%;
  }

  .flow-container > div {
    flex-direction: column;
  }

  .flow-step:first-child {
    clip-path: none;
  }
  
  .flow-step {
    width: 100%;
    margin: 0 0 50px 0;
    padding: 25px;
    clip-path: none;

    position: relative;
  }

  .flow-step::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-right: 4px solid #ed6d20;
    border-bottom: 4px solid #ed6d20;
    transform: rotate(45deg);

    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    margin: auto;
  }

  .flow-step:last-child {
    padding: 25px;
    clip-path: none;
  }
  
  .flow-step:last-child::after {
    display: none;
  }

  .flow-step p {
    font-size: 1.6rem;
    text-align: left;
  }
  .flow-step p br {
    display: none;
  }

  
  .service_list_box {
    width: calc((100% / 2) - 10px);
  }

  .service_list > div::after {
    content: "";
    width: calc((100% / 2) - 10px);
  }



}



.btn_overtext {
  font-size: 2.4rem;
}

.btn_orange {
  text-align: center;
}

.btn_orange a {
  background: #ED6D20;
  border: 2px solid transparent;
  border-radius: 10px;

  height: 115px;
  padding: 0 34px;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;

  box-shadow: 0px 10px 99px rgba(0, 0, 0, 0.16);

  position: relative;
  transition: 0.3s;
}

.btn_orange a svg {
  flex-shrink: 0;
  color: #fff;
}

.btn_orange a p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
}

.btn_orange a .whitebox_link_arrow {
  position: absolute;
  right: 10px;
  bottom: 10px;
}


.btn_orange a:hover {
  background: #fff;
  border: 2px solid #ED6D20;
}
.btn_orange a:hover p {
  color: #ED6D20;
}
.btn_orange a:hover svg {
  color: #ED6D20;
}


.btn_orange_border a {
  background: #fff;
  border: 2px solid #ED6D20;
  border-radius: 10px;

  padding: 20px 35px;

  color: #333;
  font-size: 2.2rem;
  font-weight: bold;
  
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;

  position: relative;
  transition: 0.3s;
}
.btn_orange_border a:hover {
  background: #ED6D20;
  color: #fff;
}
.btn_orange_border a .whitebox_link_arrow {
  background: #fff;
}

.btn_blue {
  text-align: center;
}

.btn_blue a {
  background: #2639A6;
  border: 2px solid transparent;
  border-radius: 10px;

  height: 115px;
  padding: 0 34px;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;

  box-shadow: 0px 10px 99px rgba(0, 0, 0, 0.16);

  transition: 0.3s;
  position: relative;
}

.btn_blue a svg {
  flex-shrink: 0;
  color: #fff;
}

.btn_blue a img {
  width: 50px;
  height: 50px;
}

.btn_blue a p {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
}

.btn_blue a .whitebox_link_arrow {
  position: absolute;
  right: 10px;
  bottom: 10px;

  border: 1px solid #2639A6;
}
.btn_blue a .whitebox_link_arrow .link_arrow {
  stroke: #2639A6;
}

.btn_blue a:hover {
  background: #fff;
  border: 2px solid #2639A6;
}
.btn_blue a:hover p {
  color: #2639A6;
}
.btn_blue a:hover svg {
  color: #2639A6;
}



.btn_white {
  text-align: center;
}

.btn_white a {
  background: #fff;
  border: 2px solid transparent;
  border-radius: 10px;

  height: 115px;
  padding: 0 34px;

  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;

  box-shadow: 0px 10px 99px rgba(0, 0, 0, 0.16);

  transition: 0.3s;
  position: relative;
}

.btn_white a svg {
  flex-shrink: 0;
  color: #ED6D20;
}

.btn_white a p {
  color: #ED6D20;
  font-size: 2.4rem;
  font-weight: bold;
}
.btn_white a svg {
  color: #ED6D20;
}
.btn_white a .orangebox_link_arrow {
  position: absolute;
  right: 10px;
  bottom: 10px;
}

.btn_white a:hover {
  border: 2px solid #ED6D20;
}


.btn_grade a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;

  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-decoration: none;

  border-radius: 10px;
  padding: 15px 0;
  box-shadow: 0px 10px 50px rgba(0, 0, 0, 0.16);

  background: linear-gradient(to right, #f69044 0%, #fb5a2e 50%, #f69044 100%);
  background-size: 200% 100%;
  background-position: 0% center;
  
  animation: slide-out 0.3s forwards;
  transition: 0.3s;
}

.btn_grade a:hover {
  animation: slide-in 0.3s forwards;
  letter-spacing: 0.12em;
}





@media screen and (max-width: 1100px) {
  .btn_overtext {
    font-size: 2.0rem;
  }

  .btn_white a p, .btn_blue a p, .btn_orange a p {
    font-size: 2.0rem;
  }



}

@media screen and (max-width: 640px) {
  .btn_orange a,
  .btn_blue a,
  .btn_white a {
    justify-content: flex-start;
    text-align: left;
  }



}


/* form */
.section_form dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.section_form dl dt {
  width: 310px;
  border-bottom: 1px solid #ccc;
  padding: 30px 30px 30px 0;

  display: flex;
  justify-content: space-between;
  align-items: center;
}

.hissu {
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 1;

  background: #ED6D20;
  padding: 5px 10px;
}

.section_form dl dd {
  flex: 1;
  border-bottom: 1px solid #ccc;
  padding: 30px 0;

  display: flex;
  align-items: center;
}

/* input */
.section_form input {
  padding: 15px;
  background: #FBE9D8;
  border: 1px solid #CCCCCC;
  border-radius: 10px;
  transition: 0.3s;
}
.section_form input:focus {
  background: #fff;
  outline: 0;
}
.section_form input:not(:placeholder-shown) {
  background: #fff;
}
input:-internal-autofill-selected {
  background-color: #fff !important;
}

.input_price {
  gap: 15px;
}

.input_price input {
  margin: 0 !important;
}
/* select */
.section_form select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.4' height='6.1' viewBox='0 0 9.4 6.1'%3E%3Cpath d='M6.7,8.1,2,3.4,3.4,2,6.7,5.3,10,2l1.4,1.4Z' transform='translate(-2 -2)' fill='%23666'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) 50%;
  background-size: 9.4px 6.1px;
  padding-right: 40px;

  padding: 15px 40px 15px 25px;
  width: 280px;
  background-color: #FBE9D8;
  border: 1px solid #CCCCCC;
  border-radius: 10px;

  transition: 0.3s;
}
select:has(option[value=""]:checked) {
  background-color: #FBE9D8;
}
.section_form select:focus {
  background-color: #fff;
  outline: 0;
}
select:not(:placeholder-shown) {
  background-color: #fff;
}

/* radio */
.section_form input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 30px;
  height: 30px;
  border: 1px solid #ccc;
  border-radius: 50%;
  position: relative;
  cursor: pointer;
  outline: none;
  background: #fff;

  margin-right: 15px;
}

.section_form input[type="radio"]:checked::after {
  content: "";
  width: 18px;
  height: 18px;
  background: #ED6D20;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}

/* checkbox */
.section_form .checkbox {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}

.section_form .checkbox input {
  position: absolute;
  opacity: 0;
}

.section_form .checkbox .box {
  width: 30px;
  height: 30px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  position: relative;
}

.section_form .checkbox .wpcf7-form-control-wrap {
  display: none;
}

.section_form .checkbox:has(input:checked) .box {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='11.034' viewBox='0 0 16 11.034'><path d='M6.345,11.034,0,4.69,1.287,3.4,6.345,8.368,14.713,0,16,1.287Z' fill='%23ed6d20'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 11px;
}

.section_form_checkbox {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 30px;
}

/* label */
.section_form label {
  display: flex;
  align-items: center;
  margin-right: 2em;
  cursor: pointer;
}

.section_form label input,
.section_form label select {
  margin: 0 15px;
}

.input_full {
  width: 100%;
}

.input_column_1 {
  width: 650px;
}

.input_years_date {
  width: 200px !important;
}
.input_years_month {
  width: 100px !important;
}

.input_addresnumber {
  width: 100px;
}

.input_address_last {
  width: 430px;
}

.input_short {
  width: 200px;
}
.input_short_150 {
  width: 150px;
}

.input_att {
  font-size: 1.4rem;
}

.input_tel1 {
  width: 130px;
  margin-right: 10px;
}

.input_tel2 {
  width: 130px;
  margin: 0 10px;
}

.input_tel3 {
  width: 130px;
  margin-left: 10px;
}


@media screen and (max-width: 640px) {
  .input_addresnumber {
    width: 90px;
  }
  .input_tel1, .input_tel2, .input_tel3 {
    width: 26%;
  }
  
}

.table_inputform {
  width: 100%;
}

.table_inputform td,
.table_inputform th {
  padding: 15px !important;
}

.mgl0 {
  margin-left: 0 !important;
}

.form_privacy {
  text-align: center;
}

.form_privacy p {
  text-align: center;
  margin-bottom: 35px;
}

.form_privacy .icon_out_orange {
  margin: auto;
}

.form_privacy_check {
  width: 100%;
  display: block;
  margin: 45px 0 30px;

  padding: 30px 20px;
  background: #FBE9D8;
}

.form_privacy_check .checkbox .box {
  width: 30px;
  height: 30px;
  border: 1px solid #ccc;
  border-radius: 10px;
  background: #fff;
  position: relative;
}
.form_privacy_check .checkbox input:checked + .box {
  background-color: #ED6D20;
  border: 1px solid #ED6D20;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='11.034' viewBox='0 0 16 11.034'><path d='M6.345,11.034,0,4.69,1.287,3.4,6.345,8.368,14.713,0,16,1.287Z' fill='%23fff'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 11px;

}

.section_from_submit {
  text-align: center;
}

.section_from_submit input {
  display: inline-block;
  width: 290px;

  border: 0;
  cursor: pointer;

  color: #fff;
  font-size: 2.4rem;
  background-color: #ED6D20 !important;
  border: 2px solid #ED6D20;
  padding: 20px;
  border-radius: 10px;

  transition: 0.3s;
}
.section_from_submit input:hover {
  background: #fff !important;
  color: #ED6D20;
}
.section_from_submit input:disabled {
  background: #ccc !important;
  border: 2px solid #ccc;
}
.section_from_submit input:disabled:hover {
  color: #fff !important;
}

@media screen and (max-width: 1100px) {
  .section_form dl dd {
    display: block;
  }
  .input_column_1, .input_address_last {
    width: 100% !important;
  }
  .section_form label {
    margin-bottom: 10px;
  }
  .section_form label input {
    margin-left: 0 !important;
  }

  .input_att, .guide_app dd small {
    display: block;
    margin-top: 10px;
  }

  .sp_column {
    flex-direction: column;
    align-items: flex-start !important;
    margin-right: 0 !important;
  }
  .sp_column input, .sp_column select {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .address_label {
    display: block;
    margin-bottom: 10px;
  }

  .span_inputleft {
    margin-right: 10px;
  }


}


@media screen and (max-width: 640px) {
  .section_form dl {
    flex-direction: column;
  }
  
  .section_form dl dt, .section_form dl dd {
    width: 100%;
    flex: 0;
  }

  .section_form dl dt {
    background: #eaeaea;
    border: 0; 
    padding: 15px !important;
  }
  .section_form dl dt.sp_dt_none {
    padding: 0 !important;
  }
  .section_form dl dd {
    border: 0;
    padding: 20px 0px 40px !important;
  }

  .section_from_submit input, #back-btn {
    font-size: 1.8rem !important;
  }

}

/* 確認画面 */
.section_from_submit_confirm {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;

  padding-bottom: 33px;

  position: relative;
}

.section_confirm input,
.section_confirm select {
  background: #ededed !important;
}
#back-btn {
  display: inline-block;
  width: 220px;

  border: 0;
  cursor: pointer;

  font-size: 2.4rem;
  background-color: #ccc;
  border: 2px solid #ccc;
  padding: 20px;
  border-radius: 10px;

  transition: 0.3s;
}
#back-btn:hover {
  background: #fff;
}

.section_from_submit_confirm .wpcf7-spinner {
  position: absolute;
  bottom: 0;
}

/* contact form 7 */
/* 会社概要照会フォーム */
.input_addresnumber {
  margin: 0 15px;
}
.mgl0 {
  margin-left: 0 !important;
}
div.wpcf7 .wpcf7-spinner {
  display: block;
}

/* お申し込みはこちら */
.guide_app dd {
  flex-wrap: wrap;
}
.guide_app dd small {
  width: 100%;
  margin-top: 10px;
}

/* 確認画面 */
/* 確認画面内のフォーム操作を無効化 */
.section_confirm select,
.section_confirm input[type="radio"],
.section_confirm input[type="checkbox"],
.section_confirm .wpcf7-list-item {
  pointer-events: none;  /* マウス操作（クリック）を禁止 */
  tab-index: -1;         /* キーボード操作でのフォーカスを禁止（簡易的） */
}

/* 読み取り専用っぽく見た目をグレーにする */
.section_confirm select {
  background-color: #eee; /* 薄いグレー背景 */
  color: #555;            /* 文字色を少し薄く */
  border: 1px solid #ccc;
  
  /* ▼セレクトボックスの「▼」矢印を消してテキストっぽく見せる（お好みで） */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-left: 10px; /* 見た目の調整 */
}


/* guide */
.strongpoint > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}

.strongpoint_box > div {
  min-width: 340px;

  position: relative;
  background: #EEEEEE;
  padding: 25px;

  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 15px;
}

.strongpoint_box_ttl {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}
.strongpoint_box_att {
  font-size: 1.6rem;
}

.st_01 > div::before {
  content: "01";
  color: #ED6D20;
  font-size: 5.0rem;
  font-family: 'roboto';

  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -40%);
}

.st_02 > div::before {
  content: "02";
  color: #ED6D20;
  font-size: 5.0rem;
  font-family: 'roboto';

  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -40%);
}

.st_03 > div::before {
  content: "03";
  color: #ED6D20;
  font-size: 5.0rem;
  font-family: 'roboto';

  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -40%);
}

.st_04 > div::before {
  content: "04";
  color: #ED6D20;
  font-size: 5.0rem;
  font-family: 'roboto';

  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -40%);
}

.st_05 > div::before {
  content: "05";
  color: #ED6D20;
  font-size: 5.0rem;
  font-family: 'roboto';

  position: absolute;
  left: 0;
  top: 0;
  transform: translate(-30%, -40%);
}

.hensai_plan td {
  text-align: right;
}

.hensai_plan tr td:first-child,
.hensai_plan tr td:nth-child(2),
.hensai_plan tr td:nth-child(3) {
  text-align: center;
}

.table_rent_ttl {
  padding: 10px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  background: #FBE9D8;

  text-align: center;
  font-weight: bold;
}

.loan_flow .flow-step > div {
  text-align: center;
}

.table_loan_gift {
  margin-top: 30px;
}

.table_loan_gift tr th:first-child {
  background: #ED6D20;
  color: #fff;
}

.table_loan_gift tr td:first-child {
  background: #FBE9D8;
  font-weight: bold;
}

.table_loan_gift tr td {
  text-align: center;
}



.customer_message_box {
  width: calc(50% - 20px);
  padding: 30px;
  background: #fff;
  border: 1px solid #ccc;
}
.customer_message_box_column_01 {
  width: 100% !important;
}

.customer_message_box_ttl {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.customer_message_box_flex > div {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}

.customer_message_box_voice {
  flex: 1;

  background: #FBE9D8;
  padding: 20px;
  border-radius: 10px;

  font-size: 1.6rem;
  line-height: 3.0rem;

  position: relative;
}
.customer_message_box_voice::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: #FBE9D8;

  transform: rotate(45deg);

  position: absolute;
  left: -13px;
  top: 30px;
}

@media screen and (max-width: 768px) {
  .customer_message_box_flex > div {
    flex-direction: column;
    gap: 10px;
  }

  .customer_message_box_voice::before {
    transform: rotate(135deg);
  
    position: absolute;
    left: 40px;
    top: -9px;
  }
}

.refinancing_loan_point_wrap > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 40px;
}

.refinancing_loan_point_wrap > div >.wp-block-group {
  display: flex;
  justify-content: center;
  align-items: center;
  
  background: #EEEEEE;
  padding: 30px 20px;
}

.refinancing_loan_point {
  text-align: center;
  font-size: 1.8rem;
}


.refinancing_loan_point_att {
  font-size: 1.4rem;
  margin-top: 10px;
}
.refinancing_loan_point_wrap > div >.wp-block-group:first-child,
.refinancing_loan_point_wrap > div >.wp-block-group:nth-child(2),
.refinancing_loan_point_wrap > div >.wp-block-group:nth-child(3) {
  width: calc(33% - 26px);
}

.refinancing_loan_point_wrap > div >.wp-block-group:nth-child(4),
.refinancing_loan_point_wrap > div >.wp-block-group:nth-child(5) {
  width: calc(50% - 20px);
}

.refinancing_loan_point_wrap_4column > div > .wp-block-group {
  width: calc(50% - 20px) !important;
}

@media screen and (max-width: 768px) {
  .refinancing_loan_point_wrap > div {
    flex-direction: column;
    gap: 20px;
  }
  .refinancing_loan_point_wrap > div >.wp-block-group:first-child,
  .refinancing_loan_point_wrap > div >.wp-block-group:nth-child(2),
  .refinancing_loan_point_wrap > div >.wp-block-group:nth-child(3),
  .refinancing_loan_point_wrap > div >.wp-block-group:nth-child(4),
  .refinancing_loan_point_wrap > div >.wp-block-group:nth-child(5) {
    width: 100%;
  }
  .refinancing_loan_point_wrap_4column > div > .wp-block-group {
    width: 100% !important;
  }
  .refinancing_loan_point_wrap > div >.wp-block-group {
    justify-content: flex-start;
  }
  .refinancing_loan_point {
    text-align: left;
  }
}

.refinancing_loan_gassan > div {
  display: flex;
  justify-content: center;
  gap: 60px;

  font-weight: bold;
}
.refinancing_loan_gassan > div > div:last-child {
  text-align: right;
}

.refinancing_loan_gassan code {
  font-size: 2.0rem;
}

.refinancing_loan_infomation {
  background: #FBE9D8;
  border: 3px solid #ED6D20;
  padding: 25px 50px;
}

.refinancing_loan_infomation_ttl {
  font-size: 2.4rem;
  font-weight: bold;
  color: #ED6D20;
  margin-bottom: 10px;
}

.refinancing_loan_infomation_result {
  font-size: 1.6rem;
  font-weight: bold;
}
.refinancing_loan_infomation_result strong {
  font-size: 3.0rem;
}

.refinancing_loan_infomation_price {
  margin-top: 30px;
  border-top: 3px solid #ED6D20;
  border-bottom: 3px solid #ED6D20;
  padding: 20px 0;

  font-weight: bold;
}

.refinancing_loan_infomation_price > div {
  display: flex;
  justify-content: center;
  gap: 80px;
}

.refinancing_loan_infomation_price_1column {
  margin-top: 30px;
  border-top: 3px solid #ED6D20;
  border-bottom: 3px solid #ED6D20;
  padding: 20px 0;

  font-weight: bold;
  text-align: center;
}
.refinancing_loan_infomation_price_1column > div {
  display: block !important;
}

.refinancing_loan_infomation_price strong {
  color: #ED6D20;
  font-size: 3.0rem;
}
.refinancing_loan_infomation_price_1column strong {
  color: #ED6D20;
  font-size: 3.0rem;
}

.refinancing_loan_infomation_price_down {
  background: #ED6D20;
  border-radius: 10px;
}

.refinancing_loan_infomation_price_down {
  display: inline-block;

  font-size: 2.0rem;
  font-weight: bold;
  color: #fff;
  text-align: center;

  padding: 10px 50px;
  border-radius: 10px;

  margin-top: 10px;

  position: relative;
}
.refinancing_loan_infomation_price_down::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: #ED6D20;

  transform: rotate(45deg);
  
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -5px;
}
.refinancing_loan_infomation_price_down code {
  font-size: 1.6rem;
}

.refinancing_loan_naiyo table {
  width: 100%;
}

.refinancing_loan_naiyo th {
  width: 25%;
}

.refinancing_loan_naiyo td {
  width: 75%;
}

.refinancing_loan_tdflex {
  display: flex;
  gap: 25px;
}
.refinancing_loan_tdflex > div {
  width: calc(50% - 25px);
}
.refinancing_loan_nenritsu {
  background-color: #FBE9D8;
  padding: 20px 30px;
}
.refinancing_loan_nenritsu div {
  padding: 10px 20px;

  display: flex;
  justify-content: space-between;
  align-items: center;

  border-bottom: 1px dotted #999;
}

@media only screen and (max-width: 1100px) {
  .refinancing_loan_tdflex {
    flex-direction: column;
    gap: 10px;
  }
  .refinancing_loan_tdflex > div {
    width: 100%;
  }
}


@media only screen and (max-width: 640px) {
  .refinancing_loan_nenritsu div {
    padding: 5px 10px;
    flex-direction: column;
    gap: 6px;
  
    border-bottom: 1px dotted #999;
  }
  .refinancing_loan_nenritsu div span {
    display: block;
    text-align: right;
  }
  .refinancing_loan_nenritsu div span::before {
    content: "→";
  }

  .refinancing_loan_infomation_price > div {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .refinancing_loan_infomation_price strong {
    font-size: 2.6rem;
  }
  .refinancing_loan_infomation_price_down {
    padding: 7px 50px;
  }
}

.refinancing_loan_hensai td {
  text-align: center;
}


.support_dl {
  margin-top: 30px;
}

.support_dl > div {
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #ccc;
}

.support_dl_dt {
  width: 120px;
  background: #FBE9D8;
  padding: 20px;
  border-bottom: 1px solid #ccc;
}

.support_dl_dd {
  width: calc(100% - 120px);
  padding: 20px;
  border-bottom: 1px solid #ccc;
}

.anchor {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px;
}

.anchor li {
  width: calc((100% / 3) - 10px);
}

.anchor a {
  display: flex;
  justify-content: center;
  align-items: center;

  color: #fff;
  font-size: 1.6rem;
  text-decoration: none;

  background: #ED6D20;
  border: 2px solid #ED6D20;
  padding: 15px 40px 15px 15px;
  border-radius: 10px;

  position: relative;
  transition: 0.3s;
}

.anchor a::after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 20px;
}

.anchor a:hover {
  color: #ED6D20;
  background: #fff;
}

.anchor a:hover::after {
  content: "";
  display: block;
  border-right: 2px solid #ED6D20;
  border-bottom: 2px solid #ED6D20;
}

/* 不妊治療サポートローン */
.infertility_treatment_point p {
  background: #fff;
  padding: 20px;
  margin-bottom: 10px;
  border: 1px solid #ED6D20;

}

.refinancing_loan_naiyo td .hunin_loan_innertable tr td {
  width: 20% !important;
}

/* 返済シミュレーション */
.form-block {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #ccc;
}
.form-lastblock {
  border-bottom: 1px solid #ccc;
}

.form-leftbox {
  width: 260px;
  background: #fff;
  padding: 20px 30px;

  font-size: 2.0rem;
  font-weight: bold;
}
.form-leftbox small {
  display: block;
  font-size: 1.4rem;
  font-weight: bold;
  margin-top: 6px;
}

.form-rightbox {
  flex: 1;
  padding: 20px 30px;
  background: #FBE9D8;

  display: flex;
  align-items: center;
}

.form-rightbox input {
  padding: 15px;
  background: #fff;
  border: 1px solid #CCCCCC;
  border-radius: 10px;
  transition: 0.3s;

  margin-right: 15px;
}

.form-rightbox select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.4' height='6.1' viewBox='0 0 9.4 6.1'%3E%3Cpath d='M6.7,8.1,2,3.4,3.4,2,6.7,5.3,10,2l1.4,1.4Z' transform='translate(-2 -2)' fill='%23666'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: calc(100% - 15px) 50%;
  background-size: 9.4px 6.1px;
  padding-right: 40px;

  padding: 15px 40px 15px 25px;
  width: 280px;
  background-color: #FBE9D8;
  border: 1px solid #CCCCCC;
  border-radius: 10px;

  transition: 0.3s;
}
.form-rightbox select:has(option[value=""]:checked) {
  background-color: #FBE9D8;
}
.form-rightbox .section_form select:focus {
  background-color: #fff;
  outline: 0;
}
.form-rightbox select:not(:placeholder-shown) {
  background-color: #fff;
}

.form-rightbox span {
  flex-shrink: 0;
}

.form-att_text {
  margin: 30px 0 50px;
}

.form-button {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.form-button button {
  display: block;
  width: 290px;
  outline: none;
  
  font-size: 2.4rem;
  padding: 15px;
  border-radius: 10px;
  transition: 0.3s;
  cursor: pointer;
}
.form-submit {
  color: #fff;
  background: #ED6D20;
  border: 2px solid #ED6D20;
}
.form-submit:hover {
  background: #fff;
  color: #ED6D20;
  border: 2px solid #ED6D20;
}

.form-clear {
  background: #ddd;
  border: 2px solid #ddd;
}
.form-clear:hover {
  background: #ababab;
  border: 2px solid #ababab;
}

.table-Repayment, .table-Repayment02 {
  width: 100%;
  margin: 50px 0 30px;
}

.table-Repayment td, .table-Repayment02 td {
  text-align: right;
}

.table-Repayment-iphone {
  margin: 20px 0;
}


.Repayment-Calculation, .Repayment-Calculation02 {
  width: 100%;
}

.RC-td01 {
  text-align: center;
}
.RC-tdRight {
  text-align: right;
}

.Repayment-txt02 {
  margin: 30px 0 50px;
  text-align: right;
}


.result_button {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.result_button > a {
  display: block;
  width: 290px;
  outline: none;
  
  font-size: 2.4rem;
  padding: 15px;
  border-radius: 10px;
  transition: 0.3s;
  cursor: pointer;
}

.result_button > a:first-child {
  width: 290px;

  color: #fff;
  background: #ED6D20;
  border: 2px solid #ED6D20;
  border-radius: 10px;
  height: 115px;
  padding: 0 34px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
  position: relative;
}
.result_button > a:first-child:hover {
  background: #fff;
  color: #ED6D20;
}

.result_button .btn_blue {
  width: 500px;
}

.Repayment-txt {
  margin-top: 30px;
}


@media screen and (max-width: 768px) {

  .form-block {
    flex-direction: column;
  }
  
  .form-leftbox {
    width: 100%;
  }
  
  .form-rightbox {
    width: 100%;
  }

  .result_button {
    flex-direction: column;
  }

  .result_button > a:first-child {
    width: 100%;
  }
  .result_button .btn_blue {
    width: 100%;
  }

}

/* お申し込みはこちら */
.privacy_scrollbox {
  border: 2px solid #383838;
  padding: 25px;
  height: 200px;
  background: #fff;

  overflow-y: scroll;
  margin: 30px 0 20px;
}

.privacy_scrollbox p {
  margin-bottom: 1em;
}

.application_privacy_accept {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin: 40px 0 40px;
}

.application_privacy_accept label {
  display: flex;
  align-items: center;

  cursor: pointer;
}

.application_privacy_accept input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  width: 30px;
  height: 30px;
  border: 1px solid #ccc;
  border-radius: 50%;
  position: relative;
  outline: none;
  background: #fff;

  margin-right: 15px;
}

.application_privacy_accept input[type="radio"]:checked::after {
  content: "";
  width: 18px;
  height: 18px;
  background: #ED6D20;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}

.application_privacy_btn {
  text-align: center;
}

.application_privacy_submit {
  display: inline-block;
  width: 290px;
  border: 0;
  cursor: pointer;
  color: #fff;
  font-size: 2.4rem;
  background-color: #ED6D20;
  border: 2px solid #ED6D20;
  padding: 20px;
  border-radius: 10px;

  cursor: pointer;
  transition: 0.3s;
}
.application_privacy_submit:hover {
  background: #fff;
  color: #ED6D20;
}

.privacy_error_message {
  text-align: center;
  margin-top: 20px;
}


/* 口座振替サービス */
.btn_orange a .icon_change {
  fill: #fff;
  transition: 0.3s;
}
.btn_orange a:hover .icon_change {
  fill: #ED6D20;
}


/* Q＆A */
.qanda_anchors > div {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
}

.qanda_anchors a {
  padding: 15px;
  border-radius: 5px;
  display: block;

  font-size: 1.6rem;
  font-weight: bold;
  text-decoration: none;
  text-align: center;

  background: #fff;
  border: 1px solid transparent;
  box-shadow: 0px 3px 30px rgba(0, 0, 0, 0.16);

  transition: 0.3s;
}

.qanda_anchors_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.qanda_anchors_inner .orangebox_link_arrow {
  transform: rotate(90deg);
}

.qanda_anchors a:hover {
  border: 1px solid #ED6D20;
}

/* qanda box */
/* --- ベーススタイル --- */
.qa_item {
  border: 1px solid #ED6D20;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 20px;
  overflow: hidden; /* 角丸からはみ出ないように */
}

/* --- 質問(Q) --- */
.qa_q {
  position: relative;
  cursor: pointer;
  padding: 25px 60px 25px 30px; /* 右パディングはアイコン分広めに */
  user-select: none;
  font-size: 2.2rem; /* 少し調整、必要に応じて変更可 */
  font-weight: bold;
  
  /* Qアイコンとテキストを横並びにする */
  display: flex;
  align-items: center;
  gap: 15px;
}

/* --- QとAのアイコン共通設定 (::beforeで生成) --- */
.qa_q::before,
.qa_a_inner::before {
  content: "Q"; /* デフォルトはQ */
  display: grid;
  place-items: center; /* 文字を上下左右中央へ */
  flex-shrink: 0; /* 縮まないように */
  
  width: 40px;
  height: 40px;
  border-radius: 50%;
  padding-bottom: 2px;
  
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
  background: #ED6D20; /* Qの色 */
}

/* --- 回答(A)のアイコン上書き設定 --- */
.qa_a_inner::before {
  position: absolute;
  left: 0;
  content: "A"; /* Aに書き換え */
  background: #666; /* Aの色 */
}

/* --- トグルボタン (＋－) の描画 --- */
/* 背景グラデーションを使って1つの要素で十字を作るテクニック */
.qa_q::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;

  /* グラデーションで線を2本引く */
  background: 
    linear-gradient(#ED6D20, #ED6D20) no-repeat center/100% 2px, /* 横線 */
    linear-gradient(#ED6D20, #ED6D20) no-repeat center/2px 100%; /* 縦線 */
}

/* --- オープン時の動き --- */
.qa_item.open .qa_q::after {
  transform: translateY(-50%) rotate(-180deg); /* 全体を回転 */
  /* 縦線の太さ(幅)を0%にして消すことで、横線と重なったように見せる */
  background-size: 100% 2px, 0% 100%; 
}

/* --- スライド開閉 (Gridアニメーション) --- */
.qa_a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease-out;
}

.qa_item.open .qa_a {
  grid-template-rows: 1fr;
}

/* --- 回答(A)の中身 --- */
.qa_a_inner {
  overflow: hidden;
  min-height: 0;
  
  /* Aアイコンとテキストのレイアウト */
  
  color: #666;
  padding: 0 0 0 55px; /* 横の余白のみ設定 */
  margin: 0 30px;
  position: relative;

  text-align: center;

  transition: padding 0.3s, margin 0.3s, border 0.3s;
  border-top: 1px solid transparent; /* ガタつき防止の透明線 */
}

/* 開いたときの余白調整 */
.qa_item.open .qa_a_inner {
  padding: 25px 0px 32px 55px; /* 上下の余白を追加 */
  border-top: 1px solid #CCCCCC;
}

/* 回答内のpタグの余白リセット（レイアウト崩れ防止） */
.qa_a_inner p {
  margin: 0 0 2em 0;
  text-align: left;
  line-height: 1.6;
  flex: 1;
}
.qa_a_inner p:last-child {
  margin-bottom: 0;
}

.qanda_contact {
  background: #fff;
  padding: 25px 30px;
  border-radius: 10px;
}

.qanda_contact .help_contact_ttl {
  font-size: 2.4rem;
  margin-bottom: 30px;
}

.qanda_contact .heip_phonecall_att {
  font-size: 1.6rem;
  margin-top: 15px;
}

/*
.contact_set {
  text-align: center;
  padding: 25px 30px;
  background: #fff;
  box-shadow: 0px 10px 99px rgba(0, 0, 0, 0.16);
}

.contact_set_ttl {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.contact_set_flex > div {
  display: flex;
  justify-content: center;
  gap: 40px;
}

.contact_set_tel, .contact_set_btn {
  background: #efefef;
  padding: 25px;
}

.contact_set_tel > div p:first-child {
  font-size: 3.0rem;
  font-weight: bold;

  display: flex;
  align-items: center;
  gap: 10px;
}

.contact_set_tel > div p:first-child span {
  display: flex;
  align-items: center;
}

.icon_callicon {
  display: inline-block;
  width: 36px;
  height: 36px;
  fill: #383838;
}

.contact_set_tel > div p:last-child {
  margin-top: 10px;
}
.contact_set_btn a {
  width: 90%;
  max-width: 400px;
  padding: 10px 20px;
  border-radius: 10px;

  background: #2639A6;
  border: 2px solid #2639A6;

  color: #fff !important;
  font-size: 2.0rem;
  font-weight: bold;
  text-decoration: none !important;

  transition: 0.3s;
}
*/

@media screen and (max-width: 768px) {
  .qanda_anchors > div {
    flex-direction: column;
  }
  .qanda_anchors a { 
    width: 100%;
  }
  .qanda_anchors_inner {
    justify-content: space-between;
  }
}


/* search */
.search_ttl {
  margin-top: 50px;

  font-size: 3.0rem;
  font-weight: bold;
  padding-top: 20px;
  margin-bottom: 40px;
  position: relative;
}
.search_ttl::before {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: #ED6D20;
  position: absolute;
  top: 0;
}
.search_ttl::after {
  content: "";
  display: block;
  width: calc(100% - 40px);
  height: 2px;
  background: #ddd;
  position: absolute;
  top: 0;
  right: 0;
}

.search_result {
  margin-bottom: 30px;
}

.search_result li {
  margin-bottom: 20px;
}

.search_result li > a {
  display: block;
  padding: 20px;
  border: 1px solid #383838;

  transition: 0.3s;
}
.search_result li > a:hover {
  border-color: #ED6D20;
}

.search_result_ttl {
  font-size: 2.0rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.highlight {
  display: inline-block;
  padding: 4px 8px;
  margin: 0 4px;
  background: yellow;
}


/* 404 */
.sitemap {
  border-top: 1px solid #ccc;
  padding: 30px 0;
}
.sitemap:last-child {
  border-bottom: 1px solid #ccc;
}

.sitemap > li {
  display: flex;
  justify-content: flex-start;
  gap: 30px;
}

.sitemap_link_parent {
  width: 25%;
  font-weight: bold;
  flex-shrink: 0;
}
.sitemap_link_parent a:hover {
  color: #ED6D20;
  text-decoration: underline;
}

.sitemap_inner a {
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  padding: 4px 0;
}
.sitemap_inner a::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 10px;
  height: 3px;
  margin-top: 10px;

  background: #ED6D20;
}
.sitemap_inner a:hover {
  color: #ED6D20;
  text-decoration: underline;
}


/* 汎用svg */
.icon_shiharaisimu {
  width: 62px;
  height: 52px;
}

.icon_pen {
  width: 50px;
  height: 50px;
}

.icon_coin {
  width: 48px;
  height: 56px;
}

.icon_kariire {
  width: 46px;
  height: 57px;
}

.icon_change {
  width: 50px;
  height: 50px;
}
