@charset "UTF-8";
/* CSSリセット
--------------------------------------------------------------------------------------------------------------------------------------------- */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

ol,ul {
  list-style: none;
}

fieldset, img {
  border: 0;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
  font-weight: normal;
}

strong {
  font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix::after {
  content: "";
  clear: both;
  height: 0;
  display: block;
  visibility: hidden;
}

/* COMMON */
html {
  font-size: 1.189vw;/* w:1345px,f:16px */
  &.overflow_hidden {
    overflow: hidden;
  }
}
@media screen and (max-width: 750px) {
  html {
    font-size: 3.46vw;/* w:750px,f:26px */
  }
}
body {
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1em;
  font-weight: 500;
  color: #333333;
  line-height: 1.75;
  letter-spacing: 0.04em;
}
a {
  color: inherit;
  text-decoration: none;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
}
@media screen and (min-width: 751px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
picture {
  display: block;
}
img {
  display: block;
  max-width: 100%;
  width: 100%;
}
svg:not([fill]) {
  fill: currentColor;
}
svg:not(:root) {
  overflow: hidden;
}
svg {
  display: inline-block;
  * {
    transition-duration: 0s;
  }
}
.hidden {
  display: none !important;
}
.show {
  display: block !important;
}
.is_inline_block {
  display: inline-block;
}
.is_pc {
  display: block !important;
}
.is_sp {
  display: none !important;
}
.is_pc_none {
  display: none !important;
}
@media screen and (max-width: 750px) {
  .is_pc {
    display: none !important;
  }
  .is_sp {
    display: block !important;
  }
  .is_pc_none {
    display: inline-block !important;
  }
}
.ta_left {
  text-align: left !important;
}
.ta_right {
  text-align: right !important;
}
.ta_center {
  text-align: center !important;
}
.td_underline {
  text-decoration: underline !important;
}
.mb_none {
  margin-bottom: 0 !important;
}

/* プレースホルダー */
/* Chrome, Safari 5+, Opera 15+, iOS, Android */
::-webkit-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #c3c3c3;
}
/* Firefox 18- */
:-moz-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #c3c3c3;
  opacity: 1;
}
/* Firefox 19+ */
::-moz-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #c3c3c3;
  opacity: 1;
}
/* IE 10+ */
:-ms-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #c3c3c3;
}
/* IE Edge */
::-ms-input-placeholder {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #c3c3c3;
}

/* フォーム */
input,
textarea {
  display: block;
  outline: none;
  width: 100%;
  padding: 0.625rem;
  background: #fff;
  border: solid 1px #e0e0e0;
  border-radius: 0;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  color: #333;
  &:focus {
    border-color: #f18d1e;
  }
}
input {
  height: 3.75rem;
}
textarea {
  resize: none;
}
select {
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: solid 1px #e0e0e0;
  outline: none;
  background: #fff;
  background-image: none;
  box-shadow: none;
  appearance: none;
  width: 100%;
  color: #333;
  height: 3rem;
  padding: 0 2rem 0 0.625rem;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 700;
  &::-ms-expand {
    display: none;
  }
}
.select_box {
  position: relative;
  &::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 0.75rem;
    transform: translateY(-50%);
    width: 0.625rem;
    aspect-ratio: 1/0.73;
    background: url(../images/common/icon_equilateral_triangle_orange.png) center / contain no-repeat;
  }
}

button,
input[type=submit],
input[type=button] {
  height: auto;
  appearance: button;
  box-sizing: border-box;
  background: transparent;
  border: none;
  border-radius: 0;
  font-family: "Noto Sans JP", sans-serif;
  color: inherit;
  cursor: pointer;
  transition-duration: 0.3s;
  white-space: normal;
}
button::-webkit-search-decoration,
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
button:focus,
input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -2px;
  outline: none;
}

#menu_btn {
  display: none;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background-color: #fff;
  box-shadow: 0 7px 6px rgba(0, 0, 0, 0.13);
  z-index: 99;
}
.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-inline: 4.6% 1.07%;
}
.header_logo {
  max-width: 161px;
  width: 100%;
  margin-right: 6px;
  a {
    display: block;
  }
}
.header_right_block {
  display: flex;
  align-items: center;
}
.header_login_btn {
  position: relative;
  display: block;
  width: 32px;
  aspect-ratio: 1/1;
  border: solid 1px #e0e0e0;
  border-radius: 50%;
  text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: url(../images/common/icon_login.png) center / contain no-repeat;
  }
}
.pc_header_menu {
  display: flex;
  width: 12.32em;
  margin-left: 1.375em;
  font-weight: 700;
}
.header_faq_btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 0.5em;
  min-height: min(4.75vw,64px);
  background-color: #f18d1d;
  border-radius: 64px 0 0 64px;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}
.header_apply_btn {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  padding: 0.5em;
  min-height: min(4.75vw,64px);
  background-color: #469b39;
  border-radius: 64px;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  .sub_text {
    display: inline-block;
    position: relative;
    padding-inline: 0.6em;
    font-size: 0.75em;
    &::before,&::after {
      content: " ";
      position: absolute;
      bottom: 0;
      width: 1px;
      height: 1.25em;
      background-color: #fff;
    }
    &::before {
      left: 0;
      transform: rotate(-20deg);
    }
    &::after {
      right: 0;
      transform: rotate(20deg);
    }
  }
}

#gnav {
  flex: 1;
}
.header_nav {
  display: flex;
  font-size: 0.87rem;
  font-weight: 700;
  >li {
    margin-left: 2.14em;
  }
  a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 6.857em;
    &::after {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      background-color: #F5AA3B;
      opacity: 0;
    }
    &.current {
      &::after {
        opacity: 1;
      }
    }
  }
}
@media screen and (min-width: 751px) {
  .header_nav {
    white-space: nowrap;
  }
}
.sp_header_menu {
  display: none;
}
@media screen and (max-width: 750px) {
  #menu_btn {
    display: block;
    position: absolute;
    top: 0.73rem;
    right: 4vw;
    width: 1.53rem;
    aspect-ratio: 1/1;
    font-size: 0.53rem;
    font-weight: 500;
    line-height: 1.1;
    color: #f18d1e;
    z-index: 99;
    &.active {
      right: 4.8vw;
      .menu_line {
        top: 52%;
        width: 90%;
        &.menu_line_top {
          transform: rotate(45deg);
        }
        &.menu_line_center {
          transform: rotate(-45deg);
          margin-top: 0;
        }
        &.menu_line_bottom {
          display: none;
        }
      }
      .menu_text {
        display: none;
      }
    }
  }
  .menu_line {
    position: absolute;
    top: 20%;
    left: 10%;
    width: 75%;
    height: 1px;
    background-color: #F18D1E;
    border-radius: 2px;
    transition-duration: 0.3s;
    &.menu_line_top {
      margin-top: 0;
    }
    &.menu_line_center {
      margin-top: 17.5%;
    }
    &.menu_line_bottom {
      width: 45%;
      margin-top: 35%;
    }
  }
  .menu_text {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
  }
  .header {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.13);
  }
  .overflow_hidden {
    .header {
      top: 2.66vw;
      left: 2.66vw;
      right: 2.66vw;
      border-radius: max(1.34rem,17px);
    }
    .header_logo {
      left: 5.86VW;
    }
    .header_right_block {
      right: 4.8vw;
    }
  }
  .header_inner {
    display: block;
    min-height: 3.07rem;
    padding: 2.66vw 3.38% 5.33vw;
  }
  .header_logo {
    position: absolute;
    top: 1.07rem;
    left: 3.33VW;
    max-width: 5.76rem;
  }
  .header_right_block {
    position: absolute;
    top: .73rem;
    right: 4vw;
    margin-right: 2.23rem;
    display: block;
  }
  .header_login_btn {
    width: 1.53rem;
  }
  .pc_header_menu {
    display: none;
  }
  #gnav {
    flex: auto;
    display: none;
    visibility: hidden;
    opacity: 0;
    transition-duration: 0.3s;
    &[aria-hidden="false"] {
      display: block;
      visibility: visible;
      opacity: 1;
    }
  }
  .gnav_inner {
    padding-top: 4rem;
  }
  .gnav_scroll_area {
    max-height: calc(100dvh - 14vw);
    overflow-y: auto;
  }
  .header_nav {
    display: block;
    font-size: 1rem;
    >li {
      margin: 0;
      &:not(:last-child) {
        margin-bottom: 0.28rem;
      }
    }
    a {
      display: block;
      min-height: 0;
      padding: 0.84rem 2rem 0.84rem 0.76rem;
      background-color: #fef9f4;
      border-radius: 8px;
      &::after {
        bottom: auto;
        left: auto;
        top: 50%;
        right: 0.76rem;
        transform: translateY(-50%);
        width: 1.07rem;
        aspect-ratio: 1/1;
        height: auto;
        background: url(../images/common/icon_triangle_white_right.png) center / contain no-repeat #F5AA3B;
        border-radius: 50%;
        opacity: 1;
      }
    }
  }
  .sp_header_menu {
    display: block;
    margin-top: 2.3rem;
  }
  .sp_header_campaign_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: relative;
    width: 100%;
    min-height: 4.3rem;
    margin-top: 0.53rem;
    background-color: #f18d1e;
    border-radius: 4.3rem;
    font-size: 1.23rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    &::after {
      content: " ";
      position: absolute;
      top: 50%;
      right: 0.92rem;
      transform: translateY(-50%);
      width: 2rem;
      aspect-ratio: 1/1;
      background: url(../images/sp/common/arrow_orange.png) center / contain #fff no-repeat;
      border-radius: 50%;
    }
  }
  .sp_header_apply_btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    align-content: center;
    position: relative;
    width: 100%;
    min-height: 4.3rem;
    margin-top: 0.53rem;
    background-color: #479b38;
    border-radius: 4.3rem;
    font-size: 1.23rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    &::after {
      content: " ";
      position: absolute;
      top: 50%;
      right: 0.92rem;
      transform: translateY(-50%);
      width: 2rem;
      aspect-ratio: 1/1;
      background: url(../images/sp/common/arrow_orange.png) center / contain #fff no-repeat;
      border-radius: 50%;
    }
    .sub_text {
      display: inline-block;
      position: relative;
      margin-right: 2px;
      padding-inline: 1.08em;
      font-size: 0.75em;
      &::before,&::after {
        content: " ";
        position: absolute;
        bottom: 0;
        width: max(0.07rem,1px);
        height: 1.08em;
        background-color: #fff;
      }
      &::before {
        left: 0.41em;
        transform: rotate(-20deg);
      }
      &::after {
        right: 0.41em;
        transform: rotate(20deg);
      }
    }
  }
  .header_nav02 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 1.84rem 0 -0.46rem -1.45em;
    font-size: 0.84rem;
    text-align: center;
    color: #423f39;
    >li {
      margin: 0 0 0.46rem 1.45em;
      &:first-child {
        width: 100%;
      }
    }
    a {
      text-decoration: underline;
    }
  }
  .header_copyright {
    margin-top: 1.53rem;
    font-size: 0.76rem;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    color: #423f39;
  }
}

.footer {
  padding-top: 2.75vw;
  font-size: 0.875rem;
  color: #423f39;
}
.footer_wrap {
  padding-inline: 1.48vw;
}
.footer_logo {
  max-width: 12.63vw;
  margin: 0 auto 1.87em;
  a {
    display: block;
  }
}
.footer_nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 -10px -2.85em;
  font-weight: 700;
  >li {
    margin: 0 0 10px 2.85em;
  }
  a {
    position: relative;
    display: inline-block;
    padding-left: 0.74em;
    &::before {
      content: " ";
      position: absolute;
      top: 0.57em;
      left: 0;
      width: 0.57em;
      aspect-ratio: 1/1;
      border-radius: 2px;
      background-color: #f18d1e;
    }
  }
}
.footer_nav02 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 2.52vw 0 -10px -2.28em;
  text-align: center;
  >li {
    margin: 0 0 10px 2.28em;
  }
  a {
    display: inline-block;
    text-decoration: underline;
  }
}
.footer_copyright {
  margin-top: 2.6vw;
  padding: 1.375rem 20px;
  background-color: #f18d1e;
  font-size: 0.75rem;
  font-weight: 400;
  color: #fff;
  text-align: center;
}
.fixed_campaign {
  position: fixed;
  bottom: 0;
  right: 0;
  display: block;
  z-index: 90;
  width: 27.88%;
  a {
    display: block;
  }
  .campaign_close_btn {
    position: absolute;
    top: 4.8%;
    right: 5.33%;
    width: 10.48%;
    aspect-ratio: 1/1;
    background-color: #fff;
    border-radius: 50%;
    box-shadow: 0 0 15px rgba(0,0,0,0.31);
    font-size: 1.12rem;
    font-weight: 700;
    color: #469B39;
    line-height: 1;
    z-index: 1;
  }
}

@media screen and (max-width: 750px) {
  .footer {
    padding-top: 12.6vw;
    font-size: 0.92rem;
  }
  .footer_wrap {
    padding-inline: 5.33%;
  }
  .footer_logo {
    max-width: 48.98%;
    margin: 0 auto 8vw;
  }
  .footer_nav {
    margin: 0 0 -2rem -2.75em;
    >li {
      margin: 0 0 2rem 2.75em;
    }
  }
  .footer_nav02 {
    margin: 2.15rem 0 -0.61rem -1.41em;
    >li {
      margin: 0 0 0.61rem 1.41em;
      &:first-child {
        width: 100%;
      }
    }
  }
  .footer_copyright {
    margin-top: 8vw;
    padding: 1.23rem 5.33%;
    font-size: 0.76rem;
  }
  .fixed_campaign {
    left: 0;
    width: 100%;
    .campaign_close_btn {
      display: none;
    }
  }
}

