@charset "UTF-8";
/*
Theme Name: name
Theme URL: テーマのサイトのURL
Description: テーマの説明
Author: 作者の名前
version： 1.0.0
Tags: テーマの特徴を表すタグ（カンマ区切り/オプション）
License: テーマのライセンス
License URI: テーマのライセンスのURI
*/
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	style.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* CSS Document */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_reset.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

img {
  max-width: 100%;
  height: auto;
}

*,
*:before,
*:after {
  box-sizing: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

html {
  box-sizing: border-box;
  font-weight: 500;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_base.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*====================
モバイルファースト
- 〜767px：スマートフォン縦
- 768px〜：タブレット
- 〜1279px：小型PC(Windows/Macなど)
- 1280px〜：大型PC(外部モニター/iMacなど)
====================*/
/* 〜767px：SP縦〜小タブレット
------------------------------ */
/* 〜1024px：SP〜大タブレット
------------------------------ */
/* 768px〜：タブレット〜大型PC
------------------------------ */
/* 1024px〜：大タブレット〜大型PC
------------------------------ */
/* 1025px〜：小型PC〜大型PC
------------------------------ */
/* 1280px〜：大型PCのみ
------------------------------ */
@media screen and (min-width: 768px) {
  .sp_content {
    display: none !important;
  }
}

@media screen and (min-width: 1024px) {
  .from-big-tab_content {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .to-tab_content {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .from-tab_content {
    display: none !important;
  }
}

@media screen and (max-width: 1024px) {
  .pc_content {
    display: none !important;
  }
}

body {
  color: #333;
}

.orange-box {
  width: 100%;
  height: 30px;
  background: #f3ad73;
  text-align: center;
  line-height: 30px;
}
@media screen and (max-width: 767px) {
  .orange-box {
    display: none;
  }
}

.orange-box p {
  font-size: 0.8rem;
  color: #444242;
}

.displaynone {
  display: none;
}

body {
  font-family: "Roboto", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Meiryo", "sans-serif";
}

.section {
  padding: 24px 0;
}
@media screen and (min-width: 768px) {
  .section {
    padding: 24px 0;
  }
}

.section-none {
  padding: 0;
}

.section-hero {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .section-hero {
    padding: 0;
  }
}

.wrapper {
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .wrapper {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 32px;
  }
}

.wrapper-none {
  padding: 0;
}
@media screen and (min-width: 768px) {
  .wrapper-none {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0;
  }
}

.swiper {
  width: 100%;
  position: relative;
}

.swiper-slide {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  font-weight: bold;
}

.swiper-wrapper {
  box-sizing: border-box;
}

.swiper-button-prev::after, .swiper-button-next::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 30px;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .swiper-button-prev::after, .swiper-button-next::after {
    width: 40px;
    height: 40px;
  }
}

.swiper-button-prev::after {
  background-image: url(images/main-visual/arrow_circle_left.png);
  top: 0;
  left: 0;
}

.swiper-button-next::after {
  background-image: url(images/main-visual/arrow_circle_right.png);
  top: 0;
  right: 0;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 1, "wght" 400, "GRAD" 0, "opsz" 24 !important;
}

.module-front-ttl {
  text-align: center;
}
.module-front-ttl span {
  display: block;
  font-size: 16px;
  font-weight: 700;
  padding-bottom: 17px;
}
@media screen and (min-width: 768px) {
  .module-front-ttl span {
    padding-bottom: 34px;
  }
}
.module-front-ttl h2 {
  font-size: 24px;
  line-height: 1.5;
  font-weight: 700;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .module-front-ttl h2 {
    font-size: 40px;
    padding-bottom: 50px;
  }
}

.module-front-title {
  display: flex;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: bold;
  color: #ff6600;
  align-items: center;
  margin: 24px 0;
}
@media screen and (min-width: 768px) {
  .module-front-title {
    font-size: 2rem;
    grid-gap: 16px;
  }
}
.module-front-title::before, .module-front-title::after {
  display: inline-block;
  width: 30px;
  height: 30px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.module-front-title::before {
  background-image: url(images/page-area/osaka/top/headline-deco02.png);
}
.module-front-title::after {
  background-image: url(images/page-area/osaka/top/headline-deco.png);
}

/* ++++++++++++++++  パンくず  ++++++++++++++++++ */
.module-breadcrumbs {
  display: block;
  margin-block-start: 16px;
}
.module-breadcrumbs__inner {
  max-width: 1100px;
  margin: 0 auto;
}

/* ++++++++++++++++  見積もりボタン いろいろ  ++++++++++++++++++ */
.module-contact-btn {
  text-align: center;
  margin-top: 0.5rem;
}
.module-contact-btn .module-btn-1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
  font-size: 1.1rem;
  border-radius: 15px;
  width: 90%;
  padding: 24px;
  background: linear-gradient(0, #297c0c 0, #8dd95f 100%);
  box-shadow: 2px 2px 2px rgba(255, 255, 255, 0.2) inset, -2px -2px 1px rgba(0, 0, 0, 0.4) inset;
  color: white;
}
@media screen and (min-width: 768px) {
  .module-contact-btn .module-btn-1 {
    font-size: 1.4rem;
    width: inherit;
  }
}
.module-contact-btn .module-effect {
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.25s;
  transition-property: transform;
}
.module-contact-btn .module-effect:hover {
  transform: scale(1.05);
  transition-timing-function: cubic-bezier(0.65, -0.7, 1, 0.65);
}

.module-lightning-btn {
  text-align: center;
  margin-top: 0.5rem;
  margin-bottom: 32px;
}
.module-lightning-btn .module-shiny {
  display: inline-flex;
  position: relative;
  align-items: center;
  text-decoration: none;
  font-weight: bold;
  line-height: 1.5;
  font-size: 1.2rem;
  border-radius: 15px;
  padding: 20px;
  background: linear-gradient(0, #297c0c 0, #8dd95f 100%);
  box-shadow: 2px 2px 2px rgba(255, 255, 255, 0.2) inset, -2px -2px 1px rgba(0, 0, 0, 0.4) inset;
  color: white;
  overflow: hidden;
  transition: 300ms;
}
@media screen and (min-width: 768px) {
  .module-lightning-btn .module-shiny {
    font-size: 1.7rem;
    padding: 32px;
  }
}
.module-lightning-btn .module-shiny::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #ffffff;
  transition: 300ms;
  animation: shinyshiny 2.5s ease-in-out infinite;
}
@-webkit-keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.module-lightning-btn .module-shiny-effect {
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.25s;
  transition-property: transform;
}
.module-lightning-btn .module-shiny-effect:hover {
  transform: scale(1.05);
  transition-timing-function: cubic-bezier(0.65, -0.7, 1, 0.65);
}

.module-link-button {
  display: inline-block;
  background-color: #3db5e2;
  border-radius: calc(infinity * 1px);
  align-content: center;
  text-align: center;
}
.module-link-button:hover {
  background-color: #66cccc;
  transition-duration: 0.25s;
}
.module-link-button a {
  width: 100%;
  display: block;
}
.module-link-button a .module-link-button-inner {
  display: inline-grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  grid-column-gap: 8px;
  padding: 16px 32px;
}
.module-link-button a .module-link-button-inner .text {
  display: inline-block;
  text-align: center;
  font-size: 18px;
  color: #fff;
  font-weight: 500;
  white-space: nowrap;
}
.module-link-button a .module-link-button-inner span {
  display: inline-block;
  width: 30px;
  transition: transform 0.25s ease;
}
.module-link-button:hover a span {
  transform: translateX(5px);
}

/* ++++++++++++++++ チェックのレ点  ++++++++++++++++++ */
.module-check-btn {
  content: "";
  width: 10px;
  height: 5px;
  border-left: 3px solid #663333;
  border-bottom: 3px solid #663333;
  transform: rotate(-45deg);
}

/* ++++++++++++++++ クレッシェンドマーク  ++++++++++++++++++ */
.module-check-btn02 {
  display: inline-block;
  width: 13px;
  height: 13px;
  border-left: 3px solid #663333;
  border-bottom: 3px solid #663333;
  transform: rotate(-130deg);
  vertical-align: baseline;
  margin-right: 16px;
}

/* ++++++++++++++++ 三角形アイコン（下向き）  ++++++++++++++++++ */
.module-triangle-icon {
  display: inline-block;
  margin: 8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 11px 0 11px;
  border-color: #663333 transparent transparent transparent;
}

/* ++++++++++++++++ 次のセクションへ移行のときの矢印 ++++++++++++++++++ */
.module-next-arrow {
  display: flex;
  justify-content: center;
  padding: 10px;
}
.module-next-arrow .module-arrow {
  font-size: 2rem;
  color: #ff9933;
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .module-next-arrow .module-arrow {
    font-size: 4rem;
  }
}

/* ++++++++++++++++ 背景のベース  ++++++++++++++++++ */
.module-backgraund-wrapper {
  background-color: #fef6f0;
  margin-bottom: 32px;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .module-backgraund-wrapper {
    padding-bottom: 24px;
  }
}

.module-backgraund-wrapper02 {
  counter-reset: counter-number 0;
  background-color: #fef6f0;
  padding: 5% 16px;
  border-radius: 15px;
  margin-bottom: 40px;
}

.module-backgraund-wrapper-wight {
  background-color: white;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 32px;
  padding: 24px 8px;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
}

.module-conteiner-base01__ttl {
  color: #ff9933;
  display: flex;
  justify-content: left;
  gap: 16px;
  padding-bottom: 24px;
  font-weight: 700;
  line-height: 1.5;
  align-items: center;
  padding-left: 8px;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl {
    padding-left: 24px;
  }
}
.module-conteiner-base01__ttl ul {
  line-height: normal;
  text-align: center;
}
.module-conteiner-base01__ttl ul li {
  font-size: xx-small;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl ul li {
    font-size: medium;
    letter-spacing: 1px;
  }
}
.module-conteiner-base01__ttl ul li .counter-number {
  font-size: 1.5rem;
}
.module-conteiner-base01__ttl ul li .counter-number::before {
  counter-increment: counter-number;
  content: counter(counter-number, decimal-leading-zero) "";
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl ul li .counter-number::before {
    font-size: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl__text {
    letter-spacing: 2px;
  }
}
.module-conteiner-base01__ttl__text p {
  font-size: smaller;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl__text p {
    font-size: 1.25rem;
  }
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__ttl__text span {
    font-size: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .module-conteiner-base01__inner {
    display: grid;
    grid-template-columns: 65% auto;
  }
}
.module-conteiner-base01__inner__text {
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  text-align: justify;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__inner__text {
    padding: 0 32px;
    font-size: 1.125rem;
  }
}
.module-conteiner-base01__inner__figure {
  margin: 0 auto;
  width: clamp(270px, 60vw, 90%);
}
@media screen and (min-width: 1024px) {
  .module-conteiner-base01__inner__figure {
    width: 100%;
    transform: translateY(-70px);
    padding-right: 24px;
  }
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__inner02 {
    display: grid;
    grid-template-columns: 80% 1fr;
    grid-template-rows: 210px;
  }
}
.module-conteiner-base01__inner02__text {
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__inner02__text {
    padding: 0 32px;
    font-size: 1.125rem;
  }
}
.module-conteiner-base01__inner02__girl {
  width: clamp(110px, 30vw, 180px);
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .module-conteiner-base01__inner02__girl {
    transform: translateY(-50px);
  }
}

.module-backgraund-triangle-wrapper {
  display: flex;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 75px solid transparent;
  border-left: 75px solid transparent;
  border-top: 40px solid #ffffff;
  border-bottom: 0;
}

.backgraund-triangle-beige-colar {
  display: flex;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 75px solid transparent;
  border-left: 75px solid transparent;
  border-top: 40px solid #fef6f0;
  border-bottom: 0;
}

/* ++++++++++++++++ 疑似要素  ++++++++++++++++++ */
/* ++++++++++++++++ マーカー線  ++++++++++++++++++ */
/* ++++++++++++++++ 画像のネクスト矢印(HTMLに下記のimgタグを使用) ++++++++++++++++++ */
.module-figure-arrow {
  display: block;
  width: 30px;
  margin: 0 auto;
  padding: 20px 0;
}

.module-figure-right-arrow {
  display: block;
  width: 30px;
  margin: 0 auto;
  padding: 40px 0;
  transform: rotate(-90deg);
}

/* ++++++++++++++++ 記事内の装飾  ++++++++++++++++++ */
.module-effect-maker-yellow {
  background: linear-gradient(transparent 60%, #ff6 80%);
  font-weight: 700;
}

/* ++++++++++++++++ reキャプチャを隠す  ++++++++++++++++++ */
.grecaptcha-badge {
  visibility: hidden;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_header.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.header {
  width: 100%;
}
.header__top {
  display: flex;
  padding: 15px;
}
.header__pc {
  display: flex;
  padding: 10px;
  border-bottom: 2px solid #d5d5d5;
  background-color: #fff;
  column-gap: 8px;
}
.header__pc__sub-title {
  margin: 5px 0 0 20px;
  text-align: center;
  line-height: 1.3;
}
.header__pc__sub-title span {
  color: #3db5e2;
  font-weight: 700;
}
.header__pc__tell {
  margin: 10px 0 0 auto;
}
.header__pc #search-wrap {
  margin: 15px 0 0 20px;
}
.header__sp {
  display: flex;
  justify-content: space-between;
  background-color: #fff;
  align-items: center;
  height: 68px;
}
.header__sp h1 {
  padding: 8px;
  height: fit-content;
  margin-inline-start: 40px;
}
.header__sp h1 a {
  display: block;
  width: 100%;
  height: inherit;
}
.header__sp h1 a:hover {
  cursor: pointer;
}
.header__sp h1 a img {
  width: 100%;
}
.header .sp-contact-icon {
  width: 80px;
  background-color: #003366;
  height: inherit;
}
.header .sp-contact-icon a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
}
.header .sp-contact-icon a:hover {
  cursor: pointer;
  opacity: 0.8;
  filter: brightness(105%);
}
.header .sp-contact-icon a img {
  width: 60px;
}

/* 検索窓
------------------------------ */
#search-wrap {
  margin: auto;
  margin-inline-start: 8px;
}
#search-wrap .searchandfilter ul {
  display: flex;
  align-items: center;
}

.searchandfilter {
  position: relative;
}
.searchandfilter input[type=text],
.searchandfilter input[type=search] {
  padding: 8px 0 8px 35px;
}
.searchandfilter::before {
  position: absolute;
  content: url(images/front/header/pc-search-icon.png);
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  padding-inline-start: 3px;
}

.searchandfilter input[type=submit] {
  display: none;
}

/* グローバルナビゲーション
------------------------------ */
/*==ナビゲーション全体の設定*/
.nav {
  background: #fff;
  color: #333;
  text-align: center;
  display: block;
  border-bottom: 2px solid #d5d5d5;
  /*ナビゲーションを横並びに*/
}
.nav .nav-wrapper {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  align-items: center;
  /*下の階層のulや矢印の基点にするためnav-boxにrelativeを指定*/
}
@media screen and (min-width: 1280px) {
  .nav .nav-wrapper {
    grid-template-columns: repeat(7, 1fr);
  }
}
.nav .nav-wrapper .nav-box {
  position: relative;
  width: 100%;
  /*2階層目以降は横並びにしない*/
}
.nav .nav-wrapper .nav-box:hover > ul {
  visibility: visible;
  opacity: 1;
}
.nav .nav-wrapper .nav-box:hover .nav-guide {
  background-color: #0c3157;
  color: #fff;
}
.nav .nav-wrapper .nav-box .second-navlist {
  display: block;
  position: absolute;
  min-width: 100%;
  left: 0;
  top: 100%;
  z-index: 4;
  background: #fff;
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s;
  border-top: 2px solid #0c3157;
  text-align: center;
}
.nav .nav-wrapper .nav-box .nav-guide {
  display: flex;
  justify-content: center;
  column-gap: 8px;
  padding: 13px 0;
}
.nav .nav-wrapper .nav-box .nav-guide span {
  width: 10px;
}
.nav .nav-wrapper .nav-box .nav-guide span img {
  width: 100%;
  object-fit: cover;
  transform: rotate(90deg);
}
.nav .nav-wrapper .nav-box .second-navlist {
  display: block;
  /*絶対配置で位置を指定*/
  position: absolute;
  left: 0;
  top: 42px;
  z-index: 4;
  /*形状を指定*/
  background: #fff;
  min-width: 100%;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all 0.3s;
  border-top: 2px solid #0c3157;
}
.nav .nav-wrapper .nav-box .second-navlist .nav-content {
  /*ナビゲーションのリンク設定*/
}
.nav .nav-wrapper .nav-box .second-navlist .nav-content a {
  display: block;
  text-decoration: none;
  color: #333;
  padding: 10px 0;
  transition: all 0.3s;
  border-bottom: solid 1px rgba(255, 255, 255, 0.6);
  text-align: center;
  width: 100%;
  line-height: 1.3;
}
.nav .nav-wrapper .nav-box .second-navlist .nav-content a:hover {
  background-color: #0c3157;
  color: #fff;
}

/* ハンバーガーアイコン
------------------------------ */
.openbtn {
  position: fixed;
  top: 0;
  left: 0;
  cursor: pointer;
  width: 57px;
  height: 57px;
  background-color: #fff;
  opacity: 80%;
  display: block;
  z-index: 99999;
  /* 各spanの初期位置 */
  /* .openbtnにactiveクラスが追加されたときの変化 */
}
.openbtn span {
  display: inline-block;
  transition: all 0.4s ease;
  position: absolute;
  left: 50%;
  height: 3px;
  border-radius: 2px;
  background-color: #333;
  width: 50%;
  transform: translateX(-50%);
  transform-origin: center;
}
.openbtn span:nth-of-type(1) {
  top: 30%;
}
.openbtn span:nth-of-type(2) {
  top: 50%;
}
.openbtn span:nth-of-type(3) {
  top: 70%;
}
.openbtn.open span:nth-of-type(1) {
  top: 50%;
  transform: translateX(-50%) rotate(-45deg);
}
.openbtn.open span:nth-of-type(2) {
  opacity: 0;
}
.openbtn.open span:nth-of-type(3) {
  top: 50%;
  transform: translateX(-50%) rotate(45deg);
}

/* ハンバーガーメニュー
------------------------------ */
#g-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  width: 100%;
  height: 100vh;
  z-index: 1;
  opacity: 0;
  background: #fff;
  transform: translateX(-100%);
  transition: all 0.2s linear;
  padding-block-start: 14px;
  -ms-overflow-style: none;
  scrollbar-width: none;
  overflow-y: auto;
  /* g-nav__toplogo
  ------------------------------ */
  /*アコーディオン全体*/
  /*問い合わせボタン*/
  /*きらっと光る*/
  /*キラッと光る*/
}
#g-nav::-webkit-scrollbar {
  display: none;
}
#g-nav.open {
  opacity: 1;
  z-index: 999;
  transform: translateX(0);
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
#g-nav .g-nav__toplogo {
  display: block;
  text-align: center;
}
#g-nav .g-nav__toplogo a {
  display: inline-block;
  width: 100%;
}
#g-nav .accordion-area {
  width: 96%;
  margin: 0 auto;
  margin-bottom: 150px;
}
#g-nav .accordion-area .section-wrapper {
  margin: 10px 0;
}
#g-nav .accordion-area .section-wrapper .title {
  display: flex;
  position: relative;
  background-color: #ebebeb;
  font-size: 16px;
  font-weight: 600;
  transition: all 0.5s ease;
  padding: 8px 16px;
  align-items: center;
  cursor: pointer;
  column-gap: 12px;
}
#g-nav .accordion-area .section-wrapper .title a {
  color: #333;
  text-decoration: none;
  padding: 10px;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}
#g-nav .accordion-area .section-wrapper .title::after {
  content: "▼";
  font-size: large;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
#g-nav .accordion-area .section-wrapper .title.open::after {
  transform: translateY(-50%) rotate(180deg);
}
#g-nav .accordion-area .section-wrapper .content {
  max-height: 0;
  overflow: hidden;
  max-width: inherit;
  text-align: left;
  font-size: 16px;
  font-weight: 600;
  transition: max-height 0.3s ease-out;
  margin: 16px;
}
#g-nav .accordion-area .section-wrapper .content a {
  display: block;
  line-height: 2;
  color: #333;
  padding-inline-start: 8px;
}
#g-nav .accordion-area .section-wrapper .content a:hover {
  background-color: #0c3157;
  color: #fff;
}
#g-nav .btnshine {
  position: relative;
  display: inline-block;
  background: #fff;
  color: #333;
  padding: 10px 20px;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  font-size: 18px;
  font-weight: 600;
}
#g-nav .btnshine img {
  padding-left: 20px;
}
#g-nav .btnshine::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  transform: skewX(-25deg);
}
#g-nav .btnshine:hover::before {
  animation: shine 0.7s;
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
#g-nav .g-nav__btn {
  padding: 50px;
  background-color: #333;
  text-align: center;
}

.no-scroll {
  overflow: hidden;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_footer.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.footer {
  width: 100%;
  padding: 20px 32px 100px;
  background-color: #333;
  color: #fff;
  /*.footer__leftbox
  ------------------------------ */
  /*.footer__warraper_right
  ------------------------------ */
  /*.footer-copyright
  ------------------------------ */
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 20px 0 120px;
  }
}
.footer .footer__section {
  max-width: fit-content;
  margin: 0 auto;
}
.footer .footer__leftbox {
  text-align: left;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .footer .footer__leftbox {
    padding-left: 20px;
  }
}
.footer .footer__leftbox img {
  width: 200px;
}
@media screen and (min-width: 768px) {
  .footer .footer__warraper_right {
    display: flex;
    justify-content: center;
  }
}
.footer .footer__warraper_right .footer__warraper_right__service,
.footer .footer__warraper_right .footer__warraper_right__product_information,
.footer .footer__warraper_right .footer__warraper_right__faq,
.footer .footer__warraper_right .footer__warraper_right__customer,
.footer .footer__warraper_right .footer__warraper_right__column,
.footer .footer__warraper_right .footer__warraper_right__company {
  padding: 30px 0px 20px;
}
@media screen and (min-width: 768px) {
  .footer .footer__warraper_right .footer__warraper_right__service,
  .footer .footer__warraper_right .footer__warraper_right__product_information,
  .footer .footer__warraper_right .footer__warraper_right__faq,
  .footer .footer__warraper_right .footer__warraper_right__customer,
  .footer .footer__warraper_right .footer__warraper_right__column,
  .footer .footer__warraper_right .footer__warraper_right__company {
    padding: 0px 20px;
    width: 250px;
  }
}
.footer .footer__warraper_right .footer__warraper_right__service .service,
.footer .footer__warraper_right .footer__warraper_right__service .product_information,
.footer .footer__warraper_right .footer__warraper_right__service .faq,
.footer .footer__warraper_right .footer__warraper_right__service .customer,
.footer .footer__warraper_right .footer__warraper_right__service .column,
.footer .footer__warraper_right .footer__warraper_right__service .company,
.footer .footer__warraper_right .footer__warraper_right__product_information .service,
.footer .footer__warraper_right .footer__warraper_right__product_information .product_information,
.footer .footer__warraper_right .footer__warraper_right__product_information .faq,
.footer .footer__warraper_right .footer__warraper_right__product_information .customer,
.footer .footer__warraper_right .footer__warraper_right__product_information .column,
.footer .footer__warraper_right .footer__warraper_right__product_information .company,
.footer .footer__warraper_right .footer__warraper_right__faq .service,
.footer .footer__warraper_right .footer__warraper_right__faq .product_information,
.footer .footer__warraper_right .footer__warraper_right__faq .faq,
.footer .footer__warraper_right .footer__warraper_right__faq .customer,
.footer .footer__warraper_right .footer__warraper_right__faq .column,
.footer .footer__warraper_right .footer__warraper_right__faq .company,
.footer .footer__warraper_right .footer__warraper_right__customer .service,
.footer .footer__warraper_right .footer__warraper_right__customer .product_information,
.footer .footer__warraper_right .footer__warraper_right__customer .faq,
.footer .footer__warraper_right .footer__warraper_right__customer .customer,
.footer .footer__warraper_right .footer__warraper_right__customer .column,
.footer .footer__warraper_right .footer__warraper_right__customer .company,
.footer .footer__warraper_right .footer__warraper_right__column .service,
.footer .footer__warraper_right .footer__warraper_right__column .product_information,
.footer .footer__warraper_right .footer__warraper_right__column .faq,
.footer .footer__warraper_right .footer__warraper_right__column .customer,
.footer .footer__warraper_right .footer__warraper_right__column .column,
.footer .footer__warraper_right .footer__warraper_right__column .company,
.footer .footer__warraper_right .footer__warraper_right__company .service,
.footer .footer__warraper_right .footer__warraper_right__company .product_information,
.footer .footer__warraper_right .footer__warraper_right__company .faq,
.footer .footer__warraper_right .footer__warraper_right__company .customer,
.footer .footer__warraper_right .footer__warraper_right__company .column,
.footer .footer__warraper_right .footer__warraper_right__company .company {
  border-bottom: 1px solid #fff;
  margin: 0px 0px 10px;
}
.footer .footer__warraper_right .footer__warraper_right__service .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__service .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__service .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__service .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__service .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__service .company .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__product_information .company .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__faq .company .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__customer .company .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__column .company .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .service .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .product_information .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .faq .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .customer .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .column .footer-title,
.footer .footer__warraper_right .footer__warraper_right__company .company .footer-title {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0px;
  line-height: 1.3;
}
.footer .footer__warraper_right .footer__warraper_right__service .footer-list,
.footer .footer__warraper_right .footer__warraper_right__product_information .footer-list,
.footer .footer__warraper_right .footer__warraper_right__faq .footer-list,
.footer .footer__warraper_right .footer__warraper_right__customer .footer-list,
.footer .footer__warraper_right .footer__warraper_right__column .footer-list,
.footer .footer__warraper_right .footer__warraper_right__company .footer-list {
  margin: 20px 0px;
}
.footer .footer__warraper_right .footer__warraper_right__service .footer-list img,
.footer .footer__warraper_right .footer__warraper_right__product_information .footer-list img,
.footer .footer__warraper_right .footer__warraper_right__faq .footer-list img,
.footer .footer__warraper_right .footer__warraper_right__customer .footer-list img,
.footer .footer__warraper_right .footer__warraper_right__column .footer-list img,
.footer .footer__warraper_right .footer__warraper_right__company .footer-list img {
  width: 8px;
}
.footer .footer__warraper_right .footer__warraper_right__service .footer-list .footer-service,
.footer .footer__warraper_right .footer__warraper_right__product_information .footer-list .footer-service,
.footer .footer__warraper_right .footer__warraper_right__faq .footer-list .footer-service,
.footer .footer__warraper_right .footer__warraper_right__customer .footer-list .footer-service,
.footer .footer__warraper_right .footer__warraper_right__column .footer-list .footer-service,
.footer .footer__warraper_right .footer__warraper_right__company .footer-list .footer-service {
  color: #fff;
  font-weight: 400;
  line-height: 1.3;
}
.footer .footer__warraper_right .footer__warraper_right__service .footer-list .footer-service:hover,
.footer .footer__warraper_right .footer__warraper_right__product_information .footer-list .footer-service:hover,
.footer .footer__warraper_right .footer__warraper_right__faq .footer-list .footer-service:hover,
.footer .footer__warraper_right .footer__warraper_right__customer .footer-list .footer-service:hover,
.footer .footer__warraper_right .footer__warraper_right__column .footer-list .footer-service:hover,
.footer .footer__warraper_right .footer__warraper_right__company .footer-list .footer-service:hover {
  color: #3db5e2;
  transition: 0.3s;
}
.footer .footer-copyright {
  font-size: 12px;
  font-weight: 300;
  padding-top: 30px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer .footer-copyright {
    padding-top: 70px;
  }
}
.footer .footer-copyright .footer-copyright1 {
  margin-bottom: 20px;
}
.footer .footer-copyright .footer-copyright2 {
  line-height: 15px;
}
.footer .footer-copyright .footer-copyright2 .brsp {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer .footer-copyright .footer-copyright2 .brsp {
    display: block;
  }
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_company.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*************************** 会社概要 *********************************/
.company-main {
  max-width: 1200px;
  margin: 40px auto;
}

.company-main img {
  width: 100%;
  height: auto;
}

.company-info {
  max-width: 1200px;
  text-align: center;
  margin: 0 auto;
}

.company-info h1 span {
  display: block;
  font-size: 1rem;
  color: #ffbc53;
  margin: 10px 0 0 0;
  letter-spacing: 0.15em;
}

.company-info h1 {
  font-size: 2rem;
  font-weight: bold;
}

.company-info h2 span {
  display: block;
  font-size: 1rem;
  color: #ffbc53;
  margin: 10px 0 0 0;
  letter-spacing: 0.15em;
}

.company-info h2 {
  font-size: 2rem;
  font-weight: bold;
  margin: 40px 0 0 0;
}

.company-detail {
  max-width: 800px;
  margin: 0 auto;
}

.company-detail table {
  border: 2px solid #ff9a00;
  width: 100%;
  margin: 40px 0 0 0;
  line-height: 1.5;
}

.company-detail table td {
  border-right: 2px solid #ff9a00;
  border-bottom: 2px solid #ff9a00;
  padding: 15px;
}

.company-detail table td.orange {
  background: #fff2de;
  font-weight: bold;
}

.access-map {
  margin: 40px auto;
  text-align: center;
}
.access-map iframe {
  width: 90vw;
  max-width: 800px;
}
.access-map p {
  font-size: 1rem;
  margin: 20px 16px;
  line-height: 1.3;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_contact.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/************************************
** お問い合わせフォームの入力
************************************/
.section_mail_form {
  width: 100%;
  position: relative;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-top: 50px;
  text-align: center;
  background-color: #fef6f0;
  padding: 0 16px 64px;
  border-top: 3px solid #f3ad73;
}
@media screen and (min-width: 1025px) {
  .section_mail_form {
    margin-top: 130px;
  }
}

.mail_title {
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
  width: 90%;
  margin: 0 auto 30px;
  border-radius: 100px;
  border: 3px solid #f3ad73;
  color: #f2862e;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  padding: 10px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .mail_title {
    width: 700px;
  }
}

p.mail_navi {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.5;
  padding-top: 64px;
  margin-bottom: 40px;
}
@media screen and (min-width: 1025px) {
  p.mail_navi {
    margin-bottom: 24px;
  }
}

.info {
  margin-bottom: 40px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .info {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 24px;
    font-size: 1.3rem;
  }
}
.info a {
  text-decoration: none;
  font-size: 2.2rem;
  font-weight: bold;
  color: #eb6100;
  line-height: 1.5;
}
.info a p {
  display: flex;
  width: 310px;
  font-size: 1rem;
  margin: 0 auto;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #333333;
}
.info a p::before {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #333333;
  display: block;
  transform: rotate(-30deg);
}
.info a p::after {
  content: "";
  width: 3px;
  height: 20px;
  background-color: #333333;
  display: block;
  transform: rotate(30deg);
}
.info__tel {
  width: 80%;
  margin-right: 8px;
  margin-block-start: 8px;
}
.info__area {
  text-align: left;
}
.info__area span {
  font-weight: bold;
  display: block;
  padding-inline-start: 8px;
  text-align: center;
  border-bottom: 1px solid #333;
}
.info__area p {
  font-size: 1rem;
  letter-spacing: 1px;
  text-align: center;
  text-wrap: balance;
}

#cf-tbl {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #cf-tbl {
    line-height: 90px;
  }
}

