@charset "UTF-8";
/*--------------------------------------------------------------
Foundation
--------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, b, em, i, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, mark, time, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, figure, figcaption,
button, input, textarea, select, i {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
  letter-spacing: .03em;
}

html {
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  font-size: 10px;
  scroll-behavior: smooth;
}

@media screen and (min-width: 768px) and (max-width: 1406px) {
  html {
    font-size: calc(100vw * 10 / 1406);
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 8px;
  }
}

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

body {
  font-size: 1.6rem;
  line-height: 1.5;
  background: #fff;
  color: #1F1F1F;
  overflow-x: hidden;
  overflow-y: scroll;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

ul, li {
  list-style: none;
}

table {
  border-collapse: collapse;
  width: 100%;
}

a:hover,
a:active,
a:focus {
  outline: 0;
}

a {
  backface-visibility: hidden;
  transition: .2s ease-in;
  transition-property: opacity, color, border, background, transform, box-shadow;
  opacity: 1;
  line-height: inherit;
}

img {
  vertical-align: middle;
}

img,
input[type="image"] {
  border: 0;
  height: auto;
  max-width: 100%;
}

input[type="submit"], input[type="button"], button {
  cursor: pointer;
  -webkit-appearance: none;
  border-radius: 0;
  font-size: inherit;
  letter-spacing: inherit;
  background: none;
}

strong {
  font-weight: bold;
}

a {
  text-decoration: none;
}

a:hover,
input[type="image"]:hover {
  opacity: 0.7;
}

p, dt, dd, th, td {
  line-height: 1.2;
}

main {
  overflow: hidden;
}

.m_ft {
  font-family: "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.ft_e {
  font-family: "Anta", sans-serif;
}

:root {
  --shadow3: #1f1f1f 3px 0px 0px, #1f1f1f 2.83487px 0.98158px 0px, #1f1f1f 2.35766px 1.85511px 0px, #1f1f1f 1.62091px 2.52441px 0px, #1f1f1f 0.70571px 2.91581px 0px, #1f1f1f -0.28717px 2.98622px 0px, #1f1f1f -1.24844px 2.72789px 0px, #1f1f1f -2.07227px 2.16926px 0px, #1f1f1f -2.66798px 1.37182px 0px, #1f1f1f -2.96998px 0.42336px 0px, #1f1f1f -2.94502px -0.5717px 0px, #1f1f1f -2.59586px -1.50383px 0px, #1f1f1f -1.96093px -2.27041px 0px, #1f1f1f -1.11013px -2.78704px 0px, #1f1f1f -0.13712px -2.99686px 0px, #1f1f1f 0.85099px -2.87677px 0px, #1f1f1f 1.74541px -2.43999px 0px, #1f1f1f 2.44769px -1.73459px 0px, #1f1f1f 2.88051px -0.83825px 0px;
  --shadow4: #1f1f1f 4px 0px 0px, #1f1f1f 3.87565px 0.98962px 0px, #1f1f1f 3.51033px 1.9177px 0px, #1f1f1f 2.92676px 2.72656px 0px, #1f1f1f 2.16121px 3.36588px 0px, #1f1f1f 1.26129px 3.79594px 0px, #1f1f1f 0.28295px 3.98998px 0px, #1f1f1f -0.71298px 3.93594px 0px, #1f1f1f -1.66459px 3.63719px 0px, #1f1f1f -2.51269px 3.11229px 0px, #1f1f1f -3.20457px 2.39389px 0px, #1f1f1f -3.69721px 1.52664px 0px, #1f1f1f -3.95997px 0.56448px 0px, #1f1f1f -3.97652px -0.43278px 0px, #1f1f1f -3.74583px -1.40313px 0px, #1f1f1f -3.28224px -2.28625px 0px, #1f1f1f -2.61457px -3.02721px 0px, #1f1f1f -1.78435px -3.57996px 0px, #1f1f1f -0.84318px -3.91012px 0px, #1f1f1f 0.15041px -3.99717px 0px, #1f1f1f 1.13465px -3.8357px 0px, #1f1f1f 2.04834px -3.43574px 0px, #1f1f1f 2.83468px -2.82216px 0px, #1f1f1f 3.44477px -2.03312px 0px, #1f1f1f 3.84068px -1.11766px 0px, #1f1f1f 3.9978px -0.13272px 0px;
  --shadow-f3: white 3px 0px 0px, white 2.83487px 0.98158px 0px, white 2.35766px 1.85511px 0px, white 1.62091px 2.52441px 0px, white 0.70571px 2.91581px 0px, white -0.28717px 2.98622px 0px, white -1.24844px 2.72789px 0px, white -2.07227px 2.16926px 0px, white -2.66798px 1.37182px 0px, white -2.96998px 0.42336px 0px, white -2.94502px -0.5717px 0px, white -2.59586px -1.50383px 0px, white -1.96093px -2.27041px 0px, white -1.11013px -2.78704px 0px, white -0.13712px -2.99686px 0px, white 0.85099px -2.87677px 0px, white 1.74541px -2.43999px 0px, white 2.44769px -1.73459px 0px, white 2.88051px -0.83825px 0px;
  --shadow8: #1f1f1f 8px 0px 0px, #1f1f1f 7.93758px 0.9974px 0px, #1f1f1f 7.7513px 1.97923px 0px, #1f1f1f 7.44406px 2.93018px 0px, #1f1f1f 7.02066px 3.8354px 0px, #1f1f1f 6.4877px 4.68078px 0px, #1f1f1f 5.85351px 5.45311px 0px, #1f1f1f 5.12797px 6.14035px 0px, #1f1f1f 4.32242px 6.73177px 0px, #1f1f1f 3.44941px 7.21814px 0px, #1f1f1f 2.52258px 7.59188px 0px, #1f1f1f 1.55638px 7.84714px 0px, #1f1f1f 0.5659px 7.97996px 0px, #1f1f1f -0.43342px 7.98825px 0px, #1f1f1f -1.42597px 7.87189px 0px, #1f1f1f -2.39627px 7.63269px 0px, #1f1f1f -3.32917px 7.27438px 0px, #1f1f1f -4.21013px 6.80256px 0px, #1f1f1f -5.02539px 6.22459px 0px, #1f1f1f -5.76223px 5.54948px 0px, #1f1f1f -6.40915px 4.78778px 0px, #1f1f1f -6.95606px 3.95136px 0px, #1f1f1f -7.39442px 3.05329px 0px, #1f1f1f -7.71739px 2.10757px 0px, #1f1f1f -7.91994px 1.12896px 0px, #1f1f1f -7.9989px 0.13273px 0px, #1f1f1f -7.95304px -0.86556px 0px, #1f1f1f -7.78307px -1.85035px 0px, #1f1f1f -7.49165px -2.80627px 0px, #1f1f1f -7.08333px -3.71839px 0px, #1f1f1f -6.56448px -4.57249px 0px, #1f1f1f -5.94318px -5.35524px 0px, #1f1f1f -5.22915px -6.05442px 0px, #1f1f1f -4.43352px -6.65912px 0px, #1f1f1f -3.5687px -7.15991px 0px, #1f1f1f -2.6482px -7.54898px 0px, #1f1f1f -1.68637px -7.82024px 0px, #1f1f1f -0.69822px -7.96947px 0px, #1f1f1f 0.30082px -7.99434px 0px, #1f1f1f 1.29516px -7.89446px 0px, #1f1f1f 2.2693px -7.67139px 0px, #1f1f1f 3.20802px -7.32862px 0px, #1f1f1f 4.09668px -6.87148px 0px, #1f1f1f 4.92142px -6.30711px 0px, #1f1f1f 5.66936px -5.64432px 0px, #1f1f1f 6.32883px -4.89346px 0px, #1f1f1f 6.88954px -4.06623px 0px, #1f1f1f 7.34274px -3.17555px 0px, #1f1f1f 7.68136px -2.23532px 0px, #1f1f1f 7.90012px -1.26021px 0px, #1f1f1f 7.9956px -0.26543px 0px;
  --shadow6: #1f1f1f 6px 0px 0px, #1f1f1f 5.91686px 0.99538px 0px, #1f1f1f 5.66974px 1.96317px 0px, #1f1f1f 5.2655px 2.87655px 0px, #1f1f1f 4.71532px 3.71022px 0px, #1f1f1f 4.03447px 4.44106px 0px, #1f1f1f 3.24181px 5.04883px 0px, #1f1f1f 2.35931px 5.51667px 0px, #1f1f1f 1.41143px 5.83163px 0px, #1f1f1f 0.42442px 5.98497px 0px, #1f1f1f -0.57434px 5.97245px 0px, #1f1f1f -1.55719px 5.79441px 0px, #1f1f1f -2.49688px 5.45578px 0px, #1f1f1f -3.36738px 4.96596px 0px, #1f1f1f -4.14455px 4.33852px 0px, #1f1f1f -4.80686px 3.59083px 0px, #1f1f1f -5.33596px 2.74364px 0px, #1f1f1f -5.71718px 1.8204px 0px, #1f1f1f -5.93995px 0.84672px 0px, #1f1f1f -5.99811px -0.15043px 0px, #1f1f1f -5.89004px -1.14341px 0px, #1f1f1f -5.61874px -2.1047px 0px, #1f1f1f -5.19172px -3.00766px 0px, #1f1f1f -4.62082px -3.82727px 0px, #1f1f1f -3.92186px -4.54081px 0px, #1f1f1f -3.11421px -5.12852px 0px, #1f1f1f -2.22026px -5.57409px 0px, #1f1f1f -1.26477px -5.86518px 0px, #1f1f1f -0.27424px -5.99373px 0px, #1f1f1f 0.7239px -5.95617px 0px, #1f1f1f 1.70197px -5.75355px 0px, #1f1f1f 2.63288px -5.39147px 0px, #1f1f1f 3.49082px -4.87998px 0px, #1f1f1f 4.25202px -4.23324px 0px, #1f1f1f 4.89538px -3.46919px 0px, #1f1f1f 5.40307px -2.60899px 0px, #1f1f1f 5.76102px -1.67649px 0px, #1f1f1f 5.95932px -0.69753px 0px;
}

/*--------------------------------------------------------------
Component
--------------------------------------------------------------*/
.evt {
  visibility: hidden;
}

.evt.done {
  visibility: visible;
}

.c_anchor {
  position: absolute;
  width: 100%;
  left: 0;
  margin-top: -22.6rem;
}

@media screen and (max-width: 767px) {
  .c_anchor {
    margin-top: -8rem;
  }
}

.c_btn {
  text-align: center;
  margin-top: 4rem;
}

.c_btn a {
  display: inline-block;
  width: 34.8rem;
  padding: .5em 0;
  max-width: 100%;
  font-size: 2rem;
  color: #F04805;
  font-weight: 900;
  border-radius: 3em;
  border: solid 2px #F04805;
  position: relative;
  height: 2.8em;
}

.c_btn a.b {
  border-color: #1F1F1F;
  color: #1F1F1F;
}

.c_btn a.b:after {
  background-image: url(../img/ico-arrow01-b.svg);
}

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

.c_btn a:after {
  content: '';
  position: absolute;
  background: url(../img/ico-arrow01.svg) no-repeat 50%/contain;
  height: 100%;
  width: 2.4rem;
  top: 0;
  margin-left: .6em;
}

@media screen and (max-width: 767px) {
  .c_btn a:after {
    margin-left: .3em;
  }
}

.c_back {
  text-align: center;
  margin-top: 9rem;
}

@media screen and (max-width: 767px) {
  .c_back {
    margin-top: 6rem;
  }
}

.c_back a {
  width: 50.4rem;
  padding: .5em 0;
  max-width: 100%;
  font-size: 3.2rem;
  color: #F04805;
  font-weight: 900;
  border-radius: .625em;
  border: solid 0.3rem #F04805;
  position: relative;
  height: 3.4375em;
  display: inline-flex;
  align-items: center;
  padding-left: 1.3em;
  background: url(../img/ico-arrow03.svg) no-repeat calc(100% - 1.3em) center/0.75em;
}

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

.c_ttl {
  font-size: 4.8rem;
  color: #fff;
  font-weight: 900;
  text-shadow: var(--shadow4);
  border-bottom: solid 1px #F04805;
  position: relative;
  line-height: 1.2;
  margin-bottom: 3rem;
  padding-bottom: .45em;
}

.c_ttl:after {
  content: '';
  width: 100%;
  position: absolute;
  border-bottom: solid 1px #F04805;
  left: 0;
  bottom: .3rem;
}

@media screen and (max-width: 767px) {
  .c_ttl {
    font-size: 2.8rem;
    text-shadow: var(--shadow3);
  }
}

.c_lead {
  font-size: 2rem;
  margin-bottom: 3rem;
}

.c_cta .u_inner {
  padding: 5rem 2.65rem;
  background: #1F1F1F;
}

