/* arguments inittial */
/* font style */
/* site style */
/* [ writing-mode ]
-------------------------------------------------*/
/* [ easy breakpoint ]
-------------------------------------------------*/
@media (max-width: 1023px) {
  #wrap.sub {
    padding-top: 57px; } }

.p-heading {
  margin-bottom: 25px; }
  @media (max-width: 1023px) {
    .p-heading {
      margin-bottom: 3px; } }
  .p-heading .c-heading {
    padding-top: 47px;
    padding-bottom: 46px; }
    @media (max-width: 1023px) {
      .p-heading .c-heading {
        padding-top: 19px;
        padding-bottom: 19px; } }
    .p-heading .c-heading .ttl {
      align-items: center;
      font-size: 20px;
      font-size: 2rem;
      line-height: 1.2em;
      letter-spacing: 0.03em;
      font-weight: 700;
      justify-content: center;
      flex-direction: column;
      gap: 0; }
      .p-heading .c-heading .ttl.line::after {
        margin-top: 16px; }
        @media (max-width: 1023px) {
          .p-heading .c-heading .ttl.line::after {
            margin-top: 8px;
            width: 21px; } }
    .p-heading .c-heading .sub {
      top: -41px; }
      @media (max-width: 1023px) {
        .p-heading .c-heading .sub {
          top: 5px; } }

.heading:after {
  z-index: -1;
  top: 50px;
  height: 1311px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }
  @media (max-width: 1023px) {
    .heading:after {
      top: 113px;
      height: 427px; } }

.heading .inner {
  display: flex;
  flex-direction: column-reverse;
  gap: 14px; }
  @media (min-width: 1024px) {
    .heading .inner {
      flex-direction: row;
      gap: 4.16667vw;
      max-width: 86.66667vw; } }

.heading .info {
  margin-top: auto;
  width: 100%; }
  .heading .info .ttl {
    font-size: 40px;
    font-size: 4rem;
    line-height: 1.45em;
    letter-spacing: 0.03em;
    font-weight: 700;
    font-size: 2.77778vw;
    margin-bottom: 2.29167vw; }
    @media (max-width: 1023px) {
      .heading .info .ttl {
        font-size: 22px;
        font-size: 2.2rem;
        line-height: 1.54545em;
        margin-bottom: 15px; } }

.heading .c-img {
  min-width: 40.27778vw;
  position: relative;
  box-shadow: 7px 15px 20px rgba(0, 0, 0, 0.1); }
  .heading .c-img:before {
    display: block;
    content: " ";
    width: 100%;
    padding-top: 66.37931%; }
  .heading .c-img > .content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0; }
  .heading .c-img img {
    width: 100%; }