#cf-tbl table {
  width: 100%;
  border-collapse: collapse;
  border-width: 2px;
  font-weight: bold;
}

#cf-tbl table tr th,
#cf-tbl table tr td {
  text-align: left;
  vertical-align: top;
  border-width: 1px;
}

#cf-tbl table tr th {
  width: 35%;
}

#cf-tbl table tr {
  border-bottom: 2px #eee solid;
}

#cf-tbl table tr:last-child {
  border-bottom: none;
}

span.wpcf7-checkbox .wpcf7-list-item {
  display: block;
  line-height: 35px;
}

.wpcf7-checkbox {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: fit-content;
  line-height: 1.2;
  letter-spacing: 1px;
  row-gap: 24px;
  text-align: left;
  margin: 40px 0 16px 0;
}
@media screen and (min-width: 768px) {
  .wpcf7-checkbox {
    column-gap: 32px;
  }
}
.wpcf7-checkbox label {
  overflow: hidden;
  display: flex;
  align-items: baseline;
}
.wpcf7-checkbox label:hover {
  cursor: pointer;
  color: #ff9933;
  transition: color 0.3s;
}
.wpcf7-checkbox label input {
  margin-right: 8px;
  flex-shrink: 0;
}
.wpcf7-checkbox label p {
  margin: 0;
  flex-grow: 1;
}
.wpcf7-checkbox label:after {
  content: "";
  clear: both;
  display: block;
}

.wpcf7-list-item-label {
  line-height: 1.3;
  font-weight: 500;
}

@media screen and (max-width: 1024px) {
  #cf-tbl {
    width: 100%;
  }
  #cf-tbl table,
  #cf-tbl table tbody,
  #cf-tbl table tr,
  #cf-tbl table tr th,
  #cf-tbl table tr td {
    display: block;
  }
  #cf-tbl table {
    width: 100%;
    border-width: 0 0 1px 0;
  }
  #cf-tbl table tr th,
  #cf-tbl table tr td {
    width: 100%;
  }
  #cf-tbl table th {
    margin: 24px 0;
  }
  #cf-tbl table tr {
    padding: 4px 0;
  }
  #cf-tbl table tr td {
    border-width: 0px 1px 0px 1px;
  }
}
/*「必須」文字デザイン*/
.required {
  font-size: 0.8em;
  padding: 5px;
  background: #F57500;
  color: #fff;
  border-radius: 3px;
  font-weight: bold;
  margin-right: 5px;
}

#cf-tbl table tr.mail-org {
  border-bottom: 0px;
}

/*「任意」文字デザイン*/
.optional {
  font-size: 0.8em;
  padding: 5px;
  background: #000080;
  color: #fff;
  font-weight: bold;
  border-radius: 3px;
  margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
  width: 100%;
  padding: 15px 15px;
  margin-right: 10px;
  margin-top: 10px;
  border: 1px solid #d0d5d8;
  border-radius: 3px;
  background-color: #eff1f5;
  font-size: 1rem;
}

textarea.wpcf7-form-control.wpcf7-textarea {
  height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
  display: block;
  padding: 15px;
  width: 400px;
  height: 80px;
  background-color: #eb6100;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  border-radius: 10px;
  margin: 15px auto 0;
  border: 3px solid #fff;
}
input.wpcf7-submit:hover {
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  input.wpcf7-submit {
    width: 250px;
  }
}
.wpcf7 form .wpcf7-response-output {
  display: inline-block;
  border: 4px solid #FF0004;
  border-radius: 30px;
  text-align: center;
  padding: 20px;
  font-weight: bold;
  color: red;
  margin: 0 0 30px 0;
}

input.wpcf7-submit:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
}

/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
  color: red;
  font-weight: bold;
  padding-top: 16px;
}

#autozip {
  display: none !important;
}

