@charset "UTF-8";

/*
 Theme Name: BusinessPress Child
 Template: businesspress
*/
@media screen and (min-width: 540px) {}

@media screen and (min-width: 640px) {}

@media screen and (min-width: 782px) {}

@media screen and (min-width: 980px) {}

/* Base
------------------------------------------------------------ */
.content-area {
  margin-bottom: 0;
}

/* Jumbotron */
.jumbotron-content {
  padding-bottom: 4.0rem;
  padding-top: 4.0rem;
}

.subheader {
  margin-bottom: 0;
  letter-spacing: 2px;
  text-indent: 2px;
  line-height: 1.5;
}


.jumbotron-title {
  text-shadow: none;
  letter-spacing: 1px;
  text-indent: 1px;
  font-weight: 400;
}

@media screen and (min-width: 782px) {
  .jumbotron-content {
    padding-bottom: 5.6rem;
    padding-top: 5.6rem;
  }
}

@media screen and (min-width: 980px) {
  .jumbotron-content {
    padding-bottom: 8.0rem;
    padding-top: 8.0rem;
  }
}


/* Header
------------------------------------------------------------ */
.site-header {
  margin-bottom: 24px;
}
/* main-header */
.main-header {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: solid 1px;
}

.main-header {
  border-bottom: none;
}

@media screen and (min-width: 980px) {
  .main-header {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}

/* main-navigation */
.main-navigation a {
  letter-spacing: 2px;
  text-indent: 2px;
  text-transform: uppercase;
}

@media screen and (min-width: 980px) {

  .main-navigation .current_page_item>a,
  .main-navigation .current-menu-item>a {
    font-weight: 400;
  }
}

/* drawer-navigation */
.drawer-navigation .current_page_item>a,
.drawer-navigation .current-menu-item>a {
  font-weight: 400;
}

/* .main-header-clone */
.main-header-clone {
  border-bottom: none;
}

/* site-branding */
@media screen and (min-width: 782px) {
  .site-branding {
    padding-right: 24px;
  }
}
.gm-btn a {
  background-color: rgba(187, 137, 126, 1) !important;
  color: #fff !important;
  padding: 8px 24px 8px !important;
  border-radius: 50px;
}
@media screen and (min-width: 980px) {
.gm-btn a {
  background-color: rgba(187, 137, 126, 1) !important;
  color: #fff !important;
  padding: 0px 24px 2px !important;
  border-radius: 50px;
}
}
@media screen and (min-width: 980px) {
  #menu-item-211 {
    display: none;
  }
}
.drawer-navigation ul li {
    padding-bottom: 0px;
    padding-top: 5px;
    position: relative;
}
@media screen and (max-width: 980px) {
.gm-btn a {
    background-color: rgba(187, 137, 126, 1) !important;
    color: #fff !important;
    padding: 12px 42px 12px !important;
    border-radius: 0px;
}
}
.drawer-navigation {
    
}
/* 固定ページ
------------------------------------------------------------ */
.section {
  padding: 4.8rem 0;
}

@media screen and (min-width: 640px) {
  .section {
    padding: 6.4rem 0;
  }
}

@media screen and (min-width: 782px) {
  .section {
    padding: 9.5rem 0;
  }
}

/* section-title
------------------------------------------------------------ */
.section-title {
  margin-bottom: 4.8rem;
}

/* section-title01 */
.section-title01 {}

.section-title01 p {
  line-height: 1.5;
}

.section-title01 h2 {
  font-weight: 400;
}

@media screen and (min-width: 782px) {

  .top-section-about .section-title01,
  .top-section-works .section-title01 {
    text-align: left;
  }
}

/* section-title02 */
.section-title02 {}

/* section-title03 */
.section-title03 {}

/* 見出し
------------------------------------------------------------ */
/* midashi01 */
.midashi01 {
  margin: 0 auto 4.0rem;
  max-width: 90%;
}

.midashi01 h2,
.midashi01 h3 {
  font-weight: 100;
  line-height: 2.2;
}

@media screen and (min-width: 782px) {
  .midashi01 {
    margin-bottom: 4.8rem;
  }
}

/* midashi02 */
.midashi02 {
  margin-bottom: 0.8rem;
}

.midashi02 h2,
.midashi02 h3 {
  line-height: 1.5;
}


/* TOPページ
------------------------------------------------------------ */
/* TOP メインビジュアル スライダー セクション
------------------------------------------------------------ */
.top-section-mainvisualslider {
  padding: 0;
}

.slider-mainvisual {
  height: calc(100vh - 80.45px);
  /* ヘッダーの高さ + コロナセクションの高さ */
}
.top-section-mainvisualslider .overlay {
  background-color: rgba(0, 0, 0, 0.3);
}
.slider-mainvisual .swiper-slide {
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

.slider-mainvisual .swiper-text {
  bottom: auto;
    top: 40%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  z-index: 4;
  width: 100%;
}

.slider-mainvisual .swiper-text-container {
  margin: 0 auto;
  padding: 2.0rem 0 5.0rem;
  text-align: center;
}

.slider-mainvisual .swiper-text2 {
    bottom: 1%;
    left: 50%;
    -ms-transform: translate(-50%, -1%);
    -webkit-transform: translate(-50%, -1%);
    transform: translate(-50%, -1%);
    text-align: center;
    z-index: 999;
    width: 97%;
  }
  .slider-mainvisual .swiper-text-container2 {
    padding: 0;
    text-align: center;
  }
  .mainvisual-badge-container .flexbox-col4 {
    gap: 0;
  }
  .mainvisual-badge-container .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(0px / 8) * 6));
    flex-basis: calc(calc(100% / 2) - calc(calc(0px / 8) * 6));
  }
  .slider-mainvisual .swiper-text h2,
  .slider-mainvisual .swiper-text p {
    padding: 0 4.0rem;
    color: #fff !important;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  }
  .slider-mainvisual .swiper-text p {
    font-size: 120%;
  }
  .badge-text01 {
    font-size: 10px;
    line-height: 1;
  }
  .badge-text02 {
    font-size: 17px;
    line-height: 1;
    font-weight: bold;
    margin: 7px 0 !important;
  }
   .badge-text02_small {
    font-size: 15px;
   }
  .badge-text03 {
    font-size: 10px;
    line-height: 1;
  }

.slider-mainvisual .swiper-text h2 {
  margin-bottom: 0.8rem;
  padding: 0 2.0rem;
  letter-spacing: 1px;
  line-height: 1.4;
  font-weight: 400;
}

.slider-mainvisual .swiper-text p {
  padding: 0 2.0rem;
}
.slider-mainvisual .swiper-text p.mv-sub {
  line-height: 1.5;
  margin-bottom: 8px;
}
.slider-mainvisual .swiper-text p.mv-price {
  font-size: 120%;
}
.slider-mainvisual .swiper-text p.mv-price span.mv-price-amount {
  font-size: 250%;
  font-family: "Lato", sans-serif;
  padding: 0 5px;
}
.slider-mainvisual .swiper-text p.mv-price2 {
  line-height: .2;
  font-size: 95%;
}
.flex-mainvisual-badge-inner {
  border: solid 1px #fff;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  margin: 4px;
  padding: 16px 8px;
}
.flex-mainvisual-badge-inner p {
  margin-bottom: 0;
}
@media screen and (min-width: 390px) {
.slider-mainvisual {
    //height: calc(100vh - 280px);
    /* ヘッダーの高さ + コロナセクションの高さ */
  }
}
@media screen and (min-width: 540px) {
  .slider-mainvisual {
    height: calc(100vh - 110px);
    /* ヘッダーの高さ + コロナセクションの高さ */
  }
  .slider-mainvisual .swiper-text-container {
    padding: 2.4rem 0;
  }

  .slider-mainvisual .swiper-text h2,
  .slider-mainvisual .swiper-text p {
    padding: 0 2.4rem;
  }
}

@media screen and (min-width: 782px) {
  .slider-mainvisual {
    height: calc(100vh - 141.25px);
    /* ヘッダーの高さ + コロナセクションの高さ */
  }

  .slider-mainvisual .swiper-text-container {
    padding: 3.2rem 0;
  }

  .slider-mainvisual .swiper-text h2,
  .slider-mainvisual .swiper-text p {
    padding: 0 3.2rem;
  }

}

@media screen and (min-width: 980px) {
  .slider-mainvisual {
    height: calc(90vh - 76.05px);
  }
.slider-mainvisual .swiper-text h2 {
  margin-bottom: 0.8rem;
  padding: 0 2.0rem;
  letter-spacing: 3px;
  line-height: 1.3;
  font-weight: 400;
}
  .slider-mainvisual .swiper-text {
    bottom: auto;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    text-align: center;
  }

  .slider-mainvisual .swiper-text-container {
    padding: 1.0rem 0 4.0rem;
    text-align: center;
  }

  .slider-mainvisual .swiper-text2 {
    bottom: 2%;
    left: 50%;
    -ms-transform: translate(-50%, -2%);
    -webkit-transform: translate(-50%, -2%);
    transform: translate(-50%, -2%);
    text-align: center;
    z-index: 999;
    width: 80%;
  }
  .slider-mainvisual .swiper-text-container2 {
    padding: 0;
    text-align: center;
  }
  .flex-mainvisual-badge-inner {
  border: solid 1px #fff;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  text-align: center;
  margin: 4px;
  padding: 20px 8px;
}
  .mainvisual-badge-container .flexbox-col4 {
    gap: 0;
  }
  .mainvisual-badge-container .flexbox-col4 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 4) - calc(calc(0px / 8) * 6));
    flex-basis: calc(calc(100% / 4) - calc(calc(0px / 8) * 6));
  }
  .slider-mainvisual .swiper-text h2,
  .slider-mainvisual .swiper-text p {
    padding: 0 4.0rem;
    color: #fff !important;
    text-shadow: 1px 2px 2px rgba(0, 0, 0, 0.4);
  }
  .badge-text01 {
    font-size: 15px;
    line-height: 1;
  }
  .badge-text02 {
    font-size: 20px;
    line-height: 1;
    font-weight: bold;
    margin: 11px 0 !important;
  }
  .badge-text02_small {
    font-size: 17px;
   }
  .badge-text03 {
    font-size: 13px;
    line-height: 1;
  }
}
.swiper-pagination {
  display: none;
}
@media screen and (min-width: 1300px) {
  .slider-mainvisual .swiper-text2 {
    bottom: 2%;
    left: 50%;
    -ms-transform: translate(-50%, -2%);
    -webkit-transform: translate(-50%, -2%);
    transform: translate(-50%, -2%);
    text-align: center;
    z-index: 999;
    width: 90%;
  }
  .badge-text01 {
    font-size: 16px;
    line-height: 1;
  }
  .badge-text02 {
    font-size: 25px;
    line-height: 1;
    font-weight: bold;
    margin: 11px 0 !important;
  }
  .badge-text02_small {
    font-size: 25px;
   }
}
/* =========================================
   LIFE X TOP メインビジュアル用 CSS 完全版
   ========================================= */

/* 白フラッシュ防止：下地を黒で統一 */
.top-section-mainvisualslider,
.slider-mainvisual,
.slider-mainvisual .swiper-slide {
  background-color: #000;
}

/* スライダー本体 */
.slider-mainvisual {
  position: relative;
  overflow: hidden;
}

/* 各スライド：はみ出し防止 */
.slider-mainvisual .swiper-slide {
  position: relative;
  overflow: hidden;
}