.inner {
  padding-inline: 14.27%;
}
@media screen and (max-width: 750px) {
  .inner {
    padding-inline: 4.66%;
  }
}
.summary_text {
  font-weight: 700;
  text-align: center;
}
.color_orange {
  color: #f18d1e;
}
.bg_l_orange {
  background-color: #fef4eb;
  &.line_wave_before {
    position: relative;
    &::before {
      content: " ";
      position: absolute;
      top: -2.52vw;
      left: 0;
      right: 0;
      width: 100%;
      aspect-ratio: 1/0.068;
      background: url(../images/common/line_wave_l_orange.png) center / 100% repeat-x;
      pointer-events: none;
      z-index: 1;
    }
    >* {
      position: relative;
      z-index: 2;
    }
  }
  &.line_wave_after {
    position: relative;
    &:after {
      content: " ";
      position: absolute;
      bottom: -2.52vw;
      left: 0;
      right: 0;
      width: 100%;
      aspect-ratio: 1/0.068;
      background: url(../images/common/line_wave_l_orange.png) center / 100% repeat-x;
      pointer-events: none;
      z-index: 1;
    }
    >* {
      position: relative;
      z-index: 2;
    }
  }
}
@media screen and (max-width: 750px) {
  .bg_l_orange {
    &.line_wave_before {
      &::before {
        top: -3.4vw;
      }
    }
    &.line_wave_after {
      &:after {
        bottom: -3.4vw;
      }
    }
  }
}
.headline {
  font-size: 2.5rem;
  font-weight: 700;
  color: #4d4d4d;
  line-height: 1.13;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .headline {
    font-size: 1.53rem;
  }
}
.deco_headline {
  position: relative;
  min-height: 6.87rem;
  padding-bottom: 1.5rem;
  font-size: 2.5rem;
  font-weight: 700;
  color: #4d4d4d;
  line-height: 1.13;
  text-align: center;
  &::after {
    content: " ";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 3.15rem;
    aspect-ratio: 1/0.475;
    background: url(../images/common/icon_headline.png) center / contain no-repeat;
  }
  small {
    font-size: 0.8em;
  }
  sub {
    font-size: 0.55em;
    vertical-align: baseline;
  }
  .emphasis_text {
    display: inline-block;
    margin-top: 0.25em;
    padding: 0.1em 0.5em 0.15em;
    background-color: #f18d1f;
    color: #fff;
  }
}
@media screen and (max-width: 750px) {
  .deco_headline {
    min-height: 4.5rem;
    padding-bottom: 1.07rem;
    font-size: 1.53rem;
    &::after {
      width: 2.3rem;
    }
  }
}
.disc_list {
  li {
    position: relative;
    paddint-left: 1.5em;
    &:before {
      content: "●"
      postion: absolute;
      top: 0;
      left: 0;
      color: #f18d1d;
    }
  }
}
.btn_wrap {
  margin-top: 4.46vw;
  text-align: center;
}
.btn {
  display: inline-block;
  position: relative;
  padding: 0.9em 3.3em 0.9em 1.5em;
  background-color: #f18d1e;
  border-radius: 3em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  &::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 0.8em;
    transform: translateY(-50%);
    width: 1.8em;
    aspect-ratio: 1/1;
    background: url(../images/common/arrow_orange.png) center/ 42% no-repeat #fff;
    border-radius: 50%;
  }
}
.back_btn {
  display: inline-block;
  position: relative;
  padding: 0.9em 1.5em 0.9em 3.3em;
  background-color: #f18d1e;
  border-radius: 3em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  &::before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 0.8em;
    transform: translateY(-50%) rotate(-180deg);
    width: 1.8em;
    aspect-ratio: 1/1;
    background: url(../images/common/arrow_orange.png) center/ 42% no-repeat #fff;
    border-radius: 50%;
  }
}
@media screen and (max-width: 750px) {
  .btn_wrap {
    margin-top: 8.53vw;
  }
  .btn {
    display: block;
    padding: 0.615em 2.3rem;
    border-radius: 3em;
    font-size: 1rem;
    &::after {
      right: 0.69em;
      width: 1.38em;
      background-image: url(../images/sp/common/arrow_orange.png);
      background-size: contain;
    }
  }
  .back_btn {
    display: block;
    padding: 0.615em 2.3rem;
    border-radius: 3em;
    font-size: 1rem;
    &::before {
      left: 0.69em;
      width: 1.38em;
      background-image: url(../images/sp/common/arrow_orange.png);
      background-size: contain;
    }
  }
}

/* パンくずリスト */
.breadcrumb_wrap {
  margin-top: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
}
.breadcrumb_list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -1.428em;
  color: #423f39;
  >li {
    position: relative;
    margin-left: 1.428em;
    &:not(:first-child) {
      &::before {
        content: " ";
        position: absolute;
        top: 0.6em;
        left: -1.2em;
        transform: rotate(45deg);
        width: 0.5em;
        aspect-ratio: 1/1;
        border-top: solid 1px #f18d1d;
        border-right: solid 1px #f18d1d;
      }
    }
  }
  a {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .breadcrumb_wrap {
    margin-top: 0.38rem;
    font-size: 0.46rem;
  }
  .breadcrumb_list {
    display: flex;
    flex-wrap: wrap;
    margin-left: -1.428em;
    color: #423f39;
    >li {
      position: relative;
      margin-left: 1.428em;
      &:not(:first-child) {
        &::before {
          content: " ";
          position: absolute;
          top: 0.6em;
          left: -1.2em;
          transform: rotate(45deg);
          width: 0.5em;
          aspect-ratio: 1/1;
          border-top: solid 1px #f18d1d;
          border-right: solid 1px #f18d1d;
        }
      }
    }
    a {
      display: block;
    }
  }
}

.mv_wrap {
  position: relative;
  min-height: 39.1vw;
  padding: 6rem 4.98% 0;
  background-color: #fef4eb;
  z-index: 1;
  overflow: hidden;
  &::before {
    content: " ";
    position: absolute;
    top: 6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 40.59vw;
    aspect-ratio: 1/0.745;
    background: url(../images/common/mv_bg.png) top center / contain no-repeat;
    pointer-events: none;
    z-index: -1;
  }
}
.mv_headline {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  margin-top: 3vw;
  padding-inline: 4.98%;
  font-size: 3.375rem;
  font-weight: 700;
  text-align: center;
  &:has(.mv_headline_sub) {
    margin-top: 7vw; 
  }
}
@media screen and (max-width: 750px) {
  .mv_wrap {
    min-height: 57.33vw;
    padding: 2.92rem 4.66% 0;
    &::before {
      top: 2.92rem;
      width: 72.8vw;
      aspect-ratio: 1/0.745;
    }
  }
  .mv_headline {
    display: flex;
    flex-direction: column;
    justify-content: center;
    top: auto;
    bottom: 13%;
    transform: none;
    min-height: 2.48em;
    margin-top: 3rem;
    padding-inline: 6.7%;
    font-size: 2.07rem;
    line-height: 1.25;
    &:has(.mv_headline_sub) {
      margin-top: 0; 
    }
  }
}
.pagination {
  margin-top: 60px;
}
.page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 -0.5em -2em;
  >li {
    margin: 0 0 0.5em 2em;
  }
  .current {
    color: #f18d1e;
  }
}
.archive_wrap {
  padding: 0 10.26% min(5.2vw,70px) 14.27%;
  &:has(.column_card_wrap) {
    padding-top: 5.94vw;
  }
}
.post_list {
  font-weight: 500;
  >li {
    border-bottom: solid 1px #e7e7e7;
  }
  a {
    display: block;
    padding: 2rem 5.91%;
  }
  .date_category_block {
    position: relative;
    display: flex;
    align-items: flex-start;
    margin-bottom: 0.625rem;
    line-height: 1.5;
    &::before {
      content: " ";
      position: absolute;
      top: 0.5rem;
      left: -1.25rem;
      width: 0.5rem;
      aspect-ratio: 1/1;
      background-color: #F18D1E;
      border-radius: 2px;
    }
  }
  .date {
    display: block;
    width: 5.4em;
  }
  .category {
    display: inline-block;
    margin: 1px 0 0 0.625rem;
    padding: 1px 0.83em;
    background-color: #f18d1d;
    border-radius: 3px;
    font-size: 0.75rem;
    color: #fff;
    &.important {
      background-color: #eb5a25;
    }
  }
  .title {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.46;
  }
}
@media screen and (max-width: 750px) {
  .archive_wrap {
    padding: 6.66vw 4.66% 3.26vw;
    &:has(.column_card_wrap) {
      padding-top: 6.66vw;
    }
  }
  .post_list {
    a {
      padding: 1.34rem 2.94% 1.34rem 3.97%;
    }
    .date_category_block {
      margin-bottom: 0.38rem;
      &::before {
        top: 0.5rem;
        left: -0.73rem;
        width: 0.61rem;
        border-radius: 2px;
      }
    }
    .date {
      width: 5.4em;
    }
    .category {
      margin: 0.3rem 0 0 0.625rem;
      padding: 1px 0.625em;
      font-size: 0.61rem;
    }
  }
}

.page_content_wrap {
  width: 71.52%;
  margin-inline: auto;
  &:last-child {
    padding-bottom: min(5.2vw,70px);
  }
}
.page_body {
  padding-top: 2.5rem;
  line-height: 1.75;
  a {
    text-decoration: underline;
    &:hover{
      opacity: 0.8;
    }
  }
  a[href$=".pdf"],a[href$=".xlsx"],a[href$=".docx"] {
    &::after {
      content: "";
      display: inline-block;
      margin-left: 0.62rem;
      padding: 2px 10px;
      background-color: #eb5a25;
      border-radius: 3px;
      font-size: 0.75em;
      color: #fff;
      line-height: 1.1;
      vertical-align: baseline;
    }
  }
  a[href$=".pdf"] {
    text-decoration: none;
    &::after {
      content: "PDF";
    }
  }
  a[href$=".xlsx"] {
    text-decoration: none;
    &::after {
      content: "Excel";
    }
  }
  a[href$=".docx"] {
    text-decoration: none;
    &::after {
      content: "Word";
    }
  }
  .eyecatch {
    margin: 0 0 3rem;
    padding: 0;
    img {
      display: block;
      width: 100%;
      height: auto;
      object-fit: contain;
    }
  }
  h1 {
    margin-bottom: 2.5rem;
    font-size: 2.12rem;
    font-weight: 700; 
  }
  .column_title {
    font-size: 3rem;
  }
  h2 {
    position: relative;
    margin-bottom: 1.25rem;
    padding-block: 0.37rem 0.87rem;
    border-bottom: solid 4px #f18d1d;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.19;
    &:has(.number) {
      padding-left: 1em;
    }
    .number {
      position: absolute;
      top: 0.37rem;
      left: 0;
    }
  }
  h3 {
    position: relative;
    margin-bottom: 0.625rem;
    padding: 0.416em 0.75em;
    background-color: #fceada;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.58;
    &:has(.number) {
      padding-left: 1.75em;
    }
    .number {
      position: absolute;
      top: 0.416em;
      left: 0.75em;
    }
  }
  ol {
    list-style-type: none;
    counter-reset: item;
    li {
      position: relative;
      margin: 0 0 0 1em;
      &:not(:last-child) {
        margin-bottom: 0.5em;
      }
      &::before {
        counter-increment: item;
        content: counter(item)".";
        position: absolute;
        top: 0;
        right: 100%;
        text-align: right;
        white-space: nowrap;
      }
    }
    * {
      margin-bottom: 0;
    }
  }
  ul {
    li {
      position: relative;
      padding-left: 1.125em;
      &:not(:last-child) {
        margin-bottom: 0.5em;
      }
      &::before {
        content: " ";
        position: absolute;
        top: 0.68em;
        left: 0;
        width: 0.5em;
        aspect-ratio: 1/1;
        border-radius: 2px;
        background-color: #f18d1e;
      }
    }
    * {
      margin-bottom: 0;
    }
  }
  .link_list {
    >li {
      margin-bottom: 0;
      padding: 0;
      border-bottom: solid 1px #e7e7e7;
      &::before {
        display: none;
      }
    }
    a {
      position: relative;
      display: block;
      padding: 2rem 2.5em 2rem 3.75em;
      &::before {
        content: " ";
        position: absolute;
        top: 2.62em;
        left: 2.62rem;
        width: 0.5em;
        aspect-ratio: 1/1;
        border-radius: 2px;
        background-color: #f18d1e;
      }
    }
  } 
  img {
    max-width: 100%;
    width: auto;
  }
  .wp-block-column {
    img {
      width: 100%;
    }
  }
  .aligncenter{
    display: table;
  }
  .alignright{
    float: right;
    margin-left: 1.5em;
  }
  .alignleft{
    float: left;
    margin-right: 1.5em;
  }
  .legal_notice_table {
    th {
      position: relative;
      padding-right: 2em !important;
      white-space: nowrap;
      &::after {
        position: absolute;
        top: 0;
        right: 0;
        content: "：";
        display: inline-block;
      }
    }
  }
}
@media screen and (max-width: 750px) {
  .page_content_wrap {
    width: 90.66%;
    padding-top: 4vw;
    &:last-child {
      padding-bottom: 3.26vw;
    }
  }
  .page_body {
    padding-top: 1.07rem;
    line-height: 1.54;
    a[href$=".pdf"],a[href$=".xlsx"],a[href$=".docx"] {
      &::after {
        margin-left: 0.38rem;
        font-size: 0.75em;
      }
    }
    .eyecatch {
      margin: 0 0 2rem;
    }
    h1 {
      margin-bottom: 1.07rem;
      font-size: 1rem;
    }
    .column_title {
      font-size: 2rem;
    }
    h2 {
      margin-bottom: 0.61rem;
      padding-bottom: 0.15rem;
      border-width: max(0.15rem,2px);
      font-size: 1.53rem;
    }
    h3 {
      margin-bottom: 0.38rem;
      padding: 0.416em 1em 0.416em 0.69em;
      font-size: 1.15rem;
      &:has(.number) {
        padding-left: 1.69em;
      }
      .number {
        top: 0.416em;
        left: 0.69em;
      }
    }
    ul {
      li {
        padding-left: 1em;
        &:not(:last-child) {
          margin-bottom: 0.38em;
        }
        &::before {
          top: 0.5em;
          width: 0.61em;
        }
      }
    }
    .link_list {
      &:first-child {
        margin-top: 2.66vw;
      }
      a {
        padding: 1.23rem 0.15em 1.23rem 1.84em;
        &::before {
          top: 1.61em;
          left: 1.03rem;
          width: 0.61em;
        }
      }
    } 
    .alignright{
      float: none;
      margin-left: 0;
    }
    .alignleft{
      float: none;
      margin-right: 0;
    }
    .legal_notice_table {
      th {
        padding-right: 0 !important;
        white-space: normal;
        &::after {
          display: none;
        }
      }
      td {
        padding-bottom: 0.76rem !important;
      }
      .sme-font-size {
        font-size: 0.61em !important;
      }
    }
    .responsive_table {
      th {
        padding: 0.3rem 0.61rem !important;
        background-color: #f4f4f4 !important;
        border: none !important;
        line-height: 1.69 !important;
        font-weight: 700 !important;
      }
      td {
        padding: 0.38rem 0.61rem !important;
        border: none !important;
        line-height: 1.69 !important;
      }
    }
    .sp_small_text {
      font-size: 0.615em;
    }
  }
}

