*,::after,::before {
  box-sizing:border-box
}
@font-face {
  font-family: 'AckaiSyo';
  src: url('../fonts/ackaisyo.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'azukiLB';
  src: url('../fonts/azukiLB.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'azuki';
  src: url('../fonts/azuki.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}
ol,ul {
  padding:0
}
blockquote,body,dd,dl,figure,h1,h2,h3,h4,ol,p,ul {
  margin:0
}
html {
  scroll-behavior:smooth
}
body {
  min-height:100vh;
  line-height:1.5;
  text-rendering:optimizeSpeed
}
ol,ul {
  list-style:none
}
a {
  text-decoration:none
}
img {
  display:block;
  width:100%;
  max-width:100%
}
article>*+* {
  margin-top:1em
}
button,input,select,textarea {
  font:inherit
}
img:not([alt]) {
  filter:blur(10px)
}
button,input,select,textarea {
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  border:none;
  border-radius:0;
  outline:0;
  background:0 0;
  font:inherit
}
textarea {
  resize:vertical
}
button,input[type=button],input[type=submit],label,select {
  cursor:pointer
}
select::-ms-expand {
  display:none
}
body {
  color:#1a1f20;
  font-weight:500;
  font-size:1.1875rem;
  line-height:2;
  font-family:"Yu Gothic","游ゴシック",YuGothic,"游ゴシック体","ヒラギノ角ゴ Pro W3","メイリオ",sans-serif
}
body,html {
  overflow-x:hidden
}
a {
  transition:opacity .3s ease
}
a:hover {
  opacity:.6
}
html {
  font-size:16px
}
a[href^="tel:"] {
  pointer-events:none
}
main {
  overflow:hidden
}
.l-inner {
  width:68.75rem;
  max-width:100%;
  margin-inline:auto;
  padding-inline:1.5625rem
}
.l-container {
  width:60rem;
  max-width:100%;
  margin-inline:auto
}
.c-section-title {
  display:flex;
  align-items:center;
  width:100vw;
  height:9.8125rem;
  margin-inline:calc(50% - 50vw);
  background-color:#49a260
}
.c-section-title__text {
  display:flex;
  align-items:center;
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
  color:#fff;
  font-weight:700;
  font-size:3rem
}
.c-section-title__text::before {
  display:inline-block;
  width:3rem;
  height:3rem;
  margin-inline-end:1rem;
  content:""
}
#company .c-section-title__text::before {
  background-image:url(../image/company-icon.webp);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat
}
#contact .c-section-title__text::before {
  background-image:url(../image/contact-icon.webp);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat
}
#faq .c-section-title__text::before {
  background-image:url(../image/faq-icon.webp);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat
}
.c-button {
  display:flex;
  position:relative;
  align-items:center;
  color:#fff;
  font-weight:700
}
.c-button.c-button--orange {
  background-image:linear-gradient(270deg,#f4b94e,#f15a24);
  transition:transform .3s,box-shadow .3s
}
#header .c-button--orange {
  height:2.5rem;
  transition: transform .3s;
}
#header .c-button--orange:hover {
  opacity:.7
}
#header .p-header__item.h-contact {
  width: 25rem;
}
#header .p-header__item.h-tel {
  width: 45rem;
}
#fv .c-button.c-button--orange {
  position:relative;
  justify-content:center;
  width:36rem;
  height:4.125rem;
  border-radius:2.0625rem;
  box-shadow:.25rem .25rem rgba(165,165,165,.75);
  font-size:1.5625rem
}
#fv .c-button.c-button--orange:hover {
  transform:translateY(.25rem);
  box-shadow:0 0 rgba(0,0,0,.4);
  opacity:1
}
#fv .c-button.c-button--orange::after {
  display:inline-block;
  position:absolute;
  top:50%;
  right:1rem;
  width:1.0625rem;
  height:1.0625rem;
  transform:translateY(-50%);
  background-image:url(../image/orange-arrow.svg);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  content:""
}
#fv .c-button.c-button--orange .button-info {
  position:absolute;
  top:-1.125rem;
  left:50%;
  width:14.5rem;
  transform:translateX(-50%)
}
#cta .c-button.c-button--orange,#cta2 .c-button.c-button--orange {
  position:relative;
  justify-content:center;
  width:59.5625rem;
  height:6.8125rem;
  border-radius:3.40625rem;
  box-shadow:.25rem .25rem rgba(165,165,165,.75);
  font-size:2.5rem;
  letter-spacing:-.08em
}
#cta .c-button.c-button--orange:hover,#cta2 .c-button.c-button--orange:hover {
  transform:translateY(.25rem);
  box-shadow:0 0 rgba(0,0,0,.4);
  opacity:1
}
#cta .c-button.c-button--orange::after,#cta2 .c-button.c-button--orange::after {
  display:inline-block;
  position:absolute;
  top:50%;
  right:2rem;
  width:1.8125rem;
  height:1.8125rem;
  transform:translateY(-50%);
  background-image:url(../image/orange-arrow.svg);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  content:""
}
#cta .c-button.c-button--orange .button-info,#cta2 .c-button.c-button--orange .button-info {
  position:absolute;
  top:-3rem;
  left:50%;
  width:22.875rem;
  transform:translateX(-50%)
}
.c-button.c-button--green {
  background-color:#49a260;
  transition:transform .3s,box-shadow .3s
}
#contact .c-button.c-button--green {
  background: url(../image/contact-btn.webp) no-repeat center center;
  background-size: contain;
  border: none;
  width: 26rem;
  height: 12rem;
  text-indent: -9999px;
  transition: transform .3s;
}
#contact .c-button.c-button--green:hover {
  opacity: .7;
}
#contact .c-button.c-button--green::after {
  display:inline-block;
  position:absolute;
  top:50%;
  right:1rem;
  width:1rem;
  height:1rem;
  transform:translateY(-50%);
  background-image:url(../image/green-arrow.svg);
  background-position:center;
  background-size:contain;
  background-repeat:no-repeat;
  content:""
}
.c-line-area {
  position:relative;
  outline:solid #1a1f20 .07875rem
}
.c-line-area__title {
  position:absolute;
  top:-1.3125rem;
  left:50%;
  padding-inline:2rem;
  transform:translate(-50%,0);
  background-color:#fff;
  font-size:1.3125rem;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  text-align:center
}
.c-blue-icon {
  width:-moz-fit-content;
  width:fit-content;
  padding-inline:1.125rem;
  border-radius:9999px;
  background-color:#0f1e47;
  color:#fff;
  font-weight:700;
  font-size:1.2875rem;
  line-height:1.8;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.c-blue-icon.c-blue-icon--small {
  font-size:1.0625rem
}
#service3 .p-service-plan__lists {
  gap:2.5rem
}
.p-contact__lead {
  font-size:1.25rem;
  letter-spacing:.004em;
  line-height: 1.6;
  text-align:center;
  color: #fff;
}
.p-contact {
  background-color:#ffa353;
  padding: 100px 0;
}
.p-contact__container {
  padding-block-start:.5rem;
  padding-block-end:8.875rem
}
.p-contact__form {
  display:flex;
  flex-direction:column;
  margin-top: 30px;
}
.p-contact__row {
  padding: 1rem 2rem .5rem;
}
.p-contact__row:nth-child(odd) {
  background-color: #ffffff;
}
.p-contact__row:nth-child(even) {
  background-color: #f2f2f2;
}
.p-contact__head {
  font-size:1.3rem;
  line-height:1.6;
  font-weight: 700;
}
.p-contact__head span.--must {
  display:inline-block;
  position:relative
}
.p-contact__head span.--must::after {
  display:inline-block;
  position:absolute;
  top:calc(50% + 1px);
  left:calc(100% + 14px);
  padding:1px 7px;
  translate:0 -50%;
  border-radius:4px;
  background:#ed1c24;
  content:"必須";
  color:#fff;
  font-size:.75rem;
  line-height:normal;
  letter-spacing:.1em;
  white-space:nowrap
}
.p-contact__button-area {
  text-align:center
}
input[type=email],input[type=tel],input[type=text],select,textarea {
  width:100%;
  border-radius:0;
  font-size:1.3rem;
  line-height:normal
}
input[name="ご検討内容"],input[name="第一希望日"],input[name="第二希望日"],input[name="第三希望日"],select#time-slot,select#time-slot2,select#time-slot3 {
  width: 15%;
  border: 1px solid #b3b3b3;
  background-color: #fff;
  border-radius: 5px;
}
input[name="設置状況1"],input[name="設置状況2"],input[name="設置状況3"] {
  border: 1px solid #b3b3b3;
  background-color: #fff;
  border-radius: 5px;
}