/* 追加したズーム用レイヤー */
.slider-mainvisual .zoom-layer {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;

  /* ズームアウトの起点（少し寄り気味） */
  transform: scale(1.12);

  /* クリック等はスルー */
  pointer-events: none;

  /* GPUに乗せるヒント */
  will-change: transform;
}

/* ズームアウト中の状態（ここだけがアニメーションを持つ） */
.slider-mainvisual .zoom-layer.is-zooming {
  animation: lifexZoomOut 8s linear forwards;
}

/* ズームアウト（寄り → 引き） */
@keyframes lifexZoomOut {
  0% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1.00);
  }
}


/* TOP  コロナセクション
------------------------------------------------------------ */
.top-section-covid19 {
  padding: 2.4rem 0;
}


/* TOP  お知らせセクション
------------------------------------------------------------ */
.top-section-news ul {
  margin: 0 auto;
  list-style: none;
}

.top-section-news ul li {
  margin-bottom: 1.6rem;
  padding-bottom: 1.2rem;
  border-bottom: solid 1px rgba(83, 83, 83, 1);
}

.top-section-news ul li:last-of-type {
  margin-bottom: 0;
}

.top-section-news ul .cat-links {
  margin: 0 0 0.4rem 0.4rem;
  display: inline-block;
}

.top-section-news ul .cat-links a {
  padding: 0 0.4rem;
  display: inline-block;
  min-width: calc(72px - 8px);
  /* 左右のpadding */
  text-align: center;
}

@media screen and (min-width: 640px) {
  .top-section-news ul .cat-links {
    margin: 0 0.4rem 0 0.4rem;
  }

  .top-section-news ul .entry-title {
    display: inline-block;
  }
}

/* 固定 共通
------------------------------------------------------------ */
body.page {
  background-color: #fff;
  /*background: #232526;
    background: -webkit-linear-gradient(to right, #414345, #232526);
    background: linear-gradient(to right, #414345, #232526);*/
}
body.page .breadcrumbs,
body.page .breadcrumbs a {
  color: #333;
  padding-bottom: 8px;
}
body.page .section-title01 p::first-letter,
body.page .subheader::first-letter,
body.page .midashi02 h2::first-letter,
body.page .midashi02 h3::first-letter {
  font-size: 100%;
  color: #333;
}
body.page .section-title01 p,
body.page .section-title01 h2,
body.page .section-title01 h3,
body.page .subheader,
body.page .midashi02 h2,
body.page .midashi02 h3 {
  color: #333;
}

