@charset "utf-8";
/*
Theme Name: 4STEC 2025 RENEW
Theme URI: https://4stec.net/
Author: PRUNUS Inc
Author URI: prunus.co.jp
Version: 1.0
License: GNU General Public License
*/

/* default property reset */
ここで
  CSS
  を変更する必要はありません
  —
  付随の
  CSS
  エディター
  で、編集とライブプレビューを行うことができます。
  body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
th,
td {
  margin: 0;
  padding: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
fieldset,
img {
  border: 0;
}
ol,
ul {
  list-style: none;
}
caption,
th {
  text-align: left;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}
q:before,
q:after {
  content: "";
}
abbr,
acronym {
  border: 0;
}
p {
  padding: 0;
  margin: 0;
}
img {
  vertical-align: middle;
}

* {
  margin: 0;
  padding: 0;
  outline: none;
}
a:hover {
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -khtml-opacity: 0.8;
  opacity: 0.8;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
a,
h1,
h2,
h3,
h4,
div,
p,
hr,
blockquote,
address,
noscript {
  text-align: left;
  font-style: normal;
  font-size: 100%;
}
ul,
ol,
dl,
dt,
dd {
  list-style: none;
}
span,
img {
  border: none;
}

em,
strong {
  border: none;
  font-style: normal;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

hr.none {
  display: none;
}

*:hover {
  text-decoration: none;
}

html {
  width: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
body {
  background: #fff;
  font-family: "Noto Sans JP", serif !important;
  color: #000;
  position: relative;
}

* {
  -moz-box-sizing: border-box; /* Firefox */
  -webkit-box-sizing: border-box; /* Safari 3 */
  -ms-box-sizing: border-box; /* Internet Explorer 8 */
  box-sizing: border-box; /* Opera */
  text-decoration: none;
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

html,
body {
  width: 100%;
  height: 100%;
  position: relative;
}

.no-scroll {
  overflow: hidden;
}

.heebo {
  font-family: "Heebo", sans-serif;
}

.semib {
  font-weight: 800;
}

.medium {
  font-weight: 600;
}

@media (min-width: 677px) {
  body {
    text-align: center;
    background: #fff;
    background-position: top;
    font-size: 15px;
    line-height: 1.8;
    color: #333;
    font-family: "Noto Sans JP", sans-serif !important;
    width: 100%;
    height: 100%;
  }

  /* 汎用 */
  .pcNone {
    display: none !important;
  }

  .contents1080 {
    width: 100%;
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto;
  }

  .contents1280 {
    width: 100%;
    max-width: 1320px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .linkbox {
    width: 100%;
    display: flex;
    padding-top: 4.5rem;
    gap: 3rem;
  }
  .linkbox.lef {
    justify-content: flex-start;
  }
  .linkbox.rig {
    justify-content: flex-end;
  }
  .linkbox.center {
    justify-content: center;
  }
  .linkbox a {
    display: block;
    width: 31rem;
    height: 8rem;
    border: 2px solid #181818;
    background: #fff url(images/linkbtnbg.png) right 1.5rem center no-repeat;
    background-size: 3rem 3rem;
    border-radius: 4rem;
    padding: 2.5rem 2.2rem;
    line-height: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: calc(3rem - 4px); /* 211.111% */
    transition: all 0.2s;
  }
  .linkbox a:hover {
    background: #fff url(images/linkbtnbg.png) right 1rem center no-repeat;
    transition: all 0.12s;
  }
  .linkbox.big a {
    width: 45rem;
  }

  .linkbox_mini {
    width: 100%;
    display: flex;
    gap: 3rem;
  }
  .linkbox_mini.lef {
    justify-content: flex-start;
  }
  .linkbox_mini.rig {
    justify-content: flex-end;
  }
  .linkbox_mini a {
    display: block;
    width: 16rem;
    height: 4.6rem;
    background: #181818 url(images/linkbtnbg.png) right 2rem center no-repeat;
    background-size: 2.6rem 2.6rem;
    border-radius: 4rem;
    padding: 1rem 2rem;
    line-height: 2.6rem;
    color: #fff;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.6rem;
    transition: all 0.2s;
  }
  .linkbox_mini a:hover {
    background: #181818 url(images/linkbtnbg.png) right 1rem center no-repeat;
    background-size: 2.6rem 2.6rem;
    transition: all 0.12s;
  }

  /* index header */

  div.indexright {
    display: block;
    width: 24.5rem;
    height: 100vh;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 11;
  }
  div.indexright img {
    width: 100%;
    position: absolute;
    top: 5vh;
    left: 0;
  }
  div.indexright nav {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  div.indexright nav a {
    display: block;
    width: 100%;
    padding: 2vh 3rem 2vh 0;
    color: var(--Black, #000);
    text-align: right;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.32px;
    font-style: italic;
  }
  div.indexright .bottom {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  div.indexright .bottom .tel {
    width: 100%;
    padding-left: 10px;
    padding-bottom: 15px;
  }
  div.indexright .bottom .tel .telnum {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-family: Roboto;
    font-size: 3.1rem;
    font-style: italic;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.62px;
    text-align: left;
  }
  div.indexright .bottom .tel .uketsuke {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-size: 1.1rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.22px;
    text-align: left;
  }
  div.indexright .bottom a.contact {
    display: block;
    width: 24.5rem;
    height: 60px;
    padding-left: 24px;
    background: url(images/fvcontactbg.png) center center no-repeat;
    background-size: 100% 100%;
    color: var(--White, #fff);
    text-align: left;
    font-size: 1.4rem;
    font-style: italic;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: -0.28px;
  }

  /* index header2 */
  header.index {
    width: 100%;
    height: 128px;
    background: #fff;
    position: fixed;
    opacity: 0;
    top: -128px;
    z-index: 30;
    padding: 0 24.5rem 0 26.2rem;
  }
  header.index .headlogo {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26.2rem;
  }
  header.index nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }
  header.index .gmenu {
    width: 100%;
    height: 55px;
    display: flex;
    justify-content: flex-end;
    padding-right: 1rem;
    margin-top: 73px;
  }
  header.index .gmenu > li {
    display: block;
    position: relative;
  }
  header.index .gmenu > li > a,
  header .gmenu > li > span {
    color: var(--Black, #000);
    font-size: 1.6rem;
    font-style: italic;
    font-weight: 700;
    letter-spacing: -0.32px;
    display: block;
    padding: 0 1.2rem;
    line-height: 55px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    cursor: pointer;
    white-space: nowrap;
    height: 55px;
    text-align: center;
    width: fit-content;
  }

  header.index .gmenu > li .subLinkContents {
    opacity: 0;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  header.index .gmenu > li:hover .subLinkContents {
    opacity: 1;
    display: block !important;
    position: absolute;
    top: 55px;
    left: 50%;
    min-width: 230px;
    padding: 0;
    z-index: 1000;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    border-top: 1px solid transparent;
  }
  header.index .gmenu > li:hover .subLinkContents ul li {
    height: 55px;
    text-align: left;
    border-bottom: 1px solid #000;
  }

  header.index .gmenu > li:hover .subLinkContents ul li a {
    display: block;
    height: 54px;
    width: 100%;
    color: #000 !important;
    font-size: 1.6rem;
    padding: 17px 0;
    line-height: 20px;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    background: #fff;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.32px;
  }

  header.index .gmenu > li:hover .subLinkContents ul li a:hover {
    filter: alpha(opacity=100) !important;
    opacity: 1 !important;
    background: #f81;
    -webkit-transition: all 0s;
    -moz-transition: all 0s;
    -ms-transition: all 0ss;
    -o-transition: all 0s;
    transition: all 0s;
    color: #fff !important;
  }
  header.index .bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24.5rem;
    height: 128px;
  }
  header.index .bottom .tel {
    width: 24.5rem;
    padding-left: 10px;
    padding-bottom: 15px;
    padding-top: 5px;
  }
  header.index .bottom .tel .telnum {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-family: Roboto;
    font-size: 3.1rem;
    font-style: italic;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.62px;
    text-align: left;
  }
  header.index .bottom .tel .uketsuke {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-size: 1.1rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.22px;
    padding-right: 4.5rem;
  }
  header.index .bottom a.contact {
    display: block;
    width: 24.5rem;
    height: 60px;
    padding-left: 24px;
    background: url(images/fvcontactbg.png) center center no-repeat;
    background-size: 100% 100%;
    color: var(--White, #fff);
    text-align: left;
    font-size: 1.4rem;
    font-style: italic;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: -0.28px;
  }

  /* 下層ページ header */
  main.other {
    padding-top: 128px;
  }
  header.other {
    width: 100%;
    height: 128px;
    background: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 30;
    padding: 0 24.5rem 0 26.2rem;
  }
  header.other .headlogo {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 26.2rem;
  }
  header.other nav {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
  }
  header.other .gmenu {
    width: 100%;
    height: 55px;
    display: flex;
    justify-content: flex-end;
    padding-right: 1rem;
    margin-top: 73px;
  }
  header.other .gmenu > li {
    display: block;
    position: relative;
  }
  header.other .gmenu > li > a,
  header .gmenu > li > span {
    color: var(--Black, #000);
    font-size: 1.6rem;
    font-style: italic;
    font-weight: 700;
    letter-spacing: -0.32px;
    display: block;
    padding: 0 1.2rem;
    line-height: 55px;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    cursor: pointer;
    white-space: nowrap;
    height: 55px;
    text-align: center;
    width: fit-content;
  }

  header.other .gmenu > li .subLinkContents {
    opacity: 0;
    display: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  header.other .gmenu > li:hover .subLinkContents {
    opacity: 1;
    display: block !important;
    position: absolute;
    top: 55px;
    left: 50%;
    min-width: 230px;
    padding: 0;
    z-index: 1000;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    transform: translate(-50%, 0%);
    -webkit-transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%);
    border-top: 1px solid transparent;
  }
  header.other .gmenu > li:hover .subLinkContents ul li {
    height: 55px;
    text-align: left;
    border-bottom: 1px solid #000;
  }

  header.other .gmenu > li:hover .subLinkContents ul li a {
    display: block;
    height: 54px;
    width: 100%;
    color: #000 !important;
    font-size: 1.6rem;
    padding: 17px 0;
    line-height: 20px;
    text-decoration: none;
    white-space: nowrap;
    text-align: center;
    background: #fff;
    font-style: italic;
    font-weight: 500;
    letter-spacing: -0.32px;
  }

  header.other .gmenu > li:hover .subLinkContents ul li a:hover {
    filter: alpha(opacity=100) !important;
    opacity: 1 !important;
    background: #f81;
    -webkit-transition: all 0s;
    -moz-transition: all 0s;
    -ms-transition: all 0ss;
    -o-transition: all 0s;
    transition: all 0s;
    color: #fff !important;
  }
  header.other .bottom {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 24.5rem;
    height: 128px;
  }
  header.other .bottom .tel {
    width: 24.5rem;
    padding-left: 10px;
    padding-bottom: 15px;
    padding-top: 5px;
  }
  header.other .bottom .tel .telnum {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-family: Roboto;
    font-size: 3.1rem;
    font-style: italic;
    font-weight: 900;
    line-height: normal;
    letter-spacing: -0.62px;
    text-align: left;
  }
  header.other .bottom .tel .uketsuke {
    display: block;
    color: var(--Black, #000);
    text-align: right;
    font-size: 1.1rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.22px;
    padding-right: 4.5rem;
  }
  header.other .bottom a.contact {
    display: block;
    width: 24.5rem;
    height: 60px;
    padding-left: 24px;
    background: url(images/fvcontactbg.png) center center no-repeat;
    background-size: 100% 100%;
    color: var(--White, #fff);
    text-align: left;
    font-size: 1.4rem;
    font-style: italic;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: -0.28px;
  }

  /* footer */
  .basecontact {
    background: #f8f8f8;
  }

  .basecontact .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 10.6rem 8rem 12rem;
    margin: 0 auto;
  }
  .basecontact .content > div {
    display: flex;
    justify-content: space-between;
  }
  .basecontact .content > div .left {
    width: 35%;
  }
  .basecontact .content > div .right {
    width: 54%;
    max-width: 640px;
  }
  .basecontact .content > div .left .orgH2 {
  }
  .basecontact .content > div .left .orgH2 .main {
    display: block;
    width: 100%;
    color: var(--Main-Orange01, #f81);
    font-family: Roboto;
    font-size: 9rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.25;
    letter-spacing: -2.7px;
  }
  .basecontact .content > div .left .orgH2 .sub {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }
  .basecontact .content > div .right a {
    display: block;
    width: 100%;
    max-width: 640px;
    height: 9rem;
    line-height: 9rem;
    background: #000;
    padding: 0 5rem;
    color: #f81;
    text-align: center;
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    border-radius: 5rem;
    margin-bottom: 3rem;
  }
  .basecontact .content > div .right .sptel {
    padding-left: 5rem;
    background: url(images/spicon.png) left center no-repeat;
    background-size: 4.1rem 4.1rem;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 5.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1px;
    white-space: nowrap;
    margin: 0 0 1rem 3rem;
    display: block;
    width: fit-content;
  }
  .basecontact .content > div .right .sub {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6; /* 162.5% */
    padding-left: 3rem;
  }
  .copy {
    width: 100%;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
  }

  /* FV */
  section.fv {
    width: 100%;
    height: 100vh;
    overflow: hidden;
    position: relative;
    z-index: 10;
  }
  #slide_wrapp {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    background: #fff;
  }
  #slide_wrapp .slide_item {
    opacity: 0;
    transform: scale(1);
    transition:
      opacity 2s linear,
      transform 15s linear;
    position: relative;
  }
  #slide_wrapp .slide_item.img01 {
    background: url(images/fvimg01.jpg) bottom left no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img02 {
    background: url(https://4stec.net/wp-content/uploads/2025/12/fvimg_jisseki.jpg)
      bottom left no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img03 {
    background: url(images/fvimg03.jpg) bottom left no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img04 {
    background: url(images/fvimg04.jpg) bottom left no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
  }
  #slide_wrapp .slide_item.show_ {
    opacity: 1;
  }
  #slide_wrapp .slide_item.zoom_ {
    transform: scale(1.05);
  }
  #slide_wrapp .slide_item img {
    display: block;
    width: 100%;
  }
  .fvabs {
    position: absolute;
    bottom: 0;
    left: 5.5rem;
    width: calc(95% - 30rem);
    max-width: 1400px;
  }
  .mitsumori {
    position: absolute;
    bottom: 6rem;
    left: calc(50% + 12rem);
    width: 22.3rem;
    z-index: 13;
  }

  /* index_about */
  section.index_about {
    background: #f81;
  }

  section.index_about .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 10.6rem 8rem 12rem;
    margin: 0 auto;
  }
  .indextoplink {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 4rem;
    margin-bottom: 9rem;
  }
  .indextoplink > div {
    width: calc((100% - 8rem) / 3);
  }
  .indextoplink > div img {
    width: 100%;
    margin-bottom: 5px;
  }
  .indextoplink > div span.title {
    color: #fff;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.44;
    letter-spacing: 0.9px;
    padding-right: 18px;
    background: url(images/indextoplinkicon.png) right center no-repeat;
  }
  .indextoplink > div p {
    display: block;
    color: #fff;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: 26px; /* 216.667% */
    letter-spacing: 0.6px;
  }
  .indexhistory {
    width: 100%;
    display: flex;
  }
  .indexhistory .left {
    width: 48%;
  }
  .indexhistory .left h2 {
    color: #fff;
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
    margin-bottom: 4rem;
    margin-right: -10rem;
    width: calc(100% + 10rem);
  }
  .indexhistory .left .text {
    width: 96%;
  }
  .indexhistory .left .text p {
    color: #fff;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.35; /* 235.294% */
    letter-spacing: 0.85px;
    padding-bottom: 1.2rem;
  }
  .indexhistory .right {
    width: 52%;
  }
  .indexhistory .right svg.aisome {
    width: 100%;
  }
  .cls-1 {
    fill: #f81;
  }
  .cls-2 {
    fill: #141414;
  }
  .cls-3 {
    fill: #fff;
  }
  .cls-4 {
    fill: none;
  }
  .cls-5 {
    fill: #d6d6d6;
  }
  .cls-6 {
    fill: #323232;
  }
  .cls-7 {
    fill: #e6e6e6;
  }
  .fukidashi {
    transition: all 0.1s;
  }
  .tatemono {
    transition: all 0.1s;
  }
  a:hover .fukidashi {
    transform: translateY(-15px);
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  }
  a:hover .tatemono {
    transform: translateY(-10px);
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    transition-delay: 0.1s;
  }
  svg.aisome {
    width: 100%;
  }

  /* index_onestopsolution */
  section.index_onestopsolution {
    background: #f8f8f8;
  }
  section.index_onestopsolution .img_width {
    width: 100%;
    padding-left: 5.5rem;
  }
  section.index_onestopsolution .img_width img {
    width: calc(95% - 30rem);
    max-width: 1400px;
    margin-top: -10px;
  }
  section.index_onestopsolution .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 10.6rem 8rem 12rem;
    margin: 0 auto 0;
  }
  .index_onestopsolution .flow {
    width: 100%;
  }
  .indexsection_top {
    width: 100%;
    display: flex;
    gap: 6.5rem;
    justify-content: space-between;
    padding-bottom: 7.5rem;
  }
  .indexsection_top .left {
    width: 56%;
  }
  .indexsection_top .left .bk {
    color: var(--Gray-01, #181818);
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
  }
  .indexsection_top .right {
    padding-top: 10px;
    width: 44%;
    color: var(--Gray-01, #181818);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.11;
    letter-spacing: 0.9px;
  }
  .indexsection_top .fots {
    width: 100%;
  }

  /* index_feedback */

  .index_feedback {
    background: #fff;
    overflow: hidden;
  }
  section.index_feedback .img_width {
    width: 100%;
    padding-right: 5.5rem;
    text-align: right;
  }
  section.index_feedback .img_width img {
    width: 50%;
    max-width: 763px;
    margin-top: -10px;
  }
  section.index_feedback .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 10.6rem 8rem 12rem;
    margin: 0 auto 0;
  }
  .indexsection_top {
    width: 100%;
    display: flex;
    gap: 6.5rem;
    justify-content: space-between;
    padding-bottom: 7.5rem;
  }
  .indexsection_top .left .org {
    color: var(--Gray-01, #f81);
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
  }
  .indexsection_top .right_feed {
    width: 44%;
    display: flex;
    align-items: center;
  }
  .indexsection_top .right_feed .linkbox {
    padding-top: 0;
  }
  .voicelist {
    width: 100%;
    display: flex;
    gap: 7rem;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .voicelist > div {
    width: calc((100% - 14rem) / 3);
  }
  .voicelist > div a > img {
    width: 100%;
  }
  .voicelist > div .bottom {
    display: block;
    background: #f8f8f8;
    padding: 2.3rem 2.5rem;
    margin-top: -10px;
  }
  .voicelist > div .bottom > img {
    width: 100%;
    height: 10rem;
    object-fit: contain;
    margin-bottom: 2.3rem;
  }
  .voicelist > div .bottom span.companyname {
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    display: block;
    margin-bottom: 2.3rem;
  }
  .voicelist > div .bottom span.text {
    color: var(--Gray-01, #181818);
    font-size: 1.6;
    font-style: normal;
    font-weight: 500;
    line-height: 1.87; /* 187.5% */
    display: block;
    margin-bottom: 2.3rem;
  }
  .voicelist > div .bottom span.tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
  }
  .voicelist > div .bottom span.tag > span {
    width: fit-content;
    height: 2.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.6rem;
  }
  .voicelist > div .bottom span.tag span.red {
    background: var(--Area-02-Kanto, #fc5422);
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
  }
  .voicelist > div .bottom span.tag span.shikaku {
  }
  .voicelist > div .bottom span.tag span.area {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    border-radius: 1.35rem;
  }

  /* index_showcase */
  section.index_showcase {
    background: #181818;
  }
  section.index_showcase .img_width {
    width: 100%;
    padding-left: 5.5rem;
    text-align: left;
  }
  section.index_showcase .img_width img {
    width: 50%;
    max-width: 863px;
    margin-top: -10px;
  }
  section.index_showcase .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 10.6rem 8rem 0rem;
    margin: 0 auto 0;
  }
  .indexsection_top .left .sub.wht {
    color: var(--White, #fff);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.11; /* 211.111% */
    letter-spacing: 0.9px;
  }
  .content_jisseki {
    width: 100%;
    max-width: calc((715px + 8rem) + 50%);
    padding: 0rem 0 14.8rem 8rem;
    margin-left: auto;
  }
  .jissekilist {
    width: 100%;
  }
  .jissekilist div.jbox {
    margin: 0 5rem 0 0;
  }
  .jissekilist div.jbox img.jissekiimg {
    width: 100%;
    margin-bottom: 2rem;
  }
  .jissekilist div.jbox h4 {
    display: block;
    width: 100%;
    color: var(--White, #fff);
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 2rem;
  }
  .jissekilist div.jbox .tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
    flex-wrap: wrap;
  }
  .jissekilist div.jbox .tag > a {
    width: fit-content;
    height: 2.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.6rem;
  }
  .jissekilist div.jbox .tag > a.normal {
    background: #e7e7e7;
    color: var(--White, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    border-radius: 1.35rem;
  }
  .jissekilist div.jbox .tag > a.gyoshu {
    color: #f81;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    border-radius: 1.35rem;
    border: 1px solid #f8f8f8;
  }
  .jissekilist .slick-next {
    display: block !important;
    position: absolute !important;
    bottom: -8.5rem !important;
    top: unset !important;
    left: 5rem !important;
    width: 3.2rem !important;
    height: 3.2rem !important;
    background: url(images/jisseki_righticon.png) center center no-repeat !important;
  }
  .jissekilist .slick-prev {
    display: block !important;
    position: absolute !important;
    bottom: -8.5rem !important;
    top: unset !important;
    left: 0rem !important;
    width: 3.2rem !important;
    height: 3.2rem !important;
    background: url(images/jisseki_lefticon.png) center center no-repeat !important;
  }
  .slick-prev:before {
    content: "" !important;
  }
  .slick-next:before {
    content: "" !important;
  }

  /* index_news */
  section.index_news {
    background: #fff;
  }
  section.index_news .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 12rem 8rem;
    margin: 0 auto 0;
  }
  section.index_news .news {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  section.index_news .news .left {
    width: 28rem;
  }
  section.index_news .news .left .orgH2 {
    width: 100%;
    margin-bottom: 6.9rem;
  }
  section.index_news .news .left .orgH2 .main {
    display: block;
    color: var(--Main-Orange01, #f81);
    font-family: Roboto;
    font-size: 9rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -2.7px;
  }
  section.index_news .news .left .orgH2 .sub {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6; /* 213.333% */
  }
  section.index_news .news .right {
    width: calc(100% - 28rem);
  }
  section.index_news .news .right .newslist {
    width: 100%;
    border-top: 1px solid #161616;
  }
  section.index_news .news .right .newslist a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #161616;
    padding: 2.8rem 0;
  }
  section.index_news .news .right .newslist a .day {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1; /* 100% */
    display: inline-block;
    width: 12rem;
  }
  section.index_news .news .right .newslist a .tag {
    display: flex;
    width: 14rem;
    height: 3rem;
    padding: 0.6rem 1.4rem;
    justify-content: center;
    align-items: center;
    color: var(--Gray-02, #464646);
    text-align: center;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7; /* 130.769% */
    margin-right: 3rem;
    border: 1px solid #f81;
    border-radius: 1.5rem;
  }
  section.index_news .news .right .newslist a .title {
    display: inline-block;
    width: calc(100% - 29rem);
    color: var(--Gray-01, #181818);
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.88; /* 188.235% */
  }

  /* 下層ページ */
  /* defaulttitle */
  .defaulttitle {
    width: 100%;
    height: 20rem;
    background: #f8f8f8;
    position: relative;
    z-index: 11;
  }
  .defaulttitle h1 {
    width: 100%;
    max-width: calc(1430px + 16rem);
    height: 20rem;
    padding: 0 8rem 0 8rem;
    margin: 0 auto 0;
    display: flex;
    align-items: center;
    position: relative;
  }
  .defaulttitle h1 .main {
    color: var(--Main-Orange01, #f81);
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7; /* 230.952% */
  }

  .defaulttitle_mini {
    width: 100%;
    height: 20rem;
    background: #f8f8f8;
    position: relative;
    z-index: 11;
  }
  .defaulttitle_mini h1 {
    width: 100%;
    max-width: calc(1430px + 16rem);
    height: 20rem;
    padding: 0 8rem 0 8rem;
    margin: 0 auto 0;
    display: flex;
    align-items: center;
    position: relative;
  }
  .defaulttitle_mini h1 .main {
    color: var(--Main-Orange01, #f81);
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7; /* 230.952% */
  }
  .defaulttitle_mini .titleimg {
    position: absolute;
    top: 0;
    right: 0;
    height: 20rem;
    width: auto;
  }

  /* gyoshubetsu */
  .gyoshubetsu {
    background: #fff;
  }

  .gyoshubetsu .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 10.6rem 8rem 12rem;
    margin: 0 auto;
  }

  .gyoshubetsu_top {
    width: 100%;
    display: flex;
    padding-bottom: 5rem;
  }
  .gyoshubetsu_top .left {
    width: 48%;
  }
  .gyoshubetsu_top .left h2 {
    color: #000;
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
    margin-bottom: 4rem;
    margin-right: -10rem;
    width: calc(100% + 10rem);
  }
  .gyoshubetsu_top .left .text {
    width: 96%;
  }
  .gyoshubetsu_top .left .text p {
    color: #000;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.35; /* 235.294% */
    letter-spacing: 0.85px;
    padding-bottom: 1.2rem;
  }
  .gyoshubetsu_top .right {
    width: 52%;
  }
  .gyoshubetsu_top .right svg.aisome {
    width: 100%;
  }
  .gyoshulist {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 7rem 5.5rem;
  }
  .gyoshulist a {
    display: block;
    width: calc((100% / 3) - (11rem / 3));
    color: #000 !important;
  }
  .gyoshulist a h2 {
    width: 100%;
    height: 10rem;
    padding-left: 10.8rem;
  }
  .gyoshulist a.gyoshu01 h2 {
    background: url(images/gyoshuimg01_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu02 h2 {
    background: url(images/gyoshuimg02_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu03 h2 {
    background: url(images/gyoshuimg03_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu04 h2 {
    background: url(images/gyoshuimg04_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu05 h2 {
    background: url(images/gyoshuimg05_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu06 h2 {
    background: url(images/gyoshuimg06_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu07 h2 {
    background: url(images/gyoshuimg07_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu08 h2 {
    background: url(images/gyoshuimg08_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu09 h2 {
    background: url(images/gyoshuimg09_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu10 h2 {
    background: url(images/gyoshuimg10_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a.gyoshu11 h2 {
    background: url(images/gyoshuimg11_icon.png) left center no-repeat;
    background-size: 10rem 10rem;
  }
  .gyoshulist a h2 span {
    display: flex;
    width: 100%;
    height: 7.15rem;
    align-items: center;
    color: var(--Black, #000);
    font-size: 2.1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1.05px;
    border-bottom: 2px solid #181818;
    background: url(images/gyoshubetsulink.png) right 1rem center no-repeat;
    transition: all 0.2s;
  }
  .gyoshulist a:hover h2 span {
    background: url(images/gyoshubetsulink.png) right 0rem center no-repeat;
  }

  .gyoshulist a img {
    width: 100%;
    margin-bottom: 2rem;
  }
  .gyoshulist a span.title {
    display: inline-block;
    width: 100%;
    color: var(--Main-Orange01, #f81);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66; /* 166.667% */
    letter-spacing: 0.9px;
    margin-bottom: 2rem;
  }
  .gyoshulist a span.text {
    display: inline-block;
    width: 100%;
    color: #000 !important;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.13;
    letter-spacing: 0.75px;
  }

  /* gyoshubetsu single */
  .defaulttitle h1 span.sub {
    background: #000;
    color: #fff;
    display: inline-flex;
    height: 3rem;
    padding: 0.9rem 1.6rem;
    justify-content: center;
    align-items: center;
    border-radius: 1.5rem;
    line-height: 3rem;
    position: absolute;
    left: 8rem;
    bottom: 3rem;
  }
  section.gyoshubetsusingle {
    background: #fff;
    position: relative;
    z-index: 11;
  }
  section.gyoshubetsusingle .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 7rem 8rem 0rem;
    margin: 0 auto 0;
  }
  section.gyoshubetsusingle .content > .text {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 9rem;
    color: #000;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.35; /* 235.294% */
    letter-spacing: 0.85px;
  }
  .gyoshubetsusingle_top {
    display: flex;
    width: 100%;
    gap: 3.5rem;
    justify-content: space-between;
    padding-bottom: 9.5rem;
  }
  .gyoshubetsusingle_top .left {
    width: 50%;
  }
  .gyoshubetsusingle_top .right {
    width: 50%;
  }
  .gyoshubetsusingle_top .left h2 {
    width: 100%;
  }
  .gyoshubetsusingle_top .left h2 .sub {
    display: block;
    color: #000;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2.6rem;
  }

  .gyoshubetsusingle_top .left h2 .main {
    color: #000;
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -1.5px;
  }
  .gyoshubetsusingle_top .right img {
    position: absolute;
    top: -5rem;
    right: 0;
    width: 48%;
    max-width: 846px;
    min-width: 500px;
    z-index: 12;
  }
  .voicelistpage > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 8.6rem 0rem 9rem;
    margin: 0 auto 0;
  }
  .voicelistpage > div > .text p {
    display: block;
    padding-bottom: 1.2rem;
    color: #000;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.35;
    letter-spacing: 0.85px;
  }
  .solutionblock {
    width: 100%;
    max-width: 1180px;
    padding: 0;
    margin: 0 auto 0;
  }
  .naname {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: fit-content;
    min-height: 19.5rem;
    margin: 0 auto 9rem;
    padding: 0 8.35rem;
    background-image: url(images/naname.png), url(images/naname.png);
    background-position:
      left center,
      right center;
    background-size:
      auto 100%,
      auto 100%;
    background-repeat: no-repeat;
    color: var(--Black, #000);
    text-align: center;
    font-size: 3.64rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.66;
  }
  .solutionblock .solutionlist {
    width: 100%;
  }
  .solutionblock .solutionlist > div {
    width: 100%;
    margin-bottom: 4.5rem;
  }
  .solutionblock .solutionlist > div h3 {
    width: 100%;
    height: 5.6rem;
    background: #000;
    display: flex;
    justify-content: flex-start;
  }
  .solutionblock .solutionlist > div h3 .case {
    width: 14rem;
    height: 5.6rem;
    background: url(images/casebg.png) left center no-repeat;
    background-size: auto 5.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .solutionblock .solutionlist > div h3 .case .thin {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.03rem;
    font-style: italic;
    font-weight: 200;
    line-height: 1.37; /* 137.626% */
    letter-spacing: -0.909px;
    padding-right: 0.5rem;
  }
  .solutionblock .solutionlist > div h3 .case .num {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.03rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1.87; /* 187.912% */
    letter-spacing: -0.909px;
  }
  .solutionblock .solutionlist > div h3 .title {
    color: var(--White, #fff);
    font-size: 3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
  }
  .solutionblock .solutionlist > div .cnt {
    width: 100%;
    padding: 7rem 5rem 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  .solutionblock .solutionlist > div .cnt .left {
    width: 44rem;
  }
  .solutionblock .solutionlist > div .cnt .left img {
    width: 100%;
  }
  .solutionblock .solutionlist > div .cnt .right {
    width: calc(100% - 44rem);
    padding-left: 4rem;
  }
  .solutionblock .solutionlist > div .cnt .right .text {
    color: #000;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.35; /* 235.294% */
    margin-bottom: 4.6rem;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist {
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div {
    margin-bottom: 3.45rem;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div h4 {
    width: 100%;
    margin-bottom: 1rem;
    color: var(--Main-Orange01, #f81);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1px;
    padding-left: 3.4rem;
    background: url(images/caseh4bg.png) left center no-repeat;
    background-size: 2.4rem 2.4rem;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div p {
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.13;
    letter-spacing: 0.75px;
  }
  .gyoshubetsu_voice {
    background: #fff;
    position: relative;
    z-index: 11;
  }
  .gyoshubetsu_voice .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 12rem 8rem 0rem;
    margin: 0 auto 0;
  }
  .gyoshubetsu_voice h2 {
    width: 100%;
    height: 5.6rem;
    background: #000 url(images/gyoshubetsu_voiceH2bg.png) left center no-repeat;
    color: var(--White, #fff);
    font-size: 3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
    padding-left: 3.9rem;
  }
  .voice3 {
    width: 100%;
    max-width: 1180px;
    padding: 0;
    margin: 0 auto 0;
  }
  .voice3 > div {
    width: 100%;
    padding: 7rem 5rem 0;
    display: flex;
    width: 100%;
    justify-content: space-between;
  }
  .voice3 > div .left {
    width: 44rem;
  }
  .voice3 > div .left img {
    width: 100%;
    margin-bottom: 2.4rem;
  }
  .voice3 > div .left .data {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #a3a3a3;
    border-top: 1px solid #a3a3a3;
    margin-top: -1px;
    padding: 1rem 0;
  }
  .voice3 > div .left .data span:first-child {
    display: block;
    width: 10rem;
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .voice3 > div .left .data span:last-child {
    display: block;
    width: 34rem;
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .voice3 > div .right {
    width: calc(100% - 44rem);
    padding-left: 4rem;
  }
  .voice3 > div .right .text {
    color: var(--Gray-01, #181818);
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.75;
    margin-bottom: 4.6rem;
  }
  .voice3 > div .right .intvlist {
  }
  .voice3 > div .right .intvlist p.ques {
    color: var(--Main-Orange01, #f81);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2; /* 200% */
    letter-spacing: 1px;
    margin-bottom: 1rem;
  }
  .voice3 > div .right .intvlist p.answ {
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.13;
    letter-spacing: 0.75px;
    margin-bottom: 1.353rem;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div p {
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.13;
    letter-spacing: 0.75px;
  }

  /* gyoshubetsu_jirei */

  .gyoshubetsu_jirei {
    background: #fff;
  }
  .gyoshubetsu_jirei .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 9rem 8rem 0rem;
    margin: 0 auto 0;
  }
  h2.blkore {
    width: 100%;
    height: 5.6rem;
    background: #f81 url(images/gyoshubetsu_voiceH2bg_b.png) left center
      no-repeat;
    color: var(--White, #fff);
    font-size: 3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
    padding-left: 3.9rem;
    margin-bottom: 1rem;
  }
  .jireiImg {
    width: 100%;
    padding: 11.5rem 5.7rem;
    border: 3px solid #f81;
  }
  .jireiImg img {
    width: 100%;
  }
  .jireiImg img.w60 {
    width: 60%;
    margin: 0 20%;
  }
  .jireiImg img.w80 {
    width: 80%;
    margin: 0 10%;
  }

  /* gyoshubetsu_hojokin */

  .gyoshubetsu_hojokin {
    background: #fff;
  }
  .gyoshubetsu_hojokin .content {
    width: 100%;
    max-width: calc(980px + 16rem);
    padding: 9rem 8rem 12rem;
    margin: 0 auto 0;
  }
  .gyoshubetsu_hojokin h2 {
    color: var(--Gray-01, #181818);
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.75;
    padding: 2.5rem 0;
    border-top: 3px solid #181818;
  }
  .gyoshubetsu_hojokin .text {
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.75px;
  }
  .gyoshubetsu_hojokin .text p {
    padding-bottom: 10px;
  }
  .gyoushujisseki {
    padding-bottom: 15rem;
  }

  /* tsuyomi02 */

  .naname_100 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: fit-content;
    min-height: 10rem;
    margin: 0 auto 5rem;
    padding: 0 6.6rem;
    background-image: url(images/naname.png), url(images/naname.png);
    background-position:
      left center,
      right center;
    background-size:
      auto 100%,
      auto 100%;
    background-repeat: no-repeat;
    color: var(--Black, #000);
    text-align: center;
    font-size: 3.64rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.66;
  }
  .tsuyomi02 {
    background: #fff;
    position: relative;
  }
  .tsuyomi02 .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 7rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .pagelink {
    width: 100%;
    height: 9rem;
    display: flex;
    justify-content: space-around;
    background: #f8f8f8;
    align-items: center;
    padding: 0 3rem;
    margin-bottom: 12rem;
  }
  .pagelink a {
    display: block;
    width: fit-content;
    height: 3.5rem;
    line-height: 3.5rem;
    padding-right: 4.3rem;
    background: url(images/pagelinkbg.png) right center no-repeat;
    color: var(--Gray-01, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
  }
  .tsuyomiblock {
    width: 100%;
    margin-bottom: 12rem;
    max-width: 1180px;
    margin: 0 auto 0;
  }
  .firsttext {
    color: #000;
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1; /* 210.526% */
    letter-spacing: 0.95px;
    margin-bottom: 8rem;
  }
  .firsttext span {
    background: #ffef95;
    padding: 0 3px;
  }
  .t01block {
    display: flex;
    margin-bottom: 5.5rem;
  }
  .t01block .left {
    width: 67.8%;
  }
  .tsuyo h4 {
    color: var(--Main-Orange01, #f81);
    font-size: 3.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.18;
    margin-bottom: 2rem;
  }
  .tsuyo p.main {
    display: block;
    margin-bottom: 2rem;
    color: #000;
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.66;
  }
  .tsuyo p.text {
    display: block;
    color: #000;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.25;
    margin-bottom: 4rem;
  }
  .t01block .right {
    width: 30%;
    position: relative;
  }
  .t01block .right img {
    position: absolute;
    left: 0;
    bottom: 4rem;
    width: 140%;
    max-width: 489px;
  }
  .contact_madoguchi {
    max-width: 850px;
    margin: 0 auto;
    border: 3px solid #f81;
  }
  .contact_madoguchi .title {
    width: 100%;
    height: 6rem;
    line-height: 6rem;
    padding-left: 2.3rem;
    color: var(--White, #fff);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    background: #f81;
  }
  .contact_madoguchi .cont {
    display: flex;
    justify-content: space-between;
    padding: 4rem 1.4rem;
  }
  .contact_madoguchi .cont > div {
    border-right: 1px solid #b9b9b9;
    padding: 0 2.6rem;
  }
  .contact_madoguchi .cont > div:last-child {
    border-right: none;
  }
  .contact_madoguchi .cont > div .telnum {
    padding-left: 4.8rem;
    background: url(images/spicon.png) left center no-repeat;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 1px;
    white-space: nowrap;
    margin-bottom: 1rem;
    display: block;
  }
  .contact_madoguchi .cont > div span.noraml {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.45;
    white-space: nowrap;
  }
  .contact_madoguchi .cont > div span.mini {
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    white-space: nowrap;
  }
  .contact_madoguchi .cont > div.fl {
    display: flex;
  }
  .contact_madoguchi .cont > div.fl .left {
    width: 11.2rem;
  }
  .contact_madoguchi .cont > div.fl .left img {
    width: 11.2rem;
    height: 11.2rem;
  }
  .contact_madoguchi .cont > div.fl .right {
    padding-left: 1.9rem;
  }
  .contact_madoguchi .cont > div.fl .right .linesearch {
    display: block;
    border-radius: 5px;
    border: 1px solid #06c755;
    width: 18rem;
    height: 4.7rem;
    line-height: calc(4.7rem - 2px);
    color: #06c755;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    background: url(images/mushimegane.png) right 1.2rem center no-repeat;
    margin-bottom: 1.6rem;
    padding-left: 1.3rem;
  }
  .contact_madoguchi .cont > div.fl .right a.linebtn {
    display: block;
    border-radius: 32px;
    width: 18rem;
    height: 5rem;
    color: var(--White, #fff);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 5rem;
    padding-left: 2rem;
    background: #06c755 url(images/lineicon.png) left 1.9rem center no-repeat;
  }
  .contact_madoguchi .cont > div .kochira {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.65rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 1rem;
  }
  .contact_madoguchi .cont > div a.contactbtn {
    display: block;
    width: 29.3rem;
    height: 7.4rem;
    line-height: 7.4rem;
    border-radius: 4rem;
    background: #181818 url(images/mailicon.png) right 3rem center no-repeat;
    padding-right: 3rem;
    color: #fff;
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
  }

  .tsuyomi02_02 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_02 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t02block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8rem;
  }
  .t02block > div {
    width: calc(50% - 3rem);
  }
  .t02block > div img {
    width: 100%;
    margin-bottom: 2rem;
  }
  .blacktitlebox {
    width: 100%;
  }
  .blacktitlebox .title {
    width: 100%;
    height: 5.6rem;
    background: #000 url(images/gyoshubetsu_voiceH2bg.png) left center no-repeat;
    color: var(--White, #fff);
    font-size: 3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
    padding-left: 3.9rem;
  }
  .blacktitlebox .cont {
    background: #fff;
    padding: 6.5rem 5rem;
  }
  .blacktitlebox .toptext {
    color: #000;
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 5rem;
  }
  .blacktitlebox .cont > div {
    margin-bottom: 2.5rem;
  }
  .blacktitlebox .cont > div .subtitle {
    display: flex;
    margin-bottom: 1rem;
  }
  .blacktitlebox .cont > div .subtitle .num {
    display: block;
    width: 5.25rem;
    line-height: 5.25rem;
    text-align: left;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.3rem;
    font-style: normal;
    font-weight: 300;
    letter-spacing: -0.99px;
  }
  .blacktitlebox .cont > div .subtitle .main {
    width: calc(100% - 5.25rem);
    color: var(--Main-Orange01, #f81);
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 4.5rem;
    letter-spacing: 1.2px;
  }
  .blacktitlebox .cont > div p.text {
    width: calc(100% - 5.25rem);
    border-top: 1px solid #a3a3a3;
    padding-top: 1.5rem;
    margin: 0 0 2rem 5.25rem;
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.13; /* 213.333% */
  }
  .blacktitlebox .cont .foottext {
    color: #000;
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }

  .tsuyomi02_03 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_03 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t03block {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8rem;
  }
  .t03block.mb0 {
    margin-bottom: 0 !important;
  }
  .t03block > .left {
    width: 47.5%;
  }
  .t03block > .left img {
    width: 100%;
  }
  .t03block > .right {
    width: 48.8%;
  }
  .teiansholist {
    padding: 5rem 0 8rem;
    display: flex;
    justify-content: space-between;
  }
  .teiansholist img {
    width: 18.5%;
  }

  .tsuyomi02_04 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_04 .content {
    width: 100%;
    max-width: calc(1280px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .merit_demerit {
    width: 100%;
    background: #fff;
    padding: 10rem 5rem 5.5rem;
  }
  .merit_demerit .f01 {
    color: var(--Main-Orange01, #f81);
    text-align: center;
    font-size: 4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6; /* 100% */
    margin-bottom: 3rem;
  }
  .merit_demerit .toptext {
    color: #000;
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 3rem;
  }

  .merit_box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .mb10rem {
    margin-bottom: 10rem;
  }
  .merit_box .merit {
    width: calc(50% - 3rem);
    background: #fffbe6
      url(https://4stech.net/kanto/wp-content/themes/wptheme/images/merit_maru_big.png)
      center center no-repeat;
    padding-bottom: 3rem;
  }
  .merit_box .demerit {
    width: calc(50% - 2px);
    background: #f8f8f8
      url(https://4stech.net/kanto/wp-content/themes/wptheme/images/demerit_batsu_big.png)
      center center no-repeat;
    padding-bottom: 3rem;
  }
  .merit_box > div h3 {
    display: block;
    width: 100%;
    height: 6rem;
    line-height: 5.8rem;
    border-bottom: 0.2rem solid #fff;
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 6rem; /* 142.857% */
  }
  .merit_box div div {
    width: 100%;
    padding: 3rem 3rem 0;
  }
  .merit_box div div h4 {
    padding-left: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 2.1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
  }
  .merit_box div.merit div h4 {
    background: url(https://4stech.net/kanto/wp-content/themes/wptheme/images/merit_maru.png)
      left center no-repeat;
  }
  .merit_box div.demerit div h4 {
    background: url(https://4stech.net/kanto/wp-content/themes/wptheme/images/demerit_batsu.png)
      left center no-repeat;
  }
  .merit_box div div p {
    padding-left: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
  }

  .tsuyomi02_05 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_05 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t05block {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .t05block.mb0 {
    margin-bottom: 0 !important;
  }
  .t05block > .left {
    width: 47.5%;
    margin-bottom: 7.5rem;
  }
  .t05block > .left img {
    width: 100%;
  }
  .t05block > .right {
    width: 48.8%;
    margin-bottom: 7.5rem;
  }
  .othertextbox {
    background: #f8f8f8;
    padding: 5rem;
  }
  .othertextbox .title {
    color: var(--Gray-01, #181818);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1; /* 150.978% */
    letter-spacing: 1.3px;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #a3a3a3;
  }
  .othertextbox .block {
    padding: 2rem 0;
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7; /* 173.333% */
    border-bottom: 1px solid #a3a3a3;
  }

  .tsuyomi02_06 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_06 .content {
    width: 100%;
    max-width: calc(1280px + 16rem);
    padding: 8rem 8rem 2.5rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t06block {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .t06block > .left {
    width: 47.5%;
    margin-bottom: 7.5rem;
  }
  .t06block > .left img {
    width: 100%;
  }
  .t06block > .right {
    width: 48.8%;
    margin-bottom: 7.5rem;
  }

  .tsuyomi02_07 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_07 .content {
    width: 100%;
    max-width: calc(1030px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t07block {
    border-top: 1px solid #a3a3a3;
  }
  .t07block > div {
    padding: 4rem 0 0;
    border-bottom: 1px solid #a3a3a3;
  }

  /* goteianjirei */
  .goteianjirei {
    position: relative;
  }
  .goteianjirei .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .goteianjirei > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 8.6rem 0rem 9rem;
    margin: 0 auto 0;
  }
  .goteianjireilist {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 7rem;
  }
  .goteianjireilist > div {
    width: calc((100% - 14rem) / 3);
  }
  .goteianjireilist > div a {
    display: block;
    padding: 2rem;
    border: 1px solid #a3a3a3;
    background: #fcfcfc;
    margin-bottom: 2rem;
  }
  .goteianjireilist > div img {
    width: 100%;
  }
  .goteianjireilist > div .title {
    display: block;
    color: var(--Main-Orange01, #f81);
    text-align: center;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2.3rem;
  }
  .goteianjireilist > div p {
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.87;
  }

  /* voicelistpage */
  .voicelistpage {
    position: relative;
  }
  .voicelistpage .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .voicelistpage > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 8.6rem 0rem 9rem;
    margin: 0 auto 0;
  }

  /* voicesingle */

  .voicesingle {
  }
  .voicesingle .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }

  .voicesingle .title {
    width: 100%;
  }
  .voicesingle .title div.tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
    margin-bottom: 3.5rem;
  }
  .voicesingle .title .tag span {
    width: fit-content;
    height: 2.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.6rem;
  }
  .voicesingle .title .tag span.red {
    background: var(--Area-02-Kanto, #fc5422);
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
  }
  .voicesingle .title .tag span.shikaku {
  }
  .voicesingle .title .tag span.area {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    border-radius: 1.35rem;
  }
  .voicesingle .title .main {
    color: #000;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 3.6rem;
  }
  .voicecontent {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .voicecontent > .left {
    width: 72.8%;
  }
  .voicecontent > .right {
    width: 23.7%;
    border-top: 1px solid #181818;
    padding-top: 1.7rem;
  }
  .voicecontent .left .mainimg {
    width: 100%;
    margin-bottom: 5rem;
  }
  .kihondata {
    margin-bottom: 7.4rem;
  }

  .kihondata > div {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #a3a3a3;
    border-top: 1px solid #a3a3a3;
    margin-top: -1px;
    padding: 2rem 0;
  }
  .kihondata > div span:first-child {
    display: block;
    width: 16rem;
    color: #000;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
  }
  .kihondata > div span:last-child {
    display: block;
    width: calc(100% - 16rem);
    color: #000;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .voicecontent .ques {
    width: 100%;
    border-left: 2px solid #f81;
    padding-left: 1.4rem;
    margin-bottom: 4rem;
  }
  .voicecontent .ques .ore {
    display: block;
    color: var(--Main-Orange01, #f81);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1; /* 285.714% */
    margin-bottom: 1.5rem;
  }
  .voicecontent .ques .main {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2; /* 200% */
  }
  .voicecontent .answ {
    color: #000;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.8px;
    margin-bottom: 7.5rem;
  }
  .voicecontent .imgbox {
    width: 100%;
    display: flex;
    gap: 2rem;
    margin-bottom: 7.5rem;
  }
  .voicecontent .imgbox img {
    width: calc(50% - 1rem);
  }
  .voicecontent .right img {
    width: 100%;
    margin-bottom: 1.5rem;
  }
  .voicecontent .right .companyname {
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 1.5rem;
  }
  .voicecontent .right .text {
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2; /* 200% */
  }

  /* columnlist */
  section.column {
    position: relative;
  }
  section.column .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .taglinklist {
    border-top: 1px solid #181818;
    padding-top: 3.8rem;
  }
  .taglinklist .top {
    width: 100%;
    display: flex;
    gap: 1.7rem;
    margin-bottom: 3.8rem;
    flex-wrap: wrap;
  }
  .taglinklist .top a {
    display: block;
    width: fit-content;
    height: 3.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.1rem;
    color: var(--Gray-01, #181818);
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    border: 1px solid #181818;
  }
  .taglinklist .bottom {
    width: 100%;
    display: flex;
    gap: 1.7rem;
    margin-bottom: 6rem;
    flex-wrap: wrap;
  }
  .taglinklist .bottom a {
    display: block;
    width: fit-content;
    height: 3.3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.2rem;
    color: var(--Gray-01, #fff);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    background: #181818;
    border-radius: 2rem;
  }

  .column .columnlist {
    width: 100%;
    display: flex;
    gap: 7rem;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .column .columnlist a {
    display: block;
    width: calc((100% - 14rem) / 3);
  }
  .column .columnlist a > img {
    width: 100%;
  }
  .column .columnlist a .bottom {
    display: block;
    background: #f8f8f8;
    padding: 2.3rem 2.5rem;
    margin-top: -10px;
  }
  .column .columnlist a .bottom span.title {
    color: var(--Gray-01, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
    display: block;
    margin-bottom: 1.9rem;
  }
  .column .columnlist a .bottom span.text {
    color: var(--Gray-01, #181818);
    font-size: 1.6;
    font-style: normal;
    font-weight: 500;
    line-height: 1.87; /* 187.5% */
    display: block;
    margin-bottom: 2.3rem;
  }
  .column .columnlist a .bottom span.tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
  }
  .column .columnlist a .bottom span.tag > span {
    width: fit-content;
    height: 2.7rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.6rem;
    flex-wrap: wrap;
  }
  .column .columnlist a .bottom span.tag span.shikaku {
    background: #fff;
    color: #181818;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    white-space: nowrap;
    border: 1px solid #747474;
  }
  .column .columnlist a .bottom span.tag span.blk {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; /* 125% */
    border-radius: 1.35rem;
    white-space: nowrap;
  }

  /* gyoshusingle */

  section.gyoshubetsusingle {
    position: relative;
  }
  section.gyoshubetsusingle .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle2 {
    background: #f8f8f8;
  }
  section.gyoshubetsusingle2 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 12rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle3 {
    background: #fff;
  }
  section.gyoshubetsusingle3 .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 12rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle3 .teiansholist {
    width: 100%;
    max-width: 1180px;
    padding: 0rem 0rem 12rem;
    margin: 0 auto 0;
    flex-wrap: wrap;
    gap: 2rem;
  }

  /* mitsumori */
  .mitsumoriform {
  }
  .mitsumoriform .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .formblock {
    background: #f8f8f8;
  }
  .formblock .content {
    width: 100%;
    max-width: calc(980px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .contact_madoguchi.blk {
    border: 3px solid #d1d1d1;
  }
  .title.contactmadoguchi_blk {
    width: 100%;
    height: 4rem;
    line-height: 4rem;
    padding-left: 0rem;
    margin-bottom: 2rem;
    color: var(--Gray-01, #181818);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    text-align: center;
    background: transparent;
  }

  .form_area .form_block {
    width: 100%;
    border-bottom: 1px solid #000;
    padding: 25px 0 4px 0;
  }
  .form_area .form_block .descr {
    width: 100%;
    padding-bottom: 15px;
  }
  .form_area .form_block .descr .hissu_comme {
    display: block;
    float: left;
    width: 100%;
    height: 21px;
    line-height: 21px;
    color: #ff3000;
    font-size: 100%;
    font-weight: 500;
  }
  .form_area .form_block .form {
    width: 100%;
    margin-bottom: 21px;
  }
  .form_area .form_block .form .left {
    display: block;
    float: left;
    width: 180px;
    height: 55px;
    line-height: 55px;
    font-size: 105%;
    font-weight: 700;
  }
  .form_area .form_block .form .left .hissu {
    display: inline-block;
    width: 38px;
    height: 21px;
    background: #ff3000;
    line-height: 21px;
    text-align: center;
    color: #fff;
    font-size: 90%;
    font-weight: 700;
    margin-right: 3px;
  }
  .form_area .form_block .form .right {
    display: block;
    float: left;
    width: calc(100% - 180px);
  }
  .form_area .form_block .form .right input[type="tel"],
  .form_area .form_block .form .right input[type="email"],
  .form_area .form_block .form .right input[type="text"],
  .form_area .form_block .form .right select {
    display: block;
    width: 100%;
    height: 55px;
    background: #fff;
    border: none;
    outline: none;
    padding: 0 0 0 12px;
    font-family: inherit;
    font-size: 110%;
  }
  .form_area .form_block .form .right select {
    width: 100%;
  }
  .form_area .form_block .form .right textarea {
    display: block;
    width: 100%;
    height: 205px;
    background: #fff;
    border: none;
    outline: none;
    padding: 12px;
    font-family: inherit;
    font-size: 110%;
  }
  .form_attention {
    width: 100%;
    margin: 25px 0;
    background: #ffe5a0;
    padding: 18px;
    text-align: center;
    font-size: 100%;
    font-weight: 500;
  }
  .form_attention span {
    color: #ff3000;
    font-weight: 700;
    font-size: 110%;
  }
  .form_area input[type="submit"] {
    display: block;
    width: 100%;
    max-width: 440px;
    height: 80px;
    line-height: 80px;
    background: #000000 url() right 20px center no-repeat;
    font-size: 140%;
    font-weight: 700;
    color: #ff8100;
    text-align: center;
    margin: 0 auto;
    outline: none;
    border: 0;
    cursor: pointer;
  }
  .form_area input[type="button"].wpcf7c-btn-back {
    display: block;
    width: 50%;
    height: 30px;
    line-height: 30px;
    background: #000000;
    font-size: 85%;
    font-weight: 400;
    color: #ffd800;
    text-align: center;
    margin: 5px auto 0 auto;
    outline: none;
    border: 0;
    font-family: inherit;
    cursor: pointer;
  }
  /* 隱ｿ謨ｴ */
  .form_area .ajax-loader {
    display: none !important;
  }
  .form_area .wpcf7-not-valid {
    background: #fcc !important;
  }
  .form_area .wpcf7-response-output {
    display: none !important;
  }
  /* 遒ｺ隱阪�繝ｼ繧ｸ */
  .form_area .wpcf7c-conf,
  .wpcf7c-conf:focus {
    background: transparent !important;
    border: none !important;
    color: #000 !important;
  }
  .form_area input.wpcf7c-conf:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #ececec inset;
  }
  .form_area input.wpcf7c-conf {
    padding-left: 6px !important;
    font-weight: 400 !important;
  }
  .form_area select.wpcf7c-conf {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  .form_area select.wpcf7c-conf::-ms-expand {
    display: none;
  }
  input:focus::-webkit-input-placeholder {
    color: transparent;
  }
  input:focus::-moz-placeholder {
    color: transparent;
  }
  input:focus::-ms-input-placeholder {
    color: transparent;
  }
  input:focus::placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-webkit-input-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-moz-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-ms-input-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::placeholder {
    color: transparent;
  }

  .privacypolicy {
    width: 90%;
    height: 200px;
    margin: 0px auto 30px;
    border: 1px solid rgb(136, 136, 136);
    overflow: auto;
    background: rgb(255, 255, 255);
    font-size: 90%;
    line-height: 1.8;
    padding: 20px;
  }
  .shodakuCheck {
    text-align: center;
    padding-bottom: 50px;
    font-size: 105%;
    font-weight: 700;
  }
  .shodakuCheck span,
  .shodakuCheck input {
    cursor: pointer;
  }
  .shodakuCheck .wpcf7-list-item-label {
    padding-left: 5px;
  }

  /* FAQ */

  .faq01 {
  }
  .faq01 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 8rem 8rem 16rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .faq02 {
    background: #f8f8f8;
  }
  .faq02 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 0rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
    position: relative;
  }
  .pagelink.faqlink {
    width: 100%;
    height: 9rem;
    display: flex;
    justify-content: space-around;
    background: #f8f8f8;
    align-items: center;
    padding: 0 3rem;
    margin-bottom: 12rem;
    position: absolute;
    top: -10rem;
    max-width: 1180px;
  }
  .faqname {
    color: var(--Main-Orange01, #f81);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2.7;
    margin-bottom: 2rem;
    padding-top: 4rem;
  }
  .qanda_block {
    background: #fff;
  }

  section#qandaBlock {
    padding: 0px 0 15px 0;
    position: relative;
  }
  section#qandaBlock .contents1160 {
    width: 100%;
    max-width: 1200px;
    padding: 0px 0px 20px 0px;
    margin: 0 auto;
  }
  .yokuaruH2 {
    display: block;
    text-align: center;
    font-size: 280%;
    font-weight: 900;
    line-height: 1.45;
    padding-bottom: 30px;
    letter-spacing: -2px;
    color: #000;
  }
  section#qandaBlock p.descr {
    display: block;
    width: 100%;
    font-size: 115%;
    line-height: 2;
    font-weight: 500;
    padding-bottom: 20px;
    margin-bottom: 15px;
    letter-spacing: -1px;
    color: #000;
    text-align: center;
  }
  .qanda {
    width: 100%;
    margin-bottom: 2rem;
  }
  .qanda h3 {
    width: 100%;
    height: 8rem;
    position: relative;
    padding: 0 3rem 0 8rem;
    cursor: pointer;
  }
  .qanda h3 span {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 8rem;
    width: 100%;
  }
  .qanda h3::before {
    content: "";
    display: block;
    width: 8rem;
    height: 8rem;
    background: url(images/faqq.png) center center no-repeat;
    color: #000;
    position: absolute;
    left: 0;
    top: 0;
  }
  .qanda h3::after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: url(images/faqicon_plus.png) center center no-repeat;
    position: absolute;
    right: 3rem;
    top: 50%;
    text-align: center;
    transform: translate(0%, -50%);
  }
  .qanda h3.open::after {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: url(images/faqicon_minus.png) center center no-repeat;
    position: absolute;
    right: 3rem;
    top: 50%;
    text-align: center;
    transform: translate(0%, -50%);
  }
  .qanda .answer {
    width: 100%;
    padding: 0 3rem 3rem 8rem;
    margin-top: 0px;
    position: relative;
    line-height: 1.8;
    color: #000;
    display: none;
  }
  .qanda .answer p.mainans {
    padding-bottom: 2rem;
    width: 100%;
    border-top: 1px solid #f81;
    padding-top: 2rem;
    color: var(--Gray-01, #181818);
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.52;
  }
  .qanda .answer p.normalans {
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.87;
  }
  .qanda .answer::before {
    content: "";
    display: block;
    width: 8rem;
    height: 4rem;
    background: url(images/faqa.png) center center no-repeat;
    position: absolute;
    left: 0px;
    top: 15px;
  }

  /* area top */

  section.areatop {
    position: relative;
  }
  section.areatop .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }

  .areabottom_top {
    display: flex;
    width: 100%;
    gap: 3.5rem;
    justify-content: space-between;
    padding-bottom: 9.5rem;
    position: relative;
  }
  .areabottom_top .left {
    width: 72%;
  }
  .areabottom_top .right {
    width: 28%;
  }
  .areabottom_top .left h2 {
    width: 100%;
  }
  .areabottom_top .left h2 .sub {
    display: block;
    color: #000;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2.6rem;
  }

  .areabottom_top .left h2 .main {
    color: #000;
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: -1.5px;
  }
  .areabottom_top .right img {
    position: absolute;
    top: -18rem;
    right: 0;
    width: 30%;
    z-index: 12;
  }

  section.areatop > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 0rem 0rem rem;
    margin: 0 auto 0;
    color: #000;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.3;
    letter-spacing: 0.85px;
  }

  section.search {
    width: 100%;
    background: #f8f8f8 url(images/wht1.png) top center no-repeat;
    background-size: 100% 18rem;
  }
  section.search .content {
    width: 100%;
    max-width: calc(1080px + 16rem);
    padding: 0rem 8rem 15rem;
    margin: 0 auto 0;
    z-index: 11;
  }

  .searchbox {
    width: 100%;
    border: 3px solid #d1d1d1;
    background: #fff;
    padding: 2.5rem 7rem 4rem;
    margin-bottom: 10rem;
  }
  .searchbox h2 {
    width: 100%;
    text-align: center;
    color: var(--Main-Orange01, #f81);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3; /* 123.077% */
    margin-bottom: 3.5rem;
  }
  .searchbox .conditions {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 5rem;
    margin-bottom: 4rem;
  }
  .searchbox .conditions .block {
    width: calc((100% - 10rem) / 3);
  }
  .searchbox .conditions .block .title {
    width: 100%;
    height: 3.2rem;
    padding-left: 4rem;
    color: var(--Gray-01, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 3.2rem;
    margin-bottom: 1.7rem;
  }
  .searchbox .conditions .block .title.conditions01 {
    background: url(images/searchboxicon01.png) left center no-repeat;
    background-size: 2.88rem;
  }
  .searchbox .conditions .block .title.conditions02 {
    background: url(images/searchboxicon02.png) left center no-repeat;
    background-size: 2.88rem;
  }
  .searchbox .conditions .block .title.conditions03 {
    background: url(images/searchboxicon03.png) left center no-repeat;
    background-size: 2.88rem;
  }
  .searchbox select {
    width: 100%;
    border: none;
    outline: none;
    height: 6rem;
    padding: 0 1.8rem;
    color: var(--Gray-01, #181818);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 16px; /* 100% */
    border-radius: 5px;
    background: var(--Gray-08, #f3f3f3);
    -webkit-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(images/searchselectarw.png);
    background-repeat: no-repeat;
    background-size: 1.7rem auto; /* 画像のサイズ（幅 高さ）*/
    background-position: right 1.8rem center; /* 画像の位置 */
  }
  .searchbox input[type="submit"] {
    display: flex;
    width: 100%;
    border: none;
    outline: none;
    max-width: 78rem;
    height: 6.8rem;
    padding: 0 4rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #000 url(images/searchinputicon.png) right 4rem center no-repeat;
    color: var(--White, #fff);
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 25.191px; /* 132.587% */
    border-radius: 4rem;
    margin: 0 auto;
    cursor: pointer;
  }

  .areatopcontents {
    width: 100%;
  }
  .areatopcontents .areasearch_arealist {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4rem;
  }
  .areatopcontents .areasearch_arealist > div {
    width: calc(50% - 2rem);
    background: #fff;
    position: relative;
    padding: 14rem 4rem 4rem;
  }
  .areatopcontents .areasearch_arealist > div .areaillust {
    position: absolute;
    top: -1.8rem;
    left: 2.8rem;
  }
  .areatopcontents .areasearch_arealist > div h3 {
    position: absolute;
    width: 100%;
    height: 13rem;
    line-height: 13rem;
    color: var(--Main-Orange01, #f81);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
    text-align: center;
  }
  .areatopcontents .areasearch_arealist > div img.areaimg {
    width: 100%;
    margin-bottom: 2rem;
  }
  .areatopcontents .areasearch_arealist > div .text {
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 2rem;
  }
  .areatopcontents .areasearch_arealist > div .morebtn_search {
    width: 100%;
    text-align: right;
  }
  .areatopcontents .areasearch_arealist > div .morebtn_search a {
    display: inline-block;
    height: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 3rem;
    background: url(images/gyoshubetsulink.png) right center no-repeat;
    background-size: 3rem 3.1rem;
    padding-right: 4rem;
  }

  /* area 各地 */
  .defaulttitle.tatecenter h1 {
    align-items: flex-start;
    position: relative;
    flex-direction: column;
    justify-content: center;
  }
  .defaulttitle.tatecenter h1 .sub2 {
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  .areabottom_top .left .text {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    color: #000;
    font-size: 1.7rem;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.85px;
  }
  section.areatop.areakakuchi .content {
    padding: 8rem 8rem 0rem;
  }
  .search .content1430 {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 0rem 8rem 8.5rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .jireilist_area {
    background: #fff;
    padding: 0 7.8rem 5rem;
    margin-bottom: 5rem;
  }
  .jireilist_area .top {
    position: relative;
    padding: 14rem 0 0 0;
  }
  .jireilist_area .top img.areaillust {
    position: absolute;
    top: -1.8rem;
    left: 2.8rem;
  }
  .jireilist_area .top h2 {
    position: absolute;
    width: 100%;
    height: 13rem;
    line-height: 13rem;
    color: var(--Main-Orange01, #f81);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
    padding-left: 18rem;
  }
  .jireilist_area .top .morebtn {
    display: inline-block;
    height: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 3rem;
    background: url(images/gyoshubetsulink.png) right center no-repeat;
    background-size: 3rem 3.1rem;
    padding-right: 4rem;
    position: absolute;
    bottom: 3rem;
    right: 0;
  }
  .jireilist_area .jissekilist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 5rem;
  }
  .jireilist_area .jissekilist .jbox {
    margin: 0 0 0 0 !important;
    width: calc((100% - 10rem) / 3);
  }
  .jireilist_area .jissekilist div.jbox h4 {
    color: #181818;
  }
  .jireilist_area .jissekilist div.jbox .tag > a.gyoshu {
    background: #f8f8f8;
  }
  .jissekimiru {
    background: #ffe7cf;
    display: flex;
    width: 330px;
    height: 6rem;
    padding: 2rem 2.5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--Gray-01, #181818);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 400;
    border-radius: 1rem;
    margin: 0 auto;
  }

  /* searchi result */

  .searchresult {
    position: relative;
  }
  .searchresult .content {
    width: 100%;
    max-width: calc(1080px + 16rem);
    padding: 8rem 8rem 4rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .searchresult .left .text {
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1; /* 216.554% */
  }
  .searchtitle {
    display: block;
    width: fit-content;
    height: 3.5rem;
    margin: 0 auto 6rem;
    background: url(images/searchtitleicon.png) left center no-repeat;
    background-size: 3.5rem;
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 3.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 3.5rem;
    padding-left: 4.5rem;
  }

  .jireilist_area .top .kensu {
    position: absolute;
    width: 100%;
    height: 13rem;
    line-height: 13rem;
    color: var(--Main-Orange01, #f81);
    font-size: 2.6rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
  }
  section.search.resultbox .content {
    padding: 0rem 8rem 5rem;
  }

  .pagenate {
    width: 100%;
    margin: 8rem 0 5rem 0;
  }
  .pagenate .pagenageBox {
    width: 100%;
    min-height: 5.6rem;
    text-align: center;
  }
  .pagenate .pagenageBox a,
  .pagenate .pagenageBox span {
    display: inline-block;
    height: 5.6rem;
    line-height: 5.6rem;
    margin: 0 2px;
    text-align: center;
    color: #181818;
    font-size: 2rem;
    font-weight: 400;
    background: #f3f3f3;
  }
  .pagenate .pagenageBox .dots {
    background: transparent;
  }
  .pagenate .pagenageBox a {
    width: 5.6rem;
    border-radius: 3rem;
    background: #f3f3f3;
  }
  .pagenate .pagenageBox a:hover {
    background: #ffe7cf;
    color: #f81;
  }
  .pagenate .pagenageBox span.current {
    width: 5.6rem;
    border-radius: 3rem;
    background: #ffe7cf;
    color: #f81;
  }
  .pagenate .pagenageBox a.prev {
  }
  .pagenate .pagenageBox a.prev:after {
    content: "";
  }
  .pagenate .pagenageBox .prev,
  .pagenate .pagenageBox .next {
    background: transparent;
  }

  /* footer */
  footer {
  }
  footer .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 6.5rem 8rem 3rem;
    margin: 0 auto 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  footer .content .left {
    width: 26rem;
    position: relative;
  }
  footer .content .left img {
  }
  footer .content .left .company {
  }
  footer .content .left p {
  }
  footer .content .left .privacymarck {
    position: absolute;
    bottom: 0;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 0 5px;
  }
  .privacymarck p {
    display: inline-block;
    width: calc(100% - 90px);
    text-align: left;
    color: #6d6d6d;
    font-size: 1rem;
    line-height: 1.4;
  }
  .privacymarck a {
    display: inline-block;
    width: 90px;
  }
  .privacymarck a img {
    width: 100%;
  }

  footer .content .right {
    width: calc(100% - 32rem);
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
  footer .content .right > div {
    width: 20%;
    border-top: 2px solid #464646;
    padding-top: 1.5rem;
  }
  div.line {
    height: 1px;
    width: 100%;
    border-top: 2px solid #464646;
    padding-top: 1.5rem;
    margin-top: 2.5rem;
  }
  footer .content .right > div .main {
    display: block;
    width: 100%;
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.5;
  }
  footer .content .right > div .sub {
    display: block;
    width: 100%;
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.2;
    padding-left: 2rem;
  }
}

@media (max-width: 1450px) and (min-width: 1281px) {
  html {
    font-size: 56%;
  }
}
@media (max-width: 1280px) and (min-width: 1081px) {
  html {
    font-size: 51%;
  }
}
@media (max-width: 1080px) and (min-width: 881px) {
  html {
    font-size: 46%;
  }
}
@media (max-width: 880px) and (min-width: 678px) {
  html {
    font-size: 41%;
  }
}

@media (max-width: 1550px) and (min-width: 677px) {
  header {
    padding-left: 20px;
  }

  header .head_logo {
  }
}

@media (max-width: 1400px) and (min-width: 677px) {
}

@media (max-width: 1550px) and (min-width: 677px) {
  section#point_main .point_list a {
    font-size: 95%;
  }
}

@media (max-width: 1400px) and (min-width: 677px) {
  section#point_main .point_list a {
    font-size: 90%;
  }
}

@media (max-width: 1310px) and (min-width: 677px) {
  section#point_main .point_list a {
    font-size: 82%;
    letter-spacing: -2.5px;
  }
}

@media (max-width: 1200px) and (min-width: 677px) {
  section#point_main .point_list a {
    font-size: 75%;
  }
}

@media (max-width: 1280px) and (min-width: 677px) {
  section.pointBlock .right_white_block {
    width: 100%;
    max-width: 1280px;
    padding-right: 0;
    margin-left: 0;
    background: #fff;
  }

  section.pointBlock .right_white_block .pointImg {
    position: absolute;
    left: calc(100% - 1340px);
    top: -60px;
  }

  section.pointBlock .left_white_block .contents1280 p.point {
    left: 10px;
  }

  section.pointBlock .right_white_block .contents1280 p.point {
    right: 10px;
  }
}

@media (max-width: 676px) {
  body {
    text-align: center;
    background: #fff;
    background-position: top;
    font-size: 13px;
    line-height: 1.8;
    color: #333;
    font-family: "Noto Sans JP", sans-serif !important;
    width: 100%;
    height: 100%;
  }

  /* 汎用 */
  .spNone {
    display: none !important;
  }

  .contents1080 {
    width: 100%;
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto;
  }

  .contents1280 {
    width: 100%;
    max-width: 1320px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .linkbox {
    width: 100%;
    display: flex;
    padding-top: 4.5rem;
    gap: 3rem;
  }
  .linkbox.lef {
    justify-content: flex-start;
  }
  .linkbox.rig {
    justify-content: flex-end;
  }
  .linkbox.center {
    justify-content: center;
  }
  .linkbox a {
    display: block;
    width: 86%;
    height: 57px;
    border: 1px solid #181818;
    background: #fff url(images/linkbtnbg.png) right 1.5rem center no-repeat;
    background-size: 22px;
    border-radius: 4rem;
    padding: 20px 0 20px 20px;
    line-height: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 15px;
    transition: all 0.2s;
    margin: 0 7%;
  }
  .linkbox a:hover {
    background: #fff url(images/linkbtnbg.png) right 1rem center no-repeat;
    background-size: 22px;
    transition: all 0.12s;
  }
  .linkbox.big a {
    width: 45rem;
  }

  .linkbox_mini {
    width: 100%;
    display: flex;
    gap: 3rem;
  }
  .linkbox_mini.lef {
    justify-content: flex-start;
  }
  .linkbox_mini.rig {
    justify-content: flex-end;
  }
  .linkbox_mini a {
    display: block;
    width: 16rem;
    height: 4.6rem;
    background: #181818 url(images/linkbtnbg.png) right 2rem center no-repeat;
    background-size: 2.6rem 2.6rem;
    border-radius: 4rem;
    padding: 1rem 2rem;
    line-height: 2.6rem;
    color: #fff;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.6rem;
    transition: all 0.2s;
  }
  .linkbox_mini a:hover {
    background: #181818 url(images/linkbtnbg.png) right 1rem center no-repeat;
    background-size: 2.6rem 2.6rem;
    transition: all 0.12s;
  }

  /* index header */

  div.indexright {
    height: 65px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    z-index: 11;
    width: 100%;
    background: #fff;
  }
  div.indexright img {
    display: none;
  }
  div.indexright img.splogo {
    position: absolute;
    left: -40px;
    bottom: 0;
    width: auto;
    height: 50px;
  }
  div.indexright nav {
    display: none;
  }

  /* index header2 */
  header.index {
    width: 100%;
    height: 65px;
    background: #fff;
    position: fixed;
    opacity: 0;
    top: -128px;
    z-index: 30;
    padding: 0 24.5rem 0 26.2rem;
  }
  header.index .headlogo {
    position: absolute;
    left: -40px;
    bottom: 0;
    width: auto;
    height: 50px;
  }
  header.index nav {
    display: none;
  }
  header.index .gmenu {
    display: none;
  }
  header.index .bottom {
    display: none;
  }

  /* 下層ページ header */
  main.other {
    padding-top: 65px;
  }
  header.other {
    width: 100%;
    height: 65px;
    background: #fff;
    position: fixed;
    top: 0;
    z-index: 30;
    padding: 0 24.5rem 0 26.2rem;
  }
  header.other .headlogo {
    position: absolute;
    left: -40px;
    bottom: 0;
    width: auto;
    height: 50px;
  }
  header.other nav {
    display: none;
  }
  header.other .gmenu {
    display: none;
  }
  header.other .bottom {
    display: none;
  }

  /* footer */
  .basecontact {
    background: #f8f8f8;
  }

  .basecontact .content {
    width: 100%;
    padding: 40px 30px;
    margin: 0 auto;
  }
  .basecontact .content > div {
  }
  .basecontact .content > div .left {
    width: 100%;
  }
  .basecontact .content > div .right {
    width: 100%;
  }
  .basecontact .content > div .left .orgH2 {
    margin-bottom: 40px;
  }
  .basecontact .content > div .left .orgH2 .main {
    display: block;
    color: var(--Main-Orange01, #f81);
    font-family: Roboto;
    font-size: 5rem;
    font-style: italic;
    font-weight: 600;
    line-height: 50px;
    letter-spacing: -1.5px;
  }
  .basecontact .content > div .left .orgH2 .sub {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }
  .basecontact .content > div .right a.btn {
    display: block;
    width: 100%;
    height: 60px;
    line-height: 36px;
    background: #000 url(images/bottomcontacticon.png) right 20px center
      no-repeat;
    padding: 12px 25px;
    color: #f81;
    text-align: left;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    border-radius: 5rem;
    margin-bottom: 24px;
  }
  .basecontact .content > div .right .sptel {
    padding-left: 33px;
    background: url(images/spicon.png) left center no-repeat;
    background-size: 30px;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -1px;
    white-space: nowrap;
    margin: 0 auto 5px;
    display: block;
    width: fit-content;
    letter-spacing: -0.5px;
  }
  .basecontact .content > div .right .sptel a {
    color: var(--Gray-01, #181818) !important;
    letter-spacing: -1px !important;
  }
  .basecontact .content > div .right .sub {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .copy {
    width: 100%;
    height: 80px;
    line-height: 80px;
    text-align: center;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 1.286rem;
    font-style: normal;
    font-weight: 400;
  }
  footer .content .left .privacymarck {
    display: none;
  }
  /* FV */
  section.fv {
    width: 100%;
    height: min(152vw, 70vh);
    overflow: hidden;
    position: relative;
    z-index: 10;
  }
  #slide_wrapp {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    background: #fff;
  }
  #slide_wrapp .slide_item {
    opacity: 0;
    transform: scale(1);
    transition:
      opacity 2s linear,
      transform 15s linear;
    position: relative;
  }
  #slide_wrapp .slide_item.img01 {
    background: url(images/sp-home-fv02-1.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img02 {
    background: url(https://4stec.net/wp-content/uploads/2025/12/fvimg_jisseki_sp.jpg)
      center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img03 {
    background: url(images/sp-home-fv02-1.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item.img04 {
    background: url(images/sp-home-fv02-1.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
  }
  #slide_wrapp .slide_item:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
  }
  #slide_wrapp .slide_item.show_ {
    opacity: 1;
  }
  #slide_wrapp .slide_item.zoom_ {
    transform: scale(1.05);
  }
  #slide_wrapp .slide_item img {
    display: block;
    width: 100%;
  }
  .fvabs {
    position: absolute;
    bottom: 0;
    left: 5vw;
    width: 86vw;
    max-width: 1400px;
  }
  .mitsumori {
    position: absolute;
    bottom: 6rem;
    left: calc(50% + 12rem);
    width: 22.3rem;
    z-index: 13;
  }

  /* index_about */
  section.index_about {
    background: #f81;
  }

  section.index_about .content {
    width: 100%;
    padding: 30px 0 0;
    margin: 0 auto;
  }
  .indextoplink {
    width: calc(100% - 60px);
    margin: 0 auto 30px;
  }
  .indextoplink > div {
    width: 100%;
    margin-bottom: 20px;
  }
  .indextoplink > div img {
    width: 100%;
    margin-bottom: 5px;
  }
  .indextoplink > div span.title {
    color: #fff;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.8px;
    padding-right: 18px;
    background: url(images/indextoplinkicon.png) right center no-repeat;
  }
  .indextoplink > div p {
    display: block;
    color: #fff;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.6px;
  }
  .indexhistory {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  .indexhistory .left {
    width: 100%;
    padding: 0 30px 50px;
    order: 1;
  }
  .indexhistory .left h2 {
    color: #fff;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 20px;
    width: 100%;
  }
  .indexhistory .left .text {
    width: 100%;
  }
  .indexhistory .left .text p {
    color: #fff;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    padding-bottom: 1rem;
  }
  .indexhistory .right {
    width: 98%;
    margin: 0 1% 20px;
  }
  .indexhistory .right svg.aisome {
    width: 100%;
  }
  .cls-1 {
    fill: #f81;
  }
  .cls-2 {
    fill: #141414;
  }
  .cls-3 {
    fill: #fff;
  }
  .cls-4 {
    fill: none;
  }
  .cls-5 {
    fill: #d6d6d6;
  }
  .cls-6 {
    fill: #323232;
  }
  .cls-7 {
    fill: #e6e6e6;
  }
  .fukidashi {
    transition: all 0.1s;
  }
  .tatemono {
    transition: all 0.1s;
  }
  a:hover .fukidashi {
    transform: translateY(-15px);
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
  }
  a:hover .tatemono {
    transform: translateY(-10px);
    cursor: pointer;
    transition: 0.2s cubic-bezier(0.45, 0, 0.55, 1);
    transition-delay: 0.1s;
  }
  svg.aisome {
    width: 100%;
  }

  /* index_onestopsolution */
  section.index_onestopsolution {
    background: #f8f8f8;
  }
  section.index_onestopsolution .img_width {
    width: 100%;
    padding: 0 20px;
  }
  section.index_onestopsolution .img_width img {
    width: 100%;
    margin-top: -2px;
  }
  section.index_onestopsolution .content {
    width: 100%;
    padding: 30px 30px 50px;
    margin: 0 auto 0;
  }
  .index_onestopsolution .flow {
    width: 80%;
    max-width: 250px;
    margin: 0 auto;
    display: block;
  }
  .indexsection_top {
    width: 100%;
    padding-bottom: 3.5rem;
  }
  .indexsection_top .left {
    width: 100%;
  }
  .indexsection_top .left .bk {
    color: var(--Gray-01, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
  }
  .indexsection_top .right {
    padding-top: 10px;
    width: 100%;
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
  }
  .indexsection_top .fots {
    width: 100%;
  }

  /* index_feedback */

  .index_feedback {
    background: #fff;
  }
  section.index_feedback .img_width {
    text-align: right;
    width: 100%;
    padding: 0 20px;
  }
  section.index_feedback .img_width img {
    width: 90%;
    max-width: 240px;
    margin-top: -5px;
  }
  section.index_feedback .content {
    width: 100%;
    padding: 30px 30px 40px;
    margin: 0 auto 0;
  }
  .indexsection_top .left .org {
    color: var(--Gray-01, #f81);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
    margin-bottom: 35px;
  }
  .indexsection_top .right_feed {
    width: 100%;
    display: flex;
    align-items: center;
  }
  .indexsection_top .right_feed .linkbox {
    padding-top: 0;
  }
  .voicelist {
    width: 100%;
  }
  .voicelist > div {
    width: 100%;
  }
  .voicelist > div a > img {
    width: 100%;
  }
  .voicelist > div .bottom {
    display: block;
    background: #f8f8f8;
    padding: 20px 25px;
    margin-top: -10px;
    margin-bottom: 30px;
  }
  .voicelist > div .bottom > img {
    width: 100%;
    height: 7rem;
    object-fit: contain;
    margin-bottom: 15px;
  }
  .voicelist > div .bottom span.companyname {
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    display: block;
    margin-bottom: 20px;
  }
  .voicelist > div .bottom span.text {
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.87;
    display: block;
    margin-bottom: 20px;
  }
  .voicelist > div .bottom span.tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
  }
  .voicelist > div .bottom span.tag > span {
    width: fit-content;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
  }
  .voicelist > div .bottom span.tag span.red {
    background: var(--Area-02-Kanto, #fc5422);
    color: var(--White, #fff);
    font-size: 1.08rem;
    font-style: normal;
    font-weight: 500;
    line-height: 25px;
  }
  .voicelist > div .bottom span.tag span.shikaku {
  }
  .voicelist > div .bottom span.tag span.area {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1.08rem;
    font-style: normal;
    font-weight: 500;
    line-height: 25px;
    border-radius: 1.35rem;
  }

  /* index_showcase */
  section.index_showcase {
    background: #181818;
  }
  section.index_showcase .img_width {
    text-align: left;
    width: 100%;
    padding: 0 20px;
  }
  section.index_showcase .img_width img {
    width: 80%;
    max-width: 275px;
    margin-top: -3px;
  }
  section.index_showcase .indexsection_top .left {
    margin-bottom: 40px;
  }
  section.index_showcase .indexsection_top .left .org {
    margin-bottom: 20px !important;
  }
  section.index_showcase .indexsection_top .left .sub.wht {
    color: var(--White, #fff);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.6px;
  }
  section.index_showcase .content {
    width: 100%;
    padding: 40px 30px;
    margin: 0 auto 0;
  }
  .indexsection_top .left .sub.wht {
    color: var(--White, #fff);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.11; /* 211.111% */
    letter-spacing: 0.9px;
  }
  .content_jisseki {
    width: 100%;
    padding: 0rem 50px 90px 15px;
    margin-left: auto;
  }
  .jissekilist {
    width: 100%;
  }
  .jissekilist div.jbox {
    margin: 0 10px;
  }
  .jissekilist div.jbox img.jissekiimg {
    width: 100%;
    margin-bottom: 17px;
  }
  .jissekilist div.jbox h4 {
    display: block;
    width: 100%;
    color: var(--White, #fff);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 17px;
  }
  .jissekilist div.jbox .tag {
    display: flex;
    justify-content: flex-start;
    gap: 10px 5px;
    flex-wrap: wrap;
  }
  .jissekilist div.jbox .tag > a {
    width: fit-content;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
  }
  .jissekilist div.jbox .tag > a.normal {
    background: #e7e7e7;
    color: var(--White, #181818);
    font-size: 0.96rem;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
    border-radius: 1.35rem;
  }
  .jissekilist div.jbox .tag > a.gyoshu {
    color: #f81;
    font-size: 0.96rem;
    font-style: normal;
    font-weight: 500;
    line-height: 22px;
    border-radius: 1.35rem;
    border: 1px solid #f8f8f8;
  }
  .jissekilist .slick-next {
    display: block !important;
    position: absolute !important;
    bottom: -60px !important;
    top: unset !important;
    left: 55px !important;
    width: 32px !important;
    height: 32px !important;
    background: url(images/jisseki_righticon.png) center center no-repeat !important;
  }
  .jissekilist .slick-prev {
    display: block !important;
    position: absolute !important;
    bottom: -60px !important;
    top: unset !important;
    left: 7px;
    width: 32px;
    height: 32px;
    background: url(images/jisseki_lefticon.png) center center no-repeat !important;
  }
  .slick-prev:before {
    content: "" !important;
  }
  .slick-next:before {
    content: "" !important;
  }
  .content_jisseki .slick-list {
    overflow: visible;
  }

  /* index_news */
  section.index_news {
    background: #fff;
  }
  section.index_news .content {
    width: 100%;
    padding: 45px 30px;
    margin: 0 auto 0;
  }
  section.index_news .news {
    width: 100%;
  }
  section.index_news .news .left {
    width: 100%;
    display: flex;
  }
  section.index_news .news .left .orgH2 {
    width: 100%;
    margin-bottom: 40px;
  }
  section.index_news .news .left .orgH2 .main {
    display: block;
    color: var(--Main-Orange01, #f81);
    font-family: Roboto;
    font-size: 5rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -1.5px;
  }
  section.index_news .news .left .orgH2 .sub {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
  }
  section.index_news .news .left .linkbox_mini.lef {
    width: 50%;
    justify-content: flex-end;
    margin-top: 12px;
  }

  section.index_news .news .left .linkbox_mini a {
    display: block;
    width: 125px;
    height: 37px;
    background: #181818 url(images/linkbtnbg.png) right 10px center no-repeat;
    background-size: 20px;
    border-radius: 4rem;
    padding: 10px 15px;
    color: #fff;
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 500;
    line-height: 17px;
    transition: all 0.2s;
  }
  section.index_news .news .right {
    width: 100%;
  }
  section.index_news .news .right .newslist {
    width: 100%;
    border-top: 1px solid #161616;
  }
  section.index_news .news .right .newslist a {
    display: flex;
    border-bottom: 1px solid #161616;
    padding: 15px 0;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  section.index_news .news .right .newslist a .day {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 24px;
    display: block;
    width: 50%;
  }
  section.index_news .news .right .newslist a .tag {
    display: flex;
    width: 110px;
    height: 24px;
    padding: 5px 10px;
    justify-content: center;
    align-items: center;
    color: var(--Gray-02, #464646);
    text-align: center;
    font-size: 1.04rem;
    font-style: normal;
    font-weight: 500;
    line-height: 14px;
    margin-right: 0;
    border: 1px solid #f81;
    border-radius: 1.5rem;
  }
  section.index_news .news .right .newslist a .title {
    display: block;
    width: 100%;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
    padding-top: 12px;
  }

  /* 下層ページ */
  /* defaulttitle */
  .defaulttitle {
    width: 100%;
    height: 125px;
    background: #f8f8f8;
    position: relative;
    z-index: 11;
  }
  .defaulttitle h1 {
    width: 100%;
    height: 125px;
    padding: 0 30px;
    margin: 0 auto 0;
    display: flex;
    align-items: flex-start;
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
  }
  .defaulttitle h1 .main {
    color: var(--Main-Orange01, #f81);
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
  }

  .defaulttitle_mini {
    width: 100%;
    height: 110px;
    background: #f8f8f8;
    position: relative;
    z-index: 11;
  }
  .defaulttitle_mini h1 {
    width: 100%;
    height: 110px;
    padding: 0 30px;
    margin: 0 auto 0;
    display: flex;
    align-items: center;
    position: relative;
  }
  .defaulttitle_mini h1 .main {
    color: var(--Main-Orange01, #f81);
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
  }
  .defaulttitle_mini .titleimg {
    position: absolute;
    top: 0;
    left: 55%;
    height: 100%;
    width: auto;
  }

  /* gyoshubetsu */
  .gyoshubetsu {
    background: #fff;
  }

  .gyoshubetsu .content {
    width: 100%;
    padding: 30px 0;
  }

  .gyoshubetsu_top {
    width: 100%;
    padding-bottom: 5rem;
    position: relative;
  }
  .gyoshubetsu_top .left {
    width: 100%;
    padding: 0 30px;
  }
  .gyoshubetsu_top .left h2 {
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 30px;
    width: 100%;
  }
  .gyoshubetsu_top .left .text {
    width: 100%;
    padding-top: 100vw;
    margin-bottom: 45px;
  }
  .gyoshubetsu_top .left .text p {
    color: #000;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0;
    padding-bottom: 12px;
  }
  .gyoshubetsu_top .right {
    width: 100%;
    position: absolute;
    top: 25vw;
  }
  .gyoshubetsu_top .right svg.aisome {
    width: 100%;
  }
  .gyoshulist {
    width: 100%;
    padding: 0 30px;
  }
  .gyoshulist a {
    display: block;
    width: 100%;
    color: #000 !important;
    margin-bottom: 40px;
  }
  .gyoshulist a h2 {
    width: 100%;
    height: 80px;
    padding-left: 80px;
  }
  .gyoshulist a.gyoshu01 h2 {
    background: url(images/gyoshuimg01_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu02 h2 {
    background: url(images/gyoshuimg02_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu03 h2 {
    background: url(images/gyoshuimg03_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu04 h2 {
    background: url(images/gyoshuimg04_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu05 h2 {
    background: url(images/gyoshuimg05_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu06 h2 {
    background: url(images/gyoshuimg06_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu07 h2 {
    background: url(images/gyoshuimg07_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu08 h2 {
    background: url(images/gyoshuimg08_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu09 h2 {
    background: url(images/gyoshuimg09_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu10 h2 {
    background: url(images/gyoshuimg10_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a.gyoshu11 h2 {
    background: url(images/gyoshuimg11_icon.png) left center no-repeat;
    background-size: 76px;
  }
  .gyoshulist a h2 span {
    display: flex;
    width: 100%;
    height: 60px;
    align-items: center;
    color: var(--Black, #000);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.8px;
    border-bottom: 2px solid #181818;
    background: url(images/gyoshubetsulink.png) right 10px center no-repeat;
    background-size: 24px;
    transition: all 0.2s;
  }
  .gyoshulist a:hover h2 span {
    background: url(images/gyoshubetsulink.png) right center no-repeat;
    background-size: 24px;
  }

  .gyoshulist a img {
    width: 100%;
    margin-bottom: 12px;
  }
  .gyoshulist a span.title {
    display: inline-block;
    width: 100%;
    color: var(--Main-Orange01, #f81);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.66;
    letter-spacing: 0.75px;
    margin-bottom: 12px;
  }
  .gyoshulist a span.text {
    display: inline-block;
    width: 100%;
    color: #000 !important;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.6px;
  }

  /* gyoshubetsu single */
  .defaulttitle h1 span.sub {
    background: #000;
    color: #fff;
    display: inline-flex;
    height: 20px;
    padding: 0 12px;
    justify-content: center;
    align-items: center;
    border-radius: 1.5rem;
    line-height: 3rem;
    font-size: 0.92rem;
    font-weight: 500;
  }
  section.gyoshubetsusingle {
    background: #fff;
    position: relative;
    z-index: 11;
  }
  section.gyoshubetsusingle .content {
    width: 100%;
    padding: 90px 30px 55px;
    margin: 0 auto 0;
  }
  section.gyoshubetsusingle .content > .text {
    width: 100%;
    max-width: 1080px;
    margin: 0 auto 55px;
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0;
  }
  .gyoshubetsusingle_top {
    width: 100%;
    padding-bottom: 30px;
  }
  .gyoshubetsusingle_top .left {
    width: 100%;
  }
  .gyoshubetsusingle_top .right {
    width: 100%;
  }
  .gyoshubetsusingle_top .left h2 {
    width: 100%;
  }
  .gyoshubetsusingle_top .left h2 .sub {
    display: block;
    color: #000;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 12px;
  }

  .gyoshubetsusingle_top .left h2 .main {
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: 0;
  }
  .gyoshubetsusingle_top .right img {
    position: absolute;
    top: -30px;
    right: 0;
    width: 44%;
    z-index: 12;
  }
  .voicelistpage > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 8.6rem 0rem 9rem;
    margin: 0 auto 0;
  }
  .voicelistpage > div > .text p {
    display: block;
    padding-bottom: 1.2rem;
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.6px;
  }
  .solutionblock {
    width: 100%;
    max-width: 1180px;
    padding: 0;
    margin: 0 auto 0;
  }
  .naname {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: fit-content;
    min-height: 135px;
    margin: 0 auto 30px;
    padding: 0 20%;
    background-image: url(images/naname.png), url(images/naname.png);
    background-position:
      left center,
      right center;
    background-size:
      auto 100%,
      auto 100%;
    background-repeat: no-repeat;
    color: var(--Black, #000);
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.57;
  }
  .solutionblock .solutionlist {
    width: 100%;
  }
  .solutionblock .solutionlist > div {
    width: 100%;
    margin-bottom: 4.5rem;
  }
  .solutionblock .solutionlist > div h3 {
    width: 100%;
    height: 40px;
    background: #000;
    display: flex;
    justify-content: flex-start;
  }
  .solutionblock .solutionlist > div h3 .case {
    width: 49px;
    height: 40px;
    background: url(images/casebg.png) right center no-repeat;
    background-size: 165% 100%;
    display: flex;
    align-items: center;
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding-top: 3px;
  }
  .solutionblock .solutionlist > div h3 .case .thin {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 1.1rem;
    font-style: italic;
    font-weight: 200;
    line-height: 1;
    letter-spacing: -0.909px;
  }
  .solutionblock .solutionlist > div h3 .case .num {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 2.1rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.6px;
  }
  .solutionblock .solutionlist > div h3 .title {
    color: var(--White, #fff);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.95px;
    padding-left: 10px;
    display: flex;
    align-items: center;
  }
  .solutionblock .solutionlist > div .cnt {
    padding: 30px 0px;
    width: 100%;
  }
  .solutionblock .solutionlist > div .cnt .left {
    width: 100%;
    margin-bottom: 35px;
    padding: 0 25px;
  }
  .solutionblock .solutionlist > div .cnt .left img {
    width: 100%;
  }
  .solutionblock .solutionlist > div .cnt .right {
    width: 100%;
  }
  .solutionblock .solutionlist > div .cnt .right .text {
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.2;
    margin-bottom: 40px;
    letter-spacing: 0.7px;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist {
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div {
    margin-bottom: 25px;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div h4 {
    width: 100%;
    margin-bottom: 15px;
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 1px;
    padding-left: 34px;
    background: url(images/caseh4bg.png) left center no-repeat;
    background-size: 24px;
  }
  .solutionblock .solutionlist > div .cnt .right .eglist > div p {
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.7px;
  }
  .gyoshubetsu_voice {
    background: #fff;
    position: relative;
    z-index: 11;
  }
  .gyoshubetsu_voice .content {
    width: 100%;
    padding: 80px 30px 40px;
    margin: 0 auto 0;
  }
  .gyoshubetsu_voice h2 {
    width: 100%;
    height: 60px;
    background: #000 url(images/gyoshubetsu_voiceH2bg.png) left center no-repeat;
    background-size: auto 100%;
    color: var(--White, #fff);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.6px;
    display: flex;
    align-items: center;
    padding: 0 15px 0 35px;
  }
  .voice3 {
    width: 100%;
    padding: 0;
    margin: 0 auto 0;
  }
  .voice3 > div {
    padding: 15px 0;
    width: 100%;
  }
  .voice3 > div .left {
    width: 100%;
  }
  .voice3 > div .left img {
    width: 100%;
    margin-bottom: 16px;
  }
  .voice3 > div .left .data {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #a3a3a3;
    border-top: 1px solid #a3a3a3;
    margin-top: -1px;
    padding: 10px 0;
  }
  .voice3 > div .left .data span:first-child {
    display: block;
    width: 25%;
    color: #000;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
  }
  .voice3 > div .left .data span:last-child {
    display: block;
    width: 75%;
    color: #000;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .voice3 > div .right {
    width: 100%;
    padding: 15px 0;
  }
  .voice3 > div .right .text {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 22px;
  }
  .voice3 > div .right .intvlist {
  }
  .voice3 > div .right .intvlist p.ques {
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2;
    letter-spacing: 0.6px;
    margin-bottom: 1rem;
  }
  .voice3 > div .right .intvlist p.answ {
    color: #000;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.3px;
    margin-bottom: 12px;
  }

  /* gyoshubetsu_jirei */

  .gyoshubetsu_jirei {
    background: #fff;
  }
  .gyoshubetsu_jirei .content {
    width: 100%;
    padding: 25px 30px;
    margin: 0 auto 0;
  }
  h2.blkore {
    width: 100%;
    height: 60px;
    background: #f81 url(images/gyoshubetsu_voiceH2bg_b.png) left center
      no-repeat;
    background-size: auto 100%;
    color: var(--White, #fff);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.9px;
    display: flex;
    align-items: center;
    padding: 0 15px 0 35px;
    margin-bottom: 15px;
  }
  .jireiImg {
    width: 100%;
    padding: 15px;
    border: 2px solid #f81;
  }
  .jireiImg img {
    width: 100%;
  }

  /* gyoshubetsu_hojokin */

  .gyoshubetsu_hojokin {
    background: #fff;
  }
  .gyoshubetsu_hojokin .content {
    width: 100%;
    padding: 25px 30px 80px;
    margin: 0 auto 0;
  }
  .gyoshubetsu_hojokin h2 {
    color: var(--Gray-01, #181818);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.75;
    padding: 25px 0;
    border-top: 3px solid #181818;
  }
  .gyoshubetsu_hojokin .text {
    color: #000;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.65px;
  }
  .gyoshubetsu_hojokin .text p {
    padding-bottom: 10px;
  }
  .gyoushujisseki {
    padding-bottom: 50px;
  }

  /* tsuyomi02 */

  .naname_100 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    width: fit-content;
    min-height: 90px;
    margin: 0 auto 30px;
    padding: 20px 20%;
    background-image: url(images/naname.png), url(images/naname.png);
    background-position:
      left center,
      right center;
    background-size:
      auto 100%,
      auto 100%;
    background-repeat: no-repeat;
    color: var(--Black, #000);
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.57;
  }
  .tsuyomi02 {
    background: #fff;
    position: relative;
  }
  .tsuyomi02 .content {
    width: 100%;
    padding: 90px 30px 40px;
    margin: 0 auto 0;
    z-index: 11;
  }
  .pagelink {
    width: 100%;
    height: auto;
    background: #f8f8f8;
    padding: 10px 8px 5px;
    margin-bottom: 55px;
  }
  .pagelink a {
    display: inline-block;
    width: fit-content;
    line-height: 1;
    padding: 5px 16px 5px 0;
    background: url(images/pagelinkbg.png) right 2px center no-repeat;
    background-size: 12px;
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    margin-right: 5px;
    margin-bottom: 5px;
  }
  .tsuyomiblock {
    width: 100%;
    margin-bottom: 12rem;
    max-width: 1180px;
    margin: 0 auto 0;
  }
  .firsttext {
    color: #000;
    text-align: left;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 3rem;
  }
  .firsttext span {
    background: #ffef95;
    padding: 0 3px;
  }
  .t01block {
    margin-bottom: 35px;
  }
  .t01block .left {
    width: 100%;
  }
  .tsuyo h4 {
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.95px;
    margin-bottom: 15px;
  }
  .tsuyo p.main {
    display: block;
    margin-bottom: 12px;
    color: #000;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.66;
    letter-spacing: 0.8px;
  }
  .tsuyo p.text {
    display: block;
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 35px;
  }
  .t01block .right {
    width: 30%;
    position: relative;
  }
  .t01block .right img {
    position: absolute;
    left: 0;
    bottom: 4rem;
    width: 140%;
    max-width: 489px;
  }
  .contact_madoguchi {
    border: 2px solid #f81;
  }
  .contact_madoguchi .title {
    width: 100%;
    height: 36px;
    line-height: 36px;
    padding-left: 14px;
    color: var(--White, #fff);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    background: #f81;
  }
  .contact_madoguchi .cont {
    padding: 30px 20px 30px;
  }
  .contact_madoguchi .cont > div {
    border-bottom: 1px solid #b9b9b9;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .contact_madoguchi .cont > div:last-child {
    border-right: none;
  }
  .contact_madoguchi .cont > div .telnum {
    padding-left: 35px;
    background: url(images/spicon.png) left center no-repeat;
    background-size: auto 36px;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.1rem !important;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: -1.5px !important;
    white-space: nowrap;
    margin-bottom: 1rem;
    display: block;
  }
  .contact_madoguchi .cont > div .telnum a {
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 3.1rem !important;
    letter-spacing: -1.5px !important;
  }
  .contact_madoguchi .cont > div span.normal {
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
  }
  .contact_madoguchi .cont > div span.mini {
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
  }
  .contact_madoguchi .cont > div.fl {
    display: block;
  }
  .contact_madoguchi .cont > div.fl .left {
    display: none;
  }
  .contact_madoguchi .cont > div.fl .right {
    width: 100%;
  }
  .contact_madoguchi .cont > div.fl .right .linesearch {
    display: none;
  }
  .contact_madoguchi .cont > div.fl .right a.linebtn {
    display: block;
    margin: 0 auto;
    border-radius: 32px;
    width: 80%;
    height: 5rem;
    color: var(--White, #fff);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 5rem;
    padding-left: 2rem;
    background: #06c755 url(images/lineicon.png) left 1.9rem center no-repeat;
  }
  .contact_madoguchi .cont > div .kochira {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    margin-bottom: 1rem;
    text-align: center;
  }
  .contact_madoguchi .cont > div a.contactbtn {
    display: block;
    width: 100%;
    height: 7.4rem;
    line-height: 7.4rem;
    border-radius: 4rem;
    background: #181818 url(images/mailicon.png) right 3rem center no-repeat;
    padding-right: 3rem;
    color: #fff;
    text-align: center;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
  }

  .tsuyomi02_02 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_02 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 60px 30px 50px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t02block {
    margin-bottom: 45px;
  }
  .t02block > div {
    width: 100%;
  }
  .t02block > div img {
    width: 100%;
    margin-bottom: 2rem;
  }
  .blacktitlebox {
    width: 100%;
  }
  .blacktitlebox .title {
    width: 100%;
    height: 60px;
    background: #000 url(images/gyoshubetsu_voiceH2bg.png) left center no-repeat;
    background-size: auto 100%;
    color: var(--White, #fff);
    font-size: 1.75rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 1.5px;
    padding-left: 2.3rem;
    display: flex;
    align-items: center;
    padding-left: 30px;
  }
  .blacktitlebox .cont {
    background: #fff;
    padding: 15px 20px;
  }
  .blacktitlebox .toptext {
    color: #000;
    text-align: left;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 35px;
  }
  .blacktitlebox .cont > div {
    margin-bottom: 35px;
  }
  .blacktitlebox .cont > div .subtitle {
    display: flex;
    margin-bottom: 1rem;
  }
  .blacktitlebox .cont > div .subtitle .num {
    display: block;
    width: 35px;
    line-height: 35px;
    text-align: left;
    color: var(--Gray-01, #181818);
    font-family: Roboto;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 300;
    letter-spacing: -0.8px;
  }
  .blacktitlebox .cont > div .subtitle .main {
    width: calc(100% - 5.25rem);
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 35px;
    letter-spacing: 0.75px;
  }
  .blacktitlebox .cont > div p.text {
    width: 100%;
    border-top: 1px solid #a3a3a3;
    padding-top: 10px;
    margin: 0 0 15px 0;
    color: #000;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.8;
  }
  .blacktitlebox .cont .foottext {
    color: #000;
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.85;
  }

  .tsuyomi02_03 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_03 .content {
    width: 100%;
    padding: 75px 30px 40px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t03block {
    margin-bottom: 60px;
  }
  .t03block.mb0 {
    margin-bottom: 0 !important;
  }
  .t03block > .left {
    width: 100%;
    margin-bottom: 15px;
  }
  .t03block > .left img {
    width: 100%;
  }
  .t03block > .right {
    width: 100%;
  }
  .teiansholist {
    padding: 25px 0 40px;
    display: flex;
    gap: 2%;
    flex-wrap: wrap;
    justify-content: center;
  }
  .teiansholist img {
    width: 49%;
  }

  .tsuyomi02_04 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_04 .content {
    width: 100%;
    padding: 75px 30px 50px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .merit_demerit {
    width: 100%;
    background: #fff;
    padding: 25px 15px;
  }
  .merit_demerit .f01 {
    color: var(--Main-Orange01, #f81);
    text-align: center;
    font-size: 2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .merit_demerit .toptext {
    color: #000;
    text-align: left;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.8;
    margin-bottom: 25px;
  }

  .merit_box {
    width: 100%;
    display: block;
  }
  .mb10rem {
    margin-bottom: 75px;
  }
  .merit_box .merit {
    width: 100%;
    background: #fffbe6
      url(https://4stech.net/kanto/wp-content/themes/wptheme/images/merit_maru_big.png)
      center center no-repeat;
    padding-bottom: 25px;
    margin-bottom: 25px;
  }
  .merit_box .demerit {
    width: 100%;
    background: #f8f8f8
      url(https://4stech.net/kanto/wp-content/themes/wptheme/images/demerit_batsu_big.png)
      center center no-repeat;
    padding-bottom: 25px;
  }
  .merit_box > div h3 {
    display: block;
    width: 100%;
    height: 45px;
    border-bottom: 0.2rem solid #fff;
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 700;
    line-height: 45px;
  }
  .merit_box div div {
    width: 100%;
    padding: 15px 15px 0;
  }
  .merit_box div div h4 {
    padding-left: 25px;
    color: var(--Gray-01, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
  }
  .merit_box div.merit div h4 {
    background: url(https://4stech.net/kanto/wp-content/themes/wptheme/images/merit_maru.png)
      left center no-repeat;
    background-size: 18px;
  }
  .merit_box div.demerit div h4 {
    background: url(https://4stech.net/kanto/wp-content/themes/wptheme/images/demerit_batsu.png)
      left center no-repeat;
    background-size: 18px;
  }
  .merit_box div div p {
    padding-left: 25px;
    padding-top: 5px;
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
  }

  .tsuyomi02_05 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_05 .content {
    width: 100%;
    padding: 75px 30px 50px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t05block {
    width: 100%;
  }
  .t05block.mb0 {
    margin-bottom: 0 !important;
  }
  .t05block > .left {
    width: 100%;
    margin-bottom: 12px;
  }
  .t05block > .left img {
    width: 100%;
  }
  .t05block > .right {
    width: 100%;
    margin-bottom: 50px;
  }
  .othertextbox {
    background: #f8f8f8;
    padding: 20px 20px;
  }
  .othertextbox .title {
    color: var(--Gray-01, #181818);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.6px;
    margin-bottom: 10p;
    padding-bottom: 15px;
    border-bottom: 1px solid #a3a3a3;
  }
  .othertextbox .block {
    padding: 20px 0;
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.85;
    border-bottom: 1px solid #a3a3a3;
  }

  .tsuyomi02_06 {
    background: #f8f8f8 url(images/tsuyoarw_wht.png) top center no-repeat;
  }
  .tsuyomi02_06 .content {
    width: 100%;
    padding: 75px 30px 1px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t06block {
  }
  .t06block > .left {
    width: 100%;
    margin-bottom: 12px;
  }
  .t06block > .left img {
    width: 100%;
  }
  .t06block > .right {
    width: 100%;
    margin-bottom: 40px;
  }

  .tsuyomi02_07 {
    background: #fff url(images/tsuyoarw_gry.png) top center no-repeat;
  }
  .tsuyomi02_07 .content {
    width: 100%;
    padding: 75px 30px 80px;
    margin: 0 auto 0;
    position: relative;
    z-index: 11;
  }
  .t07block {
    border-top: 1px solid #a3a3a3;
  }
  .t07block > div {
    padding: 4rem 0 0;
    border-bottom: 1px solid #a3a3a3;
  }

  /* goteianjirei */
  .goteianjirei {
    position: relative;
  }
  .goteianjirei .content {
    width: 100%;
    padding: 90px 30px 50px;
    margin: 0 auto 0;
    z-index: 11;
  }
  .goteianjirei > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 0 0 40px;
    margin: 0 auto 0;
    font-size: 1.4rem;
  }
  .goteianjirei > div > .text p {
    padding-bottom: 12px;
  }
  .goteianjireilist {
    width: 100%;
  }
  .goteianjireilist > div {
    width: 100%;
    margin-bottom: 40px;
  }
  .goteianjireilist > div a {
    display: block;
    padding: 2rem;
    border: 1px solid #a3a3a3;
    background: #fcfcfc;
    margin-bottom: 2rem;
  }
  .goteianjireilist > div img {
    width: 100%;
  }
  .goteianjireilist > div .title {
    display: block;
    color: var(--Main-Orange01, #f81);
    text-align: left;
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 20px;
    padding: 0 15px;
  }
  .goteianjireilist > div p {
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1;
    padding: 0 15px;
  }

  /* voicelistpage */
  .voicelistpage {
    position: relative;
  }
  .voicelistpage .content {
    width: 100%;
    padding: 90px 30px 60px;
    margin: 0 auto 0;
    z-index: 11;
  }
  .voicelistpage > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 0 0 20px;
    margin: 0 auto 0;
  }

  /* voicesingle */

  .voicesingle {
  }
  .voicesingle .content {
    width: 100%;
    padding: 45px 30px;
    margin: 0 auto 0;
    z-index: 11;
  }

  .voicesingle .title {
    width: 100%;
  }
  .voicesingle .title div.tag {
    display: flex;
    justify-content: flex-start;
    gap: 0.8rem;
    margin-bottom: 3.5rem;
  }
  .voicesingle .title .tag span {
    width: fit-content;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
  }
  .voicesingle .title .tag span.red {
    background: var(--Area-02-Kanto, #fc5422);
    color: var(--White, #fff);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem;
  }
  .voicesingle .title .tag span.shikaku {
  }
  .voicesingle .title .tag span.area {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem;
    border-radius: 1.35rem;
  }
  .voicesingle .title .main {
    color: #000;
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 30px;
  }
  .voicecontent {
    width: 100%;
  }
  .voicecontent > .left {
    width: 100%;
  }
  .voicecontent > .right {
    display: none;
  }
  .voicecontent .left .mainimg {
    width: 100%;
    margin-bottom: 12px;
  }
  .kihondata {
    margin-bottom: 50px;
  }

  .kihondata > div {
    width: 100%;
    display: block;
    border-bottom: 1px solid #a3a3a3;
    border-top: 1px solid #a3a3a3;
    margin-top: -1px;
    padding: 12px 0;
  }
  .kihondata > div span:first-child {
    display: block;
    width: 100%;
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    padding-bottom: 5px;
  }
  .kihondata > div span:last-child {
    display: block;
    width: 100%;
    color: #000;
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
  }
  .voicecontent .ques {
    width: 100%;
    border-left: 2px solid #f81;
    padding-left: 1.4rem;
    margin-bottom: 20px;
  }
  .voicecontent .ques .ore {
    display: block;
    color: var(--Main-Orange01, #f81);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 1.5rem;
  }
  .voicecontent .ques .main {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.8;
    margin-bottom: 0px !important;
  }
  .voicecontent .answ {
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.7px;
    margin-bottom: 30px;
  }
  .voicecontent .imgbox {
    width: 100%;
    display: block;
    margin-bottom: 25px;
  }
  .voicecontent .imgbox img {
    width: 100%;
    margin-bottom: 15px;
  }
  .voicecontent .sponly img {
    width: 60%;
    margin: 0 auto 10px;
    display: block;
  }
  .voicecontent .sponly .companyname {
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 15px;
  }
  .voicecontent .sponly .text {
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    margin-bottom: 15px;
  }

  /* columnlist */
  section.column {
    position: relative;
  }
  section.column .content {
    width: 100%;
    padding: 90px 30px 50px;
    margin: 0 auto 0;
    z-index: 11;
  }
  .taglinklist {
    border-top: 1px solid #181818;
    padding-top: 15px;
  }
  .taglinklist .top {
    width: 100%;
    display: block;
    margin-bottom: 15px;
  }
  .taglinklist .top a {
    width: fit-content;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.1rem;
    color: var(--Gray-01, #181818);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    border: 1px solid #747474;
    margin: 0 3px 5px 0;
  }
  .taglinklist .bottom {
    width: 100%;
    display: block;
    margin-bottom: 45px;
  }
  .taglinklist .bottom a {
    width: fit-content;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.1rem;
    color: var(--Gray-01, #fff);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1;
    background: #181818;
    border-radius: 2rem;
    margin: 0 3px 5px 0;
  }
  .column .columnlist {
    width: 100%;
  }
  .column .columnlist a {
    display: block;
    width: 100%;
  }
  .column .columnlist a > img {
    width: 100%;
  }
  .column .columnlist a .bottom {
    display: block;
    background: #f8f8f8;
    padding: 20px 15px;
    margin: -10px 0 35px 0;
  }
  .column .columnlist a .bottom span.title {
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.8;
    display: block;
    margin-bottom: 20px;
  }
  .column .columnlist a .bottom span.text {
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.87;
    display: block;
    margin-bottom: 15px;
  }
  .column .columnlist a .bottom span.tag {
    display: block;
  }
  .column .columnlist a .bottom span.tag > span {
    width: fit-content;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.1rem;
    flex-wrap: wrap;
    margin: 0 3px 5px 0;
  }
  .column .columnlist a .bottom span.tag span.shikaku {
    background: #fff;
    color: #181818;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem;
    white-space: nowrap;
    border: 1px solid #747474;
  }
  .column .columnlist a .bottom span.tag span.blk {
    background: var(--Area-02-Kanto, #181818);
    color: var(--White, #fff);
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
    border-radius: 1.35rem;
    white-space: nowrap;
  }

  /* gyoshusingle */

  section.gyoshubetsusingle0 {
    position: relative;
  }
  section.gyoshubetsusingle1 .content {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 8rem 8rem 12rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle2 {
    background: #f8f8f8;
  }
  section.gyoshubetsusingle2 .content {
    width: 100%;
    padding: 50px 30px;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle3 {
    background: #fff;
  }
  section.gyoshubetsusingle3 .content {
    width: 100%;
    padding: 50px 30px;
    margin: 0 auto 0;
    z-index: 11;
  }
  section.gyoshubetsusingle3 .teiansholist {
    width: 100%;
    max-width: 1180px;
    padding: 0rem 0rem 90px;
    margin: 0 auto 0;
    flex-wrap: wrap;
    gap: 2%;
  }

  /* mitsumori */
  .mitsumoriform {
  }
  .mitsumoriform .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 25px;
    margin: 0 auto 0;
    z-index: 11;
  }
  .formblock {
    background: #f8f8f8;
  }
  .formblock .content {
    width: 100%;
    max-width: calc(980px + 16rem);
    padding: 4rem 3rem 4rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .contact_madoguchi.blk {
    border: 3px solid #d1d1d1;
  }
  .title.contactmadoguchi_blk {
    width: 100%;
    height: 3rem;
    line-height: 3rem;
    padding-left: 0rem;
    margin-bottom: 1.5rem;
    color: var(--Gray-01, #181818);
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    text-align: center;
    background: transparent;
  }

  .form_area .form_block {
    width: 100%;
    border-bottom: 1px solid #000;
    padding: 25px 0 4px 0;
  }
  .form_area .form_block .descr {
    width: 100%;
    padding-bottom: 15px;
  }
  .form_area .form_block .descr .hissu_comme {
    display: block;
    float: left;
    width: 100%;
    height: 21px;
    line-height: 21px;
    color: #ff3000;
    font-size: 100%;
    font-weight: 500;
  }
  .form_area .form_block .form {
    width: 100%;
    margin-bottom: 21px;
  }
  .form_area .form_block .form .left {
    display: block;
    float: left;
    width: 180px;
    height: 55px;
    line-height: 55px;
    font-size: 105%;
    font-weight: 700;
  }
  .form_area .form_block .form .left .hissu {
    display: inline-block;
    width: 38px;
    height: 21px;
    background: #ff3000;
    line-height: 21px;
    text-align: center;
    color: #fff;
    font-size: 90%;
    font-weight: 700;
    margin-right: 3px;
  }
  .form_area .form_block .form .right {
    display: block;
    float: left;
    width: calc(100% - 180px);
  }
  .form_area .form_block .form .right input[type="tel"],
  .form_area .form_block .form .right input[type="email"],
  .form_area .form_block .form .right input[type="text"],
  .form_area .form_block .form .right select {
    display: block;
    width: 100%;
    height: 55px;
    background: #fff;
    border: none;
    outline: none;
    padding: 0 0 0 12px;
    font-family: inherit;
    font-size: 110%;
  }
  .form_area .form_block .form .right select {
    width: 100%;
  }
  .form_area .form_block .form .right textarea {
    display: block;
    width: 100%;
    height: 205px;
    background: #fff;
    border: none;
    outline: none;
    padding: 12px;
    font-family: inherit;
    font-size: 110%;
  }
  .form_attention {
    width: 100%;
    margin: 25px 0;
    background: #ffe5a0;
    padding: 18px;
    text-align: center;
    font-size: 100%;
    font-weight: 500;
  }
  .form_attention span {
    color: #ff3000;
    font-weight: 700;
    font-size: 110%;
  }
  .form_area input[type="submit"] {
    display: block;
    width: 100%;
    max-width: 440px;
    height: 80px;
    line-height: 80px;
    background: #000000 url() right 20px center no-repeat;
    font-size: 140%;
    font-weight: 700;
    color: #ff8100;
    text-align: center;
    margin: 0 auto;
    outline: none;
    border: 0;
    cursor: pointer;
  }
  .form_area input[type="button"].wpcf7c-btn-back {
    display: block;
    width: 50%;
    height: 30px;
    line-height: 30px;
    background: #000000;
    font-size: 85%;
    font-weight: 400;
    color: #ffd800;
    text-align: center;
    margin: 5px auto 0 auto;
    outline: none;
    border: 0;
    font-family: inherit;
    cursor: pointer;
  }
  /* 隱ｿ謨ｴ */
  .form_area .ajax-loader {
    display: none !important;
  }
  .form_area .wpcf7-not-valid {
    background: #fcc !important;
  }
  .form_area .wpcf7-response-output {
    display: none !important;
  }
  /* 遒ｺ隱阪�繝ｼ繧ｸ */
  .form_area .wpcf7c-conf,
  .wpcf7c-conf:focus {
    background: transparent !important;
    border: none !important;
    color: #000 !important;
  }
  .form_area input.wpcf7c-conf:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #ececec inset;
  }
  .form_area input.wpcf7c-conf {
    padding-left: 6px !important;
    font-weight: 400 !important;
  }
  .form_area select.wpcf7c-conf {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
  }

  .form_area select.wpcf7c-conf::-ms-expand {
    display: none;
  }
  input:focus::-webkit-input-placeholder {
    color: transparent;
  }
  input:focus::-moz-placeholder {
    color: transparent;
  }
  input:focus::-ms-input-placeholder {
    color: transparent;
  }
  input:focus::placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-webkit-input-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-moz-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::-ms-input-placeholder {
    color: transparent;
  }
  input.wpcf7c-conf::placeholder {
    color: transparent;
  }
  .privacypolicy {
    width: 100%;
    height: 50vw;
    margin: 0px auto 20px;
    border: 1px solid rgb(136, 136, 136);
    overflow: auto;
    background: rgb(255, 255, 255);
    font-size: 95%;
    line-height: 1.8;
    padding: 12px;
  }
  .shodakuCheck {
    text-align: center;
    padding-bottom: 50px;
    font-size: 105%;
    font-weight: 700;
  }
  .shodakuCheck span,
  .shodakuCheck input {
    cursor: pointer;
  }
  .shodakuCheck .wpcf7-list-item-label {
    padding-left: 5px;
  }

  /* FAQ */

  .faq01 {
  }
  .faq01 .content {
    width: 100%;
    padding: 4rem 3rem 15rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .faq02 {
    background: #f8f8f8;
  }
  .faq02 .content {
    width: 100%;
    max-width: calc(1180px + 16rem);
    padding: 0rem 3rem 5rem;
    margin: 0 auto 0;
    z-index: 11;
    position: relative;
  }
  .pagelink.faqlink {
    width: 86%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    position: absolute;
    top: -11rem;
    left: 7%;
    gap: 1rem;
    background: transparent;
    padding: 0;
    margin: 0;
  }
  .pagelink.faqlink a {
    display: flex;
    align-items: center;
    width: calc(50% - 0.5rem);
    height: 4rem;
    border: 1px solid #e7e7e7;
    line-height: 1;
    padding: 5px 12px;
    background: url(images/pagelinkbg.png) right 6px center no-repeat;
    background-size: 17px;
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 500;
    margin: 0;
  }
  .faqname {
    color: var(--Main-Orange01, #f81);
    font-size: 2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2.7;
    margin-bottom: 1.5rem;
    padding-top: 2rem;
  }
  .qanda_block {
    background: #fff;
  }

  section#qandaBlock {
    padding: 0px 0 15px 0;
    position: relative;
  }
  section#qandaBlock .contents1160 {
    width: 100%;
    max-width: 1200px;
    padding: 0px 0px 20px 0px;
    margin: 0 auto;
  }
  .yokuaruH2 {
    display: block;
    text-align: center;
    font-size: 280%;
    font-weight: 900;
    line-height: 1.45;
    padding-bottom: 30px;
    letter-spacing: -2px;
    color: #000;
  }
  section#qandaBlock p.descr {
    display: block;
    width: 100%;
    font-size: 115%;
    line-height: 2;
    font-weight: 500;
    padding-bottom: 20px;
    margin-bottom: 15px;
    letter-spacing: -1px;
    color: #000;
    text-align: center;
  }
  .qanda {
    width: 100%;
    margin-bottom: 2rem;
  }
  .qanda h3 {
    width: 100%;
    height: 6rem;
    position: relative;
    padding: 0 4rem 0 5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
  }
  .qanda h3 span {
    display: block;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.6;
    width: 100%;
  }
  .qanda h3::before {
    content: "";
    display: block;
    width: 3rem;
    height: 3rem;
    background: url(images/faqq.png) center center no-repeat;
    background-size: auto 100%;
    color: #000;
    position: absolute;
    left: 1rem;
    top: calc(50% - 1.5rem);
  }
  .qanda h3::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(images/faqicon_plus.png) center center no-repeat;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    text-align: center;
    transform: translate(0%, -50%);
    background-size: 2rem;
  }
  .qanda h3.open::after {
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(images/faqicon_minus.png) center center no-repeat;
    background-size: 2rem;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    text-align: center;
    transform: translate(0%, -50%);
  }
  .qanda .answer {
    width: 100%;
    padding: 0 2rem 2rem 5rem;
    margin-top: 0px;
    position: relative;
    line-height: 1.8;
    color: #000;
    display: none;
  }
  .qanda .answer p.mainans {
    padding-bottom: 2rem;
    width: 100%;
    border-top: 1px solid #f81;
    padding-top: 2rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
  }
  .qanda .answer p.normalans {
    color: var(--Gray-01, #181818);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.87;
  }
  .qanda .answer::before {
    content: "";
    display: block;
    width: 2.5rem;
    height: 2.5rem;
    background: url(images/faqa.png) center center no-repeat;
    position: absolute;
    left: 1.3rem;
    top: 15px;
    background-size: auto 100%;
  }

  /* area top */

  section.areatop {
    position: relative;
  }
  section.areatop .content {
    width: 100%;
    padding: 9rem 3rem 4rem;
    margin: 0 auto 0;
    z-index: 11;
  }

  .areabottom_top {
    width: 100%;
    padding-bottom: 4rem;
    position: relative;
  }
  .areabottom_top .left {
    width: 100%;
  }
  .areabottom_top .right {
    width: 28%;
  }
  .areabottom_top .left h2 {
    width: 100%;
  }
  .areabottom_top .left h2 .sub {
    display: block;
    color: #000;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 2.6rem;
  }

  .areabottom_top .left h2 .main {
    color: #000;
    font-size: 2.3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .areabottom_top .right img {
    position: absolute;
    top: -18rem;
    right: 0;
    width: 45%;
    z-index: 12;
  }

  section.areatop > div > .text {
    width: 100%;
    max-width: 1080px;
    padding: 0rem 0rem 0rem;
    margin: 0 auto 0;
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.5px;
  }

  section.search {
    width: 100%;
    background: #f8f8f8 url(images/wht1.png) top center no-repeat;
    background-size: 100% 18rem;
  }
  section.search .content {
    width: 100%;
    max-width: calc(1080px + 16rem);
    padding: 0rem 3rem 6rem;
    margin: 0 auto 0;
    z-index: 11;
  }

  .searchbox {
    width: 100%;
    border: 2px solid #d1d1d1;
    background: #fff;
    padding: 2.5rem 3rem 2.5rem;
    margin-bottom: 10rem;
  }
  .searchbox h2 {
    width: 100%;
    text-align: center;
    color: var(--Main-Orange01, #f81);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 2.5rem;
  }
  .searchbox .conditions {
    width: 100%;
    margin-bottom: 3rem;
  }
  .searchbox .conditions .block {
    width: 100%;
    margin-bottom: 15px;
  }
  .searchbox .conditions .block .title {
    width: 100%;
    height: 1.9rem;
    padding-left: 2.5rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.9rem;
    margin-bottom: 1rem;
  }
  .searchbox .conditions .block .title.conditions01 {
    background: url(images/searchboxicon01.png) left center no-repeat;
    background-size: 1.8rem;
  }
  .searchbox .conditions .block .title.conditions02 {
    background: url(images/searchboxicon02.png) left center no-repeat;
    background-size: 1.8rem;
  }
  .searchbox .conditions .block .title.conditions03 {
    background: url(images/searchboxicon03.png) left center no-repeat;
    background-size: 1.8rem;
  }
  .searchbox select {
    width: 100%;
    border: none;
    outline: none;
    height: 4rem;
    padding: 0 1.4rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 16px;
    border-radius: 5px;
    background: var(--Gray-08, #f3f3f3);
    -webkit-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url(images/searchselectarw.png);
    background-repeat: no-repeat;
    background-size: 1.4rem auto;
    background-position: right 1rem center;
    font-family: inherit;
  }
  .searchbox input[type="submit"] {
    display: flex;
    width: 100%;
    border: none;
    outline: none;
    height: 5rem;
    padding: 0 2rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background: #000 url(images/searchinputicon.png) right 2rem center no-repeat;
    background-size: 2rem;
    color: var(--White, #fff);
    text-align: center;
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    border-radius: 4rem;
    margin: 0 auto;
    cursor: pointer;
  }

  .areatopcontents {
    width: 100%;
  }
  .areatopcontents .areasearch_arealist {
  }
  .areatopcontents .areasearch_arealist > div {
    width: 100%;
    background: #fff;
    position: relative;
    padding: 8rem 2rem 2rem;
    margin-bottom: 5rem;
  }
  .areatopcontents .areasearch_arealist > div .areaillust {
    position: absolute;
    top: -3rem;
    left: -2.2rem;
    width: 10rem;
  }
  .areatopcontents .areasearch_arealist > div h3 {
    position: absolute;
    width: 100%;
    height: 8rem;
    line-height: 8rem;
    color: var(--Main-Orange01, #f81);
    font-size: 1.9rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
    text-align: center;
  }
  .areatopcontents .areasearch_arealist > div img.areaimg {
    width: 100%;
    margin-bottom: 2rem;
  }
  .areatopcontents .areasearch_arealist > div .text {
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2;
    margin-bottom: 2rem;
  }
  .areatopcontents .areasearch_arealist > div .morebtn_search {
    width: 100%;
    text-align: right;
  }
  .areatopcontents .areasearch_arealist > div .morebtn_search a {
    display: inline-block;
    height: 3rem;
    color: var(--Gray-01, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 3rem;
    background: url(images/gyoshubetsulink.png) right center no-repeat;
    background-size: 2rem auto;
    padding-right: 3rem;
  }

  /* area 各地 */
  .defaulttitle.tatecenter h1 {
    align-items: flex-start;
    position: relative;
    flex-direction: column;
    justify-content: center;
  }
  .defaulttitle.tatecenter h1 .sub2 {
    color: var(--Main-Orange01, #f81);
    font-size: 1.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  .areabottom_top .left .text {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    color: #000;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.55px;
  }
  section.areatop.areakakuchi .content {
    padding: 9rem 3rem 0rem;
  }
  .search .content1430 {
    width: 100%;
    max-width: calc(1430px + 16rem);
    padding: 0rem 3rem 8.5rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .jireilist_area {
    background: #fff;
    padding: 0 2rem 5rem;
    margin-bottom: 5rem;
  }
  .jireilist_area .top {
    position: relative;
    padding: 8rem 0 0 0;
  }
  .jireilist_area .top img.areaillust {
    position: absolute;
    top: -5rem;
    left: -4rem;
    width: 40%;
  }
  .jireilist_area .top h2 {
    position: absolute;
    width: 100%;
    height: 8rem;
    line-height: 8rem;
    color: var(--Main-Orange01, #f81);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
    padding-left: 0;
    text-align: center;
  }
  .jireilist_area .top .morebtn {
    display: none;
  }
  .jireilist_area .jissekilist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    gap: 5rem;
  }
  .jireilist_area .jissekilist .jbox {
    margin: 0 0 0 0 !important;
    width: 100%;
  }
  .jireilist_area .jissekilist div.jbox h4 {
    color: #181818;
  }
  .jireilist_area .jissekilist div.jbox .tag > a.gyoshu {
    background: #f8f8f8;
  }
  .jissekimiru {
    background: #ffe7cf;
    display: flex;
    width: 330px;
    height: 5rem;
    padding: 0rem 2.5rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: var(--Gray-01, #181818);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 500;
    border-radius: 1rem;
    margin: 0 auto;
  }

  /* searchi result */

  .searchresult {
    position: relative;
  }
  .searchresult .content {
    width: 100%;
    max-width: calc(1080px + 16rem);
    padding: 9rem 3rem 0rem;
    margin: 0 auto 0;
    z-index: 11;
  }
  .searchresult .left .text {
    color: #000;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 2.1;
  }
  .searchtitle {
    display: block;
    width: fit-content;
    height: 2rem;
    margin: 0 auto 2rem;
    background: url(images/searchtitleicon.png) left center no-repeat;
    background-size: auto 2rem;
    color: var(--Gray-01, #181818);
    text-align: center;
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 2rem;
    padding-left: 2.5rem;
  }

  .jireilist_area .top .kensu {
    position: absolute;
    width: 100%;
    height: 8rem;
    line-height: 8rem;
    color: var(--Main-Orange01, #f81);
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 700;
    top: 0;
    left: 0;
  }
  section.search.resultbox .content {
    padding: 0rem 3rem 0rem;
  }

  .pagenate {
    width: 100%;
    margin: 5rem 0 5rem 0;
  }
  .pagenate .pagenageBox {
    width: 100%;
    min-height: 4rem;
    text-align: center;
  }
  .pagenate .pagenageBox a,
  .pagenate .pagenageBox span {
    display: inline-block;
    height: 4rem;
    line-height: 4rem;
    margin: 0 1px;
    text-align: center;
    color: #181818;
    font-size: 1.3rem;
    font-weight: 400;
    background: #f3f3f3;
  }
  .pagenate .pagenageBox .dots {
    background: transparent;
  }
  .pagenate .pagenageBox a {
    width: 4rem;
    border-radius: 3rem;
    background: #f3f3f3;
  }
  .pagenate .pagenageBox a:hover {
    background: #ffe7cf;
    color: #f81;
  }
  .pagenate .pagenageBox span.current {
    width: 4rem;
    border-radius: 3rem;
    background: #ffe7cf;
    color: #f81;
  }
  .pagenate .pagenageBox a.prev {
  }
  .pagenate .pagenageBox a.prev:after {
    content: "";
  }
  .pagenate .pagenageBox .prev,
  .pagenate .pagenageBox .next {
    background: transparent;
  }

  /* footer */
  footer {
    display: none;
  }

  /* スライドメニュボタン */

  .menuBtn {
    display: block;
    width: 50px;
    height: 50px;
    background: transparent url(images/menubtn_on.png) center center no-repeat;
    background-size: 100% 100%;
    position: absolute;
    right: 5px;
    top: 5px;
    z-index: 50;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }

  html.sb-active .menuBtn {
    background: transparent url(images/menubtn_off.png) center center no-repeat;
    background-size: 100% 100%;
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
  }

  /* header */

  /* スライドメニュー */

  .slideMenu {
    width: 100%;
    height: calc(100vh - 60px);
    padding-top: 60px;
    text-align: center;
    position: relative;
  }

  .slideMenu .menuBlock {
    display: block;
    height: auto;
    width: 100%;
    padding: 20px 25px 20px 40px;
  }

  .slideMenu .menuBlock .slideMenuSp {
    width: 100%;
    padding-bottom: 40px;
  }

  .slideMenu .menuBlock .slideMenuSp li {
    display: block;
    width: 100%;
  }

  .slideMenu .menuBlock .slideMenuSp li > div.accordionMenu00,
  .slideMenu .menuBlock .slideMenuSp li a.accordionNo {
    display: block;
    width: 100%;
    padding: 12px 0;
    text-align: left;
  }

  .slideMenu .menuBlock .slideMenuSp li > div.accordionMenu00 span.main,
  .slideMenu .menuBlock .slideMenuSp li a.accordionNo span.main {
    display: inline-block;
    color: rgba(255, 255, 255, 0.9);
    font-size: 1.55rem;
    font-weight: 800;
    font-family: "Heebo", sans-serif;
    padding-right: 10px;
    line-height: 30px;
  }

  .slideMenu .menuBlock .slideMenuSp li > div.accordionMenu00 span.sub,
  .slideMenu .menuBlock .slideMenuSp li a.accordionNo span.sub {
    display: inline-block;
    color: #707286;
    font-size: 85%;
    line-height: 30px;
  }

  .slideMenu .menuBlock .slideMenuSp li > div.accordionMenu00 div {
    background: url(images2025/slideMenu_plus.png) right 10px center no-repeat;
    background-size: 10.5px;
  }

  .slideMenu .menuBlock .slideMenuSp li a.accordionNo {
    background: url(images2025/slideMenu_minus.png) right 10px center no-repeat;
    background-size: 10.5px;
  }

  .slideMenu .sideLink {
    display: none;
    padding: 0 0 0 25px;
  }

  .slideMenu .sideLink a.normalLink {
    display: block;
    line-height: 30px;
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
    font-size: 1.4;
    background: url(images2025/slideMenu_minus.png) right 10px center no-repeat;
    background-size: 10.5px;
  }

  .slideMenu .sideLink .accordionMini {
    width: 100%;
  }
  .slideMenu .sideLink .accordionMini div {
    display: block;
    line-height: 30px;
    color: #fff;
    font-weight: 500;
    font-size: 100%;
    background: url(images2025/slideMenu_plus.png) right 10px center no-repeat;
    background-size: 10.5px;
  }

  .slideMenu .sideLinkMini {
    display: none;
    padding-left: 15px;
    padding-bottom: 12px;
  }

  .slideMenu .sideLinkMini a {
    display: block;
    line-height: 30px;
    color: #fff;
    font-weight: 400;
    font-size: 92%;
  }

  .slideMenu .bannerBox {
    width: 100%;
    text-align: center;
    padding: 0;
  }

  .slideMenu .bannerBox .hikBanner {
    width: 143.5px;
    height: auto;
    margin: 4px 5px;
  }

  .slideMenu .bannerBox .dahuaBanner {
    width: 89px;
    height: auto;
    margin: 0 5px;
  }

  /* -----------------------------------
 * Slidebars
 * Version 0..10
 * http://plugins.adchsm.me/slidebars/
 *
 * Written by Adam Smith
 * http://www.adchsm.me/
 *
 * Released under MIT License
 * http://plugins.adchsm.me/slidebars/license.txt
 *
 * -------------------
 * Slidebars CSS Index
 *
 * 001 - Box Model, Html & Body
 * 002 - Site
 * 003 - Slidebars
 * 004 - Animation
 * 005 - Helper Classes
 *
 * ----------------------------
 * 001 - Box Model, Html & Body
 */

  html,
  body,
  #sb-site,
  .sb-site-container,
  .sb-slidebar {
    /* Set box model to prevent any user added margins or paddings from altering the widths or heights. */
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }

  html,
  body {
    width: 100%;
    overflow-x: hidden; /* Stops horizontal scrolling. */
  }

  html {
    height: 100%; /* Site is as tall as device. */
  }

  body {
    min-height: 100%;
    height: auto;
    position: relative; /* Required for static Slidebars to function properly. */
  }

  html.sb-scroll-lock.sb-active:not(.sb-static) {
    overflow: hidden; /* Prevent site from scrolling when a Slidebar is open, except when static Slidebars are only available. */
  }

  /* ----------
 * 002 - Site
 */

  #sb-site,
  .sb-site-container {
    /* You may now use class .sb-site-container instead of #sb-site and use your own id. However please make sure you don't set any of the following styles any differently on your id. */
    width: 100%;
    position: relative;
    z-index: 1; /* Site sits above Slidebars */
    background-color: #ffffff; /* Default background colour, overwrite this with your own css. I suggest moving your html or body background styling here. Making this transparent will allow the Slidebars beneath to be visible. */
  }

  /* ---------------
 * 003 - Slidebars
 */

  .sb-slidebar {
    height: 100%;
    overflow-y: auto; /* Enable vertical scrolling on Slidebars when needed. */
    position: fixed;
    top: 0px;
    z-index: 0; /* Slidebars sit behind sb-site. */
    display: none; /* Initially hide the Slidebars. Changed from visibility to display to allow -webkit-overflow-scrolling. */
    background: rgba(
      255,
      136,
      17,
      0.95
    ); /* Default Slidebars background colour, overwrite this with your own css. */
    -webkit-transform: translate(
      0px
    ); /* Fixes issues with translated and z-indexed elements on iOS 7. */
  }

  .sb-left {
    left: 0; /* Set Slidebar to the left. */
  }

  .sb-right {
    right: 0; /* Set Slidebar to the right. */
  }

  html.sb-static .sb-slidebar,
  .sb-slidebar.sb-static {
    position: absolute; /* Makes Slidebars scroll naturally with the site, and unfixes them for Android Browser < 3 and iOS < 5. */
  }

  .sb-slidebar.sb-active {
    display: block; /* Makes Slidebars visibile when open. Changed from visibility to display to allow -webkit-overflow-scrolling. */
  }

  .sb-style-overlay {
    z-index: 99; /* Set z-index high to ensure it overlays any other site elements. */
  }

  .sb-momentum-scrolling {
    -webkit-overflow-scrolling: touch; /* Adds native momentum scrolling for iOS & Android devices. */
  }

  /* Slidebar widths for browsers/devices that don't support media queries. */
  .sb-slidebar {
    width: 100%;
  }

  .sb-width-thin {
    width: 15%;
  }

  .sb-width-wide {
    width: 45%;
  }

  @media (max-width: 677px) {
    /* Slidebar widths on extra small screens. */
    .sb-slidebar {
      width: 100%;
    }

    .sb-width-thin {
      width: 100%;
    }

    .sb-width-wide {
      width: 100%;
    }
  }

  @media (min-width: 481px) {
    /* Slidebar widths on small screens. */
    .sb-slidebar {
      width: 55%;
    }

    .sb-width-thin {
      width: 40%;
    }

    .sb-width-wide {
      width: 70%;
    }
  }

  @media (min-width: 768px) {
    /* Slidebar widths on medium screens. */
    .sb-slidebar {
      width: 40%;
    }

    .sb-width-thin {
      width: 25%;
    }

    .sb-width-wide {
      width: 55%;
    }
  }

  @media (min-width: 992px) {
    /* Slidebar widths on large screens. */
    .sb-slidebar {
      width: 30%;
    }

    .sb-width-thin {
      width: 15%;
    }

    .sb-width-wide {
      width: 45%;
    }
  }

  @media (min-width: 1200px) {
    /* Slidebar widths on extra large screens. */
    .sb-slidebar {
      width: 20%;
    }

    .sb-width-thin {
      width: 5%;
    }

    .sb-width-wide {
      width: 35%;
    }
  }

  /* ---------------
 * 004 - Animation
 */

  .sb-slide,
  #sb-site,
  .sb-site-container,
  .sb-slidebar {
    -webkit-transition: -webkit-transform 400ms ease;
    -moz-transition: -moz-transform 400ms ease;
    -o-transition: -o-transform 400ms ease;
    transition: transform 400ms ease;
    -webkit-transition-property:
      -webkit-transform, left, right; /* Add left/right for Android < 4.4. */
    -webkit-backface-visibility: hidden; /* Prevents flickering. This is non essential, and you may remove it if your having problems with fixed background images in Chrome. */
  }

  /* --------------------
 * 005 - Helper Classes
 */

  .sb-hide {
    display: none; /* Optionally applied to control classes when Slidebars is disabled over a certain width. */
  }
}

/*画面サイズが変わっても常に動画の中央が表示されるようにする*/
/*動画よりも画面が横に長くなるとき用*/
@media (aspect-ratio: 16/9), (min-aspect-ratio: 16/9) {
  .video-container .video-wrap video {
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
  }
}

/*動画よりも画面が縦に長くなるとき用*/
@media (max-aspect-ratio: 16/9) {
  .video-container .video-wrap video {
    height: 125%;
    left: 60%;
    transform: translateX(-50%);
  }
}

.fadeIn_only {
  opacity: 0;
  transform: translate(0, 0);
  transition: 3s;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-15%, 0);
  transition: 0.8s;
  /* transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
  /* -webkit-transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
}

.fadeIn_right {
  opacity: 0;
  transform: translate(15%, 0);
  transition: 0.8s;
}

.fadeIn_right50 {
  opacity: 0;
  transform: translate(50%, 0);
  transition: 0.4s;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 15%);
  transition: 0.8s;
}

.fadeIn_down {
  opacity: 0;
  transform: translate(0, -30%);
  transition: 0.8s;
}

.fadeIn_left2 {
  opacity: 0;
  transform: translate(-8%, 0);
  transition: 0.8s;
  /* transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
  /* -webkit-transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
}

.fadeIn_right2 {
  opacity: 0;
  transform: translate(8%, 0);
  transition: 0.8s;
}

.fadeIn_up2 {
  opacity: 0;
  transform: translate(0, 8%);
  transition: 0.8s;
}

.fadeIn_down2 {
  opacity: 0;
  transform: translate(0, -8%);
  transition: 0.8s;
}

.fadeIn_left3 {
  opacity: 0;
  transform: translate(-4%, 0);
  transition: 0.8s;
  /* transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
  /* -webkit-transition-timing-function : cubic-bezier(.41,.05,.94,.65); */
}

.fadeIn_right3 {
  opacity: 0;
  transform: translate(4%, 0);
  transition: 0.8s;
}

.fadeIn_up3 {
  opacity: 0;
  transform: translate(0, 4%);
  transition: 0.8s;
}

.fadeIn_down3 {
  opacity: 0;
  transform: translate(0, -4%);
  transition: 0.8s;
}

.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.timing0 {
  transition-delay: 0ms;
}
.timing1 {
  transition-delay: 100ms;
}
.timing2 {
  transition-delay: 200ms;
}
.timing3 {
  transition-delay: 300ms;
}
.timing4 {
  transition-delay: 400ms;
}
.timing5 {
  transition-delay: 500ms;
}
.timing6 {
  transition-delay: 600ms;
}
.timing7 {
  transition-delay: 700ms;
}
.timing8 {
  transition-delay: 800ms;
}
.timing9 {
  transition-delay: 900ms;
}
.timing10 {
  transition-delay: 1000ms;
}
.timing11 {
  transition-delay: 1100ms;
}
.timing12 {
  transition-delay: 1200ms;
}
.timing13 {
  transition-delay: 1300ms;
}
.timing14 {
  transition-delay: 1400ms;
}
.timing15 {
  transition-delay: 1500ms;
}
.timing16 {
  transition-delay: 1600ms;
}
.timing17 {
  transition-delay: 1700ms;
}
.timing18 {
  transition-delay: 1800ms;
}
.timing19 {
  transition-delay: 1900ms;
}
.timing20 {
  transition-delay: 2000ms;
}

.timing25 {
  transition-delay: 2500ms;
}
.timing30 {
  transition-delay: 3000ms;
}
.timing35 {
  transition-delay: 3500ms;
}

.timing70 {
  transition-delay: 7500ms;
}

.timing75 {
  transition-delay: 7500ms;
}
.timing76 {
  transition-delay: 7600ms;
}

/* 2025リニューアル */

@media (min-width: 677px) {
  .org {
    color: #f81;
    font-weight: 500;
  }
  header.other .bottom a.contact {
    position: absolute;
    bottom: 0;
    right: 0;
  }
  .js-header {
    transition: margin-top 0.5s ease;
  }
  .js-header.scroll {
    margin-top: -68px;
    transition: 0.5s;
  }
  .js-header {
    transition: 0.5s;
  }
  header .headlogo {
    width: 26.2rem;
    height: 8.5rem;
    transition: 0.2s;
  }

  header.scroll .headlogo {
    height: 55px;
    width: 169.52px;
    transition: 0.5s;
  }
  header {
    box-shadow: 0 2px 15px 0 rgba(0, 0, 0, 0.2);
  }
  header.other .gmenu > li:hover .subLinkContents ul.vhmenu li {
    height: calc(((99vh - 128px) / 16) - 0px);
  }
  header.other .gmenu > li:hover .subLinkContents ul.vhmenu li a {
    height: calc(((99vh - 128px) / 16) - 1px);
    padding: 0px 0;
    line-height: calc(((99vh - 128px) / 16) - 1px);
  }
  header.other.scroll .gmenu > li:hover .subLinkContents ul.vhmenu li {
    height: calc(((99vh - 60px) / 16) - 0px);
  }
  header.other.scroll .gmenu > li:hover .subLinkContents ul.vhmenu li a {
    height: calc(((99vh - 60px) / 16) - 1px);
    padding: 0px 0;
    line-height: calc(((99vh - 60px) / 16) - 1px);
  }

  #fv_slide {
    width: 100%;
    padding-top: calc(165px - 3rem);
    padding-bottom: 6rem;
  }
  #fv_slide {
  }
  #fv_slide .fv_slide li a {
    display: block;
    width: calc(100% - 2rem);
    margin: 3rem 1rem 4rem;
    border-radius: 1.5rem;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.4);
  }
  #fv_slide .fv_slide li a img {
    width: 100%;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  #fv_slide .fv_slide li a p {
    display: flex;
    width: 100%;
    height: 7rem;
    align-items: center;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 1.4px;
    background: #181818;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  #fv_slide .fv_slide li a p span.yellow {
    color: var(--Yellow, #feff00);
  }
  #fv_slide p span.kankocho01 {
    padding-left: 4rem;
    padding-right: 2rem;
    background: url(images2025/fvimgicon01.png) left center no-repeat;
    background-size: 3.5rem 3.5rem;
    font-size: 2.2rem;
  }
  #fv_slide p span.kankocho02 {
    padding-left: 4rem;
    padding-right: 2rem;
    background: url(images2025/fvimgicon02.png) left center no-repeat;
    background-size: 3.5rem 3.8rem;
    font-size: 2.2rem;
  }
  #fv_slide p span.kankocho03 {
    padding-left: 4rem;
    padding-right: 2rem;
    background: url(images2025/fvimgicon03.png) left center no-repeat;
    background-size: 3.5rem 3.5rem;
    font-size: 2.2rem;
  }
  #fv_slide .slick-dots {
    margin-top: -3rem !important;
  }

  .subfv {
    width: 100%;
    height: auto;
  }
  .subfv a {
    display: block;
    width: calc(100% - 2rem);
    margin: 3rem 1rem 4rem;
    border-radius: 1.5rem;
    box-shadow: 0 5px 30px 0 rgba(0, 0, 0, 0.4);
  }
  .subfv a img {
    width: 100%;
    border-radius: 1.5rem 1.5rem 0 0;
  }
  .subfv a p {
    display: flex;
    width: 100%;
    height: 7rem;
    align-items: center;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 500;
    letter-spacing: 1.4px;
    background: #181818;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  .subfv a p span.yellow {
    color: var(--Yellow, #feff00);
  }

  .logolist {
    width: 100%;
    padding-bottom: 60px;
  }
  .logolist h2 {
    width: 100%;
    text-align: center;
    color: var(--Orange, #f81);
    font-size: 4.6rem;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 6rem;
  }

  .logo_slider {
    margin-bottom: 7rem;
  }

  .logo_slider .logo_box_outer {
  }

  .logo_slider .logo_box_outer div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 80px;
    margin-bottom: 10px;
  }

  .logo_slider .logo_box_outer div img {
    max-width: 150px;
    max-height: 80px;
    width: auto;
    height: auto;
  }

  #home_resultlist {
    width: 100%;
    padding: 0 5rem 10rem;
  }
  .resulttext {
    margin-bottom: 8rem;
  }
  .resulttext h2 {
    width: 100%;
    color: var(--Black, #181818);
    text-align: center;
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 2.5rem;
  }
  .resulttext p {
    color: var(--Black, #181818);
    text-align: center;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
    letter-spacing: 0.85px;
  }
  #home_resultlist #works {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto;
    background: #f5f5f5;
    padding: 6.5rem 5rem;
  }

  .more2 {
    margin-bottom: 0px !important;
  }

  .more2__content {
    position: relative;
    height: auto;
    max-height: 400px;
    overflow: hidden;
    transition: max-height 1s;
    position: retive;
    z-index: 0;
  }
  .more2__content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 1s;
    background: linear-gradient(to bottom, transparent 0%, #f7f7f7 100%);
  }

  .more2__content.open::after {
    z-index: -1 !important;
    opacity: 0 !important;
  }

  .result1280 {
    width: 100%;
    position: relative;
    margin: 0 auto;
  }
  .resultBlk {
    display: block;
    width: 260px;
    height: 260px;
    border-radius: 130px;
    position: absolute;
    top: -237px;
    right: 0;
    background: #000;
    z-index: 50;
    color: #ffae00;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    letter-spacing: -1.5px;
    vertical-align: middle;
    padding-top: 35px;
  }
  .resultBlk span.font01 {
    font-size: 230%;
  }
  .resultBlk span.font02 {
    font-size: 300%;
  }
  .resultBlk span.font03 {
    font-size: 400%;
  }
  .relustMessage {
    display: block;
    width: 100%;
    padding: 60px 0 40px 0;
    line-height: 1.8;
    font-size: 145%;
    font-weight: 700;
    margin: 0 auto;
    text-align: center;
  }
  .more_result_block {
    width: 100%;
    padding: 0px 0px 0 0px;
    margin-bottom: 105px;
  }
  .more_result_block .more {
    width: calc(33.33% - 26.67px);
    float: left;
    margin-right: 40px;
  }
  .more_result_block .more:nth-child(3) {
    margin-right: 0;
  }
  .more_result_block .more h4 {
    width: 100%;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 102%;
    font-weight: 700;
    padding-left: 16px;
    line-height: 20px;
    position: relative;
  }
  .more_result_block .more h4::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #ffae00;
    position: absolute;
    left: 0;
    top: 3px;
  }
  .more_result_block .more .moreList {
    display: block;
    padding-bottom: 40px;
  }

  .more2__btn {
    position: relative;
    display: block;
    margin: 0 auto;
    display: block;
    align-items: center;
    justify-content: center;
    width: 28.8rem;
    height: 6.3rem;
    border-radius: 3em;
    font-weight: 500;
    color: #ffffff;
    background-color: #181818;
    transition: 0.3s;
    cursor: pointer;
  }

  .more2__btn:before {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background-color: #ff8811;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 3rem;
    bottom: 0;
    margin: auto;
  }
  .more2__btn:after {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border: 0;
    border-top: solid 2px #181818;
    border-right: solid 2px #181818;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 3.9rem;
    bottom: 0;
    margin: auto;
  }
  .more2__btn:hover {
    background-color: #ff8811;
    transition: 0.3s;
  }
  .more2__btn:hover::before {
    background-color: #ffffff;
  }
  .more2__btn:hover::after {
    border-top: solid 2px #ff8811;
    border-right: solid 2px #ff8811;
  }

  .more_result_block {
    display: flex;
    overflow: hidden;
    margin-bottom: 0 !important;
    justify-content: space-between;
  }
  .more_result_block .more {
    float: none !important;
    width: 23% !important;
    margin: 0 !important;
  }
  .more_result_block .more .moreList {
    font-size: 85%;
    letter-spacing: -0.5px;
    line-height: 2 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }
  .more_result_block .more .moreList span {
    display: block;
    width: 100%;
    padding-top: 20px;
    text-align: right;
    font-size: 95%;
    font-weight: 500;
  }

  /* tab */

  .tab_box .tab_panel {
    display: none;
  }
  .tab_box .tab_panel.active {
    display: block;
  }
  section.tab {
    width: 100%;
  }
  section.tab .content {
    width: 100%;
    max-width: calc(1430px + 10rem);
    padding: 6.5rem 5rem;
    margin: 0 auto;
  }
  .btn_area {
    width: 100%;
    display: flex;
    justify-content: space-around;
    gap: 1rem;
    margin-bottom: 6rem;
  }
  .btn_area > div.tab_btn {
    height: 8rem;
    background: #fff;
    border: 1px solid #f81;
    border-radius: 5px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #f81;
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.5; /* 30px */
    letter-spacing: 0.6px;
    cursor: pointer;
    padding: 0 0.5rem;
  }
  .btn_area > div.tab_btn.active {
    background: #f81;
    color: #fff;
    transition: 0.2s;
  }

  .panel_area {
    width: 100%;
    max-width: 1430px;
    padding: 6.5rem 5rem;
    background: #f5f5f5;
    margin: 0 auto 6rem;
  }
  .panel_area .tab_panel {
    width: 100%;
  }
  .panel_area .tab_panel h2 {
    padding: 1.5rem 3.5rem;
    background: #181818;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 5px;
    margin-bottom: 4rem;
  }
  .panel_area .tab_panel h2 + div {
    width: 100%;
    margin-bottom: 6.5rem;
  }
  .panel_area .tab_panel h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 16px;
    color: #000;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.63px;
    line-height: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .panel_area .tab_panel h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: #ff8811;
    border-radius: 10px;
  }
  .panel_area .tab_panel h4 {
    display: block;
    width: 100%;
    color: var(--Orange, #f81);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 180%; /* 30.6px */
  }
  .panel_area .tab_panel .obre {
    margin-bottom: 6rem;
  }
  .panel_area .tab_panel p {
    color: var(--Black, #181818);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
    display: block;
    margin-bottom: 1.5rem;
  }
  .panel_area .irlist {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
  .panel_area .irlist > div {
    color: var(--Black, #181818);
    font-size: 1.35rem;
    font-weight: 400;
    line-height: 2; /* 27px */
    width: 100%;
  }

  /* otherpage */

  .tab_panel.otherpage {
    font-size: 1.5rem !important;
    margin-bottom: 2.5rem !important;
    line-height: 2 !important;
  }
  .tab_panel.otherpage article {
    margin-bottom: 4rem;
  }
  .tab_panel.otherpage ul {
    margin-bottom: 2.5rem !important;
  }

  /* Q&A */
  .faq-item {
    margin: 1.5rem auto;
    background: #fff;
    border-radius: 5px;
    overflow: hidden;
  }
  .faq-item:hover {
  }
  .faq-item h4 {
    position: relative;
    display: flex !important;
    align-items: center;
    padding: 1.5rem 4rem;
    font-weight: 400 !important;
    font-size: 1.7rem !important;
    background-color: #fff !important;
    cursor: pointer;
    transition: 0.3s;
    line-height: unset; /* 30.6px */
    color: #181818 !important;
  }

  .faq-item h4 span {
    display: inline-block;
    margin-right: 4.5rem;
    font-family: "Roboto", sans-serif;

    color: #f81;
    font-size: 4.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 0.9;
  }
  .faq-item h4:after {
    content: "＋";
    position: absolute;
    right: 4.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 4.2rem;
    height: 4.2rem;
    color: #ffffff;
    background-color: #ff8811;
    border-radius: 100%;
    top: 50%;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    font-size: 2.3rem;
  }
  .faq-item h4:hover {
    color: #ffffff;
    background: #f81 !important;
    transition: 0.3s;
    color: #fff !important;
  }
  .faq-item h4:hover span {
    color: #ffffff;
    transition: 0.3s;
  }
  .faq-item h4:hover:after {
    color: #ff8811;
    background-color: #ffffff;
  }
  .faq-item.open {
  }
  .faq-item.open h4 {
    color: #ffffff !important;
    background: #f81 !important;
    transition: 0.3s;
  }
  .faq-item.open h4 span {
    color: #ffffff !important;
  }
  .faq-item.open h4:after {
    content: "ー";
    color: #ff8811;
    background-color: #ffffff;
  }
  .faq-item .accordion {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
  }
  .faq-item .accordion .detail {
    display: flex;
    align-items: center;
    padding: 1.5rem 4rem;
  }
  .faq-item .accordion .detail .answer {
    margin-right: 4.5rem;
  }
  .faq-item .accordion .detail .answer span {
    display: inline-block;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #ff8811;

    font-size: 4.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 0.9; /* 92.706% */
  }
  .faq-item .accordion .detail h4 {
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 165%;
  }
  .faq-item .accordion .detail h4 + p {
    font-weight: 400;
    line-height: 175%;
  }
  .faq-item .accordion .detail p {
    margin-bottom: 0 !important;
  }

  /* home_kankocho */
  #home_kankocho {
    width: 100%;
  }
  #home_kankocho .top {
    width: 100%;
    background:
      linear-gradient(0deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.15) 100%),
      url(images2025/no_hicost.jpg) lightgray 50% / cover no-repeat;
    width: 100%;
    height: 43.95vw;
    max-height: 844px;
    min-height: 500px;
    position: relative;
  }
  #home_kankocho .top .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
  }
  #home_kankocho .top h2 {
    width: 100%;
    max-width: 108rem;
    height: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: "Zen Kaku Gothic New";
    font-size: 4.5rem;
    font-weight: 900;
    line-height: 150%; /* 67.5px */
    margin: 0 auto 0rem;
    background: #181818;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  }
  #home_kankocho .top .text {
    display: flex;
    align-items: baseline;
    margin-bottom: 6rem;
  }
  #home_kankocho .top .text span {
    white-space: nowrap;
  }
  #home_kankocho .top .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 8.38rem;
    font-weight: 900;
    line-height: 1; /* 125.703px */
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-right: 2rem;
  }
  #home_kankocho .top .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 24.8rem;
    font-weight: 900;
    line-height: 0.8; /* 372.771px */
    letter-spacing: -7.455px;
  }
  #home_kankocho .top .text .f03 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.2rem;
    font-weight: 900;
    line-height: 1; /* 168.128px */
  }
  #home_kankocho .top .text .f04 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 17rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1; /* 255.865px */
  }
  #home_kankocho .top h3 {
    width: 100%;
    text-align: center;
    font-size: 4.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffd04e 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 3rem !important;
  }
  #home_kankocho .top ul.quality {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
  }
  #home_kankocho .top ul.quality li {
    width: calc(100% - 4rem) / 3;
    max-width: 32.8rem;
  }
  #home_kankocho .top ul.quality li img {
    width: 100%;
  }

  #home_kankocho .cost {
    width: 100%;
    background: #181818;
    text-align: center;
    padding: 10rem 6rem;
  }
  #home_kankocho .cost .content {
    text-align: center;
  }
  #home_kankocho .cost h2 {
    color: #fff;
    width: 100%;
    margin-bottom: 3.5rem;
    text-align: center;
    font-size: 4.2rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.1;
  }
  #home_kankocho .cost p.text {
    color: #fff;
    text-align: center;
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 1.95; /* 195.833% */
    letter-spacing: 0.72px;
    margin-bottom: 7rem;
  }
  #home_kankocho .cost p.text span {
    color: #feff00;
  }
  #home_kankocho .cost .itakusaki {
    /*仮置き*/
    width: 100%;
    max-width: 1150px;
    vertical-align: middle;
  }
  #home_kankocho .merit {
    width: 100%;
    background: #fff;
    text-align: center;
    padding: 11.8rem 6rem 10rem;
  }
  #home_kankocho .merit .content {
    text-align: center;
  }
  #home_kankocho .merit img {
    width: 100%;
    max-width: 1483px;
    vertical-align: middle;
  }

  .process {
    width: 100%;
    background: #f81;
    padding: 12rem 0 6rem;
  }
  .process .content {
    padding: 0 8rem;
  }

  .process a.processlink {
    display: block;
    width: 100%;
    max-width: 1430px;
    margin: 0 auto 7rem;
    position: relative;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
  }
  .process a.processlink img.bg {
    width: 100%;
  }
  .process a.processlink span.text {
    position: absolute;
    top: 50%;
    left: 6rem;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  .process a.processlink span.text .f01 {
    display: inline-block;
    color: var(--white, #fff);
    text-shadow: 0 2.216px 22.161px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 6.648rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -1.995px;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .process a.processlink span.text .f02 {
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 9.6551rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -8px;
  }
  .process a.processlink span.text .f02 .f02_01 {
    font-size: 14.5rem;
    letter-spacing: -10px;
  }
  .process a.processlink span.text .f02 .f02_02 {
    font-size: 5.63rem;
    letter-spacing: 0px;
  }
  .process a.processlink span.text .f03 {
    display: inline-block;
    color: var(--white, #fff);
    font-size: 2.4rem;
    font-weight: 500;
    line-height: 160%; /* 43.2px */
    letter-spacing: 1.2px;
    margin-bottom: 2.2rem;
  }
  .process a.processlink span.text .f04 {
    display: inline-block;
    background: url(images2025/processicon.png) left center no-repeat;
    background-size: auto 100%;
    color: var(--white, #fff);
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 180%; /* 50.4px */
    letter-spacing: 1.4px;
    padding-left: 6rem;
  }
  .process a.processlink .premium {
    width: 22rem;
    height: auto;
    position: absolute;
    bottom: 3rem;
    right: 2rem;
  }

  .process_slide {
    width: 100%;
    overflow: hidden;
  }
  .process_slide div.processblock {
    max-width: 117.7rem;
    background: #fff;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
    padding: 2.5rem;
    display: flex;
    margin: 0 3.5rem;
  }
  .process_slide div.processblock img {
    width: 46.6rem;
    height: 34rem;
    margin-right: 4rem;
  }
  .process_slide div.processblock .left {
    width: 100%;
    min-height: 34rem;
    position: relative;
  }
  .process_slide div.processblock .left h3 {
    width: 100%;
    display: flex;
    min-height: 6.5rem;
    margin-bottom: 2.55rem;
  }
  .process_slide div.processblock .left h3 .num {
    display: inline-block;
    color: var(--Orange, #f81);
    font-family: Roboto;
    font-size: 7.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 6.5rem;
    border-right: 3px solid #f81;
    margin-right: 3rem;
    padding-right: 2rem;
  }
  .process_slide div.processblock .left h3 .text {
    display: inline-block;
    min-height: 6.5rem;
  }
  .process_slide div.processblock .left h3 .text .main {
    color: var(--Orange, #f81);
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 4rem; /* 44.8px */
    letter-spacing: 0.84px;
  }
  .process_slide div.processblock .left h3 .text .sub {
    color: var(--Orange, #f81);
    font-size: 2rem;
    font-weight: 700;
    line-height: 2.5rem;
    letter-spacing: 0.6px;
  }
  .process_slide div.processblock .left p {
    display: block;
    color: var(--Black, #181818);
    font-size: 1.8rem;
    font-style: normal;
    font-weight: 500;
    line-height: 180%; /* 32.4px */
    letter-spacing: 0.9px;
    margin-bottom: 2.3rem;
  }
  .process_slide div.processblock .left .list {
    width: 100%;
  }
  .process_slide div.processblock .left .list span {
    display: block;
    padding-left: 3rem;
    background: url(images2025/processlisticon.png) left center no-repeat;
    background-size: 1.7rem 1.7rem;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 0.2rem;
  }

  .process_slide div.processblock .left a.morebtn {
    position: absolute;
    bottom: 0;
    left: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28.8rem;
    height: 6.3rem;
    border-radius: 3em;
    font-weight: 500;
    color: #ffffff;
    background-color: #181818;
    transition: 0.3s;
  }

  .process_slide div.processblock .left a.morebtn:before {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background-color: #ff8811;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 3rem;
    bottom: 0;
    margin: auto;
  }
  .process_slide div.processblock .left a.morebtn:after {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border: 0;
    border-top: solid 2px #181818;
    border-right: solid 2px #181818;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 3.9rem;
    bottom: 0;
    margin: auto;
  }
  .process_slide div.processblock .left a.morebtn:hover {
    background-color: #ff8811;
    transition: 0.3s;
  }
  .process_slide div.processblock .left a.morebtn:hover::before {
    background-color: #ffffff;
  }
  .process_slide div.processblock .left a.morebtn:hover::after {
    border-top: solid 2px #ff8811;
    border-right: solid 2px #ff8811;
  }

  /* zerosta */
  #zerosta {
    width: 100%;
  }
  #zerosta .top {
    width: 100%;
    height: 26.5vw;
    max-height: 55rem;
    min-height: 35rem;
    position: relative;
    background:
      linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%),
      url(images2025/zerostabg.jpg) lightgray 0px -412.834px / 100% 220.501%
        no-repeat;
  }

  #zerosta .top img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
  }
  #zerosta .top .over {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 3;
  }
  #zerosta .top .text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: flex;
    width: fit-content;
  }
  #zerosta .top .text span.left {
    display: flex;
    align-items: center;
    color: var(--white, #fff);
    text-shadow: 0 2.857px 28.571px rgba(0, 0, 0, 0.3);
    font-family: Roboto;
    font-size: 10rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.4;
    white-space: nowrap;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-top: 1.5rem;
  }
  #zerosta .top .text span.left span.pl2 {
    padding-left: 2rem;
  }
  #zerosta .top .text span.right {
    display: block;
    white-space: nowrap;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  #zerosta .top .text span.right span.f01 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 6.16px 61.599px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 32.2rem;
    font-weight: 900;
    line-height: 1; /* 484.133px */
    letter-spacing: 0;
  }
  #zerosta .top .text span.right span.f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 6.16px 61.599px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 10.4rem;
    font-weight: 900;
    line-height: 1.4; /* 157.016px */
    letter-spacing: -3.14px;
  }

  #zerosta .bottom {
    width: 100%;
    background: #ffe7cf;
    padding: 0rem 8rem;
  }
  #zerosta .bottom .content {
    width: 100%;
    max-width: 1180px;
    padding: 10rem 0rem;
    margin: 0 auto;
  }
  #zerosta .bottom .planintro {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 3rem;
    margin-bottom: 5rem;
  }
  #zerosta .bottom .planintro > div {
    width: 100%;
    max-width: 350px;
    background: #fff;
    padding: 0 0 3.5rem 0;
  }
  #zerosta .bottom .planintro > div h3 {
    position: relative;
    margin-bottom: 3rem;
    border-radius: 3em;
    color: #ffffff;
    background-color: #ff8811;
    font-size: 2.3rem;
    text-align: center;
    height: 4.5rem;
    line-height: 4.5rem;
    font-weight: 700;
    margin: -2.25rem auto 1rem;
    width: 80%;
  }
  #zerosta .bottom .planintro > div h3::before {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    margin-left: -12px;
    border: 12px solid transparent;
    border-top: 15px solid #ff8811;
  }
  #zerosta .bottom .planintro > div .main {
    width: 100%;
    text-align: center;
    height: 13rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #zerosta .bottom .planintro > div .main.zero {
    align-items: baseline;
  }
  #zerosta .bottom .planintro > div .main .f01 {
    color: var(--Orange, #f81);
    font-size: 10.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div .main .f02 {
    color: var(--Orange, #f81);
    font-size: 3.97rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div .main .f03 {
    color: var(--Orange, #f81);
    font-size: 6.18rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div p {
    display: block;
    text-align: center;
    color: var(--Black, #181818);
    font-size: 2rem;
    font-style: normal;
    font-weight: 400;
    line-height: 3.14rem; /* 157.149% */
    margin-bottom: 2.5rem;
  }
  #zerosta .bottom .planintro > div .illust {
    width: 100%;
    height: 15.5rem;
  }
  #zerosta .bottom .planintro > div:nth-child(1) .illust {
    background: url(images2025/planintroimg01.png) center center no-repeat;
    background-size: auto 100%;
  }
  #zerosta .bottom .planintro > div:nth-child(2) .illust {
    background: url(images2025/planintroimg02.png) center center no-repeat;
    background-size: auto 100%;
  }
  #zerosta .bottom .planintro > div:nth-child(3) .illust {
    background: url(images2025/planintroimg03.png) center center no-repeat;
    background-size: auto 100%;
  }
  #zerosta .bottom table.slidetable {
    width: 100%;
    table-layout: fixed;
    border: 1px solid #acacac;
  }
  #zerosta .bottom table.slidetable th {
    background: #f5f5f5;
    text-align: center;
    font-weight: 700;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    padding: 1.5rem 0;
    border: 1px solid #ddd;
    color: #181818;
    border-top: 2px solid #acacac;
  }
  #zerosta .bottom table.slidetable td {
    background: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 1.9rem;
    letter-spacing: 0.95px;
    padding: 1.5rem 0;
    border: 1px solid #ddd;
    color: #181818;
    border-top: 2px solid #acacac;
  }
  #zerosta .bottom table.slidetable td.fb {
    font-weight: 700;
  }
  #zerosta .bottom table.slidetable td.zerosta {
    background: #f81;
    color: #fff;
    font-weight: 700;
    border: 1px solid #f81 !important;
  }
  #zerosta .bottom table.slidetable td.org {
    color: #f81;
    font-weight: 700;
    border: 1px solid #ddd !important;
    border-top: 2px solid #f81 !important;
    border-bottom: 2px solid #f81 !important;
  }
  tr.bbo td {
    border-bottom: 1px solid #f81 !important;
  }
  #simulation h2 {
    width: 100%;
    text-align: center;
    font-size: 4.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffbc36 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6rem !important;
  }
  #home_lplist {
    padding: 0rem 8rem 0;
  }
  #home_lplist h2 {
    width: 100%;
    text-align: center;
    font-size: 4.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffbc36 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6rem !important;
  }
  #home_lplist .content {
    width: 100%;
    max-width: 1530px;
    padding: 6rem 0 10rem;
    margin: 0 auto;
  }
  .banner16 {
    width: 100%;
    margin: 0 auto 100px;
    display: flex;
    flex-wrap: wrap;
    gap: 3.5rem 2.4rem;
  }
  .banner16 a {
    display: block;
    position: relative;
    width: calc(25% - 1.8rem);
    height: fit-content;
  }
  .banner16 a img {
    width: 100%;
    vertical-align: top;
    margin-bottom: 1.5rem;
  }

  .banner16 a span {
    display: block;
    width: 100%;
    height: 25px;
    color: var(--Black, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 25px;
    letter-spacing: 0.48px;
    padding-left: 14px;
    border-left: 2.5px solid #f81;
    background: url(images2025/banner16icon.png) right center no-repeat;
  }

  /* home_movie */

  #home_movie {
    display: none;
    padding: 0rem 8rem 0;
    background: #f81;
  }
  #home_movie .content {
    width: 100%;
    max-width: 1430px;
    padding: 10rem 0 12rem;
    margin: 0 auto;
  }

  #home_movie h2 {
    position: relative;
    margin-bottom: 3rem;
    border-radius: 3em;
    color: #f81;
    background-color: #fff;
    font-size: 3.8rem;
    text-align: center;
    height: 8.2rem;
    line-height: 8.2rem;
    font-weight: 700;
    margin: 0 auto 6.5rem;
    width: 100%;
  }
  #home_movie h2::before {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    margin-left: -4.5rem;
    border: 4.5rem solid transparent;
    border-top: 2.5rem solid #fff;
  }
  #home_movie .list {
    display: flex;
    justify-content: space-between;
  }
  #home_movie .list > div {
    width: 33%;
    max-width: 430px;
  }
  #home_movie .list > div img {
    width: 100%;
    margin-bottom: 4rem;
  }
  #home_movie .list > div span {
    display: block;
    color: #fff;
    text-align: center;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4; /* 135.714% */
    letter-spacing: 0.84px;
  }

  /* home_bottom */
  #home_bottom {
    padding: 0rem 8rem 0;
  }
  #home_bottom .content {
    width: 100%;
    max-width: 1180px;
    padding: 10rem 0 10rem;
    margin: 0 auto;
  }

  #home_bottom h2 {
    padding: 1.5rem 3.5rem;
    background: #181818;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 5px;
    margin-bottom: 4rem;
  }
  #home_bottom h2 + div {
    width: 100%;
    margin-bottom: 6.5rem;
  }
  #home_bottom h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 16px;
    color: #000;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.63px;
    line-height: 2.5rem;
    margin-bottom: 2.5rem;
  }
  #home_bottom h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: #ff8811;
    border-radius: 10px;
  }
  #home_bottom h4 {
    display: block;
    width: 100%;
    color: var(--Orange, #f81);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 180%; /* 30.6px */
  }
  #home_bottom .obre {
    margin-bottom: 6rem;
  }
  #home_bottom p {
    color: var(--Black, #181818);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
    display: block;
    margin-bottom: 1.5rem;
  }
  #home_bottom p.org {
    display: block;
    width: 100%;
    background: #fff4e8;
    padding: 2rem;
    font-weight: 700;
  }
  #home_bottom p.org span {
    color: #f81;
  }
  .stn {
    color: #181818 !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    display: block !important;
    width: 100% !important;
    padding-top: 1.5rem !important;
  }

  /* slick */
  .slick-slide {
  }
  .slick-dots {
    position: unset !important;
    padding: 2rem 0 0.45rem !important;
  }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 15px !important;
    height: 15px !important;
    margin: 0 5px !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 1.5rem !important;
    height: 1.5rem !important;
    padding: 0px !important;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .slick-dots li button:before {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem !important;
    height: 1.5rem !important;
    content: "" !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    border-radius: 1.5rem;
    background: #d9d9d9;
    opacity: 1 !important;
  }
  #fv_slide button:hover:before,
  #fv_slide .slick-dots li button:focus:before {
    opacity: 1;
    background: #f81 !important;
  }
  #fv_slide li.slick-active button:before {
    opacity: 1;
    background: #f81 !important;
  }
  .process button:hover:before,
  .process .slick-dots li button:focus:before {
    opacity: 1;
    background: #fff !important;
  }
  .process li.slick-active button:before {
    opacity: 1;
    background: #fff !important;
  }
  .slick-prev {
    font-size: 0 !important;
    line-height: 0 !important;
    position: absolute;
    top: unset !important;
    bottom: 0rem !important;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    padding: 0 !important;
    -webkit-transform: translate(-50%, 0) !important;
    -ms-transform: translate(-50%, 0) !important;
    transform: translate(-50%, 0) !important;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    left: calc(50% - 12rem) !important;
    right: unset !important;
  }
  .slick-prev:before {
    font-family: unset !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    color: white !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    border-radius: 2.4rem !important;
    background: #d9d9d9 url(images2025/slickarrow_left.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
    content: "";
  }
  .process .process_slide .slick-prev:hover:before {
    background: #fff url(images2025/slickarrow_left.png) center center no-repeat !important;
    background-size: 100% 100% !important;
  }
  .slick-next {
    font-size: 0 !important;
    line-height: 0 !important;
    position: absolute;
    top: unset !important;
    bottom: 0rem !important;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    padding: 0 !important;
    -webkit-transform: translate(-50%, 0) !important;
    -ms-transform: translate(-50%, 0) !important;
    transform: translate(-50%, 0) !important;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    left: calc(50% + 12rem) !important;
    right: unset !important;
  }
  .slick-next:before {
    font-family: unset !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    color: white !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    border-radius: 2.4rem !important;
    background: #d9d9d9 url(images2025/slickarrow_right.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
    content: "";
  }
  .process .process_slide .slick-next:hover:before {
    background: #fff url(images2025/slickarrow_right.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
  }

  /* lower */
  .kojichu {
    width: 100%;
    height: 70vh;
    padding-top: 12.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.2rem;
    color: #888;
  }
  .lower_fv {
    width: 100%;
    padding-top: 128px;
  }
  .mb-2 {
    margin-top: -2rem;
    display: inline-block;
  }
  .mt2 {
    margin-top: 2rem;
    display: inline-block;
  }
  .mt3 {
    margin-top: 3rem;
    display: inline-block;
  }
  .mt4 {
    margin-top: 4rem;
    display: inline-block;
  }
  .mb6 {
    margin-bottom: 6rem !important;
  }
  .preface {
    width: 100%;
    padding: 0 8rem;
  }
  .preface .content {
    width: 100%;
    max-width: 1430px;
    padding-top: 4.5rem;
    margin: 0 auto;
  }
  .preface h2 {
    color: var(--Orange, #f81);
    font-size: 3.2rem;
    font-weight: 700;
    line-height: normal;
    padding-bottom: 2rem;
  }
  .preface .text {
    width: 100%;
  }
  .preface .text p {
    color: var(--Black, #181818);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
    display: block;
    margin-bottom: 1.5rem;
  }
  .preface .text p span.org {
    color: var(--Orange, #f81);
    font-weight: 700;
  }

  /* newrelust */
  .lower_fv.results {
    margin-bottom: 5.5rem;
  }
  .lower_fv.results .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/result_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.results .content .text {
    position: absolute;
    top: 50%;
    left: 6rem;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  .lower_fv.results .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 6.3rem;
    font-weight: 900;
    line-height: 1;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text .f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 10.4rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text .f03 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 16.96rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -5px;
    line-height: 1;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 12.8rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text p {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 900;
    line-height: 180%; /* 43.2px */
    letter-spacing: 1.2px;
    display: block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-top: 3rem;
  }

  #home_kankocho .merit2 {
    width: 100%;
    background: #fff;
    text-align: center;
    padding: 11.8rem 6rem 10rem;
  }
  #home_kankocho .merit2 .content {
    text-align: center;
  }
  #home_kankocho .merit2 h2 {
    color: var(--Orange, #f81);
    text-align: center;
    font-size: 4.6rem;
    font-weight: 700;
    margin-bottom: 4.5rem;
  }
  #home_kankocho .merit2 img {
    width: 100%;
    max-width: 1244px;
    vertical-align: middle;
  }

  /* quality */
  .lower_fv.quality {
    margin-bottom: 5.5rem;
  }
  .lower_fv.quality .content {
    background: url("images2025/quality_fv.jpg") center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.quality .content .text {
    position: absolute;
    top: 50%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  .lower_fv.quality .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    margin-bottom: 2rem;
  }
  .lower_fv.quality .content .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 13.991px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.3rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 3.407px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 8.3rem;
    font-weight: 900;
    letter-spacing: 2.492px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f04 {
    margin-left: -4rem;
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 21.901px rgba(0, 0, 0, 0.2);
    font-family: Roboto;
    font-size: 22.7rem;
    font-weight: 900;
    letter-spacing: -25.271px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 16.9rem;
    font-weight: 900;
    letter-spacing: 3.391px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f06 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.8rem;
    font-weight: 900;
    letter-spacing: 8.307px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f07 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 17.6rem;
    font-weight: 900;
    letter-spacing: -1.765px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  /* flow */
  .lower_fv.flow {
    margin-bottom: 5.5rem;
  }
  .lower_fv.flow .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/flow_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.flow .content .text {
    position: absolute;
    top: 75%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  section.flow .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 14.67rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 4.402px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  section.flow .text .f02 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 10.8rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 3.244px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  .imgbtn_area {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3rem;
    margin-bottom: 8rem;
  }
  .imgbtn_area > div {
    width: calc(25% - 2.25rem);
    max-width: 33.5rem;
    position: relative;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
    cursor: pointer;
  }
  .imgbtn_area > div img {
    width: 100%;
  }
  .imgbtn_area > div > div {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 2rem;
  }
  .imgbtn_area > div > div h3 {
    color: var(--white, #fff);
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: 0.6px;
  }
  .imgbtn_area > div > div p {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.8; /* 28px */
    letter-spacing: 0.42px;
  }

  /* 自社工事 */

  .lower_fv.construction {
    margin-bottom: 5.5rem;
  }
  .lower_fv.construction .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/construction_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.construction .content .text {
    position: absolute;
    top: 50%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }

  section.construction .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 5.23rem;
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }

  section.construction .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 7.5rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 12.2rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -3px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 12.55rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f05 {
    color: var(--white, #fff);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 12.55rem;
    font-weight: 900;
    letter-spacing: -4px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f06 {
    color: var(--white, #fff);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 10.38rem;
    font-weight: 900;
    letter-spacing: -4px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text p {
    display: block;
    padding-top: 2rem;
    color: var(--white, #fff);
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 3rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.4;
  }

  /* 信頼と安心の証 */

  .lower_fv.trust {
    margin-bottom: 5.5rem;
  }
  .lower_fv.trust .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/trust_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.trust .content .text {
    position: absolute;
    top: 50%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  /*
	section.trust .text .f01 {
		color: var(--white, #FFF);
		text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
		font-family: "Zen Kaku Gothic New";
		font-size: 10.9rem;
		font-weight: 900;
		letter-spacing: 2.178px;
		display: inline-block;
		transform: matrix(1, 0, -0.18, 0.98, 0, 0);
		line-height: 1.2;
	}
	section.trust .text .f02 {
		color: var(--white, #FFF);
		text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
		font-family: "Zen Kaku Gothic New";
		font-size: 8.5rem;
		font-weight: 900;
		letter-spacing: 1.7px;
		display: inline-block;
		transform: matrix(1, 0, -0.18, 0.98, 0, 0);
		line-height: 1.2;
	}
	section.trust .text .f03 {
		color: var(--Yellow, #FEFF00);
		text-shadow: 0 0 30.833px rgba(0, 0, 0, 0.20);
		font-family: "Zen Kaku Gothic New";
		font-size: 16rem;
		font-weight: 900;
		display: inline-block;
		transform: matrix(1, 0, -0.18, 0.98, 0, 0);
		line-height: 1.2;
	}
	section.trust .text .f04 {
        color: var(--white, #FFF);
        text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
        font-family: "Zen Kaku Gothic New";
        font-size: 8.5rem;
        font-weight: 900;
        letter-spacing: -1.8rem;
        display: inline-block;
        line-height: 1.2;
        margin-left: -1.5rem;
	}
*/
  .lower_fv.trust .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 5rem;
    font-weight: 900;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    margin-bottom: 2rem;
  }
  .lower_fv.trust .content .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 13.991px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 10rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: 3.407px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    letter-spacing: -4px;
  }
  .lower_fv.trust .content .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 8.3rem;
    font-weight: 900;
    letter-spacing: 2.492px;
    line-height: 1.2;
    letter-spacing: -1.5rem;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.trust .content .text .f04 {
    margin-left: -4rem;
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 21.901px rgba(0, 0, 0, 0.2);
    font-family: Roboto;
    font-size: 22.7rem;
    font-weight: 900;
    letter-spacing: -25.271px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.trust .content .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 16.9rem;
    font-weight: 900;
    letter-spacing: 3.391px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.trust .content .text .f06 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.8rem;
    font-weight: 900;
    letter-spacing: 8.307px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.trust .content .text .f07 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 17.6rem;
    font-weight: 900;
    letter-spacing: -1.765px;
    line-height: 1.2;

    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  /* メディア */

  .lower_fv.media {
    margin-bottom: 5.5rem;
  }
  .lower_fv.media .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/media_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.media .content .text {
    position: absolute;
    top: 50%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }

  section.media .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 5rem;
    font-style: normal;
    font-weight: 900;
    line-height: 150%; /* 75px */
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 2;
  }
  section.media .text .f02 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.37rem;
    font-weight: 900;
    letter-spacing: 3.413px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1;
  }
  section.media .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 8.38rem;
    font-weight: 900;
    letter-spacing: 2.515px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1;
  }
  section.media .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 19.377px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 15.72rem;
    font-weight: 900;
    letter-spacing: 4.719px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.media .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 11.5rem;
    font-weight: 900;
    letter-spacing: 3.452px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.1;
  }
  .panel_area .mediaimg {
    margin-right: 2.5rem;
    margin-bottom: 0rem;
  }
  .panel_area .booklist {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2rem;
  }
  .panel_area .booklist img {
    width: calc((100% - 10rem) / 6);
  }

  /* 会社概要 */

  .lower_fv.company {
    margin-bottom: 5.5rem;
  }
  .lower_fv.company .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/company_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 48vw;
    max-height: 700px;
    min-height: 500px;
    position: relative;
  }

  .lower_fv.company .content .text {
    position: absolute;
    top: 50%;
    left: 7.5vw;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
  }
  section.company .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.company .text .f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 13.474px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 13.57rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  .preface .companyimg {
    width: 100%;
    max-width: 1090px;
    margin: 10rem auto;
    text-align: center;
  }
  .preface .companyimg img {
    width: 100%;
  }
  .companydata > div {
    display: flex;
    padding: 25px 0;
    border-bottom: 1px solid #d0d0d0;
  }

  .companydata > div div:first-child {
    width: 20%;
    font-size: 1.8rem;
    color: var(--Black, #181818);
    font-weight: 700;
    line-height: normal;
    letter-spacing: 2.7px;
    line-height: 180%; /* 32.4px */
    padding-left: 1rem;
  }

  .companydata > div div:last-child {
    width: 80%;
    color: var(--Black, #181818);
    font-size: 1.8rem;
    font-weight: 400;
    line-height: 180%; /* 32.4px */
    letter-spacing: 0.9px;
  }
  .flexblock {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5rem;
    padding-top: 1rem;
  }
  .flexblock .left {
    width: calc(100% - 34rem);
  }
  .flexblock .right {
    width: 28rem;
  }
  .flexblock .right img {
    width: 100%;
  }
  .flexblock2 {
    display: flex;
    justify-content: space-between;
    margin-bottom: 5rem;
    padding-top: 1rem;
  }
  .flexblock2 .left {
    width: calc(100% - 43.7rem);
  }
  .flexblock2 .right {
    width: 37.7rem;
  }
  .flexblock2 .right img {
    width: 100%;
  }
  .companydata .logoImg {
    width: 100% !important;
  }
  .companydata .logoImg img {
    width: 100%;
    max-width: 552px;
  }
  table.slidetable2 {
    width: 100%;
    border: 1px solid #acacac;
    margin-bottom: 6.5rem;
  }
  table.slidetable2 th {
    background: #fff4e8;
    text-align: center;
    font-weight: 700;
    font-size: 1.5rem;
    padding: 1.5rem 0;
    border: 1px solid #acacac;
    color: #181818;
  }
  table.slidetable2 td {
    background: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 1.5rem;
    padding: 1.5rem 0;
    border: 1px solid #acacac;
    color: #181818;
  }
  .prmestab {
  }
  .panel_area .tab_panel.prmestab h2 + div {
    margin-bottom: -6.5rem;
  }
  .prmes {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 0 !important;
  }
  .prmes img {
    width: 54.3rem;
    max-width: 543px;
    height: 68.2rem;
  }
  .prmes .prsname {
    display: block;
    width: 100%;
    text-align: left;
    padding-top: 3rem;
  }

  .history_block {
    width: 100%;
    border-top: 1px solid #d0d0d0;
  }

  .history_block .history_box {
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #d0d0d0;
    display: flex;
  }
  .history_block .history_box div.day {
    display: block;
    width: 15%;
    color: #6c6c6c;
    font-size: 1.8rem;
    font-weight: 400;
  }
  .history_block .history_box div {
    display: block;
    width: 85%;
  }
  .history_block .history_box div span {
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.8;
  }
  .history_block .history_box div p {
    font-size: 1.65rem;
    line-height: 1.8;
    margin-bottom: 0;
  }
  .history_block .history_box div p.bottom_border {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .rinenImg {
    width: 100%;
    margin-top: -2rem;
  }
  .valuelist {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 6.5rem 2rem;
  }
  .valuelist > div {
    width: calc(50% - 1rem);
    text-align: center;
  }
  .valuelist > div img {
    margin-bottom: 2.7rem;
  }
  .valuelist > div .main {
    color: #181818;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.63px;
  }
  .valuelist > div p {
    color: var(--Black, #181818);
    text-align: center;
    font-size: 1.7rem;
    font-style: normal;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
  }

  /* blog */
  main.blog {
    padding-top: 128px;
  }
  .breadcrumbs {
    padding-top: 4rem;
    width: 100%;
    margin-bottom: 10rem;
  }
  .breadcrumbs .content {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto;
  }
  .breadcrumbs ol {
    display: flex;
  }
  .breadcrumbs ol li {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    padding-right: 1rem;
  }
  .breadcrumbs ol li::after {
    content: "＞";
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    padding-left: 1rem;
  }
  .breadcrumbs ol li:last-child::after {
    content: "";
    padding-left: 0rem;
  }
  .breadcrumbs ol li a {
    color: var(--Black, #181818);
  }
  .blog_cullumn {
    width: 100%;
  }
  .blog_cullumn .content {
    width: 100%;
    max-width: calc(1430px + 10rem);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 5rem;
  }
  .blog_cullumn .blog_body {
    width: calc(100% - 37.3rem);
    padding-right: 5rem;
  }
  .blog_cullumn .blog_nav {
    width: 37.3rem;
  }
  .blog_cullumn .blog_head {
    width: 100%;
  }
  .blog_cullumn .blog_head .top {
    width: 100%;
    display: flex;
    margin-bottom: 1rem;
  }
  .blog_cullumn .blog_head .top span.day {
    color: rgba(24, 24, 24, 0.4);
    font-family: Roboto;
    font-size: 2rem;
    font-weight: 600;
    line-height: 2.8rem;
    letter-spacing: 1px;
    padding-right: 2rem;
  }
  .blog_cullumn .blog_head .top a {
    display: inline-block;
    margin-right: 1rem;
    height: 2.8rem;
  }
  .blog_cullumn .blog_head .top a span.tag {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.8rem;
    padding: 0 1.5rem;
    border-radius: 3px;
    border: 1px solid #f81;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
  }
  .blog_cullumn .blog_head .top a span.tag01 {
    background: #f81;
    color: #fff;
  }
  .blog_cullumn .blog_head .top a span.tag02 {
    background: #fff;
    color: #f81;
  }
  .blog_cullumn .blog_head h1 {
    color: var(--Orange, #f81);
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 180%; /* 50.4px */
    margin-bottom: 2.5rem;
  }
  .blog_cullumn .blog_content {
    width: 100%;
    padding-bottom: 15rem;
  }
  .blog_cullumn .blog_content p {
    color: var(--Black, #181818);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.85px;
    margin-bottom: 3rem;
  }
  .blog_cullumn .blog_content #toc_container {
    background: #fff4e8;
    padding: 2rem 3rem 1rem;
    margin-bottom: 8rem;
    margin-top: 5rem;
  }
  .blog_cullumn .blog_content #toc_container p.toc_title {
    color: var(--Orange, #f81);
    font-size: 1.7rem;
    font-weight: 700;
    margin-bottom: 1.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list {
    width: 100%;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > a {
    display: inline-block;
    height: 2.2rem;
    color: var(--Black, #181818);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 2.2rem;
    padding-left: 2.5rem;
    background: url(images2025/tocicon.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul {
    padding: 0.5rem 0 1rem 4rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul li a {
    display: inline-block;
    height: 2rem;
    color: var(--Black, #181818);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2rem;
  }
  .blog_cullumn .blog_content h2 {
    width: 100%;
    background: #181818;
    padding: 1.5rem 3.5rem;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 3rem;
    margin-bottom: 3rem;
    margin-top: 5rem;
    border-radius: 5px;
  }
  .blog_cullumn .blog_content img.normal {
    width: 100%;
    margin-bottom: 3rem;
  }
  .blog_cullumn .blog_content h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 16px;
    color: #000;
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.63px;
    line-height: 2.5rem;
    margin-bottom: 2.5rem;
    margin-top: 5rem;
  }
  .blog_cullumn .blog_content h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 3px;
    height: 100%;
    background: #ff8811;
    border-radius: 10px;
  }
  .blog_cullumn .blog_nav > div {
    width: 100%;
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
    border-bottom: 1px solid #d1d1d1;
  }
  .blog_cullumn .blog_nav > div h2 {
    color: var(--Black, #181818);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 2.5rem;
  }
  .blog_cullumn .blog_nav > div ul.postlist {
    width: 100%;
  }
  .blog_cullumn .blog_nav > div ul.postlist li {
    width: 100%;
    margin-bottom: 2rem;
  }
  .blog_cullumn .blog_nav > div ul.postlist li:last-child {
    margin-bottom: 0rem;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a img {
    width: 52.5%;
    margin-right: 5%;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a span {
    display: inline-block;
    width: 42.5%;
    color: var(--Black, #181818);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 180%; /* 23.4px */
  }
  .blog_cullumn .blog_nav > div ul.categorylist {
    width: 100%;
  }
  .blog_cullumn .blog_nav > div ul.categorylist li {
    width: 100%;
    margin-bottom: 1rem;
  }
  .blog_cullumn .blog_nav > div ul.categorylist li a {
    color: var(--Orange, #f81);
    font-size: 1.7rem;
    font-weight: 400;
    line-height: 1.2;
  }

  /* 20260330 otherpage */
  .panel_area.otherpage {
    margin: 0 auto 0rem !important;
  }
  .otherpage .tab_panel p {
    font-size: 1.5rem !important;
    margin-bottom: 2.5rem !important;
    line-height: 2 !important;
  }
  .otherpage .tab_panel article {
    margin-bottom: 4rem;
  }
  .otherpage .tab_panel ul {
    margin-bottom: 2.5rem !important;
  }
}

@media (max-width: 676px) {
  .org {
    color: #f81;
    font-weight: 500;
  }

  header {
    z-index: 100 !important;
    background: rgba(255, 255, 255, 0.6) !important;
  }
  .menuBtn {
    position: fixed !important;
    top: 7.5px !important;
    right: 7.5px !important;
  }
  .menuBtn {
    position: fixed;
    display: block !important;
    width: 45px;
    height: 55px;
    border: none;
    appearance: none;
    cursor: pointer;
    z-index: 10001;
    top: 10px;
    right: 20px;
    transition: all 0.4s;
  }
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
  }
  .menu-trigger {
    position: absolute;
    width: 100%;
    height: 24px;
    background: none;
    border: none;
    appearance: none;
    z-index: 1001;
    top: 20px;
    left: 0;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #ff8300;
    border-radius: 2px;
  }
  .menuBtn .menufont {
    color: var(--Main-Orange, #ff8300);
    text-align: center;
    font-family: "Inter", sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.7px;
    display: block;
    position: absolute;
    bottom: 0.5rem;
    width: 100%;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  .menu-trigger span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }
  html.sb-active #menu01 span:nth-of-type(1) {
    transform: translateY(6.5px) rotate(-15deg);
  }
  html.sb-active #menu01 span:nth-of-type(2) {
    opacity: 0;
  }
  html.sb-active #menu01 span:nth-of-type(3) {
    transform: translateY(-6.5px) rotate(15deg);
  }
  html.sb-active .menu-trigger span {
  }
  html.sb-active .menuBtn {
  }

  .menu-trigger {
    position: absolute;
    width: 100%;
    height: 14px;
    background: none;
    border: none;
    appearance: none;
    z-index: 1001;
    top: 16px;
    left: 0;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #ff8300;
    border-radius: 2px;
  }
  .menuBtn .menufont {
    color: var(--Main-Orange, #ff8300);
    text-align: center;
    font-family: "Inter", sans-serif;
    font-size: 0.98rem;
    font-style: normal;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.45px;
    display: block;
    position: absolute;
    bottom: 0.5rem;
    width: 100%;
  }
  .sb-active .menuBtn .menufont {
    color: #fff;
  }
  .sb-active .menu-trigger span {
    background-color: #fff;
  }
  .sb-active header {
    background: transparent !important;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
  }
  .sb-active .menuBtn .menufont {
    color: #fff;
  }
  .sb-active .menuBtn .menufont {
    color: #fff;
  }

  #fv_slide {
    width: 100%;
    padding-top: 65px;
    padding-bottom: 25px;
  }
  #fv_slide .fv_slide {
  }
  #fv_slide .fv_slide li a {
    display: block;
    width: calc(100% - 2rem);
    margin: 2rem 1rem 3rem;
    border-radius: 8px;
    box-shadow: 0 2px 17px 0 rgba(0, 0, 0, 0.25);
  }
  #fv_slide .fv_slide li a img {
    width: 100%;
    border-radius: 8px 8px 0 0;
  }
  #fv_slide .fv_slide li a p {
    display: flex;
    width: 100%;
    height: 95px;
    align-items: center;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
    background: #181818;
    border-radius: 0 0 8px 8px;
    flex-wrap: wrap;
    padding: 10px 0;
  }
  #fv_slide .fv_slide li a p span.yellow {
    color: var(--Yellow, #feff00);
  }
  #fv_slide p span.kankocho01 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon01.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  #fv_slide p span.kankocho02 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon02.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  #fv_slide p span.kankocho03 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon03.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  #fv_slide .slick-dots {
    margin-top: -3rem !important;
  }

  .subfv a {
    display: block;
    width: calc(100% - 2rem);
    margin: 2rem 1rem 3rem;
    border-radius: 8px;
    box-shadow: 0 2px 17px 0 rgba(0, 0, 0, 0.25);
  }
  .subfv a img {
    width: 100%;
    border-radius: 8px 8px 0 0;
  }
  .subfv a p {
    display: flex;
    width: 100%;
    height: 95px;
    align-items: center;
    text-align: center;
    justify-content: center;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: 0;
    background: #181818;
    border-radius: 0 0 8px 8px;
    flex-wrap: wrap;
    padding: 10px 0;
  }
  .subfv a p span.yellow {
    color: var(--Yellow, #feff00);
  }
  .subfv a p span.kankocho01 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon01.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  .subfv a p span.kankocho02 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon02.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  .subfv a p span.kankocho03 {
    display: inline-block;
    height: 2rem !important;
    padding-left: 2rem;
    background: url(images2025/fvimgicon03.png) left center no-repeat;
    background-size: 1.5rem 1.5rem;
    font-size: 1.4rem;
  }
  #fv_slide .slick-dots {
    margin-top: -3rem !important;
  }

  .logolist {
    width: 100%;
    padding-bottom: 60px;
  }

  .logolist h2 {
    width: 100%;
    text-align: center;
    color: var(--Orange, #f81);
    font-size: 3rem;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 30px;
  }

  .logo_slider {
    margin-top: 0px;
  }

  .logo_slider .logo_box_outer {
  }

  .logo_slider .logo_box_outer div {
    margin-bottom: 10px;
    position: relative;
    text-align: center;
    margin: 10px 10px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
  }

  .logo_slider .logo_box_outer div img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    vertical-align: middle;
  }

  #home_resultlist {
    width: 100%;
    padding: 0 20px 50px;
    margin-bottom: 40px;
  }
  .resulttext {
    margin-bottom: 40px;
  }
  .resulttext h2 {
    width: 100%;
    color: var(--Black, #181818);
    text-align: center;
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin-bottom: 2.5rem;
  }
  .resulttext p {
    color: var(--Black, #181818);
    text-align: center;
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 180%;
    letter-spacing: 1px;
  }
  #home_resultlist #works {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto;
    background: #f5f5f5;
    padding: 20px;
  }

  .more2 {
    margin-bottom: 0px !important;
  }

  .more2__content {
    position: relative;
    height: auto;
    max-height: 400px;
    overflow: hidden;
    transition: max-height 1s;
    position: retive;
    z-index: 0;
  }
  .more2__content::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 1s;
    background: linear-gradient(to bottom, transparent 0%, #f7f7f7 100%);
  }

  .more2__content.open::after {
    z-index: -1 !important;
    opacity: 0 !important;
  }

  .result1280 {
    width: 100%;
    position: relative;
    margin: 0 auto;
  }
  .resultBlk {
    display: block;
    width: 260px;
    height: 260px;
    border-radius: 130px;
    position: absolute;
    top: -237px;
    right: 0;
    background: #000;
    z-index: 50;
    color: #ffae00;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    letter-spacing: -1.5px;
    vertical-align: middle;
    padding-top: 35px;
  }
  .resultBlk span.font01 {
    font-size: 230%;
  }
  .resultBlk span.font02 {
    font-size: 300%;
  }
  .resultBlk span.font03 {
    font-size: 400%;
  }
  .relustMessage {
    display: block;
    width: 100%;
    padding: 60px 0 40px 0;
    line-height: 1.8;
    font-size: 145%;
    font-weight: 700;
    margin: 0 auto;
    text-align: center;
  }
  .more_result_block {
    width: 100%;
    padding: 0px 0px 0 0px;
    margin-bottom: 105px;
  }
  .more_result_block .more {
    width: 100%;
    float: left;
    margin-right: 40px;
  }
  .more_result_block .more:nth-child(3) {
    margin-right: 0;
  }

  .more_result_block .more h4 {
    width: 100%;
    border-bottom: 1px solid #000;
    padding-bottom: 10px;
    margin-bottom: 10px;
    font-size: 1.4rem;
    font-weight: 700;
    padding-left: 20px;
    line-height: 20px;
    position: relative;
  }
  .more_result_block .more h4::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    background: #ffae00;
    position: absolute;
    left: 0;
    top: 3px;
  }
  .more_result_block .more .moreList {
    display: block;
    padding-bottom: 40px;
  }

  .more2__btn {
    position: relative;
    display: block;
    margin: 0 auto;
    display: block;
    align-items: center;
    justify-content: center;
    width: 28.8rem;
    height: 6.3rem;
    border-radius: 3em;
    font-weight: 500;
    color: #ffffff;
    background-color: #181818;
    transition: 0.3s;
    cursor: pointer;
  }

  .more2__btn:before {
    content: "";
    width: 2.4rem;
    height: 2.4rem;
    background-color: #ff8811;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 3rem;
    bottom: 0;
    margin: auto;
  }
  .more2__btn:after {
    content: "";
    width: 0.6rem;
    height: 0.6rem;
    border: 0;
    border-top: solid 2px #181818;
    border-right: solid 2px #181818;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 3.9rem;
    bottom: 0;
    margin: auto;
  }
  .more2__btn:hover {
    background-color: #ff8811;
    transition: 0.3s;
  }
  .more2__btn:hover::before {
    background-color: #ffffff;
  }
  .more2__btn:hover::after {
    border-top: solid 2px #ff8811;
    border-right: solid 2px #ff8811;
  }

  .more_result_block {
    display: block;
    overflow: hidden;
    margin-bottom: 0 !important;
    justify-content: space-between;
  }
  .more_result_block .more {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .more_result_block .more .moreList {
    font-size: 1.4rem;
    letter-spacing: -0.5px;
    line-height: 1.8 !important;
    margin-bottom: 0 !important;
    width: 100% !important;
  }
  .more_result_block .more .moreList span {
    display: block;
    width: 100%;
    padding-top: 20px;
    text-align: right;
    font-size: 95%;
    font-weight: 500;
  }

  /* tab */

  .tab_box .tab_panel {
    display: none;
  }
  .tab_box .tab_panel.active {
    display: block;
  }
  section.tab {
    width: 100%;
  }
  section.tab .content {
    width: 100%;
    padding: 30px 20px;
    margin: 0 auto;
  }
  .btn_area {
    width: 100%;
    display: flex;
    justify-content: space-around;
    gap: 1rem;
    margin-bottom: 4rem;
    flex-wrap: wrap;
  }
  .btn_area > div.tab_btn {
    height: 5.5rem;
    background: #fff;
    border: 1px solid #f81;
    border-radius: 3px;
    width: 48%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #f81;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.6px;
    cursor: pointer;
    padding: 0 0.5rem;
  }
  .btn_area > div.tab_btn.active {
    background: #f81;
    color: #fff;
    transition: 0.2s;
  }

  .panel_area {
    width: 100%;
    max-width: 1430px;
    padding: 35px 20px;
    background: #f5f5f5;
    margin: 0 auto 4rem;
  }
  .panel_area .tab_panel {
    width: 100%;
  }
  .panel_area .tab_panel h2 {
    padding: 12px 12px;
    background: #181818;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 5px;
    margin-bottom: 25px;
  }
  .panel_area .tab_panel h2 + div {
    width: 100%;
    margin-bottom: 35px;
  }
  .panel_area .tab_panel h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 10px;
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 25px;
    margin-bottom: 20px;
  }
  .panel_area .tab_panel h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: #ff8811;
    border-radius: 4px;
  }
  .panel_area .tab_panel h4 {
    display: block;
    width: 100%;
    color: var(--Orange, #f81);
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 180%; /* 30.6px */
  }
  .panel_area .tab_panel .obre {
    margin-bottom: 25px;
  }
  .panel_area .tab_panel p {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    display: block;
    margin-bottom: 15px;
  }
  .panel_area .irlist {
    display: block;
  }
  .panel_area .irlist > div {
    color: var(--Black, #181818);
    font-size: 1.25rem !important;
    font-weight: 400;
    line-height: 1.6;
    width: 100%;
  }

  /* Q&A */
  .faq-item {
    margin: 15px 0;
    background: #fff;
    border-radius: 3px;
    overflow: hidden;
  }
  .faq-item:hover {
  }
  .faq-item h4 {
    position: relative;
    display: flex !important;
    align-items: center;
    padding: 12px 24px 12px 10px;
    font-weight: 400 !important;
    font-size: 1.4rem;
    background-color: #fff !important;
    cursor: pointer;
    transition: 0.3s;
    line-height: unset;
    color: #181818 !important;
    line-height: 1.4 !important;
  }

  .faq-item h4 span {
    display: inline-block;
    margin-right: 15px;
    font-family: "Roboto", sans-serif;
    color: #f81;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 0.8;
  }
  .faq-item h4:after {
    content: "＋";
    position: absolute;
    right: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    color: #ffffff;
    background-color: #ff8811;
    border-radius: 100%;
    top: 50%;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    font-size: 1.1rem;
  }
  .faq-item h4:hover {
    color: #ffffff;
    background: #f81 !important;
    transition: 0.3s;
    color: #fff !important;
  }
  .faq-item h4:hover span {
    color: #ffffff;
    transition: 0.3s;
  }
  .faq-item h4:hover:after {
    color: #ff8811;
    background-color: #ffffff;
  }
  .faq-item.open {
  }
  .faq-item.open h4 {
    color: #ffffff !important;
    background: #f81 !important;
    transition: 0.3s;
  }
  .faq-item.open h4 span {
    color: #ffffff !important;
  }
  .faq-item.open h4:after {
    content: "ー";
    color: #ff8811;
    background-color: #ffffff;
  }
  .faq-item .accordion {
    height: 0;
    overflow: hidden;
    transition: height 0.3s ease;
  }
  .faq-item .accordion .detail {
    display: flex;
    align-items: center;
    padding: 12px 10px;
  }
  .faq-item .accordion .detail .answer {
    margin-right: 15px;
  }
  .faq-item .accordion .detail .answer span {
    display: inline-block;
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #ff8811;
    font-size: 2.5rem;
    font-style: normal;
    font-weight: 700;
    line-height: 0.8;
  }
  .faq-item .accordion .detail h4 {
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 1rem;
    line-height: 165%;
  }
  .faq-item .accordion .detail h4 + p {
    font-weight: 400;
    line-height: 175%;
  }
  .faq-item .accordion .detail p {
    margin-bottom: 0 !important;
  }

  /* home_kankocho */
  #home_kankocho {
    width: 100%;
  }
  #home_kankocho .top {
    width: 100%;
    background:
      linear-gradient(0deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.15) 100%),
      url(images2025/no_hicost.jpg) lightgray 50% / auto 100% no-repeat;
    width: 100%;
    height: 44vh;
    position: relative;
  }
  #home_kankocho .top .content {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  #home_kankocho .top h2 {
    width: 90%;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-family: "Zen Kaku Gothic New";
    font-size: 1.8rem;
    font-weight: 900;
    line-height: 45px;
    margin: 0 auto 0rem;
    background: #181818;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.25);
  }
  #home_kankocho .top .text {
    display: flex;
    align-items: baseline;
    margin-bottom: 27px;
    width: 100%;
    padding: 0 15px;
  }
  #home_kankocho .top .text span {
    white-space: nowrap;
  }
  #home_kankocho .top .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 3rem;
    font-weight: 900;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-right: 5px;
  }
  #home_kankocho .top .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 8rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -4px;
  }
  #home_kankocho .top .text .f03 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1;
  }
  #home_kankocho .top .text .f04 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
  }
  #home_kankocho .top h3 {
    width: 100%;
    text-align: center;
    font-size: 3.5rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffd04e 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 3rem !important;
  }
  #home_kankocho .top ul.quality {
    width: 100%;
    display: flex;
    justify-content: space-between;
    gap: 5px;
  }
  #home_kankocho .top ul.quality li {
    width: 100%;
  }
  #home_kankocho .top ul.quality li img {
    width: 100%;
  }

  #home_kankocho .cost {
    width: 100%;
    background: #181818;
    text-align: center;
    padding: 20px 12px;
  }
  #home_kankocho .cost .content {
    text-align: center;
  }
  #home_kankocho .cost h2 {
    display: none;
  }
  #home_kankocho .cost p.text {
    display: none;
  }
  #home_kankocho .cost .itakusaki {
    width: 100%;
    max-width: 1150px;
    vertical-align: middle;
  }
  #home_kankocho .merit {
    width: 100%;
    background: #fff;
    text-align: center;
    padding: 10px 20px 20px;
  }
  #home_kankocho .merit .content {
    text-align: center;
  }
  #home_kankocho .merit img {
    width: 100%;
    max-width: 1483px;
    vertical-align: middle;
  }

  .process {
    width: 100%;
    background: #f81;
    padding: 30px 0 30px;
  }
  .process .content {
    padding: 0 20px;
  }

  .process a.processlink {
    display: block;
    width: 100%;
    margin: 0 auto 30px;
    position: relative;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
    height: auto;
  }
  .process a.processlink img.bg {
    width: 100%;
    height: 60vw;
    object-fit: cover;
  }
  .process a.processlink span.text {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    width: 100%;
    padding: 0 20px 25px;
  }
  .process a.processlink span.text .f01 {
    display: inline-block;
    color: var(--white, #fff);
    text-shadow: 0 2.216px 22.161px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -1px;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .process a.processlink span.text .f02 {
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -4px;
  }
  .process a.processlink span.text .f02 .f02_01 {
    font-size: 6rem;
    letter-spacing: 2px;
  }
  .process a.processlink span.text .f02 .f02_02 {
    font-size: 2rem;
    letter-spacing: 0px;
  }
  .process a.processlink span.text .f03 {
    display: inline-block;
    color: var(--white, #fff);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 170%;
    letter-spacing: -1px;
    margin-bottom: 15px;
  }
  .process a.processlink span.text .f04 {
    display: inline-block;
    background: url(images2025/processicon.png) left center no-repeat;
    background-size: auto 100%;
    color: var(--white, #fff);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 180%;
    letter-spacing: 0px;
    padding-left: 25px;
  }
  .process a.processlink .premium {
    width: 75px;
    height: auto;
    position: absolute;
    bottom: 10px;
    right: 10px;
  }

  .process_slide {
    width: 100%;
    overflow: hidden;
  }
  .process_slide div.processblock {
    background: #fff;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
    padding: 15px;
    display: block;
    margin: 0 10px;
    width: 90vw;
    max-width: 600px;
  }
  .process_slide div.processblock img {
    width: 100%;
    height: auto;
    margin: 0 0 20px 0;
  }
  .process_slide div.processblock .left {
    width: 100%;
    position: relative;
  }
  .process_slide div.processblock .left h3 {
    width: 100%;
    display: flex;
    height: 45px;
    margin-bottom: 10px;
  }
  .process_slide div.processblock .left h3 .num {
    display: inline-block;
    color: var(--Orange, #f81);
    font-family: Roboto;
    font-size: 4rem;
    font-weight: 700;
    line-height: 45px;
    border-right: 3px solid #f81;
    margin-right: 12px;
    padding-right: 12px;
  }
  .process_slide div.processblock .left h3 .text {
    display: inline-block;
    height: 45px;
  }
  .process_slide div.processblock .left h3 .text .main {
    color: var(--Orange, #f81);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 25px;
  }
  .process_slide div.processblock .left h3 .text .sub {
    color: var(--Orange, #f81);
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 20px;
  }
  .process_slide div.processblock .left p {
    display: block;
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 0;
    margin-bottom: 15px;
  }
  .process_slide div.processblock .left .list {
    width: 100%;
  }
  .process_slide div.processblock .left .list span {
    display: block;
    padding-left: 17px;
    background: url(images2025/processlisticon.png) left center no-repeat;
    background-size: 12px;
    color: var(--Gray-01, #181818);
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 2px;
  }
  .process_slide div.processblock .left .list.no1 span {
    font-size: 1.3rem;
    letter-spacing: -2px;
  }

  .process_slide div.processblock .left a.morebtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 70%;
    height: 50px;
    border-radius: 3em;
    font-weight: 500;
    color: #ffffff;
    background-color: #181818;
    transition: 0.3s;
    margin: 20px 15% 0;
    position: relative;
  }

  .process_slide div.processblock .left a.morebtn:before {
    content: "";
    width: 15px;
    height: 15px;
    background-color: #ff8811;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto;
  }
  .process_slide div.processblock .left a.morebtn:after {
    content: "";
    width: 5px;
    height: 5px;
    border: 0;
    border-top: solid 2px #181818;
    border-right: solid 2px #181818;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    right: 25px;
    bottom: 0;
    margin: auto;
  }
  .process_slide div.processblock .left a.morebtn:hover {
    background-color: #ff8811;
    transition: 0.3s;
  }
  .process_slide div.processblock .left a.morebtn:hover::before {
    background-color: #ffffff;
  }
  .process_slide div.processblock .left a.morebtn:hover::after {
    border-top: solid 2px #ff8811;
    border-right: solid 2px #ff8811;
  }

  /* zerosta */
  #zerosta {
    width: 100%;
  }
  #zerosta .top {
    width: 100%;
    height: 52vw;
    max-height: 450px;
    position: relative;
    background:
      linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.35) 100%),
      url(images2025/zerostabg.jpg) lightgray 68% 0px / auto 100% no-repeat;
  }

  #zerosta .top img {
    width: 100%;
    height: auto;
    position: relative;
    z-index: 2;
  }
  #zerosta .top .over {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 3;
  }
  #zerosta .top .text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    display: flex;
    width: fit-content;
    width: 100%;
    padding: 0 20px;
  }
  #zerosta .top .text span.left {
    display: flex;
    align-items: center;
    color: var(--white, #fff);
    text-shadow: 0 2.857px 28.571px rgba(0, 0, 0, 0.3);
    font-family: Roboto;
    font-size: 3.5rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.4;
    white-space: nowrap;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-top: 10px;
    letter-spacing: -2px;
  }
  #zerosta .top .text span.left span.pl2 {
    padding-left: 5px;
  }
  #zerosta .top .text span.right {
    display: block;
    white-space: nowrap;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  #zerosta .top .text span.right span.f01 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 6.16px 61.599px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 14rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
  }
  #zerosta .top .text span.right span.f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 6.16px 61.599px rgba(0, 0, 0, 0.3);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: -5px;
  }
  #zerosta .bottom {
    width: 100%;
    background: #ffe7cf;
    padding: 0rem 0px;
  }
  #zerosta .bottom .content {
    width: 100%;
    max-width: 1180px;
    padding: 25px 0rem;
    margin: 0 auto;
  }
  #zerosta .bottom .planintro {
    width: 100%;
    display: block;
    margin-bottom: 20px;
    padding: 0 35px;
  }
  #zerosta .bottom .planintro > div {
    width: 100%;
    max-width: 350px;
    background: #fff;
    padding: 20px 0 20px 0;
    margin-bottom: 25px;
  }
  #zerosta .bottom .planintro > div h3 {
    position: relative;
    margin-bottom: 3rem;
    border-radius: 3em;
    color: #ffffff;
    background-color: #ff8811;
    font-size: 1.6rem;
    text-align: center;
    height: 30px;
    line-height: 30px;
    font-weight: 700;
    margin: 0 auto 1rem;
    width: 80%;
  }
  #zerosta .bottom .planintro > div h3::before {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    margin-left: -12px;
    border: 12px solid transparent;
    border-top: 15px solid #ff8811;
  }
  #zerosta .bottom .planintro > div .main {
    width: 100%;
    text-align: center;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #zerosta .bottom .planintro > div .main.zero {
    align-items: baseline;
  }
  #zerosta .bottom .planintro > div .main .f01 {
    color: var(--Orange, #f81);
    font-size: 6rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div .main .f02 {
    color: var(--Orange, #f81);
    font-size: 2.2rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div .main .f03 {
    color: var(--Orange, #f81);
    font-size: 4rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
  }
  #zerosta .bottom .planintro > div p {
    display: block;
    text-align: center;
    color: var(--Black, #181818);
    font-size: 1.6rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 20px;
  }
  #zerosta .bottom .planintro > div .illust {
    width: 100%;
    height: 101px;
  }
  #zerosta .bottom .planintro > div:nth-child(1) .illust {
    background: url(images2025/planintroimg01.png) center center no-repeat;
    background-size: auto 100%;
  }
  #zerosta .bottom .planintro > div:nth-child(2) .illust {
    background: url(images2025/planintroimg02.png) center center no-repeat;
    background-size: auto 100%;
  }
  #zerosta .bottom .planintro > div:nth-child(3) .illust {
    background: url(images2025/planintroimg03.png) center center no-repeat;
    background-size: auto 100%;
  }

  table.slidetable th,
  table.slidetable td {
    white-space: nowrap;
  }

  #zerosta .bottom table.slidetable {
    width: 100%;
    border: 1px solid #acacac;
  }
  #zerosta .bottom table.slidetable th {
    background: #f5f5f5;
    text-align: center;
    font-weight: 700;
    font-size: 1.4rem;
    letter-spacing: 0.95px;
    padding: 10px 20px;
    border: 1px solid #ddd;
    color: #181818;
    border-top: 2px solid #acacac;
  }
  #zerosta .bottom table.slidetable td {
    background: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 1.4rem;
    letter-spacing: 0.95px;
    padding: 10px 20px;
    border: 1px solid #ddd;
    color: #181818;
    border-top: 2px solid #acacac;
  }
  #zerosta .bottom table.slidetable td.fb {
    font-weight: 700;
  }
  #zerosta .bottom table.slidetable td.zerosta {
    background: #f81;
    color: #fff;
    font-weight: 700;
    border: 1px solid #f81 !important;
  }
  #zerosta .bottom table.slidetable td.org {
    color: #f81;
    font-weight: 700;
    border: 1px solid #ddd !important;
    border-top: 2px solid #f81 !important;
    border-bottom: 2px solid #f81 !important;
  }
  tr.bbo td {
    border-bottom: 1px solid #f81 !important;
  }
  #simulation h2 {
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffbc36 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 6rem !important;
  }
  #home_lplist {
    padding: 0rem 20px 0;
  }
  #home_lplist h2 {
    width: 100%;
    text-align: center;
    font-size: 3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4;
    background: var(--unnamed, linear-gradient(180deg, #f81 0%, #ffbc36 100%));
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 40px !important;
  }
  #home_lplist .content {
    width: 100%;
    max-width: 1530px;
    padding: 30px 0 40px;
    margin: 0 auto;
  }
  .banner16 {
    width: 100%;
    margin: 0 auto 40px;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 15px;
  }
  .banner16 a {
    display: block;
    position: relative;
    width: calc(50% - 7.55px);
    height: fit-content;
  }
  .banner16 a img {
    width: 100%;
    vertical-align: top;
    margin-bottom: 10px;
  }

  .banner16 a span {
    display: block;
    width: 100%;
    height: 25px;
    color: var(--Black, #181818);
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 700;
    line-height: 25px;
    letter-spacing: -1px;
    padding-left: 5px;
    border-left: 2px solid #f81;
    background: url(images2025/banner16icon.png) right center no-repeat;
    background-size: 20px;
  }

  /* home_movie */

  #home_movie {
    display: none;
    padding: 0rem 20px 0;
    background: #f81;
  }
  #home_movie .content {
    width: 100%;
    max-width: 1430px;
    padding: 30px 0 40px;
    margin: 0 auto;
  }

  #home_movie h2 {
    padding: 12px 12px;
    background: #181818;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 5px;
    margin-bottom: 25px;
  }
  #home_movie h2::before {
    content: "";
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    margin-left: -4.5rem;
    border: 4.5rem solid transparent;
    border-top: 2.5rem solid #fff;
  }
  #home_movie .list {
    display: flex;
    justify-content: space-between;
  }
  #home_movie .list > div {
    width: 33%;
    max-width: 430px;
  }
  #home_movie .list > div img {
    width: 100%;
    margin-bottom: 4rem;
  }
  #home_movie .list > div span {
    display: block;
    color: #fff;
    text-align: center;
    font-size: 2.8rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.4; /* 135.714% */
    letter-spacing: 0.84px;
  }

  /* home_bottom */
  #home_bottom {
    padding: 0rem 20px 0;
  }
  #home_bottom .content {
    width: 100%;
    max-width: 1180px;
    padding: 30px 0;
    margin: 0 auto;
  }

  #home_bottom h2 {
    padding: 12px 12px;
    background: #181818;
    width: 100%;
    display: block;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    border-radius: 5px;
    margin-bottom: 25px;
  }
  #home_bottom h2 + div {
    width: 100%;
    margin-bottom: 25px;
  }
  #home_bottom h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 10px;
    color: #000;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 25px;
    margin-bottom: 20px;
  }
  #home_bottom h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: #ff8811;
    border-radius: 4px;
  }
  #home_bottom h4 {
    display: block;
    width: 100%;
    color: var(--Orange, #f81);
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 180%; /* 30.6px */
  }
  #home_bottom .obre {
    margin-bottom: 25px;
  }
  #home_bottom p {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    display: block;
    margin-bottom: 15px;
  }
  #home_bottom p.org {
    display: block;
    width: 100%;
    background: #fff4e8;
    padding: 2rem;
    font-weight: 700;
  }
  #home_bottom p.org span {
    color: #f81;
  }
  .stn {
    color: #181818 !important;
    font-size: 1.4rem !important;
    font-weight: 400 !important;
    display: block !important;
    width: 100% !important;
    padding-top: 1.5rem !important;
  }

  /* slick */
  .slick-slide {
  }
  .slick-dots {
    position: unset !important;
    padding: 5px 0 0.45rem !important;
  }
  .slick-dots li {
    position: relative;
    display: inline-block;
    width: 15px !important;
    height: 15px !important;
    margin: 0 5px !important;
    padding: 0 !important;
    cursor: pointer !important;
  }
  .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 1.5rem !important;
    height: 1.5rem !important;
    padding: 0px !important;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
  }
  .slick-dots li button:before {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5rem !important;
    height: 1.5rem !important;
    content: "" !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    border-radius: 1.5rem;
    background: #d9d9d9;
    opacity: 1 !important;
  }
  #fv_slide button:hover:before,
  #fv_slide .slick-dots li button:focus:before {
    opacity: 1;
    background: #f81 !important;
  }
  #fv_slide li.slick-active button:before {
    opacity: 1;
    background: #f81 !important;
  }
  .process button:hover:before,
  .process .slick-dots li button:focus:before {
    opacity: 1;
    background: #fff !important;
  }
  .process li.slick-active button:before {
    opacity: 1;
    background: #fff !important;
  }
  .slick-prev {
    font-size: 0 !important;
    line-height: 0 !important;
    position: absolute;
    top: unset !important;
    bottom: 0rem !important;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    padding: 0 !important;
    -webkit-transform: translate(-50%, 0) !important;
    -ms-transform: translate(-50%, 0) !important;
    transform: translate(-50%, 0) !important;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    left: calc(50% - 12rem) !important;
    right: unset !important;
  }
  .slick-prev:before {
    font-family: unset !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    color: white !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    border-radius: 2.4rem !important;
    background: #d9d9d9 url(images2025/slickarrow_left.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
    content: "";
  }
  .process .process_slide .slick-prev:hover:before {
    background: #fff url(images2025/slickarrow_left.png) center center no-repeat !important;
    background-size: 100% 100% !important;
  }
  .slick-next {
    font-size: 0 !important;
    line-height: 0 !important;
    position: absolute;
    top: unset !important;
    bottom: 0rem !important;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    padding: 0 !important;
    -webkit-transform: translate(-50%, 0) !important;
    -ms-transform: translate(-50%, 0) !important;
    transform: translate(-50%, 0) !important;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    left: calc(50% + 12rem) !important;
    right: unset !important;
  }
  .slick-next:before {
    font-family: unset !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    color: white !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block !important;
    width: 2.4rem !important;
    height: 2.4rem !important;
    border-radius: 2.4rem !important;
    background: #d9d9d9 url(images2025/slickarrow_right.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
    content: "";
  }
  .process .process_slide .slick-next:hover:before {
    background: #fff url(images2025/slickarrow_right.png) center center
      no-repeat !important;
    background-size: 100% 100% !important;
  }

  /* lower */
  .kojichu {
    width: 100%;
    height: 70vh;
    padding-top: 12.8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.2rem;
    color: #888;
  }
  .lower_fv {
    width: 100%;
    padding-top: 65px;
  }
  .mb-2 {
    margin-top: -15px;
    display: inline-block;
  }
  .mt2 {
    margin-top: 2rem;
    display: inline-block;
  }
  .mt3 {
    margin-top: 3rem;
    display: inline-block;
  }
  .mt4 {
    margin-top: 22px;
    display: inline-block;
  }
  .mb6 {
    margin-bottom: 30px !important;
  }
  .preface {
    width: 100%;
    padding: 0 20px;
  }
  .preface .content {
    width: 100%;
    max-width: 1430px;
  }
  .preface h2 {
    color: var(--Orange, #f81);
    font-size: 2rem;
    font-weight: 700;
    line-height: normal;
    padding-bottom: 15px;
  }
  .preface .text {
    width: 100%;
  }
  .preface .text p {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.7;
    display: block;
    margin-bottom: 15px;
  }
  .preface .text p span.org {
    color: var(--Orange, #f81);
    font-weight: 700;
  }

  /* newrelust */
  .lower_fv.results {
    margin-bottom: 15px;
  }
  .lower_fv.results .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url(images2025/result_fv.jpg) left 57% center / auto 100% no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.results .content .text {
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: calc(100% - 40px);
  }
  .lower_fv.results .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text .f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-right: 3px;
  }
  .lower_fv.results .content .text .f03 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -4px;
    line-height: 1;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.results .content .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    letter-spacing: -2px;
  }
  .lower_fv.results .content .text p {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.7;
    letter-spacing: 1.2px;
    display: block;
    padding-top: 3rem;
  }

  #home_kankocho .merit2 {
    width: 100%;
    background: #fff;
    text-align: center;
    padding: 11.8rem 6rem 10rem;
  }
  #home_kankocho .merit2 .content {
    text-align: center;
  }
  #home_kankocho .merit2 h2 {
    color: var(--Orange, #f81);
    text-align: center;
    font-size: 4.6rem;
    font-weight: 700;
    margin-bottom: 4.5rem;
  }
  #home_kankocho .merit2 img {
    width: 100%;
    max-width: 1244px;
    vertical-align: middle;
  }

  /* quality */
  .lower_fv.quality {
    margin-bottom: 35px;
  }
  .lower_fv.quality .content {
    background: url(images2025/quality_fv.jpg) center center no-repeat;
    background-size: cover;
    width: 100%;
    height: 55vh;
    position: relative;
    position: relative;
  }

  .lower_fv.quality .content .text {
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 0 20px;
    width: 100%;
  }
  .lower_fv.quality .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    margin-bottom: 2rem;
  }
  .lower_fv.quality .content .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 13.991px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f04 {
    margin-left: -4rem;
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 21.901px rgba(0, 0, 0, 0.2);
    font-family: Roboto;
    font-size: 9rem;
    font-weight: 900;
    letter-spacing: -17.271px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-left: 15px;
  }
  .lower_fv.quality .content .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f06 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-weight: 900;
    letter-spacing: 8.307px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.quality .content .text .f07 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 7.5rem;
    font-weight: 900;
    letter-spacing: -1.765px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  /* flow */
  .lower_fv.flow {
    margin-bottom: 5.5rem;
  }
  .lower_fv.flow .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url(images2025/flow_fv.jpg) left 30% center / auto 100% no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.flow .content .text {
    position: absolute;
    bottom: 0;
    left: 20px;
  }
  section.flow .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 15px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  section.flow .text .f02 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  .imgbtn_area {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 40px;
    display: none;
  }
  .imgbtn_area > div {
    width: calc(50% - 6px);
    max-width: 33.5rem;
    position: relative;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.25);
    cursor: pointer;
  }
  .imgbtn_area > div img {
    width: 100%;
  }
  .imgbtn_area > div > div {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    padding: 5px;
  }
  .imgbtn_area > div > div h3 {
    color: var(--white, #fff);
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
  }
  .imgbtn_area > div > div p {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 400;
    line-height: 1.4;
    display: none;
  }

  /* 自社工事 */

  .lower_fv.construction {
    margin-bottom: 35px;
  }
  .lower_fv.construction .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url(images2025/construction_fv.jpg) right 28% center / auto 100% no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.construction .content .text {
    position: absolute;
    left: 0;
    bottom: 20px;
    padding: 0 20px;
    width: 100%;
  }
  .lower_fv.construction .content .text h1 {
    text-align: center;
  }
  .lower_fv.construction .content .text span {
  }

  section.construction .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 2rem;
    font-style: normal;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
    padding-right: 3px;
  }

  section.construction .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 3rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 5rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -3px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 5rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f05 {
    color: var(--white, #fff);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-weight: 900;
    letter-spacing: -3px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text .f06 {
    color: var(--white, #fff);
    text-shadow: 0 0 12.466px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: -4px;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.construction .text p {
    display: block;
    padding-top: 2rem;
    color: var(--white, #fff);
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.4rem;
    font-weight: 500;
    display: inline-block;
    line-height: 1.8;
    letter-spacing: -1px;
  }

  /* 信頼と安心の証 */

  .lower_fv.trust {
    margin-bottom: 35px;
  }
  .lower_fv.trust .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url(images2025/trust_fv.jpg) right 25% center / auto 100% no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.trust .content .text {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    padding: 0 20px;
  }
  /*
	section.trust .text .f01 {
        color: var(--white, #FFF);
        text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
        font-family: "Zen Kaku Gothic New";
        font-size: 3.2rem;
        font-weight: 900;
        letter-spacing: 0;
        display: inline-block;
        transform: matrix(1, 0, -0.18, 0.98, 0, 0);
        line-height: 1.2;
	}
	section.trust .text .f02 {
        color: var(--white, #FFF);
        text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
        font-family: "Zen Kaku Gothic New";
        font-size: 2.5rem;
        font-weight: 900;
        letter-spacing: 1.7px;
        display: inline-block;
        transform: matrix(1, 0, -0.18, 0.98, 0, 0);
        line-height: 1.2;
	}
	section.trust .text .f03 {
		color: var(--Yellow, #FEFF00);
		text-shadow: 0 0 30.833px rgba(0, 0, 0, 0.20);
		font-family: "Zen Kaku Gothic New";
		font-size: 6rem;
		font-weight: 900;
		display: inline-block;
		transform: matrix(1, 0, -0.18, 0.98, 0, 0);
		line-height: 1.2;
	}
	section.trust .text .f04 {
        color: var(--white, #FFF);
        text-shadow: 0 0 25px rgba(0, 0, 0, 0.20);
        font-family: "Zen Kaku Gothic New";
        font-size: 2.5rem;
        font-weight: 900;
        letter-spacing: -7px;
        display: inline-block;
        line-height: 1.2;
        margin-left: -7px;
	}
*/

  .lower_fv.trust .content .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    margin-bottom: 2rem;
  }
  .lower_fv.trust .content .text .f02 {
    color: var(--white, #fff);
    text-shadow: 0 0 13.991px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-style: normal;
    font-weight: 900;
    letter-spacing: -2px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }
  .lower_fv.trust .content .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 2.5rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    letter-spacing: -5px !important;
  }
  .lower_fv.trust .content .text .f04 {
    margin-left: -4rem;
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 21.901px rgba(0, 0, 0, 0.2);
    font-family: Roboto;
    font-size: 9rem;
    font-weight: 900;
    letter-spacing: -17.271px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-left: 15px;
  }
  .lower_fv.trust .content .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    letter-spacing: -5px !important;
  }
  .lower_fv.trust .content .text .f06 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-weight: 900;
    letter-spacing: 8.307px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    letter-spacing: -5px !important;
  }
  .lower_fv.trust .content .text .f07 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 7.5rem;
    font-weight: 900;
    letter-spacing: -1.765px;
    line-height: 1.2;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
  }

  /* メディア */

  .lower_fv.media {
    margin-bottom: 35px;
  }
  .lower_fv.media .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url(images2025/media_fv.jpg) right 28% center / auto 100% no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.media .content .text {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
    padding: 0 20px;
  }

  section.media .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 2rem;
    font-style: normal;
    font-weight: 900;
    line-height: 150%; /* 75px */
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 2;
  }
  section.media .text .f02 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 4.5rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1;
  }
  section.media .text .f03 {
    color: var(--white, #fff);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1;
  }
  section.media .text .f04 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 19.377px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 6rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.media .text .f05 {
    color: var(--Yellow, #feff00);
    font-family: "Zen Kaku Gothic New";
    font-size: 4.5rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.1;
  }
  .panel_area .mediaimg {
    margin-bottom: 10px;
    transform: scale(0.75);
    transform-origin: top left;
  }
  .panel_area .booklist {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    flex-wrap: wrap;
  }
  .panel_area .booklist img {
    width: calc((100% - 2rem) / 3);
  }

  /* 会社概要 */

  .lower_fv.company {
    margin-bottom: 35px;
  }
  .lower_fv.company .content {
    background:
      linear-gradient(
        270deg,
        rgba(34, 34, 34, 0) 49.04%,
        rgba(24, 24, 24, 0.8) 100%
      ),
      url("images2025/company_fv.jpg") center center / cover no-repeat;
    width: 100%;
    height: 55vh;
    position: relative;
  }

  .lower_fv.company .content .text {
    position: absolute;
    bottom: 40px;
    left: 0;
    width: 100%;
    padding: 0 20px;
  }
  section.company .text .f01 {
    color: var(--white, #fff);
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    font-family: "Zen Kaku Gothic New";
    font-size: 2rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
  }
  section.company .text .f02 {
    color: var(--Yellow, #feff00);
    text-shadow: 0 0 13.474px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 4rem;
    font-weight: 900;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    line-height: 1.2;
    letter-spacing: -2px;
  }
  .preface .companyimg {
    width: 100%;
    max-width: 1090px;
    margin: 1rem auto;
    text-align: center;
  }
  .preface .companyimg img {
    width: 95%;
    max-width: 400px;
  }
  .companydata {
    width: 100%;
    border-top: 1px solid #d0d0d0;
  }

  .companydata > div {
    display: flex;
    padding: 20px 0;
    border-bottom: 1px solid #d0d0d0;
  }

  .companydata > div div:first-child {
    width: 25%;
    font-size: 1.3rem;
    font-weight: 500;
  }

  .companydata > div div:last-child {
    width: 75%;
    font-size: 1.3rem;
  }
  .companydata > div .logoImg {
    width: 100% !important;
  }
  .companydata > div .logoImg img {
    width: 100%;
  }

  .flexblock {
    margin-bottom: 27px;
    padding-bottom: 30px;
    border-bottom: 1px solid #aaa;
  }
  .flexblock .left {
    width: 100%;
  }
  .flexblock .right {
    width: 100%;
  }
  .flexblock .right img {
    width: 100%;
  }
  .flexblock2 {
    margin-bottom: 27px;
    padding-bottom: 5px;
    border-bottom: 1px solid #aaa;
  }
  .flexblock2 .left {
    width: 100%;
  }
  .flexblock2 .right {
    width: 100%;
    text-align: center;
  }
  .flexblock2 .right img {
    width: 70%;
  }
  .stl {
    overflow-x: auto;
    display: block;
    margin-bottom: 30px;
  }
  .p20 {
    padding: 20px;
  }
  table.slidetable2 th,
  table.slidetable2 td {
    white-space: nowrap;
  }
  /* スクロールバー全体を対象にする */
  .table_box::-webkit-scrollbar {
    width: 10px; /* スクロールバーの幅 */
    height: 10px; /* スクロールバーの高さ */
  }

  /* スクロールバーの背景部分をカスタマイズ */
  .table_box::-webkit-scrollbar-track {
    background: #f1f1f1; /* スクロールバーの背景色 */
    border-radius: 5px; /* 角丸にする */
  }

  /* スクロールバーの操作部分をカスタマイズ */
  .table_box::-webkit-scrollbar-thumb {
    background: #888; /* スクロールバーの操作部分の背景色 */
    border-radius: 5px; /* 角丸にする */
  }

  /* スクロールバーの操作部分にホバーした時のスタイル */
  .table_box::-webkit-scrollbar-thumb:hover {
    background: #555; /* ホバー時のスクロールバーの操作部分の背景色 */
  }
  table.slidetable2 {
    width: 100%;
    border: 1px solid #acacac;
    margin-bottom: 10px;
  }
  table.slidetable2 th {
    background: #fff4e8;
    text-align: center;
    font-weight: 500;
    font-size: 1.2rem;
    padding: 10px 15px;
    border: 1px solid #acacac;
    color: #181818;
  }
  table.slidetable2 td {
    background: #fff;
    text-align: center;
    font-weight: 500;
    font-size: 1.3rem;
    padding: 10px 15px;
    border: 1px solid #acacac;
    color: #181818;
  }
  .prmestab {
  }
  .panel_area .tab_panel.prmestab h2 + div {
    margin-bottom: -35px;
  }
  .prmes {
    display: block;
    margin-bottom: 0 !important;
  }
  .prmes img {
    width: 76%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-width: 543px;
  }
  .prmes .prsname {
    display: block;
    width: 100%;
    text-align: right;
    padding-top: 3rem;
  }

  .history_block .history_box {
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #d0d0d0;
    display: flex;
  }

  .history_block .history_box div.day {
    display: block;
    width: 20%;
    color: #6c6c6c;
    font-size: 1.3rem;
  }

  .history_block .history_box div {
    display: block;
    width: 80%;
  }

  .history_block .history_box div span {
    font-weight: 500;
    font-size: 1.4rem;
    line-height: 1.8;
  }

  .history_block .history_box div p {
    font-size: 1.2rem;
    line-height: 1.8;
    margin-bottom: 0;
  }

  .history_block .history_box div p.bottom_border {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }

  .rinenImg {
    width: 100%;
    height: 45vw;
    object-fit: cover; /* この一行を追加するだけ！ */
  }
  .valuelist {
    width: 100%;
  }
  .valuelist > div {
    width: 100%;
    text-align: center;
    border-bottom: 1px solid #aaa;
    padding-bottom: 1rem;
  }
  .valuelist > div:last-child {
    border-bottom: 0px solid #aaa;
    padding-bottom: 0rem;
  }
  .valuelist > div img {
    transform: scale(0.7);
    transform-origin: center center;
  }
  .valuelist > div .main {
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
  }
  .valuelist > div p {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 180%; /* 30.6px */
  }

  /* blog */
  main.blog {
    padding-top: 60px;
  }
  .breadcrumbs {
    padding-top: 20px;
    width: 100%;
    margin-bottom: 35px;
  }
  .breadcrumbs .content {
    width: 100%;
    max-width: 1430px;
    margin: 0 auto;
  }
  .breadcrumbs ol {
    display: flex;
    overflow-x: auto;
    padding: 0 20px 12px 20px;
  }
  .breadcrumbs ol li {
    color: #aaa;
    font-size: 1.25rem;
    font-weight: 400;
    padding-right: 5px;
    white-space: nowrap;
  }
  .breadcrumbs ol li::after {
    content: ">";
    color: #aaa;
    font-size: 1.25rem;
    font-weight: 400;
    padding-left: 5px;
  }
  .breadcrumbs ol li:last-child::after {
    content: "";
    padding-left: 0rem;
  }
  .breadcrumbs ol li a {
    color: #aaa;
  }

  .blog_cullumn {
    width: 100%;
  }
  .blog_cullumn .content {
    width: 100%;
    display: block;
    padding: 0 20px;
  }
  .blog_cullumn .blog_body {
    width: 100%;
    margin-bottom: 100px;
  }
  .blog_cullumn .blog_nav {
    width: 100%;
  }
  .blog_cullumn .blog_head {
    width: 100%;
  }
  .blog_cullumn .blog_head .top {
    width: 100%;
    display: flex;
    margin-bottom: 10px;
    flex-wrap: wrap;
  }
  .blog_cullumn .blog_head .top span.day {
    color: rgba(24, 24, 24, 0.4);
    font-family: Roboto;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 22px;
    padding-right: 10px;
    width: 100%;
  }
  .blog_cullumn .blog_head .top a {
    display: inline-block;
    margin-right: 5px;
    height: 22px;
    margin-bottom: 5px;
  }
  .blog_cullumn .blog_head .top a span.tag {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 22px;
    padding: 0 7px;
    border-radius: 3px;
    border: 1px solid #f81;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: -1px;
  }
  .blog_cullumn .blog_head .top a span.tag01 {
    background: #f81;
    color: #fff;
  }
  .blog_cullumn .blog_head .top a span.tag02 {
    background: #fff;
    color: #f81;
  }
  .blog_cullumn .blog_head h1 {
    color: var(--Orange, #f81);
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 40px;
  }
  .blog_cullumn .blog_content {
    width: 100%;
    padding-bottom: 8rem;
  }
  .blog_cullumn .blog_content p {
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.3px;
    margin-bottom: 30px;
  }
  .blog_cullumn .blog_content #toc_container {
    background: #fff4e8;
    padding: 20px 20px 10px;
    margin-bottom: 40px;
    margin-top: 40px;
  }
  .blog_cullumn .blog_content #toc_container p.toc_title {
    color: var(--Orange, #f81);
    font-size: 1.55rem;
    font-weight: 700;
    margin-bottom: 12px;
  }
  .blog_cullumn .blog_content #toc_container .toc_list {
    width: 100%;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > a {
    display: inline-block;
    color: var(--Black, #181818);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 2.2rem;
    padding-left: 20px;
    background: url(images2025/tocicon.png) left center no-repeat;
    background-size: 12px 12px;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul {
    padding: 5px 0 10px 30px;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul li {
    width: 100%;
    margin-bottom: 0.5rem;
  }
  .blog_cullumn .blog_content #toc_container .toc_list > li > ul li a {
    display: inline-block;
    height: 2rem;
    color: var(--Black, #181818);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.5;
  }
  .blog_cullumn .blog_content h2 {
    width: 100%;
    background: #181818;
    padding: 12px 15px;
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.7;
    margin-bottom: 30px;
    margin-top: 40px;
    border-radius: 5px;
  }
  .blog_cullumn .blog_content img.normal {
    width: 100%;
    margin-bottom: 30px;
  }
  .blog_cullumn .blog_content h3 {
    position: relative;
    display: block;
    width: 100%;
    padding-left: 12px;
    color: #000;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.7;
    margin-bottom: 25px;
    margin-top: 40px;
  }
  .blog_cullumn .blog_content h3::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 2px;
    height: 100%;
    background: #ff8811;
    border-radius: 10px;
  }
  .blog_cullumn .blog_nav > div {
    width: 100%;
    padding-bottom: 3.5rem;
    margin-bottom: 3.5rem;
    border-bottom: 1px solid #d1d1d1;
  }
  .blog_cullumn .blog_nav > div h2 {
    color: var(--Black, #181818);
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 25px;
  }
  .blog_cullumn .blog_nav > div ul.postlist {
    width: 100%;
  }
  .blog_cullumn .blog_nav > div ul.postlist li {
    width: 100%;
    margin-bottom: 15px;
  }
  .blog_cullumn .blog_nav > div ul.postlist li:last-child {
    margin-bottom: 0rem;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a img {
    width: min(35%, 175px);
    margin-right: 12px;
  }
  .blog_cullumn .blog_nav > div ul.postlist li a span {
    display: inline-block;
    width: 100%;
    color: var(--Black, #181818);
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.7;
  }
  .blog_cullumn .blog_nav > div ul.categorylist {
    width: 100%;
  }
  .blog_cullumn .blog_nav > div ul.categorylist li {
    width: 100%;
    margin-bottom: 5px;
  }
  .blog_cullumn .blog_nav > div ul.categorylist li a {
    color: var(--Orange, #f81);
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.6;
  }
}

/* ---------------------------------------------------------------------
共通CTA
--------------------------------------------------------------------- */
/* layout
--------------------------------------------- */
/* layout
--------------------------------------------- */
.wrapper {
  position: relative;
  z-index: 1;
  width: 75%;
  margin: 0 auto;
}

.inner {
  width: 85%;
  margin: 0 auto;
}

.flex {
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .wrapper {
    min-width: 1100px;
    max-width: 1366px;
  }
  .inner {
    min-width: 920px;
    max-width: 1140px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper {
    width: 85%;
  }
  .inner {
    width: 100%;
  }
}
/* text
--------------------------------------------- */
.kerning {
  display: inline;
}
.tx_orange {
  color: #ff8811;
}
.tx_yellow {
  color: #f6f700;
}
.tx_grad {
  font-weight: 600;
  background: linear-gradient(
    180deg,
    rgb(255, 136, 17) 0%,
    rgb(255, 208, 78) 100%
  );
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
}

.tx_red {
  color: #ff1600;
}

.tx_marker {
  background: linear-gradient(transparent 60%, #ffef95 60%, #ffef95 100%);
}

/* list
--------------------------------------------- */
.ul_normal li {
  padding-left: 1em;
  text-indent: -1em;
}

.ul_normal li:before {
  content: "・";
}

.ul_caution li {
  padding-left: 1em;
  text-indent: -1em;
}

.ul_caution li:before {
  content: "※";
}

@media print, screen and (min-width: 768px) {
  .wrapper {
    min-width: 1100px;
    max-width: 1366px;
  }
  .inner {
    min-width: 920px;
    max-width: 1140px;
  }
}
@media screen and (max-width: 767px) {
  .wrapper {
    width: 85%;
  }
  .inner {
    width: 100%;
  }
}

.cta {
  padding: 8rem 0;
  background: url(images2025/bg-cta.png) no-repeat center center/cover;
}
@media print, screen and (min-width: 768px) {
  .cta {
    text-align: center;
  }
}
.cta .inner {
  padding: 5rem;
  background-color: #ffffff;
  box-shadow: 0px 3.07917px 7.69792px rgba(0, 0, 0, 0.25);
}
@media screen and (max-width: 767px) {
  .cta .inner {
    padding: 1.5rem 1.5rem 2rem 1.5rem;
  }
}
.cta .inner p.main {
}
@media screen and (max-width: 767px) {
  .cta .inner p.main {
    margin-top: 0.5rem;
    font-size: 1.5rem;
  }
}
.cta .inner .flex {
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .cta .inner .flex {
    margin-top: 0;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .cta .inner p.link {
    width: 90%;
    margin: 1rem auto 2rem auto;
  }
}
.cta .inner p.link a {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 35rem;
  padding: 2rem 4rem;
  border-radius: 6em;
  font-weight: 500;
  color: #ffffff;
  background-color: #181818;
  transition: 0.3s;
  font-size: 1.8rem !important;
}
@media screen and (max-width: 767px) {
  .cta .inner p.link a {
    width: 100%;
  }
}
.cta .inner p.link a:before {
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  background-color: #ff8811;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 3.5rem;
  bottom: 0;
  margin: auto;
}
.cta .inner p.link a:after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border: 0;
  border-top: solid 2px #181818;
  border-right: solid 2px #181818;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 4.4rem;
  bottom: 0;
  margin: auto;
}
.cta .inner p.link a:hover {
  background-color: #ff8811;
  transition: 0.3s;
}
.cta .inner p.link a:hover::before {
  background-color: #ffffff;
}
.cta .inner p.link a:hover::after {
  border-top: solid 2px #ff8811;
  border-right: solid 2px #ff8811;
}
.cta .inner .info {
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  .cta .inner .info {
    padding-left: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .cta .inner .info {
    text-align: center;
  }
}
.cta .inner .info .tel {
  display: inline-flex;
  align-items: center;
  font-family: "Roboto", sans-serif;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  .cta .inner .info .tel {
    margin-bottom: 0.5rem;
  }
}
.cta .inner .info .tel a {
  display: inline-flex;
  align-items: center;
  color: #181818;
}
.cta .inner .info .tel a::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background: url(images2025/icon-tel.svg) no-repeat left center/contain;
}
.cta .inner .info .date {
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
}

.cta .sub {
  color: #181818;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 160%; /* 28.8px */
  letter-spacing: 0.9px;
}
.cta p.main {
  color: #181818;
  text-align: center;
  font-size: 4rem;
  font-weight: 500;
  line-height: 160%; /* 64px */
  letter-spacing: 1.2px;
  padding-top: 1rem;
}

/* ---------------------------------------------------------------------
比較シュミレーション
--------------------------------------------------------------------- */
.sp {
  display: none;
}

#simulation {
  padding: 10rem 0 2rem;
}

#simulation .wrapper {
  position: relative;
  z-index: 1;
  width: 75%;
  margin: 0 auto;
  min-width: 1100px;
  max-width: 1366px;
}
@media screen and (max-width: 767px) {
  #simulation {
    padding: 40px 0 25px;
  }
  #simulation .wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    min-width: unset;
    max-width: unset;
  }
  #simulation h2 {
    margin-bottom: 6rem;
  }
}
#simulation section:nth-of-type(1) {
  margin-bottom: 8rem;
}
#simulation section .title {
  position: relative;
  background-color: #ffe7cf;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  #simulation section .title {
    height: 11.9rem;
  }
}
#simulation section .title h3 {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  #simulation section .title h3 {
    padding-left: 8rem;
  }
}
@media screen and (max-width: 767px) {
  #simulation section .title h3 {
    width: 100%;
    padding: 2rem 20px;
  }
  #simulation section:nth-of-type(1) {
    margin-bottom: 40px;
  }
}
#simulation section .title h3 span {
  line-height: 1;
}
#simulation section .title h3 .label {
  position: absolute;
  top: 50%;
  left: -3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5em;
  color: #f6f700;
  background-color: #ff8811;
  text-align: center;
  font-size: 2.6rem;
  font-weight: 700;
}
@media print, screen and (min-width: 768px) {
  #simulation section .title h3 .label {
    width: 8.9rem;
    height: 8.9rem;
    border-radius: 100%;
    transform: translateY(-50%);
  }
}
@media screen and (max-width: 767px) {
  #simulation section .title h3 .label {
    top: 0;
    padding: 1rem 4em;
    border-radius: 1em 1em 0 0;
    transform: translateY(-100%);
    left: 0;
    font-size: 1.6rem;
  }
}
#simulation section .title h3 .small {
  padding: 0 1em;
  font-size: 1.8rem;
  font-weight: 700;
  padding-top: 1.2rem;
}
#simulation section .title h3 .normal {
  font-size: 3.2rem;
  font-weight: 700;
}
#simulation section .title h3 .camera360 {
  color: #ff8811;
  font-size: 4.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #simulation section .title h3 .camera360 {
    font-size: 2rem;
  }
  #simulation section .title h3 .normal {
    font-size: 1.6rem;
  }
}
#simulation section .image {
  margin: 10rem auto;
}
#simulation section .image img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #simulation section .image {
    margin: 4rem auto;
  }
  #simulation section .image img {
    width: 100%;
  }
}
#simulation section .cost h3 {
  border-radius: 1rem;
  margin-bottom: 4rem;
  padding: 2rem;
  color: #ffffff;
  background-color: #181818;
  font-weight: 700;
  font-size: 3.8rem;
  line-height: 150%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #simulation section .cost h3 {
    margin-bottom: 2rem;
    font-size: 2rem;
  }
}
#simulation section .cost table {
  width: 100%;
  margin: 2.5rem auto 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #simulation section .cost table {
    table-layout: fixed;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  #simulation section .cost table thead {
    display: none !important;
  }
}
#simulation section .cost table thead tr th {
  padding: 2rem 1em;
  border: 1px solid #acacac;
  background-color: #f1f1f1;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  font-size: 1.8rem;
}
#simulation section .cost table tbody tr th,
#simulation section .cost table tbody tr td {
  padding: 1.5rem 0;
  border: 1px solid #a3a3a3;
  font-weight: 400;
  line-height: 2em;
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  #simulation section .cost table tbody tr th,
  #simulation section .cost table tbody tr td {
    padding: 1rem 0;
  }
}
#simulation section .cost table tbody tr th {
  background-color: #f1f1f1;
}
#simulation section .cost table tbody tr td {
  padding: 2.5rem 0.5em;
  text-align: center;
}
#simulation section .cost table tbody tr td div {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
}
#simulation section .cost table tbody tr td .num {
  padding-right: 0.5rem;
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 3.8rem;
  line-height: 1em;
}
@media screen and (max-width: 767px) {
  #simulation section .cost table tbody tr td .num {
    font-size: 2.2rem;
  }
  #simulation section .cost table tbody tr th {
    display: block !important;
    width: 100% !important;
    margin-top: 2rem;
    border-bottom: 0;
    font-size: 2rem;
  }
  #simulation section .cost table tbody tr td {
    display: block !important;
    width: 100% !important;
    position: relative;
    padding: 0;
    border-bottom: 0;
  }
  #simulation section .cost table tbody tr td .label {
    display: flex;
    align-items: center;
    width: 100%;
  }
  #simulation section .cost table tbody tr td .label > div {
    width: 60%;
    text-align: center;
  }
  #simulation section .cost table tbody tr td .label::before {
    content: attr(data-row-label);
    white-space: pre-line;
    display: inline-block;
    width: 40%;
    padding: 1.5rem 0;
    background-color: #f1f1f1;
    border-right: 1px solid #a3a3a3;
    font-size: 1.4rem;
  }
  #simulation section .cost table tbody tr td div {
    font-size: 1.4rem;
  }
}
#simulation section .cost table.tb_cost thead tr {
  font-size: 2.5rem;
}
#simulation section .cost table.tb_cost thead tr .camera360 {
  background-color: #ffe7cf;
}
#simulation section .cost table.tb_cost thead tr .difference {
  position: relative;
  border-right: 1px solid #ff8811;
  color: #ffffff;
}
#simulation section .cost table.tb_cost thead tr .difference span {
  position: relative;
  z-index: 1;
  font-size: 2.5rem;
}
#simulation section .cost table.tb_cost thead tr .difference::before {
  content: "";
  position: absolute;
  left: -1px;
  bottom: -1px;
  display: block;
  width: calc(100% + 2px);
  height: calc(100% + 0.5rem);
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(270deg, #ff8811 0%, #ffbd3e 100%);
}
#simulation section .cost table.tb_cost tbody tr th {
  width: 13%;
  font-size: 2rem;
  font-weight: 500;
}
#simulation section .cost table.tb_cost tbody tr td {
  width: 29%;
}
@media print, screen and (min-width: 768px) {
  #simulation section .cost table.tb_cost tbody tr td.camera360 {
    border-right: 1px solid #ff8811;
  }
}
@media screen and (max-width: 767px) {
  #simulation section .cost table.tb_cost tbody tr td.camera360 .label::before {
    background: #ffe7cf;
  }
  #simulation section .cost table.tb_cost tbody tr th {
    font-size: 1.4rem !important;
    font-weight: 500;
  }
}
#simulation section .cost table.tb_cost tbody tr td.difference {
  border: 1px solid #ff8811;
  background-color: #fffbf6;
}
#simulation section .cost table.tb_cost tbody tr td.difference .num {
  color: #ff8811;
}
@media screen and (max-width: 767px) {
  #simulation
    section
    .cost
    table.tb_cost
    tbody
    tr
    td.difference
    .label::before {
    font-weight: 600;
    color: #ffffff;
    background: linear-gradient(270deg, #ff8811 0%, #ffbd3e 100%);
    border-right: 1px solid #ff8811;
  }
}
#simulation section .cost table.tb_spec thead tr th.normal {
  background-color: #ffe7cf;
}
#simulation section .cost table.tb_spec thead tr th.camera360 {
  border: 1px solid #ff8811;
  color: #ffffff;
  background-color: #ff8811;
  font-size: 2.5rem;
}
#simulation section .cost table.tb_spec tbody tr th {
  width: 20%;
  font-size: 1.8rem;
  font-weight: 700;
}
#simulation section .cost table.tb_spec tbody tr td {
  width: 40%;
}
#simulation section .cost table.tb_spec tbody tr td.normal {
  border-right: 1px solid #ff8811;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  #simulation section .cost table.tb_spec tbody tr td.normal .label::before {
    background: #ffe7cf;
  }
  #simulation section .cost table.tb_spec tbody tr th {
    font-size: 1.4rem;
  }
}
#simulation section .cost table.tb_spec tbody tr td.camera360 {
  border: 2px solid #ff8811;
  color: #ff8811;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 150%;
}
#simulation section .cost table.tb_spec tbody tr td.camera360 div div {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #simulation section .cost table.tb_spec tbody tr td.camera360 {
    font-size: 2rem;
  }
  #simulation section .cost table.tb_spec tbody tr td.camera360 .label::before {
    font-weight: 600;
    color: #ffffff;
    background: #ff8811;
    border-right: 1px solid #ff8811;
  }
  #simulation section .cost table.tb_spec tbody tr td.camera360 div div {
    font-size: 2rem;
  }
}
#simulation section .cost .result {
  margin-top: 5rem;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  #simulation section .cost .result {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2rem;
  }
}
#simulation section .cost .result dt {
  padding: 1rem;
  border: 1px solid #acacac;
  border-bottom: 0;
  color: #ffffff;
  background-color: #ff8811;
  font-size: 1.8rem;
}
@media print, screen and (min-width: 768px) {
  #simulation section .cost .result dt {
    grid-row: 1;
  }
}
#simulation section .cost .result dd {
  margin-bottom: 2rem;
  padding: 0.75rem 0.5rem;
  border: 1px solid #acacac;
  border-top: 0;
}
@media print, screen and (min-width: 768px) {
  #simulation section .cost .result dd {
    grid-row: 2;
  }
}
#simulation section .cost .result dd .num {
  padding-right: 0.5rem;
  color: #ff8811;
  font-family: "Roboto", sans-serif;
  font-weight: 600;
  font-size: 3.8rem;
}
#simulation section .cost .caution {
  margin: 6rem 0;
  padding: 4rem;
  background-color: #f5f5f5;
}
#simulation section .cost .caution p {
  font-weight: 400;
  font-size: 1.8rem;
}
#simulation section .cost .caution p span {
  color: #f81;
}
@media print, screen and (min-width: 768px) {
  #simulation ul.feature {
    display: flex;
    justify-content: space-between;
  }
}
#simulation ul.feature li {
  padding: 2rem;
  background-color: #fff4e8;
}
@media print, screen and (min-width: 768px) {
  #simulation ul.feature li {
    width: calc((100% - 8rem) / 3);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #simulation ul.feature li {
    display: flex;
    align-items: center;
    margin-bottom: 2rem;
    padding: 3rem;
  }
  #simulation section .cost .result dt {
    font-size: 1.4rem;
  }
  #simulation section .cost .result dd .num {
    font-size: 2.8rem;
  }
  #simulation section .cost .caution {
    margin: 40px 0;
    padding: 20px;
  }
  #simulation section .cost .caution p {
    font-weight: 400;
    font-size: 1.4rem;
  }
}
#simulation ul.feature li .image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30%;
}
@media print, screen and (min-width: 768px) {
  #simulation ul.feature li .image {
    height: auto;
    aspect-ratio: 1/1;
    margin: 0 auto 2rem auto;
  }
}
@media screen and (max-width: 767px) {
  #simulation ul.feature li .image {
    width: 20%;
    margin-right: 2rem;
  }
}
#simulation ul.feature li:nth-child(3) .image img {
  width: 90%;
}
#simulation ul.feature li h4 {
  margin-bottom: 0.5rem;
  color: #ff8811;
  font-weight: 600;
  font-size: 2.5rem;
}
@media screen and (max-width: 767px) {
  #simulation ul.feature li h4 {
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 767px) {
  #simulation ul.feature li p {
    font-size: 1.8rem;
  }
}