.overview {
  margin-top: 75px;
  margin-bottom: 45px; }
  @media (max-width: 1023px) {
    .overview {
      margin: 0;
      padding-top: 32px;
      padding-bottom: 45px;
      background-color: #f0ede9; } }
  .overview .inner {
    display: flex;
    align-items: center; }
    @media (max-width: 1023px) {
      .overview .inner {
        gap: 13px;
        flex-direction: column;
        align-items: flex-start; } }
  .overview .ttl {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.27273em;
    letter-spacing: 0.03em;
    font-weight: 700;
    display: flex;
    align-items: center; }
    @media (max-width: 1023px) {
      .overview .ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.55556em; } }
    .overview .ttl::before {
      content: "";
      width: 24px;
      height: 25px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2225%22%20viewBox%3D%220%200%2024%2025%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_922_10864)%22%3E%3Cpath%20d%3D%22M19.133%206.05078H4.86719V8.08057H19.133V6.05078Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M19.133%2010.7354H4.86719V12.7651H19.133V10.7354Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M13.9608%2015.418H4.86719V17.4478H13.9608V15.418Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M0%200V25H16.3695L16.548%2024.8032L22.2856%2019.459L24.0005%2017.8608V0H0ZM22.2856%2017.8608H17.9513C17.0837%2017.8608%2016.3695%2018.5659%2016.3695%2019.4224V23.1274H1.71436V1.87695H22.2851V17.8604L22.2856%2017.8608Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_922_10864%22%3E%3Crect%20width%3D%2224%22%20height%3D%2225%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
      background-size: 100% auto;
      margin-right: 16px; }
      @media (max-width: 1023px) {
        .overview .ttl::before {
          margin-right: 13px; } }
    .overview .ttl:after {
      width: 65px;
      height: 3px;
      background-color: #ff5e00;
      margin-left: 41px; }
      @media (min-width: 1024px) {
        .overview .ttl:after {
          content: ""; } }
  .overview .wrap {
    max-width: 772px;
    width: 100%;
    background-color: #fff;
    padding: 40px 40px 35px 47px; }
    @media (max-width: 1023px) {
      .overview .wrap {
        max-width: 100%;
        padding: 19px 23px 17px; } }
  .overview .specifications {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 13px 21px; }
    @media (max-width: 1023px) {
      .overview .specifications {
        gap: 7px;
        flex-direction: column; } }
    .overview .specifications .group {
      display: flex;
      align-items: center;
      gap: 14px;
      width: calc(50% - 12px); }
      @media (max-width: 1023px) {
        .overview .specifications .group {
          gap: 11px;
          width: 100%; } }
    .overview .specifications .spec {
      min-width: 107px;
      display: block;
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 2em;
      letter-spacing: 0.03em;
      font-weight: 700;
      background-color: #f0ede9;
      border-radius: 30px;
      padding: 1px 12px;
      text-align: center; }
      @media (max-width: 1023px) {
        .overview .specifications .spec {
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 1.5em;
          letter-spacing: 0.03em;
          min-width: 84px;
          padding: 4px 5px; } }
    .overview .specifications .text {
      line-height: 20px; }
      @media (max-width: 1023px) {
        .overview .specifications .text {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.28571em;
          letter-spacing: 0.03em; } }