body.page .section-title01 p {
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
  opacity: .7;
}
body.page .section-title01 p.page-section-concept-p {
  font-size: 100%;
  font-weight: 400;
  letter-spacing: 0px;
  text-transform: uppercase;
  line-height: 1.8;
}
body.page .section-title01 h2 {
  font-size: 200%;
  font-weight: bold;
  letter-spacing: 0px;
  margin: 8px 0px 24px;
}
body.page .section-title01 h3 {
  font-size: 110%;
  font-weight: 400;
}
body.home .section-title01 p {
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
  opacity: 1;
}
@media screen and (max-width: 640px) {
body.page .section-title01 h2 {
  font-size: 180%;
  font-weight: bold;
  letter-spacing: 0px;
  margin: 8px 0px 24px;
}
}
/* TOP  共通セクション
------------------------------------------------------------ */
body.home .section-title01 p::first-letter,
body.home .subheader::first-letter,
body.home .midashi02 h2::first-letter,
body.home .midashi02 h3::first-letter {
  font-size: 100%;
  color: #fff;
}
body.home .breadcrumbs,
body.home .breadcrumbs a {
  color: #fff;
}
body.home .section-title01 p::first-letter,
body.home .subheader::first-letter,
body.home .midashi02 h2::first-letter,
body.home .midashi02 h3::first-letter {
  font-size: 100%;
  color: #fff;
}
body.home .section-title01 p,
body.home .section-title01 h2,
body.home .section-title01 h3,
body.home .subheader,
body.home .midashi02 h2,
body.home .midashi02 h3 {
  color: #fff;
}
body.home .section-title01 p {
  font-size: 350%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
}
body.home .section-title01 h2 {
  font-size: 130%;
  margin: 0px 0px 24px;
}
.top-section-about a.btn,
.top-section-point a.btn,
.top-section-performance a.btn,
.top-section-spec a.btn {
  padding: 2rem 0rem;
  width: 50%;
}
@media screen and (max-width: 781px) {
  .top-section-about a.btn,
.top-section-point a.btn,
.top-section-performance a.btn,
.top-section-spec a.btn {
  padding: 2rem 0rem;
  width: 100%;
}
}
/*a.btn {
background: #CB356B;  
background: -webkit-linear-gradient(to right, #BD3F32, #CB356B);  
background: linear-gradient(to right, #BD3F32, #CB356B); 
}*/
.top-section-point,
.top-section-spec,
.top-section-news {
  background: #232526;  /* fallback for old browsers */
background: -webkit-linear-gradient(to right, #414345, #232526);  /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #414345, #232526); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */

}

/* フッター */
.section-bgimage,
.section-sns,
footer .site-bottom {
  background: #232526;  /* fallback for old browsers */
background: -webkit-linear-gradient(to right, #414345, #232526);  /* Chrome 10-25, Safari 5.1-6 */
background: linear-gradient(to right, #414345, #232526);
}
.site-bottom {
  border-top: none;
}
.section-sns ul,
.site-credit {
  display: none !important;
}
.section-sns {
  padding: 7.5rem 0 1.5rem;
}
.section-sns .bg-logo {
    margin: 0 auto 0rem !important;
    max-width: 200px;
}
.section-sns .bg-logo .aspect-bgimage {
  padding-top: 40%;
}
.site-bottom {
  padding-top: 16px;
}
/* TOP  aboutセクション
------------------------------------------------------------ */
@media screen and (min-width: 980px) {
.top-section-about h3 {
  font-size: 180%;
}
}
.top-section-about .section-title01 p,
.top-section-about .section-title01 h2,
.top-section-about .flex-item h3,
.top-section-about .flex-item p {
  color: #333 !important;
}
.top-section-about .section-title01 p::first-letter,
.top-section-about .subheader::first-letter,
.top-section-about .midashi02 h2::first-letter,
.top-section-about .midashi02 h3::first-letter {
  color: #333 !important;
}
.top-section-about {
  background-color: #fff !important;
}
.top-section-about a.btn {
  border: solid 1px rgba(187, 137, 126, 1);
}
body.home .top-section-about .section-title {
  margin-bottom: 8px;
  margin-top: 16px;
}
body.home .top-section-about p {
  margin-bottom: 5px;
  font-size: 105%;
}
body.home .top-section-about .section-title01 p {
  font-size: 190%;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: inherit;
}
body.home .top-section-about h3 {
  font-size: 160%;
  text-align: center;
}
.top-section-about .align-right {
  text-align: center !important;
}
@media screen and (min-width: 782px) {
body.home .top-section-about .section-title01 p {
  font-size: 220%;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: inherit;
}
body.home .top-section-about h3 {
  font-size: 160%;
  text-align: left;
}
body.home .top-section-about .section-title {
  margin-bottom: 16px;
}
.top-section-about .align-right {
  text-align: right !important;
}
}
/* TOP  5つのポイント
------------------------------------------------------------ */
/* セクション */
.top-section-point {
  padding: 80px 0 35px;
}
.top-section-point .section-title {
  margin-bottom: 16px;
}
body.home .top-section-point .section-title01 p {
  font-size: 220%;
  font-weight: 400;
  letter-spacing: 1px;
}
.top-section-point .section-container {
  padding: 40px 0 60px;
}
body.home .top-section-point .section-title01 p {
  font-weight: 200;
}
body.home .top-section-point .section-title01 h2 {
  font-size: 130%;
  margin: 16px 0px 24px;
}
.top-section-point .section-title01 h3 {
  font-weight: 400;
}
.top-section-point .hex-item p {
  color: rgba(45, 45, 45, 1);
}
.top-section-point a.btn {
  min-width: calc(240px - 48px);
}

.flex-item-top-section-point-text {
  margin: 16px 0px;
}
.flex-item-top-section-point-text h4 {
  margin-bottom: 8px;
}
.flex-item-top-section-point-text p {
  margin-bottom: 0px;
}
@media screen and (min-width: 980px) {
  .top-section-point {
  padding: 140px 0 100px;
}
  .top-section-point a.btn {
  min-width: calc(360px - 48px);
}
body.home .top-section-point .section-title01 h2 {
  font-size: 130%;
  margin: 0px 0px 24px;
}
}
.top-section-point .flexbox {
  justify-content: center;
}
@media screen and (min-width: 980px) {
  .top-section-point .flexbox {
    gap: 2.0rem;
    justify-content: center;
  }
}

@media screen and (min-width: 980px) {
  .top-section-point .section-title01 h2 {
    font-size: 220%;
  }
  .top-section-point .section-title01 h3 {
    font-size: 100%;
  }
  body.home .top-section-point .section-title01 h2 {
    font-size: 130%;
    font-weight: 400;
    margin: 18px 0px 0px;
  }
}
@media (max-width: 767px) {
  .top-section-point .section-container {
    padding: 10px 0 40px;
  }
}
.flex-item-top-section-point {
  text-align: center;
}

/*.top-section-point .hex-item p.hex-text {
  color: #BB897E;
}

.top-section-point .hex-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 20px; 
  max-width: 1120px;
  margin: 0 auto;
}


.top-section-point .hex-item {
  width: 320px;
  position: relative;
}


.top-section-point .hex-item:nth-child(4),
.top-section-point .hex-item:nth-child(5) {
  margin-top: -20px; 
}


.top-section-point .hex-shape {
  position: relative;
  width: 100%;
  height: 195px;       
  background-color: #F7F7F7;
  margin: 40px 0;
  padding: 40px 20px;   
  box-sizing: border-box;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}


.top-section-point .hex-shape::before,
.top-section-point .hex-shape::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 0;
  border-left: 160px solid transparent;
  border-right: 160px solid transparent;
}

.top-section-point .hex-shape::before {
  bottom: 100%;
  border-bottom: 72px solid #F7F7F7;  
}

.top-section-point .hex-shape::after {
  top: 100%;
  border-top: 72px solid #F7F7F7;
}


.top-section-point .hex-num {
  font-size: 30px;
  font-weight: 500;
  margin-bottom: 15px;
}

.top-section-point .hex-text {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  text-align: center;
  font-weight: bold;
}

@media screen and (min-width: 980px) {
    .top-section-point .section-title01 h2 {
        font-size: 220%;
    }
    .top-section-point .section-title01 h3 {
        font-size: 100%;
    }
    body.home .top-section-point .section-title01 h2 {
  font-size: 200%;
  font-weight: 400;
  margin: 25px 0px 20px;
}
}

@media (max-width: 767px) {
  .top-section-point .section-container {
    padding: 30px 0 40px;
  }

  .top-section-point .hex-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: center;
    gap: 25px 15px;
  }

  .top-section-point .hex-item {
    width: 200px;
  }

  .top-section-point .hex-shape {
    height: 165px;
    margin: 30px 0;
    padding: 28px 15px;
  }

  .top-section-point .hex-shape::before,
  .top-section-point .hex-shape::after {
    border-left: 100px solid transparent;
    border-right: 100px solid transparent;
  }

  .top-section-point .hex-shape::before {
    border-bottom: 50px solid #F7F7F7;
  }

  .top-section-point .hex-shape::after {
    border-top: 50px solid #F7F7F7;
  }


  .top-section-point .hex-item:nth-child(4),
  .top-section-point .hex-item:nth-child(5) {
    margin-top: 0;
  }


  .top-section-point .hex-item:nth-child(1) { grid-column: 1; grid-row: 1; }
  .top-section-point .hex-item:nth-child(2) { grid-column: 2; grid-row: 1; }
  .top-section-point .hex-item:nth-child(3) { grid-column: 1 / 3; grid-row: 2; }
  .top-section-point .hex-item:nth-child(4) { grid-column: 1; grid-row: 3; }
  .top-section-point .hex-item:nth-child(5) { grid-column: 2; grid-row: 3; }
}*/

/* TOP  住宅性能セクション
------------------------------------------------------------ */
.top-section-performance {
    padding: 7.8rem 0;
}
@media screen and (min-width: 782px) {
    .top-section-performance {
        padding: 9.5rem 0;
    }
}
body.home .top-section-performance .section-title01 p {
font-size: 280%;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
}
@media screen and (min-width: 782px) {
body.home .top-section-performance .section-title01 p {
    font-size: 350%;
    font-weight: 400;
    letter-spacing: 10px;
    text-transform: uppercase;
}
}
.top-section-performance .section-title {
    margin-bottom: 2.8rem;
}
.top-section-performance .section-container {
  margin-top: 10px;
}
@media screen and (min-width: 781px) {
  .top-section-performance .section-title {
    margin-bottom: 4.8rem;
}
.top-section-performance .section-container {
  margin-top: 40px;
}
}
.top-section-performance .section-title01 h3 {
        font-weight: 400;
    }
.flex-top-section-performance,
.flex-top-section-performance2 {
  text-align: center;
  gap: 0;
  margin: 0;
  padding: 24px 0;
}
.flex-top-section-performance {
  border-bottom: none;
}
.flex-item-top-section-performance,
.flex-item-top-section-performance2 {
  padding: 16px 0;
}
.flex-item-top-section-performance h4,
.flex-item-top-section-performance2 h4 {
  margin-bottom: 8px;
  font-size: 140%;
}
.flex-item-top-section-performance p,
.flex-item-top-section-performance2 p {
  margin-bottom: 0px;
}
@media screen and (min-width: 781px) {
  .flex-item-top-section-performance01 {
    border-right: solid 1px #fff;
  }
  .flex-item-top-section-performance04 {
    border-left: solid 1px #fff;
    border-right: solid 1px #fff;
  }
  .flex-top-section-performance {
  border-bottom: solid 1px #fff;
}
}
@media screen and (min-width: 980px) {
    .flex-top-section-performance .flex-item {
        -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(0px / 4) * 2));
        flex-basis: calc(calc(100% / 2) - calc(calc(0px / 4) * 2));
    }
}
@media screen and (min-width: 980px) {
    .top-section-performance .section-title01 h2 {
        font-size: 220%;
    }
    .top-section-performance .section-title01 h3 {
        font-size: 100%;
    }
}
.top-section-performance .top-section-performance-pc-block {
  display: none !important;
}
.top-section-performance .top-section-performance-sp-block {
  display: block !important;
}
@media screen and (min-width: 781px) {
.top-section-performance .top-section-performance-pc-block {
  display: block !important;
}
.top-section-performance .top-section-performance-sp-block {
  display: none !important;
}
}
.top-section-performance .top-section-performance-sp-block .top-section-performance-sp-inner {
    padding: 17px 16px;
    margin: 2px 0;
    border-bottom: solid 1px #fff;
}
.top-section-performance .top-section-performance-sp-block .top-section-performance-sp-inner h2 {
  margin-bottom: 0px;
  padding-bottom: 2px;
}
.top-section-performance .top-section-performance-sp-block .top-section-performance-sp-inner h2 span {
  background-color: #fff;
  color: #333;
  padding: 10px;
  margin-right: 10px;
}
.top-section-performance .top-section-performance-sp-block .top-section-performance-sp-inner p {
  margin-bottom: 0;
  font-size: 14px;
}
/* TOP  標準仕様セクション
------------------------------------------------------------ */
.top-section-spec {
    padding: 7.8rem 0;
}
@media screen and (min-width: 782px) {
    .top-section-spec {
        padding: 9.5rem 0;
    }
}
body.home .top-section-spec .section-title01 p {
font-size: 280%;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
}
@media screen and (min-width: 782px) {
body.home .top-section-spec .section-title01 p {
    font-size: 350%;
    font-weight: 400;
    letter-spacing: 10px;
    text-transform: uppercase;
}
}
.top-section-spec .overlay {
  background-color: rgba(0, 0, 0, 0);
}
.top-section-spec .flexbox {
  gap: 0.4rem;
}
.top-section-spec .flex-inversion,
.top-section-spec .flex-margin-top {
  margin-top: 55px;
}
@media screen and (min-width: 782px) {
.top-section-spec .flex-inversion,
.top-section-spec .flex-margin-top {
  margin-top: 32px;
}
.top-section-spec .flexbox {
  gap: 2.4rem;
}
}
.top-section-spec span {
  opacity: .8;
  font-weight: 200;
  font-size: 28px;
  display: block;
  margin-bottom: 2px;
}
.top-section-spec h3 {
  font-size: 145%;
  margin-bottom: 8px;
}
@media screen and (min-width: 782px) {
  .top-section-spec h3 {
  font-size: 120%;
  margin-bottom: 16px;
}
  .top-section-spec .flex-inversion .flex-item:first-of-type {
    -webkit-order: 2;
    order: 2;
  }

  .top-section-spec .flex-inversion .flex-item:last-of-type {
    -webkit-order: 1;
    order: 1;
  }
}
@media screen and (min-width: 980px) {
    .top-section-spec h3 {
        font-size: 160%;
    }
}

/* TOP  MODEL HOUSEセクション
------------------------------------------------------------ */
.top-section-youtube {
    padding: 7.8rem 0;
}
@media screen and (min-width: 782px) {
    .top-section-youtube {
        padding: 9.5rem 0;
    }
}
.top-section-youtube .section-title {
  margin-bottom: 2rem;
}
@media screen and (min-width: 782px) {
.top-section-youtube .section-title {
  margin-bottom: 4.8rem;
}
}
body.home .top-section-youtube .section-title01 h2 {
    font-size: 140%;
    margin: 0px 0px 16px;
}
body.home .top-section-youtube .section-title01 h3 {
    font-size: 100%;
    line-height: 1.6;
}
body.home .top-section-youtube .section-title01 p {
font-size: 280%;
    font-weight: 400;
    letter-spacing: 5px;
    text-transform: uppercase;
}
@media screen and (min-width: 782px) {
body.home .top-section-youtube .section-title01 p {
    font-size: 350%;
    font-weight: 400;
    letter-spacing: 10px;
    text-transform: uppercase;
}
}
.top-section-youtube h3,
.top-section-youtube h4,
.top-section-youtube p {
  color: #333 !important;
}
.top-section-youtube a {
  margin: 5px 0px;
  text-align: center;
  display: block;
  text-decoration: none;
}
.top-section-youtube p {
  text-align: center;
  margin-bottom: 5px;
}
@media screen and (min-width: 782px) {
    body .top-section-youtube .flex-base01 .flex-item {
        -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
        flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    }
}
.flex-item-top-section-youtube a img {
  display: block;
  box-shadow: 0 10px 10px -5px rgba(0, 0, 0, 0.25);
  transform: translateY(-4px);
  transition: .3s;
}
.flex-item-top-section-youtube a img:hover {
      box-shadow: none;
    transform: translateY(0);
}
/* TOP  ボタンセクション
------------------------------------------------------------ */
.top-section-btn {
  background-image: url(https://lifex-house.jp/wp-content/uploads/2025/11/lifex-004.jpg);
  background-repeat: no-repeat;
    background-position: 50% 60%;
    background-size: cover;
    padding: 80px 0px;
}
.top-section-btn .overlay {
    position: absolute;
    margin: 0;
    padding: 0;
    top: 50%;
    left: 50%;
    -ms-transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 2;
}
.top-section-btn-inner {
  z-index: 10;
  position: relative;
  text-align: center;
}
.top-section-btn h2 {
    font-size: 270%;
    margin-bottom: 8px;
    font-family: "Lato", sans-serif;
    letter-spacing: 10px;
    font-weight: 400;
    text-transform: uppercase;
}
@media screen and (min-width: 782px) {
.top-section-btn h2 {
    font-size: 340%;
    margin-bottom: 8px;
    font-family: "Lato", sans-serif;
}
}
.top-section-btn p {
  margin-bottom: 0;
}
.top-section-btn a {
  font-size: 110%;
  margin: 2.5rem 0 0;
    padding: 2rem 0rem;
    position: relative;
    display: inline-block;
    width: 100%;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
    background-color: rgba(187, 137, 126, 1);
    color: #fff;
    border: solid 1px rgba(187, 137, 126, 1);
}
.top-section-btn a:hover {
  background-color: #fff;
    color: rgba(187, 137, 126, 1);
    border: solid 1px rgba(187, 137, 126, 1);
}
@media screen and (min-width: 782px) {
  .top-section-btn a {
  font-size: 120%;
  margin: 2.5rem 0 0;
    padding: 3.2rem 2.4rem;
    position: relative;
    display: inline-block;
    width: 50%;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 6px;
    background-color: rgba(187, 137, 126, 1);
    color: #fff;
    border: solid 1px rgba(187, 137, 126, 1);
}
.top-section-btn {
  background-image: url(https://lifex-house.jp/wp-content/uploads/2025/11/lifex-004.jpg);
  background-repeat: no-repeat;
    background-position: 50% 60%;
    background-size: cover;
    padding: 150px 0px;
}
}
/* TOP  NEWSセクション
------------------------------------------------------------ */
.top-section-news {
    padding: 7.8rem 0;
}
@media screen and (min-width: 782px) {
    .top-section-news {
        padding: 9.5rem 0;
    }
}
.top-section-news .section-title {
  margin-bottom: 16px;
}
body.home .top-section-news .section-title01 p {
font-size: 250%;
    font-weight: 400;
    letter-spacing: 10px;
    text-transform: uppercase;
}
@media screen and (min-width: 782px) {
body.home .top-section-news .section-title01 p {
    font-size: 350%;
    font-weight: 400;
    letter-spacing: 10px;
    text-transform: uppercase;
}
}
.top-section-news a.btn {
  margin-top: 16px;
  border: none;
  color: #fff;
  background-color: transparent;
  box-shadow: none;
  padding: 1.6rem 0em 1.6rem 2.4rem;
  text-align: right;
}
/* TOP  工房セクション
------------------------------------------------------------ */
.flex-base01-child {
  gap: 0.8rem;
}

.flex-item-child {
  margin: 0;
}

.flex-base01-child .flex-item-child {
  -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
  flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
}

.flex-base01-child .flex-item-child:first-of-type {
  -webkit-flex-basis: 100%;
  flex-basis: 100%;
}

.flex-base01-child .flex-item-child .aspect-bgimage {
  padding-top: 100%;
}

.flex-base01-child .flex-item-child:first-of-type .aspect-bgimage {
  padding-top: calc(70% - 4px);
}

@media screen and (min-width: 980px) {
  .flex-base01 {
    -webkit-align-items: center;
    align-items: center;
  }
}

/* TOP  施工事例セクション
------------------------------------------------------------ */
@media screen and (min-width: 782px) {
.top-section-works .section-title01 {
        text-align: center;
    }
}
.top-section-works .section-title01 p,
.top-section-works .section-title01 h2,
.top-section-works .flex-item h3,
.top-section-works .flex-item p {
  color: #333 !important;
}
.top-section-works .section-title01 p::first-letter,
.top-section-works .subheader::first-letter,
.top-section-works .midashi02 h2::first-letter,
.top-section-works .midashi02 h3::first-letter {
  color: #333 !important;
}
.top-section-works {
  background-color: transparent !important;
}


/* TOP  作家セクション
------------------------------------------------------------ */
@media screen and (min-width: 782px) {
  .top-section-profile .flex-base01 .flex-item:first-of-type {
    -webkit-order: 2;
    order: 2;
  }

  .top-section-profile .flex-base01 .flex-item:last-of-type {
    -webkit-order: 1;
    order: 1;
  }
}

/* TOP  作品セクション
------------------------------------------------------------ */
.top-section-works .flex-base01 {
  gap: 0.8rem;
}

@media screen and (min-width: 782px) {
  .top-section-works .flex-base01 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
  }

  .top-section-works .flex-base01 .flex-item:last-of-type .flex-base01-child .flex-item-child:nth-of-type(1) {
    -webkit-order: 3;
    order: 3;
  }

  .top-section-works .flex-base01 .flex-item:last-of-type .flex-base01-child .flex-item-child:nth-of-type(2) {
    -webkit-order: 1;
    order: 1;
  }

  .top-section-works .flex-base01 .flex-item:last-of-type .flex-base01-child .flex-item-child:nth-of-type(3) {
    -webkit-order: 2;
    order: 2;
  }
}

/* 固定ページ 共通見出し*/
/* =========================================
   section-title-new01
   ========================================= */
.section-title-new01 {
  margin-bottom: 34px;
}

.section-title-new01-inner {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}

/* 英字（大きい背景文字） */
.section-title-new01-en {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 74px;
  line-height: 0.9;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  color: rgba(0, 0, 0, 0.06);
  pointer-events: none;
}

/* 日本語見出しブロック */
.section-title-new01-main {
  position: relative;
  z-index: 1;
  color: #333;
  /* ★ ここで日本語ブロックを英字から右へ“ずらす” */
  margin-left: 46px; /* ← 調整ポイント（推奨120〜160px） */
  margin-top: 18px;   /* 英字と少し上下にずらす */
}
.section-title-new01-main h2 {
  color: #333;
}
/* 日本語タイトル */
.section-title-new01-ja {
  font-size: 38px;
  font-weight: bold;
  margin: 0 0 5px;
  line-height: 1.6;
}

/* サブテキスト */
.section-title-new01-text {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

/* =========================================
   section-title-new01
   ========================================= */
.section-title-new02 {
  margin-bottom: 34px;
}

.section-title-new02-inner {
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
}

/* 英字（大きい背景文字） */
.section-title-new02-en {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 74px;
  line-height: 0.9;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
}

/* 日本語見出しブロック */
.section-title-new02-main {
  position: relative;
  z-index: 1;
  color: #fff;
  /* ★ ここで日本語ブロックを英字から右へ“ずらす” */
  margin-left: 46px; /* ← 調整ポイント（推奨120〜160px） */
  margin-top: 18px;   /* 英字と少し上下にずらす */
}
.section-title-new02-main h2 {
  color: #fff;
}
/* 日本語タイトル */
.section-title-new02-ja {
  font-size: 38px;
  font-weight: bold;
  margin: 0 0 5px;
  line-height: 1.6;
}

/* サブテキスト */
.section-title-new02-text {
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}
@media screen and (max-width: 768px) {
  #performance-spec .section-title-new02 {
    margin-bottom: 8px;
  }
.section-title-new02-en {
  position: absolute;
  top: 0;
  left: 0;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-size: 28px;
  line-height: 1.2;
  letter-spacing: 0.08em;
  text-transform: capitalize;
  color: rgba(255, 255, 255, 0.2);
  pointer-events: none;
}
.section-title-new02-main {
  position: relative;
  z-index: 1;
  color: #fff;
  /* ★ ここで日本語ブロックを英字から右へ“ずらす” */
  margin-left: 0px; /* ← 調整ポイント（推奨120〜160px） */
  margin-top: -5px;   /* 英字と少し上下にずらす */
}
.section-title-new02-ja {
  font-size: 30px;
  font-weight: bold;
  margin: 0 0 5px;
  line-height: 1.6;
}
.section-title-new02-text {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
}

/* -------------------------
   SP レスポンシブ
   ------------------------- */
@media screen and (max-width: 768px) {

  .section-title-new01 {
    margin-bottom: 8px;
  }

  .section-title-new01-en {
    font-size: 37px;
    top: -4px;
  }

  .section-title-new01-main {
    margin-left: 0;   /* SPは中央寄せ or 左詰めで読みやすく */
    margin-top: -6px;
  }

  .section-title-new01-ja {
    font-size: 28px;
  }

  .section-title-new01-text {
    font-size: 14px;
  }
}

/* 固定 コンセプト
------------------------------------------------------------ */
/*01ブロック*/
.page-section-concept01 {
  padding-top: 0rem;
}
.page-section-concept01 .section-title {
    margin-bottom: 2.8rem;
}
body.page .page-section-concept01 .section-title01 h2 {
    font-size: 170%;
    font-weight: bold;
    letter-spacing: 0px;
    margin: 8px 0px 24px;
}
body.page .page-section-concept01 .section-title01 h3 {
  margin-bottom: 24px;
  font-size: 100%;
  line-height: 1.9;
  text-align: left;
}
body .page-section-concept01 .section-title01 p {
  font-size: 180%;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: inherit;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .page-section-concept01 {
  padding-top: 5.5rem;
}
body .page-section-concept01 .section-title01 p {
  font-size: 220%;
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: inherit;
}
body.page .page-section-concept01 .section-title01 h2 {
    font-size: 200%;
    font-weight: bold;
    letter-spacing: 0px;
    margin: 8px 0px 24px;
}
body.page .page-section-concept01 .section-title01 h3 {
  margin-bottom: 24px;
  font-size: 100%;
  line-height: 1.9;
  text-align: center;
}
.page-section-concept01 .section-title {
    margin-bottom: 5.8rem;
}
}
.page-section-concept01 .flex-page-section-concept h2 {
  font-size: 130%;
  margin-bottom: 16px;
  color: #333;
}
.page-section-concept01 .flex-page-section-concept {
  margin: 0px 0 32px;
  color: #333;
}
/* 見出し：番号を四角で囲んだデザイン */
.concept-block-heading {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  line-height: 1.6;
}

/* 「04」部分のボックス */
.concept-block-num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;             /* ボックス幅 */
  height: 95px;            /* ボックス高さ */
  border-right: 1px solid #333;  /* 枠線：白 */
  color: #333;
  font-weight: 400;
  letter-spacing: 0.08em;
  box-sizing: border-box;
}

/* タイトルテキスト部分 */
.concept-block-title {
  display: inline-block;
  font-weight: bold;
  color: #333;
  margin-top: 0px;
}

/* SP調整 */
@media screen and (max-width: 767px) {
  .concept-block-heading {
    align-items: flex-start;
    gap: 10px;
  }
.concept-block-title {
  margin-top: 3px;
}
.concept-block-num {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;             /* ボックス幅 */
  height: 66px;            /* ボックス高さ */
  border-right: 1px solid #333;  /* 枠線：白 */
  color: #333;
  font-weight: 400;
  letter-spacing: 0.08em;
  box-sizing: border-box;
}
  /*.concept-block-num {
    width: 40px;
    height: 28px;
    font-size: 13px;
  }

  .concept-block-title {
    font-size: 16px;
    line-height: 1.5;
  }*/
}
@media screen and (min-width: 980px) {
.page-section-concept01 .flex-page-section-concept .aspect-bgimage {
  padding-top: 70%;
}
.page-section-concept01 .flex-page-section-concept h2 {
  margin-top: 25px;
}
}
/*02ブロック*/
.page-section-concept02 {
  background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);
  padding-top: 100px;
  padding-bottom: 100px;
}
body.page .page-section-concept02 .section-title01 p {
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
}
body.page .page-section-concept02 .section-title01 p::first-letter {
  font-size: 100%;
  color: rgba(255, 255, 255, 1);
}
body.page .page-section-concept02 .section-title01 p,
body.page .page-section-concept02 .section-title01 h2,
body.page .page-section-concept02 .section-title01 h3 {
  color: rgba(255, 255, 255, 1);
}
body.page .page-section-concept02 .section-title01 h2 {
  font-size: 200%;
  margin: 8px 0px 0px;
}
@media screen and (max-width: 767px) {
  body.page .page-section-concept02 .section-title01 h2 {
  font-size: 185%;
  margin: 8px 0px 0px;
}
}
/* セクション全体の背景 */
.page-section-concept02 {
  background-color: #fff;
}

/* タイトル＋枠全体のラッパー */
.concept02-block {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  padding-top: 40px; /* タイトルがはみ出す分の余白 */
}

/* section-title 既定の余白を消す */
.page-section-concept02 .section-title01 {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* タイトルを枠線に“固定”して被せる */
.concept02-title-block {
  position: absolute;
  left: 50%;
  top: 40px;                   /* 枠の上辺の高さと合わせる基準位置 */
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  z-index: 3;
}



.concept02-title-heading {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background-color: transparent;
  padding: 4px 24px 0;
  font-size: 28px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #fff;
}

/* Xアイコン */
.concept02-title-icon {
  width: 32px;
  height: auto;
  display: block;
}

/* 枠ボックス本体 */
.concept02-frame {
  border: 0px solid #fff;
  background-color: transparent;
  padding: 80px 70px 60px;
  box-sizing: border-box;
}
@media screen and (min-width: 782px) {
.concept02-frame {
  border: 2px solid #fff;
  background-color: transparent;
  padding: 80px 70px 60px;
  box-sizing: border-box;
}
}
/* 各項目（左に大きな番号） */
.concept02-item {
  position: relative;
  padding-left: 48px;
}

/* 2つ目のブロックのセパレーター */
.concept02-item + .concept02-item {
  margin-top: 90px;
  padding-top: 0px;
}

/* 大きな薄い番号 */
.concept02-num {
  position: absolute;
  left: 0;
  top: -20px;                 /* JP見出しに少し被る位置 */
  font-size: 100px;
  font-weight: 300;
  line-height: 1;
  color: rgba(255, 255, 255, 0.1);
  z-index: 1;
  pointer-events: none;
}

/* 見出し行（日本語＋英語） */
.concept02-heading-row {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 10px;
  border-bottom: solid 1px #fff;
}

.concept02-heading-jp {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  color: #fff;
}

.concept02-heading-en {
  margin: 0;
  font-size: 42px;
  letter-spacing: 14px;
  font-weight: 300;
  white-space: nowrap;
  color: rgba(255, 255, 255, 0.2);
  font-family: "Lato", sans-serif;
}

/* 説明文 */
.concept02-text {
  font-size: 16px;
  line-height: 2;
  margin: 0;
  color: #fff;
}

/* ===== SP調整 ===== */
@media screen and (max-width: 768px) {

  .concept02-block {
    max-width: 100%;
    padding-top: 40px;
  }

  .concept02-title-heading {
    font-size: 22px;
    padding: 4px 16px 0;
  }

  .concept02-frame {
    padding: 10px 10px 50px;
  }

  .concept02-item {
    padding-left: 0px;
  }

  .concept02-num {
    font-size: 50px;
    top: -10px;
  }

  .concept02-heading-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0px;
    line-height: 1.4;
    padding-bottom: 8px;
  }

  .concept02-heading-jp {
    font-size: 22px;
  }

  .concept02-heading-en {
    font-size: 26px;
  }

  .concept02-item {
    margin-top: 7px;
    padding-top: 18px;
  }

  .concept02-item + .concept02-item {
    margin-top: 50px;
    padding-top: 18px;
  }
  .concept02-text {
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  color: #fff;
}
}
/*03ブロック*/
/* =====================================
   CONCEPT 03 比較表
===================================== */

.concept03-compare {
  max-width: 100%;
}

/* 枠＋角丸をかけるラッパー */
.compare-table-wrapper {
  background-color: transparent;
  overflow: hidden;
}

/* テーブル本体 */
.compare-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  color: #fff;
  font-size: 14px;
}

