/*
Theme Name: Lightning Child
Template: lightning
Author: ??????????
Description: Lightning ????????
Version: 1.0
*/

.hero-slider {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.5s ease-in-out;
}

.hero-slide.active {
  opacity: 1;
}

.hero-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  text-align: center;
  z-index: 10;
  text-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

.hero-content h1 {
  font-size: 3rem;
  margin-bottom: 1rem;
}

.hero-content p {
  font-size: 1.5rem;
}

body .cstm-wide {
   margin: 0 calc(50% - 50vw);
}


.noto-sans-jp-<uniquifier> {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}


body .cstm-wide {
   margin: 0 calc(50% - 50vw);
}



/* サイト全体にGoogleフォントを適用 */
body {
  font-family: 'Noto Sans Japanese
', sans-serif;
}

/* 見出しを少し太くする */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}

/* サイト全体にGoogleフォントを適用（強制版） */
body,
p,
span,
li,
a,
td,
th,
input,
textarea,
select {
  font-family: 'Noto Sans JP', sans-serif !important;
}

/* 見出しを太字で統一 */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 700;
}

	

/*実験中*/
body .cstm-wide {
   margin: 0 calc(50% - 50vw);
}



/* .home-feature
================================================ */
.home-feature { position: relative; z-index: 1; }

.home-feature::before { background: url(../img/home/bg_feature01_sp.jpg) no-repeat left top/60% auto; content: ""; position: absolute; top: 0; bottom: 0; width: 100%; }

.home-feature::after { background: #f3f6fb; content: ""; position: absolute; top: 62px; bottom: 0; width: 100%; z-index: -1; }

.home-feature__inner { padding-top: 72px; padding-bottom: 50px; }

.home-feature__head { color: #1f4071; font-size: 2.3rem; letter-spacing: 0.05em; margin-bottom: 29px; position: relative; text-align: center; }

.home-feature__head-line { border-bottom: 2px solid; display: inline-block; font-size: 3.3rem; letter-spacing: 0.08em; line-height: 1; margin: 5px 0 0 7px; padding-bottom: 9px; position: relative; }

.home-feature__head-line::first-letter { font-size: 4rem; }

.home-feature__head-line::before { background: url(../img/home/txt_feature01.png) no-repeat center/contain; content: ""; height: 52px; position: absolute; top: -86px; right: -24px; width: 97px; }

@media all and (min-width: 600px) { .home-feature::before { background-image: url(../img/home/bg_feature01_pc.jpg); background-size: 53% auto; }
  .home-feature::after { margin: auto; top: 186px; right: 0; left: 0; width: 84%; }
  .home-feature__inner { padding-top: 93px; padding-bottom: 210px; }
  .home-feature__head { font-size: 2.8rem; letter-spacing: 0.1em; margin-bottom: 87px; }
  .home-feature__head-line { border-bottom: 3px solid; font-size: 5.4rem; letter-spacing: 0.1em; margin: 0 0 0 13px; padding-bottom: 12px; }
  .home-feature__head-line::first-letter { font-size: 7rem; }
  .home-feature__head-line::before { height: 104px; top: auto; right: -190px; bottom: -6px; width: 194px; } }

.home-feature-sec { position: relative; }

.home-feature-sec + .home-feature-sec { margin-top: 52px; }

.home-feature-sec__img { margin-left: -25px; overflow: hidden; position: relative; width: 100vw; }

.home-feature-sec__img::before { background: #1f4071; content: ""; position: absolute; top: 0; left: 0; bottom: 0; width: 100%; }

.home-feature-sec__img.is-animated::before { -webkit-animation: slideout 0.8s forwards ease-in-out; animation: slideout 0.8s forwards ease-in-out; }

.home-feature-sec__area-txt { background: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; margin: -20px 0 0; padding: 17px 25px 25px; position: relative; }

.home-feature-sec__num { border-bottom: 1px solid; display: inline-block; font-size: 1.6rem; letter-spacing: 0; line-height: 1.6; margin-bottom: 8px; }

.home-feature-sec__head { font-size: 1.9rem; letter-spacing: 0.05em; line-height: 1.6; margin-bottom: 8px; }

.home-feature-sec__btn { margin-top: 16px; }

@media all and (max-width: 360px) { .home-feature-sec__area-txt { padding-left: 17px; padding-right: 17px; }
  .home-feature-sec__num { font-size: 1.3rem; }
  .home-feature-sec__head { font-size: 1.5rem; }
  .home-feature-sec__txt { font-size: 1.2rem; } }

@media all and (min-width: 600px) { .home-feature-sec + .home-feature-sec { margin-top: 206px; }
  .home-feature-sec__img { margin: 0 0 0 300px; width: 1200px; }
  .home-feature-sec__area-txt { margin: -452px 0 0; padding: 32px 40px 41px; width: 460px; }
  .home-feature-sec__num { font-size: 2.2rem; margin-bottom: 16px; }
  .home-feature-sec__head { font-size: 2.4rem; line-height: 1.5; margin-bottom: 12px; }
  .home-feature-sec__btn { margin: 20px 0 0; }
  .home-feature-sec:nth-child(odd) .home-feature-sec__img { margin-left: -420px; }
  .home-feature-sec:nth-child(odd) .home-feature-sec__area-txt { margin-left: auto; margin-right: 0; } }