/* topページ */
.top_mv_section {
  position: relative;
  .annotation_list {
    margin: 1.26vw 10.85% 1.33vw 33.45%;
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1.2;
    color: #423f39;
    >li {
      &:not(:last-child) {
        margin-bottom: 1rem;
      }
    }
  }
}
.top_mv_wrap {
  padding: 9.06rem 10.85% 0;
  &::before {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 7.5%;
    width: 24.16%;
    aspect-ratio: 1/1.81;
    background: url(../images/pc/top/mv_person.png) top center / cover no-repeat;
    z-index: 2;
  }
}
.top_mv_headline {
  width: 51.52%;
  margin-left: 15.11%;
}
.top_mv_achievements {
  width: 35.26%;
  margin: 0.74vw 0 0 25.85%;
}
.top_mv_simulation_area {
  position: absolute;
  top: 13.31rem;
  right: 10.85%;
  width: 21.56rem;
  padding: 20px 1.5rem 1.875rem;
  background-color: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.13);
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 700;
  z-index: 1;
  .simulation_item {
    &:not(:last-child) {
      margin-bottom: 1.25rem;
    }
    &:first-child {
      select {
        border-color: #f18d1e;
      }
    }
    &:nth-child(2) {
      >dt {
        font-size: 0.75rem;
      }
    }
    >dt {
      margin-bottom: 0.625rem;
      color: #adadad;
    }
  }
  .result_btn {
    width: 100%;
    height: 3rem;
    margin: 1.68rem 0 0;
    padding: 0;
    background-color: #469b39;
    border-radius: 3rem;
    font-size: 1.168rem;
    font-weight: 700;
    color: #fff;
  }
}
.top_mv_simulation_text {
  margin-bottom: 1.25rem;
  .time {
    display: inline-block;
    position: relative;
    padding-inline: 0.45em;
    font-size: 1.42em;
    color: #f18d1e;
    line-height: 1.1;
    &::before,&::after {
      content: " ";
      position: absolute;
      bottom: 0;
      width: 2px;
      height: 0.75em;
      background-color: #f18d1e;
    }
    &::before {
      left: 0.1em;
      transform: rotate(-15deg);
    }
    &::after {
      right: 0.1em;
      transform: rotate(15deg);
    }
  }
  .unit {
    font-size: 0.6em;
  }
}
.top_mv_bottom_wrap {
  position: relative;
  margin-bottom: 1.85vw;
  padding: 0 10.85%;
  z-index: 1;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: #f18d1e;
    z-index: -1;
  }
  &::after {
    content: " ";
    position: absolute;
    bottom: -1.85vw;
    left: 50%;
    transform: translateX(-50%);
    width: 10.25%;
    aspect-ratio: 1/0.61;
    background: url(../images/common/icon_triangle_orange_bottom.png) center bottom / contain no-repeat;
    z-index: -1;
  }
  small {
    font-size: 0.659em;
  }
}
@media screen and (max-width: 750px) {
  .top_mv_section {
    position: relative;
    padding: 3.07rem 4% 0;
    .annotation_list {
      margin: 5.33vw 0 4vw;
      font-size: 0.615rem;
      line-height: 1.5;
    }
  }
  .top_mv_wrap {
    position: relative;
    padding: 3.77vw 0 1.33vw;
    &::before {
      bottom: 0;
      left: -3.76%;
      width: 48.69%;
      aspect-ratio: 1/1.5;
    }
  }
  .top_mv_headline {
    width: 61.15%;
    margin-left: auto;
  }
  .top_mv_achievements {
    width: 53.76%;
    margin: 3.05vw 0 0 44.49%;
  }
  .top_mv_simulation_area {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    padding: 1.3rem 2.89% 1.38rem;
    box-shadow: none;
    border: solid max(0.23rem,3px) #f18d1e;
    font-size: 1rem;
    .simulation_item {
      width: 45.83%;
      &:not(:last-child) {
        margin-bottom: 0;
      }
      &:nth-child(2) {
        >dt {
          font-size: 1rem;
        }
      }
      >dt {
        margin-bottom: 0.38rem;
      }
    }
    .result_btn {
      height: 2.15rem;
      margin: 1rem 0 0;
      font-size: 1.07rem;
    }
  }
  .top_mv_simulation_text {
    margin-bottom: 0.92rem;
    font-size: 1.07rem;
    text-align: center;
    .time {
      margin-right: 0.38rem;
      padding-inline: 0.48em;
      font-size: 1.25em;
      &::before,&::after {
        height: 0.71em;
      }
    }
  }
  .simulation_item_group {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .top_mv_bottom_wrap {
    margin-bottom: 3.86vw;
    padding: 0 4%;
    &::after {
      bottom: -3.86vw;
      width: 14.49%;
    }
  }
}

.top_benefits_section {
  padding: 7.13vw 11.59% 2.67vw;
  .img_headline {
    margin-bottom: 5.5vw;
  }
}
.top_benefit_content {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #fff;
  border: solid 2px #f18d1e;
  border-radius: 10px;
  &:nth-child(2) {
    margin-top: 6.69vw;
  }
  &:nth-child(3) {
    margin-top: 4.6vw;
  }
  .text_block {
    width: 50%;
  }
  .img_block {
    width: 50%;
  }
  img {
    height: auto;
  }
}
.top_benefit02_example_wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.top_benefit03_bottom {
  margin-top: 2.97vw;
}
@media screen and (max-width: 750px) {
  .top_benefits_section {
    padding: 9.33vw 4% 13.06vw;
    .img_headline {
      margin-bottom: 10.93vw;
    }
  }
  .top_benefit_content {
    display: block;
    border-width: max(0.15rem,2px);
    &:nth-child(2) {
      margin-top: 10.66vw;
    }
    &:nth-child(3) {
      margin-top: 10.66vw;
    }
    &:nth-child(4) {
      margin-top: 10.66vw;
    }
    .text_block {
      width: 100%;
    }
    .img_block {
      width: 100%;
    }
  }
  .top_benefit02_example_wrap {
    display: block;
  }
  .top_benefit03_bottom {
    margin-top: 0;
  }
}

.top_points_section {
  padding-block: 6.69vw 7.43vw;
  .img_headline {
    margin-bottom: 0.74vw;
  }
}
.top_points_text {
  margin-bottom: 1.48vw;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  color: #423f39;
}
@media screen and (max-width: 750px) {
  .top_points_section {
    padding-block: 10vw 6.66vw;
    .inner {
      padding-inline: 4%;
    }
    .img_headline {
      margin-bottom: 8.8vw;
    }
  }
  .top_points_text {
    margin-bottom: 4vw;
    font-size: 1.07rem;
    line-height: 1.43;
  }
}

.top_achievements_section {
  padding-block: 11.15vw 9.81vw;
  .img_headline {
    margin-bottom: 1.78vw;
  }
}
.top_achievements_wrap {
  .annotation_list {
    width: 91.45%;
    margin: 1.78vw auto 0;
    font-size: 0.625rem;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0.08em;
    color: #423f39;
    >li {
      &:not(:last-child) {
        margin-bottom: 1rem;
      }
    }
  }
}
.top_how_delivered_wrap {
  margin-top: 6.69vw;
  padding: 3.12vw 10.55% 4.75vw;
  background-color: #fef4d0;
  border-radius: 20px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 2;
  color: #423f39;
  .emphasized_text {
    display: block;
    margin-block: 1rem;
    font-size: 1.66em;
    color: #f18d1e;
    line-height: 1.25;
  }
}
.top_how_delivered_img {
  display: block;
  margin-top: 1.77vw;
  img {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .top_achievements_section {
    padding-block: 14.66vw 0;
    .inner {
      padding-inline: 4%;
    }
    .img_headline {
      margin-bottom: 7.2vw;
    }
  }
  .top_achievements_wrap {
    .annotation_list {
      width: 100%;
      margin: 5.33vw auto 0;
      font-size: 0.615rem;
      line-height: 1.5;
      letter-spacing: 0.04em;
      >li {
        &:not(:last-child) {
          margin-bottom: 1rem;
        }
      }
    }
  }
  .top_how_delivered_wrap {
    position: relative;
    margin-top: 8.53vw;
    padding: 5.33vw 0 6.93vw;
    border-radius: 0;
    font-size: 1.076rem;
    &::before {
      content: " ";
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      background-color: #fef4d0;
      z-index: -1;
      pointer-events: none;
    }
    .emphasized_text {
      margin-block: 0.3rem;
      font-size: 1.57em;
    }
  }
  .top_how_delivered_img {
    margin-top: 4vw;
  }
}

.top_voice_section {
  padding-block: 10.4vw 1.63vw;
  background-color: #fde9d6;
  .headline {
    margin-bottom: 3.42vw;
  }
}
.voice_wrap {
  position: relative;
  .slick-arrow {
    position: absolute;
    bottom: 0;
    right: 13.38%;
    width: 3.5rem;
    aspect-ratio: 1/1;
    margin: 0;
    padding: 0;
    border: none;
    outline: none;
    background: url(../images/common/arrow_orange.png) center/ 40% no-repeat #fff;
    border-radius: 50%;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    &.slick-prev {
      transform: scale(-1, 1);
      filter: FlipH;
      -ms-filter: "FlipH";
      margin-right: 5rem;
      background-image: url(../images/common/arrow_gray.png);
    }
  }
  .slick-dots {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    min-height: 3.5rem;
    margin: 2.63rem 26% 0;
    font-size: 0;
    line-height: 1;
    .slick-active {
      button {
        background-color: #F18D1E;
      }
    }
    button {
      display: block;
      margin: 0.25em;
      padding: 0;
      border: none;
      outline: none;
      width: 3rem;
      height: 0.37rem;
      border-radius: 0.37rem;
      background-color: #E0E0E0;
      text-indent: 100%;
      white-space: nowrap;
      overflow: hidden;
    }
  }
}
.voice_card {
  margin-inline: 1.33vw;
  padding: 1.5rem 1.62rem 2.23rem;
  background-color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.64;
  color: #423f39;
  .img_title_block {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.25rem;
    .icon {
      width: 5.125rem;
      margin: 0 0.625rem 0 0;
      text-align: center;
      img {
        width: 100%;
        aspect-ratio: 1/1;
        border: solid 0.25rem #FEF4EB;
        border-radius: 50%;
        object-fit: cover;
      }
      figcaption {
        margin-top: 0.125rem;
        font-size: 0.75rem;
        font-weight: 500;
        line-height: 1.2;
      }
    }
    .title {
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: center;
      min-height: 5.125rem;
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.63;
      color: #f18d1e;
    }
  }

  .voice_point_title {
    display: inline-block;
    margin-bottom: 0.875rem;
    padding: 1px 0.625rem;
    background-color: #f18d1e;
    border-radius: 1.66em;
    font-size: 0.857em;
    font-weight: 700;
    color: #fff;
  }
  .voice_point_benefit {
    position: relative;
    margin-top: 0.5rem;
    padding-top: 0.875rem;
    font-size: 0.857em;
    font-weight: 700;
    line-height: 1.83;
    color: #5d5d5d;
    &::before {
      content: " ";
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 0.187rem;
      background: url(../images/common/line_dot_orange.png) bottom left / 0.5rem space;
    }
  }
}
@media screen and (max-width: 750px) {
  .top_voice_section {
    padding-block: 12.53vw 6.13vw;
    .inner {
      padding-inline: 4%;
    }
    .headline {
      margin-bottom: 6.66vw;
    }
  }
  .voice_wrap {
    padding-bottom: 3.65rem;
    .slick-arrow {
      right: auto;
      left: 50%;
      transform: translateX(-50%);
      width: 2.3rem;
      &.slick-prev {
        transform: translateX(-50%) scale(-1, 1);
        margin: 0 0 0 -1.92rem;
      }
      &.slick-next {
        margin: 0 0 0 1.92rem;
      }
    }
    .slick-dots {
      min-height: 0;
      margin: 1.26rem 0 0;
      button {
        margin: 0.46em;
        width: 2.88rem;
        height: 0.35rem;
      }
    }
  }
  .voice_card {
    margin-inline: 4vw;
    padding: 0.76rem 0.92rem 1.53rem;
    border-radius: 1rem;
    font-size: 1.07rem;
    line-height: 1.57;
    .img_title_block {
      margin-bottom: 1rem;
      .icon {
        width: 5.96rem;
        margin: 0 0.615rem 0 0;
        img {
          border-width: max(0.25rem,3.25px);
        }
        figcaption {
          margin-top: 0.07rem;
          font-size: 0.8rem;
        }
      }
      .title {
        min-height: 5.96rem;
        font-size: 1.23rem;
        line-height: 1.56;
      }
    }
  
    .voice_point_title {
      margin-bottom: 0.76rem;
      padding: 1px 0.92rem;
      font-size: 0.92em;
    }
    .voice_point_benefit {
      margin-top: 1.07rem;
      padding-top: 1.07rem;
      font-size: 0.92em;
      line-height: 1.69;
      &::before {
        height: 3px;
        background-size: 8px;
      }
    }
  }
}

.top_cta_section {
  padding-block: 6.24vw;
  .headline {
    margin-bottom: 6.84vw;
    line-height: 1.45;
  }
}
@media screen and (max-width: 750px) {
  .top_cta_section {
    padding-block: 8vw 12vw;
    .inner {
      padding-inline: 4%;
    }
    .headline {
      margin-bottom: 8vw;
      line-height: 1.6;
    }
  }
}

.top_flow_section {
  padding-block: 5.94vw 10.35vw;
  .deco_headline {
    margin-bottom: 1.48vw;
  }
  .summary_text {
    margin-bottom: 3.34vw;
    color: #423f39;
  }
}
.top_flow_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: -36px 0 0 -3.61%;
}
.top_flow_column {
  position: relative;
  width: 29.71%;
  margin: 36px 0 0 3.61%;
  &::before {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%;
    transform: translateY(-50%);
    width: 6.41%;
    aspect-ratio: 1/1.676;
    margin-right: 2.93%;
    background: url(../images/common/icon_triangle_orange_right.png) center/ contain no-repeat;
  }
  &:nth-child(3n-2) {
    &::before {
      display: none;
    }
  }
}
.top_flow_sample {
  display: block;
  width: 90.17%;
  margin: 10.65vw auto 0;
}
@media screen and (max-width: 750px) {
  .top_flow_section {
    padding-block: 13.33vw 9.6vw;
    .inner {
      padding-inline: 4%;
    }
    .deco_headline {
      margin-bottom: 4.53vw;
    }
    .summary_text {
      margin-bottom: 7.2vw;
      font-size: 1.07rem;
    }
  }
  .top_flow_wrap {
    margin: -7.06vw 0 0;
  }
  .top_flow_column {
    width: 100%;
    margin: 7.06vw 0 0;
    &::before {
      top: auto;
      right: auto;
      bottom: 100%;
      left: 50%;
      transform: translateX(-50%) rotate(90deg);
      width: 2.75%;
      margin: 0 0 1.6vw;
    }
    &:nth-child(3n-2) {
      &::before {
        display: none;
      }
    }
  }
  .top_flow_sample {
    width: 83.62%;
  }
}

.top_column_section {
  padding-block: 5.94vw 4.46vw;
  .deco_headline {
    margin-bottom: 1.48vw;
  }
  .summary_text {
    margin-bottom: 3.34vw;
  }
}
.column_card_wrap {
  display: flex;
  flex-wrap: wrap;
  margin: -36px 0 0 -3.61%;
}
.column_card {
  width: 29.71%;
  margin: 36px 0 0 3.61%;
  a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px 16px;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 0 6px 0 rgba(0,0,0,0.16);
    color: #423f39;
  }
  .date {
    display: block;
    margin-bottom: 10px;
    font-size: 0.75rem;
    font-weight: 700;
    color: #adadad;
  }
  .img_box {
    width: 100%;
    aspect-ratio: 1/0.59;
    margin: 0 0 14px;
    img {
      display: block;
      width: 100%;
      height: 100%;
      border-radius: 8px;
      object-fit: cover;
    }
  }
  .category {
    display: inline-block;
    margin-bottom: 6px;
    padding: 1px 10px;
    border-radius: 0.83em;
    background-color: #fef4eb;
    font-size: 0.75rem;
    font-weight: 700;
    color: #f18d1e;
  }
  .title {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 1.64;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
  }
}
@media screen and (max-width: 750px) {
  .top_column_section {
    padding-block: 10vw 11.46vw;
    .inner {
      padding-inline: 4%;
    }
    .deco_headline {
      margin-bottom: 2.66vw;
    }
    .summary_text {
      margin-bottom: 5.86vw;
    }
  }
  .column_card_wrap {
    justify-content: space-between;
    margin: -4vw 0 0 0;
  }
  .column_card {
    width: 47.82%;
    margin: 4vw 0 0 0;
    a {
      padding: 2.13vw 4.54% 4vw;
    }
    .date {
      margin-bottom: 1.33vw;
      font-size: 0.769rem;
    }
    .img_box {
      margin-bottom: 1.86vw;
      img {
        border-radius: 10px;
      }
    }
    .category {
      margin-bottom: 0.15rem;
      padding: 1px 1.1em;
      font-size: 0.769rem;
    }
    .title {
      font-size: 1rem;
      line-height: 1.54;
    }
  }
}