.compare-table thead th {
  background-color: #333 !important;
  font-weight: 600;
  padding: 14px 16px;
  text-align: center;
  white-space: nowrap;
}

.compare-table thead th:first-child {
  text-align: left;
}

/* 行 */
.compare-table tbody th,
.compare-table tbody td {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(51, 51, 51, 0.08);
  color: #333;
}

.compare-table tbody tr:last-child th,
.compare-table tbody tr:last-child td {
  border-bottom: 1px solid rgba(51, 51, 51, 1);
}

/* 左端（項目名） */
.compare-table tbody th {
  text-align: left;
  font-weight: 600;
  white-space: nowrap;
  background-color: rgba(51, 51, 51, 0.08) !important;
}

/* 記号セル */
.compare-table tbody td {
  text-align: center;
  font-size: 18px;
}

/* 備考 */
.compare-note {
  margin-top: 8px;
  font-size: 11px;
  color: #777;
}

/* =========================
   SP レイアウト調整
========================= */
@media screen and (max-width: 768px) {

  .compare-table {
    font-size: 13px;
  }

  .compare-table thead th {
    padding: 10px 8px;
    font-size: 12px;
  }

  .compare-table tbody th,
  .compare-table tbody td {
    padding: 10px 8px;
  }

  .compare-table-wrapper {
    border-radius: 8px;
  }
}