/* form */

.mw_wp_form_input .soshinbtn {
  display: none !important;
}
.mw_wp_form_confirm .form_attention,
.mw_wp_form_confirm .shodakuCheck,
.mw_wp_form_confirm .descr {
  display: none !important;
}
.contact_h {
  min-height: 90vh;
  display: flex;
  align-items: center;
}

/* ---------------------------------------------------------------------
無料相談フォーム
--------------------------------------------------------------------- */

.contactform p.des {
  font-weight: 400;
  font-size: 1.8rem;
}
.contactform .req {
  display: inline-block;
  padding: 0 0.25em;
  color: #ff1600;
}
.contactform dl {
  margin: 2rem auto 3rem auto;
}
@media print, screen and (min-width: 768px) {
  .contactform dl {
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .contactform dl {
    flex-direction: column;
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .contactform dl .flex {
    align-items: center;
    margin-bottom: 2rem;
  }
}
.contactform dl dt {
  font-weight: 500;
  font-size: 2rem;
}
@media print, screen and (min-width: 768px) {
  .contactform dl dt {
    width: 20em;
  }
}
@media screen and (max-width: 767px) {
  .contactform dl dt {
    width: 100%;
    margin-bottom: 0.5rem;
  }
}
@media print, screen and (min-width: 768px) {
  .contactform dl dd {
    width: calc(100% - 20em);
  }
}
@media screen and (max-width: 767px) {
  .contactform dl dd {
    width: 100%;
    margin-bottom: 2rem;
  }
}
.contactform input:not([type="checkbox"]),
.contactform select {
  width: 100%;
  padding: 0.75em 1em;
  border: 1px solid #181818;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1em;
}
.contactform select {
  width: 100%;
  padding: 0.75em 1em;
  border: 1px solid #181818;
  font-weight: 500;
  font-size: 2rem;
  line-height: 1em;
}
.contactform input::placeholder {
  color: #d1d1d1;
}
.contactform .checklist,
.contactform .form-accept {
  font-weight: 400;
  font-size: 1.8rem;
}
.contactform .checklist label,
.contactform .form-accept label {
  display: flex;
  align-items: center;
  margin: 0.5rem 0;
}
.contactform .checklist input[type="checkbox"],
.contactform .form-accept input[type="checkbox"] {
  margin-right: 0.5em;
  accent-color: #ff1600;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid #181818;
}
.contactform .form-submit button[type="submit"] {
  display: block;
  width: 90%;
  margin: 2rem auto;
  padding: 1rem;
  border-radius: 3em;
  color: #ffffff;
  background-color: #181818;
  font-size: 1.8rem;
  cursor: pointer;
  transition: 0.3s;
}
@media print, screen and (min-width: 768px) {
  .contactform .form-submit button[type="submit"] {
    width: 25rem;
  }
}
.contactform .form-submit button[type="submit"]:hover {
  background-color: #ff8811;
  transition: 0.3s;
}
.contactform .form-accept label {
  justify-content: center;
}

header .headlogo {
  background: url(images/4steclogo_header_leftnormal.png) center center
    no-repeat !important;
  background-size: 100% 100% !important;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.sb-active header .headlogo {
  background: url(images2025/4steclogo_wh.png) center center no-repeat !important;
  background-size: 100% 100% !important;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
}
.hid {
  display: none !important;
}

/* 20251217 追加ニュース */
@media (min-width: 479px) {
  .attention2021 {
    width: 80%;
    max-width: 950px;
    background: #fff;
    margin: 0px auto 6rem auto;
    padding: 20px 40px;
    border: 2px solid #555;
  }
  .attention2021 .main {
    display: block;
    text-align: center;
    font-weight: 700;
    padding-bottom: 15px;
    font-size: 2.2rem;
    color: #000;
  }
  .attention2021 .text {
    display: block;
    padding-bottom: 20px;
    font-size: 2rem;
    text-align: center;
    font-weight: 700;
  }
  .attention2021 .sub {
    display: block;
    font-weight: 400;
    color: #555;
    font-size: 1.65rem;
    line-height: 1.5;
    text-align: center;
  }
}
@media (max-width: 479px) {
  .attention2021 {
    background: #fff;
    margin: 0px 20px 4rem;
    padding: 15px;
    border: 1px solid #555;
    width: calc(100% - 40px);
  }
  .attention2021 .main {
    display: block;
    text-align: center;
    font-weight: 700;
    padding-bottom: 8px;
    font-size: 1.6rem;
  }
  .attention2021 .text {
    display: block;
    padding-bottom: 10px;
    font-size: 1.4rem;
  }
  .attention2021 .sub {
    display: block;
    font-weight: 400;
    color: #555;
    font-size: 1.1rem;
    line-height: 1.7;
  }
}
/* 20260311追記 */

#contact .contactform .checklist,
#contact .contactform .form-accept {
  margin-bottom: 20px;
  text-align: center;
}

@media (min-width: 677px) {
  .lower_fv .content .text .titlefont {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    padding-left: 5px;
    padding-bottom: 20px;
    display: inline-block;
    transform: none;
  }
}
@media (max-width: 676px) {
  .lower_fv .content .text .titlefont {
    color: var(--white, #fff);
    text-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    font-family: "Zen Kaku Gothic New";
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.5;
    display: inline-block;
    transform: matrix(1, 0, -0.18, 0.98, 0, 0);
    padding-bottom: 10px;
  }
}