.top_news_section {
  padding-block: 4.9vw 4.75vw;
  .deco_headline {
    margin-bottom: 3.71vw;
  }
}
.category_list {
  display: flex;
  margin-bottom: 36px;
  border-bottom: solid 1px #e0e0e0;
  color: #5d5d5d;
  font-size: 0.875rem;
  font-weight: 700;
  >li {
    position: relative;
    display: block;
    height: 100%;
    padding: 0 8px 10px;
    &.current {
      &::before {
        content: " ";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        margin-top: -1px;
        border-style: solid;
        border-width: 10px 7.5px 0 7.5px;
        border-color: #F18D1E transparent transparent transparent;
      }
      &::after {
        content: " ";
        position: absolute;
        bottom: -1px;
        left: 0;
        right: 0;
        height: 2px;
        background-color: #f18d1e;
      }
    }
  }
}
.tab_btn_list >li {
  cursor: pointer;
}
.tab_content {
  display: none;
  &.current {
    display: block;
  }
}
.news_list {
  font-size: 0.875rem;
  font-weight: 700;
  color: #423f39;
  >li {
    position: relative;
    &::after {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      background: url(../images/common/line_dot_gray.png) bottom left / 8px space;
    }
  }
  a {
    display: flex;
    position: relative;
    padding: 20px 20px 20px 8px;
    &::after {
      content: " ";
      position: absolute;
      top: 50%;
      right: 6px;
      transform: translateY(-50%);
      width: 15px;
      aspect-ratio: 1/1;
      background: url(../images/common/arrow_orange.png) center/ contain no-repeat;
    }
  }
  .date {
    display: block;
    width: 10.83em;
    margin-right: 1.25em;
    font-size: 0.857em;
    color: #5d5d5d;
  }
  .title {
    flex: 1;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
}
@media screen and (max-width: 750px) {
  .top_news_section {
    padding-block: 14.66vw 10.93vw;
    .inner {
      padding-inline: 4%;
    }
    .deco_headline {
      margin-bottom: 10.66vw;
    }
  }
  .category_list {
    margin-bottom: 0;
    border-width: max(0.15rem,2px);
    color: #5d5d5d;
    font-size: 1rem;
    a {
      padding: 0 1rem 0.61rem;
      &.current {
        &::before {
          margin-top: -0.5px;
          border-width: max(0.61rem,8px) max(0.48rem,6.25px) 0 max(0.48rem,6.25px);
        }
        &::after {
          bottom: min(-0.15rem,-2px);
          height: max(0.15rem,2px);
        }
      }
    }
  }
  .news_list {
    font-size: 1rem;
    a {
      padding: 2.15rem 2.07rem 2.15rem 0;
      &::after {
        right: 0.2rem;
        width: 1.15rem;
      }
    }
    .date {
      width: 5.83em;
      margin-right: 0.83em;
      font-size: 0.92em;
    }
  }
}

/* 料金シミュレーション */
.simulation_mv_wrap {
  position: relative;
  min-height: 31.25rem;
  padding: 6rem 4.98% 0;
  background-color: #fef4eb;
  z-index: 1;
  &::before {
    content: " ";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1rem;
    background-color: #f18d1d;
    z-index: 1;
    pointer-events: none;
  }
  &::after {
    content: " ";
    position: absolute;
    bottom: 0;
    right: 14.12%;
    width: 23.12%;
    aspect-ratio: 1/1.14;
    background: url(../images/pc/simulation/mv_deco.png) center bottom / contain no-repeat;
    pointer-events: none;
  }
}
.simulation_mv_headline {
  width: 71.37%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .simulation_mv_wrap {
    min-height: 0;
    padding: 3.07rem 4.66% 0;
    &::before {
      height: 0.53rem;
    }
    &::after {
      display: block;
      content: " ";
      position: static;
      bottom: auto;
      right: auto;
      width: 100%;
      aspect-ratio: 1/0.614;
      margin-top: 1rem;
      background-image: url(../images/sp/simulation/mv_deco.png);
    }
  }
  .simulation_mv_headline {
    width: 100%;
    margin: 1.15rem 0 0;
  }
}
.simulation_wrap {
  padding: 7.43vw 4.98% 8.92vw;
}
.simulation_grid {
  display: flex;
  flex-wrap: wrap;
  margin: -5rem 0 0 -5.98%;
}
.simulation_content {
  position: relative;
  width: 44.02%;
  margin: 5rem 0 0 5.98%;
  background-color: #fef4eb;
  border-radius: 12px;
  &:nth-child(even) {
    &::before {
      content: " ";
      position: absolute;
      top: 50%;
      right: 100%;
      transform: translateY(-50%);
      width: 3.53%;
      aspect-ratio: 1/2;
      margin-right: 5.12%;
      background: url(../images/common/icon_triangle_orange_right.png) center/ contain no-repeat;
    }
  }
}
.simulation_title {
  padding: 0.45em;
  background-color: #f18d1d;
  border-radius: 12px 12px 0 0;
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.5;
  .title_inner {
    display: inline-block;
    position: relative;
    padding-left: 5.12rem;
    &::before {
      content: " ";
      display: block;
      position: absolute;
      top: -1.88rem;
      left: 0;
      width: 4.62rem;
      aspect-ratio: 1/1;
      background: center / contain no-repeat #fff;
      border: solid 4px #f18d1d;
      border-radius: 50%;
    }
  }
  .icon_area {
    &::before {
      background-image: url(../images/common/icon_area.png);
    }
  }
  .icon_home {
    &::before {
      background-image: url(../images/common/icon_home.png);
    }
  }
  .icon_money {
    &::before {
      background-image: url(../images/common/icon_money.png);
    }
  }
}
.simulation_area {
  padding: 2.25rem 5.3%;
  .map_area {
    position: relative;
    width: 100%;
    aspect-ratio: 1/0.827;
    button {
      position: absolute;
      display: block;
      background-color: #fff;
      border: solid 0.25rem #f18d1d;
      border-radius: 0.75rem;
      box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.13);
      font-size: 0.93rem;
      font-weight: 700;
      color: #EB5A25;
      line-height: 1.5;
      text-align: center;
      &:hover,&.active {
        background-color: #f18d1d;
        color: #fff;
      }
    }
    .area_01 {
      top: 0;
      right: 0;
      width: 27.72%;
      aspect-ratio: 1/0.72;
    }
    .area_02 {
      top: 25.35%;
      right: 9.3%;
      width: 19%;
      aspect-ratio: 1/1.03;
    }
    .area_03 {
      top: 50%;
      right: 9.3%;
      width: 19%;
      aspect-ratio: 1/0.76;
    }
    .area_04 {
      top: 37.55%;
      right: 29.1%;
      width: 23.96%;
      aspect-ratio: 1/0.56;
    }
    .area_05 {
      top: 55.02%;
      right: 29.1%;
      width: 18.81%;
      aspect-ratio: 1/0.92;
    }
    .area_06 {
      bottom: 16.74%;
      left: 36.63%;
      width: 14.65%;
      aspect-ratio: 1/1.6;
    }
    .area_07 {
      bottom: 31.33%;
      left: 18.81%;
      width: 17.02%;
      aspect-ratio: 1/0.67;
    }
    .area_08 {
      bottom: 16.74%;
      left: 18.81%;
      width: 17.02%;
      aspect-ratio: 1/0.66;
    }
    .area_09 {
      bottom: 17.22%;
      left: 0;
      width: 17.02%;
      aspect-ratio: 1/1.046;
    }
    .area_10 {
      bottom: 0;
      left: 0;
      width: 17.02%;
      aspect-ratio: 1/0.79;
    }
  }
  .people_area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 -2.12rem 0;
    button {
      width: 47.43%;
      aspect-ratio: 1/0.77;
      margin: 0 0 2.12rem 0;
      background-color: #fff;
      border: solid 0.25rem #f18d1d;
      border-radius: 0.75rem;
      box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.13);
      font-size: 1.06rem;
      font-weight: 700;
      color: #333;
      line-height: 1.5;
      text-align: center;
      &:hover,&.active {
        background-color: #f18d1d;
        color: #fff;
        .icon {
          &.icon_people01 {
            background-image: url(../images/common/icon_people01_white.png);
          }
          &.icon_people02 {
            background-image: url(../images/common/icon_people02_white.png);
          }
          &.icon_people03 {
            background-image: url(../images/common/icon_people03_white.png);
          }
          &.icon_people04 {
            background-image: url(../images/common/icon_people04_white.png);
          }
          svg {
            color: #fff;
            stroke: #fff;
            fill: #fff;
          }
        }
      }
      .icon {
        display: block;
        width: 4.5rem;
        aspect-ratio: 1/0.84;
        margin: 0 auto;
        background: center / contain no-repeat;
        &.icon_people01 {
          background-image: url(../images/common/icon_people01.png);
        }
        &.icon_people02 {
          background-image: url(../images/common/icon_people02.png);
        }
        &.icon_people03 {
          background-image: url(../images/common/icon_people03.png);
        }
        &.icon_people04 {
          background-image: url(../images/common/icon_people04.png);
        }
        svg {
          width: 100%;
          aspect-ratio: 1/0.84;
          color: #f18d1d;
          stroke: #f18d1d;
          fill: #f18d1d;
        }
      }
    }
  }
}
.simulation_plan_wrap {
  padding: 6.98vw 4.98% 5.94vw;
}
.comparison_item_group {
  width: 18.25rem;
  border: solid 3px #f18d1d;
  border-radius: 12px;
}
.comparison_item {
  padding: 0.5rem 0.37rem 0.62rem;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  color: #f18d1d;
  line-height: 1.5;
  >dt {
    margin-bottom: 0.25rem;
    font-size: 1.5rem;
  }
  .number {
    font-family: "Roboto", sans-serif;
    font-style: italic;
    font-size: 2em;
    line-height: 1;
    letter-spacing: 0;
  }
}
.comparison_item_main {
  position: relative;
  padding-block: 2.25rem 0.875rem;
  background-color: #f18d1d;
  color: #fff;
  &:not(:first-child) {
    &::before {
      content: " ";
      position: absolute;
      top: -0.5rem;
      left: 50%;
      transform: translateX(-50%);
      width: 2.5rem;
      aspect-ratio: 1/0.5;
      background: url(../images/common/icon_triangle_white_bottom.png) center bottom / contain no-repeat;
    }
  }
  >dt {
    display: inline-block;
    margin-bottom: 0.625rem;
    padding: 0 2.25rem;
    background-color: #fff;
    border-radius: 2.25rem;
    color: #f18d1d;
  }
  >dd {
    font-size: 1.5rem;
  }
  .number {
    font-size: 1.66em;
  }
}
.simulation_plan_content {
  padding: 5.2vw 10.24%;
  background-color: #fff;
  border: solid 10px #f18d1d;
  border-radius: 22px;
}
.simulation_plan_title {
  margin-bottom: 3.125rem;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.13;
  color: #f18d1d;
  text-align: center;
}
.simulation_plan_text {
  margin-bottom: 2.75rem;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  color: #4f4e4d;
  line-height: 1.9;
}
.simulation_plan_example_wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.58;
  .comparison_item_group {
    margin: 0 -1.68rem 0 2rem;
  }
}
.simulation_plan_example_item {
  flex: 1;
  >dt {
    position: relative;
    margin-bottom: 1.87rem;
    padding: 0 0 0 8.93rem;
    color: #f18d1d;
    &::before {
      content: " ";
      position: absolute;
      top: -1.875rem;
      left: 0;
      width: 7.68rem;
      aspect-ratio: 1/1;
      background: url(../images/simulation/icon_simulation_plan_example.png) center / contain no-repeat #FFFAE3;
      border-radius: 50%;
      border: solid 1px #000;
    }
  }
  .price_text {
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #f18d1e;
    .number {
      font-family: "Roboto", sans-serif;
      font-style: italic;
      font-size: 2.22em;
      line-height: 1;
      vertical-align: baseline;
      letter-spacing: 0;
    }
    .marker {
      background:linear-gradient(transparent 75%, #f6e85d 75%, #f6e85d 95%,transparent 95%,transparent 100%);
      color: #eb5a24;
    }
  }
}
.simulation_result_content {
  display: none;
  position: relative;
  background-color: #fff;
  border-radius: 22px;
  z-index: 1;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: solid 10px #f18d1d;
    border-radius: 22px;
    z-index: -1;
    pointer-events: none;
  }
  .simulation_title {
    position: relative;
    &::after {
      content: " ";
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      width: 4.81rem;
      margin-top: -1px;
      aspect-ratio: 1/0.35;
      background: url(../images/common/icon_triangle_orange_bottom.png) bottom center / contain no-repeat;
    }
  }
}
.simulation_result_area {
  padding: 2.6vw 3.3% 2.97vw;
  .apply_btn {
    margin: 2.37rem auto 0;
  }
}
.compared_company_wrap {
  &:not(:last-child) {
    margin-bottom: 2.97vw;
  }
}
.compared_company_title {
  margin-bottom: 0.29vw;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}