/* さらに小さい端末では横スクロール許可（崩れ防止） */
@media screen and (max-width: 480px) {
  .compare-table-wrapper {
    overflow-x: auto;
  }

  .compare-table {
    min-width: 420px; /* 4列が潰れないように最低幅を指定 */
  }
}

/* ===============================
   CONCEPT 04 価格・プランセクション
=============================== */

.page-section-concept04 {
  /*background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);*/
  padding-top: 100px;
  padding-bottom: 100px;
  color: rgba(51, 51, 51, 1);
}
body.page .page-section-concept04 .section-title01 p {
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
}
body.page .page-section-concept04 .section-title01 p::first-letter {
  font-size: 100%;
  color: rgba(51, 51, 51, 1);
}
body.page .page-section-concept04 .section-title01 p,
body.page .page-section-concept04 .section-title01 h2,
body.page .page-section-concept04 .section-title01 h3 {
  color: rgba(51, 51, 51, 1);
}
body.page .page-section-concept04 .section-title01 h2 {
  font-size: 200%;
  font-weight: bold;
  letter-spacing: 0px;
  margin: 8px 0px 24px;
}

.concept04-inner {
  text-align: center;
}

/* 上部テキスト */
.concept04-lead {
  margin: 0 0 6px;
  font-size: 15px;
  font-weight: bold;
}

.concept04-spec {
  margin: 0 0 2px;
  font-size: 15px;
  letter-spacing: 0;
  font-weight: bold;
}

/* メイン価格 */
.concept04-price-main {
  margin-bottom: 40px;
}

.concept04-price-line {
  margin: 0;
  font-weight: 400;
}

.concept04-price-line .price-num {
  font-size: 56px;
  letter-spacing: 1px;
  font-family: "Lato", sans-serif;
}

.concept04-price-line .price-unit {
  margin-left: 4px;
  font-size: 18px;
}

.concept04-price-sub {
  margin: 0px 0 0;
  font-size: 13px;
  line-height: .1;
}

/* プラン画像（横3枚） */
.concept04-plan-thumbs {
  margin: 40px auto 48px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 24px;
}

.concept04-thumb {
  flex: 0 0 calc(33.333% - 16px);
}

/* 円形価格リスト */
.concept04-circle-list {
  margin: 40px auto 32px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

.concept04-circle-item {
  flex: 0 0 auto;
}

.concept04-circle {
  width: 185px;
  height: 185px;
  border-radius: 50%;
  border: solid 1px #333;
  background: #333;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}

.circle-range {
  margin: 0 0 4px;
    font-size: 14px;
    border-bottom: solid 1px #fff;
    padding: 3px 16px;
}

.circle-price {
  margin: 0 0 4px;
  font-size: 13px;
}

.circle-price span {
  display: inline-block;
    padding-right: 4px;
    font-size: 26px;
  font-weight: 700;
}

.circle-note {
  margin: 0;
  font-size: 11px;
}

/* 備考 */
.concept04-note {
  margin: 8px 0 0;
  font-size: 12px;
  line-height: 1.8;
  text-align: left;
  color: #555;
}

/* =========================
   SP レスポンシブ
========================= */
@media screen and (max-width: 960px) {
  .concept04-plan-thumbs {
    gap: 16px;
  }

  .concept04-thumb {
    flex: 0 0 calc(33.333% - 12px);
  }

  .concept04-circle {
    width: 130px;
    height: 130px;
  }
}

@media screen and (max-width: 768px) {
  .concept04-price-line .price-num {
    font-size: 36px;
  }

  .concept04-plan-thumbs {
    flex-wrap: wrap;
  }

  .concept04-thumb {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .concept04-circle-list {
    gap: 18px;
  }

  .concept04-circle-item {
    flex: 0 0 calc(50% - 12px);
  }
  .concept04-circle-item {
    flex: 0 0 45%;
  }
  .circle-price span {
  display: inline-block;
    padding-right: 4px;
    font-size: 19px;
  font-weight: 700;
}
.circle-range {
  margin: 0 0 4px;
    font-size: 12px;
    border-bottom: solid 1px #fff;
    padding: 3px 16px;
}
}

@media screen and (max-width: 480px) {
  .concept04-circle-item {
    flex: 0 0 45%;
  }

  .concept04-circle {
    width: 140px;
    height: 140px;
    margin: 0 auto;
  }
}

/* 固定 標準仕様ページ package
------------------------------------------------------------ */
/* package 標準設備セクション
-------------------------------------*/
.package-section-standard {
  padding-top: 20px;
  padding-bottom: 80px;
}
@media screen and (max-width: 781px) {
    body.page .package-section-standard .section-title {
        margin: 8px 0px 16px;
    }
}
/* タブナビ */
.package-section-standard .package-tab-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 85px;
}

.package-section-standard .package-tab {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 32px;
  font-size: 14px;
  width: 30%;
  letter-spacing: 0.12em;
  text-decoration: none;
  background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);
  color: #fff;
  border-radius: 0;
  border: 1px solid #333;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.package-section-standard .package-tab:hover {
  background: #232526;
  background: -webkit-linear-gradient(to right, #232526, #414345);
  background: linear-gradient(to right, #232526, #414345);
  color: #fff;
}

/* タイトル周り微調整（既存 .section-title01 を前提に軽く調整） */
.package-section-standard .section-title h3 {
  margin-top: 16px;
}

/* 標準設備リスト */


.package-standard-heading {
  font-size: 23px;
  line-height: 1.6;
  margin-bottom: 22px;
  margin-top: 16px;
  color: #333;
}
.flex-standard-kitchen-inner {
  text-align: center;
  padding: 0px;
  margin: 0px 8px 0px 0px;
}
@media screen and (min-width: 980px) {
.flex-standard-kitchen .aspect-bgimage {
  padding-top: 75%;
}
}
.package-section-standard .flexbox-col2 .flex-item .flexbox {
  gap: 0;
}
.package-section-standard .flexbox-col2 .flex-item .flexbox-col2 .flex-item {
        -webkit-flex-basis: 50%;
    flex-basis: 50%;
    }
    .package-section-standard .flexbox-col2 .flex-item .flexbox-col2 .flex-item:nth-child(2) {
      flex-grow: 0;
    }

@media screen and (min-width: 980px) {
  .flex-standard-aica .flex-item {
      -webkit-flex-basis: 100%;
    flex-basis: 100%;
    }
    .package-section-standard .flexbox-col2 .flex-item {
        -webkit-flex-basis: 40%;
    flex-basis: 40%;
    }
    .package-section-standard .flexbox-col2 .flex-item:nth-child(2) {
      flex-grow: 1;
    }
    .package-section-standard .flex-standard-aica .flex-item .flexbox-col1 .flex-item {
        -webkit-flex-basis: 50%;
    flex-basis: 50%;
    }
}
.flex-standard-kitchen ul {
  margin: 16px 0 0rem 2.4rem;
}
.flex-standard-kitchen ul li,
.flex-standard-kitchen p {
  color: #333;
}
.flex-standard-kitchen p.font-small {
  font-size: 13px;
}
.flex-standard-kitchen-inner h5 {
  color: #333;
    margin-bottom: 8px;
    border: solid 1px #333;
    padding: 8px;
    text-align: center;
    font-size: 14px;
}
.flex-standard-kitchen-inner p {
  margin-bottom: 0px;
  color: #333;
  font-weight: bold;
  font-size: 18px;
}
.package-standard-maker {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  font-size: 14px;
  line-height: 1.8;
}

.package-standard-text {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-top: 24px;
}
.package-section-standard hr {
  height: 1px;
  background-color: #eee;
  margin: 3.4rem 0;
}
/* SP レイアウト */
@media screen and (max-width: 768px) {
  #standard-spec .flexbox {
    gap: 0;
  }
  .package-section-standard {
    padding-top: 0px;
    padding-bottom: 56px;
  }

  .package-section-standard .package-tab-nav {
    flex-direction: row;
    gap: 12px;
    margin-bottom: 32px;
  }

  .package-section-standard .package-tab {
    flex: 1;
    padding: 10px 8px;
    font-size: 12px;
    text-align: center;
  }

  .package-standard-item {
    flex-direction: column;
    row-gap: 16px;
  }

  .package-standard-thumb {
    flex-basis: auto;
  }

  .package-standard-thumb .aspect-group {
    padding-top: 56%;
  }

  .package-standard-heading {
    font-size: 16px;
    margin: 16px 0;
  }
  .package-standard-text {
    font-size: 13px;
  }
  .flex-standard-kitchen-inner h5 {
  color: #333;
    margin-bottom: 8px;
    border: solid 1px #333;
    padding: 8px;
    text-align: center;
    font-size: 11px;
}
.flex-standard-kitchen-inner p {
  margin-bottom: 0px;
  color: #333;
  font-weight: bold;
  font-size: 16px;
}
}

/* package 上質な空間を生み出す部材
-------------------------------------*/
.package-section-material {
  padding-top: 80px;
  padding-bottom: 80px;
  background-color: #f9f9f9;
}

.package-section-material .section-title {
  margin-bottom: 40px;
}

.package-section-material .section-title h2 {
  font-size: 24px;
  letter-spacing: 0.08em;
}

/* メイン画像 ----------------------*/
.package-material-main {
  width: 100%;
  margin: 0 auto 24px;
}

.package-material-main-image {
  width: 100%;
  padding-top: 56%;        /* 比率（高さ） */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* テイストボタン ------------------*/
.package-taste-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 40px;
}

.package-taste-btn {
  width: 18%;
  padding: 12px 24px;
  border-radius: 999px;
  border: 1px solid #333;
  background-color: #333;
  color: #fff;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.package-taste-btn.is-current,
.package-taste-btn:hover {
  background-color: #fff;
  color: #333;
}


/* 部材ボックス 3×2 */
.package-material-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.package-material-item {
  flex: 0 0 calc(33.333% - 10.7px); /* 3列 */
  border: 1px solid #333;
  padding: 16px 18px;
  box-sizing: border-box;
  text-align: center;
  background-color: transparent;
}

.package-material-label {
  font-size: 13px;
  line-height: 1.6;
  margin: 0 0 4px;
  color: #333;
}

.package-material-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
  color: #333;
}

/* SP レイアウト */
@media screen and (max-width: 768px) {
  .package-section-material {
    padding-top: 80px;
    padding-bottom: 80px;
  }
.package-section-material .section-title {
  margin-bottom: 20px;
}
  .package-section-material .section-title h2 {
    font-size: 20px;
  }
  .package-section-material .section-title h3 {
    margin-bottom: 8px;
  }
  .package-material-main .aspect-group {
    padding-top: 60%;
  }

  .package-taste-nav {
    gap: 8px;
    margin-bottom: 32px;
  }

  .package-taste-btn {
    flex: 0 calc(32% - 1px);
    min-width: 0;
    padding: 8px 12px;
    font-size: 12px;
  }

  .package-material-item {
    flex: 0 0 calc(50% - 8px); /* 2列表示 */
    padding: 12px 10px;
  }

  .package-material-label {
    font-size: 12px;
  }

  .package-material-title {
    font-size: 15px;
  }
}

@media screen and (max-width: 480px) {
  .package-material-item {
    flex: 0 0 100%; /* 1列表示に切り替えたい場合はここを有効に */
  }
}

/* ========== 電気をつくる暮らし（黒背景） ========== */
.package-section-energy {
  color: #fff;
  padding: 80px 0;
}

.package-section-energy .energy-title h2 {
  font-size: 24px;
  margin-bottom: 60px;
  letter-spacing: 0.1em;
}

.energy-flex {
  display: flex;
  gap: 48px;
  align-items: center;
  margin-bottom: 48px;
}

.energy-image img {
  width: 100%;
  max-width: 420px;
  display: block;
}

.energy-heading {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 22px;
  margin-top: 16px;
  color: #333;
}

.energy-text p {
  line-height: 1.6;
  color: #333;
}
.flex-standard-energy-inner-title {
  text-align: center;
  padding: 0px;
  margin: 0px 0px 16px 0px;
  width: 50%;
}
.flex-standard-energy-inner-title h5 {
  color: #333;
    margin-bottom: 8px;
    border: solid 1px #333;
    padding: 8px;
    text-align: center;
    font-size: 14px;
}
.flex-standard-energy-inner-title p {
    margin-bottom: 0px;
    color: #333;
    font-weight: bold;
    font-size: 18px;
}
/* 下の 3 ボックス */
.energy-item-list {
  display: flex;
  gap: 24px;
  margin-top: 32px;
}
@media (max-width: 781px) {
.energy-item-list {
  display: flex;
  gap: 16px;
  margin-top: 32px;
}
}
.energy-item {
  flex: 1;
  border: 1px solid #333;
  padding: 16px 20px;
  background-color: transparent;
  text-align: center;
}

.energy-item .item-label {
  font-size: 12px;
  margin-bottom: 0px;
  opacity: 1;
  color: #333;
}

.energy-item .item-title {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  margin-bottom: 0;
  line-height: 1.5;
}
@media (max-width: 768px) {
.energy-item .item-label {
  font-size: 12px;
  margin-bottom: 0px;
  opacity: 1;
  color: #333;
}

.energy-item .item-title {
  font-size: 16px;
  font-weight: bold;
  color: #333;
  margin-bottom: 0;
  line-height: 1.5;
}
}

/* SP */
@media (max-width: 768px) {
  .package-section-energy .section-title {
  margin-bottom: 20px;
}
  .energy-flex {
    flex-direction: column;
    text-align: center;
  }
  .energy-item-list {
    flex-direction: column;
    margin-top: 0px;
  }
  .energy-item .item-title {
  font-size: 15px;
  font-weight: bold;
  color: #333;
  margin-bottom: 0;
  line-height: 1.5;
}
  .energy-item {
  flex: 1;
  border: 1px solid #333;
  padding: 12px 10px;
  background-color: transparent;
  text-align: center;
}
.flex-standard-energy-inner-title {
  text-align: center;
  padding: 0px;
  margin: 0px 0px 16px 0px;
  width: 100%;
}

}


/* ========== 住宅性能（白背景） ========== */
.package-section-performance {
  background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);
  padding-top: 150px;
  padding-bottom: 140px;
}
body.page .package-section-performance .section-title01 p {
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 10px;
  text-transform: uppercase;
}
body.page .package-section-performance .section-title01 p::first-letter {
  font-size: 100%;
  color: rgba(255, 255, 255, 1);
}
body.page .package-section-performance .section-title01 p,
body.page .package-section-performance .section-title01 h2,
body.page .package-section-performance .section-title01 h3 {
  color: rgba(255, 255, 255, 1);
}
body.page .package-section-performance .section-title01 h2 {
  font-size: 200%;
  font-weight: bold;
  letter-spacing: 0px;
  margin: 8px 0px 24px;
}

/* ボックスグリッド */
.performance-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.performance-item {
  flex: 0 0 calc(45% - 10px); /* 2列 */
  border: 1px solid #fff;
  padding: 16px 20px;
  background-color: transparent;
  text-align: center;
}

.performance-label {
  font-size: 12px;
  margin-bottom: 6px;
  color: #fff;
}

.performance-title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 0;
}


