/*****************************************
dgreen common css
header & footer only!
*****************************************/
/* 基本設定とPC共通設定 */
body {
  margin: 0;
}
img{
  vertical-align: bottom;
}
main{
  overflow: hidden;
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 飾りライン */
.header-line {
  height: 4px;
  background-color: #6EA305;
  width: 100%;
}

.header-container {
  max-width: 1240px;
  margin: 0 auto;
}


.header-title h1 {
  margin: 0;
  font-weight: normal;
}

.header-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.pc-contact {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin: -8px 0 7px;
}

.corp-link {
  font-size: 14px;
  color: #333;
  text-decoration: none;
}

.tel-image {}
.tel-image img {
  height: 88px; /* 電話番号画像の高さに合わせて調整 */
}

.header-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  border-left: 1px solid #ccc;
  justify-content: space-between;
}

.header-nav li {
  position: relative;
  border-right: 1px solid #ccc;
  width: 25%;
  text-align: center;
}
.header-nav li:not(.last-menu):hover {
  border-bottom: 4px solid #6EA305;
}
.header-nav li a {
  display: block;
  padding: 10px 20px;
  text-decoration: none;
  color: #333;
  transition: all 0.3s;
}
.header-nav li a:hover {
  text-decoration: none;
}

.header-nav .last-menu {
  background-color: #D26200;
  border-top: 4px solid #D26200;
  border-bottom: 4px solid #D26200;
}

.header-nav .last-menu a {
  color: #fff;
}

.header-nav .last-menu a:hover {
  text-decoration: none;
}

/* SP表示関連 */
.sp-title-line,
.hamburger-menu,
.sp-menu-overlay {
  display: none;
}

