/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/



/* /////////// */
/* RESET */
/* /////////// */

/* 基本のリセットCSS（最小限） */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
img,
ol,
ul,
li,
table,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
}

/* ボックスサイズを統一 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* HTML5 要素のデフォルト表示を保証 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* body の基本行間 */
body {
  line-height: 1.5;
}

/* リストのデフォルトを消す */
ol,
ul {
  list-style: none;
}

/* 引用符を消す */
blockquote,
q {
  quotes: none;
}

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

/* 表の罫線崩れ防止 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

h2,
h2.is-style-vk-heading-plain {
  margin: 0.67em 0;
  padding: 0;
  border: none;
  background: none;
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.4;
}


h3 {
  border: none;
}

h3:after {
  border-bottom: none;
}

h4.wp-block-heading {
  background: none;
}



/* //////////////// */
/* common */
/* //////////////// */

html body {
  font-size: 1rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #373232;
}

body a {
  color: #333333;
  text-decoration: none;
  transition: .2s;
}

body a:hover {
  opacity: 0.7;
  color: unset;
  text-decoration: none;
}

/* footer */
.site-footer,
.site-footer a,
.site-footer .widget_nav_menu li a {
  color: #ffffff;
}



/* ======================
   ボタン
   ====================== */

/* 共通：ボタンの見た目（幅を少し広めに） */
.wp-block-button .wp-block-button__link,
.wp-block-vk-blocks-button .vk_button_link {
  padding: 0.6em 2.8em !important;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  font-weight: 700;
}

/* --- 黄色（矢印あり） --- */
.wp-block-button.btn-yellow .wp-block-button__link,
.wp-block-vk-blocks-button.btn-yellow .vk_button_link,
.btn-yellow {
  background: #D4E11B;
  color: #333;
}

/* 矢印（>）をCSSで付与 */
.wp-block-button.btn-arrow .wp-block-button__link::after,
.wp-block-vk-blocks-button.btn-arrow .vk_button_link::after {
  content: "";
  display: inline-block;
  width: .5em;
  height: .5em;
  margin-left: .6em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg);
  line-height: 1;
}

/* カスタムHTMLよう黄色。矢印 */
.btn-yellow_custom {
  background: #D4E11B;
  color: #333;
  font-size: 1.125rem;
  padding: 12px 54px 12px 48px;
  border-radius: 40px;
}

.btn-yellow_custom::after {
  content: "";
  display: inline-block;
  width: .5em;
  height: .5em;
  margin-left: .6em;
  border-right: 2px solid currentColor;
  border-top: 2px solid currentColor;
  transform: rotate(45deg)translate(15px, -22px);
  line-height: 1;
}


/* --- オレンジ（矢印なし）--- */
.wp-block-button.btn-orange .wp-block-button__link,
.wp-block-vk-blocks-button.btn-orange .vk_button_link {
  background: #FF8100;
  color: #fff;
}

/* --- 白（塗り／枠線あり）--- */
/* 塗り */
.wp-block-button.btn-white .wp-block-button__link,
.wp-block-vk-blocks-button.btn-white .vk_button_link {
  background: #fff;
  color: #333;
}

/* 枠線のみ */
.wp-block-button.btn-white--outline .wp-block-button__link,
.wp-block-vk-blocks-button.btn-white--outline .vk_button_link {
  background: #fff !important;
  color: #333 !important;
  border: 2px solid currentColor !important;
}

/* ヘッダーメニュー下線 */
.global-nav-list>li:before {
  border-bottom: 1px solid #D4E11B;
}

.global-nav-list>li:hover::before {
  border-bottom: 1px solid #D4E11B;
  /* 赤色に変更 */
}


/* 上に戻るボタン */
.page_top_btn {
  width: 72px;
  height: 72px;
  background-color: #D4E11B;
  border-radius: 50%;
  box-shadow: 0 0 0 0;
  color: #373232;
  /* background-image: url(/lightning-child/images/common/btn-top.png); */
  background-image: url(/wp-content/uploads/2025/09/btn-top.png);
  font-size: 0rem;
}

/* header お問い合わせボタン */
#menu-item-142 {
  align-self: center !important;
}

#menu-item-142 > a {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0.6em 2.8em !important;
  border-radius: 9999px;
  font-weight: 700;
  background-color: #D4E11B !important;
  color: #000 !important;
  text-decoration: none !important;
  line-height: normal !important;
}
#menu-item-142::before {
  display: none !important;
  content: none !important;
  border: none !important;
}

/* TOP */
.wp-block-heading.h2-normal {
  font-size: 2.3rem;
  font-weight: 700;
  margin-bottom: 20px;
}