/* SP */
@media (max-width: 768px) {
  .package-section-performance {
  background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);
  padding-top: 100px;
  padding-bottom: 100px;
}
  .performance-item {
    flex: 0 0 85%; /* 1列表示 */
  }
  .performance-item {
  flex: 0 0 calc(100% - 10px); /* 2列 */
  border: 1px solid #fff;
  padding: 12px 10px;
  background-color: transparent;
  text-align: center;
}
  .performance-title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 0;
}
}
.performance-item-note {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
  color: #fff;
  margin-left: 16px;
}
@media (max-width: 781px) {
.performance-item-note {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
  color: #fff;
  margin-left: 0px;
}
}

/* ========== 価格について ========== */
body.page-id-122 .page-section-concept04 {
  background: #fff;
  padding-top: 150px;
  padding-bottom: 110px;
}
body.page-id-122 .page-section-concept04 {
  color: #333;
}
body.page-id-122 .page-section-concept04 .section-title01 p::first-letter {
  font-size: 100%;
  color: rgba(51, 51, 51, 1);
}
body.page-id-122 .page-section-concept04 .section-title01 p,
body.page-id-122 .page-section-concept04 .section-title01 h2,
body.page-id-122 .page-section-concept04 .section-title01 h3 {
  color: rgba(51, 51, 51, 1);
}
/* 円形価格リスト */
/*body.page-id-122 .concept04-circle-list {
  margin: 40px auto 32px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}

body.page-id-122 .concept04-circle-item {
  flex: 0 0 auto;
}

body.page-id-122 .concept04-circle {
  width: 185px;
  height: 185px;
  border-radius: 50%;
  border: solid 1px #333;
  background: #333;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 12px;
  box-sizing: border-box;
}

body.page-id-122 .circle-range {
  margin: 0 0 4px;
    font-size: 14px;
    border-bottom: solid 1px #fff;
    padding: 3px 16px;
}

body.page-id-122 .circle-price {
  margin: 0 0 4px;
  font-size: 13px;
}

body.page-id-122 .circle-price span {
  display: inline-block;
    padding-right: 4px;
    font-size: 26px;
  font-weight: 700;
}

body.page-id-122 .circle-note {
  margin: 0;
  font-size: 11px;
}


body.page-id-122 .concept04-note {
  margin: 8px 0 0;
  font-size: 13px;
  line-height: 1.8;
  text-align: left;
  color: #333;
}*/

/* ========== 平家プラン＋オプション ========== */
.package-section-flathouse {
  background-color: #fff;
  color: #fff;
  padding: 20px 0;
}
.flathouse {
      display: block;
    /* width: 100%; */
    padding: 65px;
    background-color: #f9f9f9;
}

.plan-heading {
  font-size: 24px;
  line-height: 1.6;
  margin-bottom: 16px;
  color: #333;
}

.plan-lead {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
.flathouse {
      display: block;
    /* width: 100%; */
    padding: 60px 24px;
    background-color: #f9f9f9;
}
body.page .package-section-flathouse .section-title {
  margin-bottom: 24px;
}
body.page .package-section-flathouse .section-title01 h2 {
        font-size: 160%;
        font-weight: bold;
        letter-spacing: 0px;
        margin: 8px 0px 8px;
    }
    .plan-lead {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 8px;
}
}

/* オプションブロック */
.package-section-option .flex-section-option span {
  display: block;
  margin: 15px 0 0px;
}
.package-section-option .flex-section-option p {
  font-weight: bold;
  margin: 1px 0 16px;
  font-size: 17px;
}
.package-section-option .flex-section-option span,
.package-section-option .flex-section-option p {
  color: #333;
  text-align: center;
}
.package-section-option .flex-section-option .flex-item {
  background-color: #eee;
}
.option-block {
  text-align: left;
}
.flex-flathouse ul li {
  color: #333;
}
.option-title {
  margin-bottom: 40px;
}

.option-en {
  font-size: 12px;
  letter-spacing: 0.16em;
  margin-bottom: 8px;
}

.option-ja {
  font-size: 22px;
  letter-spacing: 0.08em;
}

/* オプション一覧（3枚横並び） */
.option-list {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-bottom: 32px;
}

.option-item {
  flex: 0 0 calc(33.333% - 16px);
}

.option-thumb {
  position: relative;
  overflow: hidden;
}

.option-thumb img {
  width: 100%;
  display: block;
}

.option-label {
  position: absolute;
  left: 16px;
  bottom: 16px;
  padding: 4px 12px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.4);
}