.arrow__link {
  position: relative;
  padding: 10px 40px 10px 0;
  text-decoration: underline;
  color: #313131 !important;
}
.arrow__link::after {
  content: "";
  position: absolute;
  display: block;
  width: 32px;
  height: 32px;
  background-size: contain;
  background-position: right center;
  background-image: url(https://www.asahihome.com/reform/assets25/img/arrow01.png);
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.arrow__link:hover {
  color: #6EA305;
}

.arrow-prev{
  padding: 10px 0 10px 40px;
  margin: 60px 0 0;
  display: block;
}
.arrow-prev::after{
  background-image: url(https://www.asahihome.com/reform/assets25/img/arrow05.png);
  left: 0;
  right: auto;
}

@media screen and (min-width: 769px) {
  .sp{
    display: none !important;
  }
  .logo img {
    height: 75px;
  }
  .header-title h1 {
    font-size: 14px;
    padding: 6px 0 2px;
  }
  .header-bottom-content {
    margin: 6px 0 0;
  }
}
@media screen and (max-width: 768px) {
  .pc{
    display: none !important;
  }
  .logo {
    width: 65%;
  }
  .logo img {
    width: 100%;
    max-width: 191px;
  }
  .header-title h1 {
    font-size: 11px;
  }
  .tel-image img{
    height: auto;
  }
}
/* -------------------------------------------------- */
/* レスポンシブ対応 (スマートフォン) */
/* -------------------------------------------------- */
body {
  padding-top: 178px;
}
@media all and (max-width: 768px) {
  body {
    padding-top: 92px;
  }

  .header-container {}

  .header-title {
    width: 100%;
    text-align: center;
    padding: 4px 0 0;
  }

  .sp-title-line {
    display: block;
    height: 1px;
    background-color: #ccc;
    margin-top: 2px;
  }

  .header-main {
    width: 100%;
    justify-content: space-between;
    padding: 0 0 0 10px;
  }

  .pc-contact,
  .header-nav {
    display: none;
  }

  /* ハンバーガーメニューの基本スタイル（三本線） */
  .hamburger-menu {
    display: flex;
    flex-direction: column; /* 縦に並べる */
    justify-content: center;
    align-items: center;
    width: 64px;
    height: 64px;
    background-color: #6EA305;
    cursor: pointer;
    box-sizing: border-box; /* paddingを含めて幅と高さを計算 */
    position: relative; /* 子要素のposition: absoluteの基準に */
    padding-top: 10px; /* メニューの文字と線との間にスペースを作る */
  }

  /* 一番上の線と一番下の線 */
  .hamburger-menu::before,
  .hamburger-menu::after {
    content: '';
    position: absolute;
    left: 50%; /* 中央寄せ */
    transform: translateX(-50%);
    width: 25px;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
  }

  /* 一番上の線 */
  .hamburger-menu::before {
    top: 15px;
  }

  /* 真ん中の線 */
  .hamburger-menu span:first-child {
    width: 25px;
    height: 2px;
    background-color: #fff;
    transition: all 0.3s ease;
    position: absolute;
    top: 23px;
    left: 50%;
    transform: translateX(-50%);
  }

  /* 一番下の線 */
  .hamburger-menu::after {
    top: 31px;
  }

  /* 「メニュー」の文字 */
  .hamburger-menu span:last-child {
    font-size: 12px;
    color: #fff;
    margin-top: 22px; /* 線と文字の間に余白を確保 */
    display: block; /* メニューの文字をブロック要素に */
    transition: opacity 0.3s;
  }

  /* 「閉じる」ボタンのスタイル */
  .hamburger-menu.is-active::before {
    top: 24px;
    transform: translateX(-50%) rotate(45deg);
  }

  .hamburger-menu.is-active::after {
    top: 24px;
    transform: translateX(-50%) rotate(-45deg);
  }

  .hamburger-menu.is-active span:first-child {
    opacity: 0;
  }

  .hamburger-menu.is-active span:last-child {
    opacity: 1; /* 「閉じる」の文字は常に表示 */
  }

  /* ③メニューのSP表示 */
  .header-bottom-content {
    width: 100%;
    justify-content: flex-end;
  }

  .sp-menu-overlay.is-open {
    display: block;
    top: 92px;
    overflow-y: scroll;
  }

  .sp-menu-overlay {
    position: fixed;
    top: 117px;
    left: 0;
    width: 100%;
    height: auto;
    background-color: #6EA305;
    z-index: 999;
    padding: 20px 20px 60px;
  }

  .sp-menu-overlay nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .sp-menu-overlay nav li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }

  .sp-menu-overlay nav li a {
    display: block;
    padding: 15px;
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    background-image: url(https://www.asahihome.com/reform/assets25/img/arrow02.png);
    background-size: 24px;
    background-position: right center;
    background-repeat: no-repeat;
  }

  .sp-menu-bottom {
    margin-top: 60px;
    text-align: center;
  }

  .sp-menu-bottom .tel-image {
    display: block;
    margin: 0 auto 20px;
  }

  .sp-menu-bottom .contact-btn {
    display: block;
    background-color: #D26200;
    color: #fff;
    text-decoration: none;
    padding: 20px 20px;
    border-radius: 6px;
    font-weight: bold;
    margin-bottom: 15px;
  }

  .sp-menu-bottom .corp-link {
    color: #fff !important;
    font-size: 14px;
    margin: 30px auto 0;
    display: block;
    max-width: 130px;
  }
  .sp-menu-bottom .corp-link::after{
        background-image: url(https://www.asahihome.com/reform/assets25/img/arrow02.png);
  }
}
/*=======================================
footer
=======================================*/
footer {}

/* 上部セクション（CONTACTとボタン） */
.footer-contact {
  background-color: #fff;
  padding: 67px 20px 40px;
}

.contact-inner {
  max-width: 1240px;
  margin: 0 auto;
  background: #F9F7EE;
  border-radius: 20px;
  text-align: center;
  padding: 50px 20px 73px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.contact-inner .flex-wrap{
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1052px;
}

.contact-inner .flex-wrap h3{
  font-size: 20px;
  font-weight: 500;
}

.contact-info {}

.contact-title {
  width: 100%;
  max-width: 553px;
}

.tel-number {
  width: 100%;
  max-width: 450px;
}

.business-hours {
  font-size: 18px;
  color: #231815;
  margin: 12px 0 0;
}

.mail-button {
  align-items: center;
  background-color: #D26200;
  color: #fff !important;
  padding: 22px 50px;
  border-radius: 50px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
  max-width: 472px;
  width: 100%;
  display: block;
  margin: 0 auto;
  text-align: left;
  justify-content: center;
  position: relative;
  font-size: 24px;
}
.mail-button::after {
  content: "";
  position: absolute;
  display: block;
  width: 47px;
  height: 47px;
  background-size: contain;
  background-position: right center;
  background-repeat: no-repeat;
  background-image: url(https://www.asahihome.com/reform/assets25/img/arrow03.png);
  right: 40px;
  top: 0;
  bottom: 0;
  margin: auto;
}
.mail-button:hover {
  opacity: 0.6;
}

.mail-button-green {
  background-color: #6EA305;
}
.mail-button-green::after {
  background-image: url(https://www.asahihome.com/reform/assets25/img/arrow04.png);
}
.mail-button-green:hover {
  opacity: 0.6;
}

/* 下部セクション（ロゴ、住所、コピーライト） */
.footer-bottom {
  padding: 40px 20px;
}

.bottom-inner {
  max-width: 1240px;
  margin: 0 auto;
}

.logo-and-address {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 20px;
}

.logo-area {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 314px;
}

.footer-logo {}

.address-info {
  font-size: 16px;
  line-height: 1.8;
}

.address-info p {
  margin: 0;
}

.address-info a {
  color: #000;
  text-decoration: none;
}

.address-info a:hover {
  text-decoration: underline;
}

.copyright {
  font-size: 13px;
  color: #777;
  margin: 0;
}

.contact-inner .flex-wrap {
  position: relative;
  width: 100%;
}

@media (min-width: 769px) {
  .contact-inner .flex-wrap::after {
    position: absolute;
    content: "";
    display: block;
    width: 1px;
    height: 172px;
    background-color: #231815;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 33px;
  }
  .mail-info{
    width: 45%;
  }
}

/* スマートフォン向けのスタイル */
@media all and (max-width: 768px) {
  /* 上部セクション（CONTACTとボタン） */
  .footer-contact {
    padding: 32px 10px 32px;
  }

  .contact-inner .flex-wrap {
    flex-wrap: wrap;
  }

  .contact-inner .flex-wrap::after {
    position: absolute;
    content: "";
    display: block;
    width: 142px;
    height: 1px;
    background-color: #231815;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 0;
    right: 0;
  }

  .contact-info {
    margin-bottom: 20px;
    width: 100%;
  }
  .contact-inner{
    padding: 10px 20px 50px;
  }
  .contact-inner .flex-wrap h3{
    font-size: 14px;
    font-weight: 500;
  }
  .contact-title {
    height: auto;
    margin-right: 20px;
  }

  .tel-number {
    height: auto;
    margin-right: 0;
  }

  .business-hours {
    font-size: 14px;
    margin-top: 5px;
    margin-bottom: 24px;
  }

  .mail-button {
    padding: 24px 35px;
    font-size: 15px;
    max-width: 313px !important;
    margin: 0 auto !important;
  }
  .mail-button::after{
    width: 32px;
    height: auto;
    right: 30px;
  }
  .mail-button-green{
    max-width: 313px !important;
    margin: 47px auto 0 !important;
  }

  /* 下部セクション（ロゴ、住所、コピーライト） */
  .footer-bottom {
    padding: 20px 10px 55px;
  }

  .logo-and-address {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .logo-area {
    margin-bottom: 28px;
    max-width: 270px;
  }

  .address-info {
    font-size: 15px;
    margin-bottom: 20px;
  }

  .copyright {
    font-size: 13px;
    text-align: center;
  }
  .mail-info{
    width: 100%;
  }
}
/*=======================================
top mainvisual-slider
=======================================*/
.mainvisual-wrapper {
  position: relative;
  max-width: 100%;
  margin: 40px auto 30px;
  overflow: visible;
}

/* ページャーのコンテナを、スライダーの下に配置する */
.custom-dots {
  position: static;
  text-align: center;
  margin-top: 20px;
  z-index: auto;
  width: auto;
  height: auto;
  background: transparent;
  border-radius: 0;
}

.custom-dots ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
}

/* スタイルの微調整 */
.custom-dots li {
  margin: 0 5px;
}

.custom-dots li button:before {
  color: #000;
  opacity: 0.5;
  font-size: 12px;
}

.custom-dots li.slick-active button:before {
  opacity: 1;
}

.mainvisual-slider .slick-slide {
  box-sizing: border-box;
}

.mainvisual-slider img {
  width: 100%;
  display: block;
}

/*pc*/
@media all and (min-width:769px) {
  .mainvisual-slider {
    margin: 0 0 70px !important;
  }
  .mainvisual-slider img {
    border-radius: 20px;
    display: block;
  }
  .mainvisual-slider .slick-slide {
    padding: 0 16px;
  }
  .custom-dots ul {
    bottom: -35px !important;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .mainvisual-slider {
    margin: 0 0 35px !important;
  }
  .custom-dots ul {
    bottom: -28px !important;
  }
  .mainvisual-wrapper {
    margin: 0 auto 30px;
  }
}
/*==================================================
イベント情報セクション
==================================================*/
.container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.new-event {
    padding: 69px 0 91px;
    background-color: #F9F7EE;
}

.new-event__heading-wrap {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 57px;
}
.new-event__heading{
  max-width: 553px;
  margin: 0 auto;
}
.new-event__heading-image {
  width: 100%;
  text-align: center;
}

.new-event__link {
  display: flex;
  align-items: center;
  white-space: nowrap;
  color: #333 !important;
  text-decoration: underline;
}

.new-event__link svg {
margin-left: 8px;
transition: transform 0.3s ease;
}

.new-event__link:hover svg {
transform: translateX(5px);
}

.new-event__items {
  display: flex;
  gap: 48px 29px;
  flex-wrap: wrap;
}

.new-event__item {
  width: 24%;
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  max-width: 286px;
}

.new-event__item a {
display: block;
text-decoration: none;
color: inherit;
}

.new-event__date-wrap{}
.new-event__date-wrap .new-event__date{
  margin: 39px 0 36px;
  font-size: 20px;
}

.new-event__thumbnail {
margin: 0;
overflow: hidden;
border-radius: 10px 10px 0 0;
}

.new-event__thumbnail img {
width: 100%;
height: auto;
display: block;
}

.new-event__text-area {
padding: 16px;
}

.new-event__date {
  font-size: 15px;
  color: #231815;
  white-space: break-spaces;
}

.new-event__date span {
  font-size: 14px;
  color: #fff;
  background: #6EA305;
  border-radius: 4px;
  padding: 2px 8px 2px;
  display: inline-block;
  margin: 0 9px 0 0;
}

.new-event__title-text {
  font-size: 18px;
  margin-top: 8px;
  font-weight: normal;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
}

.event-contents figure:not(.new-event__thumbnail){
  margin-top: 40px;
  margin-bottom: 40px;
}

@media all and (max-width: 768px) {
.new-event {
  padding: 40px 0;
}

.new-event__heading-wrap {
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.new-event__heading-image {
  width: auto;
  margin: 0 auto;
}
.new-event__heading{
  padding: 0 24px 0;
}
.top-main .new-event__items {
  overflow-x: scroll;
  white-space: nowrap;
  padding: 0 24px 20px;
  display: block;
}
.page-main .new-event__items {
  padding: 0 20px 0;
}

.top-main .new-event__item {
  display: inline-block;
  width: calc(100% - 40px);
  margin-right: 20px;
  vertical-align: top;
  max-width: 66%;
}

.page-main .new-event__item{
  width: 100%;
  max-width: 100%;
}

.new-event__item:last-child {
  margin-right: 0;
}
.new-event__text-area {
  padding: 0 15px 0;
}
.new-event .container{
  padding: 0;
}
.new-event__link {
  display: block;
  margin: 20px auto 0;
  max-width: 130px;
}

}

/*=======================================
page event
=======================================*/
.event-contents{}
.event-contents .page-contents{}
.event-contents .new-event__items{
  margin: 40px 0 0;
}
hr.wp-block-separator{
  border-top: 1px;
}
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*==================================================
  キャンペーンセクション
==================================================*/
.campaign {
  padding: 72px 0;
}
.campaign .container {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 20px;
}

.campaign-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.campaign-item a {
  display: block;
  text-decoration: none;
}

.campaign-image {
  width: 100%;
  height: auto;
  display: block;
}

/* 768px未満の画面幅では1列にする */
@media all and (max-width: 768px) {
  .campaign-list {
    grid-template-columns: 1fr;
  }
  .campaign {
    padding: 24px 0;
  }
}

/*=======================================
showroom
=======================================*/
.showroom{
  background: #F9F7EE;
  position: relative;
}

.showroom .flex-wrap01 {
  display: flex;
  justify-content: space-between;
  padding: 38px 0 0;
  align-items: end;
}

.showroom__heading-wrap {
}

.showroom__heading.heading-title01 {

}

.showroom__heading.heading-title01 span {

}

.heading-title01 {
  color: #231815;
  font-size: 64px;
  margin: 0;
}

.heading-title01 span {
  color: #6EA305;
  font-size: 18px;
  display: block;
}

.heading-title02 {
  color: #231815;
  font-size: 64px;
  text-align: center;
}

.heading-title02 span {
  color: #6EA305;
  font-size: 18px;
  display: block;
}

.showroom__heading-wrap p {
  margin: 30px 0 36px;
}
.showroom__heading-wrap p a{
  color: #6EA305;
}

.staff-img01 {
  max-width: 276px;
  width: 24%;
  height: auto;
}

.showroom__name {
  background-color: #fff;
  height: 92px;
  border-radius: 8px;
  border: 1px solid #231815;
  max-width: 348px;
  width: 100%;
  text-align: center;
  padding: 29px 0 29px;
  font-size: 20px;
  margin: 0 49px 0 0;
}

.showroom__address {
  margin: 0;
  line-height: 1.8;
}


.showroom__thumbnail-area {
  overflow: hidden;
  margin-top: 79px;
  background: linear-gradient(180deg, #F9F7EE 0%, #F9F7EE 50%, #fff 50%, #fff 100%);
}

.showroom__thumbnail-list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  animation: scroll-left 30s linear infinite;
}

.showroom__thumbnail-list-item {
  flex: 0 0 auto;
  width: 25%;
  padding: 0 10px;
}

.showroom__thumbnail-list-item img {
  width: 100%;
  height: auto;
  display: block;
}

@keyframes scroll-left {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}


.showroom-web-reserve{
  max-width: 1240px;
  background: #fff;
  border-radius: 20px;
  text-align: center;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}
.showroom-web-reserve .contents-wrap{
  max-width: 1040px;
  display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.showroom-tel{
  max-width: 428px;
  width: 100%;
}
.web-reserve{
  max-width: 501px;
  width: 100%;
  margin: 0 auto;
}

/*pc*/
@media all and (min-width:769px) {
  .showroom .flex-wrap02 {
    display: flex;
    align-items: center;
    margin: 42px auto 0;
  }
  .showroom__heading-wrap p {
    font-size: 17px;
    line-height: 1.8;
  }
  .showroom-tel{
    margin: 10px auto;
  }
  .showroom-web-reserve{
    margin: 42px auto 72px;
    padding: 34px 20px 34px;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .heading-title01, .heading-title02 {
    font-size: 36px;
  }
  .heading-title01 span, .heading-title02 span{
    font-size: 14px;
  }
  .showroom-img-l {
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
  }
  .showroom-img-l img{
    width: 100%;
  }
  .showroom__thumbnail-area {
    margin-top: 0;
  }
  .showroom__thumbnail-list-item {
    width: 50%;
  }
  .staff-img01 {
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
  }
  .showroom .flex-wrap02{}
  .showroom__name{
    max-width: 272px;
    height: 72px;
    padding: 23px 20px 0;
    font-size: 15px;
    margin: 24px auto 20px;
  }
  .showroom__address{
    text-align: center;
    margin: 30px 0 36px;
  }
  .showroom-tel{
    margin: 0 auto;
    max-width: 279px;
  }
  .showroom-web-reserve{
    margin: 19px auto 32px;
    padding: 28px 11px 28px;
  }
}
/*=======================================
reformmenu
=======================================*/
#reformmenu{
  background-repeat: repeat-x;
  background-position: top center, bottom center;
  background-color: #F4F9EE;
}

#reformmenu .flex-wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  height: auto;
  align-items: flex-start;
  margin: 78px 0 0;
}
#reformmenu .flex-wrap a, #reformmenu .flex-wrap div{
  display: block;
  max-width: 284px;
  height: auto;
  margin: 0 0 34px;
}
#reformmenu .flex-wrap a img{
  border-radius: 8px;
}

/*pc*/
@media all and (min-width:769px) {
  #reformmenu .flex-wrap a, #reformmenu .flex-wrap div{
    width: 25%;
  }
  #reformmenu{
    background-image: url(https://www.asahihome.com/reform/assets25/img/reformmenu-img01-pc.jpg),url(https://www.asahihome.com/reform/assets25/img/reformmenu-img02.png);
    background-size: 1920px, 830px;
  }
  #reformmenu .container{
    padding: 62px 24px 150px;
    margin: 112px auto 0;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  #reformmenu{
    background-image: url(https://www.asahihome.com/reform/assets25/img/reformmenu-img01-sp.jpg),url(https://www.asahihome.com/reform/assets25/img/reformmenu-img02.png);
    background-size: contain;
  }
  #reformmenu .flex-wrap a{
    width: 48%;
    margin: 0 0 15px;
  }
  #reformmenu .container{
    padding: 62px 24px 50px;
    margin: 48px auto 0;
  }
  .reformmenu__heading{
    margin: 10px 0 0;
  }
  #reformmenu .flex-wrap{
    margin: 36px 0 0;
  }
}

/*=======================================
service-area
=======================================*/
.service-area{
  background-color: #F4F9EE;
}
.service-area .container{
  background-image: url(https://www.asahihome.com/reform/assets25/img/area-img01-pc.png);
  background-position: right top;
  background-size: contain;
  background-repeat: no-repeat;
  padding: 80px 0 120px;
}
.service-area__heading-wrap{}
.service-area__heading{
  margin: 0 0 40px;
}
.service-area .large-text{
  font-size: 22px;
}
.service-area p{}
.mail-button-green{
  background-color: #6EA305;
  margin: 47px 0 0;
  max-width: 472px;
}
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {
  .service-area .container{
    background-position: center bottom;
    background-size: 100% 360px;
    padding: 60px 20px 370px;
  }
  .service-area .large-text{
    font-size: 16px;
    font-weight: 500;
  }
}

/*=======================================
works
=======================================*/
.works__heading-wrap{
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.works__item a {
  text-decoration: none;
}
.works__cat{
  margin: 0 0 10px;
  background: #231815;
  display: inline-block;
  color: #fff;
  border-radius: 25px;
  padding: 4px 20px 4px;
  min-width: 158px;
  text-align: center;
}
.works__title-text{
  margin: 0;
  color: #231815;
  font-size: 24px;
}
.works__text-area{
  margin: 20px 0 34px;
}
.works-catchcopy{
  font-size: 24px;
  color: #6EA305;
  margin: 0 0 30px;
}

/*pc*/
@media all and (min-width:769px) {
  .works{
    padding: 90px 0 0;
  }
  .works__thumbnail img{
    object-fit: cover;
    width: 390px;
    height: 520px;
  }
  .works__item {
    max-width: 390px;
    margin: 0 10px;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .works{
    padding: 60px 0 0;
  }
  .works__slider-area{
    margin-left: -24px;
    margin-right: -24px;
    width: calc(100% + 48px);
  }
  .works__heading-wrap{
    margin: 0 0 22px;
  }
  .works .arrow__link{
    display: block;
    margin: 70px auto 0;
    max-width: 130px;
  }
  .works-catchcopy{
    font-size: 20px;
  }
  .works__thumbnail img{
    object-fit: cover;
    aspect-ratio: 255 / 341;
  }
  .works-contents .works__thumbnail img{
    object-fit: cover;
    aspect-ratio: 255 / 341;
  }
  .works__item {
    margin: 0 10px;
  }
  .works-contents .works__item {
    width: 100%;
    margin: 0;
  }
}
/*=======================================
voices
=======================================*/
.voices{
  background-color: #F9F7EE;
  margin: 90px 0 0;
}
.voices .container{
  background-image: url(https://www.asahihome.com/reform/assets25/img/voice-img01-pc.png);
  background-repeat: no-repeat;
}
.voices__heading-wrap{
  display: flex;
  justify-content: space-between;
  align-items: end;
}
.voices__slider-area{}
.voices__items{
  display: flex;
  justify-content: end;
  align-items: flex-start;
  height: auto;
}
.voices__item{
  text-align: center;
}
.voices__item a{
  text-decoration: none;
}
.voices__thumbnail{}
.voices__title-text{
  color: #231815;
}
.voices__text-area{}
/*pc*/
@media all and (min-width:769px) {
  .voices .container{
    background-size: 369px;
    background-position: 0% 100%;
    padding: 80px 20px 95px;
  }
  .voices__item{
    max-width: 272px;
    margin: 0 0 0 44px;
  }
  .voices__title-text{
    font-size: 20px;
  }
}
/*sp*/
@media all and (max-width: 768px) {
.voices__slider-area {
  overflow: scroll;
  margin-left: -24px;
  margin-right: -24px;
  width: calc(100% + 48px);
}
  .voices__items{
    width: 600px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    margin: 10px 0 0;
    display: flex;
  }
  .voices__item{
    padding: 0 15px;
    scroll-snap-align: center;
  }
  .voices .container{
    background-size: 228px;
    background-position: bottom center;
    padding: 80px 20px 315px;
  }
.voices .arrow__link{
  display: block;
  margin: 30px auto 0;
  max-width: 130px;
}
.voices-contents .flex-wrap{
  justify-content: space-between;
}
.voices__title-text{
  font-size: 17px;
}
}
/*=======================================
points
=======================================*/
.points__container{
  max-width: 1660px;
  margin: 0 auto;
  background-color: #F4F9EE;
  border-radius: 40px;
  background-image: url(https://www.asahihome.com/reform/assets25/img/point-img02.png);
  background-repeat: no-repeat;
  background-size: 529px;
  background-position: 0% 2%;
  padding: 0 0 84px;
}
.points__heading-wrap{
  text-align: center;
  padding: 71px 20px 35px;
}
.points__heading{
  font-size: 52px;
  padding: 54px 0 40px;
  margin: 0;
  background-image: url(https://www.asahihome.com/reform/assets25/img/point-img01.png);
  background-repeat: no-repeat;
  background-size: 46px;
  background-position: top center;
}
.points__heading span{
  color: #6EA305;
}

.point-list{
  max-width: 1240px;
  margin: 0 auto 44px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

.point-list .text-wrap{
  max-width: 684px;
  width: 55%;
  padding: 30px 20px 30px;
  border-radius: 0 10px 10px 0;
}
.point-list .text-wrap h3{
  max-width: 600px;
  margin: 0 auto;
}
.point-list .text-wrap h3 img{
  max-width: 600px;
  width: 100%;
}
.point-list .text-wrap p{
  max-width: 559px;
  margin: 17px auto 0;
}
/*pc*/
@media all and (min-width:769px) {
  .points{
    padding: 85px 20px 108px;
  }
  .point-list img:not(.point-list .text-wrap h3 img) {
      width: 556px;
      height: 372px;
      object-fit: cover;
      border-radius: 10px 0 0 10px;
  }
  .point-list-last img:not(.point-list .text-wrap h3 img) {
    height: 447px;
  }
  .point-list .text-wrap p{
    font-size: 18px;
    line-height: 1.8;
  }
  .points__heading-wrap p{
    font-size: 17px;
    line-height: 1.8;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .points{
    padding: 32px 10px;
  }
  .points__heading{
    font-size: 26px;
    padding: 61px 0 13px;
    background-size: 40px;
  }
  .point-list{
    flex-wrap: wrap;
    width: calc(100% - 48px);
    margin: 0 auto 24px;
  }
  .point-list img:not(.point-list .text-wrap h3 img) {
    width: 100%;
    border-radius: 10px 10px 0 0;
  }
  .point-list .text-wrap{
    width: 100%;
    border-radius: 0 0 10px 10px;
    padding: 14px 10px 24px;
  }
  .points__container{
    background-size: 220px;
    padding: 0 0 5px;
    border-radius: 20px;
  }
  .points__heading-wrap{
    padding: 39px 20px 12px;
  }
  .points__heading-wrap p {
    text-align: left;
}
.point-list .text-wrap p{
    padding: 0 15px 0;
}
}
/*=======================================
page,archive,single common
=======================================*/
.page-header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 260px; /* PCの高さ */
  background-size: cover;
  background-position: center;
  color: #fff;
  text-align: center;
}

.page-header__inner {
  position: relative;
  z-index: 2;
  margin: 8px 0 0;
}

.page-header h1 {
  font-size: 64px;
  margin: 0;
  line-height: 1;
}

.page-header__sub {
  font-size: 18px;
  margin: 15px 0 0;
}

/* 背景画像切り替え */
.page-header--reform, .page-header--privacy {
  background-image: url('https://www.asahihome.com/reform/assets25/img/page-header-img.jpg');
}

.page-header--works {
  background-image: url('https://www.asahihome.com/reform/assets25/img/works-header-img.jpg');
}

.page-header--voices {
  background-image: url('https://www.asahihome.com/reform/assets25/img/voices-header-img.jpg');
}

.page-header--event {
  background-image: url('https://www.asahihome.com/reform/assets25/img/event-header-img.jpg');
}

.page-main{
  background-color: #F9F7EE;
}

.page-contents{
  max-width: 1240px;
  margin: 0 auto;
  padding: 50px 0 60px;
}
.page-contents h2{
  font-size: 28px;
  background: #fff;
  padding: 10px 20px 10px;
  font-weight: normal;
  margin: 40px 0 20px;
}
.page-contents p{
  font-size: 17px;
  line-height: 1.8;
}
.page-contents img{}

/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {
  .page-header {
    height: 150px;
  }
  .page-header h1 {
    font-size: 34px;
    margin: 0;
  }
  .page-header__sub {
    font-size: 16px;
    margin-top: 5px;
  }
  .page-contents{
    padding: 10px 20px 60px;
  }
  .page-contents h2{
    font-size: 20px;
  }
  .works-comparison h3{
    border-left: 8px solid;
    font-size: 20px;
  }
}
/*=======================================
breadcrumb
=======================================*/
.breadcrumb {
  background-color: #fff;
  max-width: 1240px;
  margin: 0 auto;
  padding: 8px 16px;
  font-size: 14px;
}

.breadcrumb a {
  color: #333;
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
page-voices
=======================================*/
.voices-contents{}
.voices-contents .flex-wrap{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    height: auto;
}

/*pc*/
@media all and (min-width:769px) {
  .voices-contents .flex-wrap{
      justify-content: flex-start;
  }
  .voices-contents .flex-wrap article{
    width: 25%;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .voices-contents .flex-wrap article{
    width: 48%;
  }
}
/*=======================================
works
=======================================*/
.works-cat{
  max-width: 1240px;
  margin: 0 auto;
}
.works-cat-top{
  padding: 50px 20px 0;
}
.works-cat-bottom{
  padding: 0 0 50px;
}
.works-cat-list{
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: start;
  max-width: 1040px;
  flex-wrap: wrap;
}
.works-cat-item{
  margin: 0 6px 16px;
}
.works-cat-item a{
  background: #fff;
  border-radius: 30px;
  border: 1px solid #707070;
  font-size: 17px;
  color: #231815;
  text-decoration: none;
  padding: 9px 38px 9px;
  display: block;
}
.cat-list-title{
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  position: relative;
  text-align: center;
  margin: 46px auto 53px;
}

.cat-list-title::before,
.cat-list-title::after {
  content: "";
  flex: 1;
  border-top: 1px solid #333;
}

.cat-list-title::before {
  margin-right: 1em;
}

.cat-list-title::after {
  margin-left: 1em;
}

.cat-list-title span {
  background: #F9F7EE;
  font-size: 18px;
  padding: 0.3em 1em;
  display: inline-flex;
}

/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {
  .works-cat-item a{
    padding: 9px 26px 9px;
  }
}

/*=======================================
page works
=======================================*/
.works-contents{}
.works-contents .flex-wrap{
  display: flex;
  flex-wrap: wrap;
}
.works-comparison{
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: auto;
  margin: 30px 0 60px;
}

.works-comparison__before, .works-comparison__after{
  max-width: 584px;
}

.works-comparison h3{
  border-left: 10px solid;
  padding-left: 15px;
  margin: 0 0 15px;
  font-size: 26px;
  font-weight: normal;
}
.works-comparison__before h3{
  border-color: #6EA305;
}
.works-comparison__after h3{
  border-color: #D26200;
}

/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {
  .works-comparison{
    flex-wrap: wrap;
    justify-content: center;
  }
  .works-comparison .arrow{
    display: inline-block;
    transform: rotate(90deg);
  }
  .works-comparison__before{
    margin: 0 0 20px;
  }
  .works-comparison__after{
    margin: 10px 0 0;
  }
}
/*=======================================
rvform
=======================================*/
#rvform{}
table{
  border-collapse:  collapse;
}
table tr{}
table tr th, table tr td{
  border: 1px solid #ccc;
  padding: 15px 20px 15px;
}
table tr th{
  background: #F4F9EE;
}
#rvform table tr th span.required{
background: orangered;
    display: inline-block;
    margin-left: 8px;
    padding: 0 8px;
    font-size: 0.8rem;
    color: #fff;
    border-radius: 6px;
}

table tr td{}
#rvform table tr th p, #rvform table tr td p{
  margin: 0;
  font-weight: normal;
  text-align: left;
}

.submit-btn{
  text-align: center;
  margin: 60px 0 100px;
}
.submit-btn p{}
#rvform input[type="submit"]{
  background: #d26200;
  color: #ffff;
  font-size: 24px;
  padding: 20px 70px 20px;
  border-radius: 50px;
}
#rvform select, #rvform input[type="text"], #rvform input[type="tel"], #rvform input[type="email"]{
  padding: 5px 10px 5px;
  border-radius: 4px;
  max-width: 336px;
  width: 100%;
}
 #rvform textarea{
   padding: 5px 10px 5px;
 }
 .wpcf7-spinner{
   display: none;
 }

.wpcf7-list-item{
  display: inline-block;
  margin: 0 1em 0.5em 0;
}

/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {
  table tr th, table tr td{
    display: grid;
  }
}
/*=======================================
slider
=======================================*/
.slick-dots li.slick-active button:before{
  color: #6EA305 !important;
}
.slick-dots li button:before{
  color: #D8D8D8 !important;
  opacity: 1 !important;
  font-size: 12px !important;
}
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
pagination
=======================================*/
.pagination {
  display: flex;
  justify-content: center;
  margin: 40px 0 60px;
}


.nav-links{
   display:flex;
}
.page-numbers{
  display:inline-block;
  margin-right:10px;
  padding: 7px 15px;
  color:#231815;
  border-radius:50%;
  background:#ffffff;
  border: 1px solid #707070;
  text-decoration: none;
}
.page-numbers.current{
   background:#6EA305;
   border: 1px solid #6EA305;
   color:#ffffff;
}
.page-numbers.prev, .page-numbers.next{
  background: transparent;
  box-shadow: none;
  border: none;
  color: #666666;
  margin: 0;
  padding: 0;
}
.page-numbers.dots{
   background:transparent;
   box-shadow:none;
     border:none;
   color:#231815;
}

.page-numbers img{
  width: 40px;
  height: 40px;
}

.screen-reader-text{
  display: none !important;
}

/* レスポンシブデザインのためのメディアクエリ */
@media (max-width: 600px) {}
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
page-id-76
=======================================*/
/*pc*/
@media all and (min-width:769px) {
  .page-id-76 .page-contents{
      padding: 90px 0px 60px;
  }
}
/*sp*/
@media all and (max-width: 768px) {
  .page-id-76 .page-contents{
      padding: 40px 20px 60px;
  }
}

/*=======================================
common
=======================================*/
/*media
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}

/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}

/*=======================================
common
=======================================*/
/*media
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}

/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}

/*=======================================
common
=======================================*/
/*media
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}

/*=======================================
header
=======================================*/
/*header
_______________________________________*/
/*pc*/
@media all and (min-width:769px) {}
/*sp*/
@media all and (max-width: 768px) {}
/*=======================================

/*campaign*/
header.page-header--campaign{
  height: fit-content;
}

.pair{
  position: relative;
  display: flex;
  align-items: stretch;
  gap: clamp(12px, 2.5vw, 32px);
}

/* 画像カード */
.pair__card{
  margin: 0;
  flex: 1 1 0;
  display: grid;              /* 画像の比率維持＋はみ出し防止用 */
  place-items: center;
}
.pair__card img{
  width: 100%;
  height: auto;               /* 画像の角丸や枠は画像に含まれる想定 */
  display: block;
}

/* 中央の＋（丸ボタン） */
.pair__plus{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: clamp(48px, 6vw, 72px);
  height: clamp(48px, 6vw, 72px);
  border-radius: 50%;
  background: #79b6cf;        /* 画像の見出しタブに近い色 */
  color: #fff;
  font-weight: 900;
  font-size: clamp(24px, 3vw, 40px);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 0 rgba(0,0,0,.08);
  z-index: 2;
}

/* スマホ：縦積みにして「＋」を2枚の間へ */
@media (max-width: 767px){
  .pair{ flex-direction: column; }
  .pair__plus{
    position: relative;
    left: auto; top: auto; transform: none;
    margin: -6px auto;        /* 2画像の間に重ね気味で配置 */
  }
}


.balloon {
display: inline-block;
    position: relative;
    padding: 12px 28px;
    border: 2px solid #66aacc;
    border-radius: 4px;
    background: no-repeat;
    font-size: 28px;
    line-height: 1.6;
    text-align: center;
    width: 100%;
    font-weight: 500;
    letter-spacing: 2px;
}

/* 下の三角部分 */
.balloon::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -12px; /* 枠の下からはみ出す距離 */
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #66aacc; /* 枠と同じ色 */
}

/* 内側を白く塗って中抜き風にする場合 */
.balloon::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -9px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-top: 11px solid #fffdf6;
    z-index: 2;
}


.page-main--campaign .page-contents{
  max-width: 980px;
}



.page-main--campaign .page-contents h2.page-contents-title{
    background: none;
    text-align: center;
    font-weight: 500;
    letter-spacing: 2px;
    font-size: 28px;
    color: #6ea304;
}

.page-main--campaign section{
    padding-bottom: 40px;
    margin-bottom: 60px;
    max-width: 750px;
    margin: 40px auto 60px;
}

.page-main--campaign .section01{
    border-bottom: 1px solid #777;
}

.page-main--campaign .section01 img{
    display: block;
    margin: 40px auto;
    width: 100%;
    max-width: 750px;
}

.page-main--campaign .section01 p.text{
    text-align: center;
    font-weight: 600;
    letter-spacing: 2px;
    font-size: 28px;
}

.page-main--campaign .section02 p.text{
    text-align: center;
    font-weight: 600;
    letter-spacing: 2px;
    font-size: 28px;
}

.page-main--campaign .section02 p.text span{
color:#66A8C6;
}

.page-main--campaign .section02 h3{
color: #66A8C6;
    text-align: center;
    font-weight: 400;
    letter-spacing: 1px;
    font-size: 28px;
    margin: 40px auto;
}


.page-main--campaign .section01 .flex-wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 25px;
}

.page-main--campaign .section01 .flex-wrap .item img{
max-width: 360px;
}

.page-main--campaign .section02 h4.reform{
    background: #6ea304;
    width: 340px;
    font-size: 28px;
    text-align: center;
    padding: 4px 10px;
    border-radius: 38px;
    display: block;
    margin: 40px auto;
    color: #fff;
    font-weight: 500;
}

.page-main--campaign .section02 h4.new-build{
    border: 2px solid #6ea304;
    width: 340px;
    font-size: 28px;
    text-align: center;
    padding: 4px 10px;
    border-radius: 38px;
    display: block;
    margin: 40px auto;
    color: #6ea304;
    font-weight: 500;
}

.page-main--campaign .section02 .reform-flex{
  display: flex;
  gap: 30px;
}

.page-main--campaign .section02 .reform-flex .item span{
  display: inline-block;
  margin: 0 8px;
  letter-spacing: 2px;
    color: #6ea304;
}

.page-main--campaign .section02 span.strong{
    font-weight: 600;
}

@media screen and (min-width: 769px){
  .sp{
    display: none;
  }

}

@media screen and (max-width: 768px){
  .pc{
    display: none;
  }
  .page-main--campaign .page-contents h2.page-contents-title {
    font-size: 26px;
    margin: 0;
    padding: 0;
}

.page-main--campaign .section01 p.text {
    font-size: 18px;
}
.page-main--campaign .section01 .flex-wrap .item img {
    margin: 0;
}
.page-main--campaign .section02 p.text {
    font-size: 21px;
}.page-main--campaign .section02 h3 {
    font-size: 21px;
}
.balloon {
    font-size: 18px;
}
.page-main--campaign .section02 .reform-flex .left{
    width: 25%;
}
.page-main--campaign .section02 .reform-flex .left{
    width: 25%;
}
.page-main--campaign .section02 .reform-flex .right{
    width: 75%;
}
}

select.rv-time{
  margin-top: 8px;
}

.rv-date-wrap { position: relative;}
.rv-date-wrap .fake-ph {
  position: absolute; left: 12px; top: 50%; transform: translateY(-50%);
  color: #999; pointer-events: none; white-space: nowrap; font-size: .95em;
}
.rv-date-wrap.has-value .fake-ph { display: none; }
