
/*装飾*/
p {
  font-size: 1.1rem !important;
}
.sp-text-left {
 text-align: left;
}

.text-h2 {
  font-size: 1.8rem;
}
.text-h4 {
  font-size: 1.5rem;
}
.yellow-text {
  color: #FFC107;
}
.fs-08 {
  font-size: .8rem;
}
.fs-12 {
  font-size: 1.2rem;
}
.fs-15 {
  font-size: 1.5rem;
}
.fs-25 {
  font-size: 2.5rem;
}
.fs-2 {
  font-size: 2rem !important;
}
.fs-22 {
  font-size: 2.2rem;
}
.fs-3 {
  font-size: 1.8rem !important;
}
.fs-36 {
  font-size: 36px !important;
}
.f-borld {
  font-weight: bold;
}
.f-borld600 {
  font-weight: 600;
}
.text-or {
 color: #fec200;
}
.text-blu {
 color: #00559a;
}
.letter-01 {
  letter-spacing: .1rem;
}
.letter_01 {
  letter-spacing: -0.1rem;
}
.border-r {
  border-right:none;
}
.fukuro-or {
  color: #000;
  font-weight: bold;
  text-shadow: 
    1px 1px 0 #fec200,
   -1px 1px 0 #fec200,
    1px -1px 0 #fec200,
   -1px -1px 0 #fec200,
    1px 0 0 #fec200,
   -1px 0 0 #fec200,
    0 1px 0 #fec200,
    0 -1px 0 #fec200;
}
.fukuro-wh {
  text-shadow: 
    1px 1px 0 #fff,
   -1px 1px 0 #fff,
    1px -1px 0 #fff,
   -1px -1px 0 #fff,
    1px 0 0 #fff,
   -1px 0 0 #fff,
    0 1px 0 #fff,
    0 -1px 0 #fff;
}
.margin-a{ margin: auto;}
.mt-30 {margin-top: 30px !important;}
.mt-50 {margin-top: 50px !important;}

.padding-5 { padding: 5px !important;}
.text-center { text-align: center;}


@media (min-width: 768px) {
.sp-text-left {
 text-align: center;
} 
.text-h2 {
  font-size: 2.8rem;
}
.text-h4 {
  font-size: 1.75rem;
}

.fs-3 {
  font-size: 3rem !important;
}
.fs-2 {
  font-size: 3rem !important;
}
.fs-22 {
  font-size: 3rem;
}
}

@media (min-width: 991px) {
.border-r {
  border-right:2px solid #00559a;
}
}
.text-center {
  text-align: center;
}
.under-line {
  position: relative;
  display: inline-block;
  padding-bottom: 10px; /* 下線との距離調整 */
}

.under-line::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 80px; 
  height: 4px; 
  background-color: #00559a;
}
/* ▼付きカバー */
.cover-with-arrow {
  position: relative;
  overflow: visible;
  z-index: 1;
}

/* つぶれた三角形 ▼ */
.cover-with-arrow::after {
  content: "";
  position: absolute;
  bottom: -40px; /* カバーの外にはみ出す位置 */
  left: 50%;
  transform: translateX(-50%);
  width: 150px;  /* 横幅を広めにする */
  height: 40px; /* 縦を低くすることで「つぶれた形」に */
  background: url('https://energy-partner.net/web/wp-content/uploads/arrow.png') no-repeat center;
  background-size: contain;
  z-index: 10;
}


.wp-block-buttons .wp-block-button__link {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
/*カスタムボタン*/
.custom-btn {
  display: block;
  width: 90%;
  margin: 100px auto; 
  background-color: #0188c8;
  color: #fff;
  padding: 20px 5px;
  border-radius: 10px;
  font-size: 1.8rem; 
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: all 0.3s ease;
}

.custom-btn:hover {
  background-color: #005c87;
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
@media (min-width: 769px) {
  .custom-btn {
width: 50%;
font-size: 2rem;
}
}
/*recyapcha非表示*/
.grecaptcha-badge {
  visibility: hidden;
}

/* ===== header ===== */
#site-header {/*デフォルトhedder*/
 display: none;
}
@media screen and (max-width: 768px) {
  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background: #fff; /* 背景色が透けないように */
  }
  /* フロントページ以外だけに余白を追加 */
  body:not(.home) {
    padding-top: var(--header-height, 40px);
  }
}
.header-inner {
  display: flex;
  justify-content: space-between; /* 左右に配置 */
  align-items: center;            /* 縦中央揃え */
  padding: 10px 20px;
  position: relative;
  z-index: 10000;
  background-color: #00559a;
}

.site-logo {
  display: flex;
  align-items: center;
}