.compared_company_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.select_company_area {
  width: 33.62%;
  margin-top: 1.63rem;
  border: solid 1px #f18d1e;
  border-radius: 11px;
}
.selected_company_name {
  position: relative;
  padding: 0.81rem 2.12rem 0.81rem 1rem;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
  &.active {
    &::after {
      transform: translateY(-50%) rotate(-180deg);
    }
  }
  &::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 1rem;
    transform: translateY(-50%);
    width: 0.9rem;
    aspect-ratio: 1/0.73;
    background: url(../images/common/icon_equilateral_triangle_orange.png) center / contain no-repeat;
    transition-duration: 0.3s;
  }
}
.select_company_list {
  display: none;
  padding-inline: 1rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  >li {
    border-top: dotted 3px #ADADAD;
  }
  label {
    display: block;
    padding-block: 1rem;
    cursor: pointer;
  }
  input {
    display: none;
  }
}
.simulation_result_item_group {
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
}
.simulation_result_item {
  position: relative;
  margin: 0 0 0 4.77%;
  padding-left: 5.13rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 4.62rem;
    aspect-ratio: 1/1;
    background: center / contain no-repeat #fff;
    border: solid 4px #f18d1d;
    border-radius: 50%;
  }
  &.icon_area {
    &::before {
      background-image: url(../images/common/icon_area.png);
    }
  }
  &.icon_home {
    &::before {
      background-image: url(../images/common/icon_home.png);
    }
  }
  small {
    font-size: 0.66em;
  }
}
.simulation_result_comparison_wrap {
  position: relative;
  min-height: 20.62rem;
  padding: 3.27vw 25.1vw 3.27vw 3.53%;
  border-radius: 8px;
  border: solid 6px #f7e65e;
  .comparison_item_group {
    position: absolute;
    top: 3.29vw;
    right: 3.53%;
  }
}
.simulation_result_comparison_text {
  margin-bottom: 1.48vw;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  .price_text {
    margin-left: -0.6rem;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #f18d1e;
    .number {
      font-family: "Roboto", sans-serif;
      font-style: italic;
      font-size: 6.66rem;
      line-height: 1;
      letter-spacing: 0;
      vertical-align: baseline;
    }
    .marker {
      font-size: 3.51rem;
      background:linear-gradient(transparent 75%, #f6e85d 75%, #f6e85d 95%,transparent 95%,transparent 100%);
      color: #eb5a24;
    }
  }
}
.monthly_fee_wrap {
  margin-right: 2.23vw;
  background-color: #fff;
  border-radius: 11px;
  border: solid 1px #f18d1e;
}
.monthly_fee_title {
  position: relative;
  padding: 1.06rem 2.5rem 1.06rem 1.87rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  &.active {
    &::after {
      transform: translateY(-50%) rotate(-180deg);
    }
  }
  &::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 1.125rem;
    transform: translateY(-50%);
    width: 0.875rem;
    aspect-ratio: 1/0.73;
    background: url(../images/common/icon_equilateral_triangle_orange.png) center / contain no-repeat;
    transition-duration: 0.3s;
  }
}
.monthly_fee_content {
  display: none;
  padding: 1rem 0.75rem 1rem 1.87rem;
}
.monthly_fee_table {
  width: 100%;
  font-size: 1rem;
  line-height: 1.5;
  text-align: right;
  thead {
    font-size: 1.5rem;
    th {
      padding-block: 0 1.87rem;
    }
  }
  tbody {
    tr {
      position: relative;
      &::after {
        content: " ";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 0.125rem;
        border-bottom: dotted 0.125rem #ADADAD;
      }
    }
  }
  th,td {
    padding: 0.31rem 1.87rem 0.375rem;
    font-weight: 700;
    &:first-child {
      padding-left: 0.625rem;
    }
  }
}
.simulation_disclosure_text {
  margin-top: 2.52vw;
  font-size: .9rem;
  font-weight: 700;
  text-align: center;
  a {
    display: inline-block;
    border-bottom: solid 3px;
  }
}
.simulation_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  max-width: 32.35rem;
  min-height: 6.5rem;
  margin: 3.125rem auto 0;
  padding: 0.5em;
  background-color: #f7e65e;
  border-radius: 6.5rem;
  font-size: 1.75rem;
  color: #333;
  text-align: center;
  text-decoration: none !important;
  line-height: 1.3;
  .sub_text {
    display: inline-block;
    position: relative;
    padding-inline: 0.6em;
    font-size: 0.57em;
    &::before,&::after {
      content: " ";
      position: absolute;
      bottom: 0;
      width: 1px;
      height: 1.25em;
      background-color: #333;
    }
    &::before {
      left: 0;
      transform: rotate(-20deg);
    }
    &::after {
      right: 0;
      transform: rotate(20deg);
    }
  }
}
.apply_btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  align-content: center;
  max-width: 32.35rem;
  min-height: 6.5rem;
  margin: 3.125rem auto 0;
  padding: 0.5em;
  background-color: #469b39;
  border-radius: 6.5rem;
  font-size: 1.75rem;
  color: #fff;
  text-align: center;
  text-decoration: none !important;
  line-height: 1.3;
  .sub_text {
    display: inline-block;
    position: relative;
    padding-inline: 0.6em;
    font-size: 0.57em;
    &::before,&::after {
      content: " ";
      position: absolute;
      bottom: 0;
      width: 1px;
      height: 1.25em;
      background-color: #fff;
    }
    &::before {
      left: 0;
      transform: rotate(-20deg);
    }
    &::after {
      right: 0;
      transform: rotate(20deg);
    }
  }
}
@media screen and (max-width: 750px) {
  .simulation_wrap {
    padding: 6.4vw 4.66% 9.86vw;
  }
  .simulation_grid {
    margin: -14.53vw 0 0;
  }
  .simulation_content {
    width: 100%;
    margin: 14.53vw 0 0;
    &:nth-child(even) {
      &::before {
        top: auto;
        right: auto;
        bottom: 100%;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        width: 3.82%;
        margin: 0 0 3.73vw;
      }
    }
  }
  .simulation_title {
    padding: 0.45em;
    font-size: 1.15rem;
    .title_inner {
      padding-left: 3.02rem;
      &::before {
        top: -0.61rem;
        width: 2.84rem;
        border-width: max(0.15rem,2px);
      }
    }
  }
  .simulation_area {
    padding: 1.3rem 2.64%;
    .map_area {
      width: 99.06%;
      button {
        border-width: max(0.15rem,2px);
        border-radius: max(0.38rem,5px);
        box-shadow: 0 0 max(0.23rem,3px) rgba(0, 0, 0, 0.13);
        font-size: 0.92rem;
      }
    }
    .people_area {
      margin: 0 0 -1.46rem 0;
      padding-inline: 4.96%;
      button {
        width: 46.89%;
        margin: 0 0 1.46rem 0;
        border-width: max(0.15rem,2px);
        border-radius: max(0.38rem,5px);
        box-shadow: 0 0 max(0.23rem,3px) rgba(0, 0, 0, 0.13);
        font-size: 0.92rem;
        .icon {
          width: 3.23rem;
        }
      }
    }
  }
  .simulation_plan_wrap {
    padding: 9.06vw 4.66% 15.46vw;
  }
  .comparison_item_group {
    width: 13.96rem;
    border-width: max(0.11rem,1.5px);
    border-radius: max(0.38rem,5px);
  }
  .comparison_item {
    padding: 0.38rem 0.2rem 0.46rem;
    font-size: 0.61rem;
    >dt {
      margin-bottom: 0;
      font-size: 1rem;
    }
  }
  .comparison_item_main {
    padding-block: 1.3rem 0.76rem;
    &:not(:first-child) {
      &::before {
        top: -0.3rem;
        width: 1.46rem;
      }
    }
    >dt {
      margin-bottom: 0.38rem;
      padding: 0 1.15rem;
      font-size: 0.92rem;
    }
    >dd {
      font-size: 0.84rem;
    }
    .number {
      font-size: 1.68em;
    }
  }
  .simulation_plan_content {
    padding: 10.66vw 5.1% 8.8vw;
    border-width: max(0.15rem,2px);
    border-radius: max(0.46rem,6px);
  }
  .simulation_plan_title {
    margin-bottom: 1.69rem;
    font-size: 1.38rem;
  }
  .simulation_plan_text {
    margin-bottom: 3.76rem;
    font-size: 1rem;
    line-height: 1.69;
    letter-spacing: 0.01em;
  }
  .simulation_plan_example_wrap {
    display: block;
    font-size: 1.26rem;
    line-height: 1.5;
    .comparison_item_group {
      margin: 2.66vw auto 0;
    }
  }
  .simulation_plan_example_item {
    >dt {
      margin-bottom: 2.84rem;
      padding: 0 0 0 7.53rem;
      font-size: 1.07rem;
      &::before {
        width: 6.53rem;
      }
    }
    >dd {
      text-align: center;
    }
    .price_text {
      font-size: 2.3rem;
      .number {
        font-size: 2.33em;
      }
    }
  }
  .simulation_result_content {
    border-radius: 12px;
    &.hidden {
      display: none;
    }
    &::before {
      border-width: 4px;
      border-radius: 12px;
    }
    .simulation_title {
      &::after {
        display: none;
      }
    }
  }
  .simulation_result_area {
    padding: 4.8vw 2.94% 4.53vw;
    .apply_btn {
      margin: 0.69rem auto 0;
    }
  }
  .compared_company_wrap {
    &:not(:last-child) {
      margin-bottom: 6.13vw;
    }
  }
  .compared_company_title {
    margin-bottom: 2.66vw;
    font-size: 0.92rem;
    text-align: center;
  }
  .compared_company_flex {
    display: block;
  }
  .select_company_area {
    width: 100%;
    margin: 0 0 5.06vw;
    border-radius: 8px;
  }
  .selected_company_name {
    padding: 0.34rem 1.53rem 0.34rem 0.61rem;
    font-size: 0.92rem;
    &::after {
      right: 0.53rem;
      width: 0.73rem;
    }
  }
  .select_company_list {
    font-size: 0.92rem;
    label {
      padding-block: 0.65rem;
    }
  }
  .simulation_result_item_group {
    justify-content: space-between;
    margin: 0 0 0 -1.15rem;
  }
  .simulation_result_item {
    margin: 0 0 0 1.15rem;
    padding-left: 2.76rem;
    font-size: 0.92rem;
    line-height: 1.3;
    &::before {
      width: 2.42rem;
      border-width: max(0.15rem,2px);
    }
    small {
      font-size: 0.61em;
    }
  }
  .simulation_result_comparison_wrap {
    min-height: 0;
    padding: 5.86vw 3.75% 5.33vw;
    border-width: 3px;
    .comparison_item_group {
      position: relative;
      top: auto;
      right: auto;
      margin: 0 auto 4.53vw;
    }
  }
  .simulation_result_comparison_text {
    margin-bottom: 1.3vw;
    font-size: 1.26rem;
    .price_text {
      margin-left: 0;
      font-size: 2.11rem;
      .number {
        font-size: 5.38rem;
      }
      .marker {
        font-size: 3rem;
      }
    }
  }
  .monthly_fee_wrap {
    margin: 0;
    border-radius: 8px;
  }
  .monthly_fee_title {
    padding: 0.46rem 1.53rem 0.46rem 0.61rem;
    font-size: 0.92rem;
    text-align: center;
    &::after {
      right: 0.53rem;
      width: 0.73rem;
    }
  }
  .monthly_fee_content {
    display: none;
    padding: 0.38rem 2.53rem 1rem;
  }
  .monthly_fee_table {
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.38;
    thead {
      font-size: 0.92rem;
      th {
        padding-block: 0;
      }
    }
    tbody {
      tr {
        &::after {
          height: max(0.07rem,1px);
          border-width: max(0.07rem,1px);
        }
      }
    }
    th,td {
      padding: 0.92rem 0.5rem 6px;
      &:first-child {
        width: 3rem;
        padding-inline: 0.5rem;
      }
    }
  }
  .simulation_disclosure_text {
    margin-top: 4vw;
    font-size: 0.82rem;
    line-height: 1.5;
    a {
      border-width: max(0.11rem,1.5px);
    }
  }
  .simulation_btn {
    max-width: none;
    min-height: 3.69rem;
    margin: 1.84rem auto 0;
    padding: 0.2em 0.5em;
    border-radius: 3.69rem;
    font-size: 1.15rem;
    .sub_text {
      font-size: 0.8em;
      &::before,&::after {
        height: 1em;
      }
    }
  }
  .apply_btn {
    max-width: none;
    min-height: 3.69rem;
    margin: 1.84rem auto 0;
    padding: 0.2em 0.5em;
    border-radius: 3.69rem;
    font-size: 1.15rem;
    .sub_text {
      font-size: 0.8em;
      &::before,&::after {
        height: 1em;
      }
    }
  }
}
.modaal-wrapper {
  &.modaal-inline {
    .modaal-container {
      max-width: 71.44vw;
      background-color: transparent;
      .modaal-content-container {
        padding: 0;
      }
    }
    .modaal-close {
      position: absolute;
      top: 3.34vw;
      right: 3.34vw;
      width: 2.25rem;
      height: 2.25rem;
      background-color: #fff;
      border-radius: 50%;
      &::before,&::after {
        top: 0.4rem;
        left: 1.1rem;
        width: 0.18rem;
        height: 1.5rem;
        background-color: #f18d1e;
      }
    }
  }
}