input[name="第一希望日"],input[name="第二希望日"],input[name="第三希望日"] {
  width: 25%;
}
select#time-slot,select#time-slot2,select#time-slot3 {
  width: 30%;
  font-size: 1.25rem;
  height: 2.55rem;
  margin-left: 1rem;
}
input[type=email]::-moz-placeholder,input[type=tel]::-moz-placeholder,input[type=text]::-moz-placeholder,select::-moz-placeholder,textarea::-moz-placeholder {
  color:#ccc
}
input[type=email]::placeholder,input[type=tel]::placeholder,input[type=text]::placeholder,select::placeholder,textarea::placeholder {
  color:#ccc
}
input[type=email].--narrow,input[type=tel].--narrow,input[type=text].--narrow,select.--narrow,textarea.--narrow {
  width:30rem
}
input[type=submit] {
  margin-inline:auto
}
.p-contact__acceptance {
  text-align:center
}
select {
  width:30rem;
  height:4.75rem
}
.p-contact__select-wrap {
  position:relative
}
.p-contact__select-wrap svg {
  position:absolute;
  top:calc(50% + 2px);
  left:27rem;
  width:1.375rem;
  height:auto;
  translate:0 -50%;
  pointer-events:none
}
.checkbox-label,.radio-label {
  font-size: 1.25rem;
  font-weight: bold;
}
.checkbox-label input[type="checkbox"],.radio-label input[type="radio"] {
  margin-right: 5px;
  margin-top: 2px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
.p-contact__row .kome {
  font-size: 1rem;
  line-height: 1.5;
}
.p-contact__row .kome.top {
  margin-top: 10px;
}
.p-contact-flex {
  display: flex;
  align-items: flex-end;
  margin-top: 10px;
  gap: 1%;
}
.p-contact__date {
  display: flex;
  flex-wrap: wrap;
  column-gap: 3rem;
}
.p-contact__data.date {
  margin-top: 10px;
}
.write-cm {
  width: 50%;
  margin-left: 10px;
}
.write-cm .p-contact__head {
  display: block;
}
.installation-box {
  display: flex;
  gap: 3%;
}
.installation-status-field .kome2 {
  font-size: 0.75rem;
}
.installation-img {
  width: 8rem;
}
textarea {
  height:248px;
  font-size:1.4375rem;
  line-height:2.347826087;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  resize:vertical;
  border: 1px solid #b3b3b3;
  border-radius: 5px;
  padding: 8px;
  box-sizing: border-box;
  background-color: #fff;
  margin-top: 10px;
}
.p-contact__acceptance span {
  display:inline-block;
  position:relative;
  padding-left:30px;
  font-size:16px;
  line-height:normal
}
.p-contact__acceptance span::before {
  position:absolute;
  top:2.5px;
  left:0;
  width:20px;
  height:20px;
  border:1px solid #000;
  content:""
}
.p-contact__acceptance span::after {
  position:absolute;
  top:5px;
  left:7px;
  width:6px;
  height:12px;
  rotate:45deg;
  border-right:1.5px solid #000;
  border-bottom:1.5px solid #000;
  content:"";
  opacity:0;
  transition:opacity .3s ease
}
input[type=button],input[type=submit] {
  border-radius:0;
  -webkit-box-sizing:content-box;
  -webkit-appearance:button;
  -moz-appearance:button;
  box-sizing:border-box;
  appearance:button;
  border:none;
  background:0 0;
  cursor:pointer
}
input[type=button]::-webkit-search-decoration,input[type=submit]::-webkit-search-decoration {
  display:none
}
.p-form__button-area {
  text-align:center
}
.p-header {
  position: fixed;
  height:4.75rem;
  background-color:#fff;
  z-index: 9999;
  width: 100%;
}
.p-header__inner {
  height:inherit
}
.p-header__container {
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:56.6875rem;
  height:inherit;
  margin-inline:auto
}
.p-header__name {
  width:15rem
}
.p-header__nav {
  height:inherit
}
.p-header__items {
  display:flex;
  height:inherit;
  width: 35rem;
}
.p-header__item {
  display:flex;
  align-items:center;
  height:inherit
}
.p-header__link {
  color:#1a1f20;
  font-size:.9375rem;
  font-feature-settings:"palt"
}
.p-header__link.c-button {
  color:#fff
}
.p-header__item:not(:first-child) {
  margin-inline-start:1.375rem
}
.p-hamburger {
  z-index:5000;
  position:fixed;
  top:1.75rem;
  right:3.25rem;
  width:2.85rem;
  height:1.875rem;
  cursor:pointer
}
.p-hamburger span {
  position:absolute;
  left:0;
  width:100%;
  height:.1625rem;
  border-radius:.08125rem;
  background-color:#1a1f20;
  transition:opacity .3s,transform .3s
}
.p-hamburger span:nth-child(1) {
  top:0
}
.p-hamburger span:nth-child(2) {
  top:50%;
  transform:translateY(-50%)
}
.p-hamburger span:nth-child(3) {
  bottom:0
}
.p-hamburger.is-active span:nth-child(1) {
  top:.75rem;
  transform:rotate(-45deg)
}
.p-hamburger.is-active span:nth-child(2) {
  opacity:0
}
.p-hamburger.is-active span:nth-child(3) {
  top:.75rem;
  transform:rotate(45deg)
}
.p-drawer-menu {
  display:none;
  z-index:2000;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background-color:rgba(26,31,32,.3)
}
.p-drawer-menu__inner {
  width:60%;
  height:100%;
  margin-inline-start:auto;
  padding-block-start:6.5rem;
  padding-block-end:3.5rem;
  background-color:#fff
}
.p-drawer-menu__items {
  display:flex;
  flex-direction:column;
  align-items:center
}
.p-drawer-menu__item {
  width:100%
}
.p-drawer-menu__item:not(:last-child) {
  margin-block-end:2.5rem
}
.p-drawer-menu__link {
  display:block;
  width:100%;
  padding-block:1rem;
  color:#1a1f20;
  font-size:2.75rem;
  text-align:center
}
.p-footer {
  padding-block-start:2.5rem;
  padding-block-end:3rem;
  text-align:center
}
.p-footer__name {
  width:23.8125rem;
  margin-inline:auto
}
.p-footer__address {
  font-style:normal;
  font-size:1.35rem
}
.p-footer__nav {
  width:46.375rem;
  margin-inline:auto;
  margin-block-start:2.5rem
}
.p-footer__nav-items {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  -moz-column-gap:1.5rem;
  column-gap:1.5rem
}
.p-footer__nav-link {
  display:inline-block;
  padding-block:.5rem;
  color:#1a1f20;
  font-size:.9375rem;
  line-height:1.8666666667;
  letter-spacing:.04em
}
.p-accordion__summary {
  display:block
}
.p-accordion__summary::-webkit-details-marker {
  display:none
}
.p-accordion__item:not(:last-child) {
  margin-block-end:1.75rem
}
.p-accordion__question {
  position:relative;
  padding-inline:1.5rem;
  padding-block:1.5rem;
  background-color:#ff8b3a;
  border-radius: 10px;
}
.p-accordion__question::after {
  display:inline-block;
  position:absolute;
  top:50%;
  right:1.25rem;
  width:1.25rem;
  height:.75rem;
  translate:0 -50%;
  background:url(../image/down-arrow.svg) no-repeat center;
  background-size:contain;
  content:"";
  transition:rotate .2s ease
}
.p-accordion__question-text {
  position:relative;
  padding-inline:2.5rem;
  color:#fff;
  font-weight:700;
  font-size:1.5625rem;
  font-feature-settings:"palt";
  list-style:none
}
.p-accordion__question-text::before {
  display:inline-block;
  position:absolute;
  top:.5em;
  left:0;
  width: 58px;;
  height:26px;
  background-image:url(../image/Q-icon.svg);
  background-repeat: no-repeat;
  content:""
}
details[open] .p-accordion__question::after {
  rotate:180deg
}
.p-accordion__answer {
  padding: 1em;
  background-color: #ffebde;
  border-radius: 10px;
  margin-top: 10px;
}
.p-accordion__answer-text {
  position:relative;
  font-size:1.1875rem;
  line-height:2;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-company {
  padding: 120px 0;
  background-color: #fefde7;
}
.p-price__title{
  width: 62.5rem;
  margin: 0 auto;
}
.p-price__title img {
  margin: 0 auto;
}
.p-price__title.area-title {
  margin-top: 100px;
}
.p-company .price-1 {
  margin: 60px auto 0;
  width: 60rem;
}
.p-company .price-2 {
  margin: 30px auto 0;
  width: 58rem;
}
.p-company .price-3 {
  margin: 30px auto 0;
  width: 40rem;
}
.p-company .area-flex {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin: 60px auto 0;
  gap: 30px;
  width: 62.5rem;
}
.p-company__container {
  text-align:center
}
.p-company__name {
  width: 62.5rem;
  margin: 100px auto 0;
}
.p-company__info {
  margin-top: 60px;
}
.p-company__info-row {
  display:flex;
  align-items:start;
  width:62.5rem;
  margin-inline:auto;
  margin-block-start:1rem;
  gap:10rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #ff8b3a50;
}
.p-company__term {
  display:flex;
  align-items:center;
  width:8rem;
  color:#ff8b3a;
  font-weight:700;
  font-size:1.5rem;
  line-height:1.9;
  font-feature-settings:"palt";
  text-align:left;
}
.p-company__description {
  flex:1;
  -moz-text-align-last:left;
  font-size:1.5rem;
  line-height:1.9;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  text-align-last:left;
  color:#ff8b3a;
}
.p-faq {
  padding-block-start:6.25rem;
  padding-block-end:6.25rem;
}
.p-faq__title img {
  width: 27rem;
  margin: 0 auto;
}
.p-faq__accordion {
  margin-block-start:5.75rem
}
.p-flow {
  padding-block-start:9.125rem;
  padding-block-end:8.125rem;
  background:url(../image/flow-bg.webp) no-repeat center;
  background-size:cover;
  margin-top: -85px;
}
.p-flow.staff {
  padding-block-start:5rem;
  padding-block-end:6rem;
  background:url(../image/staff-bg.webp) no-repeat center;
  background-size: cover;
  margin-top: 0;
}
.p-flow__title {
  width:auto;
  margin-inline:auto
}
.p-flow__title img {
  width: auto;
  margin: 0 auto;
}
.p-flow__container {
  margin-block-start:5rem
}
.p-flow__container .pic-02 {
  margin-top: 50px;
}
.p-flow__container img {
  width: auto;
  margin: 0 auto;
}
.p-flow__items {
  display:flex
}
.p-flow__item {
  width:25%
}
.p-flow__header {
  position:relative;
  margin-block-end:1.4375rem;
  padding-block:.5rem;
  color:#fff;
  font-weight:700;
  font-size:1.5625rem;
  line-height:1.5;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  text-align:center
}
.p-flow__item:nth-child(1) .p-flow__header {
  background-color:#9fceaa
}
.p-flow__item:nth-child(2) .p-flow__header {
  background-color:#76b986
}
.p-flow__item:nth-child(3) .p-flow__header {
  background-color:#51a665
}
.p-flow__item:nth-child(4) .p-flow__header {
  background-color:#279140
}
.p-flow__item:not(:last-child) .p-flow__header::after {
  display:inline-block;
  z-index:200;
  position:absolute;
  top:50%;
  right:-1.4375rem;
  width:0;
  height:0;
  transform:translate(0,-50%);
  border-top:1.625rem solid transparent;
  border-right:0;
  border-bottom:1.625rem solid transparent;
  border-style:solid;
  content:""
}
.p-flow__item:nth-child(1) .p-flow__header::after {
  border-left:1.4375rem solid #9fceaa
}
.p-flow__item:nth-child(2) .p-flow__header::after {
  border-left:1.4375rem solid #76b986
}
.p-flow__item:nth-child(3) .p-flow__header::after {
  border-left:1.4375rem solid #51a665
}
.p-flow__image {
  padding-inline:.625rem
}
.p-message {
  padding-block-start:9.125rem;
  padding-block-end:8.125rem;
  background-image:url(../image/message-bg-top.webp),url(../image/message-bg-bottom.webp);
  background-position:top center,bottom center;
  background-size:contain,contain;
  background-repeat:no-repeat,no-repeat
}
.p-message__title {
  width:23.9375rem;
  margin-inline:auto
}
.p-message__container {
  margin-block-start:2rem
}
.p-message__message {
  display:inline-block;
  margin-block-start:3.25rem;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-message__message strong {
  color:#49a260;
  font-weight:700
}
.p-cta {
  background:url(../image/cta-bg.webp) repeat center;
  background-size:cover
}
.p-cta__inner {
  height:inherit;
  padding: 50px 0;
}
.p-service {
  padding-block-start:6.25rem;
  padding-block-end:8.125rem;
  background-color:#f0faee
}
.p-service__title {
  width:18.25rem;
  margin-inline:auto
}
.p-service__items {
  margin-block-start:3.3125rem;
  padding-inline:.625rem
}
.p-service__item {
  padding-inline:1.875rem;
  padding-block:2rem;
  border-radius:.625rem;
  background-color:#fff;
  box-shadow:0 0 3px rgba(73,162,96,.75)
}
.p-service__item:not(:last-child) {
  margin-block-end:1.6875rem
}
.p-service__item-header {
  color:#49a260;
  font-weight:700;
  font-size:1.6875rem;
  line-height:1;
  letter-spacing:.04em
}
.p-service__item-lead {
  margin-block:1rem;
  font-size:1.6875rem;
  line-height:1;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-service-plan__lists {
  display:flex;
  row-gap:1rem;
  flex-wrap:wrap;
  align-items:center;
  -moz-column-gap:1.875rem;
  column-gap:1.875rem;
  justify-content:center
}
.p-service__plan {
  width:52.3125rem;
  margin-inline:auto;
  margin-block-start:2.3125rem;
  padding-block:2.3125rem
}
.p-service__supplement {
  display:block;
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
  margin-block-start:.875rem;
  font-size:1rem;
  line-height:2.375;
  line-height:1;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
#service1 .p-service__plan-description {
  width:37.1875rem;
  margin-inline:auto;
  text-align:center
}
#service2 .p-service__plan-lists {
  display:flex;
  justify-content:space-between;
  width:47.375rem;
  margin-inline:auto
}
#service2 .p-service__plan-list {
  width:21.375rem
}
#service2 .p-service__plan-header {
  margin-inline:auto
}
.p-service__plan-image {
  margin-block:1rem
}
.p-service__plan-text {
  font-size:1rem;
  line-height:1.4375;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-service__plan-supplement {
  font-size:.6875rem;
  line-height:1;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-reason {
  padding-block-start:11rem;
  padding-block-end:10.625rem;
  background-color:#fef9e8
}

.reason-box {
  position: relative;
  background-color: #fff;
  box-shadow: 0 0 20px #e5914c;
  border-radius: 30px;
}

.reason-box.bottom {
  margin-top: 160px;
}

.reason-box::before {
  display: inline-block;
  position: absolute;
  top: -18.5%;
  left: 50%;
  width: 22.3125rem;
  height: 12.5rem;
  transform: translate(-50%, 0);
  content: "";
  background: url(../image/v01.webp) no-repeat center;
  background-size: contain;
}

.reason-box.bottom::before {
  top: -22.6%;
}

.p-reason__title {
  width:29.5rem;
  margin-inline:auto
}
.p-reason__items {
  display:flex;
  -moz-column-gap:.625rem;
  column-gap:.625rem;
  margin-block-start:6.25rem;
  padding-inline:1.25rem
}
.reason-box.bottom .p-reason__items {
  margin-block-start:1rem;
}

.p-reason__item {
  position:relative;
  padding-inline:1.5rem;
  padding-block-start:2.5rem;
  padding-block-end:2.1875rem;
  background-color:#fff;
}
.p-reason__item::after {
  display:inline-block;
  position:absolute;
  top:-1.75rem;
  left:50%;
  width:55px;
  height: 45px;
  transform:translate(-50%,0);
  content:"";
}

.reason-box.bottom .p-reason__item::after {
  content: none;
}

.p-reason__item:nth-child(1)::after {
  background:url(../image/point1.webp) no-repeat center;
  background-size:contain
}
.p-reason__item:nth-child(2)::after {
  background:url(../image/point2.webp) no-repeat center;
  background-size:contain
}
.p-reason__item:nth-child(3)::after {
  background:url(../image/point3.webp) no-repeat center;
  background-size:contain
}
.reason-box-tit img {
  width: auto;
  margin: 0 auto;
}
.p-reason__item-header {
  font-weight:700;
  font-size:2rem;
  line-height:1.3;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  text-align:center
}
.reason-box.bottom .p-reason__item-header {
  color: #ff8b3a;
}

.p-reason__item-header span {
  background-color: #ff8b3a;
  color: #fff;
  padding: .1em .3em;
}

.p-reason__item-image {
  width:auto;
  margin-inline:auto;
  margin-block-start: 1.5rem;
  margin-block-end:1.875rem
}
.p-reason__item-image img {
  margin: 0 auto;
  width: auto;
}
.p-reason__item-text {
  display:inline-block;
  width:16.875rem;
  margin-inline:auto;
  font-size:1.1875rem;
  line-height:1.5789473684;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-reason__item-text span {
  background-color:#fdf364
}
.p-problem {
  position:relative;
  padding-block-start:3.625rem;
  padding-block-end:3.75rem;
  background:url(../image/problem_bg.webp) no-repeat center;
  background-size:cover
}
.p-problem::before {
  display:inline-block;
  position:absolute;
  top:100%;
  left:50%;
  width:0;
  height:0;
  transform:translate(-50%,0);
  border-top:2.5rem solid #fff;
  border-right:6.25rem solid transparent;
  border-bottom:0;
  border-left:6.25rem solid transparent;
  border-style:solid;
  background:url(../image/problem-triangle.webp) no-repeat center;
  background-size:contain;
  content:""
}
.p-problem__inner {
  position:relative;
  height:100%
}
.p-problem__inner::before {
  display:inline-block;
  position:absolute;
  left:8.5rem;
  bottom:-3.5rem;
  width:10%;
  height:15.75rem;
  background:url(../image/problem2.webp) no-repeat center;
  background-size:contain;
  content:""
}
.p-problem__inner::after {
  display:inline-block;
  position:absolute;
  right:11.25rem;
  top:11.5rem;
  width:12%;
  height:15.75rem;
  background:url(../image/problem.webp) no-repeat center;
  background-size:contain;
  content:""
}
.p-problem__title {
  width:auto;
  margin-inline:auto
}
.p-problem__title img {
  width: auto;
  margin: 0 auto;
}
p.p-problem__title {
  margin-top: 50px;
}
.p-problem__lists {
  margin-block-start:1rem;
  padding-inline:15.5rem
}
.p-problem__list {
  position:relative;
  padding-inline-start:2.5rem;
  color:#1a1a1a;
  font-size:1.5rem;
  line-height:1.2666666667;
  font-feature-settings:"palt";
  letter-spacing:.04em;
  border-bottom: 2px dashed #7e7e7e;
  padding-bottom: .75rem;
  font-weight: bold;
}
.p-problem__list:last-child {
  border-bottom: none;
}
.p-problem__list strong {
  color:#ffa353;
  font-weight:700
}
.p-problem__list:not(:first-child) {
  margin-block-start:1rem
}
.p-problem__list::before {
  display:inline-block;
  position:absolute;
  top:35%;
  left:0;
  width:1.625rem;
  height:1.625rem;
  transform:translate(0,-50%);
  background:url(../image/check.webp) no-repeat center;
  background-size:contain;
  content:""
}
.p-fv {
  margin-top: 4.75rem;
}
.p-fv__container {
}
.p-fv__lead {
}
.p-fv__point {
  display:flex;
  position:relative;
  align-items:center;
  justify-content:center;
  width:36.625rem;
  height:7.0625rem;
  padding-block-start:1rem;
  border-radius:.25rem;
  outline:#49a260 .10625rem solid;
  background-color:rgba(255,255,255,.8)
}
.p-fv__point-header {
  position:absolute;
  top:-1.25rem;
  left:50%;
  width:33.1875rem;
  padding-block:.5rem;
  transform:translate(-50%,0);
  border-radius:99999px;
  background-color:#49a260;
  color:#fff;
  font-weight:700;
  font-size:1.48125rem;
  line-height:1
}
.p-fv__point-list {
  position:relative;
  padding-inline-start:2.25rem;
  color:#0f1e47;
  font-size:1.25rem;
  line-height:1.8;
  text-align:left
}
.p-fv__point-list span {
  background-color:#fdf364
}
.p-fv__point-list::before {
  display:inline-block;
  position:absolute;
  top:50%;
  left:0;
  width:1.625rem;
  height:1.625rem;
  transform:translate(0,-50%);
  background:url(../image/check-green.webp) no-repeat center;
  background-size:contain;
  content:""
}
.p-fv__catch {
  display:inline-block;
  width:31.625rem;
  margin-block-start:1.5rem;
  transform:translate(-1.5rem,0)
}
.p-fv__button {
  margin-block-start:3.5rem
}
.p-works {
  padding-block-start:5rem;
  padding-block-end:7.1875rem;
  background:url(../image/works-bg.webp) no-repeat center;
  background-size:cover
}
.p-works__inner.l-inner {
  padding-inline-start:2.6875rem;
  padding-inline-end:2.1875rem
}
.p-works__items {
  display:flex;
  row-gap:2.125rem;
  flex-wrap:wrap;
  justify-content:center;
  width:60rem;
  margin-inline:auto;
  margin-block-start:2.6875rem;
  -moz-column-gap:.75rem;
  column-gap:.75rem
}
.p-works__item {
  width:9.375rem;
  text-align:center
}
.p-works__title {
  width:29.84375rem;
  margin-inline:auto
}
.p-works__item-text {
  font-weight:700;
  font-size:1.25rem;
  line-height:1.2;
  font-feature-settings:"palt"
}
.p-works__message {
  margin-block-start:3.75rem;
  font-size:1.9375rem;
  font-feature-settings:"palt"
}
.p-voice {
  padding-block-start:7.125rem;
  padding-block-end:8.125rem;
  background:url(../image/voice-bg.webp) no-repeat center;
  background-size:cover
}
.p-voice__inner.l-inner {
  padding-inline:1.25rem;
}
.p-voice__title {
  width:29.375rem;
  margin-inline:auto;
  margin-bottom: 30px;
}
.p-voice-card {
  position:relative;
  margin-inline:auto;
  padding-block-start:3rem;
  padding-block-end:3rem;
  border-bottom: 2px dotted #ff8b3a;
}

.p-voice-card__image {
  position:relative;
  width:auto;
  margin-inline:auto;
  margin-top: 30px;
}

.p-voice-card__image img {
  width:auto;
  margin: 0 auto;
}
.p-voice-card__header {
  top:23.875rem;
  left:3.75rem;
  width:auto;
}
.p-voice-card__header img {
  width:auto;
  margin: 0 auto;
}

.p-voice-card__text {
  font-family: 'azuki', sans-serif;
  margin-inline:auto;
  margin-block-start:2rem;
  font-size:1.1875rem;
  line-height:2;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-voice-card__text span {
  color:#49a260;
  font-weight:700
}
.p-privacy {
  width:33.8125rem;
  height:15.5rem;
  margin-inline:auto;
  padding-block:2.125rem;
  overflow:scroll;
  border:.0625rem #1a1f20 solid;
  background:#fff;
  background-color:#fff;
  font-size:1.0625rem;
  line-height:1.6470588235
}
.p-privacy__inner {
  width:25.125rem;
  margin-inline:auto
}
.p-privacy__title {
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
  margin-block-end:1.5625rem;
  font-weight:500;
  font-size:1.5625rem;
  letter-spacing:.04em
}
.p-privacy__list,.p-privacy__text {
  font-weight:500;
  font-size:1.0625rem;
  line-height:1.6470588235;
  font-feature-settings:"palt";
  letter-spacing:.04em
}
.p-privacy__header,.p-privacy__lists,.p-privacy__text {
  margin-block-start:1.5625rem
}
.p-thanks {
  height:calc(100vh - 26.625rem)
}
.p-thanks__inner {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:inherit
}
.p-thanks__text {
  margin-block-start:7.5rem;
  font-size:1.5625rem;
  text-align:center
}
.u-show--md {
  display:none
}
.card__swiper,.card__swiper-container,.card__swiper-slide,.card__swiper-wrapper {
  position:relative
}
.swiper-button-next,.swiper-button-prev,.swiper-pagination-bullets.swiper-pagination-horizontal {
  top:unset;
  right:unset;
  bottom:unset;
  left:unset;
  margin:0;
  padding:0
}
.swiper-button-next::after,.swiper-button-prev::after {
  content:""
}
.swiper-button-next,.swiper-button-prev {
  top:50%;
  width:2.5rem;
  height:2.5rem;
  translate:0 -50%
}
.swiper-button-prev {
  left:1.375rem
}
.swiper-button-next {
  right:1.375rem
}
.swiper-pagination-bullets.swiper-pagination-horizontal {
  top:calc(100% + 29px)
}
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet {
  aspect-ratio:1;
  width:12px;
  height:auto;
  margin-inline:5.5px;
  border-radius:50%;
  background:#d9d9d9;
  opacity:1
}
.swiper-pagination-bullets.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background:#000
}
.padding {
  padding-block-start:7.5rem;
  padding-block-end:1.25rem
}

.p-problem__sp-img {
  display: none;
}
@media (any-hover:hover) {
  .p-accordion__question:hover {
    cursor:pointer
  }
}
@media (max-width:1100px) {
  html {
    font-size:1.4545454545vw
  }
}
@media screen and (max-width:960px) {
  body {
    font-size:2.1875rem
  }
  a:hover {
    opacity:1
  }
  a[href^="tel:"] {
    pointer-events:none
  }
  a[href^="tel:"] {
    pointer-events:auto
  }
  .l-inner {
    width:60rem;
    padding-inline:3.875rem
  }
  .c-section-title {
    height:13.875rem
  }
  .c-section-title__text {
    font-size:3.75rem
  }
  .c-section-title__text::before {
    width:4.5rem;
    height:4.5rem
  }
  #fv .c-button.c-button--orange {
    width:52.1875rem;
    height:13.4375rem;
    padding-block-start:3.125rem;
    border-radius:6.71875rem;
    box-shadow:.5375rem .5375rem rgba(76,37,37,.75);
    font-size:3.1625rem;
    letter-spacing:-.05em
  }
  #fv .c-button.c-button--orange:hover {
    transform:translateY(0);
    box-shadow:.5375rem .5375rem rgba(76,37,37,.75);
    opacity:1
  }
  #fv .c-button.c-button--orange::after {
    display:inline-block;
    position:absolute;
    top:50%;
    right:2rem;
    width:1.8125rem;
    height:1.8125rem;
    transform:translateY(-50%);
    background-image:url(../image/orange-arrow.svg);
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    content:""
  }
  #fv .c-button.c-button--orange .button-info {
    position:absolute;
    top:2.25rem;
    left:50%;
    width:21.5625rem;
    transform:translateX(-50%)
  }
  #cta .c-button.c-button--orange,#cta2 .c-button.c-button--orange {
    position:relative;
    justify-content:center;
    width:100%;
    height:13.375rem;
    border-radius:6.6875rem;
    box-shadow:.5375rem .5375rem rgba(76,37,37,.75);
    font-size:3.1875rem
  }
  #cta .c-button.c-button--orange:hover,#cta2 .c-button.c-button--orange:hover {
    transform:translateY(0);
    box-shadow:.5375rem .5375rem rgba(76,37,37,.75);
    opacity:1
  }
  #cta .c-button.c-button--orange::after,#cta2 .c-button.c-button--orange::after {
    display:inline-block;
    position:absolute;
    top:50%;
    right:1.8125rem;
    width:1.8125rem;
    height:1.8125rem;
    transform:translateY(-50%);
    background-image:url(../image/orange-arrow.svg);
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    content:""
  }
  #cta .c-button.c-button--orange .button-info,#cta2 .c-button.c-button--orange .button-info {
    position:absolute;
    top:-3rem;
    left:50%;
    width:28rem;
    transform:translateX(-50%)
  }
  #contact .c-button.c-button--green {
    width:100%;
    height:6.625rem;
    box-shadow:none;
    font-size:2.75rem;
    letter-spacing:.16em
  }
  #contact .c-button.c-button--green:hover {
    transform:translateY(0)
  }
  #contact .c-button.c-button--green::after {
    display:inline-block;
    position:absolute;
    top:50%;
    right:1.5rem;
    width:1.8125rem;
    height:1.8125rem;
    transform:translateY(-50%);
    background-image:url(../image/green-arrow.svg);
    background-position:center;
    background-size:contain;
    background-repeat:no-repeat;
    content:""
  }
  .c-line-area {
    outline:solid #1a1f20 .0625rem
  }
  .c-line-area__title {
    top:-1.9375rem;
    font-weight:700;
    font-size:1.9375rem;
    letter-spacing:.04em
  }
  .c-blue-icon {
    padding-inline:1.5625rem;
    font-size:1.625rem;
    line-height:1.65;
    letter-spacing:.04em
  }
  .c-blue-icon.c-blue-icon--small {
    font-size:1.625rem
  }
  .p-contact__lead {
    font-size:2.1875rem
  }
  .p-contact__container {
    padding-block-start:3.375rem;
    padding-block-end:5.75rem
  }
  .p-contact__head span.--must::after {
    background-color:#ed1c24;
    font-size:.9375rem
  }
  .p-contact__head {
    font-size:2rem
  }
  input[type=email].--narrow,input[type=tel].--narrow,input[type=text].--narrow,select.--narrow,textarea.--narrow {
    width:100%
  }
  select {
    width:100%
  }
  .p-contact__select-wrap svg {
    right:2rem;
    left:auto;
    width:2rem
  }
  textarea {
    height:382px;
    font-size:2.1875rem;
    line-height:1.4571428571;
    letter-spacing:.04em
  }
  .p-header {
    z-index:99999;
    position:fixed;
    top:0;
    left:0;
    height:5.375rem
  }
  .p-header__container {
    width:100%
  }
  .p-header__name {
    width:21.375rem
  }
  .p-footer__name {
    width:27.125rem
  }
  .p-footer__address {
    font-size:2.03125rem
  }
  .p-footer__nav {
    width:100%
  }
  .p-footer__nav-link {
    font-size:1.25rem
  }
  .p-accordion__question-text {
    padding-inline:4.25rem;
    font-size:2.1875rem;
    line-height:1.6571428571
  }
  .p-accordion__question-text::before {
    width:2.5rem;
    height:2.875rem
  }
  .p-accordion__answer-text {
    padding-inline-start:3.5rem;
    font-size:2.1875rem;
    line-height:1.6571428571;
    letter-spacing:.04em
  }
  .p-accordion__answer-text::before {
    top:.625rem;
    width:2.5rem;
    height:2.5rem
  }
  .p-company {
    padding: 40px 0;
  }
  .p-company__container {
    padding-block-end:7.6875rem
  }
  .p-company__name {
    font-size:3.75rem
  }
  .p-company__address {
    margin-block-end:2.5rem;
    font-size:2.1875rem
  }
  .p-company__info-row {
    width:100%;
    gap:3rem
  }
  .p-company__term {
    width:10rem;
    font-size:1.875rem
  }
  .p-company__description {
    font-size:1.875rem
  }
  .p-faq {
    padding-block-end:12.25rem
  }
  .p-faq__accordion {
    margin-block-start:4.875rem
  }
  .p-flow {
    padding-block-start:9.375rem;
    padding-block-end:10.875rem;
    background:url(../image/flow-bg-md.webp) no-repeat top;
    background-size:cover
  }
  .p-flow__title {
    width:35rem
  }
  .p-flow__container {
    margin-block-start:7.5rem
  }
  .p-flow__items {
    row-gap:4.8125rem;
    flex-wrap:wrap
  }
  .p-flow__item {
    width:50%
  }
  .p-flow__header {
    padding-block:.8125rem;
    font-size:2.6875rem
  }
  .p-flow__item:not(:last-child) .p-flow__header::after {
    right:-2.9375rem;
    border-top:2.8125rem solid transparent;
    border-right:0;
    border-bottom:2.8125rem solid transparent;
    border-style:solid
  }
  .p-flow__item:nth-child(1) .p-flow__header::after {
    border-left:3rem solid #9fceaa
  }
  .p-flow__item:nth-child(2) .p-flow__header::after {
    right:0;
    border-left:2.9375rem solid #76b986
  }
  .p-flow__item:nth-child(3) .p-flow__header::after {
    border-left:3rem solid #51a665
  }
  .p-flow__image {
    padding-inline:1.5rem
  }
  .p-flow__item:nth-child(2) .p-flow__header::before {
    display:inline-block;
    z-index:100;
    position:absolute;
    top:50%;
    right:0;
    width:2.8125rem;
    height:5.6875rem;
    transform:translate(0,-50%);
    background-color:#f7f7f7;
    content:"";
    transition:.3s ease
  }
  .p-message {
    padding-block-start:9.375rem;
    padding-block-end:10.875rem
  }
  .p-message__title {
    width:35rem
  }
  .p-message__container {
    margin-block-start:2.5rem
  }
  .p-message__message {
    line-height:1.6571428571
  }
  .p-cta {
    background:url(../image/cta-bg.webp) no-repeat center;
    background-size:cover
  }
  .p-service {
    padding-block-start:9.375rem;
    padding-block-end:10.875rem
  }
  .p-service__title {
    width:33.625rem
  }
  .p-service__items {
    margin-block-start:4.5625rem;
    padding-inline:0
  }
  .p-service__item {
    padding-block:2.5rem
  }
  .p-service__item:not(:last-child) {
    margin-block-end:2.625rem
  }
  .p-service__item-header {
    font-size:2.9375rem;
    letter-spacing:.04em;
    text-align:center
  }
  .p-service__item-lead {
    font-size:2.25rem;
    line-height:1.6;
    letter-spacing:.04em;
    text-align:center
  }
  .p-service-plan__lists {
    -moz-column-gap:.625rem;
    column-gap:.625rem
  }
  .p-service__plan {
    width:47.6875rem;
    margin-block-start:2.5rem
  }
  .p-service__supplement {
    font-weight:700;
    font-size:1.3125rem;
    line-height:1.8095238095
  }
  #service1 .p-service__plan-description {
    width:43.9375rem
  }
  #service2 .p-service__plan-lists {
    row-gap:3.5rem;
    flex-direction:column;
    align-items:center;
    width:38.75rem;
    margin-block-start:2.5rem
  }
  #service2 .p-service__plan-list {
    width:100%
  }
  #service2 .p-service__plan-header {
    z-index:300;
    position:relative
  }
  #service2 .p-service__plan-header::before {
    display:inline-block;
    z-index:-1;
    position:absolute;
    top:50%;
    left:50%;
    width:35.1875rem;
    height:.1875rem;
    transform:translate(-50%,-50%);
    border-radius:.09375rem;
    background-color:#0f1e47;
    content:""
  }
  .p-service__plan-image {
    margin-block:1.25rem;
    padding-inline:2.5rem
  }
  .p-service__plan-text {
    font-size:2.1875rem;
    line-height:1.6666666667;
    letter-spacing:.1em
  }
  .p-service__plan-supplement {
    display:block;
    width:29.9375rem;
    margin-inline:auto;
    margin-block-start:1.25rem;
    font-size:1.4375rem;
    line-height:1.2777777778
  }
  .p-reason {
    padding-block-start:11.25rem;
    margin-bottom: 50px;
  }
  .p-reason__title {
    width:100%
  }
  .p-reason__items {
    row-gap:3.8125rem;
    flex-direction:column;
    margin-block-start:5.625rem;
    padding-inline:0
  }
  .p-reason__item {
    padding-inline:2rem;
    padding-block:3.125rem;
    margin-top: 30px;
  }
  .p-reason__item::after {
    top:-4rem;
    left:50%;
    width:6rem;
    height:6rem;
    transform:translateX(-50%);
  }
  .p-reason__item-header {
    font-size:3.125rem;
    line-height:1.22;
    font-feature-settings:"palt";
    letter-spacing:.04em;
    -moz-text-align-last:left;
    width:-moz-fit-content;
    width:fit-content;
    margin-inline:auto;
    padding-inline-start:3.75rem;
    text-align-last:left
  }
  .p-reason__item-image {
    width:24.4375rem;
    margin-block-start:0
  }
  .p-reason__item-text {
    width:100%;
    font-size:2.1875rem;
    line-height:1.6571428571;
    font-feature-settings:"palt";
    letter-spacing:.1em
  }
  .p-problem {
    height:auto;
    padding-block:0;
    background: inherit;
    background-size: 100%;
  }
  .p-problem::before {
    content: none;
  }
  .p-problem::after {
    bottom:-8.25rem;
    width:5rem;
    height:4.125rem
  }
  .p-problem__inner::after {
    left:50%;
    transform:translate(-50%,0)
  }
  p.p-problem__title {
    width:100%;
    margin-top: 20px;
  }
  .p-problem__title img {
    width: 43rem;
  }
  .p-problem__lists {
    margin-block-start:1rem;
    padding-inline:0
  }
  .p-problem__list {
    margin-inline:-1.0625rem;
    padding-inline-start:4.25rem;
    color:#1a1f20;
    font-size:2.75rem;
    line-height:1.7;
    letter-spacing:0
  }
  .p-problem__inner {
    display: none;
  }
  .p-problem__list strong {
    color:#49a260
  }
  .p-problem__list::before {
    left:1.0625rem;
    width:2.5rem;
    height:2.3125rem;
    background:url(../image/check-green.webp) no-repeat center;
    background-size:contain
  }
  .p-problem__sp-img {
    display: block;
  }
  .p-problem__sp-img img {
    width: 100%;
    margin: 0 auto;
  }
  .p-fv {
    margin-block-start:5.375rem;
  }
  .p-fv__inner {
    height:100%
  }
  .p-fv__container {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-end;
    width:100%;
    height:100%;
    padding-inline-start:0;
    padding-block-start:0;
  }
  .p-fv__lead {
    transform:none
  }
  .p-fv__point {
    width:100%;
    height:9.5625rem;
    margin-block-start:1rem
  }
  .p-fv__point-header {
    top:-1.5625rem;
    width:47.5rem;
    font-size:2.125rem
  }
  .p-fv__point-list {
    padding-inline-start:3.5rem;
    font-weight:700;
    font-size:1.7875rem;
    line-height:1.6
  }
  .p-fv__point-list::before {
    left:1.0625rem;
    width:2rem;
    height:1.875rem;
    background:url(../image/check-green.webp) no-repeat center;
    background-size:contain;
  }
  .p-fv__catch {
    width:100%;
    transform:none
  }
  .p-works {
    padding-block-start:7.8125rem;
    padding-block-end:7.5rem;
    background:url(../image/works-bg-md.webp) no-repeat center;
    background-size:cover
  }
  .p-works__items {
    row-gap:1rem;
    justify-content:start;
    width:100%;
    margin-block-start:5.0625rem
  }
  .p-works__item {
    width:12.5rem
  }
  .p-works__title {
    width:47.6875rem
  }
  .p-works__message {
    font-weight:700;
    font-size:1.9375rem;
    line-height:1.2903225806;
    font-feature-settings:"palt";
    text-align:center
  }
  .p-voice {
    padding-block-start:9.375rem;
    padding-block-end:10.875rem;
    background-size:cover
  }
  .p-voice__title {
    width:100%
  }
  .p-voice-card {
    width:52.23125rem
  }
  .p-voice-card__image {
    padding-block-start:0;
  }
  .p-voice-card__header {
    top:4.5rem;
    left:50%;
    width:50rem;
    margin: 0 auto;
  }
  .p-voice-card__header.top {

  }
  .p-voice-card__header.middle {
    width: 35rem;
  }
  .p-voice-card__header.bottom {
    width: 50rem;
  }
  .p-voice-card__text {
    width:auto;
    font-size:2.1875rem;
    line-height:1.6571428571;
    letter-spacing:.1em
  }
  .p-voice-card {
    padding-block-start: 5rem;
    padding-block-end: 5rem;
  }
  .p-privacy {
    width:41.75rem
  }
  .p-privacy__inner {
    width:33.375rem
  }
  .p-privacy__title {
    font-size:1.8125rem
  }
  .p-privacy__list,.p-privacy__text {
    font-size:1.5rem;
    line-height:1.4166666667;
    letter-spacing:.06em
  }
  .p-privacy__header,.p-privacy__lists,.p-privacy__text {
    margin-block-start:1.8125rem
  }
  .p-thanks {
    height:calc(100vh - 31.4375rem)
  }
  .p-thanks__text {
    font-size:2.1875rem
  }
  .u-hide--md {
    display:none
  }
  .u-show--md {
    display:block
  }
  .swiper-button-next,.swiper-button-prev {
    top:35%;
    width:4.375rem;
    height:4.375rem
  }
  .swiper-button-prev {
    left:0
  }
  .swiper-button-next {
    right:0
  }
  .read-more-1 {
    position:relative
  }
  .read-more-1 p {
    position:relative;
    max-height:45.625rem;
    margin-bottom:0;
    overflow:hidden;
    transition:max-height 1s
  }
  .read-more-1:has(:checked) p {
    max-height:100%
  }
  .read-more-1 p::after {
    display:block;
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    height:3.75rem;
    background:linear-gradient(180deg,hsla(0,0%,100%,0) 0,hsla(0,0%,100%,.9) 50%,hsla(0,0%,100%,.9) 0,#fff);
    content:none;
  }
  .read-more-1:has(:checked) p::after {
    content:none
  }
  .read-more-1 label {
    display:flex;
    position:absolute;
    bottom:2rem;
    left:50%;
    align-items:center;
    gap:0 .25rem;
    transform:translateX(-50%);
    color:grey;
    font-size:1.75rem
  }
  .read-more-1:has(:checked) label {
    display:none
  }
  .read-more-1 label::before {
    display:inline-block;
    width:10px;
    height:5px;
    background-color:#b6bdc3;
    content:"";
    clip-path:polygon(0 0,100% 0,50% 100%)
  }
  .read-more-1 input {
    display:none
  }
}
@media (max-width:960px) {
  html {
    font-size:1.6666666667vw
  }
}