/* ハンバーガーボタン */
.vk-mobile-nav-menu-btn {
 display: none;/*デフォルトトグル*/
}
.menu-toggle {
  display: inline-block;
  cursor: pointer;
  border: none;
  background: none;
  width: 30px;
  height: 24px;
  position: relative;
  z-index: 10001;
}

.menu-toggle span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: #fff;
  transition: all 0.3s ease;
}
.menu-toggle span:nth-child(1) { top: 0; }
.menu-toggle span:nth-child(2) { top: 10px; }
.menu-toggle span:nth-child(3) { top: 20px; }

/* ハンバーガー active（×） */
.menu-toggle.active span:nth-child(1) { transform: rotate(45deg); top: 10px; }
.menu-toggle.active span:nth-child(2) { opacity: 0; }
.menu-toggle.active span:nth-child(3) { transform: rotate(-45deg); top: 10px; }

/* ===== main-nav（スマホ用） ===== */
.main-nav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 250px;
  height: 100%;
  background: #3d3e55f0;
  box-shadow: -2px 0 8px rgba(0,0,0,0.2);
  transition: right 0.3s ease-in-out;
  padding: 60px 20px;
  z-index: 9999;
}

.main-nav.active { right: 0; }
.main-nav ul li {
  margin-bottom: 20px;
  font-size: 1.2rem;
}
.main-nav ul li a {
    color: #ffffff;
}