.request {
  background-color: #f0ede9;
  padding-bottom: 95px; }
  @media (max-width: 1023px) {
    .request {
      padding-bottom: 73px; } }
  @media (max-width: 1023px) {
    .request .inner {
      width: 100%; } }
  .request .wrap {
    background-color: #EFE2D1;
    padding: 55px 60px 60px; }
    @media (max-width: 1023px) {
      .request .wrap {
        padding: 34px 18px 40px; } }
    .request .wrap + .wrap {
      position: relative; }
      .request .wrap + .wrap::before {
        content: "";
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%) matrix(1, 0, 0, -1, 0, 0);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0px 60px 30px 60px;
        border-color: transparent transparent #EFE2D1 transparent; }
    .request .wrap.white {
      background-color: #fff;
      padding: 49px 60px 75px; }
      @media (max-width: 1023px) {
        .request .wrap.white {
          padding: 50px 18px 50px; } }
      .request .wrap.white + .wrap {
        position: relative; }
        .request .wrap.white + .wrap::before {
          content: "";
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%) matrix(1, 0, 0, -1, 0, 0);
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0px 60px 30px 60px;
          border-color: transparent transparent #fff transparent; }
      .request .wrap.white .ttl {
        gap: 21px;
        margin-bottom: 21px; }
        @media (max-width: 1023px) {
          .request .wrap.white .ttl {
            margin-bottom: 4px; } }
        .request .wrap.white .ttl::before {
          margin-left: 4px;
          width: 20px;
          height: 38px;
          background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2238%22%20viewBox%3D%220%200%2020%2038%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M9.78925%208.48047C4.38241%208.48047%200.000956233%2012.8315%200%2018.2006C0%2021.5909%201.74907%2024.5806%204.39831%2026.3166C4.70927%2026.5206%204.92125%2026.6949%205.06134%2026.8433C5.26771%2027.0696%205.34152%2027.2152%205.41341%2027.5054C5.4816%2027.7929%205.50491%2028.2342%205.50402%2028.8611V29.7866H14.0756V28.8611C14.0746%2028.4439%2014.084%2028.1063%2014.1111%2027.8448C14.1316%2027.6482%2014.1624%2027.4943%2014.2007%2027.371C14.2614%2027.1845%2014.3296%2027.0594%2014.4678%2026.8971C14.6069%2026.7376%2014.8302%2026.5466%2015.1803%2026.3166C17.8296%2024.5807%2019.5786%2021.591%2019.5786%2018.2007C19.5785%2012.8315%2015.1961%208.48047%209.78925%208.48047ZM14.1521%2024.7717C13.7636%2025.0276%2013.4367%2025.2835%2013.1594%2025.5747C12.7411%2026.0087%2012.4675%2026.5465%2012.348%2027.0955C12.2863%2027.371%2012.2527%2027.6463%2012.234%2027.9357H7.33891C7.33329%2027.8411%207.33144%2027.7446%207.32211%2027.6528C7.29223%2027.3699%207.24275%2027.0946%207.15776%2026.8229C7.03261%2026.4149%206.81597%2026.0226%206.51995%2025.686C6.22394%2025.3466%205.86254%2025.0591%205.42644%2024.7717C3.27862%2023.3612%201.86483%2020.9493%201.86483%2018.2006C1.86483%2016.0252%202.75012%2014.0629%204.18537%2012.6367C5.62253%2011.2105%207.59757%2010.3314%209.78925%2010.3314C11.9809%2010.3314%2013.956%2011.2105%2015.394%2012.6367C16.8284%2014.0629%2017.7137%2016.0252%2017.7137%2018.2006C17.7137%2020.9493%2016.3008%2023.3612%2014.1521%2024.7717Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M12.9398%2030.9385H6.63761C6.151%2030.9385%205.75781%2031.4532%205.75781%2032.0902C5.75781%2032.7249%206.151%2033.2418%206.63761%2033.2418H12.9398C13.4255%2033.2418%2013.8196%2032.7249%2013.8196%2032.0902C13.8196%2031.4532%2013.4256%2030.9385%2012.9398%2030.9385Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M12.9398%2034.3936H6.63761C6.151%2034.3936%205.75781%2034.7802%205.75781%2035.2569C5.75781%2035.7336%206.151%2036.1211%206.63761%2036.1211H12.9398C13.4255%2036.1211%2013.8196%2035.7335%2013.8196%2035.2569C13.8196%2034.7803%2013.4256%2034.3936%2012.9398%2034.3936Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M9.78774%2038.0003C10.7835%2038.0003%2011.6491%2037.534%2012.0911%2036.8486H7.48438C7.92741%2037.534%208.79299%2038.0003%209.78774%2038.0003Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3Cpath%20d%3D%22M0.301813%203.16382C0.70423%202.7614%201.35652%202.7614%201.75894%203.16382L4.24753%205.6524C4.64971%206.05484%204.64987%206.70719%204.24753%207.10953C3.84519%207.51187%203.19284%207.51171%202.7904%207.10953L0.301813%204.62094C-0.100604%204.21852%20-0.100604%203.56623%200.301813%203.16382ZM17.0306%203.16382C17.433%202.7614%2018.0853%202.7614%2018.4877%203.16382C18.8901%203.56623%2018.8901%204.21852%2018.4877%204.62094L15.9991%207.10953C15.5967%207.51171%2014.9443%207.51187%2014.542%207.10953C14.1397%206.70719%2014.1398%206.05484%2014.542%205.6524L17.0306%203.16382ZM8.48507%204.12182V1.03045C8.48507%200.46135%208.94642%200%209.51552%200C10.0846%200%2010.546%200.46135%2010.546%201.03045V4.12182C10.546%204.69092%2010.0846%205.15227%209.51552%205.15227C8.94642%205.15227%208.48507%204.69092%208.48507%204.12182Z%22%20fill%3D%22%23FF5E00%22%2F%3E%3C%2Fsvg%3E"); }
    .request .wrap .ttl {
      display: flex;
      align-items: center;
      gap: 16px;
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 1em;
      letter-spacing: 0.03em;
      font-weight: 700;
      margin-bottom: 24px; }
      @media (max-width: 1023px) {
        .request .wrap .ttl {
          gap: 9px;
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.55556em;
          margin-bottom: 9px; } }
      .request .wrap .ttl::before {
        content: "";
        width: 29px;
        height: 27px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2229%22%20height%3D%2227%22%20viewBox%3D%220%200%2029%2027%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20clip-path%3D%22url(%23clip0_922_10898)%22%3E%3Cpath%20d%3D%22M25.0657%203.34935C22.526%201.23447%2018.8947%20-0.0011144%2014.4547%207.54192e-07C10.2412%207.54192e-07%206.64338%201.16979%204.07076%203.2568C2.78502%204.2989%201.76209%205.57017%201.06541%207.01652C0.3676%208.46231%20-0.00113021%2010.0787%202.60232e-06%2011.7949C-0.00113021%2013.8697%200.4401%2015.7866%201.33162%2017.4588C2.18067%2019.0568%203.44432%2020.4162%205.05291%2021.4789C4.67229%2023.0552%204.1376%2025.3078%204.1376%2025.3089C4.11325%2025.4104%204.10022%2025.5157%204.10135%2025.6222C4.10022%2026.0454%204.30073%2026.453%204.64907%2026.7156L4.65133%2026.7173C4.90055%2026.9047%205.20131%2027%205.50151%2027C5.7275%2027%205.95633%2026.9459%206.16307%2026.8366L6.18346%2026.826L6.20385%2026.8138C6.20385%2026.8138%206.49158%2026.6459%206.93282%2026.3889C7.59325%2026.0042%208.60032%2025.4182%209.49807%2024.8979C9.94666%2024.6376%2010.3686%2024.3939%2010.7051%2024.2004C11.0404%2024.0075%2011.2987%2023.8603%2011.3944%2023.8084L11.3984%2023.8057L11.4046%2023.8018C12.6564%2023.1031%2013.6538%2022.986%2014.4547%2022.9816C17.7795%2022.9771%2021.3201%2022.3426%2024.1476%2020.6052C25.558%2019.7354%2026.7854%2018.575%2027.6486%2017.0891C28.5135%2015.6048%2029.0017%2013.8078%2029.0006%2011.7275C29.0068%208.45562%2027.6083%205.4581%2025.0663%203.34824L25.0657%203.34935ZM25.7551%2016.0225C25.2555%2016.88%2024.6013%2017.6015%2023.8163%2018.2126C22.6393%2019.1287%2021.1615%2019.79%2019.541%2020.216C17.9211%2020.6431%2016.1624%2020.8343%2014.4547%2020.8338C13.4063%2020.8293%2011.9415%2021.0239%2010.3341%2021.9311C10.1562%2022.0281%209.75975%2022.255%209.23809%2022.5561C8.4893%2022.9888%207.50375%2023.5609%206.68133%2024.0398C6.88184%2023.1985%207.1152%2022.2233%207.28852%2021.5079V21.5068C7.3174%2021.3875%207.33836%2021.2575%207.33836%2021.1103C7.34063%2020.9029%207.28625%2020.6492%207.16447%2020.4385C7.07385%2020.2807%206.95774%2020.1563%206.85635%2020.0716C6.70059%2019.9439%206.58448%2019.8892%206.51991%2019.8541L6.45364%2019.8212L6.44627%2019.8168C5.02176%2018.9135%203.97391%2017.7911%203.2642%2016.4607C2.55449%2015.1281%202.1818%2013.5736%202.1818%2011.7944C2.1818%2010.3781%202.48086%209.08847%203.03594%207.93652C3.86912%206.21138%205.28287%204.78065%207.21545%203.76029C9.14576%202.74271%2011.5994%202.14666%2014.4547%202.14666C18.492%202.14778%2021.5874%203.26349%2023.6565%204.98751C25.7222%206.71766%2026.8108%209.04665%2026.8182%2011.7264C26.8159%2013.4833%2026.4178%2014.8772%2025.7551%2016.0208V16.0225Z%22%20fill%3D%22%23B2967E%22%2F%3E%3Cpath%20d%3D%22M7.64967%2010.2197C6.72756%2010.2197%205.98047%2010.9557%205.98047%2011.8635C5.98047%2012.7712%206.72756%2013.5066%207.64967%2013.5066C8.57178%2013.5066%209.31943%2012.7712%209.31943%2011.8635C9.31943%2010.9557%208.57234%2010.2197%207.64967%2010.2197Z%22%20fill%3D%22%23B2967E%22%2F%3E%3Cpath%20d%3D%22M14.1614%2010.2197C13.2393%2010.2197%2012.4922%2010.9557%2012.4922%2011.8635C12.4922%2012.7712%2013.2393%2013.5066%2014.1614%2013.5066C15.0835%2013.5066%2015.8312%2012.7712%2015.8312%2011.8635C15.8312%2010.9557%2015.0841%2010.2197%2014.1614%2010.2197Z%22%20fill%3D%22%23B2967E%22%2F%3E%3Cpath%20d%3D%22M20.6737%2010.2197C19.7516%2010.2197%2019.0039%2010.9557%2019.0039%2011.8635C19.0039%2012.7712%2019.7516%2013.5066%2020.6737%2013.5066C21.5958%2013.5066%2022.3434%2012.7712%2022.3434%2011.8635C22.3434%2010.9557%2021.5958%2010.2197%2020.6737%2010.2197Z%22%20fill%3D%22%23B2967E%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22clip0_922_10898%22%3E%3Crect%20width%3D%2229%22%20height%3D%2227%22%20fill%3D%22white%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
        background-size: 100% auto; }
    .request .wrap ul li {
      position: relative;
      padding-left: 35px;
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.77778em;
      letter-spacing: 0.03em;
      font-weight: 500;
      padding-top: 9px; }
      @media (max-width: 1023px) {
        .request .wrap ul li {
          padding-top: 8px;
          font-size: 16px;
          font-size: 1.6rem;
          line-height: 1.5em;
          padding-left: 25px; }
          .request .wrap ul li:first-child {
            padding-top: 11px; } }
      .request .wrap ul li:last-child {
        padding-bottom: 10px;
        border-bottom: 1px solid #D0C3B3; }
        @media (max-width: 1023px) {
          .request .wrap ul li:last-child {
            margin-top: 7px;
            padding-top: 8px; } }
      .request .wrap ul li + li {
        border-top: 1px solid #D0C3B3;
        margin-top: 12px; }
        @media (max-width: 1023px) {
          .request .wrap ul li + li {
            margin-top: 11px; } }
    .request .wrap ul.checklist li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 17px;
      width: 20px;
      height: 20px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22%23B2967E%22%2F%3E%3Cpath%20d%3D%22M15.6249%204L8.25013%2011.2988L3.37505%206.47431L1%208.82453L5.87508%2013.6494L8.25013%2016L10.6249%2013.6494L18%206.35062L15.6249%204Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
      background-size: 100% auto; }
      @media (max-width: 1023px) {
        .request .wrap ul.checklist li::before {
          top: 15px;
          width: 16px;
          height: 16px; } }
    @media (max-width: 1023px) {
      .request .wrap ul.circle li {
        padding-left: 35px; }
        .request .wrap ul.circle li:not(:first-child) {
          margin-top: 13px;
          padding-top: 9px; } }
    .request .wrap ul.circle li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 15px;
      width: 23px;
      height: 23px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2223%22%20height%3D%2223%22%20viewBox%3D%220%200%2023%2023%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Ccircle%20cx%3D%2211.5%22%20cy%3D%2211.5%22%20r%3D%229.5%22%20stroke%3D%22%23FF5E00%22%20stroke-width%3D%224%22%2F%3E%3C%2Fsvg%3E"); }

.approach {
  padding-top: 108px;
  background-color: #fff; }
  @media (max-width: 1023px) {
    .approach {
      padding-top: 68px; } }
  .approach .c-heading {
    margin-bottom: 100px; }
    @media (max-width: 1023px) {
      .approach .c-heading {
        margin-bottom: 30px; } }
    .approach .c-heading .sub {
      top: -30px;
      z-index: 0;
      font-size: 100px;
      font-size: 10rem;
      line-height: 1.3em;
      letter-spacing: 0.05em;
      left: 50%;
      transform: translate(-50%); }
      @media (max-width: 1023px) {
        .approach .c-heading .sub {
          top: -18px;
          font-size: 58px;
          font-size: 5.8rem;
          line-height: 1.24138em; } }
    .approach .c-heading .ttl {
      position: relative;
      z-index: 1; }
      @media (max-width: 1023px) {
        .approach .c-heading .ttl.line:after {
          margin-top: 24px; } }
  .approach .content {
    display: flex;
    gap: 75px; }
    @media (max-width: 1023px) {
      .approach .content {
        flex-direction: column;
        gap: 22px; } }
    .approach .content + .content {
      margin-top: 106px; }
      @media (max-width: 1023px) {
        .approach .content + .content {
          margin-top: 55px; } }
    .approach .content .wrap {
      width: calc(100% - 524px - 75px); }
      @media (max-width: 1023px) {
        .approach .content .wrap {
          width: 100%; } }
    .approach .content .head {
      position: relative;
      margin-bottom: 30px; }
      @media (max-width: 1023px) {
        .approach .content .head {
          margin-bottom: 6px; } }
      .approach .content .head .ttl {
        font-size: 32px;
        font-size: 3.2rem;
        line-height: 1.4375em;
        letter-spacing: 0.03em;
        font-weight: 700;
        position: relative;
        z-index: 1; }
        @media (max-width: 1023px) {
          .approach .content .head .ttl {
            font-size: 25px;
            font-size: 2.5rem;
            line-height: 1.28em; } }
      .approach .content .head .num {
        font-size: 100px;
        font-size: 10rem;
        line-height: 1.3em;
        letter-spacing: 0.05em;
        font-weight: 600;
        color: #f0ede9;
        position: absolute;
        left: -54px;
        top: -44px;
        z-index: 0;
        min-width: max-content; }
        @media (max-width: 1023px) {
          .approach .content .head .num {
            left: 0;
            top: -14px;
            font-size: 60px;
            font-size: 6rem;
            line-height: 1em; } }
    @media (min-width: 1024px) {
      .approach .content .img {
        min-width: 524px; }
        .approach .content .img img {
          max-width: 524px;
          width: 100%;
          max-height: 524px; } }
    .approach .content--full {
      flex-direction: column; }
      @media (min-width: 1024px) {
        .approach .content--full {
          gap: 43px;
          margin-bottom: 154px; } }
      .approach .content--full .wrap {
        width: 100%; }
        @media (max-width: 1023px) {
          .approach .content--full .wrap .head {
            margin-bottom: 23px; } }
      .approach .content--full .img {
        margin: 0 auto;
        text-align: center; }
        .approach .content--full .img img {
          max-width: 800px;
          max-height: 700px;
          width: 100%; }
    @media (min-width: 1024px) {
      .approach .content--reverse {
        flex-direction: row-reverse;
        gap: 79px; }
        .approach .content--reverse .head .num {
          left: -36px; } }

.flow {
  padding-top: 188px;
  background-color: #fff; }
  @media (max-width: 1023px) {
    .flow {
      padding-top: 58px; } }
  .flow .c-heading {
    margin-bottom: 77px; }
    @media (max-width: 1023px) {
      .flow .c-heading {
        margin-bottom: 28px; } }
    .flow .c-heading .sub {
      top: -34px;
      z-index: 0;
      font-size: 100px;
      font-size: 10rem;
      line-height: 1.3em;
      letter-spacing: 0.05em;
      left: 50%;
      transform: translate(-50%); }
      @media (max-width: 1023px) {
        .flow .c-heading .sub {
          top: -18px;
          font-size: 58px;
          font-size: 5.8rem;
          line-height: 1.24138em; } }
    .flow .c-heading .ttl {
      position: relative;
      z-index: 1; }
      @media (max-width: 1023px) {
        .flow .c-heading .ttl.line:after {
          margin-top: 24px; } }
  .flow__item {
    margin-bottom: 22px; }
    @media (max-width: 1023px) {
      .flow__item {
        margin-bottom: 20px; } }
    .flow__item .heading {
      display: flex;
      align-items: baseline;
      background-color: #f0ede9;
      padding: 18px 26px 20px;
      gap: 20px;
      margin-bottom: 27px; }
      @media (max-width: 1023px) {
        .flow__item .heading {
          padding: 12px 14px 12px;
          margin-bottom: 15px;
          gap: 5px; } }
      .flow__item .heading .num {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.33333em;
        letter-spacing: 0.05em;
        font-weight: 600;
        color: #ff5e00;
        min-width: 45px; }
        @media (max-width: 1023px) {
          .flow__item .heading .num {
            min-width: 34px;
            font-size: 24px;
            font-size: 2.4rem;
            line-height: 1.25em; } }
      .flow__item .heading .ttl {
        font-size: 26px;
        font-size: 2.6rem;
        line-height: 1.53846em;
        letter-spacing: 0.03em;
        font-weight: 700; }
        @media (max-width: 1023px) {
          .flow__item .heading .ttl {
            font-size: 18px;
            font-size: 1.8rem;
            line-height: 1.44444em; } }
    .flow__item .content {
      padding: 3px 28px 27px 87px;
      position: relative; }
      @media (max-width: 1023px) {
        .flow__item .content {
          padding: 0 0 15px 26px; } }
      .flow__item .content::before {
        content: "";
        position: absolute;
        width: 16px;
        height: 11px;
        bottom: 0;
        left: 36px;
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2217%22%20height%3D%2211%22%20viewBox%3D%220%200%2017%2011%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2039%201.06081L8.13281%208.13188L1.06174%201.06081%22%20stroke%3D%22%23FF5E00%22%20stroke-width%3D%223%22%2F%3E%3C%2Fsvg%3E");
        background-size: 100% auto; }
        @media (max-width: 1023px) {
          .flow__item .content::before {
            left: 0; } }
      .flow__item .content:after {
        content: "";
        position: absolute;
        left: 42px;
        bottom: 5px;
        width: 3px;
        height: 100%;
        background-color: #ff5e00; }
        @media (max-width: 1023px) {
          .flow__item .content:after {
            left: 6px; } }
    .flow__item.no-ar {
      margin-bottom: 0; }
      @media (max-width: 1023px) {
        .flow__item.no-ar .content {
          margin-bottom: 20px; } }
      .flow__item.no-ar .content::after, .flow__item.no-ar .content::before {
        content: none; }

.contact-sub {
  background-color: #f0ede9;
  display: flex;
  align-items: flex-start;
  padding: 64px 69px 61px 116px;
  margin: 77px 0 112px; }
  @media only screen and (min-width: 768px) and (max-width: 1024px) {
    .contact-sub {
      padding: 64px 69px 61px 69px; } }
  @media (max-width: 1023px) {
    .contact-sub {
      gap: 14px;
      padding: 28px 28px 37px;
      width: calc(100% + 36px);
      margin: 46px -18px 60px -18px;
      flex-direction: column;
      justify-content: center;
      align-items: center; } }
  .contact-sub .txt {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.54545em;
    letter-spacing: 0.03em;
    font-weight: 700; }
    @media (max-width: 1023px) {
      .contact-sub .txt {
        text-align: center;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.44444em; } }
    @media only screen and (max-width: 374px) {
      .contact-sub .txt {
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 1.52941em; } }
  .contact-sub .c-btn {
    margin: 0 auto;
    max-width: 254px;
    position: relative;
    padding: 17px 40px 15px; }
    @media (min-width: 1024px) {
      .contact-sub .c-btn {
        margin-left: auto;
        margin-right: 0;
        max-width: 290px;
        height: 75px; } }
    .contact-sub .c-btn .txt {
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.27273em;
      letter-spacing: 0.03em;
      font-weight: 700;
      padding-left: 32px; }
      @media (max-width: 1023px) {
        .contact-sub .c-btn .txt {
          padding-left: 27px;
          font-size: 18px;
          font-size: 1.8rem;
          line-height: 1.55556em; } }
    .contact-sub .c-btn::before {
      content: "";
      position: absolute;
      left: 26.4%;
      top: 53%;
      transform: translateY(-50%);
      width: 23px;
      height: 15px;
      background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2223%22%20height%3D%2215%22%20viewBox%3D%220%200%2023%2015%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200V15H23V0H0ZM11.8653%207.92051C11.7756%207.98645%2011.6429%208.0243%2011.5014%208.0243C11.3598%208.0243%2011.2275%207.98664%2011.1383%207.92109L2.15625%201.875H20.8438L11.8653%207.92051ZM4.27252%205.09008L7.3954%207.39297L2.15625%2011.875V3.75L4.27252%205.09008ZM8.95239%208.54109L9.68686%209.08274C10.1736%209.4427%2010.8175%209.64086%2011.5%209.64086C12.1844%209.64086%2012.8291%209.44277%2013.3156%209.08297L14.0488%208.54211L19.4062%2013.125H3.59375L8.95239%208.54109ZM15.6056%207.39383L20.8438%203.75V11.875L15.6056%207.39383Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
      background-size: 100% auto; }
      @media (max-width: 1023px) {
        .contact-sub .c-btn::before {
          left: 28%;
          top: 52%;
          width: 21px;
          height: 14px; } }

.others {
  padding-bottom: 117px; }
  @media (max-width: 1023px) {
    .others {
      padding-bottom: 67px; } }
  .others .c-heading {
    margin-bottom: 44px; }
    @media (max-width: 1023px) {
      .others .c-heading {
        margin-bottom: 30px; } }
    .others .c-heading .sub {
      top: -24px;
      z-index: 0;
      font-size: 70px;
      font-size: 7rem;
      line-height: 1.14286em;
      letter-spacing: 0.05em; }
      @media (max-width: 1023px) {
        .others .c-heading .sub {
          top: -14px;
          font-size: 50px;
          font-size: 5rem;
          line-height: 1.2em; } }
    .others .c-heading .ttl {
      position: relative;
      z-index: 1;
      display: flex;
      align-items: center;
      gap: 18px;
      font-size: 22px;
      font-size: 2.2rem;
      line-height: 1.36364em; }
      @media (max-width: 1023px) {
        .others .c-heading .ttl {
          gap: 11px; } }
      .others .c-heading .ttl.before::before {
        width: 16px;
        margin-top: 9px; }
        @media (max-width: 1023px) {
          .others .c-heading .ttl.before::before {
            margin-top: 5px;
            width: 12px; } }
  .others .wrap {
    display: flex;
    gap: 40px; }
    @media (max-width: 1023px) {
      .others .wrap {
        flex-direction: column;
        gap: 19px; } }
    .others .wrap .item {
      width: calc((100% / 3) - 20px);
      overflow: visible; }
      @media (max-width: 1023px) {
        .others .wrap .item {
          width: 100%;
          display: flex;
          gap: 14px; }
          .others .wrap .item + .item {
            border-top: 1px solid #c5c5c5;
            padding-top: 28px; } }
      .others .wrap .item .ttl {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.44444em;
        letter-spacing: 0.03em;
        font-weight: 700;
        margin-bottom: 13px; }
        @media (max-width: 1023px) {
          .others .wrap .item .ttl {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.5625em;
            letter-spacing: 0.03em;
            margin-bottom: 5px; } }
      .others .wrap .item .txt {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.42857em; }
      .others .wrap .item .c-img {
        margin-bottom: 16px;
        box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.1);
        position: relative; }
        .others .wrap .item .c-img:before {
          display: block;
          content: " ";
          width: 100%;
          padding-top: 66.47059%; }
        .others .wrap .item .c-img > .content {
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0; }
        @media (max-width: 1023px) {
          .others .wrap .item .c-img {
            position: relative;
            min-width: 160px;
            max-width: 160px; }
            .others .wrap .item .c-img:before {
              display: block;
              content: " ";
              width: 100%;
              padding-top: 66.25%; }
            .others .wrap .item .c-img > .content {
              position: absolute;
              top: 0;
              left: 0;
              right: 0;
              bottom: 0; } }
        .others .wrap .item .c-img img {
          transition: all .3s ease; }
  .others .btn {
    max-width: 270px;
    margin: 60px auto 0; }
    @media (max-width: 1023px) {
      .others .btn {
        margin-top: 63px; } }
    @media (min-width: 1024px) {
      .others .btn .c-btn {
        height: 64px; } }

/*# sourceMappingURL=maps/case-detail.min.css.map */