.option-caption {
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
body.page .package-section-option .section-title {
  margin-bottom: 12px;
}
body.page .package-section-option .section-title01 h2 {
        font-size: 160%;
        font-weight: bold;
        letter-spacing: 0px;
        margin: 8px 0px 24px;
    }
   body.page .package-section-option .plan-lead {
  font-size: 15px;
  line-height: 1.7;
  color: #333;
  margin-bottom: 8px;
}
}
/* SP レイアウト */
@media screen and (max-width: 768px) {
body.page-id-122 .page-section-concept04 {
  background: #fff;
  padding-top: 100px;
  padding-bottom: 40px;
}
  .package-section-plan-option {
    padding: 56px 0;
  }

  .plan-flex {
    flex-direction: column;
    gap: 24px;
    text-align: center;
  }

  .plan-text {
    max-width: none;
  }

  .plan-heading {
    font-size: 20px;
  }

  .option-list {
    flex-direction: column;
    gap: 16px;
  }

  .option-item {
    flex-basis: 100%;
  }

  .option-label {
    left: 12px;
    bottom: 12px;
    font-size: 14px;
  }
}

/* 固定 QUALITY 性能・構造
------------------------------------------------------------ */
@media screen and (max-width: 768px) {
.page-section-quality01 {
  padding-top: 16px;
}
}
.page-section-quality02,
.page-section-quality04 {
  background: #232526;
  background: -webkit-linear-gradient(to right, #414345, #232526);
  background: linear-gradient(to right, #414345, #232526);
}
.page-section-quality01 span,
.page-section-quality01 h2,
.page-section-quality01 h3,
.page-section-quality01 h4,
.page-section-quality01 p,
.page-section-quality01 ul li,
.page-section-quality03 span,
.page-section-quality03 h2,
.page-section-quality03 h3,
.page-section-quality03 h4,
.page-section-quality03 p,
.page-section-quality03 ul li {
  color: #333 !important;
}
@media screen and (min-width: 980px) {
.flex-page-section-quality .aspect-bgimage {
  padding-top: 100%;
}
}
.flex-page-section-quality h2 {
  font-size: 260%;
  font-weight: bold;
  margin-bottom: 8px;
}
.flex-page-section-quality h3 {
  border: solid 1px #333;
  width: max-content;
  padding: 8px 24px;
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 5px;
}
@media screen and (max-width: 781px) {
    body.page .page-quality-btn .section-title {
        margin: 8px 0px 16px;
    }
}
.page-section-quality02 .flex-page-section-quality h3,
.page-section-quality04 .flex-page-section-quality h3 {
  border: solid 1px #fff;
  color: #fff;
  width: max-content;
  padding: 8px 24px;
  font-weight: bold;
  font-size: 17px;
  margin-bottom: 5px;
}
.page-section-quality04 .flex-page-section-quality h3 {
  margin-bottom: 8px !important;
}
@media screen and (max-width: 768px) {
.flex-page-section-quality h3 {
  border: solid 1px #333;
  width: max-content;
  padding: 8px 16px;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 5px;
}
.page-section-quality02 .flex-page-section-quality h3,
.page-section-quality04 .flex-page-section-quality h3 {
  border: solid 1px #fff;
  color: #fff;
  width: max-content;
  padding: 8px 16px;
  font-weight: bold;
  font-size: 15px;
  margin-bottom: 5px;
}
}
.page-section-quality02 .flex-page-section-quality h4,
.page-section-quality04 .flex-page-section-quality h4 {
  color: #fff !important;
}
.flex-page-section-quality p.h3-notice {
  font-size: 14px;
  margin-bottom: 8px;
}
.flex-page-section-quality h4 {
  position: relative;/*相対位置*/
  padding: 0.5em 0.5em 0em 1.5em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  color: #333;/*文字色*/
  margin-bottom: 0;
}

.flex-page-section-quality h4:before {
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f138";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 0.5em;/*アイコンの位置*/
  color: #333; /*アイコン色*/
}
.page-section-quality02 .flex-page-section-quality h4:before,
.page-section-quality04 .flex-page-section-quality h4:before {
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f138";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1em;/*サイズ*/
  left: 0.25em;/*アイコンの位置*/
  top: 0.5em;/*アイコンの位置*/
  color: #fff; /*アイコン色*/
}
.page-section-quality-innertext {
  margin-top: 16px;
}
.page-section-quality-innertext p {
  margin-bottom: 8px;
}
.flex-page-section-quality ul {
  margin-top: 16px;
}
.flex-page-section-quality span {
  font-size: 16px;
  font-weight: bold;
}

@media screen and (min-width: 980px) {
    .page-quality-btn .flexbox {
        gap: 0rem;
    }
    .flex-page-section-quality span {
  font-size: 19px;
  font-weight: 400;
}
}

.page-quality-btn a {
  position: relative;
  display: block;
  padding: 5px 0 10px;
  font-size: 22px;
  line-height: 1.6;
  font-weight: 700;
  text-decoration: none;
  color: #333;
  border-bottom: 2px solid #333;
}

.page-quality-btn a span {
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 4px;
}

/* ▼ 矢印（通常） */
.page-quality-btn a::after {
  content: "▼";
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%); /* 通常位置 */
  font-size: 20px;
  color: #000;

  transition: transform 0.25s ease;
}

/* ▼ ホバー時：下へ（3px） */
.page-quality-btn a:hover {
  text-decoration: none;
  color: #333;
}
.page-quality-btn a:hover::after {
  transform: translateY(calc(-50% + 3px));
}

.flex-page-quality-btn .flex-item {
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .flex-page-quality-btn {
    flex-direction: column;
  }
}

/* 性能ページのボタンをSPでは2列グリッドにする */
@media screen and (max-width: 781px) {
  /* 親をgridに変更して2列に固定 */
  .flex-page-quality-btn.flexbox-col2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr); /* 2列 */
    column-gap: 10px;  /* 横の余白（お好みで調整） */
    row-gap: 0px;     /* 縦の余白（お好みで調整） */
  }

  /* 子は幅指定をリセットしてgrid任せに */
  .flex-page-quality-btn.flexbox-col2 .flex-item {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    box-sizing: border-box;
  }
  .flex-page-section-quality h2 {
  font-size: 220%;
  font-weight: bold;
  margin-bottom: 20px;
}
  .page-quality-btn a {
  position: relative;
  display: block;
  padding: 5px 0 5px;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 700;
  text-decoration: none;
  color: #333;
  border-bottom: 2px solid #333;
}

.page-quality-btn a span {
  display: none;
  font-size: 8px;
  font-weight: bold;
  margin-bottom: 4px;
}
  .page-quality-btn a::after {
  content: "▼";
  position: absolute;
  right: 7px;
  top: 59%;
  transform: translateY(-50%); /* 通常位置 */
  font-size: 13px;
  color: #000;

  transition: transform 0.25s ease;
}
}

/* 固定 企業情報ページ
------------------------------------------------------------ */
.page-section-company {
  padding: 2rem 0 7.5rem;
}
.page-section-company table th {
  width: 25%;
}
.page-section-company table td {
  width: 75%;
}
.page-section-company table th,
.page-section-company table td {
  color: #333;
}
.page-section-company table td span {
  display: block;
}
/* 固定 工房ページ
------------------------------------------------------------ */
.page-section-about01 .flex-base01 {
  gap: 0.8rem;
}

.page-section-about01 .text-group {
  margin: 3.2rem auto 0;
  max-width: 800px;
}

@media screen and (min-width: 782px) {
  .page-section-about01 .flex-base01 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
  }

  .page-section-about01 .flex-base01 .flex-item:last-of-type .flex-base01-child .flex-item-child:nth-of-type(1) .aspect-bgimage {
    padding-top: 100%;
  }
}

/* 固定 プロフィールページ
------------------------------------------------------------ */
/* page-section-profile01 */
.page-section-profile01 .aspect-group {
  margin: 0 auto 2.4rem;
  max-width: 85%;
}

.page-section-profile01 .aspect-bgimage {
  padding-top: 100%;
}

.name-group {
  margin-bottom: 4.0rem;
}

@media screen and (min-width: 782px) {
  .page-section-profile01 .aspect-group {
    max-width: 560px;
  }
}

/* page-section-profile02 */
.page-section-profile02 {
  padding-top: 0;
}

.flex-profile {
  gap: 4.0rem;
}

.flex-profile ul {
  margin: 0;
  list-style: none;
}

.flex-profile ul li {
  margin-bottom: 1.2rem;
  line-height: 1.5;
}

.flex-profile ul li:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 782px) {
  .flex-profile .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(40px / 4) * 2));
  }
}

@media screen and (min-width: 980px) {
  .page-section-profile02 {
    padding-top: 2.4rem;
  }
}

/* 固定 作品ページ
------------------------------------------------------------ */
.intro-text {
  margin: 0 auto 3.2rem;
  max-width: 800px;
}

.flex-works {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  gap: 0.8rem;
}

.flex-works .flex-item {
  -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
  flex-basis: calc(calc(100% / 2) - calc(calc(8px / 4) * 2));
}

.flex-works .aspect-bgimage {
  padding-top: 100%;
}

@media screen and (min-width: 782px) {
  .flex-works .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(8px / 6) * 4));
    flex-basis: calc(calc(100% / 3) - calc(calc(8px / 6) * 4));
  }
}

@media screen and (min-width: 980px) {
  .flex-works .flex-item {
    -webkit-flex-basis: calc(calc(100% / 4) - calc(calc(8px / 8) * 6));
    flex-basis: calc(calc(100% / 4) - calc(calc(8px / 8) * 6));
  }
}

/* 固定 お問合せページ
------------------------------------------------------------ */
.wpcf7 .required,
.wpcf7 .optional {
  margin: 0 0.4rem 0.4rem 0;
  font-size: 90%;
  line-height: 1;
}

.form-p label {
  font-weight: bold;
}

.wpcf7 .form-p br {
  display: none;
}

/* ココナラデモ用 */
.page-section-contact .text-group {
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  z-index: 3;
}

.page-section-contact .text-group p {
  font-size: 250%;
}

.page-section-contact .overlay {
  background: rgba(187, 137, 126, 0.4);
  /* #BB897E */
  background: linear-gradient(133deg, rgba(106, 129, 186, 0.4) 0%, rgba(187, 137, 126, 0.4) 100%);
}

/* 予約完了
------------------------------------------------------------ */
.page-section-thanks {
  padding: 20px 0;
}
.page-section-thanks h2 {
  text-align: center;
  font-size: 22px;
  line-height: 1.7;
}
.page-section-thanks h2 span {
  display: block;
  font-size: 17px;
  font-weight: 400;
}
.page-section-thanks h2,
.page-section-thanks h3,
.page-section-thanks p {
  color: #333;
}
.thanks-inner-p {
  text-align: left;
}
@media screen and (min-width: 782px) {
  .thanks-inner-p {
  text-align: center;
}
}
.autoreply {
  margin: 40px auto 32px;
  max-width: 800px;
  padding: 32px;
  border: solid 1px #CA5C62;
}
.autoreply h3,
.autoreply p {
  color: #CA5C62;
}
.autoreply h3 {
  padding-bottom: 12px;
  border-bottom: solid 1px #CA5C62;
  margin-bottom: 12px;
}
.autoreply p {
  margin-bottom: 3px;
}
@media screen and (min-width: 782px) {
.page-section-thanks h2 {
  text-align: center;
  font-size: 30px;
  line-height: 1.7;
}
.page-section-thanks h2 span {
  display: block;
  font-size: 20px;
  font-weight: 400;
}
}