.cta-flex {
  display: flex;
  justify-content: center;
  gap: 5%;
  margin-top: 40px;
}

.p-cta .cta-tit img {
  width: auto;
  margin: 0 auto;
}

.p-clean {
  background:url(../image/clean-bg.webp) no-repeat center;
  background-size:cover;
  margin-top: -100px;
  padding-top: 100px;
  padding-bottom: 100px;
}

.clean-tit img {
  width: auto;
  margin: 0 auto;
}

.clean-sub img {
  width: auto;
  margin: 0 auto;
  margin-top: 50px;
}

.p-clean .l-inner p {
  text-align: center;
  margin-top: 30px;
}

.slideshow-container {
  position: relative;
  width: 80%;
  height: 300px;
  overflow: hidden;
  padding: 0 10%;
  margin: 0 auto;
}

.slide {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.5s ease;
  opacity: 0;
  z-index: 1;
  width: 60%;
}

.slide.active {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  z-index: 3;
  width: 50%;
  padding: 0 30px;
}

.slide.prev, .slide.next {
  width: 35%;
  opacity: 0.8;
  z-index: 2;
  padding: 0 50px;
}

.slide.prev {
  transform: translate(-150%, -50%) scale(0.8);
}

.slide.next {
  transform: translate(50%, -50%) scale(0.8);
}