.line-box {
  max-width: 1100px;
  margin: 0 auto;
  margin-block-start: 40px;
}
.line-box__flow img {
  width: 100%;
  object-fit: contain;
}
.line-box .line-button {
  display: inline-block;
  background: #4bcc00;
  padding: 24px;
  margin-block-start: 24px;
  border-radius: 8px;
  height: 80px;
  width: 250px;
  border: 3px solid #fff;
  align-content: center;
}
@media screen and (min-width: 768px) {
  .line-box .line-button {
    width: 400px;
  }
}
.line-box .line-button:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
.line-box .line-button a {
  width: 100%;
  display: inline-flex;
  align-items: center;
  column-gap: 16px;
  white-space: nowrap;
  justify-content: center;
}
.line-box .line-button a figure {
  background: #fff;
  border-radius: calc(infinity * 1px);
}
.line-box .line-button a .line-button__text {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_contact.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/************************************
** お問い合わせフォームの入力
************************************/
#autozip {
  display: none !important;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_privacy.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/********************* プライバシーポリシー ***************************/
.privacy-policy {
  max-width: 800px;
  margin: 40px auto;
}

.privacy-policy h1 {
  font-size: 2rem;
  font-weight: bold;
  margin: 0 0 40px 0;
}

.privacy-policy p {
  font-size: 1rem;
  line-height: 1.5;
}

.privacy-policy h2 {
  font-size: 1.8rem;
  font-weight: bold;
  border-left: 5px solid #ff9933;
  padding: 15px 0 15px 20px;
  margin: 50px 0 40px;
  line-height: 1.3;
}

/* olのスタイル */
.privacy-policy ol {
  margin: 20px 0 0 50px;
  padding: 0;
  list-style: none; /* デフォルトの数字を非表示に */
  counter-reset: li;
}

/* ol内のliのスタイル */
.privacy-policy ol li {
  position: relative;
  font-size: 16px;
  padding-left: 1.5em;
  line-height: 1.5;
  margin: 0 0 20px 0;
  width: 800px;
}

/* 2つ目以降のliにmargin-topを指定 */
ol li:not(:first-child) {
  margin-top: 0.5em;
}

/* 数字のスタイル */
.privacy-policy ol li::before {
  counter-increment: li;
  content: counter(li);
  position: absolute;
  left: 0;
  top: 2px; /* 数字のY軸線上の位置を調整 */
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: #ff9933;
  font-size: 12px;
  color: #fff;
  line-height: 20px;
  text-align: center;
}

.privacy-policy ul {
  margin: 20px 0 0 0;
  line-height: 1.8;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_voice.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*========================= お客様の声 ==========================================*/
.voice-ttl {
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: bold;
  color: #ff6600;
  padding: 8px;
  margin-bottom: 24px;
  border-left: 5px solid #ff6600;
  background-color: #f6f6f6;
}

@media screen and (min-width: 768px) {
  .voice-content {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .voice-content__thumbnail {
    width: 50%;
  }
}
.voice-content__voice-box {
  flex: 1;
  margin: 24px 0;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .voice-content__voice-box {
    margin: 0 0 0 24px;
  }
}
.voice-content__voice-box__inner {
  display: grid;
  grid-template-columns: 1fr 2fr;
  padding: 8px;
  padding: 0 0 10px 0;
  margin: 40px auto 30px;
  text-align: left;
  line-height: 1.5;
  position: relative;
  border-bottom: solid 3px #eee;
}
.voice-content__voice-box__inner::after {
  position: absolute;
  content: "";
  display: block;
  left: 0;
  bottom: -3px;
  border-bottom: 3px solid #ff6600;
  width: 30%;
  height: 100%;
}
.voice-content__voice-box__inner__tag {
  font-weight: bold;
}
.voice-content__voice-box__inner__name {
  padding-left: 24px;
}

.voice-comments-ttl, .voice-comments-ttl02 {
  font-size: 1.3rem;
  line-height: 1.3;
  font-weight: bold;
  color: #ff6600;
  padding: 8px;
  margin: 24px 0;
  border-left: 5px solid #ff6600;
  background-color: #f6f6f6;
}

.voice-comments {
  line-height: 2;
  text-align: justify;
  margin-bottom: 40px;
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .voice-comments {
    display: flex;
    column-gap: 24px;
  }
}
@media screen and (min-width: 1024px) {
  .voice-comments {
    margin-top: 24px;
  }
}
.voice-comments__figure {
  margin: 0 auto;
  max-width: 250px;
}

.voice-comments-ttl02 {
  color: #56a327;
  border-left: 5px solid #56a327;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	home.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.front-mv {
  position: relative;
}
.front-mv__box {
  color: #fff;
  line-height: 1.5;
  padding: 70px 20px 30px 20px;
}
@media screen and (min-width: 768px) {
  .front-mv__box {
    padding: 70px 50px;
  }
}
.front-mv__box h2 {
  font-size: 30px;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .front-mv__box h2 {
    font-size: 40px;
  }
}
.front-mv__box__map {
  display: flex;
  justify-content: flex-end;
  padding-right: 30px;
  padding-top: 20%;
}
@media screen and (min-width: 768px) {
  .front-mv__box__map {
    padding-top: 50px;
    padding-right: 60%;
  }
}
.front-mv__box p {
  display: inline;
  line-height: 1.75;
  border-bottom: 1px solid #3db5e2;
  font-size: 16px;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .front-mv__box p {
    font-size: 20px;
  }
}
.front-mv__bg {
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: cover;
  top: 0;
  z-index: -999;
}
@media screen and (min-width: 768px) {
  .front-mv__bg {
    width: 100%;
  }
}

.front-product-information {
  background-color: #333;
  color: #fff;
  padding: 0 20px 30px;
}
@media screen and (min-width: 768px) {
  .front-product-information {
    padding: 16px 24px;
  }
}
@media screen and (min-width: 768px) {
  .front-product-information__box {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 24px;
  }
}
.front-product-information__box h2 {
  font-size: 20px;
  text-align: center;
  padding: 25px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .front-product-information__box h2 {
    font-size: clamp(1.25rem, 0.139rem + 2.31vw, 1.875rem);
    padding: 0;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .front-product-information__box h2 {
    margin: 0;
  }
}
.front-product-information__box__all {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 10px;
  grid-row-gap: 20px;
  max-width: 390px;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .front-product-information__box__all {
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: none;
    grid-column-gap: 10px;
    max-width: 840px;
    margin: 0;
  }
}
.front-product-information__box__all__item1, .front-product-information__box__all__item2, .front-product-information__box__all__item3, .front-product-information__box__all__item4 {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .front-product-information__box__all__item1, .front-product-information__box__all__item2, .front-product-information__box__all__item3, .front-product-information__box__all__item4 {
    border-right: 1px solid;
    padding-right: 35px;
  }
}
.front-product-information__box__all__item1:hover p, .front-product-information__box__all__item2:hover p, .front-product-information__box__all__item3:hover p, .front-product-information__box__all__item4:hover p {
  color: #3db5e2;
}
.front-product-information__box__all__item1 a, .front-product-information__box__all__item2 a, .front-product-information__box__all__item3 a, .front-product-information__box__all__item4 a {
  display: inline-block;
  width: 100%;
  color: #fff;
}
.front-product-information__box__all__item1 a img, .front-product-information__box__all__item2 a img, .front-product-information__box__all__item3 a img, .front-product-information__box__all__item4 a img {
  width: 100%;
  object-fit: cover;
}
.front-product-information__box__all__item1 a p, .front-product-information__box__all__item2 a p, .front-product-information__box__all__item3 a p, .front-product-information__box__all__item4 a p {
  font-size: 15px;
  font-weight: 400;
  padding-top: 5px;
  transition-duration: 0.3s;
}
.front-product-information__box__all__item1 a:hover, .front-product-information__box__all__item2 a:hover, .front-product-information__box__all__item3 a:hover, .front-product-information__box__all__item4 a:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  filter: brightness(105%);
}
.front-product-information__box__btn-box {
  text-align: center;
  margin-block-start: 40px;
}
@media screen and (min-width: 768px) {
  .front-product-information__box__btn-box {
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .front-product-information__box__btn-box {
    margin: 0;
  }
}

.front-manufacturer__box {
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .front-manufacturer__box {
    padding: 50px 20px;
  }
}
@media screen and (min-width: 768px) {
  .front-manufacturer__box__characters {
    margin-left: 7%;
    padding-top: 20px;
  }
}
.front-manufacturer__box__characters p {
  font-size: 10px;
  line-height: 1.5;
}

.maker-logo {
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-flow: row nowrap;
  padding-bottom: 8px;
  position: relative;
  margin: 0 auto;
}
.maker-logo ul {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0;
  animation: loop 20s infinite linear 0.3s both;
}
.maker-logo ul li {
  display: inline-block;
  margin-right: 40px;
  vertical-align: top;
}
.maker-logo ul li img {
  max-width: 100px;
  height: auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .maker-logo ul li img {
    max-width: 200px;
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.feature .feature-wrapper {
  display: flex;
  flex-direction: column;
  /* feature-wrapper__left
  ------------------------------ */
  /* feature-wrapper__right
  ------------------------------ */
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper {
    display: flex;
    flex-direction: row;
    max-height: 520px;
  }
}
.feature .feature-wrapper__left {
  display: contents;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__left {
    display: block;
    flex: 0.8;
  }
}
.feature .feature-wrapper__left .feature-img {
  order: 2;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__left .feature-img {
    order: 1;
  }
}
.feature .feature-wrapper__left .feature-img img {
  width: 100%;
  object-fit: cover;
  max-height: 400px;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__left .feature-img img {
    height: 520px;
    max-height: 520px;
  }
}
.feature .feature-wrapper__right {
  display: contents;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__right {
    display: block;
    flex: 1;
    padding-left: calc(3% + 1vw);
    padding-bottom: calc(2% + 1vw);
    background-color: #f3f3f3;
  }
}
.feature .feature-wrapper__right .feature-ttl {
  order: 1;
  text-align: left !important;
  background-color: #f3f3f3;
  padding-top: 48px;
  padding-inline-start: 7%;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__right .feature-ttl {
    order: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-inline-start: 0;
  }
}
.feature .feature-wrapper__right .feature-ttl span, .feature .feature-wrapper__right .feature-ttl h2 {
  width: 100%;
}
.feature .feature-wrapper__right .feature-text {
  order: 3;
  font-size: 16px;
  line-height: 2;
  margin-inline: auto;
  padding: 24px;
}
@media screen and (min-width: 1024px) {
  .feature .feature-wrapper__right .feature-text {
    max-width: 750px;
    padding: initial;
    margin-inline: initial;
    padding-bottom: calc(3% + 1vw);
  }
}
.feature .feature-wrapper .feature-order {
  order: 4;
  max-width: 340px;
  margin-inline: auto;
}

.front-recommend {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .front-recommend__box-list {
    display: flex;
    max-width: 1100px;
    margin: 0 auto;
    gap: 30px;
  }
}
.front-recommend__box-list__box {
  width: 100%;
  margin: 20px 0;
}
.front-recommend__box-list__box:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.front-recommend__box-list__box__thumb {
  margin-bottom: 20px;
}
.front-recommend__box-list__box__text p {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .front-recommend__box-list__box__text p {
    font-size: 18px;
  }
}

.front-product .product-wrapper {
  margin-block-end: 50px;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    gap: 32px;
    justify-content: center;
    column-gap: 16px;
  }
}
.front-product .product-wrapper .product-inner {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .product-inner {
    max-width: 300px;
    height: 250px;
    margin: initial;
    text-align: center;
    width: fit-content;
    max-height: 275px;
  }
}
.front-product .product-wrapper .product-inner figure img {
  width: 100%;
}
.front-product .product-wrapper .product-inner .product-content {
  transform: translate(0px, 50px);
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .product-inner .product-content {
    transform: translate(0px, -160px);
    text-align: center;
  }
}
.front-product .product-wrapper .product-inner .product-content > p {
  color: #fff;
  font-size: clamp(1.125rem, 0.898rem + 0.97vw, 1.625rem);
  text-align: center;
  margin-block-end: 8px;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .product-inner .product-content > p {
    margin-block-end: 40px;
  }
}
.front-product .product-wrapper .background-solar {
  background: url(images/front/products-handled/solar-pannel-front-product.png) no-repeat center/cover;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .background-solar {
    background: none;
  }
}
.front-product .product-wrapper .background-battery {
  background: url(images/front/products-handled/storage-battery-front-product.png) no-repeat top/cover;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .background-battery {
    background: none;
  }
}
.front-product .product-wrapper .background-ecocute {
  background: url(images/front/products-handled/ecocute-front-product.png) no-repeat bottom/cover;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .background-ecocute {
    background: none;
  }
}
.front-product .product-wrapper .background-v2h {
  background: url(images/front/products-handled/v2h-front-product.png) no-repeat bottom/cover;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .background-v2h {
    background: none;
  }
}
.front-product .product-wrapper .background-solar,
.front-product .product-wrapper .background-battery,
.front-product .product-wrapper .background-ecocute,
.front-product .product-wrapper .background-v2h {
  border-radius: 8px;
  height: 170px;
  width: 100%;
  margin-block-end: 24px;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .background-solar,
  .front-product .product-wrapper .background-battery,
  .front-product .product-wrapper .background-ecocute,
  .front-product .product-wrapper .background-v2h {
    height: initial;
    margin-block-end: 0;
  }
}
.front-product .product-wrapper .content-index {
  text-align: center;
  border: 1px solid #333;
  border-radius: 8px;
  width: 100%;
  padding: 24px;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .content-index {
    padding-block-start: 8px;
    height: 263px;
    width: 300px;
  }
}
.front-product .product-wrapper .content-index .content-indeximg {
  width: 90%;
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .content-index .content-indeximg {
    width: 50%;
    margin-block-end: 173px;
  }
}
.front-product .product-wrapper .content-index .indexbox-ver {
  transform: translate(0px, 10px);
}
@media screen and (min-width: 768px) {
  .front-product .product-wrapper .content-index .indexbox-ver {
    transform: translate(0px, -135px);
  }
}

.front-products-handled__sp {
  text-align: center;
  padding: 25px;
}
.front-products-handled__sp__box1__item {
  padding-bottom: 10px;
}
.front-products-handled__sp__box1__item__contents {
  padding: 60px 42px 10px 42px;
  position: absolute;
}
.front-products-handled__sp__box1__item__contents p {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  padding-bottom: 10px;
}
.front-products-handled__sp__box2__item2 {
  padding-bottom: 10px;
}
.front-products-handled__sp__box2__item2__contents {
  padding: 60px 42px 10px 42px;
  position: absolute;
}
.front-products-handled__sp__box2__item2__contents p {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  padding-bottom: 10px;
}
.front-products-handled__sp__box2__item2-icon {
  padding: 10px;
  border: 1px solid #333;
  border-radius: 5px;
}
.front-products-handled__sp__box2__item2-icon__up {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-bottom: 10px;
}
.front-products-handled__sp__box2__item2-icon__down {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.front-products-handled__sp__box2__item2-icon__btn {
  padding: 10px 31px 0;
}

.front-products-handled__pc {
  text-align: center;
  padding: 25px;
}
.front-products-handled__pc__box1 {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.front-products-handled__pc__box1__item {
  padding-bottom: 10px;
}
.front-products-handled__pc__box1__item__contents {
  position: absolute;
  padding: 9% 36px 10px 36px;
}
.front-products-handled__pc__box1__item__contents p {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  padding-bottom: 20px;
}
.front-products-handled__pc__box2 {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.front-products-handled__pc__box2__item2 {
  padding: 0;
}
.front-products-handled__pc__box2__item2__contents {
  padding: 9% 36px 10px 36px;
  position: absolute;
}
.front-products-handled__pc__box2__item2__contents p {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  padding-bottom: 20px;
}
.front-products-handled__pc__box2__item2-icon {
  padding: 20px 5px;
  border: 1px solid #333;
  border-radius: 5px;
}
.front-products-handled__pc__box2__item2-icon__up {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-bottom: 10px;
}
.front-products-handled__pc__box2__item2-icon__down {
  display: flex;
  justify-content: center;
  gap: 10px;
}
.front-products-handled__pc__box2__item2-icon__btn {
  padding: 10px 31px 0;
}

.front-cta {
  position: relative;
}
.front-cta__content {
  background: url("images/front/cta/bg-front-cta-pc.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .front-cta__content {
    display: flex;
    padding: 6%;
    justify-content: space-evenly;
  }
}
.front-cta__content__text-box {
  color: #fff;
  line-height: 1.5;
  max-width: 357px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .front-cta__content__text-box {
    max-width: initial;
    padding-inline-end: 5%;
  }
}
@media screen and (min-width: 1025px) {
  .front-cta__content__text-box {
    max-width: 1100px;
    margin: 0;
    padding-inline-end: 0;
  }
}
.front-cta__content__text-box h2 {
  font-size: 28px;
  font-weight: 700;
  padding-bottom: 20px;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 768px) {
  .front-cta__content__text-box h2 {
    padding-top: 60px;
    font-size: 40px;
  }
}
.front-cta__content__text-box p {
  font-size: 14px;
  font-weight: 500;
  padding-bottom: 30px;
  text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
@media screen and (min-width: 768px) {
  .front-cta__content__text-box p {
    font-size: 20px;
  }
}
.front-cta__content__btn-box {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .front-cta__content__btn-box {
    margin: auto 0;
  }
}
.front-cta__content__btn-box .cta-subttl {
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  margin-block-end: 8px;
}
@media screen and (min-width: 768px) {
  .front-cta__content__btn-box .cta-subttl {
    font-size: 18px;
  }
}
.front-cta__content__btn-box__btn a {
  display: block;
  width: 100%;
  padding: 15px 30px;
}

/* .reason-wrapper
------------------------------ */
.background {
  background-color: #f3f3f3;
  counter-reset: reason-counter-number;
}

.reason-wrapper {
  /* .reason-wrapper__inner
  ------------------------------ */
}
.reason-wrapper__inner {
  background-color: #fff;
  padding: 16px;
}
@media screen and (min-width: 768px) {
  .reason-wrapper__inner {
    padding: 2% 5%;
  }
}
@media screen and (min-width: 1025px) {
  .reason-wrapper__inner {
    margin-block-end: 48px;
  }
}
.reason-wrapper__inner .sub-ttl {
  font-size: clamp(1.125rem, 0.943rem + 0.91vw, 1.625rem);
  border-bottom: 1px solid #333;
  padding-block-end: 10px;
  margin-block-start: 21px;
  font-weight: 700;
  line-height: 1.3;
  white-space: nowrap;
}
.reason-wrapper__inner .sub-ttl span {
  margin-inline-end: 8px;
  color: #33cccc;
}
.reason-wrapper__inner .sub-ttl span::before {
  counter-increment: reason-counter-number;
  content: counter(reason-counter-number, decimal) "";
}
.reason-wrapper__inner h3 + p {
  margin: 4% 0 8%;
  line-height: 1.6;
}
.reason-wrapper__inner .graph, .reason-wrapper__inner .pictogram, .reason-wrapper__inner .maker {
  display: block;
  text-align: center;
  width: 100%;
}
.reason-wrapper__inner .graph img, .reason-wrapper__inner .pictogram img, .reason-wrapper__inner .maker img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.reason-wrapper__inner .costcut-box {
  margin: 40px 0;
  border: 1px solid #333;
  padding: 16px 8px;
}
.reason-wrapper__inner .costcut-box .costcut-box_ttl {
  font-size: 17px;
  font-weight: bold;
  padding-inline-start: 8px;
}
.reason-wrapper__inner .costcut-box .costcut-box_text {
  display: flex;
  letter-spacing: 1.2px;
  line-height: 1.3;
  margin: 24px 0;
}
.reason-wrapper__inner .content-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-block-start: 32px;
  text-align: center;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .reason-wrapper__inner .content-wrapper {
    flex-direction: row;
  }
}
.reason-wrapper__inner .content-wrapper .content-ttl {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin: 32px 0 40px;
  line-height: 1.3;
}
.reason-wrapper__inner .content-wrapper .content-text {
  margin-block-start: 16px;
  line-height: 1.6;
  padding: 0 8px;
}
.reason-wrapper__inner .content-wrapper .content-left, .reason-wrapper__inner .content-wrapper .content-right {
  padding: 24px 8px;
  background: #e1f2f9;
  border-radius: 10px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.reason-wrapper__inner .content-wrapper .content-left figure, .reason-wrapper__inner .content-wrapper .content-right figure {
  padding: 0 40px;
}
.reason-wrapper__inner .content-wrapper .reason-arrow::after {
  position: absolute;
  content: "";
  width: 100px;
  height: 100px;
  transform: translate(-50px, -50px);
  background-image: url(images/front/reason/arrow02.png);
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  .reason-wrapper__inner .content-wrapper .reason-arrow::after {
    position: absolute;
    content: "";
    width: 100px;
    height: 100px;
    transform: translate(-50px, 190px);
    background-image: url(images/front/reason/arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
  }
}

/* .voice-wrapper
------------------------------ */
.voice-wrapper {
  display: grid;
  grid-template-columns: repeat(3, minmax(230px, 1fr));
  column-gap: 48px;
  scrollbar-width: auto;
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
  margin-block-end: 10%;
}
.voice-wrapper .content {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  margin-block-end: 32px;
}
.voice-wrapper .content figure img {
  width: 100%;
  height: auto;
}
.voice-wrapper .content .content-ttl {
  font-size: 18px;
  font-weight: bold;
  margin: 16px 0;
}
.voice-wrapper .content .content-text {
  line-height: 1.6;
  margin-block-end: 28px;
}

/* .achievement-wrapper
------------------------------ */
.achievement-wrapper {
  text-align: center;
  font-weight: bold;
}
.achievement-wrapper .achievement-ttl {
  font-size: clamp(1.125rem, 0.83rem + 1.48vw, 1.938rem);
  margin-block-end: 2%;
}
.achievement-wrapper .achievement-ttl em {
  color: #3db5e2;
}
.achievement-wrapper .achievement-ttl02 {
  font-size: clamp(1.5rem, 1rem + 2.5vw, 2.875rem);
  line-height: 1.3;
}
.achievement-wrapper .achievement-ttl02 strong {
  text-decoration-color: #e1f2f9;
  text-decoration-line: underline;
  text-decoration-thickness: 21px;
  text-underline-offset: -10px;
}
.achievement-wrapper .achievement-img {
  display: block;
}
@media screen and (min-width: 768px) {
  .achievement-wrapper .achievement-img {
    aspect-ratio: 0;
  }
}
.achievement-wrapper .achievement-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 72px 0;
}
@media screen and (min-width: 768px) {
  .achievement-wrapper .achievement-img img {
    width: 70%;
  }
}
@media screen and (min-width: 1025px) {
  .achievement-wrapper .achievement-img img {
    width: 100%;
  }
}

/* .setup-flow
------------------------------ */
.setup-flow {
  counter-reset: reason-counter-number;
}
.setup-flow .flow-inner {
  display: grid;
  grid-template-columns: repeat(5, minmax(230px, 1fr));
  grid-column-gap: 32px;
  scrollbar-width: auto;
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}
.setup-flow .flow-inner .content-wrapper {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 24px;
  margin-block-end: 32px;
}
.setup-flow .flow-inner .content-wrapper .flow-img {
  position: relative;
}
.setup-flow .flow-inner .content-wrapper .flow-img span {
  position: absolute;
  margin-inline-end: 8px;
  color: #fff;
  background-color: #3db5e2;
  padding: 5px 10px;
}
.setup-flow .flow-inner .content-wrapper .flow-img span::before {
  counter-increment: reason-counter-number;
  content: counter(reason-counter-number, decimal) "";
  font-size: 30px;
}
.setup-flow .flow-inner .content-wrapper .flow-img img {
  height: 100%;
  object-fit: cover;
}
.setup-flow .flow-inner .content-wrapper p:first-of-type {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}
.setup-flow .flow-inner .content-wrapper p:last-of-type {
  line-height: 1.6;
}

/* .column
------------------------------ */
.column .column-all {
  text-align: center;
  margin-block-end: 80px;
}
.column .column-area {
  margin: 0 auto;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .column .column-area {
    display: flex;
    column-gap: 48px;
  }
}
.column .column-box {
  margin-bottom: 20px;
}
.column .column-box:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.column .column-box a {
  color: #333;
}
.column .column-box a .column-inner {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .column .column-box a .column-inner {
    flex-direction: column;
  }
}
.column .column-box a .column-inner .thumbnail-box {
  flex: 1;
}
.column .column-box a .column-inner .thumbnail-box img {
  width: 100%;
  height: auto;
}
.column .column-box a .column-inner .column-text {
  flex: 1.5;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .column .column-box a .column-inner .column-text {
    display: flex;
    flex-direction: column;
  }
}
.column .column-box a .column-inner .column-text span {
  font-size: 0.7rem;
  font-weight: bold;
  border: 1px solid #ccc;
  padding: 9px;
  display: inline-block;
  padding: 4px 8px;
  margin: 0 8px 8px;
  width: fit-content;
  color: #999999;
}
@media screen and (min-width: 768px) {
  .column .column-box a .column-inner .column-text span {
    order: 2;
  }
}
.column .column-box a .column-inner .column-text h3 {
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.3;
  text-align: justify;
  margin: 0 8px 8px;
}
@media screen and (min-width: 768px) {
  .column .column-box a .column-inner .column-text h3 {
    order: 1;
    margin: 20px 0;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 1rem;
  }
}

/* .support-wrapper
------------------------------ */
.support-wrapper .support-inner {
  display: flex;
  flex-direction: column;
  gap: 32px;
  text-align: center;
  margin-block-end: 24px;
}
@media screen and (min-width: 768px) {
  .support-wrapper .support-inner {
    flex-direction: row;
  }
}
.support-wrapper .support-inner figure {
  order: 2;
  max-width: 260px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .support-wrapper .support-inner figure {
    order: 1;
  }
}
.support-wrapper .support-inner figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.support-wrapper .support-inner .text-box {
  font-size: clamp(1.125rem, 0.852rem + 1.36vw, 1.875rem);
  font-weight: bold;
  margin-block-start: 40px;
  order: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .support-wrapper .support-inner .text-box {
    order: 2;
    text-align: left;
  }
}
.support-wrapper .support-inner .text-box h3 {
  margin-block-end: 28px;
  letter-spacing: 1.3px;
}
.support-wrapper .support-inner .text-box h3 strong {
  padding: 8px;
  color: #3db5e2;
  background-color: #fff;
  margin-inline-end: 8px;
}
.support-wrapper .support-inner .text-box p {
  line-height: 1.6;
  text-wrap: balance;
}
.support-wrapper .support-inner .text-box small {
  font-size: 16px;
}

.support-area-kinki__bg__list {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .support-area-kinki__bg__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 24px;
    column-gap: 16px;
  }
}
.support-area-kinki__bg__list .dropdown {
  margin-block-end: 8px;
}
@media screen and (min-width: 768px) {
  .support-area-kinki__bg__list .dropdown {
    margin-block-end: initial;
  }
}
.support-area-kinki__bg__list .dropdown input[type=checkbox] {
  display: none;
}
.support-area-kinki__bg__list .dropdown label {
  cursor: pointer;
}
.support-area-kinki__bg__list .dropdown .submenu {
  display: none;
}
.support-area-kinki__bg__list .dropdown input[type=checkbox]:checked + label + .submenu {
  display: block;
  height: auto;
  opacity: 1;
}
.support-area-kinki__bg__list .dropdown input[type=checkbox]:checked + label {
  color: #fff;
  background-color: #333;
  border-color: #333;
}
.support-area-kinki__bg__list .dropdown input[type=checkbox]:checked + label::after {
  border-top-color: #fff;
  border-right-color: #fff;
}
.support-area-kinki__bg__list .dropdown label {
  position: relative;
  display: inline-block;
  padding: 15px 26px 15px 10px;
  background-color: #fff;
  width: 100%;
  text-align: center;
  border: 1px solid #333;
  transition-duration: 0.3s;
}
.support-area-kinki__bg__list .dropdown label:hover {
  color: #fff;
  background-color: #333;
  transition-duration: 0.3s;
}
.support-area-kinki__bg__list .dropdown label:hover::after {
  border-top-color: #fff;
  border-right-color: #fff;
}
.support-area-kinki__bg__list .dropdown label::after {
  content: "";
  position: absolute;
  top: 40%;
  right: 18px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #333;
  border-right: 2px solid #333;
  transform: rotate(135deg);
}
.support-area-kinki__bg__list .submenu {
  border: 1px solid #2f4858;
  list-style: none;
  background-color: #fff;
}
.support-area-kinki__bg__list .submenu__item {
  text-align: center;
  width: 100%;
}
.support-area-kinki__bg__list .submenu__item__title {
  border-bottom: 1px solid #333;
  background-color: #d5d5d5;
  padding: 7px 0px;
}
.support-area-kinki__bg__list .submenu__item__detail {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #333;
  padding: 5px 0px 5px 5px;
}
.support-area-kinki__bg__list .submenu__item__detail p {
  font-size: 14px;
  padding: 10px 5px;
  width: 24%;
  border: 1px solid #333;
  margin: 1px;
}

/* .question-corner
------------------------------ */
.question-corner .question-wrapper .question-content .question-ttl-wrapper {
  display: flex;
  column-gap: 8px;
  align-items: center;
}
.question-corner .question-wrapper .question-content .question-ttl-wrapper span {
  content: url(images/front/question/question-icon.png);
  display: inline-block;
  width: 25px;
  height: 25px;
  background-size: cover;
}
.question-corner .question-wrapper .question-content .question-ttl-wrapper .question-ttl {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
}
.question-corner .question-wrapper .question-content .question-answer {
  font-weight: normal;
  line-height: 1.6;
  margin-block-end: 19px;
  border-bottom: 1px solid #cccccc;
  padding: 0 0 19px 31px;
  margin-block-start: 19px;
}
.question-corner .style-specification {
  text-align: center;
  margin-block-end: 80px;
  margin-block-start: 8%;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_solar_lp.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 1024px) {
  .solar-lp-main-visual {
    margin-block-end: 80px;
  }
}
.solar-lp-main-visual .solar-lp-header {
  background-color: #fff;
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav {
  width: 100%;
  max-width: 1200px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  gap: 8px;
  height: 60px;
  padding: 0 16px;
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav__logo {
  width: clamp(150px, 50vw, 200px);
}
@media screen and (min-width: 1025px) {
  .solar-lp-main-visual .solar-lp-header .solar-lp-nav__logo {
    padding-right: 24px;
  }
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav ul {
  display: flex;
  flex-shrink: 0;
  justify-content: space-between;
  padding-top: 16px;
  color: #333;
  gap: 24px;
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav li {
  font-size: 0.8rem;
  font-weight: 500;
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav li:hover {
  color: #f69934;
  transition: 0.3s;
}
.solar-lp-main-visual .solar-lp-header .solar-lp-nav a {
  text-decoration: none;
  color: #333;
}
@media screen and (min-width: 1024px) {
  .solar-lp-main-visual__wrapper {
    display: flex;
    justify-content: center;
  }
}
.solar-lp-main-visual__wrapper__figure {
  width: fit-content;
}
.solar-lp-main-visual__wrapper__contactbox__ttl {
  display: block;
  inline-size: fit-content;
  margin-inline: auto;
  margin-block: 18px;
  font-weight: 700;
  font-size: 1.25rem;
}
@media screen and (min-width: 1280px) {
  .solar-lp-main-visual__wrapper__contactbox__ttl {
    padding-block-start: 40px;
  }
}
.solar-lp-main-visual__wrapper .contact-sidever {
  width: min(90%, 600px);
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .solar-lp-main-visual__wrapper .contact-sidever {
    width: 100%;
  }
}
.solar-lp-main-visual__wrapper .contact-sidever__content {
  padding-block-end: 16px;
  margin: 0 16px;
}
@media screen and (min-width: 1280px) {
  .solar-lp-main-visual__wrapper .contact-sidever__content {
    padding-block-end: 10%;
  }
}
.solar-lp-main-visual__wrapper .contact-sidever__content label {
  font-size: 0.875rem;
}
.solar-lp-main-visual__wrapper .contact-sidever__content .coustom-sidever, .solar-lp-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever {
  width: 100%;
  display: block;
  padding: 0.5em 0.25em;
  margin-top: 10px;
  margin-right: 0;
  border: 1px solid #d0d5d8;
  border-radius: 3px;
  background-color: #eff1f5;
  font-size: 1rem;
}
.solar-lp-main-visual__wrapper .contact-sidever__content .coustom-sidever .placeholder, .solar-lp-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever .placeholder {
  font-size: smaller;
}
.solar-lp-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever {
  height: 70px;
}
.solar-lp-main-visual__wrapper .coustom-side-sendbotton {
  display: block;
  padding: 15px;
  background-color: #eb6100;
  color: #fff;
  border-radius: 10px;
  margin: 15px auto 0;
  border: 3px solid #fff;
  font-weight: bold;
  width: inherit;
  height: auto;
}
.solar-lp-main-visual__wrapper .contact-sidever__send {
  padding: 16px;
}

.note-box {
  max-width: 1200px;
  padding: 0 10px 20px;
  line-height: 1.5;
  margin: 0 auto;
}
.note-box__text {
  display: block;
  text-align: left;
  font-size: 0.4rem;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  .note-box__text {
    font-size: 1rem;
  }
}

.recommend_product_ttl {
  font-size: 1.5rem;
  font-weight: bold;
  color: #ff6600;
  margin-bottom: 32px;
  text-align: center;
}
.recommend_product_ttl::before {
  content: "";
  display: inline-block;
  background-image: url(images/smile-logo/smile_logo04.png);
  width: 55px;
  height: 50px;
  background-size: 100%;
  background-position: bottom;
  background-repeat: no-repeat;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .recommend_product_ttl {
    font-size: 2rem;
  }
}

.recommend_product_background {
  background-color: #fef6f0;
  padding-top: 20px;
  border-top: 2px solid #face05;
  border-bottom: 2px solid #face05;
}

.recommend_product {
  display: flex;
  margin: 0 48px;
  padding: 0 0 30px 0;
}

.question {
  width: 100%;
}
.question__ttl {
  padding: 40px 0;
  width: 100%;
  text-align: center;
}
.question__ruby {
  display: block;
  text-align: center;
  font-size: 0.8rem;
  color: #ccc;
  padding-top: 20px;
}
@media screen and (min-width: 768px) {
  .question__ruby {
    font-size: 2rem;
  }
}
.question__ruby::after {
  content: "";
  display: block;
  height: 6px;
  width: 50%;
  margin: 24px auto 0;
  background-image: linear-gradient(180deg, rgb(247, 226, 197), rgb(252, 74, 0));
}
.question ul {
  margin: 20px 0;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1280px) {
  .question ul {
    column-count: 2;
    margin: 80px auto;
  }
}
.question ul a {
  text-decoration: none;
}
.question ul li {
  display: flex;
  align-items: center;
  text-align: left;
  line-height: 3;
  font-size: 1rem;
  font-weight: bold;
  color: #333;
}
.question ul li .check-icon {
  font-size: 1.5rem;
  color: #663333;
  font-weight: bold;
  padding-right: 10px;
}
@media screen and (min-width: 768px) {
  .question ul li .check-icon {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .question ul li {
    font-size: 1.9rem;
  }
}
.question ul li:hover {
  color: #f69934;
  transition: 0.3s;
}

.energy-cost {
  text-align: center;
  width: 90%;
  margin: 0 auto;
}

.merit {
  width: 100%;
  text-align: center;
}
.merit__ttl, .merit__ttl01, .merit__ttl02, .merit__ttl03 {
  margin-bottom: 24px;
}

.merit01 {
  width: 100%;
  text-align: center;
}
.merit01__figure {
  margin-bottom: 20px;
}
@media screen and (min-width: 1025px) {
  .merit01__figure {
    width: 70%;
    display: flex;
    margin: 0 auto;
    margin-bottom: 24px;
  }
}
.merit01__costcut-text {
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  color: #333;
}
@media screen and (min-width: 768px) {
  .merit01__costcut-text {
    font-size: 1.5rem;
  }
}

.cost {
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  .cost {
    width: 60vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .cost {
    display: flex;
    gap: 20px;
    width: 100%;
  }
}
.cost__maker {
  width: 100%;
  flex-shrink: 1;
  border: 3px solid #333399;
  border-radius: 10px 10px 0 0;
  text-align: center;
}
.cost__maker__box {
  display: flex;
  background-color: #333399;
  font-size: 1.2rem;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  height: 40px;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .cost__maker__box {
    font-size: clamp(1rem, 1.8vw, 1.4rem);
  }
}
.cost__maker__figure {
  width: 70px;
  transform: translateY(-110%);
}
.cost__maker__wrap {
  display: flex;
  padding: 16px 8px 0;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
}
.cost__maker__wrap__left-box {
  width: 60%;
  line-height: 1.2;
}
.cost__maker__wrap__left-box ul {
  display: flex;
  max-width: fit-content;
  font-weight: bold;
  margin: 0 auto;
}
.cost__maker__wrap__left-box ul .orange-text {
  color: #eb6600;
}
.cost__maker__wrap__left-box ul .blue-text {
  color: #333399;
  padding-left: 10px;
  text-decoration-color: rgb(252, 255, 102);
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
  text-decoration-skip-ink: none;
}
.cost__maker__wrap__left-box__price {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #333399;
}
.cost__maker__wrap__left-box__price__price-left {
  display: flex;
}
.cost__maker__wrap__left-box__price__price-left .price {
  font-weight: bold;
}
.cost__maker__wrap__left-box__price__price-left .price em {
  font-size: 4rem;
}
.cost__maker__wrap__left-box__price__price-right .price02 {
  margin-bottom: -8px;
  padding: 10px;
}
@media screen and (min-width: 1025px) {
  .cost__maker__wrap__left-box__price__price-right .price02 {
    font-size: 2rem;
    padding: 0;
  }
}
@media screen and (min-width: 1025px) {
  .cost__maker__wrap__left-box__price__price-right .price {
    font-size: 1rem;
  }
}
.cost__maker__wrap__right-box {
  width: 45%;
}
.cost__maker__wrap__right-box .maker-text {
  line-height: 1.5;
  font-weight: 600;
  font-size: 0.9rem;
}
.cost .blue-triangle {
  display: flex;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 65px solid transparent;
  border-left: 65px solid transparent;
  border-top: 20px solid #333399;
  border-bottom: 0;
}

.cost-smile {
  max-width: 1200px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .cost-smile {
    width: 60vw;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .cost-smile {
    display: flex;
    width: 100%;
  }
}
.cost-smile__eco {
  border: 3px solid #eb6600;
  border-radius: 10px 10px 0 0;
  text-align: center;
  margin-bottom: 20px;
}
@media screen and (min-width: 1025px) {
  .cost-smile__eco {
    width: 40%;
    flex-shrink: 0;
    margin-top: 24px;
  }
}
.cost-smile__eco__box {
  position: relative;
  display: flex;
  background-color: #eb6600;
  font-size: 1.3rem;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  height: 40px;
  justify-content: center;
  align-items: center;
}
.cost-smile__eco__box__figure {
  width: 40px;
  height: 40px;
  transform: translate(-10%, 7%);
}
.cost-smile__eco__box::before {
  position: absolute;
  background: url(images/reason/reason02/reason-text@2x.png);
  background-repeat: no-repeat;
  background-size: contain;
  top: -33%;
  left: -2%;
  width: 40%;
  height: 60%;
}
.cost-smile__eco__wrap {
  display: flex;
  padding: 16px 8px 0;
  justify-content: space-between;
  gap: 16px;
  text-align: left;
}
.cost-smile__eco__wrap__left-box {
  width: 60%;
  line-height: 1.2;
}
.cost-smile__eco__wrap__left-box ul {
  display: flex;
  max-width: fit-content;
  font-weight: bold;
  margin: 0 auto;
}
.cost-smile__eco__wrap__left-box ul .orange-text {
  color: #eb6600;
}
.cost-smile__eco__wrap__left-box ul .red-text {
  color: red;
  padding-left: 10px;
  text-decoration-color: #ff6;
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
}
.cost-smile__eco__wrap .eco-price {
  color: #eb6600;
}
.cost-smile__eco__figre {
  padding: 16px;
}
.cost-smile .cost02__text {
  position: relative;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px;
  font-size: clamp(0.88rem, 3vw, 1.3rem);
  font-weight: 500;
  line-height: 2.5;
  padding: 9px;
  color: #333;
  filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.65));
}
@media screen and (min-width: 768px) {
  .cost-smile .cost02__text {
    width: 70vw;
  }
}
@media screen and (min-width: 1025px) {
  .cost-smile .cost02__text {
    margin: 24px;
    padding: 24px;
    font-size: clamp(0.88rem, 1.9vw, 1.3rem);
  }
}
.cost-smile .cost02__text::after {
  content: "";
  position: absolute;
  border: 10px solid transparent;
  border-bottom: 30px solid #fff;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1025px) {
  .cost-smile .cost02__text::after {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 10px solid transparent;
    border-bottom: 12px solid transparent;
    border-right: 31px solid #ffffff;
    border-left: 0;
    top: 50%;
    left: 0%;
    translate: -50%;
  }
}
.cost-smile .cost02__text ul {
  width: fit-content;
  margin: 0 auto;
}
.cost-smile .cost02__text ul li {
  text-align: left;
  line-height: 3;
  text-decoration: underline;
  text-decoration-style: solid;
  text-decoration-thickness: 5px;
  text-decoration-color: yellow;
  text-underline-offset: -1px;
  text-indent: -0.8em;
  margin-left: 20px;
  font-weight: bold;
}
.cost-smile .cost02__text ul .cost__text-check {
  color: #663333;
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .cost-smile .cost02__text ul .cost__text-check {
    font-size: 1rem;
  }
}

.solar-lp-cta {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .solar-lp-cta {
    width: clamp(940px, 60vw, 1100px);
    margin: 0 auto;
  }
}

.solar-lp-contact-box {
  justify-content: center;
  max-width: 1200px;
  margin-bottom: 80px;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .solar-lp-contact-box {
    display: flex;
    align-items: center;
    gap: 24px;
  }
}
.solar-lp-contact-box__tel {
  text-align: center;
  padding: 16px;
}
@media screen and (min-width: 768px) {
  .solar-lp-contact-box__tel {
    width: 45%;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1025px) {
  .solar-lp-contact-box__tel {
    margin: 0;
  }
}

.merit02 {
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 40px;
  text-align: center;
  padding: 0 16px;
}
@media screen and (min-width: 1025px) {
  .merit02 img {
    width: 80%;
  }
}
.merit02__figure, .merit02__figure02 {
  max-width: 1200px;
  margin-top: 16px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .merit02__figure img, .merit02__figure02 img {
    width: 80%;
  }
}

.backgraund-white {
  background-color: #fff;
  width: 100%;
  padding-top: 60px;
}

.backgraund-2color {
  position: relative;
  max-width: 1200px;
  padding: 24px;
  height: auto;
  background: linear-gradient(90deg, #f0f7fe 0%, #f0f7fe 50%, #fef6f0 50%, #fef6f0 100%);
  margin: 0 auto;
}
.backgraund-2color .decoration-figure {
  position: absolute;
  width: 230px;
  top: -90px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .backgraund-2color {
    padding: 96px 24px;
  }
}

.merit03 {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .merit03 {
    width: 80%;
    margin: 0 auto;
  }
}
.merit03 img {
  margin-bottom: 24px;
}
.merit03__text {
  display: block;
  max-width: 650px;
  margin: 0 auto;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.8;
  padding: 10px;
  color: #333;
}
@media screen and (min-width: 768px) {
  .merit03__text {
    font-size: 1.5rem;
    text-align: center;
  }
}
.merit03 .side-note {
  padding: 10px;
  color: #333;
  font-weight: 300;
  font-size: 0.8rem;
  margin-bottom: 80px;
}
@media screen and (min-width: 768px) {
  .merit03 .side-note {
    font-size: 1rem;
  }
}
.merit03__repairbox {
  width: 100%;
  background-color: #fff; /* +++ 背景の白枠 +++ */
  padding-bottom: 40px;
}
.merit03__repairbox__ttl {
  text-align: center;
}
.merit03__repairbox__ttl p {
  display: inline-block;
  transform: translateY(-50%);
  background-color: #ff6600;
  border-radius: 40px;
  padding: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .merit03__repairbox__ttl p {
    font-size: 2.5rem;
  }
}
.merit03__repairbox__text-box {
  position: relative;
}
.merit03__repairbox__text-box__text {
  display: block;
  max-width: 1000px;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.8;
  padding-left: 24px;
  color: #333;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .merit03__repairbox__text-box__text {
    font-size: 1.5rem;
    margin-bottom: 90px;
  }
}
.merit03__repairbox__text-box__text::after {
  position: absolute;
  content: "";
  width: 45%;
  height: 100%;
  background: url(images/solar_lp_images/merit/merit03/background-img@2x.png);
  background-size: cover;
  background-repeat: no-repeat;
  right: 0px;
  top: 0;
  opacity: 0.5;
}
@media screen and (min-width: 768px) {
  .merit03__repairbox__container {
    display: flex;
    margin: 0 24px;
    gap: 24px;
    align-items: baseline;
  }
}
.merit03__repairbox__container p {
  text-align: center;
  padding-top: 5px;
  line-height: 1.5;
}
@media screen and (min-width: 1025px) {
  .merit03__repairbox__container p {
    font-size: 1.3rem;
  }
}
.merit03__repairbox__container__img {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.backgraund-white {
  width: 100%;
  background-color: #fff;
  position: relative;
}

.repair {
  padding: 20px;
  text-align: center;
}
.repair::before {
  content: "";
  position: absolute;
  background-image: url(images/solar_lp_images/merit/merit03/decoration-text@2x.png);
  width: 200px;
  height: 170px;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  background-size: 70%;
  transform: translate(0%, -30%);
}
@media screen and (min-width: 1025px) {
  .repair::before {
    background-size: 100%;
  }
}
.repair .repair-text {
  line-height: 1.4;
  font-size: 2rem;
  margin-top: 16px;
  font-weight: bold;
  color: #ff6600;
  text-align: center;
  text-decoration-color: rgb(252, 255, 102);
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
  text-decoration-skip-ink: none;
}
@media screen and (min-width: 768px) {
  .repair .repair-text {
    font-size: 2.9rem;
  }
}
.repair .repair-text span {
  position: relative;
}
.repair .repair-text span::before {
  content: ".";
  position: absolute;
  top: -1.1em;
  left: 17px;
}
.repair p {
  line-height: 1.8;
  font-size: 1rem;
  margin-top: 16px;
  font-weight: bold;
  color: #333;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .repair p {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .repair__figure-container {
    display: flex;
    margin: 0 24px;
    gap: 24px;
  }
}
.repair__figure-container__solar {
  margin: auto;
  text-align: center;
  width: 40%;
}
@media screen and (max-width: 767px) {
  .repair__figure-container__solar {
    width: 70%;
  }
}
.repair__figure-container__solar p {
  padding: 10px;
}
@media screen and (min-width: 1025px) {
  .repair__figure-container__solar p {
    font-size: 1.3rem;
  }
}
.repair__figure-container .plus {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin: 20px 0;
  font-size: 50px;
  color: #333;
}
.repair__figure-container__others {
  display: flex;
  justify-content: space-evenly;
}
.repair__figure-container__others__battery, .repair__figure-container__others__ecokyuto {
  text-align: center;
  margin-top: auto;
  padding: 20px 10px;
}
.repair__figure-container__others__battery p, .repair__figure-container__others__ecokyuto p {
  padding-top: 10px;
  line-height: 1.3;
}
@media screen and (min-width: 1025px) {
  .repair__figure-container__others__battery p, .repair__figure-container__others__ecokyuto p {
    font-size: 1.3rem;
  }
}

.setup-house {
  margin-bottom: 150px;
  text-align: center;
}
.setup-house img {
  width: fit-content;
}
.setup-house .text01 {
  font-size: clamp(1rem, 4vw, 2rem);
  font-weight: bold;
  color: #ff6600;
  line-height: 1.8;
  text-align: center;
  text-decoration-color: rgb(252, 255, 102);
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
  text-decoration-skip-ink: none;
}
.setup-house .text02 {
  background-color: #fef6f0;
  padding: 16px;
  line-height: 1.8;
  text-align: center;
  font-size: clamp(1rem, 4vw, 1.2rem);
  margin: 0 auto;
  margin-top: 24px;
}

.not-solar {
  text-align: center;
  background-color: #fef6f0;
  padding-top: 40px;
}
.not-solar__ttl {
  position: relative;
  text-align: center;
  background-color: #fef6f0;
}
.not-solar__ttl p {
  display: inline-block;
  background-color: #663333;
  border-radius: 100px;
  color: #fff;
  padding: 20px;
  transform: translateY(-50%) translateX(0%);
  font-size: 1.3rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .not-solar__ttl p {
    font-size: 2.5rem;
  }
}
.not-solar__ttl p::before {
  content: "";
  position: absolute;
  background-image: url(images/solar_lp_images/bridge/not-solar-ttl@2x.png);
  width: 200px;
  height: 170px;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  background-size: 100%;
  transform: translate(10%, -60%);
}
@media screen and (min-width: 1025px) {
  .not-solar__ttl p::before {
    background-image: url(images/solar_lp_images/bridge/not-solar-ttl-pc@2x.png);
    width: 200px;
    height: 170px;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
    background-size: 100%;
    transform: translate(-40%, -50%);
  }
}
.not-solar .not-solar-container {
  max-width: 1200px;
  display: flex;
  margin: 0 auto;
}
.not-solar .not-solar-container__figure01, .not-solar .not-solar-container__figure02, .not-solar .not-solar-container__figure03, .not-solar .not-solar-container__figure04 {
  padding: 0 40px 40px;
}

.background-triangle {
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 172px solid transparent;
  border-left: 172px solid transparent;
  border-top: 60px solid #fef6f0;
  border-bottom: 0;
  margin: 0 auto;
}

.cv-text {
  padding: 0 24px;
  margin-bottom: 32px;
  text-align: center;
}

.warning {
  position: relative;
  max-width: 1200px;
  border: 3px solid #ff0000;
  margin: 80px 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .warning::after {
    width: 150px;
    height: 150px;
    position: absolute;
    content: "";
    background-image: url(images/solar_lp_images/bridge/warning-human@2x.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    transform: translate(10%, 20%);
    bottom: 0;
    right: 0;
  }
}
.warning__ttl {
  position: relative;
}
.warning__ttl p {
  display: inline-block;
  background-color: #ff0000;
  border-radius: 100px;
  color: #fff;
  padding: 15px;
  font-size: 1rem;
  font-weight: bold;
  transform: translateY(-50%) translateX(0%);
}
@media screen and (min-width: 768px) {
  .warning__ttl p {
    font-size: 2rem;
  }
}
.warning__ttl p::after {
  width: 170px;
  height: 120px;
  position: absolute;
  content: "";
  background-image: url(images/solar_lp_images/bridge/warning-icon@2x.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 50%;
  transform: translate(10%, -82%);
  top: 0;
  right: 0;
}
.warning ul {
  padding: 0 8px;
  text-align: left;
  margin: 0 auto;
  margin-bottom: 40px;
  max-width: fit-content;
}
.warning ul li {
  display: flex;
  gap: 10px;
  line-height: 1.4;
  font-size: 0.98rem;
  margin-bottom: 24px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .warning ul li {
    font-size: 1.1rem;
  }
}
@media screen and (min-width: 1025px) {
  .warning ul li {
    font-size: 1.5rem;
    margin-bottom: 32px;
  }
}
.warning ul li .warning__icon {
  display: flex;
  color: #ff0000;
  align-items: center;
}

.margin-bottom-wrapper {
  margin-bottom: 80px;
}
@media screen and (min-width: 1025px) {
  .margin-bottom-wrapper {
    margin-bottom: 160px;
  }
}
.margin-bottom-wrapper .promise-ttl-container {
  background: #fef7f1;
  overflow: hidden;
}
.margin-bottom-wrapper .promise-ttl-container__ttl {
  position: relative;
  max-width: 1200px;
  width: clamp(300px, 40vw, 500px);
  margin: 40px 0;
  margin-left: auto;
  margin-right: auto;
}
.margin-bottom-wrapper .promise-ttl-container__ttl::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  font-size: 2rem;
}
.margin-bottom-wrapper .promise-ttl-container__whiht-sircle {
  position: relative;
  z-index: 1;
  padding-top: 60px;
  padding: 120px 0 0 0;
  text-align: center;
}
.margin-bottom-wrapper .promise-ttl-container__whiht-sircle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 120%;
  height: 300px;
  background-color: #fff;
  border-radius: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: -1;
}
.margin-bottom-wrapper .promise-ttl {
  max-width: 1200px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 16px;
}
.margin-bottom-wrapper .promise-ttl img {
  width: fit-content;
}
.margin-bottom-wrapper .promise-text {
  font-size: 1rem;
  line-height: 1.8;
  margin: 16px 0;
  text-align: justify;
  color: #333;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise-text {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .margin-bottom-wrapper .promise02-container {
    display: flex;
  }
}
.margin-bottom-wrapper .promise02-container__text {
  font-size: 1rem;
  line-height: 1.8;
  margin: 16px 0;
  text-align: justify;
  color: #333;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise02-container__text {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1025px) {
  .margin-bottom-wrapper .promise02-container__text {
    width: 40%;
  }
}
.margin-bottom-wrapper .promise02-container__figure {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .margin-bottom-wrapper .promise02-container__figure {
    float: right;
    width: 60%;
    padding-left: 40px;
  }
}
@media screen and (min-width: 1025px) {
  .margin-bottom-wrapper .promise03-container {
    display: flex;
    align-items: center;
  }
}
.margin-bottom-wrapper .promise03-container .promise03__text {
  text-align: center;
}
.margin-bottom-wrapper .promise03-container .promise03__text p {
  font-size: 1rem;
  font-weight: bold;
  color: #333;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise03-container .promise03__text p {
    font-size: 1.2rem;
  }
}
.margin-bottom-wrapper .promise03-container .promise03__text__orange {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
  background-color: #ff6600;
  border-radius: 50px;
  padding: 20px;
  line-height: 1.4;
}
.margin-bottom-wrapper .promise03-container .promise03__text__orange span {
  font-size: 1.5rem;
}
.margin-bottom-wrapper .promise03__figure {
  text-align: center;
}
.margin-bottom-wrapper .promise04__figure {
  float: right;
  width: 50%;
  margin-left: 20px;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise04__figure {
    float: right;
    width: auto;
    margin-left: 40px;
  }
}
.margin-bottom-wrapper .promise06__figure {
  float: right;
  width: 40%;
  margin-left: 20px;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise06__figure {
    width: auto;
  }
}
.margin-bottom-wrapper .promise-text02 {
  position: relative;
  font-size: 1rem;
  line-height: 1.8;
  margin: 16px 0;
  text-align: justify;
  color: #333;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .margin-bottom-wrapper .promise-text02 {
    font-size: 1.5rem;
  }
}
.margin-bottom-wrapper .promise-text02::before {
  content: "";
  position: absolute;
  background-image: url(images/solar_lp_images/promise/sircle@.png);
  background-size: 100%;
  background-repeat: no-repeat;
  width: 150px;
  height: 150px;
  bottom: -30px;
  right: 0;
}

.construction-area__construction {
  text-align: center;
  margin-bottom: 24px;
}
.construction-area__container {
  max-width: 1200px;
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  overflow: hidden;
  margin: 0 auto;
  padding: 0 16px;
}
.construction-area__container__box img {
  height: 260px;
  object-fit: cover;
  width: 100%;
}
.construction-area__container__box__text {
  width: 95%;
  background-color: #fff;
  border-radius: 6px;
  color: #333;
  padding: 8px 16px;
  box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.15);
  z-index: 200;
  transform: translateY(-30px);
  margin-inline: auto;
  line-height: 1.4;
  text-align: justify;
}
.construction-area__container__box__text__comment {
  font-weight: 600;
}
.construction-area__container__box__text__maker {
  padding: 16px 0;
  color: #7cb0b9;
  font-weight: normal;
  border-bottom: 1px solid #d8d8d8;
}
.construction-area__container__box__text__info {
  color: #7cb0b9;
  font-weight: normal;
  padding: 8px 0;
}

.flow-chart-ttl {
  text-align: center;
}
.flow-chart-ttl p {
  display: inline-block;
  border-bottom: 5px solid yellow;
  font-size: 1.4rem;
  font-weight: bold;
  color: #ff6600;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .flow-chart-ttl p {
    font-size: 2rem;
  }
}

.flow {
  max-width: 1200px;
  text-align: center;
  margin-bottom: 24px;
}
@media screen and (min-width: 1025px) {
  .flow {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.flow__box {
  border: 3px solid #999;
  border-radius: 20px;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .flow__box {
    width: 50%;
  }
}
@media screen and (min-width: 1025px) {
  .flow__box {
    width: 30%;
    margin-bottom: 40px;
  }
}
.flow__box img {
  width: fit-content;
  height: auto;
  object-fit: contain;
  border-radius: 17px;
}
.flow__box__ttl {
  font-size: 1.7rem;
  color: #ff6600;
  padding: 16px;
  font-weight: bold;
  line-height: 1.3;
}
.flow__box__text {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  padding: 0 20px 20px;
  line-height: 1.5;
  letter-spacing: 0.4px;
  text-align: justify;
}
.flow .right-arrow {
  font-size: 3rem;
  color: #ff6600;
  display: flex;
  align-self: center;
}

.FAQ {
  text-align: center;
  margin-bottom: 24px;
}
.FAQ__ttl {
  font-size: 1.5rem;
  font-weight: bold;
  color: #ff6600;
}
@media screen and (min-width: 768px) {
  .FAQ__ttl {
    font-size: 2rem;
  }
}
.FAQ__ttl span {
  padding-left: 20px;
}
.FAQ__ttl::before {
  content: "";
  border-left: 5px solid #ff6600;
  padding-left: 10px;
}
.FAQ__ttl::after {
  content: "";
  display: inline-block;
  background-image: url(images/solar_lp_images/flow/FAQ-figure@2x.png);
  background-position: center center;
  background-repeat: no-repeat;
  width: 100px;
  height: 100px;
  background-size: contain;
  vertical-align: bottom;
}

.ea-body {
  line-height: 1.5;
  text-align: justify;
}

#sp_easy_accordion-1702373906 {
  text-align: left;
}

.cv-background {
  background-color: #fef6f0;
  padding-bottom: 24px;
}
.cv-background .cv {
  max-width: 1200px;
  position: relative;
  text-align: center;
  margin: 0 auto;
}
.cv-background .cv__ttl {
  font-size: 2rem;
  font-weight: bold;
  padding: 20px;
  color: #ff6600;
}
.cv-background .cv__ttl::before {
  content: "";
  position: absolute;
  background-image: url(images/solar_lp_images/flow/smile-logo@2x.png);
  background-repeat: no-repeat;
  width: 50px;
  height: 50px;
  background-size: contain;
  translate: -121% -25%;
}
.cv-background .cv__text {
  position: relative;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 24px;
  color: #ff6600;
  text-decoration: underline 5px solid yellow;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .cv-background .cv__text {
    font-size: 1.7rem;
  }
}

.contact-fix-backgraund {
  width: 100%;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.8);
  padding: 10px 0;
  position: fixed;
  bottom: 0;
  opacity: 0;
  visibility: hidden;
}
.contact-fix-backgraund .contact-fix {
  max-width: 1200px;
  display: flex;
  align-items: end;
  padding: 0 16px;
  margin: 0 auto;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .contact-fix-backgraund .contact-fix {
    gap: 32px;
  }
}
.contact-fix-backgraund .contact-fix__left {
  width: 50%;
}
.contact-fix-backgraund .contact-fix__left .contact-fix-btn {
  text-align: center;
}
.contact-fix-backgraund .contact-fix__left .contact-fix-btn .contact-fix-btn-1 {
  width: 100%;
  height: 70px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: bold;
  line-height: 1;
  font-size: 1.2rem;
  border-radius: 15px;
  padding: 24px 0;
  background: linear-gradient(0, #297c0c 0, #8dd95f 100%);
  box-shadow: 2px 2px 2px rgba(255, 255, 255, 0.2) inset, -2px -2px 1px rgba(0, 0, 0, 0.4) inset;
  color: white;
}
.contact-fix-backgraund .contact-fix__left .contact-fix-btn .contact-fix-btn-effect {
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.25s;
  transition-property: transform;
}
.contact-fix-backgraund .contact-fix__left .contact-fix-btn .contact-fix-btn-effect:hover {
  transform: scale(1.05);
  transition-timing-function: cubic-bezier(0.65, -0.7, 1, 0.65);
}
.contact-fix-backgraund .contact-fix__right {
  width: 50%;
}
.contact-fix-backgraund .contact-fix__right__btn {
  width: 100%;
  height: 70px;
  background-image: linear-gradient(1deg, rgb(254, 103, 0), rgb(254, 220, 64));
  box-shadow: 2px 2px 2px rgba(255, 255, 255, 0.2) inset, -2px -2px 1px rgba(0, 0, 0, 0.4) inset;
  border-radius: 15px;
  padding: 10px;
  font-weight: 600;
  text-align: center;
  line-height: 1.3;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.25s;
  transition-property: transform;
}
.contact-fix-backgraund .contact-fix__right__btn:hover {
  transform: scale(1.05);
  transition-timing-function: cubic-bezier(0.65, -0.7, 1, 0.65);
}
.contact-fix-backgraund .contact-fix__right__btn a {
  text-decoration: none;
}
.contact-fix-backgraund .contact-fix__right__btn li:first-child {
  font-size: 0.9rem;
  display: flex;
  gap: 4px;
  padding-bottom: 2px;
}
.contact-fix-backgraund .contact-fix__right__btn li {
  display: flex;
  align-items: baseline;
  color: #fff;
  font-size: 0.6rem;
  justify-content: center;
}
.contact-fix-backgraund .contact-fix__right__btn li img {
  width: 1.2rem;
}

.active {
  display: block;
  opacity: 1;
  visibility: visible;
  animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.solar-lp-footer {
  width: 100%;
  background-color: #333;
}
.solar-lp-footer__wrapper {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: auto;
  padding: 32px 16px;
}
.solar-lp-footer__wrapper ul a {
  text-decoration: none;
}
.solar-lp-footer__wrapper ul a :hover {
  color: #999;
  transition-duration: 0.3ms;
}
.solar-lp-footer__wrapper ul li {
  color: #fff;
  font-size: 0.8rem;
  line-height: 2.4em;
  float: left;
  width: 50%;
}
@media screen and (min-width: 1024px) {
  .solar-lp-footer__wrapper ul li {
    padding-right: 32px;
    width: auto;
  }
}

.solar-lp-footer__copyright {
  color: #333;
  padding-top: 32px;
  font-size: 0.8rem;
  text-align: center;
  margin-bottom: 110px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_lp-battery.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 汎用的
------------------------------ */
.lp-battery-orange {
  color: #F07415;
}

.lp-battery-tag {
  margin-bottom: 16px;
  display: inline-block;
  color: #fff;
  background-color: #F07415;
  border-radius: 50px;
  padding: 10px 20px;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1;
  font-size: 14px;
}

.lp-battery-module-dots {
  background-image: radial-gradient(circle at center, #ff6 20%, transparent 20%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1em 0.3em; /* 点の間隔とサイズ調整 */
  padding-top: 0.4em; /* 縦方向の位置調整 */
}

.lp-battery-bg01 {
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: cover;
  top: 0;
  z-index: -999;
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  .lp-battery-bg01 {
    width: 100%;
  }
}

.lp-battery-bg02 {
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: cover;
  top: 0;
  z-index: -999;
}
@media screen and (min-width: 768px) {
  .lp-battery-bg02 {
    width: 100%;
  }
}

.lp-battery-bg03 {
  position: absolute;
  width: auto;
  height: 100%;
  object-fit: cover;
  top: 0;
  z-index: -999;
  opacity: 0.2;
}
@media screen and (min-width: 768px) {
  .lp-battery-bg03 {
    width: 100%;
  }
}

.lp-battery-module-btn {
  margin: 20px auto;
  display: flex;
  width: 281.336px;
  justify-content: center;
  align-items: center;
  border-radius: 150px;
  padding: 20px 0;
  background-color: #F07415;
  text-decoration: none;
}
.lp-battery-module-btn p {
  display: block;
  position: relative;
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  line-height: 14px; /* 100% */
  letter-spacing: 1.2px;
}
.lp-battery-module-btn p::after {
  position: absolute;
  content: "";
  background-image: url(images/lp-battery-images/arrow-w.png);
  background-repeat: no-repeat;
  width: 15px;
  height: 15px;
  top: 7px;
  right: -30px;
}

.lp-battery .lp-battery-module-title {
  padding: 30px 0;
}
.lp-battery .lp-battery-module-title h2 {
  text-align: center;
  color: #ab1e24;
  font-size: 47px;
  line-height: 1.5;
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery-module-title h2 {
    font-size: 95px;
  }
}
.lp-battery .lp-battery-module-title h2 span {
  background: linear-gradient(transparent 60%, #FFFE03 60%);
}
.lp-battery .lp-battery-module-title p {
  text-align: center;
  font-size: 24px;
  line-height: 1.5;
  font-weight: 800;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery-module-title p {
    font-size: 50px;
  }
}

.lp-battery-module-tips {
  position: relative;
  border: 2px solid #222222;
  border-radius: 10px;
  padding: 40px 20px;
  margin: 40px 0;
}
.lp-battery-module-tips span {
  position: absolute;
  text-align: center;
  display: block;
  width: 90%;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  color: #fff;
  background-color: #222222;
  border-radius: 50px;
  padding: 10px 20px;
  font-weight: 700;
  letter-spacing: 1px;
  line-height: 1;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .lp-battery-module-tips span {
    font-size: 20px;
    line-height: 1.5;
    top: -40px;
  }
}

.lp-battery-module-tit {
  position: relative;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  font-size: 12px;
  display: block;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery-module-tit {
    font-size: 24px;
    margin-bottom: 8px;
  }
}
.lp-battery-module-tit::before {
  position: relative;
  display: inline-block;
  content: "";
  background: #222;
  width: 2px;
  height: 1.2em;
  margin: 0 0.8em;
  margin-top: -0.2em;
  vertical-align: middle;
  transform: rotate(-35deg);
}
.lp-battery-module-tit::after {
  position: relative;
  display: inline-block;
  content: "";
  background: #222;
  width: 2px;
  height: 1.2em;
  margin: 0 0.8em;
  margin-top: -0.2em;
  vertical-align: middle;
  transform: rotate(35deg);
}

.order1 {
  order: 1;
}

.order2 {
  order: 2;
}

.display-none {
  display: none;
}

.margin-top-50px {
  margin-top: -50px !important;
}

@media screen and (min-width: 768px) {
  .padding-top-30px {
    padding-top: 30px !important;
  }
}

.justify-content-center {
  justify-content: center;
}

.dli-chevron-right {
  display: inline-block;
  color: #ffffff;
  line-height: 1;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  margin-right: 5px;
}

.lp-battery-swiper-container {
  position: relative;
}

.swiper-pagination01 {
  text-align: center;
  margin: 11px 0;
}

/* lp-battery
------------------------------ */
.lp-battery {
  /* .lp-battery__fix-cta
  ------------------------------ */
  /* モジュール
  ------------------------------ */
  /* サイズ
  ------------------------------ */
  width: 100%;
  /* テキスト
  ------------------------------ */
  /* スライダー
  ------------------------------ */
  /* .lp-battery__header
  ------------------------------ */
  /* .lp-battery__mv
  ------------------------------ */
  /* .lp-battery__scroll-infinity
  ------------------------------ */
  /* .lp-battery__cta01
  ------------------------------ */
  /* .lp-battery__trouble
  ------------------------------ */
  /* .lp-battery__answer
  ------------------------------ */
  /* .lp-battery__reason
  ------------------------------ */
  /* lp-battery__others
  ------------------------------ */
  /* .lp-battery__achievements
  ------------------------------ */
  /* lp-battery__flow
  ------------------------------ */
  /* lp-battery__area
  ------------------------------ */
  /* lp-battery__company
  ------------------------------ */
  /* lp-battery__promise
  ------------------------------ */
  /* .lp-battery__lineup
  ------------------------------ */
  /* .lp-battery__solution
  ------------------------------ */
  /* .lp-battery__reviews
  ------------------------------ */
  /* .lp-battery__subsidy
  ------------------------------ */
  /* lp-battery__faq
  ------------------------------ */
  /* lp-battery__contact
  ------------------------------ */
  /* .lp-battery__cta02
  ------------------------------ */
  /* .lp-battery__footer
  ------------------------------ */
  /* .lp-battery__catalog
  ------------------------------ */
  /* .lp-battery__comment
  ------------------------------ */
  /* .lp-battery__about
  ------------------------------ */
  /* .lp-battery__case-study
  ------------------------------ */
  /* .lp-battery__campaign
  ------------------------------ */
}
.lp-battery__fix-cta {
  position: fixed;
  z-index: 9999;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.8);
  width: 100%;
  display: flex;
  padding: 5px;
  gap: 5px;
}
.lp-battery__fix-cta a {
  width: 50%;
}
.lp-battery a {
  cursor: pointer;
}
.lp-battery .lp-battery-module-band {
  position: relative;
  background: #ab1e24;
  padding: 10px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery-module-band {
    padding: 30px 0;
  }
}
.lp-battery .lp-battery-module-band p {
  line-height: 1.5;
  font-size: 25px;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery-module-band p {
    font-size: 46px;
  }
}
.lp-battery .lp-battery-module-band span {
  color: #ffed22;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery-module-band span {
    font-size: 60px;
  }
}
.lp-battery .lp-battery-module-band::after {
  position: absolute;
  bottom: -30px;
  width: 0;
  height: 0;
  content: "";
  border-width: 30px 30px 0 30px;
  border-style: solid;
  border-color: #ab1e24 transparent transparent transparent;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}
.lp-battery .lp-battery-module-arrow {
  position: absolute;
  bottom: -70px;
  max-width: 200px;
  z-index: 100;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .lp-battery .pc-form-btn {
    min-width: 420px;
  }
}
.lp-battery .width100 {
  width: 100%;
}
.lp-battery p {
  font-size: 14px;
  line-height: 2;
}
.lp-battery .swiper-button-next:after, .lp-battery .swiper-button-prev:after {
  font-size: 30px;
}
.lp-battery .construction__voice_img img {
  object-fit: cover;
}
.lp-battery__header__pc {
  display: flex;
  justify-content: space-between;
  padding: 20px;
}
.lp-battery__header__pc__logo img {
  height: 50px;
}
.lp-battery__header__pc__g-nav {
  display: flex;
  align-items: center;
  gap: 30px;
}
.lp-battery__header__pc__g-nav ul {
  display: flex;
  gap: 30px;
}
.lp-battery__header__pc__g-nav ul li {
  font-size: 14px;
  font-weight: 700;
}
.lp-battery__header__pc__g-nav ul li a {
  color: #232323;
  text-decoration: none;
  transition: all 0.2s;
}
.lp-battery__header__pc__g-nav ul li a:hover {
  color: #9f9f9f;
}
.lp-battery__header__pc__g-nav__cta {
  display: block;
  padding: 20px 30px;
  background: #14a23a;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.2s;
}
.lp-battery__header__pc__g-nav__cta:hover {
  background: #374661;
}
.lp-battery__header__pc__g-nav__cta span {
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
}
.lp-battery__header__sp {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  grid-template-rows: 50px;
}
.lp-battery__header__sp__logo {
  display: grid;
  place-content: center;
}
.lp-battery__header__sp__logo img {
  padding: 0 5px;
}
.lp-battery__header__sp__cta {
  display: grid;
  place-content: center;
}
.lp-battery__header__sp__cta a {
  background: #d0393e;
  padding: 10px 20px;
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  display: inline-block;
}
.lp-battery__header__sp__g-nav__cta {
  display: block;
  padding: 20px 30px;
  background: #14a23a;
  border-radius: 100px;
  text-decoration: none;
  transition: all 0.2s;
}
.lp-battery__header__sp__g-nav__cta:hover {
  background: #374661;
}
.lp-battery__header__sp__g-nav__cta span {
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
}
@media screen and (min-width: 768px) {
  .lp-battery__mv {
    margin-bottom: 0;
  }
}
.lp-battery__mv img {
  margin: 0 auto;
  display: block;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.lp-battery .lp-battery__scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.lp-battery .lp-battery__scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}
.lp-battery .lp-battery__scroll-infinity__list--left {
  padding-top: 12px;
  animation: infinity-scroll-left 30s infinite linear 0.5s both;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery__scroll-infinity__list--left {
    animation: infinity-scroll-left 50s infinite linear 0.5s both;
  }
}
.lp-battery .lp-battery__scroll-infinity__item {
  width: 25vw;
  margin: 0 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery .lp-battery__scroll-infinity__item {
    width: 12.5vw;
    margin: 0 10px;
  }
}
.lp-battery .lp-battery__scroll-infinity__item > img {
  width: 100%;
}
.lp-battery__cta01__band {
  position: relative;
  background: #ab1e24;
  padding: 10px 0;
}
.lp-battery__cta01__band p {
  line-height: 1.5;
  font-size: 25px;
  text-align: center;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta01__band p {
    font-size: 50px;
    padding: 16px 0;
  }
}
.lp-battery__cta01__band span {
  color: #ffed22;
}
.lp-battery__cta01__band::after {
  position: absolute;
  bottom: -30px;
  width: 0;
  height: 0;
  content: "";
  border-width: 30px 30px 0 30px;
  border-style: solid;
  border-color: #ab1e24 transparent transparent transparent;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}
.lp-battery__cta01__content {
  position: relative;
  padding-top: 50px;
  padding-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta01__content {
    padding: 70px 0;
  }
}
.lp-battery__cta01__content__title h2 {
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
  text-shadow: 0 0 4px #000, 0 0 8px #000;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta01__content__title h2 {
    font-size: 32px;
  }
}
.lp-battery__cta01__content__box {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  padding: 20px;
  border-radius: 10px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta01__content__box {
    max-width: 1100px;
    border: 5px solid #dfdfdf;
    border-radius: 10px;
    background: #fff;
    display: flex;
    margin: 32px auto 0 auto;
    box-shadow: 0 0 1.5rem 0 #000;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__cta01__content__box__content {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0;
    width: 46%;
  }
}
.lp-battery__cta01__content__box__content__btn {
  width: 100%;
  transition: all 0.2s;
}
.lp-battery__cta01__content__box__content__btn:hover {
  opacity: 0.8;
  transform: translateY(10px);
}
.lp-battery__cta01__content__box__content__btn img {
  width: 100%;
}
.lp-battery__trouble {
  position: relative;
  padding: 60px 0 60px 0;
}
.lp-battery__trouble__title h2 {
  text-align: center;
  font-size: 40px;
  line-height: 1.3;
  color: #fff;
  font-weight: 700;
}
.lp-battery__trouble__title h2 span {
  font-size: 55px;
  color: #ffed22;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__title h2 span {
    font-size: 100px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__title h2 {
    font-size: 70px;
  }
}
.lp-battery__trouble__content {
  padding: 0 20px;
}
.lp-battery__trouble__content__list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  background: #fff;
  padding: 20px 20px;
  border-radius: 10px;
  margin: 30px 0;
  border: solid 5px #dfdfdf;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__content__list {
    gap: 20px;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px;
  }
}
.lp-battery__trouble__content__list li {
  display: flex;
  padding: 10px;
  align-items: center;
  align-self: stretch;
  width: 100%;
  border-bottom: 1px solid #222;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__content__list li {
    width: 100%;
  }
}
.lp-battery__trouble__content__list li p {
  position: relative;
  color: #222;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 31px;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__content__list li p {
    font-size: 32px;
    padding-left: 48px;
  }
}
.lp-battery__trouble__content__list li p::before {
  position: absolute;
  content: "";
  background-image: url(images/lp-battery-images/icon-check.png);
  background-size: 26px;
  width: 26px;
  height: 26px;
  top: 0;
  left: -3px;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__content__list li p::before {
    background-size: 36px;
    width: 36px;
    height: 36px;
  }
}
.lp-battery__trouble__content__list li p span {
  color: #ab1e24;
}
.lp-battery__trouble__box {
  max-width: 900px;
  margin: 0 auto;
  position: relative;
}
.lp-battery__trouble__box__man {
  position: absolute;
  bottom: -63px;
  right: 0;
  width: 150px;
}
@media screen and (min-width: 768px) {
  .lp-battery__trouble__box__man {
    width: 230px;
    bottom: -63px;
    left: -20%;
  }
}
.lp-battery__answer {
  position: relative;
  padding-bottom: 10px;
}
.lp-battery__answer__content {
  padding: 0 20px;
}
.lp-battery__answer__content__box {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  background: #fff;
  padding: 20px 20px;
  border-radius: 10px;
  margin: 30px 0;
  border: solid 5px #dfdfdf;
}
@media screen and (min-width: 768px) {
  .lp-battery__answer__content__box {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__answer__content__box img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .lp-battery__answer__content__box img {
    margin: 40px auto;
  }
}
.lp-battery__reason {
  position: relative;
}
.lp-battery__reason__content {
  padding: 20px;
}
.lp-battery__reason__content__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  background: #fff;
  padding: 20px 20px;
  border-radius: 10px;
  margin: 30px 0;
  border: solid 5px #dfdfdf;
}
@media screen and (min-width: 768px) {
  .lp-battery__reason__content__list {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1100px;
    margin: 0 auto;
    margin-bottom: 30px;
  }
}
.lp-battery__reason__content__list__img-box {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .lp-battery__reason__content__list__img-box {
    width: 47%;
    order: 2;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__reason__content__list__text-box {
    width: 47%;
  }
}
.lp-battery__reason__content__list__text-box h2 {
  margin-bottom: 20px;
}
.lp-battery__reason__content__list__text-box p {
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .lp-battery__reason__content__list__text-box p {
    font-size: 24px;
  }
}
.lp-battery__others {
  position: relative;
  padding: 50px 0;
}
.lp-battery__others__title {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__others__title img {
    display: block;
    margin: 20px auto;
  }
}
.lp-battery__others__content__list {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__others__content__list img {
    display: block;
    margin: 20px auto;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__others__content__comment img {
    display: block;
    margin: 20px auto;
  }
}
.lp-battery__achievements {
  padding: 50px 0;
  background-color: #faf9f7;
}
.lp-battery__flow {
  padding: 50px 0 50px 0;
  background-color: #FEF9E4;
}
.lp-battery__flow__title {
  margin-bottom: 20px;
  padding: 40px;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__title img {
    display: block;
    margin-bottom: 20px;
    padding: 40px;
    margin: 0 auto;
  }
}
.lp-battery__flow__step {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__flow__step__list {
  position: relative;
  background-color: #fff;
  border-radius: 20px;
  padding: 20px 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list {
    width: 100%;
  }
}
.lp-battery__flow__step__list span {
  position: absolute;
  top: -10px;
  left: 30px;
  color: #fff;
  background-color: #F07415;
  border-radius: 50px;
  padding: 10px 20px;
  font-weight: 900;
  letter-spacing: 2px;
  line-height: 1;
  font-size: 15px;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list__content {
    display: flex;
    align-items: center;
    gap: 20px;
  }
}
.lp-battery__flow__step__list__content img {
  width: 50%;
  margin: 30px auto 30px auto;
  display: block;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list__content img {
    max-width: 160px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list__content__textBox {
    width: 100%;
  }
}
.lp-battery__flow__step__list__content__textBox h3 {
  font-size: 16px;
  letter-spacing: 2px;
  font-weight: 900;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list__content__textBox h3 {
    font-size: 26px;
    line-height: 1.5;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__flow__step__list__content__textBox p {
    font-size: 16px;
  }
}
.lp-battery__area {
  position: relative;
  padding: 50px 0;
}
.lp-battery__area__desc {
  padding: 0 20px;
}
.lp-battery__area__desc__text-box {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  background: #fff;
  padding: 30px 20px;
  margin-bottom: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  .lp-battery__area__desc__text-box {
    width: 710px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__area__desc__text-box p {
    font-size: 20px;
  }
}
.lp-battery__area__content {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__area__content {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__area__content__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  background: #fff;
  padding: 20px 20px;
  margin-bottom: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
@media screen and (min-width: 768px) {
  .lp-battery__area__content__inner {
    padding: 40px;
  }
}
.lp-battery__area__content__inner__title {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__area__content__inner__title {
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
  }
}
.lp-battery__area__content__inner__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__area__content__inner__list__row {
    width: 48%;
  }
}
.lp-battery__area__content__inner__list__row p {
  font-size: 20px;
  color: #324364;
  font-weight: 700;
  border-bottom: 1px solid #324364;
  margin-bottom: 16px;
}
.lp-battery__area__content__inner__list__row ul {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 10px 0;
}
.lp-battery__area__content__inner__list__row ul li {
  font-size: 16px;
}
.lp-battery__company {
  position: relative;
  padding: 50px 0;
}
.lp-battery__company__title h2 {
  text-align: center;
  color: #fff;
  font-weight: 800;
  font-size: 30px;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__company__title h2 {
    font-size: 50px;
    font-weight: 700;
  }
}
.lp-battery__company__content {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__company__content {
    width: 880px;
    margin: 0 auto;
  }
}
.lp-battery__company__content__table table tr {
  border-top: 1px solid #faf9f7;
  border-bottom: 1px solid #faf9f7;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
}
.lp-battery__company__content__table table th {
  width: 30%;
  padding: 15px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__company__content__table table th {
    font-size: 18px;
    font-weight: 500;
    text-align: left;
    padding-left: 20px;
    width: 12%;
  }
}
.lp-battery__company__content__table table td {
  padding-top: 0;
  width: 70%;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  padding: 15px 0;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .lp-battery__company__content__table table td {
    font-size: 16px;
    line-height: 2;
    font-weight: 500;
  }
}
.lp-battery__promise {
  position: relative;
  padding: 50px 0;
}
.lp-battery__promise__title {
  margin-bottom: 20px;
  padding: 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__title h2 img {
    margin: 40px auto;
    display: block;
  }
}
.lp-battery__promise__content__list {
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__content__list {
    max-width: 1100px;
    margin-inline: auto;
    gap: 30px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__content__list__img-box {
    width: 48%;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__content__list__text-box {
    width: 48%;
  }
}
.lp-battery__promise__content__list__text-box h3 {
  font-size: 24px;
  line-height: 30px;
  font-weight: 800;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__content__list__text-box h3 {
    text-align: left;
    font-size: 40px;
    line-height: 1.5;
    margin-bottom: 20px;
  }
}
.lp-battery__promise__content__list__text-box h3 span {
  background: linear-gradient(transparent 60%, #FFFE03 60%);
}
.lp-battery__promise__content__list__text-box p {
  font-size: 16px;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .lp-battery__promise__content__list__text-box p {
    font-size: 24px;
  }
}
.lp-battery__lineup {
  background-color: #FEF9E4;
  padding: 60px 20px;
}
.lp-battery__lineup__title {
  text-align: center;
}
.lp-battery__lineup__title h2 {
  letter-spacing: 2px;
  font-weight: 900;
  font-size: 22px;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__title h2 {
    font-size: 36px;
    letter-spacing: 1.44px;
  }
}
.lp-battery__lineup__title p {
  letter-spacing: -1px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__title p {
    font-size: 16px;
  }
}
.lp-battery__lineup__list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  background-color: #fff;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__lineup__list li {
  text-align: center;
  margin-bottom: 20px;
}
.lp-battery__lineup__list li p {
  font-size: 12px;
  letter-spacing: -1px;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__list li p {
    font-size: 14px;
  }
}
.lp-battery__lineup__get-id {
  margin: 90px 0 0 0;
  border: 10px solid #81C24D;
  background-color: #fff;
  padding: 50px 20px 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__lineup__get-id__headding {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__headding {
    margin-right: 80px;
  }
}
.lp-battery__lineup__get-id__headding__head {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__headding__head {
    justify-content: flex-end;
  }
}
.lp-battery__lineup__get-id__headding__head img {
  width: 50%;
  margin-top: -120px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__headding__head img {
    margin: 0;
  }
}
.lp-battery__lineup__get-id__headding__title {
  text-align: center;
}
.lp-battery__lineup__get-id__headding__title p {
  font-weight: 900;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 2px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__headding__title p {
    font-size: 24px;
  }
}
.lp-battery__lineup__get-id__headding__title h2 {
  font-size: 22px;
  line-height: 1.5;
  color: #F07415;
  font-weight: 900;
  letter-spacing: 2px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__headding__title h2 {
    font-size: 36px;
  }
}
.lp-battery__lineup__get-id__content {
  margin: 30px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__content {
    display: flex;
    gap: 30px;
    padding: 0 20px;
    margin-top: -10px;
  }
}
.lp-battery__lineup__get-id__content img {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__lineup__get-id__content img {
    max-width: 270px;
    margin: 0;
  }
}
.lp-battery__solution {
  background-color: #F07415;
  padding: 0;
}
.lp-battery__solution__arrow {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
.lp-battery__solution__title h2 {
  color: #FFF;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 36px; /* 128.571% */
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__title h2 {
    font-size: 50px;
    line-height: 1.5;
  }
}
.lp-battery__solution__content {
  background-color: #FFF;
  border-radius: 40px;
  padding: 30px 20px;
  margin-top: 40px;
}
.lp-battery__solution__content__list {
  margin: 20px 0 60px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__textBox {
    width: calc(50% - 30px);
  }
}
.lp-battery__solution__content__list__textBox__title span {
  padding: 7px 16px;
  border-radius: 40px;
  background: #F07415;
  display: inline-block;
  color: #fff;
  font-weight: 700;
  margin-bottom: 8px;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__textBox__title span {
    font-size: 18px;
  }
}
.lp-battery__solution__content__list__textBox__title p {
  position: relative;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  margin: 16px 0;
  padding-left: 29px;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__textBox__title p {
    font-size: 20px;
  }
}
.lp-battery__solution__content__list__textBox__title p::before {
  position: absolute;
  content: "";
  background-image: url(images/lp-battery-images/icon-orange-check.png);
  width: 26px;
  height: 26px;
  top: -6px;
  left: -1px;
}
.lp-battery__solution__content__list__textBox__title h3 {
  color: #000;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.88px;
  margin: 16px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__textBox__title h3 {
    font-size: 36px;
    letter-spacing: 1.44px;
  }
}
.lp-battery__solution__content__list__textBox__desc p {
  color: #222;
  font-size: 14px;
  line-height: 200%;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__textBox__desc p {
    font-size: 16px;
    line-height: 32px;
  }
}
.lp-battery__solution__content__list__imgBox {
  margin: 40px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__solution__content__list__imgBox {
    margin: 0;
    width: calc(50% - 30px);
  }
}
.lp-battery__reviews {
  margin: 20px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__head {
    display: flex;
    margin: 30px 0;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__reviews__head__text-box {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__head__text-box {
    width: 60%;
  }
}
.lp-battery__reviews__head__text-box h3 {
  color: #000;
  font-size: 20px;
  font-weight: 900;
  line-height: 150%;
  letter-spacing: 0.8px;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__head__text-box h3 {
    font-size: 30px;
    letter-spacing: 1.2px;
  }
}
.lp-battery__reviews__head__text-box p {
  font-size: 14px;
  line-height: 200%;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__head__text-box p {
    font-size: 16px;
  }
}
.lp-battery__reviews__head__trophy {
  padding: 0 20px;
  margin-bottom: 40px;
}
.lp-battery__reviews__voice {
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__swiper {
    max-width: 1100px;
    padding: 0 40px;
  }
}
.lp-battery__reviews__list__slide {
  display: flex;
  flex-wrap: wrap;
  padding: 30px 50px;
}
.lp-battery__reviews__list__slide img {
  margin-bottom: 20px;
}
.lp-battery__reviews__strong {
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__strong {
    text-align: center;
  }
}
.lp-battery__reviews__strong p {
  color: #000;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.88px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__strong p {
    font-size: 36px;
  }
}
.lp-battery__reviews__strong p span {
  color: #F07415;
}
.lp-battery__reviews__morelist {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 20px;
  padding-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .lp-battery__reviews__morelist {
    padding: 20px 50px 50px 50px;
  }
}
.lp-battery__reviews__morelist__card {
  display: flex;
  flex-wrap: wrap;
  padding: 30px;
  gap: 10px;
  border: 1px solid #F4F4F4;
  background: #FFF;
}
.lp-battery__reviews__morelist__card__profile {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: center;
  gap: 16px;
}
.lp-battery__reviews__morelist__card__profile__thumb {
  width: 20%;
}
.lp-battery__reviews__morelist__card__profile__desc {
  width: calc(80% - 16px);
}
.lp-battery__reviews__morelist__card__profile__desc p {
  color: #000;
  font-size: 17px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.68px;
  margin-bottom: 6px;
}
.lp-battery__reviews__morelist__card__profile__desc span {
  display: block;
  color: #000;
  font-size: 13px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.52px;
}
.lp-battery__reviews__morelist__card__profile__rating {
  width: 100%;
}
.lp-battery__reviews__morelist__card__desc p {
  color: #000;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.64px;
  font-weight: 400;
}
.lp-battery__subsidy {
  padding: 40px 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__subsidy {
    padding: 80px 20px;
  }
}
.lp-battery__subsidy__title {
  margin-bottom: 16px;
}
.lp-battery__subsidy__title p {
  color: var(--lp-, #222);
  text-align: center;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: 0.88px;
}
@media screen and (min-width: 768px) {
  .lp-battery__subsidy__title p {
    font-size: 30px;
    letter-spacing: 1.2px;
  }
}
.lp-battery__subsidy__title p span {
  color: #F07415;
}
.lp-battery__subsidy__box {
  display: flex;
  padding: 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  border-radius: 20px;
  background: var(--lp-, #DEF3FC);
}
@media screen and (min-width: 768px) {
  .lp-battery__subsidy__box {
    flex-direction: row;
    padding: 50px;
    gap: 60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__subsidy__box p {
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 200%;
}
.lp-battery__subsidy__box__textBox__strong p {
  color: #000;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.72px;
}
@media screen and (min-width: 768px) {
  .lp-battery__subsidy__box__textBox__strong p {
    font-size: 24px;
    letter-spacing: 0.96px;
    margin-bottom: 24px;
  }
}
.lp-battery__faq {
  position: relative;
  padding: 50px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__faq {
    padding: 80px 0;
  }
}
.lp-battery__faq__title h2 {
  text-align: center;
  color: #fff;
  font-weight: 800;
  font-size: 30px;
  line-height: 1.5;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__faq__title h2 {
    font-size: 50px;
    font-weight: 700;
  }
}
.lp-battery__faq__hoge {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__faq__hoge {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__faq__hoge .sp-easy-accordion .sp-ea-single .ea-header a {
  font-size: 15px;
  line-height: 1.5;
}
.lp-battery__faq__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 20px;
}
.lp-battery__faq__list__card {
  font-weight: 900;
  width: 100%;
  background-color: #F4F4F4;
  border-radius: 10px;
  padding: 16px 40px 16px 20px;
}
.lp-battery__contact {
  border-top: 10px solid #F07415;
  background-color: #FEF9E4;
  padding: 50px 0;
}
.lp-battery__contact__title {
  padding: 0 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__title {
    max-width: 1100px;
    margin: 0 auto;
  }
}
.lp-battery__contact__title h2 {
  display: flex;
  align-items: center; /* 縦位置の調整 */
  justify-content: center; /* 横位置の調整 */
  color: #000;
  text-align: center;
  font-size: 28px;
  font-weight: 700;
  line-height: 36px;
  border-bottom: 6px solid #d82728;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__title h2 {
    font-size: 40px;
    line-height: 2;
  }
}
.lp-battery__contact__title h2::before, .lp-battery__contact__title h2::after {
  content: "";
  flex-grow: 0.05; /* 少数にする */
  height: 3px;
  background: #d82729;
}
.lp-battery__contact__title h2::before {
  margin-right: 20px;
}
.lp-battery__contact__title h2::after {
  margin-left: 20px;
}
.lp-battery__contact__head {
  padding: 0 20px;
}
.lp-battery__contact__head img {
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__head img {
    width: 100%;
    max-width: 1020px;
    margin-bottom: 20px;
  }
}
.lp-battery__contact__head h2 {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__head h2 {
    font-size: 32px;
  }
}
.lp-battery__contact__head h2 span {
  background: linear-gradient(transparent 60%, #FFFE03 60%);
}
.lp-battery__contact__head__img-sp img {
  padding: 0 10px;
  margin-bottom: 20px;
}
.lp-battery__contact__form {
  width: 100%;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form {
    max-width: 1020px;
    margin: 0 auto;
  }
}
.lp-battery__contact__form #cf-tbl table th {
  margin: 0;
}
.lp-battery__contact__form #cf-tbl table th p {
  letter-spacing: 1px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form #cf-tbl table th p {
    font-size: 22px;
    font-weight: 700;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form #cf-tbl table tr th {
    width: 30%;
  }
}
.lp-battery__contact__form #cf-tbl table tr {
  border-bottom: 0px;
}
.lp-battery__contact__form input.wpcf7-form-control.wpcf7-text, .lp-battery__contact__form textarea.wpcf7-form-control.wpcf7-textarea {
  background-color: #fff;
  margin-top: 0px;
  border-radius: 10px;
}
.lp-battery__contact__form .required {
  top: -2px;
  position: relative;
  border-radius: 40px;
  font-size: 0.7em;
  padding: 5px 10px;
}
.lp-battery__contact__form .wpcf7-list-item {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form .wpcf7-list-item {
    margin-bottom: 16px;
  }
}
.lp-battery__contact__form .wpcf7-list-item label {
  display: flex;
  align-items: center;
}
.lp-battery__contact__form .wpcf7-list-item input {
  width: 20px;
  height: 20px;
  margin-right: 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form .wpcf7-list-item input {
    width: 30px;
    height: 30px;
    margin-right: 10px;
  }
}
.lp-battery__contact__form .optional {
  top: -2px;
  position: relative;
  border-radius: 40px;
  font-size: 0.7em;
  padding: 5px 10px;
}
.lp-battery__contact__form .wpcf7-form-control-wrap {
  display: block;
  margin: 9px 0;
}
.lp-battery__contact__form .wpcf7-list-item-label {
  font-weight: 400;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .lp-battery__contact__form .wpcf7-list-item-label {
    font-size: 20px;
  }
}
.lp-battery__contact__form input.wpcf7-submit {
  width: auto;
  padding: 0 30px;
  border: none;
}
.lp-battery__cta02 {
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02 {
    padding: 90px 20px 20px 20px;
  }
}
.lp-battery__cta02__title h2 {
  color: #222;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 150%; /* 30px */
  margin-bottom: 20px;
}
.lp-battery__cta02__title h2 span {
  color: #F07415;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__title h2 {
    font-size: 30px;
    letter-spacing: 1.2px;
  }
}
.lp-battery__cta02__box {
  display: flex;
  flex-wrap: wrap;
  gap: 27px;
  padding: 0 20px 20px 20px;
  margin: 0 auto;
  border-radius: 10px;
  background-color: #fff;
  padding: 30px;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box {
    max-width: 1100px;
    margin: 0 auto;
  }
}
.lp-battery__cta02__box__content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content {
    width: calc(50% - 14px);
  }
}
.lp-battery__cta02__box__content p {
  text-align: left;
  color: #222;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.393px;
  margin-bottom: 8px;
}
.lp-battery__cta02__box__content p span {
  color: #F07415;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content p {
    font-size: 18px;
    letter-spacing: 0.8px;
  }
}
.lp-battery__cta02__box__content h2 {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content h2 {
    font-size: 32px;
  }
}
.lp-battery__cta02__box__content h2 span {
  background: linear-gradient(transparent 60%, #FFFE03 60%);
}
.lp-battery__cta02__box__content__btn {
  display: flex;
  text-decoration: none;
  align-items: center;
  gap: 15px;
  border: 3px solid #F07415;
  border-radius: 10px;
  padding: 10px;
  background: #fff;
  transition: all 0.2s;
}
.lp-battery__cta02__box__content__btn:hover {
  opacity: 0.9;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn {
    min-height: 124px;
  }
}
.lp-battery__cta02__box__content__btn__imgBox {
  max-width: 80px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn__imgBox {
    max-width: 130px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn__textBox {
    width: 100%;
  }
}
.lp-battery__cta02__box__content__btn__textBox p {
  color: #222;
  font-family: "Noto Sans JP";
  font-size: 8.848px;
  font-weight: 700;
  line-height: 100%; /* 8.848px */
  letter-spacing: 0.885px;
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn__textBox p {
    font-size: 14px;
    letter-spacing: 1.4px;
    margin-top: 4px;
    text-align: left;
  }
}
.lp-battery__cta02__box__content__btn__textBox__tel {
  display: flex;
  align-items: center;
  gap: 5px;
}
.lp-battery__cta02__box__content__btn__textBox__tel p {
  color: #222;
  font-family: "DIN 2014";
  font-size: 27.527px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: -0.826px;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn__textBox__tel p {
    font-size: 40px;
  }
}
.lp-battery__cta02__box__content__btn__textBox__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.lp-battery__cta02__box__content__btn__textBox__inner p {
  font-size: 16px;
  color: #fff;
  width: 90%;
}
@media screen and (min-width: 768px) {
  .lp-battery__cta02__box__content__btn__textBox__inner p {
    font-size: 18px;
    letter-spacing: 1.8px;
  }
}
@media screen and (min-width: 1025px) {
  .lp-battery__cta02__box__content__btn__textBox__inner p {
    font-size: 24px;
  }
}
.lp-battery__cta02__box__content__btn__textBox__inner p span {
  color: #FFE600;
}
.lp-battery__cta02__box__content__btn__textBox__inner img {
  width: 10%;
}
.lp-battery__cta02__box__content .btn-orange {
  background-color: #F07415;
}
.lp-battery__footer {
  background: #333;
  padding: 30px 0 70px 0;
}
.lp-battery__footer img {
  max-width: 190px;
  margin: 0 auto;
  display: block;
}
.lp-battery__footer ul {
  color: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 50px 30px;
}
@media screen and (min-width: 768px) {
  .lp-battery__footer ul {
    display: flex;
    justify-content: center;
  }
}
.lp-battery__footer ul li {
  font-size: 13px;
}
.lp-battery__footer ul li a {
  color: #fff;
}
.lp-battery__footer p {
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  margin: 30px 0;
  color: #fff;
}
.lp-battery__catalog {
  padding: 40px 0 0 0;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .lp-battery__catalog {
    padding: 100px 0 0 0;
  }
}
.lp-battery__catalog__title {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .lp-battery__catalog__title {
    max-width: 1100px;
    margin: 0 auto;
  }
}
.lp-battery__catalog__title p {
  color: #000;
  text-align: center;
  font-size: 12px;
  font-weight: 900;
  line-height: 150%;
  letter-spacing: 0.48px;
}
@media screen and (min-width: 768px) {
  .lp-battery__catalog__title p {
    font-size: 24px;
    letter-spacing: 0.96px;
  }
}
.lp-battery__catalog__title h2 {
  position: relative;
  color: #222;
  text-align: left;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 1.12px;
  padding-left: 117px;
  margin: 10px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__catalog__title h2 {
    font-size: 50px;
    letter-spacing: 2px;
    line-height: 1.5;
    text-align: center;
  }
}
.lp-battery__catalog__title h2 span {
  color: #F07415;
}
.lp-battery__catalog__title h2::before {
  position: absolute;
  content: "";
  background-image: url(images/lp-battery-images/figure-chara.png);
  background-size: 134px auto;
  background-repeat: no-repeat;
  width: 136px;
  height: 120px;
  top: -8px;
  left: -23px;
}
@media screen and (min-width: 768px) {
  .lp-battery__catalog__title h2::before {
    left: 37px;
  }
}
.lp-battery__comment {
  display: flex;
  align-items: flex-start;
  padding: 20px 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__comment {
    align-items: center;
    padding: 0 60px;
    margin-bottom: 50px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__comment p {
  color: #000;
  font-size: 14px;
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.56px;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery__comment p {
    font-size: 16px;
    letter-spacing: 0.64px;
  }
}
.lp-battery__comment__img01 {
  width: 27%;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery__comment__img01 {
    width: 110px;
  }
}
.lp-battery__comment__img02 {
  width: 20%;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .lp-battery__comment__img02 {
    width: 37px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__about {
    padding-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__about__title {
    margin: 50px 0;
  }
}
.lp-battery__about__title__subhead {
  text-align: center;
}
.lp-battery__about__title__subhead p {
  color: #000;
  font-size: 20px;
  font-weight: 900;
  line-height: 200%;
  letter-spacing: 0.8px;
}
.lp-battery__about__title__subhead p span {
  color: #F07415;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__title__subhead p {
    font-size: 30px;
    line-height: 1.5;
    letter-spacing: 1.2px;
  }
}
.lp-battery__about__title__head {
  margin: 10px 0;
  text-align: center;
}
.lp-battery__about__title__head p {
  display: inline-block;
  color: #000;
  text-align: center;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.3;
  letter-spacing: 0.96px;
  background: linear-gradient(transparent 60%, #ffff66 0%);
}
@media screen and (min-width: 768px) {
  .lp-battery__about__title__head p {
    font-size: 50px;
    line-height: 1.5;
    letter-spacing: 2px;
  }
}
.lp-battery__about__content {
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__content {
    display: flex;
    align-items: center;
    gap: 60px;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__about__content__textBox {
    width: calc(50% - 30px);
  }
}
.lp-battery__about__content__textBox h2 {
  color: #000;
  font-size: 22px;
  font-weight: 900;
  line-height: 150%;
  letter-spacing: 0.88px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__content__textBox h2 {
    font-size: 34px;
    letter-spacing: 1.36px;
  }
}
.lp-battery__about__content__textBox p {
  color: #000;
  font-size: 14px;
  line-height: 200%;
  letter-spacing: -0.28px;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__content__textBox p {
    font-size: 16px;
    letter-spacing: -0.32px;
  }
}
.lp-battery__about__content__imgBox {
  margin: 20px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__content__imgBox {
    width: calc(50% - 30px);
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__about__supplement {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }
}
.lp-battery__about__supplement__imgBox {
  padding: 20px;
}
.lp-battery__about__supplement__textBox {
  margin-bottom: 50px;
}
.lp-battery__about__supplement__textBox p {
  margin-bottom: 16px;
  color: #000;
  text-align: center;
  font-size: 20px;
  font-weight: 900;
  line-height: 150%; /* 30px */
  letter-spacing: 1.5px;
}
@media screen and (min-width: 768px) {
  .lp-battery__about__supplement__textBox p {
    font-size: 27px;
    letter-spacing: 1.2px;
  }
}
.lp-battery__about__supplement__textBox p span {
  color: #F07415;
}
.lp-battery__case-study {
  margin: 80px 0;
  padding: 80px 0 0 0;
  background-color: #FEF9E4;
}
.lp-battery__case-study__title span {
  display: block;
  color: #F07415;
  text-align: center;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__title span {
    font-size: 22px;
  }
}
.lp-battery__case-study__title h2 {
  color: #000;
  text-align: center;
  font-family: "Noto Sans JP";
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: 36px; /* 128.571% */
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__title h2 {
    font-size: 50px;
    line-height: 1.5;
  }
}
.lp-battery__case-study__list {
  padding: 0 20px;
}
.lp-battery__case-study__list__content {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 20px;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    gap: 30px;
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__imgBox {
    width: calc(50% - 15px);
  }
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__textBox {
    width: calc(50% - 15px);
  }
}
.lp-battery__case-study__list__content__textBox span {
  color: #F07415;
  font-size: 14px;
  font-weight: 900;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__textBox span {
    font-size: 16px;
  }
}
.lp-battery__case-study__list__content__textBox h3 {
  color: #222;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
  margin: 8px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__textBox h3 {
    font-size: 36px;
  }
}
.lp-battery__case-study__list__content__textBox h3 span {
  color: #F07415;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__textBox h3 span {
    font-size: 36px;
  }
}
.lp-battery__case-study__list__content__textBox__desc {
  margin: 8px 0;
}
.lp-battery__case-study__list__content__textBox__desc p {
  color: #848484;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
}
.lp-battery__case-study__list__content__table {
  display: flex;
  flex-wrap: wrap;
  margin: 32px 0;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__table {
    width: 100%;
    margin: 0;
  }
}
.lp-battery__case-study__list__content__table__content {
  display: flex;
  width: 50%;
}
.lp-battery__case-study__list__content__table__content__title {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: calc(30% + 1px);
  background-color: #FFF0E6;
  border: 1px solid #F07415;
  margin-left: -1px;
  margin-top: -1px;
  padding: 10px;
}
.lp-battery__case-study__list__content__table__content__title p {
  text-align: center;
  font-size: 10px;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__table__content__title p {
    font-size: 14px;
  }
}
.lp-battery__case-study__list__content__table__content__desc {
  display: flex;
  align-content: center;
  align-items: center;
  justify-content: center;
  width: calc(70% + 1px);
  font-size: 10px;
  background-color: #fff;
  border: 1px solid #F07415;
  margin-left: -1px;
  margin-top: -1px;
  padding: 10px;
}
.lp-battery__case-study__list__content__table__content__desc p {
  text-align: center;
  font-size: 10px;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .lp-battery__case-study__list__content__table__content__desc p {
    font-size: 14px;
  }
}
.lp-battery__campaign__content {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.lp-battery__campaign__content__img {
  width: 700px;
  margin: 0 auto;
  display: block;
}
.lp-battery__campaign__content__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*   _single.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* title
------------------------------ */
.title-box {
  margin: 0 auto;
}
.title-box h1 {
  font-size: 1.5rem;
  color: #333;
  font-weight: 600;
  padding-bottom: 20px;
  border-bottom: 2px solid #1f1f1f;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .title-box h1 {
    font-size: clamp(1.5rem, 0.955rem + 2.73vw, 3rem);
  }
}

.single-category-icon {
  display: inline-block;
  padding: 6px 16px;
  background-color: #ff9933;
  color: #fff;
  font-weight: 700;
  text-align: center;
  letter-spacing: var(--letter-spacing);
}

.blog-contents-wrapper {
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .blog-contents-wrapper {
    max-width: 1140px;
    margin: 0 auto;
    padding: 0 16px;
  }
}

.blog-contents {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .blog-contents {
    display: grid;
    grid-template-columns: 65% auto;
    justify-content: space-between;
  }
}

@media screen and (min-width: 1024px) {
  .blog-contents-left {
    padding-right: 24px;
  }
}

/* 目次(toc)
------------------------------ */
#toc_container {
  border: none !important;
  padding: 0 !important;
  margin: 64px 0 !important;
}
#toc_container .toc_title {
  padding: 8px 20px !important;
  border-left: 8px solid #ff9933;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  text-align: left !important;
}
#toc_container .toc_list {
  margin-top: 24px !important;
}
#toc_container .toc_list li {
  margin-block-end: 16px;
}
#toc_container .toc_list li a {
  color: #505050;
  line-height: 2.5;
  font-size: 1rem;
  font-weight: 700;
  border-bottom: 1px solid #666;
  text-decoration: none;
}
#toc_container .toc_list li a .toc_depth_1 {
  color: #ff9933;
  padding-inline-end: 8px;
}
#toc_container .toc_list li a:hover {
  color: #ff9933;
  border-bottom: 1px solid #ff9933;
  transition: 0.3s;
}
#toc_container .toc_list li ul li {
  margin: 0;
}
#toc_container .toc_list li ul li a {
  font-size: 0.875rem;
  margin-bottom: 16px;
  font-weight: 500;
  margin-inline-start: 16px;
}

.contact-button {
  transition: 300ms;
  background-color: #ff6600;
  box-shadow: 0 7px #993300;
  border-radius: 10px;
  width: calc(100% - 20px);
  max-width: 500px;
  margin: 40px auto;
}
.contact-button:hover {
  transform: translateY(3px);
  box-shadow: 0px 3px 0px #993300;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.contact-button .ribbon-wrapper {
  display: block;
  position: relative;
  background: none;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.14);
  box-sizing: border-box;
  text-align: center;
}
.contact-button .ribbon-wrapper p {
  position: relative;
  width: 100%;
  color: #fff;
  padding: 18px 0;
  line-height: 1.5;
  font-weight: 600;
  font-size: clamp(1rem, 0.714rem + 1.43vw, 1.4rem);
  margin-inline: auto;
  overflow: hidden;
}
.contact-button .ribbon-wrapper p em {
  color: #333;
  padding: 0 2px;
  letter-spacing: 1px;
  font-weight: bold;
  text-shadow: 1px 1px 0px white, -1px -1px 0px white, -1px 1px 0px white, 1px -1px 0px white, 0 0 5px rgba(255, 255, 255, 0.8), 0 0 10px rgba(255, 255, 255, 0.6), 0 0 15px rgba(255, 255, 255, 0.4), 0 0 20px rgba(255, 255, 255, 0.2);
}
.contact-button .ribbon-wrapper p span {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .contact-button .ribbon-wrapper p span {
    font-size: clamp(1.8rem, 1.444rem + 0.74vw, 2rem);
  }
}
.contact-button .ribbon-wrapper p::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #ffffff;
  transition: 300ms;
  animation: shinyshiny 2.5s ease-in-out infinite;
}
@-webkit-keyframes shinyshiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.5;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}
.contact-button .ribbon-content {
  position: absolute;
  top: -6px;
  right: -4px;
  width: 89px;
  height: 91px;
  overflow: hidden;
}
.contact-button .ribbon {
  display: inline-block;
  position: absolute;
  padding: 7px 0;
  left: -23px;
  top: 22px;
  width: 160px;
  text-align: center;
  font-size: 18px;
  line-height: 16px;
  background: #333;
  color: #fff;
  letter-spacing: 0.05em;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  font-weight: 600;
}
.contact-button .ribbon:before,
.contact-button .ribbon:after {
  position: absolute;
  content: "";
  border-top: 4px solid #b2751b;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  bottom: -4px;
}
.contact-button .ribbon:before {
  left: 14px;
}
.contact-button .ribbon:after {
  right: 18px;
}
.contact-button .contact-button-link {
  text-decoration: none;
}

.contact-checkbox {
  max-width: 1100px;
  border: 2px solid;
}
.contact-checkbox__ttl {
  font-size: 1.3rem;
  color: #fff;
  background-color: #333333;
  padding: 16px 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-checkbox__ttl {
    font-size: 2rem;
  }
}
.contact-checkbox__subttl {
  text-align: center;
  margin: 32px 0;
  padding: 0 24px;
  letter-spacing: 1px;
  line-height: 1.3;
}
.contact-checkbox__form-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.2;
  letter-spacing: 1px;
  row-gap: 24px;
  column-gap: 16px;
  padding: 0 8px;
}
@media screen and (min-width: 768px) {
  .contact-checkbox__form-content {
    column-gap: 32px;
    padding-left: 100px;
  }
}
.contact-checkbox__form-content label {
  overflow: hidden;
  display: flex;
  align-items: flex-start;
}
.contact-checkbox__form-content label:hover {
  cursor: pointer;
  color: #ff9933;
  transition: color 0.3s;
}
.contact-checkbox__form-content label input {
  margin-right: 8px;
  flex-shrink: 0;
}
.contact-checkbox__form-content label p {
  margin: 0;
  flex-grow: 1;
}
.contact-checkbox__form-content label:after {
  content: "";
  clear: both;
  display: block;
}

#contact-submit {
  display: contents;
  padding: 0;
  border: none;
  margin: 0 auto;
  margin-block-start: 40px;
  margin-block-end: 40px;
}
#contact-submit:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
#contact-submit .mail-icon {
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  background-color: #ff6600;
  align-items: center;
  gap: 10px;
  padding: 16px;
  width: 310px;
  margin: 32px auto;
}
#contact-submit .mail-icon:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
#contact-submit .mail-icon li {
  color: #fff;
  font-size: 1.4rem;
  line-height: 0.7em;
  font-weight: 700;
  white-space: nowrap;
}
#contact-submit .mail-icon li p {
  font-size: 1rem;
  letter-spacing: 1px;
}
#contact-submit .mail-icon li p em {
  color: #333;
  padding: 0 2px;
  letter-spacing: 1px;
  font-weight: bold;
  text-shadow: 1px 1px 0px white, -1px -1px 0px white, -1px 1px 0px white, 1px -1px 0px white, 0 0 5px rgba(255, 255, 255, 0.8), 0 0 10px rgba(255, 255, 255, 0.6), 0 0 15px rgba(255, 255, 255, 0.4), 0 0 20px rgba(255, 255, 255, 0.2);
}
#contact-submit .mail-icon li img {
  width: 50px;
}

.contact-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .contact-wrapper {
    flex-direction: row;
    flex-wrap: nowrap;
    margin-block-start: 24px;
    column-gap: 24px;
  }
}
.contact-wrapper .contact-checkbox-tel {
  display: block;
  margin: 0 auto;
  width: fit-content;
  margin: 24px auto;
}
.contact-wrapper .contact-checkbox-tel:hover {
  cursor: pointer;
  opacity: 0.8;
  filter: brightness(105%);
}
.contact-wrapper .line-button-icon {
  display: inline-block;
  background: #4bcc00;
  padding: 24px;
  margin-block-start: 24px;
  height: 80px;
  width: 250px;
  border: 3px solid #fff;
  align-content: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .contact-wrapper .line-button-icon {
    width: 400px;
  }
}
.contact-wrapper .line-button-icon:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
.contact-wrapper .line-button-icon a {
  width: 100%;
  display: inline-flex;
  align-items: center;
  column-gap: 16px;
  white-space: nowrap;
  justify-content: center;
}
.contact-wrapper .line-button-icon a figure {
  background: #fff;
  border-radius: calc(infinity * 1px);
}
.contact-wrapper .line-button-icon a .line-button-icon__text {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

/* 記事
------------------------------ */
.single-box {
  -webkit-font-smoothing: antialiased;
  color: #1f1f1f;
  letter-spacing: 0.04em !important;
  font-weight: 400 !important;
}
.single-box img {
  margin: 24px 0;
}
.single-box a {
  color: #0329ce;
}
.single-box a:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.single-box p {
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 400;
  color: #333;
  margin: 0px 0px 40px;
}
@media screen and (max-width: 767px) {
  .single-box p {
    letter-spacing: 2px;
  }
}
.single-box h2 {
  margin-top: 64px;
  padding-bottom: 12px;
  border-bottom: 1px solid #1f1f1f;
  font-size: 1.5rem;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 140%;
  padding-inline-start: 16px;
  border-left: 8px solid #1f1f1f;
}
.single-box h3 {
  font-size: 20px;
  line-height: 28px;
  font-weight: 700;
  color: #fff;
  background-color: #3e3b3f;
  padding: 12px;
  margin: 48px 0px 20px;
}
@media screen and (max-width: 767px) {
  .single-box h3 {
    margin-bottom: 20px;
    margin-top: 20px;
  }
}
.single-box h4 {
  font-weight: 700;
  font-size: 1.25rem;
  margin: 48px 0px 20px;
}
@media screen and (max-width: 767px) {
  .single-box h4 {
    margin: 24px 0;
  }
}
.single-box .single-list {
  background: rgba(255, 247, 240, 0.4196078431);
  border: 2px solid #fe9e50;
  border-radius: 8px;
  padding: 12px 20px 12px 35px;
  margin-bottom: 20px;
  font-size: 14px;
}
.single-box .single-list li {
  line-height: 2;
  letter-spacing: 2px;
  list-style: disc;
  font-size: 1rem;
}
.single-box .effect-text-red {
  color: red;
  font-weight: 700;
  border-bottom: 1px solid #232323;
}
.single-box .effect-text-orange {
  color: #ff6600;
  font-weight: 700;
  border-bottom: 1px solid #232323;
}
.single-box .effect-text-black {
  color: #333;
  font-weight: 700;
}
.single-box .background-orange {
  margin: 40px 0;
  padding: 40px 20px;
  background-color: #fefaf1;
  line-height: 1.8;
}
.single-box .background-orange .list-box .list-ttl {
  font-weight: 700;
  font-size: 1.125rem;
  margin-bottom: 16px;
}
.single-box .background-orange .list-box .list-content {
  margin: 24px 0;
  line-height: 2;
  --_icon: url("images/page-area/osaka/subsidy/pen.png");
  --_size: 1em;
  --_gap: 1em;
  --_padding-inline-start: calc(var(--_size) + var(--_gap));
  display: block;
  padding-inline-start: var(--_padding-inline-start);
  text-decoration-color: rgb(252, 255, 102);
  text-decoration-line: underline;
  text-decoration-thickness: 12px;
  text-underline-offset: -5px;
  text-decoration-skip-ink: none;
}
.single-box .background-orange .list-box .list-content::before {
  content: "";
  float: inline-start;
  mask: var(--_icon) no-repeat center center/contain;
  -webkit-mask: var(--_icon) no-repeat center center/contain;
  inline-size: var(--_size);
  aspect-ratio: 1;
  margin-block: calc((2em - var(--_size)) / 2);
  margin-inline-start: calc(var(--_padding-inline-start) * -1);
  background: linear-gradient(currentColor 0% 100%), canvastext;
}
.single-box .text-box {
  margin-bottom: 24px;
}
.single-box .list-box {
  margin-bottom: 24px;
}
.single-box .list-text {
  margin-bottom: 1.5px;
  background: linear-gradient(transparent -100%, #eff9ff 5%);
  padding: 1px 0;
  font-weight: 700;
  border-radius: 8px;
  border: 1px solid rgb(121, 191, 255);
  text-align: center;
}
.single-box .effect-maker-yellow {
  text-decoration-line: underline;
  text-decoration-color: #fef799;
  text-decoration-thickness: 0.6em;
  text-underline-offset: -0.3em;
  text-decoration-skip-ink: none;
  font-weight: 700;
  font-size: 1.25rem;
}

.ea-header {
  background-color: #eeeeee !important;
}

.module-breadcrumbs {
  padding: 20px 8px;
  font-size: 12px;
  line-height: 1.4;
  color: #2e2e2e;
}
.module-breadcrumbs a {
  color: #929292;
  text-decoration: none;
}
.module-breadcrumbs a:visited {
  color: #929292;
}
.module-breadcrumbs a:hover {
  color: #2e2e2e;
}

/* 更新日
------------------------------ */
.update {
  font-size: 12px;
  margin-bottom: 10px;
  display: block;
  color: #a2a2a2;
}

.table {
  max-width: 1200px;
  display: block;
  overflow-x: scroll;
  white-space: normal;
  border-collapse: separate;
  margin-bottom: 24px;
  padding: 8px;
  height: fit-content !important;
}
.table tbody {
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
  border-radius: 4px 4px 0 0;
}
.table th {
  vertical-align: middle;
  line-height: 1.5;
  background-color: #438700;
  color: #fff;
  padding: 16px;
  white-space: nowrap;
  border-right: 1px solid #fff;
  border-radius: 4px 4px 0 0;
}
.table th:last-child {
  border-right: none;
}
.table td {
  padding: 16px;
  border-bottom: 1px solid #cecece;
  border-right: 1px solid #cecece;
  line-height: 1.8;
  white-space: nowrap;
  align-content: center;
}
.table td:last-child {
  border-right: none;
}
.table tbody tr:last-of-type {
  position: relative;
}
.table tbody tr:last-of-type::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #438700;
}

.table02 {
  max-width: 1200px;
  display: block;
  overflow-x: scroll;
  white-space: normal;
  border-collapse: separate;
  margin-bottom: 24px;
  padding: 8px 0;
  height: fit-content !important;
}
.table02 tbody {
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
}
.table02 th {
  vertical-align: middle;
  line-height: 1.5;
  background-color: #438700;
  color: #fff;
  padding: 16px;
  white-space: nowrap;
  border-bottom: 1px solid #fff;
  border-radius: 4px 0 0 0;
  position: sticky;
  left: 0;
}
.table02 th:last-child {
  border-right: none;
}
.table02 td {
  padding: 16px;
  border-bottom: 1px solid #cecece;
  border-right: 1px solid #cecece;
  line-height: 1.8;
  white-space: nowrap;
  align-content: center;
}
.table02 td:last-child {
  border-right: none;
}
.table02 tbody tr:last-of-type th:last-of-type {
  border-radius: 0 0 0 4px;
}

.table03 {
  max-width: 1200px;
  display: block;
  overflow-x: scroll;
  white-space: normal;
  border-collapse: separate;
  margin-bottom: 24px;
  padding: 8px 0;
  height: fit-content !important;
}
.table03 tbody {
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
  border-radius: 4px 4px 0 0;
}
.table03 th {
  vertical-align: middle;
  line-height: 1.5;
  background-color: #438700;
  color: #fff;
  padding: 16px;
  white-space: nowrap;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #cecece;
  border-radius: 4px 4px 0 0;
  position: sticky;
  left: 0;
  top: 0;
}
.table03 th:last-child {
  border-right: none;
}
.table03 td {
  padding: 16px;
  border-bottom: 1px solid #cecece;
  border-right: 1px solid #cecece;
  line-height: 1.8;
  white-space: nowrap;
  align-content: center;
}
.table03 td:last-child {
  border-right: none;
}
.table03 .blank {
  background-color: #438700;
  border-right: 1px solid #fff;
  border-radius: 4px 4px 0 0;
  position: sticky;
  left: 0;
  z-index: 3;
}
.table03 tbody tr:last-of-type {
  position: relative;
}
.table03 tbody tr:last-of-type::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background-color: #438700;
}

.table-wrapper {
  max-width: 1100px;
}
.table-wrapper .scroll-navi {
  animation: FloatHorizontal 2s ease-in-out infinite alternate;
  margin-bottom: 2px !important;
  margin-top: 3em;
  text-align: right;
}
.table-wrapper .scroll-navi span {
  align-items: center;
  display: inline-flex;
  font-size: 12px;
  line-height: 1;
  opacity: 0.85;
  vertical-align: middle;
  margin-left: 4px;
}
.table-wrapper .scroll-navi span::after {
  content: "";
  background: url(images/single/scroll-navi.png) no-repeat center;
  background-size: contain;
  display: inline-block;
  width: 20px;
  height: 20px;
}

@media (min-width: 650px) {
  .scroll-navi {
    display: none;
  }
}
@keyframes FloatHorizontal {
  0% {
    transform: translateY(0);
    opacity: 0.75;
  }
  50% {
    transform: translateY(-10px); /* 上に移動 */
    opacity: 1; /* 完全に表示 */
  }
  100% {
    transform: translateY(0);
    opacity: 0.75;
  }
}
.checkpoint {
  position: relative;
  margin: 2em 0;
  padding: 20px 20px 10px 30px;
  border: solid 1px #a9a9a9;
  border-radius: 0px;
}
.checkpoint__title {
  position: absolute;
  display: inline-block;
  top: -13px;
  left: 20px;
  padding: 0 9px;
  line-height: 1;
  font-size: 19px;
  background: #fff;
  color: #000;
}
.checkpoint a {
  color: #0329ce;
  text-decoration: none;
  line-height: 1.8;
  margin-bottom: 24px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .checkpoint a {
    line-height: 2;
    margin-bottom: 40px;
    font-size: 18px;
  }
}
.checkpoint a::before {
  content: "";
  width: 19px;
  height: 17px;
  background-image: url(images/icon-check-arrow.png);
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

.related-post-wrap {
  margin: 40px 0;
}
.related-post-wrap p {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: #333;
  border-bottom: 2px solid #ff9933;
  padding-block-end: 8px;
}
.related-post-wrap p::before {
  content: "";
  display: inline-block;
  background: url(images/single/sun-icon.png);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;
  width: 55px;
  height: 40px;
  transform: translate(0px, 10px);
}
.related-post-wrap ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  grid-row-gap: 24px;
  margin: 20px -5px 0;
  padding: 0;
  list-style-type: none;
}
@media screen and (min-width: 768px) {
  .related-post-wrap ul {
    display: flex;
  }
}
.related-post-wrap li {
  padding-right: 5px;
  padding-left: 5px;
}
@media screen and (min-width: 768px) {
  .related-post-wrap li {
    flex: 0 0 25%;
    max-width: 25%;
  }
}
.related-post-wrap a {
  text-decoration: none;
  color: inherit;
}
.related-post-wrap .related-post__content {
  display: flex;
  position: relative;
  flex-direction: column;
  flex-wrap: wrap;
  width: 100%;
  transition: color 0.3s;
  overflow: hidden;
}
.related-post-wrap .related-post__content:hover {
  color: #ff9933;
}
.related-post-wrap .related-post__content img {
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.related-post-wrap .related-post__content:hover img {
  transform: scale(1.1);
}
.related-post-wrap .related-post__content__ttl {
  padding-top: 12px;
  margin-top: 0;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
}

/* .supervision-box
------------------------------ */
.supervision-box {
  margin-block-end: 24px;
  /* .supervision-box__innner
  ------------------------------ */
}
.supervision-box__innner {
  box-shadow: 0px 0px 8px 1px #777777;
  padding: 16px 24px;
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (min-width: 768px) {
  .supervision-box__innner {
    flex-direction: row;
    align-items: center;
  }
}
.supervision-box__innner .person-img {
  width: 200px;
  height: 200px;
  aspect-ratio: 1;
  flex-shrink: 0;
  object-fit: cover;
  margin-inline: auto;
}
.supervision-box__innner .person-text {
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .supervision-box__innner .person-text span {
    margin-inline-start: 8px;
  }
}
.supervision-box__innner .person-text p:first-child {
  margin-bottom: 10px;
  font-size: 1.3rem;
  margin-block-end: 24px;
}
.supervision-box__innner .person-text p:first-child span {
  font-size: 1rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_sidebar.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 1024px) {
  .side-content {
    max-width: 330px;
    padding-left: 15px;
    margin-block-start: -40px;
  }
}
.side-content .popular-ranking {
  /* タブの設定 */
}
.side-content .popular-ranking__ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: #333;
  border-bottom: 2px solid #ff9933;
  padding-block-end: 8px;
}
.side-content .popular-ranking__ttl::before {
  content: "";
  display: inline-block;
  background: url(images/single/sun-icon.png);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;
  width: 55px;
  height: 40px;
  transform: translate(0px, 10px);
}
.side-content .popular-ranking .popular-ranking-tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  max-width: 1100px;
  margin-inline: auto;
  /* 選択したタブ */
  /* ラジオボタン非表示 */
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-label {
  background: #ebebeb;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px 0.3em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  font-size: 0.875rem !important;
  letter-spacing: 1px;
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-label:not(:last-of-type) {
  margin-right: 10px;
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-switch:checked + .popular-tab-label {
  background: #ff9933;
  transition: all 0.2s ease;
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-switch:checked + .popular-tab-label + .popular-tab-content {
  height: auto;
  overflow: auto;
  opacity: 1;
  transition: 0.5s opacity;
}
.side-content .popular-ranking .popular-ranking-tab-wrap .popular-tab-switch {
  display: none;
}

/* タブの中身 */
.popular-tab-content ul {
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
.popular-tab-content li {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #f5f5f5;
}
.popular-tab-content .notice-article {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  height: auto;
}
.popular-tab-content .notice-article a {
  text-decoration: none;
  color: inherit;
}
.popular-tab-content .notice-article figure {
  position: relative;
  flex: 0 0 104px;
  max-width: 104px;
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
}
.popular-tab-content .notice-article__ttl {
  flex-basis: calc(100% - 104px);
  flex-grow: 0;
  flex-shrink: 0;
  max-width: calc(100% - 104px);
  padding-top: 0;
  padding-left: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
}
.popular-tab-content .notice-article:hover {
  color: #ff9933;
  transition: color 0.3s;
}
.popular-tab-content .notice-article:hover .notice-article-figure img {
  transform: scale(1.1);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.side-category-box {
  margin-top: 20px;
}
.side-category-box .article-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 24px;
  color: #333;
  border-bottom: 2px solid #ff9933;
  padding-block-end: 8px;
}
.side-category-box .article-title::before {
  content: "";
  display: inline-block;
  background: url(images/single/sun-icon.png);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: contain;
  width: 55px;
  height: 40px;
  transform: translate(0px, 10px);
}
.side-category-box .list-category {
  border-top: 1px solid #ff9933;
}
.side-category-box .list-category a {
  text-decoration: none;
}
.side-category-box .list-category a .list-category-contents {
  background-color: #fff;
  padding: 24px 12px;
  border: 2px solid #333;
  margin-top: 15px;
  display: flex;
  justify-content: space-between;
}
.side-category-box .list-category a .list-category-contents .list-category-title {
  color: #333;
  padding-top: 6px;
  width: 100%;
}
.side-category-box .list-category a .list-category-contents:hover {
  background-color: #ff9933;
  transition: 0.5s;
  border-color: #ff9933;
}
.side-category-box .list-category a:hover .list-category-title:hover {
  color: #fff;
  transition: 0.5s;
}
.side-category-box .list-category .list-category-contents:hover img {
  transform: translateX(10px);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: transform 0.2s ease-in-out;
}

/* 訴求バナー */
.product-flyer-box {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin: 40px 0px;
}
@media screen and (min-width: 1024px) {
  .product-flyer-box {
    display: block;
  }
}
.product-flyer-box .product-flyer-content {
  margin-block-end: 40px;
}
.product-flyer-box .product-flyer-content:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.product-flyer-box .product-flyer-content img {
  width: 100%;
  object-fit: cover;
}

/* 商品バナー */
/* 商品一覧 */
.product-list {
  margin: 40px 0px;
}
.product-list .product-list-display {
  margin-top: 15px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_thanks01.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.thanks {
  max-width: 1200px;
  margin-bottom: 80px;
  line-height: 1.8;
  text-align: justify;
}
.thanks h2 {
  margin-bottom: 24px;
  margin-top: 40px;
  font-size: 2rem;
  text-align: center;
  line-height: 1.5;
  font-weight: 500;
}
.thanks__text {
  margin: 16px 0;
}
.thanks__text span {
  color: #eb6100;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_archive.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*============= お客様の声 =================*/
.construction h1 {
  font-size: 1.8rem;
  color: #666;
  text-align: center;
  padding: 20px;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
  margin: 0 0 40px 0;
}
.construction p {
  width: 100%;
  margin-bottom: 40px;
  color: #555;
  text-align: center;
  transition-duration: 0.3s;
  line-height: 1.5;
}

.archive-voice {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 80px;
}
.archive-voice__box {
  max-width: 260px;
}
@media screen and (min-width: 768px) {
  .archive-voice__box {
    font-size: 1rem;
  }
}
.archive-voice__box a {
  text-decoration: none;
  display: block;
  width: 100%;
}
.archive-voice__box__figure {
  position: relative;
  z-index: 100;
  transition: 0.5s;
  overflow: hidden;
  border-radius: 8px;
}
.archive-voice__box__figure img {
  width: 270px;
  height: 270px;
  object-fit: cover;
}
.archive-voice__box__text {
  width: 95%;
  background-color: #fff;
  border: 1px solid #dee2e9;
  border-radius: 6px;
  color: #444;
  padding: 10px 10px 5px;
  position: relative;
  box-shadow: 0 2px 14px 0 rgba(0, 0, 0, 0.15);
  z-index: 200;
  transform: translateY(-50px);
  margin-inline: auto;
  height: 120px;
}
@media screen and (min-width: 768px) {
  .archive-voice__box__text {
    padding: 16px;
    margin-bottom: 24px;
    height: 200px;
  }
}
.archive-voice__box__text__voice {
  font-size: 0.8rem;
  font-weight: 600;
  line-height: 1.4;
  color: #666666;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media screen and (min-width: 768px) {
  .archive-voice__box__text__voice {
    font-size: 1rem;
    margin-bottom: 24px;
  }
}
.archive-voice__box__text__name {
  border-bottom: 1px solid #d8d8d8;
  font-size: 0.8rem;
  margin-bottom: 10px;
  padding: 10px 0 10px;
  font-weight: 400;
  color: #7cb0b9;
}
@media screen and (min-width: 768px) {
  .archive-voice__box__text__name {
    font-size: 1rem;
  }
}
.archive-voice__box__text__info {
  display: inline-block;
  font-size: 0.8rem;
  margin: 0;
  font-weight: 400;
  color: #7cb0b9;
}
@media screen and (min-width: 768px) {
  .archive-voice__box__text__info {
    font-size: 1rem;
  }
}

.archive-voice__box__text:hover .archive-voice__box__text__voice {
  color: #fe9d4e;
  transition: 0.3s;
}

.archive-voice__box__figure img {
  transition: transform 0.3s ease;
}

.archive-voice__box:hover .archive-voice__box__figure img {
  transform: scale(1.2);
}

.pagination {
  text-align: center;
  margin: 20px 0;
}

.pagination .page-numbers {
  display: inline-block;
  margin: 0 5px;
  padding: 10px 15px;
  color: #0073aa;
  text-decoration: none;
  border: 1px solid #ddd;
  border-radius: 3px;
}

.pagination .page-numbers:hover {
  background-color: #0073aa;
  color: #fff;
}

.pagination .current {
  background-color: #0073aa;
  color: #fff;
  border: 1px solid #0073aa;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_osaka.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (max-width: 767px) {
  .maintenance__ttl {
    font-size: 1.1rem;
  }
}
.maintenance ul {
  max-width: 1200px;
}
@media screen and (min-width: 768px) {
  .maintenance ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 32px;
    margin: 40px 0 0;
    align-items: center;
  }
}
.maintenance ul li {
  line-height: 1.8;
  letter-spacing: 1.2px;
  font-weight: 600;
}
.maintenance ul li figure {
  margin: 24px;
}
.maintenance__set {
  font-size: large;
  font-weight: bold;
  line-height: 1.8;
  border-left: 8px solid #ff6600;
  padding-inline-start: inherit;
  margin: 40px 0;
}
@media screen and (min-width: 768px) {
  .maintenance__set {
    font-size: clamp(1.4rem, 1.5vw, 1.5rem);
  }
}
.maintenance__wrapper {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #FAF9F8;
}
@media screen and (min-width: 768px) {
  .maintenance__wrapper {
    display: flex;
    justify-content: space-between;
  }
}
.maintenance__wrapper img {
  border-radius: 0 0 9.93333vw 0;
}
@media screen and (min-width: 768px) {
  .maintenance__wrapper img {
    width: 50vw;
    max-width: 550px;
  }
}
.maintenance__wrapper__text {
  margin: 18px;
  padding-top: 3%;
}
.maintenance__wrapper__text em {
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .maintenance__wrapper__text em {
    font-size: clamp(1.4rem, 1.5vw, 1.5rem);
  }
}
.maintenance__wrapper__text p {
  margin-block-start: 24px;
  line-height: 1.8;
  letter-spacing: 1.2px;
}

.check {
  counter-reset: counter-list 0;
}
.check__list {
  width: 89.33333vw;
  margin: auto;
}
@media screen and (min-width: 1024px) {
  .check__list {
    max-width: 900px;
  }
}
.check__list__inner {
  border-top: 1px solid #efefef;
  position: relative;
}
.check__list__inner__scroll-icon {
  text-decoration: none;
  color: #000;
}
.check__list__inner__scroll-icon::after {
  display: inline-block;
  content: "";
  background: url(images/maintenance/down-icon.svg) no-repeat 100% 0/cover;
  max-width: 200px;
  max-width: 50px;
  max-height: 50px;
  width: 7vw;
  height: 7vw;
  position: absolute;
  bottom: 0;
  top: 0;
  margin: auto;
  right: 0;
}
.check__list__inner__box {
  padding: 5.33333vw 0 5.33333vw 0;
}
@media screen and (min-width: 1025px) {
  .check__list__inner__box {
    display: flex;
    align-items: center;
    padding: 30px 0 30px 30px;
    justify-content: flex-start;
  }
}
.check__list__inner__box__number {
  font-weight: 700;
  color: #999;
}
@media screen and (min-width: 768px) {
  .check__list__inner__box__number {
    font-size: x-large;
  }
}
.check__list__inner__box__number::after {
  padding-left: 24px;
  counter-increment: counter-list;
  content: counter(counter-list, decimal-leading-zero) "";
}
.check__list__inner__box__text {
  font-weight: 600;
  margin-top: 4vw;
}
@media screen and (min-width: 768px) {
  .check__list__inner__box__text {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .check__list__inner__box__text {
    margin: 0;
    margin-inline-start: 10%;
  }
}
.check .check__list:last-of-type {
  margin-bottom: max(40px, 1vw);
}

.maintenance-detail {
  counter-reset: detail-number 0;
}
.maintenance-detail__content {
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .maintenance-detail__content {
    display: flex;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: max(40px, 6vw);
  }
}
.maintenance-detail__content__figure {
  position: relative;
  max-width: 300px;
}
.maintenance-detail__content__figure::before {
  position: absolute;
  content: "";
  background-color: #fff5ee;
  background-repeat: no-repeat;
  background-size: 250px;
  background-position: left bottom;
  border-radius: 50% 50% 66% 34%/23% 41% 59% 77%;
  width: 250px;
  height: 250px;
  z-index: -1;
  transform: translate(-120px, 50px);
}
.maintenance-detail__content__box {
  margin: 16px;
}
@media screen and (min-width: 768px) {
  .maintenance-detail__content__box {
    width: clamp(25rem, -5.667rem + 63.89vw, 42.25rem);
  }
}
@media screen and (min-width: 1025px) {
  .maintenance-detail__content__box {
    max-width: 540px;
  }
}
.maintenance-detail__content__box__ttl {
  display: flex;
  align-items: flex-end;
}
.maintenance-detail__content__box__ttl ul {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  background: #ff9933;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  flex-shrink: 0;
}
.maintenance-detail__content__box__ttl ul li {
  display: block;
  width: 100%;
  font-size: 0.6rem;
  line-height: 1;
}
.maintenance-detail__content__box__ttl ul li span::after {
  display: block;
  width: 100%;
  counter-increment: detail-number;
  content: counter(detail-number, decimal-leading-zero) "";
  color: white;
  font-size: 1.4rem;
  font-weight: 600;
}
.maintenance-detail__content__box__ttl .maintenance-detail__content__box__ttl__text-icon,
.maintenance-detail__content__box__ttl .maintenance-detail__content__box__ttl__text-icon02,
.maintenance-detail__content__box__ttl .maintenance-detail__content__box__ttl__text {
  position: relative;
  margin: 0 0 0 16px;
  font-weight: bold;
  color: #ff9933;
  font-size: clamp(1.125rem, -0.75rem + 3.91vw, 1.75rem);
}
.maintenance-detail__content__box__ttl .maintenance-detail__content__box__ttl__text-icon::after {
  position: absolute;
  content: "";
  background: url(images/maintenance/detail/character-img.png);
  background-size: contain;
  width: 270px;
  height: 70px;
  background-repeat: no-repeat;
  top: 0;
  right: 0;
  transform: translateY(-90%);
}
.maintenance-detail__content__box__ttl .maintenance-detail__content__box__ttl__text-icon02::after {
  position: absolute;
  content: "";
  background: url(images/maintenance/detail/character-img02.png);
  background-size: contain;
  width: 270px;
  height: 70px;
  background-repeat: no-repeat;
  top: 0;
  right: 0;
  transform: translateY(-90%);
}
.maintenance-detail__content__box p {
  margin-top: 5%;
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 600;
}
.maintenance-detail__content__figure {
  width: 70vw;
  margin: 0 auto;
}
.maintenance-detail__content .maintenance-detail__content__box:last-child {
  width: inherit;
  max-width: inherit;
}
.maintenance-detail__figure-content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 16px;
}
.maintenance-detail__figure-content ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
@media screen and (min-width: 768px) {
  .maintenance-detail__figure-content ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
  }
}
.maintenance-detail__figure-content ul li {
  max-width: 300px;
  margin: 0 auto;
  margin-bottom: 24px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .maintenance-detail__figure-content ul li {
    width: calc((100% - 40px) / 3);
  }
}
.maintenance-detail__figure-content ul li img {
  object-fit: cover;
  width: 70vw;
  height: auto;
  display: block;
  margin: 0 auto;
}
.maintenance-detail__figure-content ul li figcaption {
  margin: 8px 0 24px;
  text-align: center;
  font-size: large;
  font-weight: bold;
}

/********************* 見積もりバナー ***************************/
.estimate_section {
  max-width: 1200px;
  height: auto;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
  margin-top: 80px;
}

.estimate_warraper {
  background: url("images/estimate/background_img.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 20px;
  color: #f06105;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
}

.estimate_box {
  width: fit-content;
  margin: 0 auto;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  height: 70px;
}

a.btn--orange02 {
  width: 100%;
  color: #fff;
  background-color: #eb6100;
  border-bottom: 5px solid #b84c00;
  display: inline-block;
  padding: 20px;
  text-decoration: none;
  text-align: center;
  border-radius: 10px;
}

a.btn--orange02:hover {
  margin-top: 3px;
  color: #fff;
  border-bottom: 2px solid #b84c00;
  transition: 0.2s;
}

a.btn--shadow02 {
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
  transition: 0.2s;
}

.material-symbols-outlined {
  vertical-align: middle;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.estimate_warraper h2 {
  color: #f06105;
  font-size: 1.4rem;
  margin-top: 30px;
  border-bottom: 5px dotted #f06105; /* 点線の下線 */
  display: inline-block; /* ブロック要素として表示 */
  line-height: 1.5;
  padding-bottom: 18px;
}

.estimate_text {
  font-size: 1.2rem;
  color: #333333;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .estimate_text {
    line-height: 1.2;
  }
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_profile-ecohonpo.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.smile-profile {
  /* .smile-profile__top-ttl
  ------------------------------ */
  /* .smile-profile__container
  ------------------------------ */
  /* .smile-profile__content
  ------------------------------ */
  /* .smile-profile__town
  ------------------------------ */
  /* .smile-profile__wrapper
  ------------------------------ */
  /* .solar-lp-cta
  ------------------------------ */
}
.smile-profile__top-ttl {
  margin-bottom: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-weight: bold;
  color: #ff6600;
  margin: 0 auto;
}
.smile-profile__top-ttl span {
  display: block;
  font-weight: bold;
  padding-bottom: 4px;
  font-size: 1rem !important;
  line-height: 1.4;
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 4px;
  font-weight: bold;
  color: #ff6600;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .smile-profile__top-ttl span {
    grid-gap: 16px;
  }
}
.smile-profile__top-ttl span::before, .smile-profile__top-ttl span::after {
  display: inline-block;
  width: 30px;
  height: 30px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.smile-profile__top-ttl span::before {
  background-image: url(images/page-area/osaka/top/headline-deco02.png);
}
.smile-profile__top-ttl span::after {
  background-image: url(images/page-area/osaka/top/headline-deco.png);
}
@media screen and (min-width: 768px) {
  .smile-profile__top-ttl span {
    font-size: clamp(1rem, 0.111rem + 1.85vw, 1.5rem) !important;
  }
}
.smile-profile__top-ttl p {
  display: block;
  background-color: #ff9933;
  color: #fff;
  padding: 16px 4%;
  border-radius: 100px;
  font-weight: bold;
  line-height: 1.4;
  font-size: 1.2rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .smile-profile__top-ttl p {
    padding: 16px 17%;
  }
}
@media screen and (min-width: 768px) {
  .smile-profile__top-ttl p {
    display: inline-block;
    font-size: clamp(1rem, -0.778rem + 3.7vw, 2rem);
  }
}
.smile-profile__container {
  text-align: center;
  align-items: center;
  /* .smile-profile__container__left-box
  ------------------------------ */
  /* .smile-profile__container__plus-figure
  ------------------------------ */
  /* .smile-profile__container__right-box
  ------------------------------ */
}
@media screen and (min-width: 768px) {
  .smile-profile__container {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
  }
}
.smile-profile__container__left-box {
  text-align: center;
}
.smile-profile__container__left-box ul {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  column-gap: 16px;
  row-gap: 8px;
  border: 3px solid #eb7201;
  border-radius: 10px;
  padding: 16px;
}
@media screen and (min-width: 768px) {
  .smile-profile__container__left-box ul {
    row-gap: 0;
  }
}
.smile-profile__container__left-box ul li {
  text-align: center;
}
.smile-profile__container__left-box ul li p {
  padding-top: 8px;
}
.smile-profile__container__left-box span {
  display: inline-block;
  padding-top: 16px;
  font-weight: 600;
  font-size: 1.2rem;
}
.smile-profile__container__plus-figure {
  width: 40px;
  display: inline-block;
  margin: 20px;
}
.smile-profile__container__right-box {
  text-align: center;
}
.smile-profile__container__right-box ul {
  border: 3px solid #eb7201;
  border-radius: 10px;
  padding: 16px;
}
.smile-profile__container__right-box ul li {
  text-align: center;
}
.smile-profile__container__right-box p {
  display: inline-block;
  padding-top: 16px;
  font-weight: 600;
  font-size: 1.2rem;
}
.smile-profile__content {
  text-align: center;
}
.smile-profile__content p {
  text-align: center;
  font-weight: bold;
  padding: 8px;
  font-size: clamp(1rem, 4vw, 1.6rem);
}
.smile-profile__content span {
  display: inline-block;
  padding: 16px;
  background: #eb6100;
  border-radius: 50px;
  font-size: clamp(1rem, 4vw, 1.6rem);
  font-weight: bold;
  color: #fff;
}
.smile-profile__content span em {
  font-size: clamp(1.3rem, 4vw, 2.5rem);
}
.smile-profile__town {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
  display: block;
  transform: translateY(28px);
}
.smile-profile__wrapper {
  max-width: 1100px;
  margin: 0 auto;
  /* .smile-profile__wrapper__detail
  ------------------------------ */
}
@media screen and (min-width: 768px) {
  .smile-profile__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-column-gap: 32px;
  }
}
.smile-profile__wrapper__detail {
  padding: 24px;
  line-height: 1.3;
  /* .smile-profile__wrapper__detail__ttl
  ------------------------------ */
  /* .smile-profile__wrapper__detail__text
  ------------------------------ */
}
@media screen and (min-width: 768px) {
  .smile-profile__wrapper__detail {
    padding: 0;
  }
}
.smile-profile__wrapper__detail img {
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  aspect-ratio: 45/34;
}
.smile-profile__wrapper__detail__ttl {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 1.2rem;
  padding: 16px;
}
.smile-profile__wrapper__detail__text {
  line-height: 1.8;
  letter-spacing: 0.1rem;
}
.smile-profile .triangle-icon {
  display: block;
  width: 30px;
  margin: 0 auto;
  padding: 20px 0;
}
.smile-profile__to-cta {
  text-align: center;
  font-weight: bold;
  color: #ff6600;
  margin: 0 auto;
}
.smile-profile__to-cta span {
  display: block;
  font-weight: bold;
  padding-bottom: 4px;
  font-size: 1rem !important;
  line-height: 1.4;
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 4px;
  font-weight: bold;
  color: #ff6600;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .smile-profile__to-cta span {
    grid-gap: 16px;
  }
}
.smile-profile__to-cta span::before, .smile-profile__to-cta span::after {
  display: inline-block;
  width: 30px;
  height: 30px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.smile-profile__to-cta span::before {
  background-image: url(images/page-area/osaka/top/headline-deco02.png);
}
.smile-profile__to-cta span::after {
  background-image: url(images/page-area/osaka/top/headline-deco.png);
}
@media screen and (min-width: 768px) {
  .smile-profile__to-cta span {
    font-size: clamp(1rem, -0.778rem + 3.7vw, 2rem) !important;
  }
}

/*====================== コラム ===========================*/
.column-navi-button {
  width: 100%;
  display: block;
  margin-bottom: 30px;
  text-align: center;
}
.column-navi-button a {
  position: relative;
  display: inline-block;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 10px 25px;
  color: #f69903;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  text-decoration: none;
}
.column-navi-button a::before {
  position: absolute;
  width: 100%;
  height: 3px;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: #f69903;
  top: 0;
  left: 0;
}
.column-navi-button a::after {
  position: absolute;
  width: 100%;
  height: 3px;
  content: "";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: #f69903;
  right: 0;
  bottom: 0;
}
.column-navi-button a:hover::before, .column-navi-button a:hover::after {
  width: 0;
}

.column__ttl {
  text-align: center;
}
.column__area {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  gap: 2% 2%;
  margin-bottom: 40px;
}
.column__box {
  width: 47%;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .column__box {
    width: 30%;
    margin: 0 0 40px 0;
  }
}
.column__box img {
  width: 100%;
  height: auto;
}
.column__box .column-right {
  padding: 6px;
}
.column__box span {
  font-size: 0.7rem;
  font-weight: bold;
  border: 1px solid #ccc;
  border-radius: 30px;
  padding: 9px;
  margin: 0 0 10px 0;
  display: inline-block;
}
.column__box h3 {
  font-size: 0.8rem;
  font-weight: bold;
  margin: 0;
  line-height: 1.3;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .column__box h3 {
    font-size: 1.1rem;
  }
}
.column__box a {
  color: #1c75bd;
  text-decoration: none;
}
.column__box a:hover {
  text-decoration: underline;
}

.post-item {
  margin-bottom: 20px;
}

.post-item h2 {
  font-size: 1.5rem;
  margin-bottom: 10px;
}

.post-item h2 a {
  text-decoration: none;
  color: #333;
}

.post-item h2 a:hover {
  color: #ff9933;
}

.post-item p {
  font-size: 1rem;
  color: #666;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_construction-flow.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.construction-flow {
  counter-reset: construction-counter 0;
}
.construction-flow__main-ttl {
  max-width: 1100px;
  text-align: center;
  margin: 40px auto;
}
.construction-flow__main-ttl p {
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 4px;
  font-weight: bold;
  color: #ff6600;
  align-items: center;
  font-size: clamp(1.125rem, 0.499rem + 3.13vw, 2rem);
}
@media screen and (min-width: 768px) {
  .construction-flow__main-ttl p {
    grid-gap: 16px;
  }
}
.construction-flow__main-ttl p::before, .construction-flow__main-ttl p::after {
  display: inline-block;
  width: 30px;
  height: 30px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.construction-flow__main-ttl p::before {
  background-image: url(images/page-area/osaka/top/headline-deco02.png);
}
.construction-flow__main-ttl p::after {
  background-image: url(images/page-area/osaka/top/headline-deco.png);
}
.construction-flow__ttl-box {
  display: flex;
  align-items: baseline;
  gap: 18px;
  margin-bottom: 16px;
}
.construction-flow__ttl-box ul {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  background: #ff9933;
  border-radius: 12px 0;
  width: 33px;
  height: 33px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  flex-shrink: 0;
}
.construction-flow__ttl-box ul li {
  display: block;
  width: 100%;
}
.construction-flow__ttl-box ul li .construction-flow-counter::before {
  color: #fff;
  counter-increment: construction-counter;
  content: counter(construction-counter, decimal-leading-zero) "";
  display: block;
  width: 100%;
}
.construction-flow__ttl-box__sub-ttl {
  font-size: clamp(1.25rem, 0.652rem + 2.55vw, 1.875rem);
  font-weight: bold;
  color: #ff9933;
  margin-block-end: 8px;
}
.construction-flow__ttl-box__text {
  padding-top: 24px;
}
.construction-flow__box {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .construction-flow__box {
    flex-direction: inherit;
    gap: 0 50px;
  }
}
.construction-flow__box__background {
  background-color: white;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 32px;
  padding: 24px 5%;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
}
.construction-flow__box__background__text {
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .construction-flow__box__background__text {
    font-size: 1.125rem;
  }
}
.construction-flow__box__figure {
  margin: 0 auto;
  flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .construction-flow__box__figure {
    max-width: 280px;
  }
}
.construction-flow__box__figure img {
  border-radius: 8px;
}
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  max-width: 1100px;
  margin-inline: auto;
  /* アクティブなタブ */
  /* ラジオボタン非表示 */
}
.tab-wrap::after {
  content: "";
  width: 100%;
  height: 3px;
  background: #53a326;
  display: block;
  order: -1;
}
.tab-wrap .tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px 0.3em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab-wrap .tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-wrap .tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-wrap .tab-switch:checked + .tab-label {
  background: #53a326;
  top: 1px;
  transition: all 0.2s ease;
}
.tab-wrap .tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: 0.5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.tab-wrap .tab-switch {
  display: none;
}

.tab-content {
  counter-reset: construction-sub-counter 0;
}
.tab-content__inner {
  display: flex;
  flex-direction: column;
  line-height: 1.8;
  letter-spacing: 1px;
}
@media screen and (min-width: 768px) {
  .tab-content__inner {
    padding-inline: 8px;
    flex-direction: row;
    gap: 24px;
    align-items: flex-start;
    inline-size: fit-content;
  }
}
.tab-content__inner figure {
  margin: 0 auto;
  flex-shrink: 0;
}
.tab-content__inner figure img {
  border-radius: 8px;
  width: 260px;
  height: 190px;
  object-fit: cover;
  object-position: center;
}
.tab-content__inner__counterbox {
  font-size: clamp(1.1rem, 0.873rem + 0.97vw, 1.6rem);
  display: flex;
  align-items: baseline;
  color: #ff9933;
}
.tab-content__inner__counterbox span::before {
  counter-increment: construction-sub-counter;
  content: counter(construction-sub-counter) ".";
}
.tab-content__inner__counterbox__ttl {
  margin: 16px 0;
  font-weight: bold;
  color: #ff9933;
}
@media screen and (min-width: 768px) {
  .tab-content__inner__counterbox__ttl {
    margin: 0 0 16px 0;
  }
}
.tab-content__inner aside {
  margin-top: 24px;
  font-size: smaller;
}
.tab-content__inner aside em {
  color: red;
}
.tab-content .repositioning-ttl {
  margin: 0 0 16px;
}
@media screen and (min-width: 768px) {
  .tab-content .repositioning {
    inline-size: fit-content;
    margin-inline: auto;
  }
}
.tab-content p {
  line-height: 1.8;
  letter-spacing: 1px;
  font-weight: 600;
}
.tab-content__icon {
  text-align: right;
}
.tab-content__icon img {
  width: inherit;
}

.construction-question__ttl {
  display: block;
  text-align: center;
  margin: 0 auto;
  max-width: 310px;
  font-size: clamp(1.2rem, 1.018rem + 0.78vw, 1.6rem);
  font-weight: bold;
  padding-block: 24px;
  border-bottom: 3px solid #ff9933;
  border-bottom-style: dotted;
}
@media screen and (min-width: 768px) {
  .construction-question__ttl {
    padding-block: 40px 24px;
  }
}
.construction-question__content {
  max-width: 1100px;
}
@media screen and (min-width: 768px) {
  .construction-question__content {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 24px;
    font-size: clamp(1rem, 0.943rem + 0.24vw, 1.125rem);
  }
}
.construction-question__content__text p {
  margin-block: 40px;
  line-height: 2;
  max-width: 1100px;
  margin-inline: 16px;
  letter-spacing: 1px;
  font-weight: 600;
}
.construction-question__content__text p em {
  font-weight: bold;
  color: #ff9933;
}
.construction-question__content figure {
  text-align: center;
  padding-block-end: 40px;
}
@media screen and (min-width: 768px) {
  .construction-question__content figure {
    padding-block-end: 0;
  }
}
.construction-question__content figure img {
  border-radius: 8px;
  padding: 24px;
  border-radius: 32px;
}

@media screen and (min-width: 768px) {
  .construction-side-device .ripositioning-side-device {
    flex-direction: row-reverse;
  }
}

.construction-operation-check__icon {
  width: 24%;
}

.construction-cta__text {
  margin-block-end: 24px;
}
.construction-cta__text p {
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  line-height: 1.8;
  letter-spacing: 1px;
  text-align: center;
  text-wrap: balance;
  font-weight: 600;
}
.construction-cta__text p span {
  color: #ff9933;
}
.construction-cta__text p em {
  border-bottom: #ff9933 solid 2px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_competitive-quotes.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
@media screen and (min-width: 1024px) {
  .competitive-quotes-main-visual {
    margin-block-end: 80px;
  }
}
.competitive-quotes-main-visual__wrapper {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .competitive-quotes-main-visual__wrapper {
    display: flex;
    justify-content: center;
  }
}
.competitive-quotes-main-visual__wrapper__figure {
  position: relative;
  width: fit-content;
}
.competitive-quotes-main-visual__wrapper__figure .telop {
  position: absolute;
  animation: poyopoyoAnim 2.25s ease-out 1s infinite;
  width: 35%;
  top: 3%;
  left: 33%;
}
@keyframes poyopoyoAnim {
  0%, 40%, 60%, 80% {
    transform: scale(1);
  }
  50%, 70% {
    transform: scale(0.85);
  }
}
.competitive-quotes-main-visual__wrapper__figure .top-ttl-telop {
  position: absolute;
  animation: scaleUpAnim 1s cubic-bezier(0.26, 0.15, 0.37, 0.9) 200ms both;
  animation-delay: 0.5s;
  width: 58%;
  top: 14%;
  left: 21%;
}
@media screen and (min-width: 1024px) {
  .competitive-quotes-main-visual__wrapper__figure .top-ttl-telop {
    top: min(7.5vw, 97px);
  }
}
@keyframes scaleUpAnim {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
.competitive-quotes-main-visual__wrapper__contactbox__ttl {
  display: block;
  inline-size: fit-content;
  margin-inline: auto;
  margin-block: 18px;
  font-weight: 700;
  font-size: 1.25rem;
}
.competitive-quotes-main-visual__wrapper .contact-sidever {
  width: min(90%, 600px);
  margin-inline: auto;
}
@media screen and (min-width: 1024px) {
  .competitive-quotes-main-visual__wrapper .contact-sidever {
    width: 100%;
  }
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content {
  padding-block-end: 16px;
  margin: 0 16px;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content label {
  font-size: 0.875rem;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-sidever, .competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever {
  width: 100%;
  display: block;
  padding: 0.5em 0.25em;
  margin-top: 10px;
  margin-right: 0;
  border: 1px solid #d0d5d8;
  border-radius: 3px;
  background-color: #eff1f5;
  font-size: 1rem;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-sidever .placeholder, .competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever .placeholder {
  font-size: smaller;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-textarea-sidever {
  height: 70px;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__content .coustom-sidever-pdf {
  display: block;
  padding: 0.5em 0.25em;
  margin-top: 10px;
  margin-right: 0;
  border-bottom: 2px solid #999;
  width: -webkit-fill-available;
}
.competitive-quotes-main-visual__wrapper .coustom-side-sendbotton {
  display: block;
  padding: 15px;
  background-color: #eb6100;
  color: #fff;
  border-radius: 10px;
  margin: 15px auto 0;
  border: 3px solid #fff;
  font-weight: bold;
  width: inherit;
  height: auto;
}
.competitive-quotes-main-visual__wrapper .contact-sidever__send {
  padding: 16px;
}

.competitive-quotes__section01 {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section01 {
    display: grid;
    grid-template-columns: 25% 45% 1fr;
    column-gap: 24px;
  }
}
.competitive-quotes__section01__graph {
  width: 60%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section01__graph {
    width: inherit;
  }
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section01__text {
    margin-inline-start: 8%;
    text-align: left;
  }
}
.competitive-quotes__section01__text p.ttl {
  display: inline-block;
  background-color: var(--background-color-orange);
  border-radius: calc(infinity * 1px);
  padding: 16px;
  color: #fff;
  margin: 24px 0;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section01__text p.ttl {
    font-size: clamp(1rem, -0.244rem + 2.59vw, 1.7rem);
  }
}
.competitive-quotes__section01__text p.text {
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  text-align: left;
  margin-block-end: 8px;
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section01__text p.text {
    font-size: var(--font-size);
  }
}
.competitive-quotes__section01__figure {
  width: fit-content;
}
.competitive-quotes__section01__figure img {
  width: fit-content;
  position: relative;
  transform: translateY(25px);
  z-index: -1;
}
.competitive-quotes__ttlbox__text {
  display: block;
  background: url(images/competitive-quotes/background-base.png) lightgray 50%/cover no-repeat;
  color: #fff;
  padding: 16px;
  line-height: var(--line-height);
  text-align: center;
  font-size: clamp(1.5rem, 0.5rem + 2.67vw, 2.5rem);
  font-weight: bold;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.competitive-quotes__ttlbox span {
  display: block;
}
.competitive-quotes__ttlbox span::after {
  content: "";
  display: block;
  background: url(images/competitive-quotes/triangle.svg);
  background-repeat: no-repeat;
  background-position: center;
  width: 102px;
  height: 48px;
  margin: 0 auto;
  transform: translateY(-10px);
}
.competitive-quotes__section02 {
  display: flex;
  white-space: nowrap;
  font-weight: bold;
  border-block-end: 3px solid red;
  inline-size: fit-content;
  margin-inline: auto;
  padding-block-end: 8px;
  font-size: clamp(1rem, 0.522rem + 2.04vw, 1.5rem);
}
@media screen and (min-width: 768px) {
  .competitive-quotes__section02 {
    font-size: clamp(1.125rem, 0.5rem + 2.67vw, 2.5rem);
  }
}
.competitive-quotes__section02 em {
  color: red;
}

/* 親タブ */
.competitive-quotes-tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 20px 0;
  max-width: 1100px;
  margin-inline: auto;
  height: fit-content;
  /* 選択されていない時のコンテンツを隠す */
  /* 選択中のタブ */
  /* 選択されたコンテンツの箱 */
  /* ラジオボタン非表示 */
}
.competitive-quotes-tab-wrap::after {
  content: "";
  width: 100%;
  height: 3px;
  background: var(--background-color-orange);
  display: block;
  order: -1;
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  text-align: center;
  padding: 15px 0.3em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
  font-size: smaller;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-tab-wrap .competitive-quotes-tab-label {
    font-size: inherit;
  }
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: height 0.5s, opacity 0.5s;
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-switch:checked + .competitive-quotes-tab-label {
  background: var(--background-color-orange);
  top: 1px;
  transition: all 0.2s ease;
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-switch:checked + .competitive-quotes-tab-label + .competitive-quotes-tab-content {
  height: auto;
  overflow: auto;
  padding-block-start: 15px;
  opacity: 1;
  transition: 0.5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.competitive-quotes-tab-wrap .competitive-quotes-tab-switch {
  display: none;
}

/* コンテンツの内容 */
.competitive-quotes-tab-content {
  background-color: #F0F0F0;
}
.competitive-quotes-tab-content__figure {
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-tab-content__figure {
    margin-block-start: 24px;
  }
}
.competitive-quotes-tab-content img {
  width: 80%;
  background-color: #fff;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-tab-content img {
    width: 100%;
    padding: 16px;
  }
}

/* 子タブ */
.child-tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  max-width: 1100px;
  justify-content: space-evenly;
  /* 選択されたタブ */
  /* ラジオボタン非表示 */
}
@media screen and (min-width: 768px) {
  .child-tab-wrap {
    column-gap: 60px;
  }
}
.child-tab-wrap .child-tab-label {
  position: relative;
  color: White;
  background: LightGray;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  text-align: center;
  padding: 8px 16px;
  order: -1;
  cursor: pointer;
  letter-spacing: 2px;
  border-radius: calc(infinity * 1px);
  font-size: larger;
}
.child-tab-wrap .child-tab-label::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  border-color: LightGray transparent transparent transparent;
  transform: translate(-50px, 27px);
}
.child-tab-wrap .child-tab-label small {
  font-size: 0.7rem;
}
.child-tab-wrap .child-tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  text-align: center;
  margin-block-start: 10px;
}
.child-tab-wrap .child-tab-switch:checked + .child-tab-label {
  position: relative;
  background: var(--background-color-orange);
  transition: all 0.2s ease;
}
.child-tab-wrap .child-tab-switch:checked + .child-tab-label::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8.7px 5px 0 5px;
  border-color: #F69934 transparent transparent transparent;
  transform: translate(-50px, 27px);
}
.child-tab-wrap .child-tab-switch:checked + .child-tab-label + .child-tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: 0.5s opacity;
}
.child-tab-wrap .child-tab-switch {
  display: none;
}

.competitive-quotes-contact {
  position: relative;
  margin: 0 auto;
  text-align: center;
}
.competitive-quotes-contact:hover .competitive-quotes-contact__pc__ttl,
.competitive-quotes-contact:hover img {
  opacity: 0.7;
  filter: brightness(120%);
}
.competitive-quotes-contact::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 70px 100px 0 100px;
  border-color: #F69934 transparent transparent transparent;
  bottom: -13%;
  left: 50%;
  transform: translateX(-50%);
}
.competitive-quotes-contact__subttl {
  position: relative;
  display: inline-block;
  background-color: var(--background-color-orange);
  padding: 16px;
  border-radius: calc(infinity * 1px);
  color: #fff;
  margin-block-end: 32px;
  font-weight: bold;
  font-size: larger;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-contact__subttl {
    font-size: clamp(1rem, 0.745rem + 1.27vw, 1.7rem);
  }
}
.competitive-quotes-contact__subttl::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 17.3px 10px 0 10px;
  border-color: #FF9933 transparent transparent transparent;
  bottom: 0;
  left: 50%;
  transform: translate(-10px, 10px);
}
.competitive-quotes-contact__ttl {
  font-size: clamp(1.2rem, 0.148rem + 4.49vw, 2.3rem);
  font-weight: bold;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-contact__ttl {
    font-size: clamp(1.2rem, 0.727rem + 2.36vw, 2.5rem);
  }
}
.competitive-quotes-contact__ttl .rotate-text {
  position: relative;
  font-weight: bold;
  transform: rotate(-6deg);
  display: inline-block;
  color: var(--text-color-dark-orange);
  padding: 0 8px;
  margin-block-end: 24px;
  font-size: clamp(1.6rem, 0.956rem + 3.22vw, 2.5rem);
}
@media screen and (min-width: 768px) {
  .competitive-quotes-contact__ttl .rotate-text {
    font-size: clamp(1.6rem, 1.127rem + 2.36vw, 2.9rem);
  }
}
.competitive-quotes-contact__ttl .rotate-text::after {
  position: absolute;
  content: "";
  background-image: url(images/competitive-quotes/section02/emphasis-icon.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 30px;
  height: 30px;
  top: 0;
  right: 0;
  transform: translate(6px, -19px);
  rotate: 20deg;
}
.competitive-quotes-contact ul li a {
  color: inherit;
}
.competitive-quotes-contact ul li .competitive-quotes-contact__pc {
  text-align: center;
  width: 100%;
}
.competitive-quotes-contact ul li .competitive-quotes-contact__pc__ttl {
  font-size: var(--font-size-subttl);
}
.competitive-quotes-contact ul li .competitive-quotes-contact__pc figure {
  width: 50%;
  margin: 0 auto;
}
.competitive-quotes-contact ul li .competitive-quotes-contact__text {
  line-height: var(--line-height);
}

.competitive-quotes-notice-point {
  background-image: url(images/competitive-quotes/section02/background-home.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin: 0 auto;
  text-align: center;
  padding: 16px 0;
}
.competitive-quotes-notice-point__backdrop {
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(3px) brightness(0.79) contrast(63%);
  -webkit-backdrop-filter: blur(3px) brightness(0.79) contrast(63%);
  padding: 24px;
}
.competitive-quotes-notice-point__backdrop__ttl {
  display: inline-block;
  white-space: nowrap;
  background-color: var(--background-color-orange);
  border-radius: calc(infinity * 1px);
  padding: 16px;
  color: #fff;
  margin-block-end: 32px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-notice-point__backdrop__ttl {
    font-size: clamp(1rem, 0.455rem + 2.73vw, 2.5rem);
  }
}
.competitive-quotes-notice-point__backdrop ul {
  display: block;
  inline-size: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-notice-point__backdrop ul {
    display: flex;
    flex: 1;
    justify-content: space-around;
    column-gap: 16px;
  }
}
.competitive-quotes-notice-point__backdrop ul li {
  display: flex;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.15) 2px 3px 10px;
  padding: 16px;
  align-items: center;
  column-gap: 16px;
  margin-block-end: 16px;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-notice-point__backdrop ul li {
    flex-direction: column;
  }
}
.competitive-quotes-notice-point__backdrop ul li figure {
  max-width: 168px;
  width: 180px;
}
.competitive-quotes-notice-point__backdrop ul li figure img {
  aspect-ratio: 120/113;
}
.competitive-quotes-notice-point__backdrop ul li .competitive-quotes-notice-point__inner {
  text-align: left;
}
.competitive-quotes-notice-point__backdrop ul li .competitive-quotes-notice-point__inner__ttl {
  display: inline-block;
  background-color: var(--background-color-orange);
  padding: 8px 16px;
  border-radius: calc(infinity * 1px);
  font-size: clamp(1rem, 0.745rem + 1.27vw, 1.7rem);
  color: #fff;
  margin: 8px auto;
}
.competitive-quotes-notice-point__backdrop ul li .competitive-quotes-notice-point__inner__text {
  line-height: var(--line-height);
}

.competitive-quotes-costcut-box__ttl {
  display: block;
  background: url(images/competitive-quotes/background-base.png) lightgray 50%/cover no-repeat;
  color: #fff;
  padding: 16px;
  line-height: var(--line-height);
  text-align: center;
  font-size: clamp(1.3rem, 0.5rem + 2.67vw, 2.5rem);
  font-weight: bold;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}
.competitive-quotes-costcut-box span::after {
  content: "";
  display: block;
  background: url(images/competitive-quotes/triangle.svg);
  background-repeat: no-repeat;
  background-position: center;
  width: 102px;
  height: 48px;
  margin: 0 auto;
  transform: translateY(-10px);
}

.competitive-quotes-reason {
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason {
    margin-block-start: 40px;
  }
}
.competitive-quotes-reason__subttl {
  font-size: larger;
  white-space: nowrap;
  margin-block-end: 8px;
  display: inline-grid;
  grid-template-columns: 1fr auto 1fr;
  grid-gap: 4px;
  font-weight: bold;
  color: #ff6600;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__subttl {
    grid-gap: 16px;
  }
}
.competitive-quotes-reason__subttl::before, .competitive-quotes-reason__subttl::after {
  display: inline-block;
  width: 30px;
  height: 30px;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  aspect-ratio: 1;
}
.competitive-quotes-reason__subttl::before {
  background-image: url(images/page-area/osaka/top/headline-deco02.png);
}
.competitive-quotes-reason__subttl::after {
  background-image: url(images/page-area/osaka/top/headline-deco.png);
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__subttl {
    font-size: var(--font-size-subttl);
    margin-block-end: 16px;
  }
}
.competitive-quotes-reason__ttl {
  font-size: clamp(1.4rem, 0.455rem + 2.73vw, 2.5rem);
  font-weight: 700;
}
.competitive-quotes-reason__ttl-box {
  display: block;
  background: url(images/competitive-quotes/background-base02.png) white 50%/cover no-repeat;
  line-height: var(--line-height);
  text-align: center;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding-block-start: 7%;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__ttl-box {
    padding-block-start: 14%;
  }
}
@media screen and (min-width: 1280px) {
  .competitive-quotes-reason__ttl-box {
    padding-block-start: 16%;
  }
}
.competitive-quotes-reason__ttl-box p {
  display: inline-block;
  color: var(--text-color-orange);
  padding: 8px 16px;
  background-color: #fff;
  border-radius: calc(infinity * 1px);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__ttl-box p {
    font-size: clamp(1rem, 0.745rem + 1.27vw, 1.7rem);
  }
}
@media screen and (min-width: 1025px) {
  .competitive-quotes-reason__ttl-box p {
    margin-block-end: 24px;
  }
}
.competitive-quotes-reason__ttl-box__ttl {
  color: #fff;
  font-size: clamp(1.125rem, 0.5rem + 2.67vw, 2.5rem);
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .competitive-quotes-reason__ttl-box p,
  .competitive-quotes-reason__ttl-box h2 {
    transform: translateY(-90%);
  }
}
@media screen and (min-width: 1280px) {
  .competitive-quotes-reason__ttl-box p,
  .competitive-quotes-reason__ttl-box h2 {
    transform: translateY(-140%);
  }
}

.competitive-quotes-reason {
  counter-reset: detail-number 0;
}
.competitive-quotes-reason__content {
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__content {
    display: flex;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    margin-top: max(40px, 6vw);
  }
}
.competitive-quotes-reason__content__figure {
  position: relative;
  max-width: 300px;
}
.competitive-quotes-reason__content__figure::before {
  position: absolute;
  content: "";
  background-color: #fff5ee;
  background-repeat: no-repeat;
  background-size: 250px;
  background-position: left bottom;
  border-radius: 50% 50% 66% 34%/23% 41% 59% 77%;
  width: 250px;
  height: 250px;
  z-index: -1;
  transform: translate(-120px, 50px);
}
.competitive-quotes-reason__content__box {
  margin: 16px 0;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-reason__content__box {
    width: clamp(25rem, -5.667rem + 63.89vw, 42.25rem);
  }
}
@media screen and (min-width: 1025px) {
  .competitive-quotes-reason__content__box {
    max-width: 540px;
  }
}
.competitive-quotes-reason__content__box__ttl {
  display: flex;
  align-items: flex-end;
}
.competitive-quotes-reason__content__box__ttl ul {
  display: flex;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  background: #ff9933;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  flex-shrink: 0;
}
.competitive-quotes-reason__content__box__ttl ul li {
  display: block;
  width: 100%;
  font-size: 0.6rem;
  line-height: 1;
}
.competitive-quotes-reason__content__box__ttl ul li span::after {
  display: block;
  width: 100%;
  counter-increment: detail-number;
  content: counter(detail-number, decimal-leading-zero) "";
  color: white;
  font-size: 1.4rem;
  font-weight: 600;
}
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__content__box__ttl__text-icon,
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__box__ttl__text-icon02,
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__content__box__ttl__text {
  position: relative;
  margin: 0 0 0 16px;
  font-weight: bold;
  color: #ff9933;
  font-size: clamp(1.3rem, -0.75rem + 3.91vw, 1.75rem);
  line-height: 1.3;
}
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__content__box__ttl__text-icon span,
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__box__ttl__text-icon02 span,
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__content__box__ttl__text span {
  font-size: 1rem;
}
.competitive-quotes-reason__content__box__ttl .competitive-quotes-reason__content__box__ttl__text-icon02::after {
  position: absolute;
  content: "";
  background: url(images/maintenance/detail/character-img02.png);
  background-size: contain;
  width: 270px;
  height: 70px;
  background-repeat: no-repeat;
  top: 0;
  right: 0;
  transform: translateY(-90%);
}
.competitive-quotes-reason__content__box p {
  margin-top: 5%;
  line-height: 1.8;
  letter-spacing: 1px;
  text-align: left;
}
.competitive-quotes-reason__content__figure {
  width: 70vw;
  margin: 0 auto;
}

.competitive-quotes-banner__background {
  background-image: url(images/competitive-quotes/bottom-banner-background.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  padding: 24px 0;
}
@media screen and (min-width: 768px) {
  .competitive-quotes-banner__background {
    background-image: url(images/competitive-quotes/bottom-banner-background-pc.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 40px 0;
  }
}
.competitive-quotes-banner__background__inner {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.competitive-quotes-banner__background__inner img {
  width: fit-content;
}
.competitive-quotes-banner__background__inner p {
  color: #fff;
  letter-spacing: var(--letter-spacing);
  line-height: var(--line-height);
  padding: 16px 0;
  text-align: left;
  max-width: 870px;
  inline-size: fit-content;
  margin-inline: auto;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_all-questions.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*============= 太陽光発電 =================*/
.all-questions-wrapper {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .all-questions-wrapper {
    display: grid;
    grid-template-columns: 65% auto;
    justify-content: space-between;
  }
}
.all-questions-wrapper .content-wrapper {
  margin-block-end: 24px;
}

.questions-ttl {
  width: 100%;
  height: auto;
  padding-left: 0.1em;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 73px;
}
.questions-ttl span {
  display: inline-block;
  padding-left: 0.1em;
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: 500;
  color: gray;
}

.questions-tab-wrap {
  max-width: 880px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  /* ラジオボタン非表示 */
}
@media screen and (min-width: 768px) {
  .questions-tab-wrap {
    display: flex;
    flex-wrap: wrap;
    column-gap: 16px;
    margin-inline: auto;
  }
}
.questions-tab-wrap .questions-tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px 0.3em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: calc(infinity * 1px);
  height: fit-content;
  margin: 24px;
}
@media screen and (min-width: 768px) {
  .questions-tab-wrap .questions-tab-label {
    flex: 1;
  }
}
.questions-tab-wrap .questions-tab-label::after {
  content: "";
  position: absolute;
  bottom: -9px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid LightGray;
}
.questions-tab-wrap .questions-tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
  grid-area: 3/1/4/3;
  height: 0;
}
.questions-tab-wrap .questions-tab-switch:checked + .questions-tab-label {
  background: #53a326;
  top: 1px;
  transition: all 0.2s ease;
}
.questions-tab-wrap .questions-tab-switch:checked + .questions-tab-label::after {
  border-top: 10px solid #53a326;
}
.questions-tab-wrap .questions-tab-switch:checked + .questions-tab-label + .questions-tab-content {
  display: block;
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: 0.5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}
.questions-tab-wrap .questions-tab-switch {
  display: none;
}

.sp-easy-accordion > .sp-ea-single > .sp-collapse > .ea-body {
  line-height: 1.8;
  letter-spacing: 1px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_product.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* product-detail-content
------------------------------ */
.product-detail-content {
  max-width: 1100px;
  /* product-detail-content__left-wrapper(左ブロック)
  ------------------------------ */
  /* product-detail-content__center-wrapper(センターブロック)
  ------------------------------ */
  /* product-detail-content__right-wrapper(右側ブロック)
  ------------------------------ */
}
@media screen and (min-width: 1024px) {
  .product-detail-content {
    display: grid;
    grid-template-columns: 20% 1fr 25%;
    column-gap: 32px;
  }
}
.product-detail-content__left-wrapper {
  margin-inline: auto;
  margin-block-end: 24px;
  min-width: 200px;
  max-width: 280px;
}
.product-detail-content__left-wrapper img {
  width: 100%;
  position: sticky;
  top: 70px;
}
.product-detail-content__center-wrapper .product-detail-logo {
  width: 216px;
  height: 32px;
  margin-block-end: 8px;
}
.product-detail-content__center-wrapper .product-detail-logo img {
  height: 100%;
  object-fit: contain;
}
.product-detail-content__center-wrapper .product-detail-name {
  font-size: 2.75rem;
  margin-block-end: 8px;
  line-height: 1.2;
}
.product-detail-content__center-wrapper .product-detail-number {
  margin-block-end: 40px;
}
.product-detail-content__center-wrapper .product-detail-subttl {
  font-size: 1.25rem;
  margin-block-end: 32px;
  line-height: 1.6;
}
.product-detail-content__center-wrapper .text-wrapper {
  margin-block-end: 16px;
}
.product-detail-content__center-wrapper .text-wrapper .product-detail-maxpower,
.product-detail-content__center-wrapper .text-wrapper .product-detail-efficiency {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  margin-inline-end: 10%;
  white-space: nowrap;
  line-height: 1.2;
}
.product-detail-content__center-wrapper .text-wrapper .product-detail-maxpower::before,
.product-detail-content__center-wrapper .text-wrapper .product-detail-efficiency::before {
  content: "";
  display: inline-block;
  background: url(images/product-detail/crown.png) no-repeat bottom/contain;
  width: 24px;
  height: 24px;
}
.product-detail-content__center-wrapper .product-detail-featurelist {
  background-color: #ebebeb;
  padding: 16px;
  line-height: 2;
  margin-block-end: 40px;
}
.product-detail-content__center-wrapper .drawer-content {
  display: block;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head {
  position: relative;
  text-align: left;
  color: #333;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 600;
  width: 100%;
  border: transparent;
  background-color: #fff;
  margin-block-end: 16px;
  border-bottom: 1px solid #ebebeb;
  padding-block-end: 8px;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head small {
  font-size: 1rem;
  padding-inline-start: 8px;
  color: blue;
  font-weight: 400;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head::after {
  content: "▼";
  font-size: large;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  transition: transform 0.3s ease;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head:hover {
  color: #ff6600;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head:hover small {
  color: #ff6600;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__body {
  color: #333;
  border: transparent;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  transition: 0.3s;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl01,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl02,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl03,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl04,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl05,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featurettl06 {
  border-left: 8px solid #ff6600;
  padding-left: 8px;
  margin: 16px 0;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 140%;
  letter-spacing: 0.04em;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext01,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext02,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext03,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext04,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext05,
.product-detail-content__center-wrapper .drawer-content .drawer-content__body .product-detail-featuretext06 {
  margin-block-end: 56px;
  letter-spacing: 1px;
  line-height: 1.6;
  font-weight: 400;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__body.is-open {
  height: auto;
  visibility: visible;
  opacity: 1;
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head.is-open::after {
  transform: translateY(-50%) rotate(180deg);
}
.product-detail-content__center-wrapper .drawer-content .drawer-content__head:not(.is-open)::after {
  transform: translateY(-50%) rotate(0deg);
}
.product-detail-content__right-wrapper {
  height: fit-content;
}
.product-detail-content__right-wrapper .right-wrapper-list > p {
  background: #ebebeb;
  padding: 16px 90px;
  white-space: nowrap;
  text-align: center;
}
.product-detail-content__right-wrapper .right-wrapper-list {
  border: 1px solid #ebebeb;
  /* right-wrapper-list__popular
  ------------------------------ */
}
.product-detail-content__right-wrapper .right-wrapper-list__inner {
  font-size: 0.875rem;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner p {
  font-size: 0.875rem;
  font-weight: 700;
  margin: 16px 0;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner a {
  color: blue;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner a:hover {
  color: #ff6600;
  transition: 0.3s ease;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .search-box {
  position: relative;
  display: block;
  border: 1px solid #ddd;
  background-color: #fff;
  border-radius: 2px;
  height: 30px;
  transition: all 0.3s ease;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .search-box:hover {
  border-color: #some Color;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .search-box::before {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 100%;
  background-color: #f5f5f5;
  border-left: 1px solid #ddd;
  right: 0;
  top: 0;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .search-box::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  pointer-events: none;
  background-image: url("images/product-detail/side-bar/up-down.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .search-box::before, .product-detail-content__right-wrapper .right-wrapper-list__inner .search-box::after {
  pointer-events: none;
}
.product-detail-content__right-wrapper .right-wrapper-list__inner .maker-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  text-transform: none;
  border: none;
  display: block;
  width: 100%;
  height: 100%;
  font-size: 13px;
  padding-left: 10px;
  padding-right: 30px;
  background-color: transparent;
  cursor: pointer;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular {
  margin: 16px 0;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular:hover a {
  width: 100%;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular:hover a p {
  color: #ff6600;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular a {
  width: 100%;
  display: flex;
  align-items: flex-start;
  text-decoration: none;
  color: #333;
  justify-content: space-between;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular a p {
  font-size: 0.875rem;
  font-weight: 700;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular a p::after {
  content: "▶";
  display: inline-block;
  margin-left: 8px;
  transition: transform 0.3s ease;
}
.product-detail-content__right-wrapper .right-wrapper-list__popular a img {
  width: 10px;
}
.product-detail-content__right-wrapper .banner-wrapper {
  margin-block-start: 24px;
}
@media screen and (min-width: 768px) {
  .product-detail-content__right-wrapper .banner-wrapper {
    display: flex;
    gap: 40px;
  }
}
.product-detail-content__right-wrapper .banner-box {
  margin: 24px 0;
  width: 100%;
}
.product-detail-content__right-wrapper .banner-box img {
  width: 100%;
  object-fit: contain;
}
.product-detail-content__right-wrapper .banner-box:hover {
  opacity: 0.8;
  filter: brightness(105%);
}

.right-wrapper-list__inner,
.right-wrapper-list__popular {
  padding: 16px 16px 0 16px;
}

.spec-table {
  display: table;
  border-collapse: collapse;
  width: 100%;
}
.spec-table .spec-table-content {
  overflow-x: auto;
  border: 1px solid #ebebeb;
  width: fit-content;
}
.spec-table .spec-table-content .row {
  display: table-row;
}
.spec-table .spec-table-content .row p {
  font-weight: 600;
  background-color: #ebebeb;
}
.spec-table .spec-table-content .row .cell {
  display: table-cell;
  padding: 24px;
  text-align: center;
  line-height: 1.2;
  overflow-x: auto;
  white-space: nowrap;
  width: auto;
  border-bottom: 1px solid #fff;
}
.spec-table .spec-table-content .row .detail {
  border-bottom: 1px solid #ebebeb;
  white-space: nowrap;
}

/* .other-container-ttl
------------------------------ */
.other-container-ttl {
  font-size: 1.25rem;
  font-weight: 700;
  margin: 40px 0 24px 0;
}
.other-container-ttl::after {
  content: "";
  border-bottom: 5px solid #ff6600;
  width: 36px;
  display: block;
  margin-block-start: 8px;
}

/* .other-container
------------------------------ */
.other-container {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  /* .other-container__inner
  ------------------------------ */
}
.other-container__inner {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 250px;
  gap: 20px;
  padding: 16px;
  padding-bottom: 16px;
}
.other-container__inner::-webkit-scrollbar {
  height: 8px;
}
.other-container__inner::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
}
.other-container__inner::-webkit-scrollbar-track {
  background-color: rgba(0, 0, 0, 0.1);
}
.other-container__inner .other__content {
  display: grid;
  grid-template-rows: auto auto 1fr;
  border-radius: 8px;
  background-color: #fff;
  box-shadow: 4px 4px 4px 0px rgba(0, 0, 0, 0.25);
  border: 1px solid #ebebeb;
  padding: 16px;
}
.other-container__inner .other__content:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
.other-container__inner .other__content a {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
}
.other-container__inner .other__content a .maker-logo {
  width: 165px;
  height: 32px;
  min-height: 30px;
  margin-block-end: 16px;
}
.other-container__inner .other__content a .maker-logo img {
  height: 100%;
  object-fit: contain;
}
.other-container__inner .other__content a .product-img {
  margin: auto;
  align-content: center;
  width: 100px;
  height: 160px;
}
.other-container__inner .other__content a .product-img img {
  height: 100%;
  object-fit: contain;
}
.other-container__inner .other__content a .other__content__info {
  line-height: 1.2;
  color: #333;
  font-size: 0.87rem;
  margin-block-start: 16px;
}
.other-container__inner .other__content a .other__content__info .product-model-number {
  white-space: nowrap;
}
.other-container__inner .other__content a .other__content__info .product-spec-power {
  font-size: 16px;
  white-space: nowrap;
  margin-block-start: 8px;
  font-weight: 600;
}
.other-container__inner .other__content a .other__content__type-wrapper {
  gap: 8px;
  color: #fff;
  font-weight: 700;
  display: grid;
  grid-template-rows: 1fr 1fr;
  margin-block-start: 16px;
}
.other-container__inner .other__content a .other__content__type-wrapper .product-type {
  display: inline-block;
  background-color: #ff6600;
  padding: 8px;
}
.other-container__inner .other__content a .other__content__type-wrapper .product-area {
  display: inline-block;
  background-color: #999999;
  padding: 8px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_product.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* product-detail-content
------------------------------ */
.product-detail-content {
  /* product-detail-content__center-wrapper(センターブロック)
  ------------------------------ */
}
.product-detail-content__center-wrapper .type-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: #fff;
  font-weight: 700;
  margin-block-end: 40px;
}
.product-detail-content__center-wrapper .type-wrapper .product-detail-type {
  display: inline-block;
  background-color: #ff6600;
  padding: 8px;
}
.product-detail-content__center-wrapper .type-wrapper .product-detail-area {
  display: inline-block;
  background-color: #999999;
  padding: 8px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_product.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .product-mainvisual
------------------------------ */
.product-mainvisual {
  max-width: 1100px;
  text-align: center;
  margin: 0 auto;
  width: 100%;
}
.product-mainvisual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .tab-container
------------------------------ */
.tab-container .tab-menu button,
.tab-container .tab-submenu button,
.tab-container .manufacturer-group button,
.tab-container .capacity-tabs button {
  padding: 0;
  border: none;
  outline: none;
  font: inherit;
  color: inherit;
  background: none;
}
.tab-container .tab-item,
.tab-container .tab-subitem,
.tab-container .manufacturer-item,
.tab-container .capacity-tab-item {
  cursor: pointer;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}
.tab-container .tab-menu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3px;
  margin-block-end: 40px;
}
.tab-container .tab-menu .tab-item {
  padding: 13px 0 12px;
  background-color: #D3D0D0;
  color: black;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transition: all 0.2s ease-in;
  transition: all 0.2s ease-in;
}
.tab-container .tab-menu .tab-item.is-active {
  background-color: #333;
  color: white;
}
.tab-container .tab-submenu {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 16px;
  gap: 8px;
}
.tab-container .tab-submenu .tab-subitem {
  padding: 12px;
  border: 1px solid currentColor;
  color: black;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.tab-container .manufacturer-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 16px;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .tab-container .manufacturer-tabs {
    grid-template-columns: repeat(4, 1fr);
  }
}
.tab-container .manufacturer-tabs .manufacturer-group {
  grid-column: span 2;
  display: grid;
  grid-template-columns: subgrid;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .tab-container .manufacturer-tabs .manufacturer-group {
    grid-column: span 4;
  }
}
.tab-container .manufacturer-tabs .manufacturer-group .manufacturer-item {
  padding: 16px 3px;
  border: 1px solid currentColor;
  color: black;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.tab-container .tab-subitem:hover {
  background-color: #FF6600 !important;
  color: #fff !important;
}
.tab-container .manufacturer-item:hover {
  background-color: #FF6600 !important;
  color: #fff !important;
}
.tab-container .capacity-tab-item:hover {
  background-color: #FF6600 !important;
  color: #fff !important;
}
.tab-container .tab-subitem.is-active,
.tab-container .manufacturer-item.is-active,
.tab-container .capacity-tab-item.is-active,
.tab-container .tab-panel.is-active {
  background-color: #FF6600 !important;
  color: white !important;
}
.tab-container .capacity-tabs {
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.tab-container .capacity-tabs .capacity-tab-item {
  padding: 16px 3px;
  border: 1px solid currentColor;
  color: black;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}
.tab-container .tab-contents .tab-panel {
  display: none;
}
.tab-container .tab-contents .tab-panel .maker-obi {
  display: block;
  background: #333;
  color: #fff;
  padding: 8px;
  margin-block-end: 16px;
}
.tab-container .tab-contents .tab-panel.is-show {
  display: block;
  margin-block-end: 32px;
}

/* .product-container
------------------------------ */
.product-container {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  column-gap: 16px;
  row-gap: 32px;
  margin-block-start: 40px;
  padding: 18px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 1025px) {
  .product-container {
    grid-template-columns: repeat(4, 1fr);
  }
}
.product-container .product-item {
  position: relative;
  display: grid;
  grid-template-columns: subgrid;
  background-color: #FFF;
}
.product-container .product-item a {
  text-decoration: none;
  color: inherit;
}
.product-container .product-item:hover {
  box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
  transform: translateY(-4px);
  opacity: 0.7;
  cursor: pointer;
}
.product-container .product-item .product-item-inner {
  padding: 16px 24px;
}
.product-container .product-item .product-item-inner .logo-wrapper {
  display: flex;
}
.product-container .product-item .product-item-inner .logo-wrapper .ribon {
  transform: translate(-10px, -16px);
}
.product-container .product-item .product-item-inner .maker-logo {
  margin-block-end: 24px;
  width: 200px;
  height: 32px;
  margin-left: 8px;
}
.product-container .product-item .product-item-inner .maker-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-container .product-item .product-item-inner .product-image {
  width: auto;
  height: 250px;
  margin: 0 auto;
  margin-block-end: 24px;
}
.product-container .product-item .product-item-inner .product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.product-container .product-item .product-item-inner .product-details {
  line-height: 1.2;
}
.product-container .product-item .product-item-inner .product-details .max-power {
  margin-block-start: 8px;
  font-weight: bold;
  font-size: 1rem;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_sorry.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.sorry-inner {
  text-align: center;
}
.sorry-inner .sorry-board {
  width: 100%;
  text-align: center;
  margin-block-start: 80px;
}
.sorry-inner .back-button {
  margin-block-end: 80px;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_cotegory-solar-panel.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* .column-solar
------------------------------ */
.column-solar .columnpage-all {
  text-align: center;
  margin-block-end: 80px;
}
.column-solar .columnpage-area {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2%;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .column-solar .columnpage-area {
    grid-template-columns: repeat(3, 1fr);
  }
}
.column-solar .columnpage-box {
  border: 1px solid #ccc;
  margin-bottom: 20px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.column-solar .columnpage-box:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.column-solar .columnpage-box a {
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  color: #333;
}
.column-solar .columnpage-box img {
  width: 100%;
  height: auto;
}
.column-solar .columnpage-box span {
  font-size: 0.7rem;
  font-weight: bold;
  border: 1px solid #ccc;
  padding: 9px;
  display: inline-block;
  padding: 4px 8px;
  margin: 0 8px 8px;
  width: fit-content;
  color: #999999;
}
.column-solar .columnpage-box h3 {
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.3;
  text-align: justify;
  padding: 8px;
}
@media screen and (min-width: 768px) {
  .column-solar .columnpage-box h3 {
    font-size: 1rem;
  }
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_storage-battery.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*
*	_search.scss 
*
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.search-all h1 {
  width: 100%;
  text-align: center;
  font-size: 2.2rem;
  margin: 30px 0;
  line-height: 1.3;
  color: #333333;
}
.search-all .column-content {
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2%;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .search-all .column-content {
    grid-template-columns: repeat(3, 1fr);
  }
}
.search-all .column-content .column-box {
  border: 1px solid #ccc;
  margin-bottom: 20px;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
}
.search-all .column-content .column-box:hover {
  opacity: 0.8;
  filter: brightness(105%);
}
.search-all .column-content .column-box a {
  display: inherit;
  grid-template-rows: inherit;
  grid-row: inherit;
  color: #333;
}
.search-all .column-content .column-box a h2 {
  font-size: 0.8rem;
  margin: 0;
  line-height: 1.3;
  text-align: justify;
  padding: 8px;
}
@media screen and (min-width: 768px) {
  .search-all .column-content .column-box a h2 {
    font-size: 1rem;
  }
}
.search-all .column-content .column-box a span {
  font-size: 0.7rem;
  font-weight: bold;
  border: 1px solid #ccc;
  padding: 9px;
  display: inline-block;
  padding: 4px 8px;
  margin: 0 8px 8px;
  width: fit-content;
  color: #999999;
}

/*==================== mobile media query =======================*/
:root {
  --text-color-orange: #ff9933;
  --text-color-dark-orange: #ff6600;
  --background-color-orange: #ff9933;
  --background-color-gray: #faf9f8;
  --line-height: 1.8;
  --letter-spacing: 1px;
  --font-size:1.125rem;
  --font-size-subttl:1.6875rem;
  --font-size-ttl:2.5rem;
}

/* デフォルトのスピンボタンを非表示にするCSS */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield; /* Firefoxでスピンボタンを非表示にする */
}

@media (max-width: 820px) {
  .privacy-policy {
    max-width: 90%;
  }
  .company-detail {
    max-width: 90%;
  }
  h1.top-title {
    padding: 20px;
  }
  h1.top-title span {
    display: none;
  }
}
@media (max-width: 768px) {
  .company-main img.pc {
    display: none;
  }
  .company-main img.pc {
    display: none;
  }
  .voice-title {
    display: none;
  }
  h1.top-title {
    text-align: left;
    max-width: 85%;
    padding: 20px;
    font-size: 1.2rem;
  }
}
@media (min-width: 431px) {
  .sp_contact__container {
    display: none;
  }
  .sp {
    display: none;
  }
  .voice-title-sp {
    display: none;
  }
  .introduction-container-sp {
    display: none;
  }
}
@media (max-width: 392px) {
  h1.top-title {
    font-size: 1.1rem;
  }
}
@media (max-width: 375px) {
  h1.top-title {
    font-size: 1rem;
  }
}/*# sourceMappingURL=style.css.map */