/* 固定 プライバシーポリシー、免責事項ページ
------------------------------------------------------------ */
.page-section-policy {
    padding: 2rem 0 7.5rem;
}
.page-id-3 h2,
.page-id-3 h3,
.page-id-3 h4,
.page-id-3 p,
.page-id-3 ul li {
  color: #333 !important;
}
.page-id-3 .main-navigation a,
.page-id-3 .top-section-btn h2,
.page-id-3 .top-section-btn p {
  color: #fff !important;
}
.page-section-policy .section-container .section-title h3,
.page-section-disclaimer .section-container .section-title h3 {
  margin-top: 0;
    margin-bottom: 2.4rem;
}
.page-section-policy .section-container h3,
.page-section-disclaimer .section-container h3 {
  margin-top: 5.6rem;
  margin-bottom: 0.4rem;
}

.page-section-policy .section-container p,
.page-section-policy .section-container ul,
.page-section-disclaimer .section-container p,
.page-section-disclaimer .section-container ul {
  margin-bottom: 1.6rem
}

.page-section-policy .section-container p.margin-bottom0,
.page-section-disclaimer .section-container p.margin-bottom0 {
  margin-bottom: 0;
}


/* 固定 サイトマップページ
------------------------------------------------------------ */
.page-section-sitemap {
    padding: 2rem 0 7.5rem;
}
.flex-sitemap {
  gap: 1.6rem;
}

.flex-sitemap .flex-item a {
  padding: 1.2rem;
  display: block;
  position: relative;
  text-decoration: none;
}

.flex-sitemap .flex-item a::after {
  position: absolute;
  margin: 0;
  padding: 0;
  top: 50%;
  right: 12px;
  -ms-transform: translate(-12px, -50%);
  -webkit-transform: translate(-12px, -50%);
  transform: translate(-12px, -50%);
  content: '\0bb';
}
.flex-sitemap .flex-item a {
  background-color: transparent;
  color: #333;
  border: solid 1px #333;
  margin-bottom: 16px;
}
.flex-sitemap {
  gap: 0;
}
.flex-sitemap .flex-item a:hover {
  background-color: transparent;
}
@media screen and (min-width: 640px) {
  .flex-sitemap {
    gap: 0rem;
  }

  .flex-sitemap .flex-item {
    -webkit-flex-basis: calc(calc(100% / 3) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 3) - calc(calc(24px / 4) * 2));
  }
}


/* 固定 新型コロナウイルス感染症に関する対応についてページ
------------------------------------------------------------ */
.page-section-covid19 h3 {
  margin-bottom: 0.8rem;
}

.page-section-covid19 h3.customer {
  margin-top: 4.0rem;
}

.flex-covid19 {
  margin-bottom: 4.0rem;
  gap: 1.6rem;
}

.flex-covid19 .inner-covid19 {
  padding: 1.6rem 0.8rem 0.8rem;
}

.flex-covid19 figure {
  margin: 0 auto 0.8rem;
  max-width: 64px;
}

@media screen and (min-width: 640px) {
  .flex-covid19 {
    gap: 2.4rem;
  }

  .flex-covid19 .flex-item {
    -webkit-flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
    flex-basis: calc(calc(100% / 2) - calc(calc(24px / 4) * 2));
  }
}

/* 投稿ページ
------------------------------------------------------------ */
@media screen and (min-width: 540px) {
  .single .post-thumbnail {
    margin-left: auto;
    margin-right: auto;
  }
}

#comments {
  display: none;
}


/* アーカイブページ
------------------------------------------------------------ */


/* Footer
------------------------------------------------------------ */
/* widget */
.footer-widget-1 .custom-html-widget a {
  text-decoration: none;
}

/* site-bottom */
.site-bottom .current-menu-item>a {
  text-decoration: underline;
}

/* site-info */
@media screen and (min-width: 782px) {
  .footer-navigation {
    float: none;
  }

  .site-info {
    clear: both;
    float: none;
    text-align: center;
  }
}

/* back-to-top */
.back-to-top {
  right: 0;
  bottom: 0;
  border-radius: 0;
}


/* 全ページ共通のお問合せセクション
------------------------------------------------------------ */
/* 背景画像セクション */
.section-bgimage {
  padding-bottom: 4.0rem;
}

.section-bgimage .aspect-bgimage {
  padding-top: 56.25%;
}

.section-bgimage .btn-group {
  margin: 0;
  padding: 0;
  bottom: -48px;
  left: 50%;
  -ms-transform: translate(-50%, 0%);
  -webkit-transform: translate(-50%, 0%);
  transform: translate(-50%, 0%);
  z-index: 3;
}

.section-bgimage a.btn {
  margin-top: 0;
  padding: 4.0rem 2.4rem;
  min-width: calc(288px - 48px);
  /* 左右のpadding */
}
a.btn::after {
  content: '';
  top: 50%;
  right: -1px;
  width: 32px;
  height: 1px;
}
@media screen and (max-width: 768px) {
.section-bgimage a.btn {
  margin-top: 0;
  padding: 4.0rem 2.4rem 4.0rem 1.2rem;
  min-width: calc(288px - 48px);
  font-size: 105%;
  /* 左右のpadding */
}
a.btn::after {
  content: '';
  top: 50%;
  right: -1px;
  width: 26px;
  height: 1px;
}
}
@media screen and (min-width: 540px) {
  .section-bgimage a.btn {
    min-width: calc(320px - 48px);
    /* 左右のpadding */
  }
}

@media screen and (min-width: 640px) {
  .section-bgimage .aspect-bgimage {
    padding-top: 50%;
  }

  .section-bgimage .btn-group {
    bottom: -56px;
  }

  .section-bgimage a.btn {
    padding: 4.8rem 2.4rem;
    min-width: calc(360px - 48px);
    /* 左右のpadding */
  }
}

@media screen and (min-width: 782px) {
  .section-bgimage .aspect-bgimage {
    padding-top: 40%;
  }

  .section-bgimage .btn-group {
    bottom: -64px;
  }

  .section-bgimage a.btn {
    padding: 5.6rem 2.4rem;
    min-width: calc(400px - 48px);
    /* 左右のpadding */
  }
}

@media screen and (min-width: 980px) {
  .section-bgimage .aspect-bgimage {
    padding-top: 35%;
  }

  .section-bgimage .btn-group {
    bottom: -72px;
  }

  .section-bgimage a.btn {
    padding: 6.4rem 2.4rem;
    min-width: calc(480px - 48px);
    /* 左右のpadding */
  }
}
.section-bgimage {
  padding-top: 0px !important;
}
/* SNSセクション */
.section-sns .bg-logo {
  margin: 0 auto 3.2rem;
  max-width: 140px;
}
@media screen and (min-width: 782px) {
.section-sns .bg-logo {
  margin: 0 auto 3.2rem;
  max-width: 180px;
}
}
.section-sns .bg-logo .aspect-bgimage {
  background-size: contain;
}

.section-sns ul {
  margin: 0 auto;
  list-style: none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: center;
  justify-content: center;
  line-height: 1;
  gap: 16px;
}

.section-sns ul a {
  display: inline-block;
  border: solid 1px rgba(187, 137, 126, 1);
  width: calc(40px - 2px);
  height: calc(40px - 2px);
}

.section-sns ul a:hover {
  border-color: rgba(247, 247, 247, 1);
}

.section-sns ul .fab {
  margin: 0;
  padding: 0;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 540px) {
  .section-sns ul {
    gap: 20px;
  }

  .section-sns ul a {
    width: calc(48px - 2px);
    height: calc(48px - 2px);
  }
}

/* アンカーリンク */
@media only screen and (min-width:760px){
    span.anchorlink {
       position: relative;
       top: -70px;
       display: block;
    }
}

/* コンタクトフォーム
------------------------------------------------------------ */
.page-section-contact {
  padding: 2rem 0 7.5rem;
}
.page-section-contact p {
  color: #333;
}
.page-section-contact input[type="text"],
.page-section-contact input[type="email"],
.page-section-contact input[type="url"],
.page-section-contact input[type="tel"],
.page-section-contact textarea {
  background-color: #fff;
  border: solid 1px #e2e2e2;
  color: #333;
}
.page-section-contact input[type="text"]:focus,
.page-section-contact input[type="email"]:focus,
.page-section-contact input[type="url"]:focus,
.page-section-contact input[type="tel"]:focus,
.page-section-contact textarea:focus {
  color: #333;
}
.page-section-contact input {
  -webkit-appearance: auto;
}
.page-section-contact .wpcf7-radio,
.page-section-contact .wpcf7-checkbox {
  display: block;
}
.page-section-contact .wpcf7-list-item {
    display: inline-block;
    margin: 8px 1em 0 0em;
}
input::placeholder,
textarea::placeholder {
  color: #c0c0c0;
  opacity: 1;  /* iOS/Safari対策：薄くならないように */
}
.submit-caution {
    margin-bottom: 2.4rem;
    padding: 1.6rem 1.6rem;
    background-color: transparent;
}
.submit-acceptance .wpcf7-list-item-label::before {
  top: -1px;
}
/* 2列レイアウト（姓＋名、セイ＋メイ、郵便番号＋都道府県） */
.wpcf7 .form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.wpcf7 .form-row .form-p {
  flex: 1 1 0;
  margin-bottom: 16px;
}

/* インプットを横幅100%に */
.wpcf7 .form-p input[type="text"],
.wpcf7 .form-p input[type="email"],
.wpcf7 .form-p input[type="tel"],
.wpcf7 .form-p textarea,
.wpcf7 .form-p select {
  width: 100%;
  box-sizing: border-box;
}

.submit-caution a {
    text-decoration: none !important;
}

/* SPでは1列に落とす */
@media (max-width: 768px) {



}


.box-004 {
    display: flex;
    grid-gap: 0 .7em;
    margin: 0 auto;
    padding: 1em;
    border-radius: 5px;
    background-color: #ffebee;
    color: #333333;
    margin-bottom: 24px;
}

.box-004::before {
    width: 24px;
    height: 24px;
    content: '';
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12.8659 3.00017L22.3922 19.5002C22.6684 19.9785 22.5045 20.5901 22.0262 20.8662C21.8742 20.954 21.7017 21.0002 21.5262 21.0002H2.47363C1.92135 21.0002 1.47363 20.5525 1.47363 20.0002C1.47363 19.8246 1.51984 19.6522 1.60761 19.5002L11.1339 3.00017C11.41 2.52187 12.0216 2.358 12.4999 2.63414C12.6519 2.72191 12.7782 2.84815 12.8659 3.00017ZM10.9999 16.0002V18.0002H12.9999V16.0002H10.9999ZM10.9999 9.00017V14.0002H12.9999V9.00017H10.9999Z' fill='%23f06060'%3E%3C/path%3E%3C/svg%3E");
}

.box-004 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #f06060;
}

.box-008 {
    display: flex;
    align-items: center;
    grid-gap: 0 .7em;
    margin: 0 auto;
    padding: 1em;
    border-radius: 5px;
    background-color: #ecffe9;
    color: #333333;
    margin-bottom: 24px;
}

.box-008::before {
    width: 16px;
    height: 8px;
    border-bottom: 3px solid #86d67c;
    border-left: 3px solid #86d67c;
    transform: rotate(-45deg) translate(2.5px, -2.5px);
    content: '';
}

.box-008 p {
    margin: 0;
    padding: 0 0 0 .7em;
    border-left: 1px solid #86d67c;
}
.bikou {
  font-size: 12px;
  padding-left: 3px;
}
.bikou2 {
  font-size: 12px;
  display: block;
  margin-top: 6px;
}