.wp-block-heading.h2-yellow {
  position: relative;
  padding-left: 30px;
  font-size: 2.3rem;
  font-weight: bold;
}

.wp-block-heading.h2-yellow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background: #D4E11B;
  border-radius: 50%;
}

.top-lead-text {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.6;
  z-index: 1;
  margin-left: 2em;
}

.top-lead-text::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 270px;
  height: 200px;
  background: url('/wp-content/uploads/2025/09/Mirai_Logo-2.png') no-repeat center/contain;
  opacity: 0.08;
  z-index: -1;
  pointer-events: none;
}

/* TOPスライダーの移動ボタン */
.swiper-pagination-bullet {
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;

}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 13px;
}

.swiper-pagination-bullet-active {
  background: #008969;
}

/* TOP スライダー */
/* スライダー全体のテキスト */
.ltg-slide-text-title{
  font-size: 3rem !important;
  line-height: 1;
  margin-bottom: 20px; 
  text-shadow: 0 0 5px #fff; 
}

/* キャプション行（2行目） */
.ltg-slide-text-caption{
  font-size: 3rem !important;
  font-weight: 700;
  line-height: 1;
  text-shadow: 0 0 5px #fff; 
}

/* .lightning_swiper {
  position: relative;
}
 .lightning_swiper::before {
  content: '安全で安心できる未来を';
  position: absolute;
  left: 100px;
  top: 38%;
  transform: translateY(-50%);
  font-size: 3rem;
  font-weight: 700;
  color: #008969;
  text-shadow: 0 0 5px #ffffff;
  line-height: 60px;
  z-index: 100;
  padding: 0 25px;
}

.lightning_swiper::after {
  content: 'コーディネイトする';
  position: absolute;
  left: 100px;
  top: 52%;
  transform: translateY(-50%);
  font-size: 3rem;
  font-weight: 700;
  color: #008969;
  text-shadow: 0 0 5px #ffffff;
  line-height: 60px;
  z-index: 100;
  padding: 0 25px;
}  */


/* 取扱製品 */
/* ページID20の写真セクションだけ padding を消す */
.page-id-20 .wp-block-columns.has-background {
  padding: 0;
}

.container_sub {
  width: 100%;
  max-width: 1140px !important;
  padding: 0 30px !important;
  margin: 0 auto;
  box-sizing: border-box;
  margin-top: 100px;
}

.productsWrap {
  background-color: #F2F3F1;
  padding-left: 78px;
  margin-top: 22px;
}

.productsWrap:first-child {
  margin-top: 0;
}

.productsWrap::after {
  content: "";
  display: block;
  clear: both;
}

.productsWrap h2 {
  font-size: 2.5rem;
  margin-bottom: 17px;
  padding-top: 60px;

}

.productsWrap p {
  font-size: 1.25rem;
  margin-bottom: 30px;
  padding-right: 30px;
}

.productsWrap figure {
  max-width: 468px;
  width: 100%;
  margin: 0 0 0 30px;
  float: right;
}

.productsWrap figure img {
  width: 100%;
  object-fit: cover;
}

.productsWrap .btn {
  margin-bottom: 40px;
}

/* コンサルティング */
h2.h2-line {
  position: relative;
  font-size: 2rem;
  font-weight: 700;
  padding-left: 0.8em;
  line-height: 1.4;
}

h2.h2-line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: #D4E11B;
  border-radius: 4px;
}

.lead-text {
  font-size: 2.125rem;
  font-weight: 700;
  color: #373232;
}

/* 会社案内*/
/* 会社概要ページ専用テーブル */
.page-id-24 .wp-block-table.company-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.6;
  border: none;
}

.page-id-24 .wp-block-table.company-table td,
.page-id-24 .wp-block-table.company-table th {
  padding: 35px;
  vertical-align: middle;
  border: none;
  border-bottom: 1px solid #ccc;
}

/* 会社概要テーブルの最初の行だけ上線を表示 */
.page-id-24 .wp-block-table.company-table tr:first-child td,
.page-id-24 .wp-block-table.company-table tr:first-child th {
  border-top: 1px solid #ccc;
}

/* 左側セル */
.page-id-24 .wp-block-table.company-table td:first-child,
.page-id-24 .wp-block-table.company-table th {
  width: 25%;
  background-color: #F2F3F1;
  font-weight: 600;
  color: #333;
  text-align: left;
  padding-left: 50px;
}

/* 右側セル */
.page-id-24 .wp-block-table.company-table td:last-child {
  background-color: #fff;
  color: #333;
}



/* ---ご導入の流れ--- */
.h2-small {
  font-size: 2.125rem;
  font-weight: 700;
  color: #000;
}