/* ===== PC用 ===== */
@media (min-width: 769px) {
  .menu-toggle { display: none; }

  .main-nav {
    position: static;
    width: auto;
    height: auto;
    background: none;
    box-shadow: none;
    padding: 0;
  }

  .nav-menu {
    display: flex;
    gap: 20px;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .nav-menu li { display: inline-block; }

  .nav-menu a {
    text-decoration: none;
    color: #fff;
    padding: 10px 0;
  }
}


/* ===== main visual=======*/

.front-page-hero {
  position: relative;
  height: 75vh;
  background: url("../img/office.png") no-repeat center center;
  background-size: cover;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.hero-content {
  position: relative;
  z-index: 2;
}

.corner-image {
  position: absolute;
  bottom: -10%;
  right: 0;
  height: auto;
  z-index: 1;
}
.hero-content img {
  position: relative;
  z-index: 2; 
}

.hero-animation {
  position: absolute;
  top: -25%;
  left: -25%;
  width: 150%;
  height: 150%;
  background: radial-gradient(circle, #ffffffa1 0%, #e0e0e0ad 100%);
  animation: rotateBackground 20s linear infinite;
  transform-origin: center center;
  z-index: 1;
}
@keyframes rotateBackground {
  0% {
    transform: rotate(0deg) scale(1);
  }
  50% {
    transform: rotate(180deg) scale(1.1);
  }
  100% {
    transform: rotate(360deg) scale(1);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .front-page-hero {
    height: 80vh;
  }
}

@media (max-width: 1024px) {
  .corner-image {
    display: none;
  }

}

/*2027年問題*/
.title-line {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin-bottom: 0 !important;
}

.title-line:before, .title-line:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: black;
}

.title-line:before {
  left:0;
}
.title-line:after {
  right: 0;
}



/*蛍光灯→LED比較*/
.office-right {
  position: relative;
  text-align: center;
  border: 1px solid #00559a;
}
.office-right .wp-block-columns {
  margin-top: 0;
  padding: 50px 10px 60px 10px;
}
.office-right .title-r {
 background-color: #00559a;
 color: #fff;
 font-size: 1.3rem;
}
.office-right .success-text {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block; 
  background-color: #8bc34a;
  padding: 5px;
  border-radius: 10px;
  font-size: 1.5rem !important;
  width: 80%;
  font-weight: bold;
  margin-top: 10px;
}
.office-right .success-text .span-borld {
  color: #fff; /* 文字色（緑） */
  font-weight: bold;
  font-size: 3rem;

  /* 白い縁取り（四方向に影を重ねる） */
  text-shadow: 
    1px 1px 0 #145f27,
   -1px 1px 0 #145f27,
    1px -1px 0 #145f27,
   -1px -1px 0 #145f27,
    1px 0 0 #145f27,
   -1px 0 0 #145f27,
    0 1px 0 #145f27,
    0 -1px 0 #145f27;
}


.hikaku_colum {
  margin-top: 50px;
}

.hikaku_colum .wp-block-column {
  text-align: center;
}
.hikaku_colum .wp-block-column .wp-block-group {
  display: inline-block;
  text-align: left;
}

@media (min-width: 768px) {
.office-right .success-text {
  padding: 20px;
  font-size: 2rem !important;
  letter-spacing: .1rem;
}
.office-right .title-r {
 font-size: 1.8rem;
}
}
/*3つのメリットカバー*/
.merit-cover {
  border: 2px solid #00559a; 
  border-radius: 10px;
  padding: 20px;
  background-color: #fff;
}


/*3つのメリットカラム*/
.merit-colum .wp-block-column {
  box-shadow: 3px 5px 5px #cdcdcd;
}
.merit-colum .wp-block-column h4 {
  background-color: #00559a;
  padding: 1rem;
  color: #fff;
}
.merit-colum .wp-block-column .grant {
 background-color: #002b4f;
}
.merit-colum .wp-block-column .wp-block-group {
  padding: 10px 15px !important;
  font-size: 1.1rem;
  letter-spacing:0.1rem;
  margin: 0;
}
.merit-colum .wp-block-column .wp-block-group p {
  margin: auto;
}
/*取付場所の確認*/
.possession-text h6 {
  background-color: #ffffff;
  border: 1px solid #155392;
  padding: 10px;
  color: #155392;
}

@media (max-width: 768px) {
.possession .wp-block-group {
  padding: 10px 0px !important;
}
}

/*3つのサービス*/
.service-colum h2 { 
  font-size: 2.2rem;
}

.service-colum .service3 {
  margin-top: 100px;
  margin-bottom: 100px;
}
.service-colum .service3 .wp-block-column {
  background-color:#ffffff36;
  padding: 20px;
}


@media (min-width: 769px) {
.service-colum h2 { 
  font-size: 2.8rem;
}

}

/*追従バナー*/


.banner-box {
  position: fixed;
  bottom: 20px;         /* 画面下からの距離 */
  right: 20px;          /* 画面右からの距離 */
  z-index: 9999;        /* 他の要素より前面に表示 */
  background-color: #fec400;
  color: #fff;
  padding: 16px 10px;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  font-family: "Noto Sans JP", sans-serif;
  display: flex;
  align-items: center;
  max-width: 130px;
  height: 130px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.banner-box:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.banner-text {
    background-color: #fff;
    padding: 5px;
    border-radius: 50%;
    letter-spacing: -0.1rem;
}
.banner-text .main-text {
  font-size: 14px !important;
  font-weight: bold;
  margin: 0;
  color: #000;
  border-bottom: 2px solid #000; 
  display: inline-block; 
}

.banner-text .sub-text {
  font-size: 14px;
  color: #000; 
  margin: 4px 0 0;
  font-weight: bold;
}



/*SHOP追従ボタン*/

.follow-botton,
  .follow-shop-botton {
    display: none;
  }

.follow-botton:hover,
.follow-shop-botton:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  color: #000;
}

@media screen and (min-width: 768px) {
  .follow-shop-botton {
  position: fixed;
  right: 10px;
  bottom: 7%;
  min-width: 190px;
  height: 50px;
  border-radius: 25px;
  z-index: 9999;
  background-color: #fbff07;
  color: #000;
  font-weight: 600;
  display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s 
ease, box-shadow 0.3s 
ease;
}
/*見積もり追従ボタン*/
.follow-botton {
  position: fixed;
  right: 10px;
  bottom: 14%;
  min-width: 190px;
  height: 50px;
  border-radius: 25px;
  z-index: 9999;
  background-color: #8bc34a;
  color: #000;
  font-weight: 600;
  display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-decoration: none;
    transition: transform 0.3s 
ease, box-shadow 0.3s 
ease;
}
}

/* スマホボタンスタイル */
.mobile-button {
  flex: 1;
  height: 50px;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background-color 0.3s ease;
  gap: 6px; /* ← 画像と文字の間に少し余白 */
}
.mobile-button img {
  width: 24px;
  height: 24px;
  display: block;
}

/* 固定ボタンコンテナ */
.mobile-fixed-buttons {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  z-index: 9999;
}


/* 個別ボタン色 */
.mobile-button.estimate {
  background-color: #fbff07;
  color: #000000;
}

.mobile-button.call {
  background-color: #fbff07;
  color: #000000;
  border-left: 1px solid #000;
}

/* ホバー効果 */
.mobile-button:hover {
  opacity: 0.85;
}


@media screen and (min-width: 768px) {
  .mobile-fixed-buttons {
    display: none;
  }
}


/*****footer.php********/
.site-footer-copyright,
.footer-nav {
 display: none;
}
.custom-site-footer {
  background-color: #00559a;
  margin-bottom: 0;
  text-align: center;
  padding-bottom: 50px;
}
.custom-site-footer p {
  font-size: 12px !important;
  color: #fff;
  margin-bottom: 0;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .custom-site-footer {
    padding-bottom: 0;
  }
}