.p-relief {
  background:url(../image/relief-bg.webp) no-repeat center;
  background-size:cover;
  padding: 0 0 100px;
}

.p-relief .relief-tit img {
  width: auto;
  margin: 50px auto;
}

.p-relief .relief-top,.p-relief .relief-bottom {
  position: relative;
  right: -15%;
}

.p-relief .relief-middle {
  position: relative;
  left: -17%;
}

@media screen and (max-width:960px) {
  .cta-flex {
    display: block;
    margin-top: 30px;
  }
  .cta-flex .cta-right img {
    margin-top: 20px;
  }
  .p-clean {
    padding-top: 70px;
    margin-top: -50px;
    padding-bottom: 40px;
  }
  .p-clean .l-inner p {
    letter-spacing: .01em;
    font-size: 2.2rem;
    line-height: 1.3;
  }
  .slideshow-container {
    width: 100%;
    height: 200px;
  }
  .slide.active {
    width: 100%;
  }
  .p-relief {
    padding-bottom: 40px;
  }
  .relief-tit {
    padding-inline: 3.875rem;
  }
  .p-relief .relief-tit img {
    margin: 20px auto;
  }
  .p-relief .relief-top,.p-relief .relief-middle,.p-relief .relief-bottom {
    padding-inline: 3.875rem;
    position: initial;
    margin-top: 20px;
  }
  .p-relief .relief-top {
    margin-top: 50px;
  }
  .reason-box::before {
    width: 30rem;
    top: -5.1%;
  }
  .reason-box {
    border-radius: 15px;
    padding: 3rem;
  }
  .reason-box-tit {
    width: 40rem;
    margin: 0 auto;
  }
  .reason-box-tit.top {
    width: 30rem;
  }
  .p-reason__item-header {
    text-align-last: center;
    padding: 0;
    margin-bottom: 20px;
  }
  .reason-box.bottom::before {
    top: -5.1%;
  }
  .reason-box.bottom {
    margin-top: 80px;
  }
  .p-company .price-1 {
    width: 50rem;
  }
  .p-company .price-2 {
    width: 50rem;
  }
  .p-company .price-3 {
    width: 50rem;
  }
  .p-price__title {
    width: 50rem;
  }
  .p-price__title.area-title {
    margin-top: 30px;
  }
  .p-company .area-flex {
    display: block;
    width: 50rem;
  }
  .p-company .area-flex .area-2 {
    margin-top: 20px;
  }
  .p-company__name {
    margin-top: 30px;
    width: 50rem;
  }
  .p-contact {
    padding: 40px 0;
  }
  input[type=email], input[type=tel], input[type=text], select, textarea {
    font-size: 2rem;
  }
  .installation-box {
    display: block;
  }
  .installation-img {
    width: 25rem;
  }
  .installation-status-field .kome2 {
    font-size: 1.75rem;
  }
  .checkbox-label, .radio-label {
    font-size: 2rem;
  }
  .checkbox-label input[type="checkbox"], .radio-label input[type="radio"] {
    width: 14px;
    height: 14px;
  }
  input[name="第一希望日"], input[name="第二希望日"], input[name="第三希望日"] {
    width: 85%;
  }
  select#time-slot, select#time-slot2, select#time-slot3 {
    width: 85%;
    font-size: 2rem;
    margin-top: 5px;
    height: 4.5rem;
    margin-left: 0;
  }
  .p-contact__row .kome {
    font-size: 1.75rem;
  }
  .p-header__inner {
    display: none;
    padding-inline: 1.5rem;
  }
  #header .p-header__item.h-tel {
    width: 30rem;
    margin-top: 0.15rem;
  }
  #header .p-header__item.h-contact {
    width: 20rem;
  }
  .p-header__name {
    width: 15rem;
  }
}