.h3-normal {
  font-size: 1.25rem;
  font-weight: 700;
  color: #000;
}

.step-box {
  display: flex;
  align-items: center;
  border: 3px solid #dfdfdf;
  border-radius: 6px;
  padding: 20px;
  margin-bottom: 30px;
}

.step-left {
  padding: 0 50px !important;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-right: 3px solid #dfdfdf;
}


.step-left img {
  max-width: 80px;
  height: auto;
}

.step-right {
  flex: 1;
  padding-left: 20px;
}


/* -----第三下層ページヘッダー　----- */
/* 共通ベース（3ページ限定） */
.page-id-115 .page-header .page-header-title,
.page-id-35 .page-header .page-header-title,
.page-id-37 .page-header .page-header-title {
  position: relative;
  padding-top: 40px;
  font-size: 4.0rem;
}

.page-id-37 .page-header .page-header-title {
  color: #003333;
}

.page-id-115 .page-header .page-header-title::before,
.page-id-35 .page-header .page-header-title::before,
.page-id-37 .page-header .page-header-title::before {
  content: "";
  display: block;
  width: 200px;
  height: 60px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
}

/* ラバーマット（page-id-115） */
.page-id-115 .page-header .page-header-title::before {
  background-image: url("/wp-content/uploads/2025/09/unnamed.png");
}

/* ストレッチマシン（page-id-35） */
.page-id-35 .page-header .page-header-title::before {
  background-image: url("/wp-content/uploads/2025/09/stretch-logo.png");
}

/* ピラティスマシン（page-id-37） */
.page-id-37 .page-header .page-header-title::before {
  background-image: url("/wp-content/uploads/2025/09/pilates-logo.png");
}

/* 高さを統一（3ページ限定） */
.page-id-115 .page-header,
.page-id-35 .page-header,
.page-id-37 .page-header {
  min-height: 450px;
  display: flex;
  align-items: center;
}

/* ---ラバーマット--- */
.page-id-115 .site-body {
  padding-top: 0;
}

/* ---ストレッチマシン--- */
.lineup-title {
  font-family: "Roboto", "Open Sans", sans-serif;
  font-style: italic;
  font-weight: 700;
  font-size: 70px;
  color: #C63508;
  position: relative;
  display: inline-block;
  margin-bottom: 30px;
}

.lineup-title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 100%;
  margin-left: 50px;
  width: 1200px;
  height: 1px;
  background-color: #707070;
}

h3.h3-line-orange {
  position: relative;
  font-size: 1.625rem;
  font-weight: 700;
  padding-left: 0.8em;
  line-height: 1.4;
}

h3.h3-line-orange::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 5px;
  height: 100%;
  background-color: #C63508;
}

/* 赤いチェック付き見出し */
.page-id-35 h3.red_check-heading {
  position: relative;
  padding-left: 32px;
}

/* 擬似要素で赤いチェック画像を表示 */
.page-id-35 h3.red_check-heading::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 20px;
  height: 20px;
  background: url("/wp-content/uploads/2025/09/red-check.png") no-repeat center center;
  background-size: contain;
}


/* ---ピラティス--- */
h2.line-up-green {
  position: relative;
  font-weight: 700;
  font-size: 2.5rem;
  text-align: center;
  color: #003333;
  margin: 40px 0;
}

/* 左右の横線 */
h2.line-up-green::before,
h2.line-up-green::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 5px;
  background-color: #4BE39C;
}

/* 左側 */
h2.line-up-green::before {
  left: calc(50% - 140px);
}

/* 右側 */
h2.line-up-green::after {
  right: calc(50% - 140px);
}

/* 緑丸ポチ */
h3.h3-rightgreen {
  position: relative;
  padding-left: 30px;
  font-size: 1.625rem;
  font-weight: bold;
}

h3.h3-rightgreen::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background: #4BE39C;
  border-radius: 50%;
}

/* ---contact--- */
.mw_wp_form {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 80px;
  font-family: "Noto Sans JP", sans-serif;
}

/* ラベル */
.mw_wp_form label {
  font-weight: 600;
  margin-bottom: 6px;
  display: block;
  color: #333;
  font-size: 14px;
}

/* 必須マーク（※） */
.mw_wp_form .required {
  color: #e60000;
  margin-left: 4px;
  font-size: 13px;
}

/* 入力欄 */
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form textarea {
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 15px;
  transition: border-color 0.3s, box-shadow 0.3s;
}

.mw_wp_form input:focus,
.mw_wp_form textarea:focus {
  outline: none;
}

/* ラジオ・チェック */
.mw_wp_form input[type="radio"],
.mw_wp_form input[type="checkbox"] {
  transform: scale(1.2);
  margin-right: 6px;
}