.simulation_result_comparison_wrap-minus {
  position: relative;
  padding: 3.27vw 3.53% 3.27vw;
  border-radius: 8px;
  border: solid 6px #f7e65e;
}
.simulation_result_comparison_text-minus {
  margin-bottom: 1.48vw;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  .price_text {
    margin-left: -0.6rem;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;
    color: #f18d1e;
    .number {
      font-family: "Roboto", sans-serif;
      font-style: italic;
      font-size: 6.66rem;
      line-height: 1;
      letter-spacing: 0;
      vertical-align: baseline;
    }
    .marker {
      font-size: 3.51rem;
      background:linear-gradient(transparent 75%, #f6e85d 75%, #f6e85d 95%,transparent 95%,transparent 100%);
      color: #eb5a24;
    }
  }
}
.monthly_fee_wrap-minus {
  max-width: 53.34vw;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 11px;
  border: solid 1px #f18d1e;
}
.monthly_fee_title-minus {
  position: relative;
  padding: 1.06rem 2.5rem 1.06rem 1.87rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  cursor: pointer;
  &.active {
    &::after {
      transform: translateY(-50%) rotate(-180deg);
    }
  }
  &::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 1.125rem;
    transform: translateY(-50%);
    width: 0.875rem;
    aspect-ratio: 1/0.73;
    background: url(../images/common/icon_equilateral_triangle_orange.png) center / contain no-repeat;
    transition-duration: 0.3s;
  }
}
.monthly_fee_content-minus {
  display: none;
  padding: 1rem 0.75rem 1rem 1.87rem;
}
.monthly_fee_table-minus {
  width: 100%;
  font-size: 1rem;
  line-height: 1.5;
  text-align: right;
  thead {
    font-size: 1.5rem;
    th {
      padding-block: 0 1.87rem;
    }
  }
  tbody {
    tr {
      position: relative;
      &::after {
        content: " ";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 0.125rem;
        border-bottom: dotted 0.125rem #ADADAD;
      }
    }
  }
  th,td {
    padding: 0.31rem 1.87rem 0.375rem;
    font-weight: 700;
    &:first-child {
      padding-left: 0.625rem;
    }
  }
}
.simulation_result_comparison_detail-minus {
  max-width: 53.34vw;
  margin: 0.625rem auto 0;
  font-size: 0.875rem;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  .simulation_result_comparison_wrap-minus {
    padding: 5.86vw 3.4% 5.33vw;
    border-width: 3px;
  }
  .simulation_result_comparison_text-minus {
    margin-bottom: 4vw;
    font-size: 1.92rem;
    .price_text {
      margin-left: 0;
      font-size: 2.11rem;
      .number {
        font-size: 4rem;
      }
      .marker {
        font-size: 3rem;
      }
    }
  }
  .monthly_fee_wrap-minus {
    max-width: none;
    margin: 0;
    border-radius: 8px;
  }
  .monthly_fee_title-minus {
    padding: 0.46rem 1.53rem 0.46rem 0.61rem;
    font-size: 0.92rem;
    &::after {
      right: 0.53rem;
      width: 0.73rem;
    }
  }
  .monthly_fee_content-minus {
    display: none;
    padding: 0.38rem 2.53rem 1rem;
  }
  .monthly_fee_table-minus {
    font-size: 0.8rem;
    text-align: center;
    line-height: 1.38;
    thead {
      font-size: 0.92rem;
      th {
        padding-block: 0;
      }
    }
    tbody {
      tr {
        &::after {
          height: max(0.07rem,1px);
          border-width: max(0.07rem,1px);
        }
      }
    }
    th,td {
      padding: 0.92rem 0.5rem 6px;
      &:first-child {
        width: 3rem;
        padding-inline: 0.5rem;
      }
    }
  }
  .simulation_result_comparison_detail-minus {
    max-width: none;
    margin-top: 0.76rem;
    font-size: 0.615rem;
  }
}

.simulation_modal_wrap {
  padding: 1.87rem 3.49vw 2.18rem;
  border-radius: 20px;
  border: solid 10px #f18d1d;
  background-color: #fef4eb;
}
.simulation_modal_block {
  &:not(:last-child) {
    margin-bottom: 2.97vw;
  }
}
.simulation_modal_title {
  margin-bottom: 1.48vw;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.77;
  color: #f18d1d;
  text-align: center;
}
.simulation_modal_content {
  padding: 1.875rem 2.52vw;
  background-color: #fff;
  border-radius: 20px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  .modaal-wrapper {
    &.modaal-inline {
      .modaal-container {
        max-width: 90.66vw;
      }
      .modaal-close {
        top: 6.66vw;
        right: 5.33vw;
        width: 2.3rem;
        height: 2.3rem;
        &::before,&::after {
          top: 0.5rem;
          left: 1.09rem;
          width: 0.11rem;
          height: 1.46rem;
        }
      }
    }
  }
  .simulation_modal_wrap {
    padding: 1.92rem 5.33vw 2.15rem;
    border: solid 5px #f18d1d;
  }
  .simulation_modal_block {
    &:not(:last-child) {
      margin-bottom: 8.53vw;
    }
  }
  .simulation_modal_title {
    margin-bottom: 3.2vw;
    font-size: 1.53rem;
  }
  .simulation_modal_content {
    padding: 1.15rem 2.66vw;
    line-height: 1.54;
  }
}

.simulation_faq_section {
  padding-block: 11.15vw 4.75vw;
  .headline {
    margin-bottom: 2.97vw;
  }
  .btn_wrap {
    margin-top: 2.97vw;
  }
}
@media screen and (max-width: 750px) {
  .simulation_faq_section {
    padding-block: 16.53vw 5.33vw;
    .headline {
      margin-bottom: 8.8vw;
    }
    .btn_wrap {
      margin-top: 4.8vw;
    }
  }
}