@media screen and (max-width: 767px) {
  .c_cta .u_inner {
    padding: 3rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .c_cta.corp .btn {
    justify-content: center;
    gap: 4rem;
  }
  .c_cta.corp .btn li {
    width: 40.9rem;
    flex: none;
  }
  .c_cta .u_inner {
    width: 136.6rem;
  }
}

.c_cta .ttl {
  font-size: 4.8rem;
  color: #fff;
  text-align: center;
  border-bottom: solid .2rem #fff;
  padding-bottom: .3em;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .c_cta .ttl {
    font-size: 3rem;
  }
}

.c_cta .btn {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .c_cta .btn {
    flex-direction: column;
  }
}

.c_cta .btn li {
  flex: 1;
}

.c_cta .btn a {
  display: flex;
  align-items: center;
  border: solid .3rem #fff;
  gap: .6em;
  border-radius: .5rem;
  background: url(../img/cta-line-bg.png) no-repeat 50%/100% 100%;
  height: 8.5rem;
  font-size: 3rem;
  padding: 0 .5em;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  .c_cta .btn a {
    border-width: .2rem;
    font-size: 2.2rem;
    justify-content: center;
  }
}

.c_cta .btn small {
  display: block;
  font-size: .466em;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .c_cta .btn small {
    font-size: 1.2rem;
  }
}

.c_cta .btn em {
  text-shadow: #fff 2px 2px 0, #fff -2px -2px 0, #fff -2px 2px 0, #fff 2px -2px 0, #fff 0 2px 0, #fff 0 -2px 0, #fff -2px 0 0, #fff 2px 0 0;
}

.c_cta .btn img {
  width: 1.4em;
}

.c_cta .btn .mail {
  background-image: url(../img/cta-mail-bg.png);
}

.c_cta .btn .tel {
  background-image: url(../img/cta-tel-bg.png);
}

.c_cta .btn .tel em {
  font-size: 1.066em;
}

.c_cta .btn .tel img {
  width: 2.033em;
}

.sec_cta {
  background: url(../img/cta-bg.jpg) no-repeat 50%/cover;
  padding: 5rem 0;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .sec_cta {
    padding: 4rem 0;
  }
}

.sec_cta > .u_inner {
  background: #1F1F1F;
  padding: 6.5rem 8.8rem 1.5rem;
}

@media screen and (max-width: 767px) {
  .sec_cta > .u_inner {
    padding: 3rem 2rem 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_cta > .u_inner {
    width: 136.6rem;
  }
}

.sec_cta .head {
  max-width: 119rem;
  margin: 0 auto 5rem;
}

@media screen and (max-width: 767px) {
  .sec_cta .head {
    margin-bottom: 3rem;
  }
}

.sec_cta .ttl2 {
  color: #fff;
  font-size: 5rem;
  position: relative;
  z-index: 0;
  margin-bottom: 3.4rem;
}

@media screen and (min-width: 768px) {
  .sec_cta .ttl2 {
    font-size: 7.2rem;
    white-space: nowrap;
    padding-left: 40rem;
  }
}

.sec_cta .ttl2 small {
  font-size: .444em;
  display: block;
  margin-bottom: .1em;
}

.sec_cta .ttl2 i {
  font-size: .666em;
}

@media screen and (max-width: 767px) {
  .sec_cta .ttl2 img {
    display: block;
    width: 20rem;
    margin-bottom: -1rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_cta .ttl2 img {
    position: absolute;
    width: 37.1rem;
    left: 2rem;
    z-index: -1;
    top: -4.5rem;
  }
}

.sec_cta .flow {
  position: relative;
  color: #fff;
  font-size: 3.2rem;
  background: #FF5722;
  height: 7.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .sec_cta .flow {
    flex-direction: column;
    gap: 7rem;
    height: auto;
    padding: 2rem 0;
  }
}

.sec_cta .flow span {
  text-align: center;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .sec_cta .flow span {
    width: 7.5em;
  }
  .sec_cta .flow span:nth-child(1) {
    padding-left: 1em;
  }
}

.sec_cta .flow:before, .sec_cta .flow:after {
  content: '';
  position: absolute;
  background: url(../img/flow-arrow.png) no-repeat 50%/100% 100%;
  height: 7.6rem;
  width: 15.5rem;
}

@media screen and (min-width: 768px) {
  .sec_cta .flow:before, .sec_cta .flow:after {
    top: 0;
  }
}

@media screen and (max-width: 767px) {
  .sec_cta .flow:before, .sec_cta .flow:after {
    background-image: url(../img/flow-arrow-sp.png);
    width: 100%;
    left: 0;
    height: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sec_cta .flow:before {
    top: 6rem;
  }
  .sec_cta .flow:after {
    top: 17rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_cta .flow:before {
    left: 24.8%;
  }
  .sec_cta .flow:after {
    left: 63.8%;
  }
}

.sec_cta .qr {
  max-width: 71.9rem;
  margin: 0 auto;
}

.sec_cta .qr a {
  border: solid .7rem #fff;
  border-radius: 3.6rem;
  height: 3.125em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  background: url(../img/cta-line-bg.png) no-repeat 50%/100% 100%;
  font-size: 4.8rem;
  font-weight: 900;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .sec_cta .qr a {
    font-size: 2.6rem;
    line-height: 1.2;
    height: 4em;
    border-radius: 2rem;
    padding: 0 .5em;
    border-width: .4rem;
  }
}

.sec_cta .qr img {
  width: 2.3125em;
}

/*--------------------------------------------------------------
Utility
--------------------------------------------------------------*/
.u_wrap {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .u_inner {
    width: 131.3rem;
    max-width: calc(100% - 4rem);
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .u_inner {
    margin: 0 2rem;
  }
}

.u_switch_img {
  opacity: 1;
}

.u_relative {
  position: relative;
}

@media screen and (min-width: 768px) {
  .is_sp {
    display: none;
  }
  .is_tel {
    pointer-events: none;
    cursor: default;
  }
  .is_tel:hover {
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .is_pc {
    display: none;
  }
}

/*--------------------------------------------------------------
Layout/PageBase
--------------------------------------------------------------*/
:where(#header, #footer) a {
  display: block;
}

#header {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 66;
  height: 22.6rem;
  background: #fff;
}

@media screen and (max-width: 767px) {
  #header {
    height: 8rem;
  }
}

.h_logo {
  position: absolute;
  top: 2.2rem;
  left: 1rem;
}

@media screen and (min-width: 768px) {
  .h_logo {
    width: 16.6%;
    text-align: center;
    left: 0;
    top: 1.1rem;
  }
}

.h_logo img {
  width: 19.9rem;
  max-width: 90%;
}

@media screen and (max-width: 767px) {
  .h_logo img {
    width: 8.5rem;
  }
}

.h_ttl {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.4;
  border-bottom: solid 1px #1F1F1F;
  padding: 2.9rem 0 1.1rem;
}

@media screen and (min-width: 768px) {
  .h_ttl {
    margin-left: 16.6%;
  }
}

@media screen and (max-width: 767px) {
  .h_ttl {
    padding: 0.2rem 2rem;
    font-size: 1.2rem;
    border: none;
  }
  .h_ttl br {
    display: none;
  }
}

.h_btn {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-weight: 900;
  position: absolute;
  right: 1.7%;
  top: .9rem;
}

.h_btn a {
  border: solid 0.3rem #1F1F1F;
  border-radius: .5rem;
  background: url(../img/h-line-bg.png) no-repeat 50%/100% 100%;
}

@media screen and (max-width: 767px) {
  .h_btn a {
    border-width: .2rem;
  }
}

@media screen and (min-width: 768px) {
  .h_btn .tel {
    background: url(../img/ico-tel.svg) no-repeat 50%/3.6rem;
  }
}

.h_btn img {
  width: 4.2rem;
}

@media screen and (max-width: 767px) {
  .h_btn img {
    width: 2.2rem;
  }
}

.h_btn .mail {
  background-image: url(../img/h-mail-bg.png);
}

.h_btn .btn {
  text-shadow: #fff 2px 2px 0, #fff -2px -2px 0, #fff -2px 2px 0, #fff 2px -2px 0, #fff 0 2px 0, #fff 0 -2px 0, #fff -2px 0 0, #fff 2px 0 0;
  display: flex;
  align-items: center;
  display: flex;
}

@media screen and (max-width: 767px) {
  .h_btn {
    gap: .3rem;
    top: 2.5rem;
  }
  .h_btn a {
    height: 5rem;
  }
  .h_btn .tel {
    color: transparent;
    width: 5rem;
    background-image: url(../img/cta-tel-bg.png);
    position: relative;
  }
  .h_btn .tel:before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: url(../img/ico-tel-w.svg) no-repeat 50%/3.6rem;
  }
  .h_btn .btn {
    width: 7.5rem;
    font-size: 1.2rem;
    flex-direction: column-reverse;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .h_btn .btn {
    font-size: 2.2rem;
    height: 6.4rem;
    gap: 1.6rem;
    padding: 0 1.4rem;
  }
  .h_btn .tel {
    background-position: left center;
    padding-left: 4.6rem;
    border: none;
    margin-right: .6rem;
  }
  .h_btn .tel em {
    font-size: 3.2rem;
    line-height: 1;
    letter-spacing: .05em;
    color: #F04805;
    text-shadow: #F04805 1px 1px 0, #F04805 -1px -1px 0, #F04805 -1px 1px 0, #F04805 1px -1px 0, #F04805 0 1px 0, #F04805 0 -1px 0, #F04805 -1px 0 0, #F04805 1px 0 0;
    font-weight: bold;
  }
  .h_btn .tel small {
    display: block;
    font-size: 1.4rem;
  }
}

.h_search {
  display: flex;
  gap: .5rem;
}

@media screen and (max-width: 767px) {
  .h_search {
    gap: 0;
    margin-bottom: 3rem;
  }
}

.h_search input {
  height: 5rem;
  border-radius: 3em;
}

@media screen and (max-width: 767px) {
  .h_search input {
    border-radius: 0;
  }
}

.h_search input[type="text"] {
  border: solid 0.3rem #1F1F1F;
  width: calc(100% - 12.5rem);
  padding-left: 1em;
}

@media screen and (max-width: 767px) {
  .h_search input[type="text"] {
    width: calc(100% - 9rem);
    font-size: 1.6rem;
    border: none;
    padding-left: .6em;
  }
}

.h_search input[type="text"]::placeholder {
  color: rgba(255, 32, 32, 0.6);
}

.h_search input[type="submit"] {
  background: #1F1F1F url(../img/ico-search.svg) no-repeat calc(50% - 1.3em) center/1.11em;
  color: #fff;
  font-weight: bold;
  box-shadow: 0px .4rem 0px #EBDF39;
  font-size: 1.8rem;
  width: 11.7rem;
  padding-left: 1.3em;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .h_search input[type="submit"] {
    font-size: 1.6rem;
    width: 9rem;
    box-shadow: none;
    border: solid 1px #fff;
    box-shadow: none;
  }
}

@media screen and (min-width: 768px) {
  .h_search {
    margin-right: 2%;
    width: 40.2rem;
  }
}

@media screen and (min-width: 768px) {
  .h_btm {
    padding-left: 16.6%;
    position: relative;
    background: #1F1F1F;
  }
}

@media screen and (min-width: 768px) {
  .h_top {
    padding: 1.2rem 0;
    padding-left: 16.6%;
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}

.h_nav * {
  letter-spacing: 0;
}

@media screen and (max-width: 767px) {
  .h_nav > li {
    border-bottom: solid 1px #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .h_nav > li > a, .h_nav > li > i {
    padding: 1em 0;
    width: 50%;
  }
  .h_nav > li i {
    position: relative;
    cursor: pointer;
  }
  .h_nav > li i:after {
    content: '＋';
    position: absolute;
    right: 0;
    font-size: 2rem;
  }
  .h_nav > li:has(i.open) i:after {
    content: '－';
  }
  .h_nav > li:has(i.open) .sub-menu {
    display: block;
  }
  .h_nav > li ul {
    margin-left: 1em;
    padding-bottom: 1em;
  }
  .h_nav > li ul a {
    padding: .4em 0;
  }
  .h_nav .sub-menu {
    width: 100%;
    display: none;
  }
}

.h_nav .submenu-toggle {
  display: none;
}

@media screen and (min-width: 768px) {
  .h_nav {
    display: flex;
    gap: 4rem;
  }
  .h_nav > li {
    padding: 1.2rem 0;
  }
  .h_nav > li:has(.sub-menu) {
    display: flex;
    gap: 1em;
    position: relative;
  }
  .h_nav > li:has(.sub-menu) i {
    width: 1em;
  }
  .h_nav > li:has(.sub-menu) i:before {
    content: '▼';
  }
  .h_nav > li:has(.sub-menu):hover .sub-menu {
    visibility: visible;
    animation: itemFadeIn 1s;
  }
  .h_nav .sub-menu {
    visibility: hidden;
    position: absolute;
    margin-top: 4rem;
    z-index: 3;
    white-space: nowrap;
    background: #fff;
    box-shadow: 0 0 0.5em rgba(0, 0, 0, 0.37);
    min-width: 20rem;
    padding: 2rem;
    max-height: 30rem;
    overflow-y: auto;
  }
  .h_nav .sub-menu a {
    padding: .5em 0;
  }
}

@media screen and (max-width: 1620px) {
  .h_nav {
    gap: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .h_nav.b {
    height: 6.2rem;
  }
  .h_nav.b > li {
    padding: 2rem 0;
  }
  .h_nav.b > li > a, .h_nav.b > li > i {
    color: #fff;
  }
}

@media screen and (max-width: 767px) {
  .h_menu {
    position: relative;
    width: 5rem;
    aspect-ratio: 1 / 1;
    cursor: pointer;
  }
  .h_menu:before {
    content: 'MENU';
    position: absolute;
    font-size: 1.2rem;
    text-align: center;
    width: 100%;
    left: 0;
    bottom: 0;
  }
  body.open .h_menu:before {
    content: 'CLOSE';
  }
  .h_menu .icon {
    position: relative;
    display: block;
    left: calc(50% - 1.25rem);
    top: calc(40% - 1px);
  }
  .h_menu .icon, .h_menu .icon:before, .h_menu .icon:after {
    width: 2.5rem;
    height: 2px;
    background-color: #29241d;
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition-property: background-color, top;
  }
  .h_menu .icon:before, .h_menu .icon:after {
    content: '';
    position: absolute;
    top: -.5rem;
    left: 0;
  }
  .h_menu .icon:after {
    top: .5rem;
  }
  body.open .h_menu .icon {
    background-color: transparent;
  }
  body.open .h_menu .icon:before, body.open .h_menu .icon:after {
    top: 0;
  }
  body.open .h_menu .icon:before {
    transform: rotate(45deg);
  }
  body.open .h_menu .icon:after {
    transform: rotate(-45deg);
  }
  #toggle_menu {
    position: fixed;
    overflow-y: auto;
    top: 8rem;
    height: calc(100% - 8rem);
    left: 0;
    width: 100%;
    background: #1F1F1F;
    color: #fff;
    padding: 2rem 2rem;
  }
  body.open {
    overflow-y: hidden;
  }
  body.open #toggle_menu {
    visibility: visible;
    animation: itemFadeIn 1s;
  }
  body:not(.open) #toggle_menu {
    visibility: hidden;
    animation: itemFadeOut .8s;
  }
}

@keyframes itemFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes itemFadeOut {
  from {
    opacity: 1;
    visibility: visible;
  }
  to {
    opacity: 0;
  }
}

#footer {
  background: #1F1F1F;
  color: #fff;
  padding: 7.5rem 0 3rem;
}

@media screen and (max-width: 767px) {
  #footer {
    padding: 4rem 0 2rem;
  }
}

.f_logo {
  text-align: center;
  margin-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .f_logo {
    margin-bottom: 2rem;
  }
}

.f_logo img {
  width: 19.9rem;
}

@media screen and (max-width: 767px) {
  .f_logo img {
    width: 16rem;
  }
}

.f_nav p {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 3rem;
}

.f_nav dl {
  margin-top: 4.5rem;
}

@media screen and (min-width: 768px) {
  .f_nav dl + dl {
    margin-top: 3rem;
  }
}

.f_nav dt {
  cursor: pointer;
  position: relative;
  border-bottom: solid 2px #fff;
  padding-bottom: 1em;
  margin-bottom: 1.6em;
}

.f_nav dt:after {
  content: '＋';
  position: absolute;
  right: 0;
  font-size: 2rem;
}

.f_nav dt.open:after {
  content: '－';
}

.f_nav dt.open + dd {
  display: block;
}

.f_nav dd {
  display: none;
}

@media screen and (min-width: 768px) {
  .f_nav dd ul {
    column-count: 4;
  }
}

.f_nav dd li {
  margin-bottom: 1.5rem;
}

.f_nav .row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .f_nav .row {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

.f_nav .row li {
  margin-bottom: 1.5rem;
}

.f_copy {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 8rem;
}

@media screen and (max-width: 767px) {
  .f_copy {
    margin-top: 5rem;
    font-size: 1.2rem;
  }
}

.f_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.2rem;
  margin: 2.5rem 0 3rem;
}

.f_sns .fb {
  width: 5.3rem;
}

.f_sns .x {
  width: 4.1rem;
}

.fixed_cta {
  position: fixed;
  width: 100%;
  left: 0;
  bottom: 0;
  background: #1F1F1F;
  padding: 4rem 0;
  z-index: 60;
}

.fixed_cta.close {
  display: none;
}

@media screen and (max-width: 767px) {
  .fixed_cta {
    padding: 2rem;
  }
}

.fixed_cta .close {
  width: 7.3rem;
  height: 6.4rem;
  background: #1F1F1F;
  border-radius: 1rem;
  position: absolute;
  right: 5rem;
  top: -5.4rem;
  font-size: 3rem;
  color: #fff;
  text-align: center;
  font-weight: 900;
  padding-top: .2em;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .fixed_cta .close {
    right: 2rem;
  }
}

.fixed_cta .btn {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  .fixed_cta .btn {
    width: 131.3rem;
    max-width: calc(100% - 8rem);
    gap: 4.3rem;
  }
}

@media screen and (max-width: 767px) {
  .fixed_cta .btn {
    flex-direction: row;
  }
  .fixed_cta .btn a {
    flex-direction: column-reverse;
    gap: 0;
  }
  .fixed_cta .btn li:has(.tel) {
    flex: .8;
  }
}

.fixed_cta p {
  color: #fff;
  font-size: .8em;
  margin-top: .6em;
}

@media screen and (min-width: 768px) {
  .fixed_cta p {
    text-align: center;
  }
}

/*--------------------------------------------------------------
Project
--------------------------------------------------------------*/
.top_main {
  margin: 22.6rem 0 3.8rem;
}

@media screen and (max-width: 767px) {
  .top_main {
    margin: 8rem 0 5rem;
  }
}

@media screen and (min-width: 1600px) {
  .top_main .swiper-slide {
    width: 136.6rem;
    margin: 0 5.5rem;
  }
}

.top_main .slide {
  position: relative;
  overflow: hidden;
}

.top_main .slide img {
  width: 100%;
  aspect-ratio: 297 / 157;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .top_main .slide img {
    aspect-ratio: 485 / 267;
  }
}

.top_main .ttl {
  position: absolute;
  opacity: 0;
  z-index: -1;
  width: 100%;
}

.top_main .btn i {
  position: absolute;
  top: 0;
  cursor: pointer;
  z-index: 2;
  width: 10rem;
  height: 100%;
  background: url(../img/ico-prev.svg) no-repeat 50%/contain;
}

@media screen and (max-width: 767px) {
  .top_main .btn i {
    width: 6rem;
  }
}

.top_main .btn .prev {
  left: 0;
}

@media screen and (min-width: 1600px) {
  .top_main .btn .prev {
    left: calc(50% - 79rem);
  }
}

.top_main .btn .next {
  background-image: url(../img/ico-next.svg);
  right: 0;
}

@media screen and (min-width: 1600px) {
  .top_main .btn .next {
    right: calc(50% - 79rem);
  }
}

.top_main .pager {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}

.top_main .swiper-pagination-bullet {
  height: 2rem;
  width: 2rem;
  border-radius: 50%;
  cursor: pointer;
  background: #D9D9D9;
}

.top_main .swiper-pagination-bullet-active {
  background: #D10012;
}

.sec_banner {
  margin-bottom: 5rem;
}

@media screen and (min-width: 768px) {
  body:has(.top_main) .sec_banner {
    margin-bottom: 11rem;
  }
}

.sec_banner ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.8rem;
  margin: 3.8rem 0;
}

@media screen and (max-width: 767px) {
  .sec_banner ul {
    gap: 1rem;
  }
}

.sec_banner li {
  width: calc(20% - 2.24rem);
}

@media screen and (max-width: 767px) {
  .sec_banner li {
    width: 14rem;
  }
}

.sec_banner .bnr {
  width: 93rem;
  max-width: 100%;
  margin: 3.8rem auto;
}

div.post_list {
  display: block;
}

.post_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.9rem;
}