/* チェックボックス行 */
.mw_wp_form .mwform-checkbox-field,
.mw_wp_form .mwform-radio-field {
  margin-bottom: 8px;
}


/* 送信ボタン */
.mw_wp_form input[type="submit"] {
  background: #D4E11B;
  border: none;
  color: #333;
  font-weight: bold;
  padding: 14px 40px;
  border-radius: 30px;
  font-size: 16px;
  cursor: pointer;
}

.mw_wp_form input[type="submit"]:hover {
  background: #e5e600;
  color: #333;
  opacity: 0.7;
}

/* 各項目の余白を20pxに統一 */
.mw_wp_form p,
.mw_wp_form div {
  margin-bottom: 20px;
}

/* ラジオボタン（pタグ）の余白をリセット */
.mw_wp_form .mwform-radio-field p {
  margin: 4px 0;
}

/* 送信ボタンだけ上に40px */
.mw_wp_form input[type="submit"] {
  margin-top: 40px;
}

/* 必須マーク統一 */
.mw_wp_form .required,
.mw_wp_form label .mwform-req-mark,
.mw_wp_form label span[style*="color"],
.mw_wp_form span.mwform-require {
  color: #e60000 !important;
  font-weight: bold;
  font-size: 12px;
  vertical-align: super;
  /* 上付き風 */
  margin-left: 4px;
}

.mw_wp_form p.radio-tight {
  margin-bottom: 10px;
}



@media (max-width: 1200px) {

  /* 取扱製品 */
  .productsWrap {
    padding-left: 0;
    padding-bottom: 30px;
  }

  .productsWrap::after {
    display: none;
  }

  .productsWrap figure {
    float: none;
    margin-right: auto;
    margin-left: auto;
    margin-top: 0;
    margin-bottom: 20px;
    max-width: 100%;
  }

  .productsWrap h2 {
    padding-top: 0;
    font-size: 1.8rem;
    margin-top: 0;
  }

  .productsWrap p {
    padding-right: 0;
    font-size: 1rem;
  }

  .productsWrap .btn {
    margin-bottom: 0;
    width: 100%;
    text-align: center;
  }

  .productsWrap h2,
  .productsWrap p {
    margin-right: 20px;
    margin-left: 20px;
  }
}

/* @media (max-width: 991px) {

  /* TOP スライダー
  .lightning_swiper::before {
    left: 60px;
    top: 80px;
    font-size: 2.5rem;
    padding: 0 25px;
  }

  .lightning_swiper::after {
    left: 60px;
    top: 150px;
    font-size: 2.5rem;
    padding: 0 25px;
} }*/

@media (max-width: 781px) {
  .step-left{
    border-right: 0 !important;
}
  .site-footer .wp-block-image img  {
    max-width: 35%;
  }

}

@media (max-width: 768px) {
  .page-id-24 .wp-block-table.company-table td:first-child,
.page-id-24 .wp-block-table.company-table th {
  width: 100%;
}
  .page-id-24 .wp-block-table.company-table tr {
    display: block;
    /* margin-bottom: 1em; */
  }

  .page-id-24 .wp-block-table.company-table td {
    display: block;
    width: 100%;
    padding: 20px;
  }

  .page-id-24 .wp-block-table.company-table td:first-child {
    padding-left: 20px;
  }

  p.top-lead-text {
		font-size: 1.8rem;
		margin-left: 0;
	
	}
	
}


@media (max-width: 620px) {

  /* 上に戻るボタン */
  .page_top_btn {
    width: 50px;
    height: 50px;
  }

  /* TOPスライダーの移動ボタン */
  .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }

  /* TOP スライダー */
  .lightning_swiper::before {
    left: 60px;
    top: 25%;
    font-size: 1.9rem;
    padding: 0 10px;
  }

  .lightning_swiper::after {
    left: 60px;
    top: 35%;
    font-size: 1.9rem;
    padding: 0 10px;
  }
  p.top-lead-text {
		font-size: 1.25rem!important;
}
}
@media (max-width: 575px) { 
.wp-block-cover__inner-container.is-layout-constrained.wp-block-cover-is-layout-constrained {
  margin-left: 20px;
}
.page-id-115 .page-header .page-header-title,
.page-id-35 .page-header .page-header-title,
.page-id-37 .page-header .page-header-title {
  font-size: 2.1rem;
}
.mini-content-container-1.container,
.mini-content-container-2.container,
.mini-content-container-3.container {
    margin-top: -130px;
  }
}



@media (max-width: 461px) {
 /* TOP スライダー */
  .lightning_swiper::before {
    left: 5px;
  }

  .lightning_swiper::after {
    left: 5px;
  }
}