/* よくあるご質問　 */
.faq_item {
  border: solid 3px #f18d1d;
  border-radius: 6px;
  font-weight: 700;
  overflow: hidden;
  isolation: isolate;
  &:not(:last-child) {
    margin-bottom: 2.5rem;
  }
  >dt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
    min-height: 5.5rem;
    padding: 0.625rem 5.62rem 0.625rem 10.31rem;
    background-color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    &.active {
      &::after {
        transform: translateY(-50%) rotate(-90deg);
        background-image: url(../images/common/arrow_white.png);
        background-color: #f18d1d;
      }
    }
    &::before {
      content: "Q";
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: absolute;
      top: 0.62rem;
      bottom: 0.62rem;
      left: 0;
      width: 7.8rem;
      border-right: solid 3px #f18d1d;
      font-family: "Roboto", sans-serif;
      font-style: italic;
      font-size: 4rem;
      font-weight: 700;
      color: #f18d1d;
      line-height: 1;
      letter-spacing: 0;
    }
    &::after {
      content: " ";
      position: absolute;
      top: 50%;
      right: 2.5rem;
      transform: translateY(-50%) rotate(90deg);
      width: 2.25rem;
      aspect-ratio: 1/1;
      background: url(../images/common/arrow_orange.png) center / 42% no-repeat #fff;
      border: solid 3px #f18d1d;
      border-radius: 50%;
      transition-duration: 0.3s;
    }
  }
  >dd {
    display: none;
    padding: 2.5rem 7.29%;
    background-color: #fce2cb;
    line-height: 2.38;

    a {
      color: #2f6aa9;
      text-decoration: underline;
    }
  }
}
.faq_detail_flex {
  display: flex;
  align-items: center;
  .icon {
    width: 8.5rem;
    margin: 0 2.75rem 0 0;
    border: solid 0.37rem #FEF4EB;
    border-radius: 50%;
    overflow: hidden;
    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
  }
  .detail_area {
    flex: 1;
  }
}
@media screen and (max-width: 750px) {
  .faq_item {
    border-width: max(0.11rem,2px);
    font-size: 0.92rem;
    &:not(:last-child) {
      margin-bottom: 1.38rem;
    }
    >dt {
      padding: 0.84rem 2.12rem 0.84rem 3.07rem;
      font-size: 1rem;
      &::before {
        top: 0.69rem;
        bottom: 0.69rem;
        width: 2.3rem;
        border-width: max(0.11rem,2px);
        font-size: 1.53rem;
      }
      &::after {
        right: 0.5rem;
        width: 1.5rem;
        border-width: max(0.11rem,2px);
        background-image: url(../images/sp/common/arrow_orange.png);
        background-size: contain;
      }
      &.active {
        &::after {
          background-image: url(../images/sp/common/arrow_white.png);
        }
      }
    }
    >dd {
      padding: 1.07rem 2.64% 1.15rem;
      line-height: 1.66;
    }
  }
  .faq_detail_flex {
    align-items: flex-start;
    .icon {
      width: 4.03rem;
      margin-right: 0.76rem;
      border-width: max(0.15rem,2px);
    }
  }
} 
.faq_search_wrap {
  padding: 5.94vw 4.98% 7.73vw;
}
.faq_search_flex {
  display: flex;
  padding: 1.78vw 5.12%;
  border-radius: 20px;
  background-color: #fce2cb;
  display: none; /* 非表示 */
  >* {
    &:not(:first-child) {
      margin: 0 0 0 2.37vw;
    }
  }
  .select_box {
    width: 24.68vw;
    select {
      height: 100%;
      padding-left: 1rem;
      border-color: #f18d1e;
      border-radius: 10px;
    }
  }
  .faq_search_input {
    flex: 1;
    height: 3.32rem;
    padding-inline: 1rem;
    background-color: #fef4eb;
    border-color: #f18d1e;
    border-radius: 10px;
  }
  .faq_search_btn {
    width: 11.15vw;
    height: 3.32rem;
    border-radius: 10px;
    background-color: #f18d1d;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    &::before {
      content: " ";
      display: inline-block;
      margin: 0 0.43rem 0.18rem 0;
      width: 1.56rem;
      aspect-ratio: 1/1;
      background: url(../images/common/icon_search.png) center / contain no-repeat;
      vertical-align: middle;
    }
  }
}
@media screen and (max-width: 750px) {
  .faq_search_wrap {
    padding: 8vw 4.66% 4vw;
  }
  .faq_search_flex {
    display: block;
    padding: 3.73vw 5.58%;
    border-radius: 8px;
    display: none; /* 非表示 */
    >* {
      &:not(:first-child) {
        margin: 1.6vw 0 0 0;
      }
    }
    .select_box {
      width: 100%;
      select {
        height: 2rem;
        padding-left: 0.61rem;
        border-radius: max(0.38rem,5px);
        font-size: 0.61rem;
      }
    }
    .faq_search_input {
      height: 2rem;
      padding-inline: 0.61rem;
      border-radius: max(0.38rem,5px);
      font-size: 0.61rem;
    }
    .faq_search_btn {
      display: block;
      width: 100%;
      max-width: 40vw;
      height: 2rem;
      margin-inline: auto;
      border-radius: max(0.38rem,5px);
      font-size: 0.76rem;
      &::before {
        margin: 0 0.26rem 0.1rem 0;
        width: 0.92rem;
      }
    }
  }
}
.sidenav_outer {
  padding: 7.43vw 19.1% 6.39vw;
  &:has(.sidenav_wrap) {
    padding-inline: 4.98%;
  }
  &:has(.search_result_item_group) {
    .headline {
      margin-bottom: 0.29vw;
    }
  }
  .headline {
    margin-bottom: 4.46vw;
  }
  .search_result_item_group {
    margin-bottom: 5.94vw;
  }
}
.search_result_item_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -4px 0 0 -1em;
  font-size: 1.25rem;
}
.search_result_item {
  display: flex;
  margin: 4px 0 0 1em;
  >dt {
    flex: none;
    &::after {
      display: inline-block;
      content: "：";
    }
  }
}
.sidenav_flex {
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  .main_wrap {
    flex: 1;
  }
  .sidenav_wrap {
    width: 28.09%;
    margin: 0 0 0 3.3%;
    padding: 1.87rem 2.64% 0.62rem;
    background-color: #fff;
    border-radius: 10px;
  }
  .faq_item {
    >dt {
      padding-left: 8.75rem;
    }
  }
}
.sidenav_title {
  margin-bottom: 1.12rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.58;
}
.sidenav_list {
  color: #808080;
  font-weight: 700;
  >li {
    border-top: dotted 2px #ADADAD;
  }
  a {
    display: block;
    padding: 1.5rem 0;
    text-decoration: underline;
    &::after {
      content: " ";
      display: inline-block;
      width: 0.93em;
      aspect-ratio: 1/1;
      margin-left: 0.18em;
      background: url(../images/common/arrow_gray.png) center / contain no-repeat;
      vertical-align: middle;
    }
  }
}
.faq_content {
  &:not(:last-child) {
    margin-bottom: 4.46vw;
  }
  & ~ .btn_wrap {
    margin-top: -1.93vw;
  }
}
.faq_title {
  margin-bottom: 1.48vw;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.58;
}
.faq_btn_wrap {
  margin-top: 5.94vw;
  padding: 1.78vw 8.92%;
  background-color: #f18d1d;
}
.faq_btn_grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: -2.66vw 0 0 -4.74%;
  .simulation_btn,.apply_btn {
    flex: 1;
    max-width: 32.25rem;
    border: solid min(0.5rem,8px) #fef4eb;
    margin: 2.66vw 0 0 4.74%;
  }
}
@media screen and (max-width: 750px) {
  .sidenav_outer {
    padding: 7.2vw 4.66% 8vw;
    &:has(.sidenav_wrap) {
      padding-inline: 4.66%;
    }
    &:has(.search_result_item_group) {
      .headline {
        margin-bottom: 0.53vw;
      }
    }
    .headline {
      margin-bottom: 6.66vw; 
    }
    .search_result_item_group {
      margin-bottom: 6.66vw; 
    }
  }
  .search_result_item_group {
    font-size: 1rem;
  }
  .sidenav_flex {
    display: block;
    .sidenav_wrap {
      width: 100%;
      margin: 0 0 8vw;
      padding: 0.53rem 4.41% 1px;
    }
    .faq_item {
      >dt {
        padding-left: 3.07rem;
      }
    }
  }
  .sidenav_title {
    margin-bottom: 0.46rem;
    font-size: 1.15rem;
  }
  .sidenav_list {
    a {
      padding: 0.5rem 0;
      &::after {
        width: 0.57em;
        margin: 0 0 0.19em 0.3em;
      }
    }
  }
  .faq_content {
    &:not(:last-child) {
      margin-bottom: 11.2vw;
    }
    & ~ .btn_wrap {
      margin-top: -1.93vw;
    }
    .faq_item {
      &:not(:last-child) {
        margin-bottom: 0.76rem;
      }
    }
  }
  .faq_title {
    margin-bottom: 5.33vw;
    font-size: 1.15rem;
    color: #4D4D4D;
  }
  .faq_btn_wrap {
    margin-top: 5.94vw;
    padding: 4vw 4.66%;
  }
  .faq_btn_grid {
    margin: -2.66vw 0 0 0;
    .simulation_btn,.apply_btn {
      flex: auto;
      max-width: none;
      width: 100%;
      margin: 2.66vw 0 0 0;
      border-width: max(0.3rem,4px);
    }
  }
}

/* キャンペーン */
.campaign_mv_wrap {
  position: relative;
  .breadcrumb_wrap {
    position: absolute;
    top: 8.62vw;
    left: 0;
    right: 0;
    padding-inline: 4.98%;
  }
  .breadcrumb_list {
    color: #fff;
    >li {
      &:not(:first-child) {
        &::before {
          border-color: #fff;
        }
      }
    }
  }
}
.campaign_mv_headline {
  img {
    display: block;
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  .campaign_mv_wrap {
    margin-top: 3.07rem;
    .breadcrumb_wrap {
      top: 1.86vw;
      margin-top: 0;
      padding-inline: 4.66%;
      font-size: 0.38rem;
    }
  }
} 

.campaign_save_msg_section {
  padding-block: 5.2vw 9.21vw;
}
.campaign_save_msg_headline {
  margin-bottom: 3.56vw;
}
@media screen and (max-width: 750px) {
  .campaign_save_msg_section {
    padding-block: 6.13vw 8vw;
    .inner {
      padding-inline: 7.06%;
    }
  }
  .campaign_save_msg_headline {
    margin-bottom: 4.26vw;
  }
} 

.campaign_simulation_section {
  padding-top: 5.2vw;
  .headline {
    margin-bottom: 2.08vw;
  }
}
.campaign_simulation_wrap {
  padding: 0 4.98% 2.82vw;
  background-color: #fff;
}
.campaign_simulation_headline {
  position: relative;
  margin-bottom: 8.47vw;
  padding: 1.53rem 0 1.25rem;
  background-color: #f18d1d;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  text-align: center;
  z-index: 1;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: #f18d1d;
    z-index: -1;
    pointer-events: none;
  }
  &::after {
    content: " ";
    position: absolute;
    bottom: -2.38vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    aspect-ratio: 1/0.06;
    background: url(../images/pc/common/line_wave_orange.png) bottom center / 100% no-repeat;
    z-index: -1;
    pointer-events: none;
  }
  .sub_text {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    width: 22.75rem;
    aspect-ratio: 1/0.148;
    margin: 0 auto 0.29vw;
    background: url(../images/pc/campaign/simulation_sub_text.png) center / contain no-repeat;
  }
}
.campaign_simulation_grid {
  display: flex;
  flex-wrap: wrap;
  margin: -5rem 0 0 -6.05%;
}
.campaign_simulation_content {
  position: relative;
  width: 43.94%;
  margin: 5rem 0 0 6.05%;
  &:nth-child(even) {
    &::before {
      content: " ";
      position: absolute;
      top: 50%;
      right: 100%;
      transform: translateY(-50%);
      width: 3.53%;
      aspect-ratio: 1/2;
      margin-right: 5.12%;
      background: url(../images/common/icon_triangle_orange_right.png) center/ contain no-repeat;
    }
  }
  &#step_01 {
    .campaign_simulation_title {
      position: absolute;
      top: 25.72%;
      left: 5.99%;
      width: 54.67%;
      text-align: left;
    }
    .campaign_simulation_area {
      padding-left: 6.34%;
    }
  }
  .question {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: -1.68rem;
    left: 50%;
    transform: translateX(-50%);
    width: 7rem;
    aspect-ratio: 1/1;
    background-color: #f18d1e;
    border-radius: 50%;
    font-size: 2.5rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
    text-align: center;
    z-index: 1;
  }
}
.campaign_simulation_content_inner {
  position: relative;
  height: 100%;
  padding: 6.69vw 0 0;
  background-color: #fef4eb;
  border-radius: 12px;
  overflow: hidden;
  isolation: isolate;
  &::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 0.56rem;
    background-color: #f18d1e;
    pointer-events: none;
  }
}
.campaign_simulation_title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.67;
  z-index: 1;
  text-align: center;
  .title_inner {
    display: inline-block;
    position: relative;
    padding-left: 3.41em;
    &::before {
      content: " ";
      display: block;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 3.08em;
      aspect-ratio: 1/1;
      background: center / contain no-repeat #fff;
      border: solid 4px #f18d1d;
      border-radius: 50%;
    }
  }
  .icon_area {
    &::before {
      background-image: url(../images/common/icon_area.png);
    }
  }
  .icon_home {
    &::before {
      background-image: url(../images/common/icon_home.png);
    }
  }
}
.campaign_simulation_area {
  padding: 2.25rem 5.3%;
  .map_area {
    position: relative;
    width: 100%;
    aspect-ratio: 1/0.827;
    button {
      position: absolute;
      display: block;
      background-color: #fff;
      border: solid 0.25rem #f18d1d;
      border-radius: 0.75rem;
      box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.13);
      font-size: 0.93rem;
      font-weight: 700;
      color: #EB5A25;
      line-height: 1.5;
      text-align: center;
      &:hover,&.active {
        background-color: #f18d1d;
        color: #fff;
      }
    }
    .area_01 {
      top: 0;
      right: 0;
      width: 27.72%;
      aspect-ratio: 1/0.72;
    }
    .area_02 {
      top: 25.35%;
      right: 9.3%;
      width: 19%;
      aspect-ratio: 1/1.03;
    }
    .area_03 {
      top: 50%;
      right: 9.3%;
      width: 19%;
      aspect-ratio: 1/0.76;
    }
    .area_04 {
      top: 37.55%;
      right: 29.1%;
      width: 23.96%;
      aspect-ratio: 1/0.56;
    }
    .area_05 {
      top: 55.02%;
      right: 29.1%;
      width: 18.81%;
      aspect-ratio: 1/0.92;
    }
    .area_06 {
      bottom: 16.74%;
      left: 36.63%;
      width: 14.65%;
      aspect-ratio: 1/1.6;
    }
    .area_07 {
      bottom: 31.33%;
      left: 18.81%;
      width: 17.02%;
      aspect-ratio: 1/0.67;
    }
    .area_08 {
      bottom: 16.74%;
      left: 18.81%;
      width: 17.02%;
      aspect-ratio: 1/0.66;
    }
    .area_09 {
      bottom: 17.22%;
      left: 0;
      width: 17.02%;
      aspect-ratio: 1/1.046;
    }
    .area_10 {
      bottom: 0;
      left: 0;
      width: 17.02%;
      aspect-ratio: 1/0.79;
    }
  }
  .people_area {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 0 -2.12rem 0;
    button {
      width: 47.43%;
      aspect-ratio: 1/0.77;
      margin: 0 0 2.12rem 0;
      background-color: #fff;
      border: solid 0.25rem #f18d1d;
      border-radius: 0.75rem;
      box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.13);
      font-size: 1.06rem;
      font-weight: 700;
      color: #333;
      line-height: 1.5;
      text-align: center;
      &:hover,&.active {
        background-color: #f18d1d;
        color: #fff;
        .icon {
          &.icon_people01 {
            background-image: url(../images/common/icon_people01_white.png);
          }
          &.icon_people02 {
            background-image: url(../images/common/icon_people02_white.png);
          }
          &.icon_people03 {
            background-image: url(../images/common/icon_people03_white.png);
          }
          &.icon_people04 {
            background-image: url(../images/common/icon_people04_white.png);
          }
          svg {
            color: #fff;
            stroke: #fff;
            fill: #fff;
          }
        }
      }
      .icon {
        display: block;
        width: 4.5rem;
        aspect-ratio: 1/0.84;
        margin: 0 auto;
        background: center / contain no-repeat;
        &.icon_people01 {
          background-image: url(../images/common/icon_people01.png);
        }
        &.icon_people02 {
          background-image: url(../images/common/icon_people02.png);
        }
        &.icon_people03 {
          background-image: url(../images/common/icon_people03.png);
        }
        &.icon_people04 {
          background-image: url(../images/common/icon_people04.png);
        }
        svg {
          width: 100%;
          aspect-ratio: 1/0.84;
          color: #f18d1d;
          stroke: #f18d1d;
          fill: #f18d1d;
        }
      }
    }
  }
}