@media screen and (max-width: 767px) {
  .post_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.post_list li {
  border-radius: 1rem;
  background: #FFEFE2;
  padding: 1.45rem 1.45rem 2rem;
}

@media screen and (max-width: 767px) {
  .post_list li {
    padding: 1.45rem 1.2rem 1.5rem;
  }
}

.post_list img {
  width: 100%;
  aspect-ratio: 285 / 184;
  object-fit: cover;
  border-radius: .5rem;
}

.post_list p {
  font-size: 1.4rem;
}

.post_list p:has(i) {
  display: flex;
  flex-wrap: wrap;
  gap: .2em .5em;
  margin: .8em 0 .3em;
}

.post_list p:has(time) {
  justify-content: space-between;
  margin: .8em 0 .3em;
}

.post_list p i {
  color: #fff;
  border-radius: 3em;
  padding: .1em 1em;
  background: #F04805;
}

.post_list p .infomation {
  background: #004EDE;
}

.post_list p .new {
  background: #D83030;
}

.post_list p time {
  color: rgba(102, 102, 102, 0.6);
}

.post_list .price {
  text-align: center;
  font-size: 3.6rem;
  font-weight: 900;
  margin-top: .25em;
}

@media screen and (max-width: 767px) {
  .post_list .price {
    font-size: 2.1rem;
    letter-spacing: 0;
  }
}

.post_list .price small {
  font-size: .555em;
}

.post_list dt {
  font-weight: 900;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  font-size: 2rem;
  margin-bottom: .89em;
}

@media screen and (max-width: 767px) {
  .post_list dt {
    font-size: 1.8rem;
  }
}

.post_list dd {
  font-size: 1.4rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 3;
  font-weight: 400;
}

.sec_news {
  margin-bottom: 6.8rem;
}

.sec_feature {
  margin: 7rem 0;
}

.sec_feature ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2.8rem;
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .sec_feature ul {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}

.sec_feature li {
  border-radius: 2rem;
  background: #FFEFE2;
  border: solid 0.3rem #F04805;
  padding: 3rem 1.8rem 2rem;
}

@media screen and (max-width: 767px) {
  .sec_feature li {
    padding: 2rem 1.2rem;
  }
}

.sec_feature li:nth-child(2) p {
  margin-top: -1.2em;
  padding-top: 1em;
}

.sec_feature li p {
  text-align: center;
  font-weight: 900;
  font-size: 3.2rem;
  height: 3.2em;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

@media screen and (max-width: 767px) {
  .sec_feature li p {
    font-size: 2.4rem;
  }
}

.sec_feature li figure {
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .sec_feature li figure {
    margin-bottom: 1rem;
  }
}

.sec_feature li small {
  display: block;
  font-size: .75em;
}

.sec_feature .msg {
  display: flex;
  border-radius: 2rem;
  border: solid 0.5rem #F04805;
  padding: 4rem 6.5rem;
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .sec_feature .msg {
    flex-direction: column;
    padding: 2rem 2rem;
  }
}

.sec_feature .msg p {
  font-size: 2rem;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {
  .sec_feature .msg p {
    font-size: 1.8rem;
    line-height: 1.875;
  }
}

@media screen and (max-width: 767px) {
  .sec_feature .msg figure {
    text-align: center;
  }
  .sec_feature .msg figure img {
    width: 25rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_feature .msg figure {
    width: 23.5rem;
  }
}

.check_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  text-align: center;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .check_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

.check_list li {
  border-radius: 2rem;
  background: #FFEFE2;
  padding: 6rem 3rem 2.8rem;
}

@media screen and (max-width: 767px) {
  .check_list li {
    padding: 4rem 2rem 2.8rem;
  }
}

.check_list img {
  width: 10.4rem;
}

.check_list .ttl {
  color: #fff;
  text-shadow: #1F1F1F 3px 3px 0, #1F1F1F -3px -3px 0, #1F1F1F -3px 3px 0, #1F1F1F 3px -3px 0, #1F1F1F 0 3px 0, #1F1F1F 0 -3px 0, #1F1F1F -3px 0 0, #1F1F1F 3px 0 0;
  font-size: 3.2rem;
  line-height: 1.2;
  height: 2.5em;
  text-shadow: var(--shadow4);
  margin-top: .7em;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .check_list .ttl {
    font-size: 2.6rem;
    height: auto;
  }
}

.check_list p {
  margin-top: 1.4em;
}

.item_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .7rem;
}

@media screen and (max-width: 767px) {
  .item_list {
    grid-template-columns: repeat(1, 1fr);
  }
}

.item_list li {
  border-radius: 1rem;
  border: solid .5rem #727171;
  background: #FFA1A1;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .item_list li {
    border-width: .4rem;
  }
}

.item_list li:nth-child(11n + 2) {
  background: #FFC2A7;
}

.item_list li:nth-child(11n + 3) {
  background: #FFFDCC;
}

.item_list li:nth-child(11n + 4) {
  background: #EEFFBF;
}

.item_list li:nth-child(11n + 5) {
  background: #C0FFD6;
}

.item_list li:nth-child(11n + 6) {
  background: #D1FFFF;
}

.item_list li:nth-child(11n + 7) {
  background: #AEEBFF;
}

.item_list li:nth-child(11n + 8) {
  background: #AFD1FF;
}

.item_list li:nth-child(11n + 9) {
  background: #DDC7FF;
}

.item_list li:nth-child(11n + 10) {
  background: #FFC3FA;
}

.item_list li:nth-child(11n) {
  background: #FF8BAC;
}

.item_list a {
  height: 12rem;
  display: flex;
}

@media screen and (max-width: 767px) {
  .item_list a {
    height: 8rem;
  }
}

.item_list img {
  aspect-ratio: 1 / 1;
  width: 12rem;
  object-fit: cover;
}

@media screen and (max-width: 767px) {
  .item_list img {
    width: 8rem;
  }
}

.item_list p {
  font-size: 2.4rem;
  display: flex;
  align-items: center;
  padding-right: 1em;
  padding-left: 1.2em;
}

@media screen and (max-width: 767px) {
  .item_list p {
    font-size: 2rem;
    padding-left: .8em;
  }
}

.sec_item {
  padding: 5.5rem 0 6.2rem;
  background: url(../img/item-bg.jpg) no-repeat 50%/cover;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .sec_item {
    padding: 4rem 0;
  }
}

.sec_item > .u_inner {
  padding: 3.6rem 3.1rem;
  background: #fff;
  border-radius: 2rem 2rem 0 0;
}

@media screen and (max-width: 767px) {
  .sec_item > .u_inner {
    padding: 3.6rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_item > .u_inner {
    width: 136.6rem;
  }
}

.sec_item .tab {
  display: flex;
}

.sec_item .tab li {
  flex: 1;
}

.sec_item .tab a {
  display: block;
  background: #FFCBA1;
  color: #fff;
  font-size: 3.2rem;
  padding: .5em 1.2em;
}

@media screen and (max-width: 767px) {
  .sec_item .tab a {
    font-size: 2.2rem;
    text-align: center;
  }
}

.sec_item .tab .active {
  background: #1F1F1F;
}

.sec_item .box {
  border: solid 0.5rem #1F1F1F;
  padding: 3.2rem 2.8rem;
  display: none;
}

@media screen and (max-width: 767px) {
  .sec_item .box {
    padding: 2.5rem 2rem;
  }
}

.sec_item .box.active {
  display: block;
  animation: itemFadeIn 1s;
}

.c_notice {
  font-size: 2rem;
  font-weight: 900;
  background: #FFEFE2;
  border: solid 0.3rem #F04805;
  border-radius: 2rem;
  padding: 1.6rem 2rem;
  margin-top: 3rem;
}

.c_notice dt {
  color: #D83030;
  background: #fff url(../img/ico-caution.svg) no-repeat 0.8em center/1.2em;
  display: inline-block;
  border-radius: 3em;
  padding: .35em 2.4em;
  margin-bottom: .6em;
  position: relative;
}

.c_notice dt:before {
  content: '';
  position: absolute;
  background: #fff;
  width: 2.5rem;
  height: 1.4rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  bottom: -.7rem;
  left: 9rem;
}

@media screen and (max-width: 767px) {
  .c_notice dt {
    padding-right: 1em;
  }
}

.c_notice dd p {
  background: url(../img/ico-ban.svg) no-repeat left center/1.65em;
  padding: .5em 2em;
}

@media screen and (max-width: 767px) {
  .c_notice dd p {
    padding-right: 0;
  }
}

.sec_case {
  margin: 2rem 0;
}

@media screen and (max-width: 767px) {
  .sec_case {
    margin: 4rem 0;
  }
}

.sec_strength {
  margin: 10rem 0 2rem;
}

@media screen and (max-width: 767px) {
  .sec_strength {
    margin: 6rem 0 2rem;
  }
}

.sec_strength .swiper-slide {
  width: 24rem;
  margin: 0 1.4rem;
  border: solid 0.3rem #F04805;
  border-radius: 2rem;
  padding: 2.7rem 2.7rem 4rem;
  text-align: center;
}

.sec_strength figure {
  margin-bottom: 1.5rem;
}

.sec_strength p i {
  background: #F04805;
  color: #fff;
  border-radius: 3em;
  display: inline-block;
  padding: .1em 1em .2em;
}

.sec_strength .ttl {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  font-size: 1.4rem;
  line-height: 1.5;
  min-height: 3em;
  margin: .8em 0;
}

.sec_strength .price {
  font-size: 3.6rem;
  font-weight: 900;
}

.sec_strength .price small {
  font-size: .55em;
}

@media screen and (min-width: 768px) {
  .sec_strength .u_inner.b {
    width: 157.7rem;
  }
}

.sec_strength .box {
  position: relative;
}

.sec_strength .slide {
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .sec_strength .slide {
    margin: 0 -2rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_strength .slide {
    width: 131.3rem;
    margin: 0 auto;
  }
}

.sec_strength .slide img {
  width: 100%;
}

.sec_strength .swiper-wrapper {
  align-items: center;
}

.sec_strength .btn i {
  position: absolute;
  top: 0;
  cursor: pointer;
  z-index: 2;
  width: 10rem;
  height: 100%;
  background: url(../img/ico-prev.svg) no-repeat 50%/contain;
}

@media screen and (max-width: 767px) {
  .sec_strength .btn i {
    width: 6rem;
  }
}

.sec_strength .btn .prev {
  left: 0;
}

.sec_strength .btn .next {
  background-image: url(../img/ico-next.svg);
  right: 0;
}

.sec_voice {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .sec_voice {
    margin-bottom: 6rem;
  }
}

.sec_voice .swiper-slide {
  width: 29.7rem;
  margin: 0 1.05rem;
  border: solid 0.6rem #F04805;
  border-radius: 3rem;
  padding: 1.8rem 1.8rem 4rem;
  padding-bottom: 15rem;
  height: auto;
  overflow: hidden;
}

.sec_voice .price {
  position: absolute;
  width: 100%;
  bottom: 0;
  padding-bottom: .5rem;
  left: 0;
  background: #F04805;
  text-align: center;
}

.sec_voice .price span {
  display: block;
  text-shadow: var(--shadow-f3);
  font-size: 3.6rem;
  font-weight: 400;
  margin-top: -.3em;
}

.sec_voice .price span small {
  font-size: .555em;
}

.sec_voice .price em {
  background: #FFE500;
  letter-spacing: .1em;
  padding: 0 .8em .1em;
  position: relative;
  top: -.7em;
  display: inline-block;
  clip-path: polygon(0 0, 100% 0, calc(100% - .6rem) 50%, 100% 100%, 0 100%, 0.6rem 50%);
}

.sec_voice dt {
  text-align: center;
  font-weight: 900;
  color: #F04805;
  margin: 1em 0 1.2em;
}

.sec_voice dd {
  line-height: 1.6;
  font-size: 1.4rem;
}

.sec_voice .name {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.sec_voice .name p {
  font-size: 1.8rem;
  font-weight: 900;
}

.sec_voice .name p small {
  display: block;
  font-size: .777em;
  margin-top: .2em;
}

.sec_voice .name figure {
  border-radius: 50%;
  overflow: hidden;
}

.sec_voice .name img {
  width: 4.8rem;
  accept-ratio: 1 / 1;
}

.sec_other {
  background: #FFCBA1 url(../img/other-bg.png) no-repeat 50%/cover;
  padding: 5rem 0;
  margin: 7.5rem 0 0;
}

@media screen and (max-width: 767px) {
  .sec_other {
    margin: 6rem 0 0;
  }
}

body:has(.top_main) .sec_other {
  margin: 7.5rem 0 11rem;
}

@media screen and (max-width: 767px) {
  body:has(.top_main) .sec_other {
    margin-bottom: 6rem;
  }
}

@media screen and (max-width: 767px) {
  .sec_other {
    padding: 4rem 0;
  }
}

.sec_other .u_inner {
  padding: 3.6rem 2.8rem;
  background: #fff;
  border-radius: 2rem;
}

@media screen and (max-width: 767px) {
  .sec_other .u_inner {
    padding: 3rem 2rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_other .u_inner {
    width: 136.8rem;
  }
}

.method_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}

@media screen and (max-width: 767px) {
  .method_list {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .method_list.b {
    grid-template-columns: repeat(2, 1fr);
  }
}

.method_list.b li {
  background: #9FA0A0;
}

.method_list.b li:nth-child(2) {
  background: #8467A5;
}

.method_list + ul {
  margin-top: 3rem;
}

@media screen and (max-width: 767px) {
  .method_list + ul {
    margin-top: 2rem;
  }
}

.method_list li {
  border-radius: 2rem;
  padding: 2rem 3rem 2.6rem;
  background: #5CC426;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .method_list li {
    padding: 2rem 1.5rem;
  }
}

.method_list li:nth-child(2) {
  background: #FF9B31;
}

.method_list li:nth-child(3) {
  background: #0A3A61;
}

.method_list li p {
  font-size: 1.9rem;
}

@media screen and (min-width: 768px) {
  .method_list li p {
    height: 2em;
    font-size: 2rem;
  }
}

.method_list li p small {
  display: block;
  font-weight: 500;
  font-size: .6em;
}

.method_list li figure {
  text-align: center;
  margin-bottom: -3rem;
}

.method_list li img {
  height: 16.5rem;
}

.method_list .ttl {
  font-size: 3.2rem;
  font-weight: 900;
  white-space: nowrap;
  display: flex;
  gap: .2em .4em;
  align-items: center;
  margin-bottom: .2em;
}

@media screen and (max-width: 767px) {
  .method_list .ttl {
    flex-wrap: wrap;
    white-space: normal;
  }
}

.method_list .ttl i {
  text-shadow: var(--shadow4);
}

.method_list .ttl em {
  color: #D83030;
  font-size: .75em;
  background: #fff;
  border-radius: 3em;
  padding: 0 .4em;
}

.method_list .ttl sub {
  font-size: .5em;
}

.method_list .c_btn {
  text-align: center;
}

.method_list .c_btn a {
  color: #fff;
  border-color: #fff;
  padding-right: 1em;
}

@media screen and (max-width: 767px) {
  .method_list .c_btn a {
    width: 100%;
  }
}

.method_list .c_btn a:after {
  background-image: url(../img/ico-arrow01-w.svg);
}

.sec_method {
  margin-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .sec_method {
    margin-bottom: 6rem;
  }
}

@media screen and (min-width: 768px) {
  .sec_attempt .low_nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .sec_attempt .low_nav a {
    font-size: 3.2rem;
  }
}

.sec_reason {
  margin: 11rem 0 7rem;
}

@media screen and (max-width: 767px) {
  .sec_reason {
    margin: 6rem 0;
  }
}

.sec_table {
  margin: 7rem 0 9.5rem;
}

@media screen and (max-width: 767px) {
  .sec_table .scroll {
    overflow-x: auto;
    margin-right: -2rem;
  }
  .sec_table .scroll table {
    width: 90rem;
  }
}

.sec_table th, .sec_table td {
  vertical-align: middle;
  font-weight: 900;
}

.sec_table tbody th, .sec_table tbody td {
  border-top: solid 1px #fff;
}

.sec_table tbody th {
  background: #1F1F1F;
  line-height: 1.5;
  color: #fff;
  text-align: left;
  padding: 0 .6em;
}

.sec_table tbody td {
  width: 30%;
  text-align: center;
  padding: 1.5em;
  font-size: 1.8rem;
  line-height: 1.5;
  border-left: solid 2px #fff;
}

@media screen and (max-width: 767px) {
  .sec_table tbody td {
    padding: 1.5em .8em;
  }
}

.sec_table tbody td:nth-child(2) {
  color: #fff;
  background: #FF7531;
}

.sec_table tbody td:nth-child(2) .star i {
  background-image: url(../img/star-yellow.svg);
}

.sec_table tbody td small {
  display: block;
  color: #FFE500;
  font-size: 1.6rem;
}

.sec_table tbody td + td {
  background: #F1F1F1;
}

.sec_table .star {
  display: flex;
  justify-content: center;
  gap: .15em;
  margin: 1.5rem 0;
}

.sec_table .star i {
  background: url(../img/star-orange.svg) no-repeat 50%/contain;
  width: 1.8rem;
  aspect-ratio: 1 / 1;
}

.sec_table thead th + th {
  position: relative;
  z-index: 0;
  border-left: solid 2px #fff;
}

.sec_table thead th + th:before {
  content: '';
  position: absolute;
  border-radius: 2.6rem 2.6rem 0 0;
  bottom: 0;
  background: #FFCE7C;
  z-index: -1;
  height: 100%;
  width: 100%;
  left: 0;
}

.sec_table thead th {
  height: 11.52rem;
  font-size: 2rem;
}

.sec_table thead th img {
  width: 16.6rem;
}

.sec_table thead th:nth-child(3), .sec_table thead th:nth-child(4) {
  padding-top: 2em;
}

.sec_table thead th:nth-child(3):before, .sec_table thead th:nth-child(4):before {
  height: 8.4rem;
  background: rgba(235, 235, 235, 0.3);
}

.sec_column {
  margin: 6rem 0;
}

.low_header {
  background: url(../img/low-bg.jpg) no-repeat 50%/cover;
  height: 32rem;
  margin: 22.6rem auto 1.5rem;
}

@media screen and (max-width: 767px) {
  .low_header {
    margin: 8rem auto 1rem;
    height: 20rem;
  }
}

.low_header .ttl {
  position: relative;
  top: 50%;
  translate: 0 -50%;
  font-size: 5.6rem;
  font-weight: 900;
  text-shadow: var(--shadow4);
  color: #fff;
  width: 136.6rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .low_header .ttl {
    text-shadow: var(--shadow3);
    font-size: 3rem;
  }
}

.low_path {
  width: 136.6rem;
  max-width: calc(100% - 4rem);
  margin: 0 auto 4.5rem;
  display: flex;
  gap: 1em;
}

.low_path br {
  display: none;
}

.low_path a:hover {
  opacity: 1;
  color: #F04805;
}

.low_path li + li {
  position: relative;
}

.low_path li + li:before {
  content: '>';
  position: absolute;
  width: 1em;
  height: 1em;
  left: -.75em;
}

@media screen and (max-width: 767px) {
  .low_path {
    font-size: 1.4rem;
    margin-bottom: 3rem;
    white-space: nowrap;
    overflow-x: auto;
  }
}

.low_catch {
  text-shadow: var(--shadow4);
  font-size: 4.8rem;
  color: #fff;
  text-align: center;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .low_catch {
    font-size: 3rem;
  }
}

.low_catch small {
  display: block;
  line-height: 1.1;
}

.low_catch em {
  font-size: 2em;
}

.low_catch em:before {
  background: linear-gradient(180.7deg, #B9B248 32.5%, #F0EDCB 43.37%, #D4C02D 82.73%);
  -webkit-background-clip: text;
  background-clip: text;
}

.low_catch span {
  display: inline-block;
  margin: 0 .15em;
}

.low_catch em, .low_catch i {
  color: #fff;
  position: relative;
  text-shadow: var(--shadow8);
  display: inline-block;
}

.low_catch em:before, .low_catch i:before {
  content: attr(data-shadow);
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  text-shadow: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
}

@media screen and (max-width: 767px) {
  .low_catch em, .low_catch i {
    text-shadow: var(--shadow6);
  }
}

.low_catch i {
  font-size: 1.66em;
}

@media screen and (max-width: 767px) {
  .low_catch i {
    text-shadow: var(--shadow6);
  }
}

.low_catch i:before {
  background: linear-gradient(180.7deg, #D53D3D 32.5%, #FFB6B6 43.37%, #D83030 82.73%);
  -webkit-background-clip: text;
  background-clip: text;
}

.low_ttl {
  text-shadow: var(--shadow4);
  font-size: 5.6rem;
  color: #fff;
  text-align: center;
  margin-bottom: .5em;
  line-height: 1.3;
}

@media screen and (max-width: 767px) {
  .low_ttl {
    font-size: 3rem;
  }
}

.low_ttl span {
  display: block;
  font-size: 1.2857em;
  text-shadow: var(--shadow8);
}

@media screen and (max-width: 767px) {
  .low_ttl span {
    text-shadow: var(--shadow6);
  }
}

.low_ttl i {
  color: #fff;
  position: relative;
  font-size: 1.055em;
  display: inline-block;
  margin-left: .15em;
}

.low_ttl i:before {
  content: attr(data-shadow);
  position: absolute;
  display: inline-block;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  text-shadow: none;
  color: transparent;
  background: linear-gradient(180.7deg, #D53D3D 32.5%, #FFB6B6 43.37%, #D83030 82.73%);
  -webkit-text-fill-color: transparent;
  text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
}

.low_nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.9rem 2.4rem;
}

@media screen and (max-width: 767px) {
  .low_nav {
    grid-template-columns: repeat(1, 1fr);
    gap: 1.5rem 2rem;
  }
}

.low_nav a {
  background: #F04805 url(../img/ico-arrow02.svg) no-repeat calc(100% - 1.94em) center/1em;
  border-radius: 2rem;
  color: #fff;
  height: 11rem;
  display: flex;
  font-size: 2.4rem;
  align-items: center;
  font-weight: 900;
  padding-left: 1.2em;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .low_nav a {
    font-size: 2.2rem;
    padding-left: 1em;
    height: 9rem;
    background-position: calc(100% - 1em) center;
  }
}

.subcat_lead {
  text-align: center;
  font-weight: 900;
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .subcat_lead {
    margin-bottom: 4rem;
  }
}

.subcat_lead .lead {
  background: #FFEFE2;
  border: solid 0.3rem #F04805;
  border-radius: 2rem;
  padding: 3.5rem 2rem;
  font-size: 2.4rem;
}

@media screen and (max-width: 767px) {
  .subcat_lead .lead {
    padding: 3rem 2rem;
    font-size: 2rem;
    text-align: left;
  }
}

.switch_list dl {
  background: #FFEFE2;
  border-radius: 2rem;
  padding: 3.5rem 11rem 3.5rem;
}

@media screen and (max-width: 767px) {
  .switch_list dl {
    padding: 2.5rem 5rem;
  }
}

.switch_list dt {
  font-size: 3.2rem;
  text-shadow: var(--shadow3);
  color: #fff;
  font-weight: 900;
  position: relative;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .switch_list dt {
    font-size: 2.4rem;
  }
}

.switch_list dt:after {
  content: '+';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: -7rem;
}

@media screen and (max-width: 767px) {
  .switch_list dt:after {
    right: -3rem;
  }
}

.switch_list dt.open:after {
  content: 'ー';
}

.switch_list dt.open + dd {
  display: block;
}

.switch_list dd {
  display: none;
}

.faq_list {
  margin-bottom: 6rem;
}

.faq_list dl {
  margin-top: 2rem;
}

.faq_list dt:before {
  content: 'Q.';
  position: absolute;
  left: -6rem;
}

@media screen and (max-width: 767px) {
  .faq_list dt:before {
    left: -3.5rem;
  }
}

.faq_list dd {
  font-weight: 500;
  margin-top: 3.5rem;
}

.faq_list dd b {
  display: block;
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: .8em;
}

@media screen and (max-width: 767px) {
  .faq_list dd {
    margin-top: 2rem;
    margin-right: -4rem;
  }
}

.post_lead .lead {
  border: none;
}

.post_faq {
  margin-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .post_faq {
    margin-bottom: 6rem;
  }
}

.post_items {
  margin-bottom: 9rem;
}

@media screen and (max-width: 767px) {
  .post_items {
    margin-bottom: 6rem;
  }
}

.post_items .date {
  text-align: right;
  margin: -2rem 0 3rem;
}

.post_items .switch_list dl {
  background: #FFDCDC;
  padding: 2.5rem 4rem;
}

@media screen and (max-width: 767px) {
  .post_items .switch_list dl {
    padding: 2.5rem 3rem;
  }
}

.post_items .switch_list dt {
  margin-right: 7rem;
}

@media screen and (max-width: 767px) {
  .post_items .switch_list dt {
    margin-right: 4rem;
  }
}

.post_items .switch_list dd {
  margin-top: 2rem;
}

.post_items .list {
  margin-top: 4.5rem;
}

.post_items .list > p, .post_items .list h2 {
  display: none;
}

.post_items .list > div {
  background: linear-gradient(to right, #0D0F32 0%, #1926A1 70%, #0029A3 100%);
}

.post_items .list .top {
  padding: 1rem;
}

.post_items .list .bottom {
  padding: 0 1rem;
}

.post_items .list img {
  max-height: 100px;
  object-fit: contain;
}

.faq_nav {
  margin-bottom: 17rem;
}

@media screen and (max-width: 767px) {
  .faq_nav {
    margin-bottom: 8rem;
  }
}

.sec_faq {
  margin: 12rem 0;
}

@media screen and (max-width: 767px) {
  .sec_faq {
    margin: 6rem 0;
  }
}

.faq_attempt {
  margin: 12rem 0;
}

@media screen and (max-width: 767px) {
  .faq_attempt {
    margin: 6rem 0;
  }
}

.point_lead {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .point_lead {
    margin-bottom: 6rem;
  }
}

.point_lead p {
  text-align: center;
  font-weight: 900;
  font-size: 2.4rem;
  line-height: 1.8;
  margin-bottom: 4.5rem;
}

.point_sec {
  margin: 8rem 0 5rem;
}

.point_sec .ttl {
  font-weight: 900;
  font-size: 3.2rem;
  color: #fff;
  margin-bottom: 1.2em;
  text-shadow: #d83030 4px 0px 0px, #d83030 3.87565px 0.98962px 0px, #d83030 3.51033px 1.9177px 0px, #d83030 2.92676px 2.72656px 0px, #d83030 2.16121px 3.36588px 0px, #d83030 1.26129px 3.79594px 0px, #d83030 0.28295px 3.98998px 0px, #d83030 -0.71298px 3.93594px 0px, #d83030 -1.66459px 3.63719px 0px, #d83030 -2.51269px 3.11229px 0px, #d83030 -3.20457px 2.39389px 0px, #d83030 -3.69721px 1.52664px 0px, #d83030 -3.95997px 0.56448px 0px, #d83030 -3.97652px -0.43278px 0px, #d83030 -3.74583px -1.40313px 0px, #d83030 -3.28224px -2.28625px 0px, #d83030 -2.61457px -3.02721px 0px, #d83030 -1.78435px -3.57996px 0px, #d83030 -0.84318px -3.91012px 0px, #d83030 0.15041px -3.99717px 0px, #d83030 1.13465px -3.8357px 0px, #d83030 2.04834px -3.43574px 0px, #d83030 2.83468px -2.82216px 0px, #d83030 3.44477px -2.03312px 0px, #d83030 3.84068px -1.11766px 0px, #d83030 3.9978px -0.13272px 0px;
}

@media screen and (max-width: 767px) {
  .point_sec .ttl {
    font-size: 2.6rem;
  }
}

.point_sec ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.5rem 2rem;
  margin-top: 5rem;
}

.point_sec li {
  border: solid .3rem #D83030;
  border-radius: 2rem;
  padding: 3rem 3.2rem;
  background: #FFDCDC;
}

@media screen and (max-width: 767px) {
  .point_sec li {
    padding: 2.5rem 2rem;
  }
}

.point_sec li p {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .point_sec li p {
    font-size: 1.8rem;
    line-height: 1.6;
  }
}

@media screen and (min-width: 768px) {
  .point_sec li {
    width: calc(50% - 1rem);
  }
  .point_sec li:nth-child(3) {
    width: 100%;
  }
}

.point_sec li:nth-child(2) {
  background: #D3E2FF;
  border-color: #004EDE;
}

.point_sec li:nth-child(2) .ttl {
  text-shadow: #004ede 4px 0px 0px, #004ede 3.87565px 0.98962px 0px, #004ede 3.51033px 1.9177px 0px, #004ede 2.92676px 2.72656px 0px, #004ede 2.16121px 3.36588px 0px, #004ede 1.26129px 3.79594px 0px, #004ede 0.28295px 3.98998px 0px, #004ede -0.71298px 3.93594px 0px, #004ede -1.66459px 3.63719px 0px, #004ede -2.51269px 3.11229px 0px, #004ede -3.20457px 2.39389px 0px, #004ede -3.69721px 1.52664px 0px, #004ede -3.95997px 0.56448px 0px, #004ede -3.97652px -0.43278px 0px, #004ede -3.74583px -1.40313px 0px, #004ede -3.28224px -2.28625px 0px, #004ede -2.61457px -3.02721px 0px, #004ede -1.78435px -3.57996px 0px, #004ede -0.84318px -3.91012px 0px, #004ede 0.15041px -3.99717px 0px, #004ede 1.13465px -3.8357px 0px, #004ede 2.04834px -3.43574px 0px, #004ede 2.83468px -2.82216px 0px, #004ede 3.44477px -2.03312px 0px, #004ede 3.84068px -1.11766px 0px, #004ede 3.9978px -0.13272px 0px;
}

.point_sec li:nth-child(3) {
  background: #FFEFE2;
  border-color: #F04805;
}

.point_sec li:nth-child(3) .ttl {
  text-shadow: #f04805 4px 0px 0px, #f04805 3.87565px 0.98962px 0px, #f04805 3.51033px 1.9177px 0px, #f04805 2.92676px 2.72656px 0px, #f04805 2.16121px 3.36588px 0px, #f04805 1.26129px 3.79594px 0px, #f04805 0.28295px 3.98998px 0px, #f04805 -0.71298px 3.93594px 0px, #f04805 -1.66459px 3.63719px 0px, #f04805 -2.51269px 3.11229px 0px, #f04805 -3.20457px 2.39389px 0px, #f04805 -3.69721px 1.52664px 0px, #f04805 -3.95997px 0.56448px 0px, #f04805 -3.97652px -0.43278px 0px, #f04805 -3.74583px -1.40313px 0px, #f04805 -3.28224px -2.28625px 0px, #f04805 -2.61457px -3.02721px 0px, #f04805 -1.78435px -3.57996px 0px, #f04805 -0.84318px -3.91012px 0px, #f04805 0.15041px -3.99717px 0px, #f04805 1.13465px -3.8357px 0px, #f04805 2.04834px -3.43574px 0px, #f04805 2.83468px -2.82216px 0px, #f04805 3.44477px -2.03312px 0px, #f04805 3.84068px -1.11766px 0px, #f04805 3.9978px -0.13272px 0px;
}

.method_lead {
  margin-bottom: 6rem;
}

.method_lead .c_lead {
  text-align: center;
}

.method_faq {
  margin: 7rem 0 4rem;
}

@media screen and (min-width: 768px) {
  .method_faq {
    margin: 14rem 0 6rem;
  }
  .method_faq .c_btn {
    margin-top: 6rem;
  }
}

.method_flow {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .method_flow {
    margin-bottom: 6rem;
  }
}

.method_flow .box {
  position: relative;
  overflow: hidden;
  height: 62.7rem;
}

@media screen and (max-width: 767px) {
  .method_flow .box {
    height: 20rem;
  }
}

.method_flow .box:before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(190, 190, 190, 0) 0%, #FFFFFF 100%);
}

.method_flow.open .box {
  height: auto;
  overflow: visible;
}

.method_flow.open .box:before {
  content: none;
}

.method_flow.open .more {
  margin-top: 2rem;
  position: relative;
  bottom: 0;
}

.method_flow.open .more a {
  color: transparent;
}

.method_flow.open .more a:before {
  rotate: -90deg;
  margin-left: -.4em;
}

.method_flow.open .more a:after {
  content: '閉じる';
  font-size: inherit;
  font-weight: 900;
  position: absolute;
  width: 100%;
  text-align: center;
  left: 0;
  color: #1F1F1F;
}

.method_flow .more {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 4rem;
  text-align: center;
}

.method_flow .more a {
  font-size: 3.2rem;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .method_flow .more a {
    font-size: 2rem;
  }
}

.method_flow .more a:before {
  content: '＞';
  color: #1F1F1F;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  width: 1em;
  height: 1em;
  z-index: 2;
  text-align: center;
  bottom: -1.2em;
  rotate: 90deg;
}

.method_flow figure img {
  width: 100%;
}

.check_list2 li {
  font-weight: 900;
  border: solid .2rem #F5F5F5;
  border-radius: 2rem;
  padding: .9em 15rem;
  font-size: 2rem;
  margin-bottom: 2.6rem;
  text-align: left;
  background: rgba(235, 235, 235, 0.15) url(../img/ico-check02.svg) no-repeat 7rem center/2.1em;
}

@media screen and (max-width: 767px) {
  .check_list2 li {
    margin-bottom: 1rem;
    padding: .9em .5em .9em 3em;
    font-size: 1.8rem;
    background-position: .5em center;
  }
}

.method_about {
  margin-bottom: 5rem;
}

.method_about .box {
  border: solid 1rem #F04805;
  border-radius: 2rem;
  padding: 4.5rem 3.5rem;
  margin-top: 2rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .method_about .box {
    border-width: .5rem;
    padding: 4.5rem 2rem;
  }
}

.method_about .box .c_ttl {
  border: none;
  text-align: center;
}

.method_about .box .c_ttl:after {
  content: none;
}

.method_about .ttl {
  background: #F04805;
  border-radius: 3em;
  color: #fff;
  font-weight: 900;
  font-size: 2.4rem;
  padding: .2em 1em;
  white-space: nowrap;
  display: inline-flex;
  gap: .5em;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .method_about .ttl {
    font-size: 2.2rem;
  }
}

.method_about .ttl em {
  color: #1F1F1F;
  text-shadow: var(--shadow-f3);
  font-size: 1.166em;
}

.method_about .step {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 900;
  gap: 6rem;
}

@media screen and (max-width: 767px) {
  .method_about .step {
    flex-direction: column;
  }
}

.method_about .step p {
  font-size: 2.4rem;
}

.method_about .step small {
  color: #808C90;
  font-size: 1.4rem;
  font-weight: 500;
  position: absolute;
  width: 100%;
  left: 0;
  text-align: left;
  margin-top: 1.5em;
  white-space: nowrap;
}

.method_about .step li {
  position: relative;
}

.method_about .step li + li:before {
  content: '';
  background: url(../img/step-arrow.svg) no-repeat 50%/contain;
  width: 3.2rem;
  height: 3.2rem;
}

@media screen and (min-width: 768px) {
  .method_about .step li + li:before {
    left: -4.5rem;
    position: absolute;
    top: 50%;
    translate: 0 -50%;
  }
}

@media screen and (max-width: 767px) {
  .method_about .step li + li:before {
    position: absolute;
    left: 50%;
    translate: -50% 0;
    top: -4.5rem;
    rotate: 90deg;
  }
}

.method_about .step figure {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10rem;
}

.method_about .step .fig {
  height: 12rem;
}

.method_about .step1 {
  width: 8.3rem;
}

.method_about .kit {
  width: 14.8rem;
}

.method_about .step2 {
  width: 10rem;
}

.method_about .cal {
  width: 12.3rem;
}

.method_about .manager {
  width: 7.2rem;
}

.method_about .tanto {
  width: 9.4rem;
}

.method_about .azukari {
  width: 14.1rem;
}

.method_about .result {
  background: #F04805;
  padding: 2rem 2rem;
  border-radius: 1.2rem;
}

.method_about .result p {
  color: #fff;
  margin: .8em 0;
}

.method_about .result img {
  width: 9rem;
}

.method_about .result small {
  margin-top: 2em;
}

.method_about .list2 {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .method_about .list2 .proof2 {
    position: absolute;
    left: 12rem;
    margin-top: -2rem;
  }
  .method_about .list2 .kouza {
    display: block;
    margin-left: auto;
  }
}

.method_about .list2 .txt {
  margin: 0;
}

.method_about .list2 .txt + p {
  margin-top: .6em;
}

.method_about .txt {
  font-size: 2.4rem;
  font-weight: 900;
  display: flex;
  gap: .3em 1em;
  text-align: left;
  position: relative;
}

@media screen and (max-width: 767px) {
  .method_about .txt {
    flex-direction: column;
    font-size: 2rem;
  }
  .method_about .txt.b {
    flex-direction: row;
    align-items: center;
    justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .method_about .txt {
    margin-left: 16rem;
    align-items: center;
  }
  .method_about .txt.b {
    margin: 0;
    justify-content: center;
  }
}

.method_about .txt i {
  padding: .4em 0;
  padding-left: 2.7em;
}

.method_about .txt .check {
  text-shadow: var(--shadow4);
  color: #fff;
  background: url(../img/ico-check03.svg) no-repeat left center/1.75em;
}

.method_about .txt .question {
  background: url(../img/ico-question.svg) no-repeat left center/1.5em;
  padding-left: 2em;
}

.method_about .txt .proof {
  position: absolute;
  width: 4.25em;
  right: 0;
}

@media screen and (min-width: 768px) {
  .method_about .txt .proof {
    right: 28rem;
    margin-top: -1rem;
  }
}

.method_about .txt .hanko {
  width: 2.4375em;
}

@media screen and (max-width: 767px) {
  .method_about .txt .hanko {
    position: absolute;
    bottom: 0;
    margin-left: 18rem;
  }
}

.method_about .txt .proof2 {
  width: 14.8rem;
}

.method_about .txt .kouza {
  width: 8.05rem;
}

.method_about .note {
  text-align: left;
  background: #D83030 url(../img/ico-caution02.svg) no-repeat 1em center/1.65em;
  border-radius: 2rem;
  color: #fff;
  font-size: 2.4rem;
  margin-top: 2rem;
  padding: .5em 3.8em;
}

@media screen and (max-width: 767px) {
  .method_about .note {
    font-size: 2rem;
    background-position: center .5em;
    padding: 2.5em 2rem 1em;
  }
}

.method_about .list {
  display: inline-block;
  margin: 3.5rem 0;
}

.method_about .area {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .method_about .area {
    padding-left: 15rem;
    padding-right: 15rem;
  }
}

.method_about .txt2 {
  text-shadow: var(--shadow4);
  color: #fff;
  font-size: 2.4rem;
  font-weight: 900;
  margin-bottom: 2em;
}

@media screen and (max-width: 767px) {
  .method_about .txt2 {
    font-size: 2rem;
    text-shadow: var(--shadow3);
  }
}

.method_about .row {
  display: flex;
  gap: 2rem 2.5rem;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .method_about .row {
    flex-direction: column;
  }
}

.method_about .row dl {
  font-weight: 900;
  border: solid .2rem #F5F5F5;
  background: rgba(235, 235, 235, 0.15);
  border-radius: 2rem;
  padding: 2rem 4rem;
}

@media screen and (min-width: 768px) {
  .method_about .row dl {
    width: 28.4rem;
  }
}

.method_about .row dt {
  font-size: 2.8rem;
  text-shadow: var(--shadow-f3);
  background: #F04805;
  border-radius: 3em;
  text-align: center;
  padding: .2em 0;
  margin-bottom: .8em;
}

.method_about .row dt.b {
  background: #727171;
}

.method_about .row dd {
  font-size: 2rem;
  line-height: 1.5;
}

.method_about .row figure {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .method_about .row figure {
    width: 35.8rem;
  }
}

.method_about .row figure img {
  width: 29.3rem;
}

@incldue pc {
  .method_about .row figure img {
    display: block;
    margin-left: auto;
  }
}

.method_about .map {
  margin: 0 auto;
  height: 25rem;
  margin-bottom: 4rem;
}

@media screen and (min-width: 768px) {
  .method_about .map {
    width: 64.4rem;
    height: 33.4rem;
  }
}

.method_about iframe {
  width: 100%;
  height: 100%;
  border-radius: 2rem;
}

.method_about .info {
  font-weight: 900;
  text-align: left;
  display: inline-block;
}

.method_about .info dt {
  font-size: 3.2rem;
}

@media screen and (max-width: 767px) {
  .method_about .info dt {
    font-size: 2.8rem;
  }
}

.method_about .info dd {
  font-size: 1.8rem;
}

.method_about .info address {
  display: block;
  font-size: 2.4rem;
  margin-bottom: 1.2em;
}

@media screen and (max-width: 767px) {
  .method_about .info address {
    font-size: 2rem;
  }
}

.c_movie {
  background: #FFEFE2;
  border-radius: 2rem;
  padding: 3.5rem 2rem 7.5rem;
  border: solid 0.3rem #F04805;
}

@media screen and (max-width: 767px) {
  .c_movie {
    padding-bottom: 3.5rem;
  }
}

.c_movie .c_ttl {
  border: none;
  text-align: center;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .2em;
}

.c_movie .c_ttl:after {
  content: none;
}

.c_movie .c_ttl:before {
  content: '';
  background: url(../img/ico-video.svg) no-repeat 50%/contain;
  width: 1.35em;
  height: 1.35em;
}

.c_movie iframe {
  aspect-ratio: 560 / 315;
  display: block;
  width: 71.8rem;
  height: auto;
  margin: 0 auto;
  max-width: 100%;
}

.corp_lead .low_ttl {
  font-size: 4.8rem;
}

@media screen and (max-width: 767px) {
  .corp_lead .low_ttl {
    font-size: 3.2rem;
  }
}

.corp_lead .low_ttl i {
  font-size: 2em;
  margin: 0;
}

.corp_lead .low_ttl .gold:before {
  background: linear-gradient(180.7deg, #B9B248 32.5%, #F0EDCB 43.37%, #D4C02D 82.73%);
  -webkit-background-clip: text;
  background-clip: text;
}

.corp_lead .low_ttl .blue:before {
  background: linear-gradient(23.98deg, #2C56EE 15.39%, #5979F8 56.32%, #004EDE 67.3%);
  -webkit-background-clip: text;
  background-clip: text;
}

.corp_lead .low_ttl .s {
  font-size: 1.66em;
}

.corp_lead .lead {
  border: none;
}

@media screen and (max-width: 767px) {
  .ihin_lead .low_ttl {
    font-size: 2.4rem;
    margin-bottom: 2rem;
  }
}

.ihin_lead .low_ttl .orange {
  color: #F04805;
}

.ihin_lead .low_ttl .white {
  font-size: 1.66em;
}

.ihin_lead .check_list {
  margin-top: 3rem;
}

.ihin_lead .txt {
  font-size: 2.4rem;
  font-weight: 900;
  margin-top: 1em;
}

.corp_merit {
  margin-bottom: 7rem;
}

.corp_merit .lead {
  text-align: center;
  font-size: 2.4rem;
  margin-top: 3rem;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .corp_merit .lead {
    font-size: 2rem;
  }
}

.corp_item {
  margin: 10rem 0;
}

@media screen and (max-width: 767px) {
  .corp_item {
    margin: 6rem 0;
  }
}

.corp_case {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .corp_case {
    margin-bottom: 6rem;
  }
}

.corp_recom {
  margin-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .corp_recom {
    margin-bottom: 6rem;
  }
}

.corp_recom li {
  padding-right: 2rem;
  padding-left: 2rem;
}

.corp_recom li:nth-child(1) img {
  width: 22rem;
}

.corp_recom li:nth-child(2) img {
  width: 36.2rem;
  margin-bottom: 1.8rem;
}

.corp_recom li:nth-child(3) img {
  width: 13rem;
  margin-bottom: 1rem;
}

.corp_method {
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .corp_method {
    margin-bottom: 6rem;
  }
}

.corp_method .txt {
  margin: 1.2em 0;
  margin-left: 0;
}

.corp_method .corp {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .corp_method .corp {
    margin-left: 10rem;
  }
}

.corp_method li {
  font-weight: 900;
  line-height: 1.2;
  font-size: 2.4rem;
  padding-left: 1.8em;
  position: relative;
}

@media screen and (max-width: 767px) {
  .corp_method li {
    font-size: 2rem;
    padding-left: 1em;
  }
}

.corp_method li:before {
  content: '-';
  position: absolute;
  left: 1em;
}

@media screen and (max-width: 767px) {
  .corp_method li:before {
    left: 0;
  }
}

.corp_method .note2 {
  font-size: 2rem;
}

@media screen and (max-width: 767px) {
  .corp_method .note2 {
    font-size: 1.8rem;
  }
}

.corp_method .ttl {
  white-space: normal;
}

.corp_method .flow {
  text-align: left;
}

.corp_method dd {
  font-size: 2.4rem;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 900;
  margin-top: 1.5rem;
}

@media screen and (max-width: 767px) {
  .corp_method dd {
    font-size: 2rem;
  }
}

.corp_method dd p {
  width: calc(100% - 11rem);
}

@media screen and (max-width: 767px) {
  .corp_method dd p {
    width: calc(100% - 8rem);
  }
}

.corp_method dl + dl {
  position: relative;
  margin-top: 5.5rem;
}

.corp_method dl + dl:before {
  content: '';
  position: absolute;
  background: url(../img/corp-rrow.svg) no-repeat 50%/contain;
  width: 3.2rem;
  height: 3.2rem;
  left: 0;
  top: -4.5rem;
}

.corp_method dl img {
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  .corp_method dl img {
    font-size: .8rem;
  }
}

.corp_method .flow1 {
  width: 6.7em;
}

.corp_method .flow2 {
  width: 8.8em;
}

.corp_method .flow3 {
  width: 8.1em;
}

.corp_method .flow4 {
  width: 9em;
}

.ihin_case {
  margin-bottom: 11rem;
}

@media screen and (max-width: 767px) {
  .ihin_case {
    margin-bottom: 6rem;
  }
}

.ihin_case .faq_list {
  counter-reset: item;
}

.ihin_case dl {
  counter-increment: item;
}

.ihin_case dl dt:before {
  content: counter(item) ".";
}

.com_lead {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .com_lead {
    margin-bottom: 6rem;
  }
}

.com_info {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .com_info {
    margin-bottom: 6rem;
  }
}

.com_info table {
  margin-top: 6rem;
}

@media screen and (max-width: 767px) {
  .com_info table {
    margin-top: 3rem;
  }
}

.com_info th {
  background: #1F1F1F;
  color: #fff;
  text-align: left;
  border-left: solid 2px #fff;
  width: 25rem;
}

.com_info td {
  background: #F1F1F1;
}

.com_info th, .com_info td {
  font-weight: 900;
  padding: 2em .8em;
  border-bottom: solid 1px #fff;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .com_info th, .com_info td {
    float: left;
    width: 100%;
    padding: .7em 1em;
  }
}

.pp_body p, .pp_body li {
  line-height: 1.8;
  font-weight: 400;
}

.pp_body .lead {
  margin-bottom: 8rem;
}

.pp_body .c_ttl {
  margin-top: 1em;
}

.pp_body li {
  position: relative;
  padding-left: 1.5em;
}

.pp_body li i {
  position: absolute;
  text-align: right;
  left: 0;
  width: 1.1em;
}

.pp_body .num {
  counter-reset: item;
}

.pp_body .num > li {
  counter-increment: item;
}

.pp_body .num > li:before {
  content: counter(item) ".";
  position: absolute;
  left: 0;
}

.pp_body .c_btn {
  margin: 18rem 0 15rem;
}

@media screen and (max-width: 767px) {
  .pp_body .c_btn {
    margin: 8rem 0 8rem;
  }
}

.none_body {
  margin: 10rem 0;
}

@media screen and (max-width: 767px) {
  .none_body {
    margin: 6rem 0;
  }
}

.none_body .box {
  padding-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .none_body .box {
    padding-bottom: 6rem;
  }
}

.none_body .box p {
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.6;
}

.none_body .box .msg {
  color: #FF5722;
  margin-top: 1em;
}

.none_body .box .ok {
  widht: 18.6rem;
  margin-bottom: 2em;
}

.none_body .c_btn {
  margin-top: 8rem;
}

@media screen and (max-width: 767px) {
  .none_body .c_btn {
    margin-top: 6rem;
  }
}

.items_lead {
  margin-bottom: 2.2rem;
}

.items_lead .ttl {
  font-size: 3.2rem;
  font-weight: 900;
  color: #fff;
  text-shadow: var(--shadow3);
  margin-bottom: .8em;
  text-align: center;
}

.items_lead .item {
  background: #FFEFE2;
  padding: 4rem 3rem 3rem;
  border-radius: 2rem;
}

@media screen and (max-width: 767px) {
  .items_lead .item {
    padding: 3rem 2rem;
  }
}

.items_lead .item ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
}

@media screen and (max-width: 767px) {
  .items_lead .item ul {
    grid-template-columns: repeat(1, 1fr);
  }
}

.items_lead .item a {
  background: #F04805 url(../img/ico-arrow02.svg) no-repeat calc(100% - .6em) center/0.875em;
  border-radius: 2rem;
  color: #fff;
  height: 3.4375em;
  display: flex;
  font-size: 2.4rem;
  align-items: center;
  font-weight: 900;
  padding-left: 1.2em;
}

@media screen and (max-width: 767px) {
  .items_lead .item a {
    font-size: 2rem;
    height: 3em;
  }
}

.items_sec {
  border: solid 1rem #F04805;
  border-radius: 2rem;
  padding: 5rem 3.5rem;
  margin: 6.5rem 0;
}

@media screen and (max-width: 767px) {
  .items_sec {
    border-width: .6rem;
    padding: 3.5rem 1.5rem;
    margin: 3.5rem 0;
  }
}

.items_sec .low_catch {
  margin: 0 -2rem .8em;
}

.items_sec .low_catch em {
  font-size: 1.48em;
  text-shadow: var(--shadow6);
}

.items_sec .low_catch i {
  font-size: 1em;
  text-shadow: var(--shadow4);
}

.items_sec ul {
  margin-bottom: 5.3rem;
}

@media screen and (max-width: 767px) {
  .items_sec ul {
    margin-bottom: 3rem;
  }
}

.items_sec li {
  border: solid .2rem #F5F5F5;
  border-radius: 2rem;
  padding: .9em 15rem;
  font-size: 2rem;
  margin-bottom: 2.6rem;
  background: rgba(235, 235, 235, 0.15) url(../img/ico-check02.svg) no-repeat 7rem center/2.1em;
}

@media screen and (max-width: 767px) {
  .items_sec li {
    margin-bottom: 1rem;
    padding: .9em .5em .9em 3em;
    font-size: 1.8rem;
    background-position: .5em center;
  }
}

.items_sec dl {
  border: none;
  background: #FFDCDC;
}

.items_sec .note {
  margin-top: 5rem;
  font-weight: 900;
  margin-left: 2rem;
}

@media screen and (max-width: 767px) {
  .items_sec .note {
    margin-top: 2rem;
    margin-left: 0;
  }
}

.items_mb {
  margin-bottom: 6.5rem;
}

.search_result {
  padding-bottom: 4rem;
}

.search_result .box {
  padding: 3.6rem 5rem 8rem;
  background: #fff;
  border-radius: 5rem;
  border: solid 0.9rem #F04805;
  margin-bottom: 7.8rem;
}

@media screen and (max-width: 767px) {
  .search_result .box {
    padding: 3.6rem 2rem;
    border-width: .5rem;
    border-radius: 3rem;
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .search_result .box {
    width: 136.6rem;
  }
}

.search_result .ttl2 {
  text-align: center;
  font-size: 4.8rem;
  font-weight: 900;
  text-shadow: var(--shadow3);
  color: #fff;
  margin-bottom: .5em;
}

@media screen and (max-width: 767px) {
  .search_result .ttl2 {
    font-size: 2.6rem;
  }
}

.search_result .c_cta .ttl {
  font-size: 3.9rem;
}

@media screen and (max-width: 767px) {
  .search_result .c_cta .ttl {
    font-size: 2.6rem;
  }
}

.search_result .none {
  text-align: center;
}

.search_result .none img {
  width: 40rem;
}

@media screen and (max-width: 767px) {
  .search_result .none img {
    width: 20rem;
  }
}

.form_cta .sec_cta {
  background: none;
}

.form_cta .sec_cta .qr {
  padding-bottom: 4rem;
}

.form_cta .sec_cta .c_cta {
  display: none;
}

.form_note {
  margin-bottom: 6rem;
}

.form_note .switch_list dl {
  padding: 2.5rem 4rem;
}

@media screen and (max-width: 767px) {
  .form_note .switch_list dl {
    padding: 2.5rem 3rem;
  }
}

.form_note .switch_list dt {
  margin-right: 7rem;
}

@media screen and (max-width: 767px) {
  .form_note .switch_list dt {
    margin-right: 4rem;
  }
}

.form_note .switch_list dd {
  margin-top: 5rem;
}

.form_note .btn {
  display: flex;
  flex-wrap: wrap;
  gap: 3.8rem;
  font-weight: 900;
  margin: 2.3em 0 1em;
}

.form_note .btn a {
  padding: 1em;
  border-radius: .875em;
  border: solid .3rem #fff;
  padding-left: 3.2em;
}

.form_note .btn .xls {
  background: #09ED86 url(../img/ico-excel.svg) no-repeat 1em center/1.875em;
}

.form_note .btn .pdf {
  background: #fff url(../img/ico-pdf.svg) no-repeat 1em center/1.5625em;
  border-color: #F04805;
}

.form_body {
  font-weight: 900;
  margin-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .form_body {
    margin-bottom: 6rem;
  }
}

.form_body .u_inner {
  border: solid 0.9rem #1F1F1F;
  border-radius: 2rem;
  padding: 2.5rem 2rem;
}

@media screen and (min-width: 768px) {
  .form_body .u_inner {
    width: 136.6rem;
    padding: 5rem 9rem;
  }
}

.form_body .row-flex.radio {
  margin-bottom: 5rem;
}

.form_body .row-flex.radio .label_name {
  font-size: 2.4rem;
  margin-bottom: .5em;
}

.form_body .only-takuhai {
  display: none;
}

.form_body .only-mochikomi {
  display: none;
}

.form_body .only-shuccho {
  display: none;
}

.form_body:has(input[name=type][value=宅配買取]:checked) .only-takuhai {
  display: block;
}

.form_body:has(input[name=type][value=持ち込み]:checked) .only-mochikomi {
  display: block;
}

.form_body:has(input[name=type][value=出張買取]:checked) .only-shuccho {
  display: block;
}

.form_body .radio-section {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  gap: 1rem 1.5rem;
}

.form_body .radio-section > * {
  width: calc(50% - 1rem);
}

.form_body .radio-section > *:nth-child(5) {
  width: 100%;
  margin-top: 2rem;
}

@media screen and (max-width: 767px) {
  .form_body .radio-section {
    gap: 2rem;
  }
}

.form_body .radio-section label {
  width: 100%;
  font-size: 2rem;
  text-align: center;
  display: block;
  border: solid 2px #1F1F1F;
  padding: .7em 0;
  border-radius: .4em;
  position: relative;
}

.form_body .radio-section label input {
  display: none;
}

.form_body .radio-section label:before, .form_body .radio-section label:after {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  border-radius: 50%;
  border: solid 2px #1F1F1F;
  width: 1em;
  height: 1em;
  left: 1em;
}

.form_body .radio-section label:after {
  content: none;
  background: #1F1F1F;
  scale: .5;
}

.form_body .radio-section label:has(input:checked):after {
  content: '';
}

.form_body .area-notice {
  position: absolute;
  bottom: 7.2rem;
  font-size: 1.2rem;
  color: #666666;
  left: 1em;
}

.form_body:has(.mw_wp_form_confirm) .area-notice {
  display: none;
}

.form_body:has(.mw_wp_form_confirm) .seet_download {
  display: none;
}

.form_body:has(.mw_wp_form_confirm) .row-flex {
  flex-direction: column;
}

.form_body:has(.mw_wp_form_confirm) .policy__wrapper {
  display: none;
}

.form_body:has(.mw_wp_form_confirm) .complete_wrapper {
  display: block;
}

.form_body .label_name {
  font-size: 2rem;
  margin-bottom: .4em;
}

.form_body .label_name + .form-section {
  margin-bottom: 3rem;
}

.form_body .required {
  background: #FF5722;
  border-radius: 3em;
  padding: .05em .7em;
  font-size: 1.6rem;
  line-height: 1.4;
  color: #fff;
  vertical-align: .1em;
  margin-left: .4em;
}

.form_body input[type="submit"] {
  background: #F04805 url(../img/ico-arrow04.svg) no-repeat calc(50% + 4em) center;
  color: #fff;
  width: 100%;
  border-radius: 3em;
  font-size: 2.4rem;
  padding: .8em 0;
}

.form_body label:has( > input[type="checkbox"]) {
  position: relative;
  padding-left: 2.5em;
}

.form_body label:has( > input[type="checkbox"]):has( > input[type="checkbox"]:checked):after {
  border-color: #1F1F1F;
}

.form_body label:has( > input[type="checkbox"]) input {
  display: none;
}

.form_body label:has( > input[type="checkbox"]):before {
  content: '';
  position: absolute;
  width: 1.7em;
  height: 1.7em;
  border: solid 2px #1F1F1F;
  background: #fff;
  border-radius: .3em;
  left: 0;
}

.form_body label:has( > input[type="checkbox"]):after {
  content: '';
  border-right: .3em solid #D9D9D9;
  border-bottom: .3em solid #D9D9D9;
  left: .5em;
  position: absolute;
  top: 50%;
  margin-top: -.6em;
  transform: rotate(45deg);
  width: .7em;
  height: 1.1em;
}

.form_body .mw_wp_form .horizontal-item .mwform-radio-field-text {
  font-weight: 900;
}

.form_body .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0;
}

.form_body .mwform-checkbox-field-text {
  font-weight: 900;
}

.form_body .mwform-error {
  color: red;
}

.seet_download {
  margin: -1.5rem 0 4rem;
  color: #666666;
}

.seet_download p {
  margin-bottom: .8em;
  font-size: 1.4rem;
}

.form-section input[type="text"], .form-section input[type="email"], .form-section input[type="tel"], .form-section textarea, .form-section select {
  border: solid 2px #1F1F1F;
  border-radius: .3em;
  padding: .8em 1em;
  font-size: 2rem;
  width: 100%;
}

.form-section input[type="text"]::placeholder, .form-section input[type="email"]::placeholder, .form-section input[type="tel"]::placeholder, .form-section textarea::placeholder, .form-section select::placeholder {
  color: #BECBD9;
  font-weight: bold;
}

.form-section textarea {
  height: 10em;
}

.form-section.select {
  font-size: 1.8rem;
  font-weight: bold;
}

.form-section.select input {
  margin: .4em 0;
}

.kit-size-selects select {
  width: 5em;
  -webkit-appearance: none;
  background: url(../img/select.webp) no-repeat calc(100% - .4em) center/0.7em;
}

.kit-select-row {
  display: flex;
  align-items: center;
  margin-top: .6em;
}

.kit-select-row span {
  width: 15em;
}

.file_attachments {
  display: flex;
  flex-direction: column;
}

.ssessment_note {
  display: none;
}

.complete_wrapper {
  display: none;
}

.policy__wrapper, .complete_wrapper {
  max-width: 55rem;
  margin: 4rem auto 3.5rem;
  border-radius: 1.2rem;
  background: #FFEFE2;
  padding: 3rem 2rem;
  text-align: center;
}

.policy__wrapper .cont, .policy__wrapper p, .complete_wrapper .cont, .complete_wrapper p {
  font-size: 1.4rem;
  color: #F87800;
  margin-top: 1.5em;
}

.policy__wrapper .cont a, .policy__wrapper p a, .complete_wrapper .cont a, .complete_wrapper p a {
  text-decoration: underline;
}

.notice_list {
  margin-bottom: 10rem;
}

@media screen and (max-width: 767px) {
  .notice_list {
    margin-bottom: 6rem;
  }
}

.custom-pagination {
  margin-top: 10rem;
  text-align: center;
  font-family: "Anta", sans-serif;
  font-size: 2.4rem;
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .custom-pagination {
    margin-top: 6rem;
    font-size: 1.2rem;
  }
}

.custom-pagination ul {
  overflow: hidden;
  display: inline-flex;
  justify-content: center;
  border: solid 2px #1F1F1F;
  border-radius: 3em;
}

.custom-pagination a, .custom-pagination span {
  display: flex;
  height: 2.66em;
  width: 2.66em;
  align-items: center;
  color: #A0A0A0;
  font-weight: bold;
  position: relative;
  z-index: 2;
}

.custom-pagination li {
  position: relative;
  z-index: 1;
}

.custom-pagination li:before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  width: 2px;
  background: #1F1F1F;
  height: 5em;
  rotate: 20deg;
  z-index: -1;
  left: -1em;
}

.custom-pagination li:after {
  content: '';
  position: absolute;
  width: 3.7em;
  height: 100%;
  clip-path: polygon(1em 0, 100% 0, calc(100% - 1em) 100%, 0% 100%);
  background: none;
  top: 0;
  z-index: -2;
  left: -1.5em;
}

.custom-pagination li:has(span):after {
  background: #1F1F1F;
}

.custom-pagination li:has(span.dots):after {
  background: none;
}

.custom-pagination .prev:before {
  content: none;
}

.custom-pagination .prev:after, .custom-pagination .next:after {
  background: #F5F5F5;
  width: 200%;
}

.custom-pagination .prev a, .custom-pagination .next a {
  padding: 0 3em;
  color: #1F1F1F;
  width: auto;
  background: url(../img/ico-prev02.svg) no-repeat 1.5em center/1em;
}

@media screen and (max-width: 767px) {
  .custom-pagination .prev a, .custom-pagination .next a {
    padding: 0 2em;
    background-position: .5em;
  }
}

.custom-pagination .disabled {
  opacity: .5;
  pointer-events: none;
}

.custom-pagination .disabled:after {
  content: none;
}

.custom-pagination .prev {
  clip-path: polygon(0 0, calc(100% - .5em) 0, calc(100% - 1.5em) 100%, 0% 100%);
}

.custom-pagination .next {
  clip-path: polygon(1em 0, 100% 0, 100% 100%, 0 100%);
  margin-left: -1em;
}

.custom-pagination .next:before {
  left: .5em;
  z-index: 1;
}

.custom-pagination .next a {
  background-image: url(../img/ico-next02.svg);
  background-position: calc(100% - 2em) center;
}

@media screen and (max-width: 767px) {
  .custom-pagination .next a {
    background-position: calc(100% - .5em) center;
  }
}

.cat_list {
  background: #FFEFE2;
  border-radius: 2rem;
  padding: 3rem;
  margin-bottom: 3.5rem;
}

@media screen and (max-width: 767px) {
  .cat_list {
    padding: 3rem 2rem;
  }
}

.cat_list .ttl {
  font-size: 3.2rem;
  text-shadow: var(--shadow3);
  font-weight: 900;
  color: #fff;
  margin-bottom: 1em;
}

@media screen and (max-width: 767px) {
  .cat_list .ttl {
    font-size: 2.6rem;
  }
}

.cat_list ul {
  flex-wrap: wrap;
  display: flex;
  gap: 2rem;
}

@media screen and (max-width: 767px) {
  .cat_list ul {
    gap: 1rem;
  }
}

.cat_list li {
  font-size: 2.4rem;
}

@media screen and (min-width: 768px) {
  .cat_list li {
    min-width: 8.15em;
  }
}

@media screen and (max-width: 767px) {
  .cat_list li {
    font-size: 2rem;
  }
}

.cat_list a {
  text-align: center;
  display: block;
  color: #fff;
  border-radius: 3em;
  padding: .2em 1em;
  background: #F04805;
}

.cat_list .infomation {
  background: #004EDE;
}

.cat_list .new {
  background: #D83030;
}

.blog_header {
  background: #FFEFE2;
  border-radius: .7rem;
  margin: 6rem 0 5rem;
  padding: 4rem 2rem;
}

@media screen and (min-width: 768px) {
  .blog_header {
    margin: 8rem 0 7rem;
    padding: 4rem 14rem;
  }
  .blog_header .post_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
  }
}

.blog_header li {
  background: #fff;
}

.blog_header .pickup {
  background: #fff;
  border-radius: 2rem;
  padding: 2.5rem 2rem;
  margin-bottom: 1.8rem;
}

.blog_header .pickup p {
  flex-direction: column;
  margin-bottom: 1em;
}

.blog_header .pickup .pickup {
  background: #05A705;
  border-radius: 50%;
  width: 6.61em;
  height: 6.61em;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .blog_header .pickup figure {
    width: 48rem;
  }
  .blog_header .pickup .desc {
    width: calc(100% - 50rem);
  }
  .blog_header .pickup a {
    display: flex;
    justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .post_wrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: space-between;
  }
  .post_wrap .sec_banner {
    width: 24rem;
  }
  .post_wrap .sec_banner ul {
    flex-direction: column;
    margin-top: 0;
  }
  .post_wrap .sec_banner li {
    width: auto;
  }
  .post_wrap .post_body {
    width: calc(100% - 34rem);
  }
}

.post_body {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .post_body {
    margin-bottom: 6rem;
  }
}

.post_body .ttl {
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.2;
  margin: 6rem 0 .8em;
}

@media screen and (max-width: 767px) {
  .post_body .ttl {
    font-size: 3.2rem;
  }
}

.post_body .sub {
  font-size: 1.8rem;
  color: rgba(102, 102, 102, 0.6);
  margin-bottom: 2.5em;
}

.post_body figure {
  margin-bottom: 3rem;
}

.post_body .price {
  display: flex;
  justify-content: space-between;
  font-size: 2rem;
  border-bottom: solid 1px #1F1F1F;
  position: relative;
  line-height: 1.2;
  padding-bottom: .55em;
  margin-bottom: -1em;
}

@media screen and (max-width: 767px) {
  .post_body .price {
    font-size: 1.6rem;
  }
}

.post_body .price:after {
  content: '';
  width: 100%;
  position: absolute;
  border-bottom: solid 1px #1F1F1F;
  left: 0;
  bottom: .3rem;
}

.post_body .price span {
  font-weight: 900;
}

.post_body .price i {
  color: #fff;
  border-radius: 3em;
  padding: .3em 1.5em;
  background: #F04805;
  font-size: 1.2em;
}

.post_body .price em {
  font-size: 1.8em;
}

.post_body .cat {
  display: flex;
  flex-wrap: wrap;
  gap: .2em .5em;
  font-size: 2.4rem;
  margin: 3em 0 1em;
}

@media screen and (max-width: 767px) {
  .post_body .cat {
    font-size: 2rem;
  }
}

.post_body .cat i {
  color: #fff;
  border-radius: 3em;
  padding: .3em 1.5em;
  background: #F04805;
}

.post_body .cat .infomation {
  background: #004EDE;
}

.post_body .cat .new {
  background: #D83030;
}

.post_body .body {
  margin-bottom: 12rem;
}

@media screen and (max-width: 767px) {
  .post_body .body {
    margin-bottom: 6rem;
  }
}

.post_body .body p {
  font-weight: 400;
  font-size: 1.4rem;
  margin-bottom: 1.2em;
}

.post_body .body h1 {
  font-size: 2.4rem;
  background: #FFEFE2;
  border-radius: 1rem;
  padding: 1.5em 1em 1.5em 3em;
  position: relative;
  margin: 2.5em 0 1em;
}

@media screen and (max-width: 767px) {
  .post_body .body h1 {
    padding-left: 2em;
  }
}

.post_body .body h1:before {
  content: '';
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  left: .8em;
  background: #F04805;
  border-radius: .5em;
  height: calc(100% - 2em);
  background: #F04805;
  width: .25em;
}

.post_body .body h2 {
  border-bottom: solid .3rem #A8A8A8;
  position: relative;
  font-size: 2.4rem;
  padding: 0 .5em .6em;
  margin: 1.8em 0 1em;
}

.post_body .body h2:before {
  content: '';
  background: #F04805;
  height: .3rem;
  bottom: -.3rem;
  width: 8em;
  position: absolute;
  left: 0;
}

.post_body .body h3 {
  background: #D9D9D9;
  border-radius: 1rem;
  font-size: 2rem;
  padding: .2em .6em;
  margin: 1.8em 0 1em;
}

.post_body .body h4 {
  color: #F04805;
  font-size: 1.8rem;
  padding: .2em .6em;
  border-top: solid 1px mc;
  border-bottom: solid 1px #F04805;
  margin: 1.8em 0 1em;
}

/*# sourceMappingURL=style.css.map */