.mobile-fixed-footer {
  display: none; /* PCでは非表示 */
}

@media screen and (max-width: 768px) {
  .mobile-fixed-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: flex;
    z-index: 9999;
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
  }

  .footer-btn {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .footer-btn i {
    font-size: 20px;
    margin-bottom: 4px;
  }

  .footer-btn.tel {
    background-color: #007BFF;
  }

  .footer-btn.line {
    background-color: #00C300;
  }

  .footer-btn.contact {
    background-color: #FF9800;
  }
}

.pc-contact-banner {
  display: none;
}

@media screen and (min-width: 769px) {
  .pc-contact-banner {
    position: fixed;
    bottom: 30px;
    right: -300px; /* 初期：画面外 */
    z-index: 9999;
    background: linear-gradient(135deg, #FFA726, #FF5722); /* オレンジグラデ */
    color: #fff;
    font-weight: bold;
    padding: 14px 22px;
    border-radius: 9999px;
    text-decoration: none;
    font-size: 15px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
    display: flex;
    align-items: center;
    gap: 10px;
    opacity: 0;
    transition: all 0.6s ease-in-out;
    transform: translateX(0);
  }

  .pc-contact-banner.show {
    right: 30px;
    opacity: 1;
    transform: translateX(-5px); /* 少しにゅっと */
  }

  .pc-contact-banner:hover {
    transform: translateX(-10px) scale(1.03);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  }

  .pc-contact-banner .icon i {
    font-size: 18px;
  }

  .pc-contact-banner .text {
    white-space: nowrap;
  }
}

/* 初期は非表示 */
.sp-header {
  display: none;
}

/* スマホ表示時 */
@media screen and (max-width: 960px) {
  .sp-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 16px;
    background-color: #fff;
    border-bottom: 1px solid #ddd;
    font-size: 13px;
  }

  .sp-header__left {
    display: flex;
    align-items: center;
  }

  .sp-header__logo {
    height: 5rem;
    width: auto;
  }

  .sp-header__right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
  }

  .sp-header__credit {
    height: 8.5rem;
    width: auto;
  }

  .sp-header__item {
    font-size: 12px;
    color: #333;
    white-space: nowrap;
  }
}

@media screen and (max-width: 960px) {
  .p-fv {
    margin-block-start: 11rem;
  }
}

@media screen and (max-width: 768px) {
  .p-fv {
    margin-block-start: 12rem;
  }
}

@media screen and (max-width: 540px) {
  .p-fv {
    margin-block-start: 14rem;
  }
}

@media screen and (max-width: 480px) {
  .p-fv {
    margin-block-start: 15rem;
  }
}

@media screen and (max-width: 400px) {
  .p-fv {
    margin-block-start: 16rem;
  }
}