.campaign_simulation_result_content {
  /* display: none; */
  position: relative;
  padding: 14.86vw 14.27% 4.9vw;
  &::before {
    content: " ";
    position: absolute;
    top: -1px;
    left: 0;
    right: 0;
    width: 100%;
    aspect-ratio: 1/0.109;
    background: url(../images/campaign/divider_white.svg) bottom center / cover no-repeat;
  }
}
.campaign_simulation_result_message {
  margin-bottom: 8.17vw;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.campaign_compared_company_flex {
  display: flex;
  align-items: center;
  margin-bottom: 10.4vw;
}
.campaign_compared_savings {
  position: relative;
  width: 50%;
  .number {
    position: absolute;
    bottom: 34%;
    right: 14%;
    font-family: "Roboto", sans-serif;
    font-size: 5.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #eb5a24;
    span {
      font-size: 0.56em;
    }
  }
}
.campaign_compared_company {
  position: relative;
  width: 50%;
  .number {
    position: absolute;
    font-family: "Roboto", sans-serif;
    font-size: 1.9rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #f18d1e;
    span {
      font-size: 0.55em;
    }
    &.looop {
      bottom: 32%;
      right: 70.41%;
    }
    &.ichiba {
      bottom: 26%;
      right: 20.5%;
      color: #f6e85d;
    }
  }
}
.campaign_price_info_wrap {
  border-radius: max(0.38rem,5px);
  overflow: hidden;
  isolation: isolate;
}
.campaign_price_info_title {
  position: relative;
  padding: 0.625rem 4.125rem;
  background-color: #f18d1e;
  border: solid max(0.15rem,2px) #f18d1e;
  border-radius: max(0.38rem,5px) max(0.38rem,5px) 0 0;
  font-size: 1.62rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  cursor: pointer;
  text-align: center;
  &.active {
    &::before {
      transform: translateY(-50%) rotate(-90deg);
      opacity: 0;
    }
    &::after {
      transform: translateY(-50%) rotate(0);
    }
  }
  &::before,&::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 1.81rem;
    transform: translateY(-50%);
    width: 1.375rem;
    height: max(0.15rem,2px);
    background-color: #fff;
    transition-duration: 0.3s;
  }
  &::after {
    transform: translateY(-50%) rotate(90deg);
  }
}
.campaign_price_info_content {
  display: none;
  padding: 3.12rem 7.7% 5.62rem;
  background-color: #fff;
  border: solid max(0.15rem,2px) #f18d1e;
  border-radius: 0 0 max(0.38rem,5px) max(0.38rem,5px);
}
.campaign_price_info_table_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  &:not(:last-child) {
    margin-bottom: 4.75vw;
  }
  .campaign_monthly_fee_table {
    width: 48.14%;
  }
}
.campaign_monthly_fee_table {
  width: 100%;
  font-size: 1.125rem;
  text-align: right;
  line-height: 1.5;
  thead {
    font-size: 1.5rem;
    color: #f18d1e;
    th {
      padding: 0 0 0.64rem;
      &:first-child {
        text-align: center;
      }
    }
  }
  tbody {
    th,td {
      &:first-child {
        width: 3.25rem;
        padding-inline: 0.31rem;
      }
      &:last-child {
        padding-inline: 0.43rem;
      }
    }
  }
  tr {
    position: relative;
    &::after {
      content: " ";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 3px;
      border-bottom: dotted 2px #F18D1D;
    }
  }
  th,td {
    padding: 0.64rem 0.43rem 0.64rem 2.25rem;
    font-weight: 700;
  }
  .number {
    font-size: 1.33em;
  }
}
.campaign_disclosure_block {
  &:not(:last-child) {
    margin-bottom: 4.75vw;
  }
}
.campaign_disclosure_title {
  margin-bottom: 1.48vw;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.77;
  color: #f18d1d;
  text-align: center;
}
.campaign_disclosure_content {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
}
.campaign_disclosure_content.txt_small {
  font-size: .8rem;
}
@media screen and (max-width: 750px) {
  .campaign_simulation_section {
    padding-top: 3.46vw;
    .inner {
      padding-inline: 7.06%;
    }
    .headline {
      margin-bottom: 2.13vw;
      font-size: 1.38rem;
    }
  }
  .campaign_simulation_wrap {
    padding: 0 7.06% 2.93vw;
  }
  .campaign_simulation_headline {
    margin-bottom: 10.4vw;
    padding: 0.76rem 0 0.3rem;
    font-size: 1.38rem;
    &::after {
      bottom: -4.8vw;
      aspect-ratio: 1/0.137;
      background-image: url(../images/sp/common/line_wave_orange.png);
    }
    .sub_text {
      width: 12rem;
      aspect-ratio: 1/0.148;
      margin: 0 auto 0.29vw;
      background-image: url(../images/sp/campaign/simulation_sub_text.png);
    }
  }
  .campaign_simulation_grid {
    margin: -3.57rem 0 0;
  }
  .campaign_simulation_content {
    width: 100%;
    min-height: 73.33vw;
    margin: 3.57rem 0 0;
    &:nth-child(even) {
      &::before {
        top: auto;
        right: auto;
        left: 50%;
        bottom: 100%;
        transform: translateX(-50%) rotate(90deg);
        width: 1.86%;
        margin: 0 0 7.4%;
      }
    }
    &#step_01 {
      .campaign_simulation_title {
        top: 24.72%;
        left: 6.82%;
        width: 50.93%;
        font-size: 1rem;
        .title_inner {
          padding-left: 3.19em;
          &::before {
            width: 2.84em;
          }
        }
      }
      .campaign_simulation_area {
        padding-left: 6.34%;
      }
    }
    .question {
      top: -0.77rem;
      width: 4.19rem;
      font-size: 1.34rem;
    }
  }
  .campaign_simulation_content_inner {
    padding: 14.13vw 0 0;
    &::before {
      height: 0.5rem;
    }
  }
  .campaign_simulation_title {
    font-size: 1.11rem;
    line-height: 1.46;
    .title_inner {
      padding-left: 3.51em;
      &::before {
        width: 3.17em;
        border-width: max(0.15rem,2px);
      }
    }
  }
  .campaign_simulation_area {
    padding: 2.3rem 6.22% 1.46rem;
    &:has(.map_area) {
      padding-block: 0 1.38rem;
    }
    .map_area {
      width: 87.8%;
      margin-left: 6.53%;
      button {
        border-width: max(0.15rem,2px);
        border-radius: max(0.38rem,5px);
        box-shadow: 0 0 max(0.23rem,3px) rgba(0, 0, 0, 0.13);
        font-size: 0.57rem;
      }
    }
    .people_area {
      margin: 0 0 -1.46rem 0;
      padding-inline: 0;
      button {
        width: 47.3%;
        margin: 0 0 1.46rem 0;
        border-width: max(0.15rem,2px);
        border-radius: max(0.38rem,5px);
        box-shadow: 0 0 max(0.23rem,3px) rgba(0, 0, 0, 0.13);
        font-size: 0.57rem;
        .icon {
          width: 3.23rem;
        }
      }
    }
  }
  
  .campaign_simulation_result_content {
    padding: 14.66vw 4.66% 9.06vw;
  }
  .campaign_simulation_result_message {
    margin-bottom: 6.66vw;
    font-size: 1.53rem;
  }
  .campaign_compared_company_flex {
    display: block;
    margin-bottom: 6.4vw;
    padding: 12.26vw 0 8.53vw;
    background-color: #fff;
    border-radius: 8px;
  }
  .campaign_compared_savings {
    width: 100%;
    margin-bottom: 6.66vw;
    .number {
      bottom: 34%;
      right: 28.5%;
      font-size: 3.2rem;
    }
  }
  .campaign_compared_company {
    width: 100%;
    .number {
      font-size: 1.6rem;
      &.looop {
        bottom: 32%;
        right: 67%;
      }
      &.ichiba {
        bottom: 23%;
        right: 23%;
      }
    }
  }
  .campaign_price_info_title {
    padding: 0.46rem 2.3rem;
    font-size: 1.15rem;
    &::before,&::after {
      right: 0.76rem;
      width: 0.84rem;
    }
  }
  .campaign_price_info_content {
    padding: 1.46rem 2.64% 1.3rem;
  }
  .campaign_price_info_table_group {
    display: block;
    padding-inline: 4.19%;
    &:not(:last-child) {
      margin-bottom: 15.73vw;
    }
    .campaign_monthly_fee_table {
      width: 100%;
    }
  }
  .campaign_monthly_fee_table {
    font-size: 1.07rem;
    &:not(:first-child) {
      thead {
        display: none;
      }
    }
    thead {
      font-size: 1.3rem;
      th {
        padding: 0 0 0.92rem;
      }
    }
    tbody {
      th,td {
        &:first-child {
          width: 3.46rem;
          padding-inline: 0 1rem;
          font-size: 1rem;
        }
        &:last-child {
          padding-inline: 2.3rem 1.61rem;
        }
      }
    }
    th,td {
      padding: 0.615rem 0.23rem 0.615rem 3.9rem;
    }
    .number {
      font-size: 1.28em;
    }
  }
  .campaign_disclosure_block {
    &:not(:last-child) {
      margin-bottom: 8vw;
    }
  }
  .campaign_disclosure_title {
    margin-bottom: 3.46vw;
    font-size: 1.23rem;
  }
  .campaign_disclosure_content {
    line-height: 1.54;
  }
} 

.campaign_faq_section {
  padding-block: 8.17vw 5.5vw;
  .headline {
    margin-bottom: 3.27vw;
  }
}
.campaign_faq_text {
  margin-bottom: 1.48vw;
  font-size: 1.5rem;
  font-weight: 700;
  color: #423f39;
  text-align: center;
  line-height: 1.13;
  .text_inner {
    display: inline-block;
    position: relative;
    padding-inline: 1.58em;
    &::before,&::after {
      position: absolute;
      bottom: -0.16em;
      content: " ";
      width: 3px;
      height: 1.33em;
      background-color: #f18d1e;
      border-radius: 3px;
    }
    &::before {
      transform: rotate(-35deg);
      left: 0.37em;
    }
    &::after {
      transform: rotate(35deg);
      right: 0.37em;
    }
  }
}
@media screen and (max-width: 750px) {
  .campaign_faq_section {
    padding-block: 33.33vw 11.2vw;
    .headline {
      margin-bottom: 4vw;
    }
    .faq_item {
      >dd {
        padding-inline: 4.11%;
      }
      .faq_detail_flex {
        display: block;
        .icon {
          width: 5.76rem;
          margin: 0 auto 2.66vw;
        }
      }
    }
  }
  .campaign_faq_text {
    margin-bottom: 2.13vw;
    font-size: 1rem;
    .text_inner {
      &::before,&::after {
        width: max(0.11rem,1.5px);
      }
    }
  }
}

/* ご利用の流れ */
.flow_wrap {
  padding-block: 5.94vw 8.47vw;
}
.flow_item {
  position: relative;
  padding: 2.5rem 0.89vw;
  border-radius: 10px;
  border: solid min(0.5rem,8px) #f18d1d;
  background-color: #fef4eb;
  line-height: 2;
  &:not(:last-child) {
    margin-bottom: 7.43vw;
    &::after {
      content: " ";
      position: absolute;
      top: 100%;
      left: 50%;
      transform: translateX(-50%);
      width: 4.22%;
      aspect-ratio: 1/0.5;
      margin-top: 2.97vw;
      background: url(../images/flow/icon_triangle_orange_bottom.png) center bottom / contain no-repeat;
    }
  }
  .wp-block-media-text {
    .wp-block-media-text__content {
      padding: 0 0 0 2.23vw;
    }
  }
  .flow_step {
    font-family: "Roboto", sans-serif;
    font-style: italic;
    font-size: 1.375rem;
    font-weight: 900;
    line-height: 1.1;
    .number {
      display: inline-block;
      margin-left: 0.62rem;
      font-size: 1.9em;
    }
  }
  .apply_btn {
    margin-top: 2.97vw;
  }
}

.flow_cta_wrap {
  position: relative;
  padding-block: 7.28vw 9.51vw;
  background-color: #fde9d6;
  z-index: 1;
  &::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    background-color: #fde9d6;
    z-index: -1;
    pointer-events: none;
  }
  &::after {
    content: " ";
      position: absolute;
      top: -2.52vw;
      left: 50%;
      transform: translateX(-50%);
      width: 100vw;
      aspect-ratio: 1/0.068;
      background: url(../images/common/line_wave_orange.png) center / 100% repeat-x;
      pointer-events: none;
      z-index: 1;
  }
}

.flow_faq_section {
  padding-block: 5.2vw 7.43vw;
  &:last-child {
    margin-bottom: 3.27vw;
  }
  .headline {
    margin-bottom: 2.97vw;
  }
  .btn_wrap {
    margin-top: 2.97vw;
  }
}

@media screen and (max-width: 750px) {
  html body .has-small-font-size {
    font-size: 10px !important;
  }
  .flow_wrap {
    padding-block: 5.33vw 14.4vw;
  }
  .flow_item {
    padding: 0.96rem 3.33vw;
    border-width: 4px;
    font-size: 0.92rem;
    line-height: 1.67;
    &:not(:last-child) {
      margin-bottom: 7.2vw;
      &::after {
        width: 4.11%;
        margin-top: 2.97vw;
      }
    }
    .wp-block-media-text {
      grid-template-columns: 100% !important;
      .wp-block-media-text__media {
        max-width: 47.04%;
        margin: 0 auto 1.33vw;
      }
      .wp-block-media-text__content {
        grid-column: 1;
        grid-row: 2;
        padding: 0;
        >p:not(:last-child) {
          margin-bottom: 0.38rem;
        }
      }
    }
    .flow_step {
      margin-bottom: 0.15rem !important;
      font-size: 0.84rem;
      .number {
        margin-left: 0.38rem;
      }
    }
    .emphasized_text {
      font-size: 1.15rem !important;
      &:not(:last-child) {
        margin-bottom: 1.15rem !important;
      }
      br{
        display: none;
      }
    }
    .apply_btn {
      margin-top: 5.86vw;
    }
  }

  .flow_cta_wrap {
    &::after {
      top: -3.4vw;
    }
  }

  .flow_faq_section {
    padding-block: 6.66vw 7.46vw;
    &:last-child {
      margin-bottom: 0;
    }
    .headline {
      margin-bottom: 6.66vw;
    }
    .btn_wrap {
      margin-top: 5.33vw;
    }
  }
}

/* メニューオーバーレイ */
.menu_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fef9f4;
  opacity: 0;
  visibility: hidden;
  z-index: 10; /* メニューの下に配置 */
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.menu_overlay.active {
  opacity: 1;
  visibility: visible;
  z-index: 95; /* メニューの上に配置 */
}


.looop-blue {
    color: #0167b5;
}

.looop-yellow {
    color: #f9bd02;
}