/*
Theme Name: My Original Theme
Theme URI: https://example.com
Author: Your Name
Description: Original WordPress theme
Version: 1.0
*/
/* =========================
   Reset CSS
   ========================= */
/* box-sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}
/* margin / padding reset */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
/* HTML5 display */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
/* body */
body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}
/* list */
ol,
ul {
  list-style: none;
}
/* link */
a {
  color: inherit;
  text-decoration: none;
}
/* image */
img {
  max-width: 100%;
  height: auto;
  display: block;
}
/* table */
table {
  border-collapse: collapse;
  border-spacing: 0;
}
/* form */
button,
input,
select,
textarea {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
}
button {
  cursor: pointer;
}
/*ローディング*/
/* 全画面ローディング */
#loading {
  position: fixed;
  inset: 0;
  background: linear-gradient(180deg, #2C385E 0%, #061431 100%);
  z-index: 10000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.loading-inner {
  width: 100%;
  height: 100%;
  position: relative;
}
/* ロゴ */
.loading-logo {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.loading-logo img {
  width: 300px;
  margin-bottom: 90px;
}
.loading-logo .company {
  font-size: 18px;
  color: #000;
}
.loading-logo .company span {
  font-weight: bold;
  color: #f08a32;
  margin-left: 6px;
}
/* プログレス */
.loading-progress {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
.progress-line {
  width: 100%;
  height: 3px;
  background: #fff;
  position: relative;
}
/* 丸 */
.progress-dot {
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 50%;
  position: absolute;
  top: -4px;
  left: 0;
}
/* パーセント */
.progress-percent {
  margin-top: 8px;
  font-size: 14px;
  color: #fff;
  transform: translateX(-50%);
  position: absolute;
  left: 0;
}
/* focus */
:focus {
  outline: none;
}
body {
  margin:0px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: 700;
}
.pc-menu {
  display:flex;
  align-items: center;
  gap:50px
}
.site-header {
  background: transparent;
  transition: background-color 0.3s ease;
}
.site-header.is-scrolled {
  background: #061431;
}
.header-inner {
  display: flex;
  align-items: stretch;
  height: 60px;
  justify-content: space-between;
}
.header-logo {
  padding: 0 20px;
  display: flex;
  align-items: center;
}
.header-logo img {
  height: 60px;
}
/* PC NAV */
.pc-nav-list {
  display: flex;
  height: 100%;
  margin-right: 0px;
}
.pc-nav-list li {
  width: auto;
  padding-left:5px;
  padding-right:5px;
  display:flex;
  align-items:center;
}
.pc-nav-list a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #fff;
  margin-right: 8px;
  margin-left:8px
}
.pc-nav-list img {
  width: auto;
  height:20px;
}
.pc-nav-list span {
  font-size: 15px;
  font-weight: 500;
}
/* PC CTA */
.pc-cta {
  display: flex;
  height: 100%;
  margin-left: auto;
}
.pc-cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.pc-cta img {
  width: 35px;
  height: auto;
  margin-bottom: 0px;
}
/* Hamburger */
.hamburger {
  width: 48px;
  height: 48px;
  display: none;
  position: relative;
  background: none;
  border: none;
}
.hamburger span {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
}
.hamburger span:nth-child(1) {
  top: 14px;
}
.hamburger span:nth-child(2) {
  top: 23px;
}
.hamburger span:nth-child(3) {
  top: 32px;
}
/* SP MENU */
.sp-menu {
  position: fixed;
  inset: 0;
  background: #fff3e8;
  transform: translateX(100%);
  transition: .4s;
  z-index: 9999;
}
.sp-nav {
  margin-top: 80px;
  padding: 15px;
}
.sp-nav li {
  border-bottom: 1px solid #000;
}
.sp-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 10px;
  font-size: 18px;
  font-weight: 700;
}
.sp-nav img {
  width: 20px;
}
.sp-contact {
  padding: 30px 20px;
  background: #fff;
}
.sp-copy {
  font-size: 22px;
  text-align: center;
  font-weight: 700;
}
.sp-tel {
  text-align: center;
  margin: 20px 0;
}
.sp-tel a {
  display: block;
  font-size: 30px;
  font-weight: 700;
  color: #000;
}
.sp-line img {
  width:100%;
  margin-bottom:10px
}
.sp-mail img {
  width:100%;
}
/* Responsive */
@media (max-width: 1024px) {
  .pc-nav,
  .pc-cta {
    display: none;
  }
  .hamburger {
    display: block;
    margin-left: auto;
  }
}
/* ハンバーガー共通 */
.hamburger {
  width: 38px;
  height: 38px;
  position: absolute;
  background: none;
  border: none;
  display: block;
  top: 0;
  right:0;
  z-index: 1000;
}
.hamburger span {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 2px;
  background: #fff;
  transform: translateX(-50%);
  transition: transform .3s, opacity .3s;
}
/* 三本線状態 */
.hamburger span:nth-child(1) {
  top: 14px;
}
.hamburger span:nth-child(2) {
  top: 23px;
}
.hamburger span:nth-child(3) {
  top: 32px;
}
/* 開いた状態（×） */
.hamburger.is-open span:nth-child(1) {
  top: 23px;
  transform: translateX(-50%) rotate(45deg);
}
.hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-open span:nth-child(3) {
  top: 23px;
  transform: translateX(-50%) rotate(-45deg);
}
.sp-menu {
  position: fixed;
  inset: 0;
  background: #fff3e8;
  transform: translateX(100%);
  transition: .4s;
  z-index: 99;
}
.sp-menu.is-open {
  transform: translateX(0);
}
.hamburger.is-open span {
  background: #000;
  /* ← デザインに合わせて白 or 黒 */
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
.hamburger.is-open span:nth-child(1) {
  top: 23px;
  transform: translateX(-50%) rotate(45deg);
}
.hamburger.is-open span:nth-child(2) {
  opacity: 0;
}
.hamburger.is-open span:nth-child(3) {
  top: 23px;
  transform: translateX(-50%) rotate(-45deg);
}
/* PCでは非表示 */
@media (min-width: 1025px) {
  .hamburger {
    display: none;
  }
}
@media (max-width: 969px) {
  .header-inner {
    display: flex;
    align-items: stretch;
    height: 43px;
    justify-content: space-between;
  }
  .header-logo img {
    height: 28px;
  }
}
/*=========================
 * フッター*
 * =========================/
 /* ===== AREA ===== */
.area-section {
  background: #ffffff00;
  padding: 40px 20px;
}
.area-inner {
  max-width: 1250px;
  margin: auto;
  display: flex;
  gap: 0px;
  align-items: center;
}
.area-text {
  width: 52%;
}
.area-title {
  font-size: 75px;
  color: #F48221;
  position: relative;
}
.area-sub-title {
  font-size: 28px;
  color:#333;
  margin-top: 34px;
}
/* 丸7個 */
.area-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 200px;
  height: 14px;
  background-image: radial-gradient(circle, #FDE3CD 7px, transparent 7px);
  background-size: 29px 14px;
  background-repeat: repeat-x;
}
.area-desc {
  margin: 24px 0;
  line-height: 1.8;
  font-size: 18px;
}
.area-box {
  border: 2px solid #F48221;
  border-radius: 16px;
  padding: 15px;
  font-size: 16px;
  line-height: 1.9;
  background-color: #fff;
}
/* ===== MAP ===== */
.area-map {
  width: 48%;
  position: relative;
}
.area-map img {
  width: 100%;
  display: block;
}
/* 背景画像 */
.cta-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
/* ===== SP ===== */
@media (max-width: 969px) {
  .area-inner {
    flex-direction: column;
    gap: 20px;
  }
  .area-title {
    font-size: 55px;
    color: #F48221;
    position: relative;
  }
  .area-title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    width: 150px;
    height: 14px;
    background-image: radial-gradient(circle, #FDE3CD 7px, transparent 7px);
    background-size: 22px 14px;
    background-repeat: repeat-x;
  }
  .area-text,
  .area-map {
    width: 100%;
  }
  .cta-buttons {
    flex-direction: column;
  }
}
/* フッター全体 */
.site-footer {
  background: #6b6b6b;
  color: #fff;
  padding: 60px 40px 30px;
  font-size: 14px;
}
.footer-wrpper {
  max-width: 1250px;
  margin: 0 auto;
}
/* 上段 */
.footer-inner {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  gap: 40px;
  margin-bottom:30px;
}
/* 左 */
.footer-left {
  max-width: 420px;
}
.footer-logo img {
  max-width: 150px;
  margin-bottom: 20px;
}
.footer-left p {
  line-height: 1.8;
  margin-bottom: 8px;
}
.footer-sns {
  display: flex;
  gap: 12px;
  margin-top: 0px;
}
.footer-sns img {
  width: auto;
  height: 23px;
}
.footer-sns a:hover {
  opacity:0.7;
}
/* 右 */
.footer-right {
  display: flex;
  gap: 60px;
}
.footer-nav li {
  margin-bottom: 14px;
}
.footer-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}
.footer-nav a:hover {
  opacity:0.7;
}
/* 下段 */
.footer-bottom {
  text-align: center;
  position: relative;
}
.footer-bottom-group {
  display:flex;
  justify-content:space-between
}
/* PAGE TOP */
.page-top {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  margin-bottom: 0px;
}
.page-top .arrow {
  font-size: 18px;
}
/* 点線 */
.footer-line {
  height: 2px;
  background-image: radial-gradient(circle, #fff 1px, transparent 1px);
  background-size: 14px 2px;
  /* ← ここで「・と・の間隔」調整 */
  background-repeat: repeat-x;
  margin-bottom:15px;
  margin-top:30px;
}
/* コピーライト */
.copyright {
  font-size: 12px;
  text-align:left;
}
@media (max-width: 969px) {
  .site-footer {
    background: #6b6b6b;
    color: #fff;
    padding: 40px 20px 20px;
    font-size: 14px;
  }
  .footer-inner {
    display:block;
  }
  .footer-right {
    margin-top:30px;
    display:block;
  }
}
/*TOPページ　FV */
.fv {
  position: relative;
  height: 700px;
  overflow: hidden;
}
.fv-bg {
  position: absolute;
  inset: 0;
  background: url("..../img/bg.webp") center/cover no-repeat;
  z-index: 0;
}
/* 固定オレンジ丸 */
.fv-main-circle {
  position: absolute;
  left: 8%;
  top: 40%;
  transform: translateY(-50%);
  z-index: 13;
}
.fv-main-circle img {
  width: 80%;
  max-width:650px;
}
/* 白文字 */
.fv-text-slider {
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 100%;
  height: 200px;
  overflow: hidden;
  z-index: 2;
}
.text-track {
  white-space: nowrap;
  font-size:180px!important;
  font-weight: bold;
  color: #fff;
  will-change: transform;
  font-size:180px;
}
/* 丸写真 */
.fv-photo-slider {
  position: absolute;
  right: 0px;
  top: 40%;
  width: 100%;
  height: auto;
  transform: translateY(-50%);
  overflow: hidden;
  z-index: 2;
}
.slider-track {
  display: flex;
  gap:60px;
  align-items:end;
}
.photo {
  width: 380px;
  flex-shrink: 0;
}
.photo img {
  width: 100%;
  border-radius: 50%;
}
/* 下部 */
.fv-bottom-circles {
  position: absolute;
  left: 9.5%;
  bottom: 70px;
  display: flex;
  gap: 20px;
  z-index: 13;
}
.fv-bottom-circles img {
  width: 140px;
}
/* 水玉 */
.bubbles span {
  position: absolute;
  width: 30px;
  height: 30px;
  background: rgba(255,255,255,.4);
  border-radius: 50%;
  z-index: 1;
}
/* 右上 MAP */
.fv-map img {
  width: 250px;
}
/* 下：家並び */
.fv-houses {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 5;
}
.fv-houses img {
  width: 100%;
  display: block;
}
.fv-consult-box {
  position: absolute;
  bottom: 25px;
  right: 7%;
  background: #fff;
  border-radius: 14px;
  text-align: center;
  z-index: 6;
  box-shadow: 0 12px 30px rgba(0,0,0,.15);
  max-width: 420px;
  width: 90%;
}
.fv-consult-box {
  width: 420px;
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0,0,0,.15);
}
/* 上の青帯 */
.consult-head {
  background: #005aa7;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  padding: 22px 16px;
}
/* 中身 */
.consult-body {
  padding: 26px 28px 30px;
}
/* チェックリスト */
.consult-list {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  padding-left:30px;
}
.consult-list li {
  position: relative;
  padding-left: 40px;
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 12px;
  text-align: left;
}
/* チェックアイコン（CSS） */
.consult-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 24px;
  border: 2px solid #005aa7;
  border-radius: 4px;
  color: #005aa7;
  font-weight: bold;
  text-align: center;
  line-height: 20px;
}
/* ボタン */
/* ボタン本体 */
.consult-btn {
  position: relative;
  display: block;
  text-align: center;
  background: #106431;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 40px 18px 40px;
  /* 右は矢印分広め */
  border-radius: 999px;
  text-decoration: none;
  border:solid 2px #106431;
  transition: background .3s, color .3s;
}
/* 右の丸（＞） */
.consult-btn::before {
  content: "\f105";
  /* Font Awesome > */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
@media (min-width: 969px) {
  /* 右上 MAP */
  .fv-map {
    position: absolute;
    top: 7%;
    right: 10%;
    z-index: 4;
  }
}
@media (max-width: 969px) {
  .fv {
    position: relative;
    height: 100vh;
    overflow: hidden;
  }
  .fv-main-circle {
    position: relative;
    left: 0%;
    top: 20px;
    transform: translateY(0%);
    z-index: 2;
  }
  .fv-main-circle img {
    width: 95%;
    max-width:500px;
    margin: 0 auto;
  }
  .photo {
    width:78%;
    flex-shrink: 0;
    max-width:400px;
  }
  .slider-track {
    display: flex;
    gap:25px;
    align-items:end;
  }
  .text-track {
    white-space: nowrap;
    font-weight: bold;
    color: #fff;
    will-change: transform;
    font-size:80px;
  }
  .fv-text-slider {
    position: absolute;
    left: 0;
    bottom: 30px;
    width: 100%;
    height: 100px;
    overflow: hidden;
    z-index: 2;
  }
  .fv-bottom-circles img {
    width: 31%;
  }
  .fv-bottom-circles {
    position: absolute;
    left: 0%;
    bottom: 20%;
    display: flex;
    gap: 8px;
    z-index: 13;
    margin:0 auto;
    right: 0;
    justify-content: center;
    max-width: 380px;
  }
  .fv-consult-box {
    display:none;
  }
  .fv-photo-slider {
    position: absolute;
    right: 0px;
    bottom: 0;
    width: 100%;
    height: auto;
    transform: translateY(0%);
    overflow: hidden;
    z-index: 2;
  }
  .fv-map img {
    width: 140px;
  }
  .fv-map {
    position: absolute;
    /* top: 7%; */
    right: 0%;
    z-index: 4;
  }
  .fv-houses {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 200%;
    z-index: 5;
  }
}
/*TOPページ　body */
/* ===== 背景レイヤー ===== */
.page-bg {
  position: relative;
  background: url(../img/page-bg.webp) no-repeat center top / cover;
  overflow: hidden;
}
/* ===== MV ===== */
.mv {
  position: relative;
  padding: 120px 20px;
  overflow: hidden;
}
.mv .about-service-dot {
  color:#FFF!important
}
.mv-inner {
  max-width: 1250px;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 60px;
  margin-bottom:90px;
}
.mv-text {
  width: 55%;
}
.mv-text h2 {
  margin-bottom:40px
}
.mv-text p {
  line-height: 1.9;
  margin-bottom:60px
}
.mv-text .consult-btn {
  width:65%
}
.mv-image {
  width: 45%;
}
.mv-image img {
  width: 100%;
}
/* ===== サービス ===== */
.service {
  padding: 120px 0;
  text-align: center;
}
.service-list {
  max-width: 1250px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 40px;
}
.service-card {
  background: #fff;
  border-radius: 20px;
  padding: 20px;
  text-align: left;
}
.service-card img {
  width: 100%;
  border-radius: 15px;
}
/* ===== 4アイコン ===== */
.support {
  padding: 120px 0;
}
.support-inner {
  max-width: 1250px;
  margin: auto;
  background: #fff;
  border-radius: 40px;
  padding: 80px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 40px;
}
.support-icon {
  width: 160px;
  height: 160px;
  margin: auto;
  border-radius: 50%;
  background: #fdf1e6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.support-icon img {
  width: 80px;
}
.support-item h4 {
  text-align: center;
  color: #f3981d;
  margin: 20px 0;
}
.support-item p {
  font-size: 14px;
  line-height: 1.8;
}
/* ===== 浮遊丸 ===== */
.float-circle {
  position: absolute;
  border-radius: 50%;
  opacity: .8;
  animation: float 6s ease-in-out infinite;
}
.c1 {
  width:80px;
  height:80px;
  background:#f3981d;
  top:15%;
  left:10%;
}
.c2 {
  width:40px;
  height:40px;
  background:#7bb6d8;
  top:40%;
  right:20%;
}
.c3 {
  width:60px;
  height:60px;
  background:#f5c78d;
  bottom:20%;
  left:30%;
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
/* ===== 下層トップ ===== */
/* ===== PAGETOP ===== */
.pagetop {
  position: relative;
  height: 470px;
  border-radius: 0 0 40px 40px;
  overflow: hidden;
}
.pagetop-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
}
.pagetop-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  text-align: center;
  padding: 0 20px;
}
/* 縦ライン */
.pagetop-line {
  width: 5px;
  height: 105px;
  background: #fff;
  margin-bottom: 20px;
}
/* テキスト */
.pagetop-sub {
  font-size: 28px;
  letter-spacing: 0.15em;
  margin-bottom: 10px;
  color:#fff;
}
.pagetop-title {
  font-size: 98px;
  letter-spacing: 0.1em;
  font-weight: 700;
  color:#fff;
}
.pagetop-text {
  font-size: 20px;
  line-height: 1.8;
  margin-top: 15px;
  color:#fff;
}
/* ===== BREADCRUMB ===== */
.pagetop-breadcrumb {
  max-width: 1250px;
  padding: 0px;
  margin-bottom:20px;
  padding-top:15px;
}
.pagetop-home {
  color: #333;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.pagetop-arrow {
  color: #999;
  font-size: 12px;
  margin-left:3px;
  margin-right:3px;
}
.pagetop-current {
  color: #333;
  font-size:15px;
}
.pagetop-home-icon {
  color: #f08c3a;
  font-size: 14px;
}
/* ===== SP ===== */
@media (max-width: 768px) {
  .mv-inner {
    display:block;
  }
  .mv-text .consult-btn {
    width:100%
  }
  .mv-image {
    width: 100%;
    margin-top:40px;
  }
  .mv-text {
    width: 100%;
  }
  .pagetop {
    height: 270px;
    border-radius: 0 0 24px 24px;
  }
  .pagetop-line {
    height: 60px;
    margin-bottom: 13px;
  }
  .pagetop-title {
    font-size: 37px;
  }
  .pagetop-sub {
    font-size: 14px;
  }
  .pagetop-text {
    font-size: 12px;
  }
}
.privacy {
  padding: 80px 20px;
}
.privacy-inner {
  max-width: 1250px;
  margin: 0 auto;
  line-height: 1.9;
  color: #333;
  font-size: 16px;
  font-weight:500;
}
.privacy-inner p {
  margin-bottom: 40px;
}
/* SP */
@media (max-width: 768px) {
  .privacy-inner {
    font-size: 14px;
  }
  .site-header {
    position: fixed;
    z-index: 390;
    width: 100%;
    top: 0px!important;
  }
  .header-logo img {
    height: 35px!important;
  }
}
/*ブログページ*/
.blog-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 30px 20px;
  /* 端末幅が狭いときの余白 */
}
.p-allArchive__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px 30px;
  /* 行間 / 列間 */
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-allArchive__link {
  display: block;
  height: 100%;
  text-decoration: none;
  color: inherit;
}
.p-allArchive__thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.p-allArchive__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* サムネイル枠 */
.p-allArchive__thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  position: relative;
}
/* 画像 */
.p-allArchive__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
/* ホバー時：画像だけ拡大 */
.p-allArchive__link:hover .p-allArchive__thumb img {
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .p-allArchive__list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
/* Lower-page FV title layering */
.site-header {
  position: relative;
  z-index: 1000;
}
.na-privacy-fv {
  position: relative;
  isolation: isolate;
}
.na-privacy-fv__title {
  position: relative;
  z-index: 0;
  pointer-events: none;
}
.na-privacy-fv__inner,
.na-privacy-fv__sub,
.pagetop-breadcrumb {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .site-header {
    position: fixed;
    width: 100%;
    top: 0 !important;
  }
}
/* Imported production Additional CSS */
img.avatar.avatar-26.photo {
  display: none !important;
}
.header-right {
  font-family: "Font Awesome 6 Free";
}
.kasen-title .nagomi-faq-message__title {
  color: #15184a;
  /* 必要に応じて調整 */
  text-decoration-line: underline;
  text-decoration-color: #D0CAFB;
  text-decoration-thickness: 11px;
  text-underline-offset: -2px;
  text-decoration-skip-ink: none;
}
body.is-loading {
  overflow: hidden;
}
/* ローディング中はページ全体を非表示 */
body.is-loading > *:not(.shiro-loading) {
  opacity: 0 !important;
  visibility: hidden !important;
}
/* ローディング画面だけは表示 */
body.is-loading .shiro-loading {
  opacity: 1 !important;
  visibility: visible !important;
}
.pink-color {
  color:#FF64AC
}
.bold {
  font-weight:bold!important
}
.white .nagomi-faq-message__title {
  color:#fff;
  letter-spacing:0.08em;
}
.recruit1 {
  background-color:#FEFBFF;
}
.circle-bottom {
  position:relative;
  margin-bottom:80px!important
}
.circle-bottom::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100px;
  height: 14px;
  background-image: radial-gradient(circle, #A952D9 4px, transparent 2px);
  background-size: 19px 18px;
  background-repeat: repeat-x;
  left:0;
  right:0;
  margin:0 auto
}
.point-tab {
  max-width:1250px;
  margin:0 auto;
  margin-bottom:70px;
  margin-top:70px!important
}
.header-right:before {
  content: "\f054";
}
.header-btn .btn {
  gap:10px;
  align-items:center;
  min-width: 220px;
}
.pc-nav {
  background-color:#fff;
  border-radius:100px;
  color:#101A51!important;
  justify-content:center;
  padding:20px;
  height:100%;
}
.pc-nav-list li {
  justify-content:center!important;
  text-align:center
}
.pc-nav a {
  color:#101A51!important
}
.pc-mail-text {
  background: #04B813;
  color: #fff;
  border-radius:100px;
  padding:12px 40px;
  border:solid 2px #fff;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 18px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  border: 2px solid transparent;
  transition: 0.3s;
}
.pc-mail-text:hover {
  background-color:#fff!important;
  color:#FF8D28;
  border:solid 2px #FF8D28
}
.pc-job-text {
  background: linear-gradient(90deg, #1988E1 0%, #56B4E6 100%);
  border-radius:100px;
  padding:12px 40px;
  border:solid 2px #fff
}
.pc-job-text:hover {
  background:#fff!important;
  color:#1988E1;
  border:solid 2px #1988E1
}
.pink {
  background-color:#FBF5FF
}
.nagomi-cases__pickupImg {
  position: relative;
  overflow: hidden;
}
.nagomi-cases__pickupImg img {
  display: block;
  width: 100%;
  height: auto;
}
.nagomi-cases__marquee {
  position: absolute;
  left: 0;
  bottom:0px;
  z-index: 2;
  display: flex;
  width: 100%;
  overflow: hidden;
  pointer-events: none;
}
.nagomi-cases__marqueeTrack {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 100%;
  animation: nagomiMarquee 21s linear infinite;
}
.nagomi-cases__marqueeTrack span {
  display: inline-block;
  margin-right:0px;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.60);
  white-space: nowrap;
}
@keyframes nagomiMarquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.nagomi-cases__card {
  cursor: pointer;
}
.nagomi-cases__card {
  cursor: pointer;
}
.nagomi-cases__card:hover {
  opacity: 0.80;
}
.cope-icon img {
  width:20px!important;
  height:auto!important
}
.cope-icon {
  margin-left:10px!important
}
/* 追従フッター本体 */
.sticky-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  /* ✅3つ均等 */
  gap: 0;
  z-index:300
}
.contact-form1 .privacy-form .required {
  padding: 5px 15px;
}
.wpcf7 input[type="radio"] {
  accent-color: #FF64AC !important;
}
.wpcf7 input[type="checkbox"] {
  accent-color: #FF64AC !important;
}
.sp-mail img {
  margin-bottom:10px!important
}
.blog-header3 {
  display:flex;
  align-items:flex-start;
}
.blog-wrapper {
  padding-top:0px!important;
  z-index:10;
}
.blog-header {
  display:flex!important;
  padding-right:80px
}
1 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-weight: 700;
  letter-spacing: .06em;
  color: #111;
  margin-top:40px;
  margin-bottom:20px
}
.blog-ja1::before {
  content: "";
  /* 左右の線を均等に伸ばす */
  height: 5px;
  background: #2CA136;
  width:50px!important
}
.blog-ja1 span {
  white-space: nowrap;
  /* 文字を改行させない */
  font-size: 20px;
  color:#2CA136;
}
.blog-ja2 {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0;
  font-weight: 700;
  letter-spacing: .06em;
  color: #111;
  margin-top:40px;
  margin-bottom:20px
}
.blog-ja2::before {
  content: "";
  /* 左右の線を均等に伸ばす */
  height: 5px;
  background: #CBD423;
  width:50px!important
}
.blog-ja2 span {
  white-space: nowrap;
  /* 文字を改行させない */
  font-size: 20px;
  color:#CBD423;
}
.title-ue {
  text-align:center;
  margin:0 auto;
  width:55px
}
.voice-section .title-ue {
  width:110px
}
.service-ban {
  position:absolute;
  left:0;
  right:0;
  top:-150px;
}
.contact-banner {
  z-index:10
}
.shiro-service {
  position:relative
}
/* SP */
@media (max-width: 767px) {
  .top-width-btn {
    width: 100%!important;
    margin-top: 40px !important;
  }
  .service-ban {
    position:absolute;
    left:0;
    right:0;
    top:-75px;
  }
  .title-ue {
    text-align:center;
    margin:0 auto;
    width:25px
  }
  .voice-section .title-ue {
    width:50px
  }
  .point-tab {
    max-width:1250px;
    margin:0 auto;
    margin-bottom:50px;
    margin-top:50px!important;
    padding:0 20px
  }
  .nagomi-cases__marqueeTrack span {
    display: inline-block;
    margin-right:0px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.60);
    white-space: nowrap;
  }
  .blog-header3 {
    display: block;
    align-items: flex-start;
  }
  .blog-ja2 {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 0;
    font-weight: 700;
    letter-spacing: .06em;
    color: #111;
    margin-top:20px;
    margin-bottom:20px
  }
  .blog-ja2 span {
    white-space: nowrap;
    /* 文字を改行させない */
    font-size: 16px;
    color:#CBD423;
  }
  .blog-ja1 {
    gap: 10px;
  }
  .blog-ja1 span {
    font-size: 18px;
  }
  .blog-ja1 span {
    white-space: nowrap;
    /* 文字を改行させない */
    font-size: 16px;
    color:#2CA136;
  }
}
/* クリック領域 */
.sticky-footer__item {
  display: block;
  width: 100%;
}
/* 画像を枠にフィット */
.sticky-footer__item img {
  display: block;
  width: 100%;
  height: auto;
  /* ✅フッターの高さ */
  /* 画像をトリミングしてフィット */
}
@media (max-width: 640px) {
}
/* ===== ページネーション（共通） ===== */
.p-allArchive__pager {
  margin-top: 28px;
  display: flex;
  justify-content: center;
}
.p-allArchive__pager .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  background: #fff;
  color: #111;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease;
}
/* 現在ページ（「1」単体表示時もこれが効く） */
.p-allArchive__pager .page-numbers.current {
  background-color:#A952D9;
  color: #fff;
  border-radius:1000px;
}
/* dots（…） */
.p-allArchive__pager .page-numbers.dots {
  border: none;
  background: transparent;
  min-width: auto;
  padding: 0 6px;
  box-shadow: none;
  transform: none;
}
/* prev/next を少し広めに */
.p-allArchive__pager .page-numbers.prev,
.p-allArchive__pager .page-numbers.next {
  padding: 0 16px;
}
/* 余白（WPは改行/スペースが入りやすいのでgapで揃える） */
.p-allArchive__pager {
  gap: 10px;
  flex-wrap: wrap;
}
/* SP */
@media (max-width: 640px) {
  .p-allArchive__pager {
    margin-top: 22px;
    gap: 8px;
  }
  .p-allArchive__pager .page-numbers {
    min-width: 40px;
    height: 40px;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 13px;
  }
}
/* =========================
   RYOKU COMPANY section
========================= */
.top-ryokucompany {
  /* PC背景：1枚画像をCSSで */
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-103105-scaled.webp") center center / cover no-repeat;
  padding: 0px 16px 260px;
}
.top-ryokucompany__inner {
  max-width: 1120px;
  margin: 0 auto;
  position: relative;
}
/* 大見出し COMPANY */
.top-ryokucompany__en {
  margin: 0 0 20px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 0.7;
  color: #2CA136;
  font-size: clamp(54px, 9.8vw, 242px);
}
/* 左側コンテンツ */
.top-ryokucompany__content {
  max-width: 520px;
  padding-left: 6px;
}
.top-ryokucompany__lead1 {
  margin: 0 0 15px;
  font-size: 25px;
  margin-top:30px;
  font-weight: 500;
  letter-spacing: .04em;
  margin-top:50px
}
.top-ryokucompany__lead1 span {
  color:#2CA136
}
.top-ryokucompany__lead2 {
  margin: 0 0 30px;
  font-size: 25px;
  color: #111;
  font-weight: 500;
  letter-spacing: .02em;
}
.top-ryokucompany__lead2 span {
  color:#2CA136;
  font-weight: 500;
}
/* 緑の横線 */
.top-ryokucompany__line {
  width: 100%;
  height: 2px;
  background: #1f8a3b;
  margin: 12px 0 24px;
}
/* 説明文 */
.top-ryokucompany__text {
  margin: 0;
  font-size: 15px;
  line-height: 2;
  color: #333;
  font-weight:500;
  margin-bottom:40px!important
}
/* ボタン */
.top-ryokucompany__buttons {
  margin-top: 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 260px;
  max-width: 100%;
}
.top-ryokucompany__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 500;
  font-size: 14px;
  padding: 14px 18px;
  line-height: 1;
  box-sizing: border-box;
  position: relative;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
}
.top-ryokucompany__btn--dark {
  background: #1f8a3b;
  color: #fff;
}
.top-ryokucompany__btn--grad {
  background: linear-gradient(180deg, #d9f25a 0%, #8dd73e 55%, #4eb52e 100%);
  color: #fff;
}
.top-ryokucompany__arrow {
  display: inline-flex;
  width: 32px;
  height: 22px;
  font-size: 20px;
  transform: translateY(-1px);
  position: absolute;
  right: 0;
}
.top-ryokucompany__btn--dark:hover {
  background-color:#CBD423
}
.top-ryokucompany__btn--grad:hover {
  background:#1D8033;
}
/* =========================
   SP：背景画像を差し替える
========================= */
@media (max-width: 768px) {
  .top-ryokucompany__lead1 {
    font-size:18px
  }
  .top-ryokucompany__text {
    margin: 0;
    font-size: 14px;
    line-height: 2;
    color: #333;
    font-weight: 500;
    margin-bottom: 40px !important;
  }
  .top-ryokucompany {
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-103105-1-scaled.webp") center top / cover no-repeat;
    padding: 28px 16px 34px;
  }
  .top-ryokucompany__en {
    font-size: 56px;
    letter-spacing: .06em;
  }
  .top-ryokucompany__content {
    max-width: 100%;
  }
  .top-ryokucompany__lead2 {
    font-size: 18px;
  }
  .top-ryokucompany__buttons {
    width: 100%;
    max-width: 320px;
  }
}
.top-contactsection1 {
  padding:100px 20px;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-103089-scaled.webp") center top / cover no-repeat;
  z-index:1;
  position:sticky
}
.ryokuworkimg-pc {
  margin-bottom:70px
}
.p-pageFv {
  margin-top:66px
}
.ryokuworkimg-pc1 {
  margin-bottom:45px
}
.ryokuworkimg-sp1 {
  margin-bottom:45px
}
@media (min-width:768px) {
  .ryokuworkimg-sp1 {
    display:none;
  }
  .ryokuworkimg-sp {
    display:none;
  }
}
@media (max-width:768px) {
  .ryoku-toppoint__btn {
    font-size:16px!important
  }
  .ryokuworkimg-sp {
    margin-bottom:60px;
  }
  .ryokuworkimg-pc {
    display:none
  }
  .ryokuworkimg-pc1 {
    display:none;
  }
  .p-pageFv {
    margin-top:41px
  }
  .top-contactsection1 {
    padding:60px 20px;
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-103089-scaled.webp") center top / cover no-repeat;
    z-index:1;
    position:sticky;
  }
}
@media (min-width:768px) {
}
.top-contactsection__right input[type="text"],
.top-contactsection__right input[type="email"],
.top-contactsection__right input[type="tel"],
.top-contactsection__right textarea {
  color:#000!important
}
.site-header {
  position:fixed;
  z-index:390;
  width:100%;
  top:15px
}
.wrapper {
  max-width: 700px;
  padding: 20px;
  margin: 0 auto;
  margin-top: 80px;
  margin-bottom: 40px!important;
}
.contact-form1 textarea.wpcf7-form-control.wpcf7-textarea {
  height: 20px;
  min-height: 43px;
  color: #000;
}
.contact-form1 .wpcf7-list-item {
  margin-right:10px
}
/* ===== セクション ===== */
.ryoku-cta {
  background:linear-gradient(90deg,#2c8a3f,#1e6f31);
  padding:60px 20px 80px;
  font-family:"Noto Sans JP", sans-serif;
  z-index: 100;
  position: sticky;
}
.sp-nav {
  margin-top: 60px!important;
  padding: 15px;
}
.sp-contact a:hover {
  opacity:0.7;
}
.sp-mail {
  margin-bottom:10px;
}
.footer-nav a:hover {
  color:#EEF855!important;
}
.ryoku-toppoint__btn1 {
  font-size:16px!important;
  background-color:#CBD423!important;
  margin-top:30px
}
.fv-sns__icon {
  right:-130px!important
}
.fv-sns__icon1 {
  right:-210px!important
}
.fv-sns__icon:hover {
  right:0px!important;
  transition:1s
}
.fv-sns__icon1:hover {
  right:-80px!important;
  transition:1s
}
.ryoku-cta__inner {
  max-width:1100px;
  margin:0 auto;
}
/* ===== ビジュアル ===== */
.ryoku-cta__visual {
  text-align:center;
  position:relative;
  z-index:1;
}
.ryoku-cta__visual img {
  width:100%;
  height:auto;
  display:block;
}
/* ===== 白カード ===== */
.ryoku-cta__card {
  background:#fff;
  border-radius:20px;
  padding:30px 70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
}
/* ===== 電話 ===== */
.ryoku-cta__tel {
  display:flex;
  align-items:center;
  gap:16px;
}
.ryoku-cta__tel-label {
  font-size:20px;
  margin-bottom:6px;
  text-align:center;
}
.ryoku-cta__tel-number {
  font-size:44px;
  font-weight:700;
  letter-spacing:4px;
}
.ryoku-cta__tel-time {
  font-size:16px;
  font-weight:400;
  margin-top:10px
}
/* ===== ボタン ===== */
.ryoku-cta__btns {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.ryoku-cta__btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:24px 48px;
  border-radius:999px;
  color:#fff;
  text-decoration:none;
  font-size:22px;
  font-weight:600;
  transition:.3s;
  letter-spacing:1px;
  line-height:0;
}
.ryoku-cta__btn--mail {
  background:linear-gradient(90deg,#ffa726,#ff6a00);
}
.ryoku-cta__btn--line {
  background:linear-gradient(90deg,#a6d61f,#2e9e3f);
}
.ryoku-cta__btn .arrow {
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-top:2px solid #fff;
  transform:rotate(45deg);
}
.ryoku-cta__btn:hover {
  opacity:.70;
}
.sp-menu {
  position: fixed;
  background: #D9FEE7!important;
}
/* ===== SP ===== */
@media (max-width:768px) {
  .fv-sns__icon {
    right:-70px!important
  }
  .fv-sns__icon1 {
    right:-110px!important
  }
  .ryoku-cta {
    padding:40px 16px 60px;
  }
  .fv-sns__icon {
    display:none;
  }
  .ryoku-cta__card {
    flex-direction:column;
    text-align:center;
    padding:24px;
  }
  .ryoku-cta__tel {
    justify-content:center;
  }
  .ryoku-cta__btns {
    width:100%;
  }
  .ryoku-cta__btn {
    width:100%;
  }
}
/* 電話アイコン画像 */
.ryoku-cta__tel-icon img {
  width:86px;
  height:86px;
}
/* ボタンアイコン */
.ryoku-cta__btn-icon {
  width:32px;
  height:auto;
  object-fit:contain;
}
.parallax-section-point {
  background-color:#EDFFF4;
}
.blog-section {
  background-color:#fff!important;
}
/* ===== セクション ===== */
.ryoku-toppoint {
  padding:80px 20px;
  font-family:"Noto Sans JP", sans-serif;
}
/* 枠 */
.ryoku-toppoint__inner {
  max-width:1100px;
  margin:0 auto;
  background:#fff;
  border:2px solid #2e7d32;
  border-radius:20px;
  padding:60px 40px 50px;
  text-align:center;
}
/* ===== 見出し ===== */
.ryoku-toppoint__small {
  color:#106431;
  font-weight:700;
  margin-bottom:20px;
  font-size:30px
}
.ryoku-toppoint__title {
  display:flex;
  justify-content:center;
  gap:4px;
  margin-bottom:16px;
}
.ryoku-toppoint__title span {
  display:inline-block;
  font-size:42px;
  font-weight:700;
  padding:11px 12px;
  border-radius:10px;
  color:#fff;
}
.ryoku-toppoint__title .green {
  background:#2CA136;
}
.ryoku-toppoint__title .yellow {
  background:#FFBD24;
}
.ryoku-toppoint__lead {
  font-size:21px;
  margin-bottom:40px;
  margin-top:40px!important;
  font-weight:400;
}
/* ===== グリッド ===== */
.ryoku-toppoint__grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:40px 60px;
  margin-bottom:40px;
}
.ryoku-toppoint__item img {
  width:100%;
  height:auto;
  display:block;
}
/* ===== ボタン ===== */
.ryoku-toppoint__btn-wrap {
  text-align:center;
}
.ryoku-toppoint__btn {
  display:inline-flex;
  align-items:center;
  gap:16px;
  background:#2e9e3f;
  color:#fff;
  padding:20px 52px;
  border-radius:999px;
  text-decoration:none;
  font-size:20px;
  transition:.3s;
  letter-spacing:1px;
}
.ryoku-toppoint__btn span {
  width:13px;
  height:13px;
  border-right:2px solid #fff;
  border-top:2px solid #fff;
  transform:rotate(45deg);
}
.ryoku-toppoint__btn:hover {
  opacity:.85;
}
/* ===== SP ===== */
@media (max-width:768px) {
  .ryoku-toppoint__inner {
    padding:40px 20px 30px;
  }
  .ryoku-toppoint__title span {
    font-size:22px;
    padding:6px 10px;
  }
  .ryoku-toppoint__grid {
    grid-template-columns:1fr;
    gap:28px;
  }
}
/* ===== セクション ===== */
.ryoku-topservice {
  padding:100px 20px 80px;
  font-family:"Noto Sans JP", sans-serif;
}
.ryoku-topservice__inner {
  max-width:1100px;
  margin:0 auto;
}
/* ===== タイトル ===== */
.ryoku-topservice__title {
  font-size:110px;
  font-weight:700;
  color:#1f7a34;
  line-height:1;
  margin-bottom:10px;
  letter-spacing:4px
}
.ryoku-topservice__subtitle {
  font-size:20px;
  font-weight:700;
  margin-bottom:25px;
}
.ryoku-topservice__lead {
  font-size:16px;
  line-height:1.9;
  margin-bottom:50px;
  font-weight:400;
}
/* ===== グリッド ===== */
.ryoku-topservice__grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:28px;
  margin-bottom:50px;
}
/* カード */
.ryoku-topservice__card {
  display:block;
  border-radius:14px;
}
.ryoku-topservice__card:hover {
  transform:translateY(-4px);
  box-shadow:0 10px 20px rgba(0,0,0,0.08);
}
.ryoku-topservice__card img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
/* ===== ボタン ===== */
.ryoku-topservice__btn-wrap {
  text-align:center;
}
.ryoku-topservice__btn {
  display:inline-flex;
  align-items:center;
  gap:18px;
  background:#2e9e3f;
  color:#fff;
  padding:20px 42px;
  border-radius:999px;
  font-size:20px;
  text-decoration:none;
  transition:.3s;
  font-weight:500;
  letter-spacing:1px
}
.ryoku-topservice__btn span {
  width:10px;
  height:10px;
  border-right:2px solid #fff;
  border-top:2px solid #fff;
  transform:rotate(45deg);
}
.ryoku-topservice__btn:hover {
  opacity:.85;
}
/* ===== SP ===== */
@media (max-width:768px) {
  .ryoku-topservice {
    padding:70px 16px 60px;
  }
  .ryoku-topservice__title {
    font-size:64px;
  }
  .ryoku-topservice__grid {
    grid-template-columns:1fr;
    gap:20px;
  }
}
/* ===== セクション ===== */
.ryoku-price-table {
  background:#fff;
  padding:90px 20px;
  font-family:"Noto Sans JP", sans-serif;
  border-radius:20px;
  margin-bottom:60px
}
.ryoku-price {
  margin-top:30px
}
.ryoku-price-table__card1 {
  margin-top:60px!important
}
/* ===== 見出し ===== */
.ryoku-price-table__title {
  text-align:center;
  font-size:34px;
  font-weight:700;
  margin-bottom:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
}
.ryoku-price-table__title span {
  display:block;
  width:60px;
  height:2px;
  background:#333;
}
/* ===== カード ===== */
.ryoku-price-table__card {
  max-width:980px;
  margin:0 auto 40px;
  border:1px solid #106431;
  border-radius:12px;
  padding:24px;
}
.ryoku-price-table__card-inner {
  display:flex;
  gap:20px;
  align-items:center;
}
.ryoku-price-table__thumb {
  width:160px;
  min-width:160px;
  height:160px;
  border-radius:50%;
  overflow:hidden;
}
.ryoku-price-table__thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
}
/* テキスト */
.ryoku-price-table__head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:10px;
}
.ryoku-price-table__head h3 {
  font-size:24px;
  color:#106431;
  font-weight:700;
}
.ryoku-price-table__price {
  font-size:24px;
  color:#106431;
  font-weight:700;
  letter-spacing:2px;
}
.ryoku-price-table__text {
  font-size:16px;
  line-height:1.8;
  font-weight:400;
}
.ryoku-price-table__head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:22px;
  padding-bottom:25px;
  border-bottom:4px dotted #5f8f73;
}
/* ===== テーブル画像 ===== */
.ryoku-price-table__table-wrap {
  max-width:980px;
  margin:0 auto 20px;
  overflow-x:auto;
}
.ryoku-price-table__table-wrap img {
  width:980px;
  max-width:none;
  display:block;
}
/* ===== 注意書き ===== */
.ryoku-price-table__note {
  max-width:980px;
  margin:0 auto;
  font-size:14px;
  font-weight:400;
  line-height:1.8;
}
.list-pc {
  max-width:980px;
  margin:0 auto;
}
/* ===== SP ===== */
@media (max-width:768px) {
  .list-pc {
    display:none;
  }
  .ryoku-price-table__title span {
    width:30px
  }
  .ryoku-price-table {
    padding:40px 16px;
  }
  .ryoku-price-table__head h3 {
    font-size: 14px;
    color: #106431;
    font-weight: 700;
  }
  .ryoku-price-table__price {
    font-size: 14px;
    color: #106431;
    font-weight: 700;
    letter-spacing: 2px;
  }
  .ryoku-price-table__title {
    font-size:20px;
  }
  .ryoku-price-table__text {
    font-size: 14px;
    line-height: 1.8;
    font-weight: 400;
  }
  .ryoku-price-table__card {
    max-width: 980px;
    margin: 0 auto 40px;
    border: 1px solid #106431;
    border-radius: 12px;
    padding: 20px;
  }
  .ryoku-price-table__card-inner {
    flex-direction:column;
    align-items:center;
    text-align:left;
  }
  .ryoku-price-table__thumb {
    width:110px;
    height:110px;
    min-width:110px;
  }
  .ryoku-price-table__table-wrap img {
    width:780px;
    /* 横スクロール用 */
  }
}
/* ===== 全体 ===== */
.price-body {
  background-color:#FCFEDE
}
.ryoku-price {
  width:100%;
  overflow:hidden;
  font-family: "Noto Sans JP", sans-serif;
}
/* ===== ヒーロー ===== */
.ryoku-price__hero {
  position:relative;
  height:620px;
}
.ryoku-price__bg {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter: brightness(70%);
}
/* テキスト中央配置 */
.ryoku-price__overlay {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  padding:20px;
}
.ryoku-price__title {
  font-size:66px;
  font-weight:700;
  letter-spacing:0.1em;
  margin-bottom:20px;
  border-bottom:2px solid rgba(255,255,255,0.6);
  padding-bottom:10px;
}
.ryoku-price__lead {
  font-size:36px;
  line-height:1.8;
  font-weight:600;
  letter-spacing:2px
}
/* 丸配置 */
.ryoku-price__circles {
  max-width:1000px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  margin-top: -70px;
  z-index: 1;
  position: relative;
}
.ryoku-price__circle {
  width:33%;
}
.ryoku-price__circle img {
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
@media (min-width:768px) {
  .sp-ryoku {
    display:none;
  }
  .list-sp {
    display:none;
  }
  .onayami-sp {
    display:none;
  }
}
/* ===== レスポンシブ ===== */
@media (max-width:768px) {
  .ryoku-price-table__note {
    max-width: 980px;
    margin: 0 auto;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.8;
  }
  .onayami-pc {
    display:none;
  }
  .pc-ryoku {
    display:none;
  }
  .ryoku-price__hero {
    height:320px;
  }
  .ryoku-price__title {
    font-size:25px;
  }
  .ryoku-price__lead {
    font-size:16px;
  }
  .ryoku-price__circles {
    gap:14px;
    padding:5px
  }
  .ryoku-price__circle {
    width:180px;
    height:180px;
  }
}
/* ============================================
   Top About Section Styles - WordPress Theme
   緑真園 トップAboutセクション
   ============================================ */
/* ============================================
   Section Wrapper
   ============================================ */
.top-ryoku-section {
  width: 100%;
  overflow: hidden;
}
.top-ryoku-section1 {
  background-color:#f2fff8!important
}
/* ============================================
   Hero Area（上部・背景画像1）
   ============================================ */
.top-ryoku-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 140px 20px 8em;
}
/* 緑オーバーレイ */
.top-ryoku-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
}
.top-ryoku-back {
  max-width:600px;
  width:80%;
}
.top-ryoku-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 1250px;
  margin: 0 auto;
  text-align: center;
}
.top-ryoku-back {
  position:absolute;
  margin:0 auto;
  left:0;
  right:0;
}
/* ============================================
   Hero Title
   ============================================ */
.top-ryoku-hero__title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 24px;
  letter-spacing: 3px;
  line-height: 1.4;
}
.top-ryoku-hero__title--accent {
  color: #2CA136;
}
/* ============================================
   Hero Text
   ============================================ */
.top-ryoku-hero__text {
  font-size: 20px;
  line-height: 2.4;
  margin-bottom: 40px;
}
.top-ryoku-hero__link {
  color: #2CA136;
  font-weight: bold;
}
/* ============================================
   Badges Grid（4列×2行 画像）
   ============================================ */
.top-ryoku-badges {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.top-ryoku-badges__row {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.top-ryoku-badge {
  height: 100px;
  width: auto;
}
/* ============================================
   Photo Slider（無限ループ 右→左）
   ============================================ */
.top-ryoku-slider {
  position: relative;
  overflow: hidden;
  padding: 20px 0;
  z-index: 13;
}
.top-ryoku-slider__track {
  display: flex;
  gap: 15px;
  animation: topRyokuSlide 30s linear infinite;
  will-change: transform;
}
.top-ryoku-slider__slide {
  flex: 0 0 300px;
  height: 210px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.top-ryoku-slider__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@keyframes topRyokuSlide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-300px * 5 - 75px));
  }
}
/* ============================================
   Concerns Area（下部・背景画像2）
   ============================================ */
.top-ryoku-concerns {
  position: relative;
  background-image: url('http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102877-scaled.webp');
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding: 200px 0px 160px;
  margin-top:-130px;
  z-index: 10;
}
.top-ryoku-concerns__inner {
  position: relative;
  z-index: 2;
  max-width: 1250px;
  margin: 0 auto;
}
/* ============================================
   Concerns Header
   ============================================ */
.top-ryoku-concerns__header {
  text-align: center;
  margin-bottom: 40px;
}
.top-ryoku-concerns__label {
  display: inline-block;
  font-size: 14px;
  color: #2d7a3a;
  border: 1px solid #2d7a3a;
  padding: 5px 20px;
  border-radius: 20px;
  margin-bottom: 16px;
}
.top-ryoku-concerns__title {
  font-size: 28px;
  font-weight: bold;
  color: #333;
}
/* ============================================
   Concerns Body（グリッド + 女性画像）
   ============================================ */
.top-ryoku-concerns__body {
  display: flex;
  align-items: flex-end;
  gap: 20px;
}
/* ============================================
   Concern Grid（2×2 → スマホ 1×4）
   ============================================ */
.top-ryoku-concern-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.top-ryoku-concern-item {
  /* 画像コンテナ */
}
.top-ryoku-concern-img {
  width: 100%;
  height: auto;
  display: block;
}
/* ============================================
   Woman Image
   ============================================ */
.top-ryoku-concerns__woman {
  flex: 0 0 180px;
  max-width: 180px;
}
.top-ryoku-concerns__woman img {
  width: 100%;
  height: auto;
  display: block;
}
.
/* ============================================
   Responsive - Tablet (768px)
   ============================================ */
@media (min-width: 768px) {
  .onayami-sp {
    display:none;
  }
}
@media (max-width: 768px) {
  .onayami-pc {
    display:none;
  }
  .top-ryoku-hero {
    padding: 100px 20px 150px!important;
  }
  .top-ryoku-hero__title {
    font-size: 26px;
    letter-spacing: 1px;
  }
  .top-ryoku-hero__text {
    font-size: 14px;
  }
  /* バッジ：2列に */
  .top-ryoku-badges__row {
    flex-wrap: wrap;
  }
  .top-ryoku-badge {
    height: 50px;
  }
  /* スライダー */
  .top-ryoku-slider__slide {
    flex: 0 0 240px;
    height: 170px;
  }
  @keyframes topRyokuSlide {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-240px * 5 - 75px));
    }
  }
  /* お悩み */
  .top-ryoku-concerns__title {
    font-size: 22px;
  }
  .top-ryoku-concerns__body {
    flex-direction: column;
    align-items: center;
  }
  /* スマホ：お悩み1列×4行 */
  .top-ryoku-concern-grid {
    grid-template-columns: 1fr;
  }
  .top-ryoku-concerns__woman {
    flex: none;
    max-width: 150px;
  }
}
/* ============================================
   Responsive - SP (480px)
   ============================================ */
@media (max-width: 767px) {
  .ryoku-cta__tel-number {
    font-size: 23px;
    font-weight: 700;
    letter-spacing: 0px;
  }
  .ryoku-cta__btn-icon {
    width: 22px;
    height: auto;
    object-fit: contain;
  }
  .ryoku-cta__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 16px 2px;
    border-radius: 999px;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    transition: .3s;
    letter-spacing: 1px;
    line-height: 0;
  }
  .ryoku-cta__tel-time {
    font-size: 10px;
    font-weight: 400;
    margin-top: 10px;
  }
  .ryoku-cta__tel-label {
    font-size: 14px;
    margin-bottom: 6px;
    text-align: center;
  }
  .ryoku-cta__tel-icon img {
    width: 36px;
    height: 36px;
  }
  .ryoku-toppoint__small {
    color: #106431;
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 18px;
  }
  .ryoku-toppoint__lead {
    font-size: 16px;
    margin-bottom: 40px;
    margin-top: 40px !important;
    font-weight: 400;
    line-height:1.6
  }
  .ryoku-toppoint__title span {
    font-size:19px;
    border-radius:5px!important
  }
  .top-ryoku-hero {
    padding: 40px 15px 130px;
  }
  .top-ryoku-concerns {
    position: relative;
    margin-top: -30px;
    z-index: 10;
  }
  .top-ryoku-hero__title {
    font-size: 22px;
  }
  .top-ryoku-hero__text {
    font-size: 13px;
  }
  /* バッジ：2列に */
  .top-ryoku-badges {
    gap: 8px;
  }
  .top-ryoku-badges__row {
    gap: 8px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .top-ryoku-badge {
    height: 100%;
    width: calc(50% - 4px);
    object-fit: contain;
  }
  /* スライダー */
  .top-ryoku-slider {
    margin-top: -80px;
  }
  .top-ryoku-slider__slide {
    flex: 0 0 200px;
    height: 140px;
  }
  @keyframes topRyokuSlide {
    0% {
      transform: translateX(0);
    }
    100% {
      transform: translateX(calc(-200px * 5 - 75px));
    }
  }
  /* お悩み */
  .top-ryoku-concerns {
    padding: 50px 15px 40px;
  }
  .top-ryoku-concerns__header {
    margin-bottom: 30px;
  }
  .top-ryoku-concerns__title {
    font-size: 20px;
  }
  .top-ryoku-concerns__woman {
    max-width: 130px;
  }
}
/* ============================================
   Heading
   ============================================ */
.guide-heading {
  text-align: center;
  margin-bottom: 50px;
}
.guide-heading__title {
  font-size: 32px;
  font-weight: bold;
  color: #333;
  margin-bottom: 12px;
}
.guide-heading__line {
  display: block;
  width: 40px;
  height: 3px;
  background: #2d7a3a;
  margin: 0 auto;
  border-radius: 2px;
}
.sp-menu {
  background-color:#fff!important;
}
.sp-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px!important;
  font-size: 14px!important;
  font-weight: 500!important;
}
.sp-contact {
  padding: 10px 15px!important;
  background: #fff;
}
/* ============================================
   Cards Layout
   ============================================ */
.guide-cards {
  display: flex;
  gap: 34px;
  margin-top:50px
}
/* ============================================
   Card Base
   ============================================ */
.guide-card {
  flex: 1;
  border-radius: 0px;
  padding: 70px 35px;
  display: flex;
  flex-direction: column;
}
/* Yellow Card */
.guide-card--yellow {
  background: #FCFFC9;
}
/* Green Card */
.guide-card--green {
  background: #e6f4e8;
}
/* ============================================
   Card Title
   ============================================ */
.guide-card__title {
  font-size: 32px;
  font-weight: bold;
  color: #333;
  text-align: center;
  margin-bottom: 20px;
  letter-spacing: 1px;
}
/* ============================================
   Card Text
   ============================================ */
.guide-card__text {
  font-size: 16px;
  line-height: 1.9;
  margin-bottom: 0;
  font-weight:400;
  margin-top:15px
}
.guide-card__text+.guide-card__text {
  margin-top: 6px;
}
.ryoku-toppoint__btn {
  position:relative!important;
  padding: 20px 92px;
}
.ryoku-toppoint__btn span {
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  right: 30px;
}
/* ============================================
   Buttons Area
   ============================================ */
.guide-card__buttons {
  margin-top: auto;
  padding-top: 24px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
/* ============================================
   Button Base
   ============================================ */
.guide-btn {
  display: flex;
  margin:0 auto;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 24px 24px;
  border-radius: 50px;
  font-size: 20px;
  font-weight: 400;
  text-decoration: none;
  color: #fff;
  transition: background-color 0.3s ease, transform 0.2s ease;
  position: relative;
  width:80%;
}
.guide-btn__label {
  flex: 1;
  text-align: center;
}
.guide-btn__arrow {
  flex-shrink: 0;
}
/* Olive Button */
.guide-btn--olive {
  background: #CBD423;
}
.guide-btn--olive:hover {
  background: #2CA136;
}
/* Green Button */
.guide-btn--green {
  background: #2CA136;
}
.guide-btn--green:hover {
  background: #CBD423;
}
/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {
  .ryoku-toppoint__btn {
    position:relative!important;
    padding: 20px 62px;
  }
  .ryoku-toppoint__btn span {
    width: 9px;
    height: 9px;
  }
  .guide-heading__title {
    font-size: 26px;
  }
  .guide-heading {
    margin-bottom: 36px;
  }
  .guide-cards {
    flex-direction: column;
    gap: z0px;
  }
  .guide-card {
    padding: 50px 24px!important;
  }
  .guide-card__title {
    font-size: 20px;
  }
  .guide-btn {
    font-size: 14px;
    padding: 12px 20px;
  }
}
@media (max-width: 767px) {
  .guide-section {
    padding: 40px 0;
  }
  .guide-container {
    padding: 0 15px;
  }
  .guide-heading__title {
    font-size: 24px;
  }
  .guide-card {
    padding: 24px 18px;
  }
  .guide-card__title {
    font-size: 18px;
  }
  .guide-card__text {
    font-size: 13px;
  }
  .guide-btn {
    font-size: 13px;
    padding: 12px 18px;
  }
}
/* ============================================
   Header
   ============================================ */
.service-ryoku-header {
  text-align: center;
  margin-bottom: 40px;
}
.service-ryoku-header__text {
  font-size: 18px;
  font-weight: 400;
  color: #1F1F1F;
  line-height: 1.8;
  margin-bottom: 0;
  margin-top:40px;
}
/* ============================================
   Grid
   ============================================ */
.service-ryoku-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.service-ryoku-grid1 {
  margin-bottom:180px
}
/* ============================================
   Card
   ============================================ */
.service-ryoku-card {
  border: 2px solid #106431;
  border-radius: 16px;
  overflow: hidden;
  text-align: center;
  padding: 14px;
  padding-bottom:30px;
  background-color:#fff;
}
/* ============================================
   Card Image
   ============================================ */
.service-ryoku-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.service-ryoku-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius:15px 15px 0px 0px
}
/* ============================================
   Card Title
   ============================================ */
.service-ryoku-card__title {
  font-size: 26px;
  font-weight: bold;
  color: #106431;
  margin: 16px 16px 10px;
  line-height: 1.8;
}
/* ============================================
   Card Text
   ============================================ */
.service-ryoku-card__text {
  font-size: 20px;
  color: #1F1F1F;
  line-height: 1.7;
  margin: 0 16px;
  font-weight:400;
}
/* ============================================
   Responsive - Tablet (768px)
   ============================================ */
@media (max-width: 768px) {
  .service-ryoku-grid1 {
    margin-bottom:100px
  }
  .service-ryoku-section {
    padding: 50px 0;
  }
  .service-ryoku-header__text {
    font-size: 16px;
  }
  .service-ryoku-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .service-ryoku-card {
    border-radius: 12px;
    padding-bottom: 18px;
  }
  .service-ryoku-card__title {
    font-size: 14px;
    margin: 12px 12px 8px;
  }
  .service-ryoku-card__text {
    font-size: 12px;
    margin: 0 12px;
  }
}
/* ============================================
   Responsive - SP (480px)
   ============================================ */
@media (max-width: 767px) {
  .service-ryoku-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 10px 10px 0px 0px;
  }
  .service-ryoku-card {
    padding:9px;
  }
  .service-ryoku-section {
    padding: 40px 0;
  }
  .service-ryoku-container {
    padding: 0 15px;
  }
  .service-ryoku-header {
    margin-bottom: 30px;
  }
  .service-ryoku-header__text {
    font-size: 15px;
  }
  .service-ryoku-grid {
    gap: 12px;
  }
  .service-ryoku-card {
    padding-bottom: 14px;
  }
  .service-ryoku-card__title {
    font-size: 13px;
    margin: 10px 10px 6px;
  }
  .service-ryoku-card__text {
    font-size: 10px;
    margin: 0 0px;
  }
}
.recruit-inner {
  max-width:1250px;
  padding:20px
}
.recruit1-inner {
  padding-top:60px;
  padding-bottom:60px;
  margin:0 auto;
  z-index: 10;
  position:relative
}
.recruit2-inner {
  max-width:1250px;
}
.recruit1-inner .contact-title {
  color:#333;
  padding-left:20px;
  padding-right:20px;
}
.recruit1-inner .contact-title::after {
  display:none;
}
.recruit1-inner .contact-title span {
  color:#FFBD24;
}
.recruit-text1 {
  text-align:center;
}
.recruit-text span {
  border-bottom:solid #FFBD24
}
.work-1 {
  margin-bottom:80px
}
.pooint-section {
  width: 100%;
  padding: 80px 0;
  background: #fff;
}
.pooint-container {
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
/* ============================================
   Point Block
   ============================================ */
.pooint-block {
  display: flex;
  align-items: center;
  gap: 60px;
  margin-top:60px
}
/* 反転レイアウト（テキスト左・画像右） */
.pooint-block--reverse {
  flex-direction: row-reverse;
}
/* ============================================
   Image
   ============================================ */
.pooint-block__image {
  flex: 0 0 47%;
  max-width: 50%;
  border-radius: 8px;
  overflow: hidden;
}
.pooint-block__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
/* ============================================
   Content
   ============================================ */
.pooint-block__content {
  flex: 1;
}
/* ============================================
   Title
   ============================================ */
.pooint-block__title {
  font-size: 26px;
  font-weight: bold;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.5;
  text-align:left;
}
.pooint-block__title--green {
  color: #2d7a3a;
}
/* ============================================
   Text
   ============================================ */
.pooint-block__text {
  font-size: 16px;
  font-weight:400;
  line-height: 1.7;
  margin-bottom: 0;
  text-align:left;
}
.pooint-block__text+.pooint-block__text {
  margin-top: 8px;
}
/* ============================================
   Responsive - Tablet (768px)
   ============================================ */
@media (max-width: 768px) {
  .recruit-text1 {
    text-align:left;
  }
  .pooint-section {
    padding: 50px 0;
  }
  .pooint-container {
    gap: 50px;
  }
  .pooint-block {
    flex-direction: column;
    gap: 20px;
  }
  /* スマホではreverse解除（常に画像が上） */
  .pooint-block--reverse {
    flex-direction: column;
  }
  .pooint-block__image {
    flex: none;
    max-width: 100%;
    width: 100%;
  }
  .pooint-block__title {
    font-size: 20px;
  }
  .pooint-block__text {
    font-size: 14px;
  }
}
/* ============================================
   Responsive - SP (480px)
   ============================================ */
@media (max-width: 767px) {
  .pooint-section {
    padding: 40px 0;
  }
  .pooint-container {
    gap: 40px;
    padding: 0 15px;
  }
  .pooint-block__title {
    font-size: 18px;
  }
  .pooint-block__text {
    font-size: 13px;
  }
}
.sp-menu {
  z-index:1820!important;
}
.hamburger {
  z-index:1821!important;
  position:fixed!important;
}
.privacy p {
  letter-spacing:1px;
  font-weight:400!important
}
.faq-answer {
  font-weight:500;
}
.privacy-body {
  background-color:#fff;
}
.privacy {
  border-radius: 50px 50px 0px 0px;
  z-index: 10;
  position: relative;
  top: -40px;
  background-color: #fff;
}
/* ============================================
   Loading Text (キャッチコピー)
   ============================================ */
.loading-text {
  color: #fff;
  font-size: 20px;
  letter-spacing: 4px;
  text-align: center;
  margin-top:30px;
}
/* ============================================
   Responsive Styles
   ============================================ */
/* ============================================
   Card
   ============================================ */
.pooint-card {
  border: 2px solid #2CA136;
  border-radius: 16px;
  padding: 35px 40px;
  margin-top:40px;
  text-align:left;
  background-color:#fff;
}
.pooint-card1 {
  margin-top:75px
}
/* ============================================
   Card Title
   ============================================ */
.pooint-card__title {
  font-size: 24px;
  font-weight: 600;
  color: #333;
  margin-bottom: 16px;
  line-height: 1.5;
  letter-spacing:1px
}
.pooint-card__title--green {
  color: #2CA136;
}
/* ============================================
   Card Text
   ============================================ */
.pooint-card__text {
  font-size: 16px;
  color: #555;
  line-height: 1.9;
  margin-bottom: 0;
  font-weight:400;
}
.pooint-card__text+.pooint-card__text {
  margin-top: 4px;
}
/* ============================================
   Responsive
   ============================================ */
@media (max-width: 768px) {
  .pooint-card {
    padding: 25px 24px;
    border-radius: 12px;
  }
  .pooint-card__title {
    font-size: 19px;
  }
  .pooint-card__text {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .pooint-card-section {
    padding: 40px 0;
  }
  .pooint-card-container {
    gap: 20px;
    padding: 0 15px;
  }
  .pooint-card {
    padding: 20px 18px;
  }
  .pooint-card__title {
    font-size: 17px;
  }
  .pooint-card__text {
    font-size: 13px;
  }
}
@media (max-width: 768px) {
  .loading-logo img {
    width: 150px;
  }
  .loading-bar {
    width: 300px;
    height: 5px;
  }
  .loading-text {
    font-size: 16px;
    letter-spacing: 2px;
    padding: 0 20px;
  }
}
@media (max-width: 480px) {
  .loading-logo img {
    width: 130px;
  }
  .loading-bar {
    width: 250px;
    height: 4px;
  }
  .loading-text {
    font-size: 14px;
    letter-spacing: 1px;
  }
}
.loading-screen {
  position: fixed;
  inset: 0;
  background-color: #1a5a2c;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
  transition: opacity 1.5s ease;
  will-change: opacity;
}
/* フェードアウト用 */
.loading-screen.is-hidden {
  opacity: 0;
}
:root {
  --fv-height: 95vh;
  --fv-min-height: 600px;
  --fv-max-height: 850px;
  --primary-green: #4a7c3f;
  --primary-orange: #f5a623;
  --text-white: #ffffff;
  --slide-duration: 12s;
  --leaf-sway-duration: 4s;
  --rotate-duration: 20s;
}
.en-fv {
  position:absolute;
  z-index:10;
  right:0;
  height:100%;
}
.sankaku1 {
  position:absolute;
  top:0px;
  z-index:10;
  width:60%;
  right:0px
}
.sankaku2 {
  position:absolute;
  bottom:0px;
  z-index:10;
  width:60%;
  left:0px;
}
/* ============================================
   FV Container
   ============================================ */
.fv-section {
  position: relative;
  width: 100%;
  height: var(--fv-height);
  min-height: var(--fv-min-height);
  max-height: var(--fv-max-height);
  overflow: hidden;
}
/* ============================================
   Background Slider
   ============================================ */
.fv-bg-slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.fv-bg-slider__track {
  display: flex;
  width: 300%;
  height: 100%;
  animation: slideBackground var(--slide-duration) linear infinite;
}
.fv-bg-slider__slide {
  flex: 0 0 33.333%;
  width: 33.333%;
  height: 100%;
  background-size: cover;
  background-position: center;
}
/* プレースホルダー背景 - 実際の画像に置き換えてください */
.fv-bg-slider__slide--1 {
  background-color: #5a8a4a;
  background-image: url('http://shiro-koubou.com/wp-content/uploads/2026/02/slider-1-fv-scaled.webp');
}
.fv-bg-slider__slide--2 {
  background-color: #4a7a3a;
  background-image: url('http://shiro-koubou.com/wp-content/uploads/2026/02/slider-2-fv-scaled.webp');
}
.fv-bg-slider__slide--3 {
  background-color: #3a6a2a;
  background-image: url('http://shiro-koubou.com/wp-content/uploads/2026/02/slider-3-fv-scaled.webp');
}
@keyframes slideBackground {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-33.333%);
  }
}
.fv-bg-slider__track {
  display:flex;
  width: 600%;
  /* 3枚→6枚になったので */
  height:100%;
  animation: slideBackground var(--slide-duration) linear infinite;
}
.fv-bg-slider__slide {
  flex: 0 0 calc(100% / 6);
  /* 6枚で均等 */
  width: calc(100% / 6);
  height:100%;
  background-size:cover;
  background-position:center;
}
@keyframes slideBackground {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
  /* 6枚中、最初の3枚分だけ移動 */
}
:root {
  --slide-duration: 36s;
  /* ← 大きいほどゆっくり（例：36秒） */
}
/* ============================================
   Content Overlay
   ============================================ */
.fv-content {
  position: absolute;
  z-index: 10;
  width: 55%;
  height: 50%;
  display: block;
  align-items: center;
  padding: 0px 0px;
  box-sizing: border-box;
  left: 35%;
  top: 17%;
  bottom: 0;
}
/* ============================================
   Menu Labels (Top)
   ============================================ */
.fv-menu {
  display: flex;
  gap: 15px;
  margin-bottom: 10px;
  justify-content: left;
  margin-left:30px;
  max-width: 1030px;
}
.fv-menu__item {
}
.fv-menu__item img {
  height: 100%;
  width: auto;
}
/* ============================================
   Main Title Image
   ============================================ */
.fv-title {
  max-width: 1030px;
  text-align: center;
}
.fv-title__image {
  width: 100%;
  height: auto;
}
/* ============================================
   Orange Badges
   ============================================ */
.fv-badges {
  display: flex;
  gap: 0px;
  margin-top: 30px;
  justify-content: left;
  max-width:1030px;
}
.fv-badge {
  width: 100%;
  height: 100%;
}
.fv-badge img {
  width: 350px;
  height: 200px;
  object-fit: contain;
}
/* ============================================
   Leaves Animation
   ============================================ */
.fv-leaves {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9;
}
.fv-leaf {
  position: absolute;
  width: 160px;
  height: auto;
  animation: swayLeaf var(--leaf-sway-duration) ease-in-out infinite;
}
.fv-leaf img {
  width: 100%;
  height: auto;
}
/* 葉っぱ位置設定 */
.fv-leaf--1 {
  top: 80%;
  right: 20%;
  animation-delay: 0s;
}
.fv-leaf--2 {
  top: 35%;
  right:12%;
  animation-delay: 0.5s;
  width: 120px;
}
.fv-leaf--3 {
  top: 60%;
  right: 45%;
  animation-delay: 1s;
  width: 150px;
}
.fv-leaf--4 {
  top: 70%;
  left:30%;
  animation-delay: 1.5s;
  width: 105px;
}
.fv-leaf--5 {
  top: 25%;
  right: 5%;
  animation-delay: 2s;
  width: 125px;
}
/* ゆらゆらアニメーション */
@keyframes swayLeaf {
  0%,
  100% {
    transform: rotate(-5deg) translateY(0);
  }
  25% {
    transform: rotate(5deg) translateY(-5px);
  }
  50% {
    transform: rotate(-3deg) translateY(3px);
  }
  75% {
    transform: rotate(7deg) translateY(-3px);
  }
}
/* ============================================
   Rotating Circle (施工実績)
   ============================================ */
.fv-results-circle {
  position: absolute;
  bottom: -20px;
  left: 0px;
  width: 350px;
  height: 350px;
  z-index: 15;
}
.fv-results-circle__inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 260px;
  height: 260px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}
.fv-results-circle__inner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fv-results-circle__rotating-text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation: rotateText var(--rotate-duration) linear infinite;
  z-index: 1;
}
.fv-results-circle__rotating-text svg {
  width: 100%;
  height: 100%;
}
.fv-results-circle__rotating-text text {
  fill: #fff;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 3px;
}
@keyframes rotateText {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ============================================
   Area Label
   ============================================ */
.fv-area-label {
  position: absolute;
  bottom: 350px;
  left: 0px;
  z-index: 5;
}
.fv-area-label img {
  height: 280px;
  width: auto;
}
/* ============================================
   Right Side Text (RYOKUSHINEN)
   ============================================ */
.fv-side-text {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50px;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 20;
}
.fv-side-text__content {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 8px;
  color: var(--primary-green);
}
/* ============================================
   SNS Icons
   ============================================ */
.fv-sns {
}
.fv-sns__icon {
  width: auto;
  height: 65px;
  position: fixed;
  top:120px;
  z-index:1500;
  right:0;
}
.fv-sns__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.fv-sns__icon1 {
  top:200px
}
/* ============================================
   Responsive Styles
   ============================================ */
@media (max-width: 1024px) {
  /* SPだけ：画像の見せたい位置を左寄せ（上下は中央） */
  @media (max-width: 768px) {
    .fv-bg-slider__slide {
      background-position: left center;
      /* or 20% center など */
    }
  }
  :root {
    --slide-duration: 16s;
    /* ← 大きいほどゆっくり（例：36秒） */
  }
  .fv-menu {
    padding-left: 20px;
    gap: 10px;
  }
  .fv-title {
    margin-left: 20px;
    max-width: 500px;
  }
  .fv-badges {
    margin-left: 20px;
  }
  .fv-results-circle {
    width: 150px;
    height: 150px;
    right: 20px;
    bottom: 30px;
    top:10%;
  }
  .fv-results-circle__inner {
    width: 110px;
    height: 110px;
  }
  .fv-area-label {
    top:10%!important;
  }
  .fv-sns__icon {
    height:35px;
  }
  .fv-section {
    min-height: 400px!important;
    height: 650px;
  }
}
@media (max-width: 969px) {
  .fv-badge img {
    width: 120px;
    height: auto;
  }
  .fv-section {
    min-height: 500px;
    margin-top:40px
  }
  .fv-sns__icon1 {
    top: 160px;
  }
  .fv-badges {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0px;
  }
  .fv-badge img {
    object-fit: contain;
  }
  .fv-content {
    position: absolute;
    padding:15px!important;
    z-index: 10;
    width: 100%;
    height: auto;
    display: block;
    align-items: center;
    padding: 0px 0px;
    box-sizing: border-box;
    left: 0%;
    bottom: 10%!important;
    top:auto!important;
  }
  .fv-menu {
    flex-wrap:wrap;
    padding-left: 0px;
    margin:0px;
    margin-bottom:10px
  }
  .fv-menu__item {
    height: 30px;
  }
  .fv-title {
    margin-left: 0px;
    width:100%;
    padding-right: 20px;
  }
  .fv-badges {
    margin-left: 0px;
    flex-wrap: wrap;
    margin-top:20px;
    z-index:20;
    position:sticky;
  }
  .fv-results-circle {
    width: 210px;
    height: 210px;
    left: auto;
    bottom: -5px;
    position:absolute;
    right:0;
  }
  .fv-results-circle__inner {
    width: 155px;
    height: 155px;
  }
  .fv-leaf {
    width: 40px;
  }
  .fv-side-text {
    width: 40px;
  }
  .fv-side-text__content {
    font-size: 12px;
    letter-spacing: 5px;
  }
  .fv-area-label {
    bottom: auto;
    top:20px
  }
  .fv-area-label img {
    height: 160px;
    z-index:0;
    position:sticky;
  }
  .fv-menu {
  }
}
html {
  scroll-behavior: smooth;
}
body {
  background-color:#fff;
  font-family: "Noto Sans JP", sans-serif!important;
}
.pc-nav-list li a:hover {
  color:#FF64AC!important
}
.header-logo img:hover {
  transition:0.3s;
  opacity:0.3
}
.nav-home1 {
  margin-left:26px
}
.pc-line {
  background: #2CA136;
}
.pc-mail {
  background: #FF6D0C;
}
.icon-text {
  fill: #ffffff;
}
.icon-text1 {
  fill: #ffffff;
}
.icon-text2 {
  fill: #2CA136;
}
.pc-mail:hover {
  color:#415379!important;
  background-color:#fff!important
}
.pc-line:hover .icon-text {
  fill: #2CA136;
}
.pc-line:hover .icon-text1 {
  fill: #2CA136;
}
.pc-line:hover .icon-text2 {
  fill: #fff;
}
.pc-mail {
  background: #415379!important;
}
.pc-line:hover {
  color:#2CA136!important;
  background-color:#fff
}
.pc-mail svg {
  margin-bottom:5px;
}
.pc-line svg {
  margin-bottom:5px;
  width:30px
}
svg.icon-mail {
  width: 30px!important;
}
.divider-black {
  color:#106431;
  letter-spacing:-2px!important
}
.divider-green {
  color:#CBD423
}
.thanks-btn-wrap {
  text-align: center;
  padding: 10px 20px;
}
.thanks-btn {
  display: inline-block;
  background-color:#FF64AC!important;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 18px 48px;
  border-radius: 0px;
  text-decoration: none;
  transition: opacity 0.3s ease;
  margin-top:0px!important;
  border-radius:100px!important
}
.thanks-btn:hover {
  opacity: 0.8;
}
.confirm-head {
  text-align: center;
  padding: 60px 20px 40px;
}
.confirm-title {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}
.confirm-line {
  display: block;
  width: 48px;
  height: 2px;
  background-color: #000;
  margin: 0 auto 24px;
}
.confirm-text {
  font-size: 16px;
  color: #101A51;
  line-height: 1.8;
}
.wrapper {
  max-width: 700px;
  padding:20px;
  margin: 0 auto;
  margin-top:80px;
}
.wpcf7-previous {
  background: #005CA8;
  color: #fff;
  border: none;
  padding: 20px 80px;
  border-radius: 100px;
  font-size: 16px;
  cursor: pointer;
  margin-right:8px;
  border-radius:100px!important
}
.recruit--btn1 {
  margin:0 auto!important;
}
/*topページ*/
.page-top .arrow {
  width: 15px;
  height: auto;
  margin-right: 1px;
  /* 文字との間隔 */
}
.home-icon {
  fill: #F48221;
  /* 通常時オレンジ */
  transition: 0.3s;
  height:25px!important;
  width:auto!important;
}
.nav-home:hover .home-icon {
  fill: #005CA8;
  /* ホバー時 */
}
.fv-sub-circle {
  position:absolute;
  right: 17%;
  top: 40%;
  transform: translateY(-55%);
  z-index: 3;
}
.fv-sub-circle img {
  width: 74%;
  max-width: 550px;
}
.voice-section {
  padding: 100px 0;
  text-align: center;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104075-scaled.webp") repeat;
  /* 背景1枚画像 */
  background-size:cover;
  padding-bottom:300px
}
.sp-tel img {
  width:45px;
  margin-right:10px;
}
.sp-tel {
  text-align: center;
  margin: 20px 0;
  align-items: center;
  display: flex;
  justify-content: center;
}
.voice-title {
  font-size: 128px;
  color: #101A51;
}
.voice-subtitle {
  margin-top: 20px;
  font-size:24px;
  color:#101A51
}
.voice-lead {
  margin-top: 30px;
  line-height: 1.8;
  font-size:24px;
  color:#101A51
}
.voice-carousel {
  margin-top: 60px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.voice-track-wrapper {
  overflow: hidden;
}
.voice-track {
  display: flex;
  gap: 30px;
  transition: transform 0.4s ease;
}
.voice-slide {
  width: 300px;
  flex-shrink: 0;
  opacity: 0.25;
  transition: opacity 0.3s ease;
}
.voice-slide img {
  width: 100%;
  display: block;
}
.voice-slide.is-active {
  opacity: 1;
}
.voice-arrow {
  background: #fff!important;
  border: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 24px;
  border:solid #2C385E!important;
  color:#fff!important;
  line-height:0;
  line-height:-1px!important
}
.voice-prev {
  margin-right: 0px;
  position:absolute;
  z-index:10;
  left:20%
}
.voice-next {
  margin-left: 0px;
  position:absolute;
  right:20%;
  z-index:10;
  color:#000
}
.top-faq-title {
  color:#fff!important;
}
.faq-answer .a {
  font-weight:bold;
}
.top-faq-subtitle {
  color:#fff!important;
}
.top-faq-section .contact-title {
  color:#fff!important;
  margin-bottom:50px
}
.top-faq-section .contact-title::after {
  background:#fff!important
}
.top-faq-section {
  padding: 130px 20px;
  background-image:url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104095-scaled-e1778908476289.webp");
  position: relative;
  object-fit:cover!important;
  background-size: cover;
}
.top-faq-inner {
  max-width:1100px;
  margin:0 auto;
}
.top-flow .recruit--recruitment-inner {
  justify-content:left;
}
.flow--side-left {
  left:auto!important;
  right:260px!important
}
.top-flow .recruit--center-sub {
  text-align:left;
}
.top-flow .recruit--center-text {
  text-align:left;
}
.top-flow .recruit--side {
  width:250px
}
.top-flow-btn {
  max-width:350px;
  width:100%;
  margin:0 auto;
  margin-top:50px;
  margin-bottom:80px
}
.top-flow {
  background:#fff!important;
  overflow: hidden;
  position: relative;
  padding-bottom:0px!important;
  padding:0px!important;
}
.blog-section {
  padding: 130px 0;
  overflow: hidden;
  position: relative;
  padding-bottom:150px;
  padding-top:220px
}
.blog-card.type-post .tag {
  background: #FF64AC;
  border-radius:0px;
  padding:5px;
  padding-left:20px;
  padding-right:20px;
  font-size:16px;
  margin:0px
}
.blog-card.type-column .tag {
  background: #000;
  border-radius:0px;
  padding:5px;
  padding-left:20px;
  padding-right:20px;
  font-size:16px;
  margin:0px
}
.blog-card .tag {
  background: #A952D9;
  border-radius:0px;
  padding:5px;
  padding-left:20px;
  padding-right:20px;
  font-size:16px;
  margin:0px;
  color:#fff
}
.blog-card.type-works .tag {
  background: #2CA136;
  border-radius:0px;
  padding:5px;
  padding-left:20px;
  padding-right:20px;
  font-size:16px;
  margin:0px
}
.tag-time {
  display:flex;
  align-items:center;
  margin-top:20px;
  margin-bottom:20px
}
.blog-card time {
  margin:0px!important;
  margin-left:10px!important
}
.blog-header {
  margin-left: 80px;
  padding-left: 10%;
  margin-bottom:80px;
  gap:15px
}
.blog-en {
  font-size: 128px;
  font-weight: 600;
  line-height: 0.8;
  color:#101A51;
}
.blog-ja {
  font-size: 24px;
  color:#101A51;
}
.blog-wrapper {
  overflow-x: auto;
  padding: 60px 0;
  cursor: grab;
  max-width:1550px;
}
.blog-wrapper::-webkit-scrollbar {
  display: none;
}
.blog-track {
  display: flex;
  gap: 32px;
  padding: 0 0px;
  width: max-content;
}
.blog-card {
  width: 420px;
  border-radius: px;
  overflow: hidden;
  flex-shrink: 0;
}
.blog-card a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.blog-card .thumb img {
  width: 100%;
  object-fit: cover;
}
.blog-card .thumb {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.blog-card .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.blog-card time {
  display: block;
  margin: 8px 16px 0;
  font-size: 12px;
  color: #999;
}
.blog-card h3 {
  margin: 8px 0px 20px;
  font-size: 16px;
  line-height: 1.5;
  color:#101A51;
}
.scroll-bar {
  width: 60%;
  height: 6px!important;
  background: #EED4FC!important;
  margin: 40px auto 0;
  border-radius: 999px;
}
.scroll-bar-inner {
  height: 100%;
  width: 0%;
  background: #A952D9;
  border-radius: 999px;
  transition: width 0.1s linear;
}
.blog-card .thumb {
  overflow: hidden;
  /* 枠からはみ出さない */
}
.blog-card .thumb img {
  transition: transform 0.3s ease;
}
.blog-card:hover .thumb img {
  transform: scale(1.1);
  /* 拡大率は調整OK */
}
.scroll-bar-inner {
  width: 150px;
  /* ← 固定 */
  position: absolute;
  left: 0;
  top: 0;
}
.scroll-bar {
  position: relative;
}
.blog-wrapper {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  /* iOS慣性 */
  touch-action: pan-x;
  /* 横スワイプを優先 */
}
.blog-track {
  display: flex;
  gap: 16px;
  /* 任意 */
  width: max-content;
  /* 中身の幅だけ広がる＝オーバーフローする */
}
.more-btn {
  position:relative;
  text-align: right;
  width:300px;
  margin:0 auto;
  margin-right:20px;
  top:-38px
}
.consult-btn:hover {
  opacity:0.8!important;
  background-color:#106431!important;
  border:solid 2px #106431!important;
  color:#fff!important
}
.strengths-section {
  background: #fff;
}
.strengths-worries {
  background: #EDF0F7;
  border-radius: 0 0 40px 40px;
  padding: 60px 20px 80px;
  text-align: center;
  position: relative;
  border-radius:0px;
  width:80%;
  margin:0 auto;
  position:relative;
  top:-150px;
  z-index:1;
}
.strengths-worries-title {
  font-size: 28px;
  font-weight: 700;
}
.strengths-worries-boxes {
  margin-top: 30px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1100px;
  margin-inline: auto;
}
.strengths-worries-box {
  background: #415379;
  color: #fff;
  padding: 35px 25px;
  border-radius: 0px;
  font-size: 18px;
  line-height: 1.7;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 吹き出しの三角 */
.strengths-worries::after {
  content: "";
  position: absolute;
  bottom: -44px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 34px solid transparent;
  border-right: 34px solid transparent;
  border-top: 44px solid #EDF0F7;
}
/* main */
.strengths-main {
  position: relative;
  background-size: cover;
  background-position: center;
  padding: 130px 20px 120px;
  color: #fff;
  background-image:url("http://shiro-koubou.com/wp-content/uploads/2026/04/Mask-group-3-1-scaled.webp")!important;
  top:-190px
}
.strengths-btn {
}
.strengths-main-overlay {
  position: absolute;
  inset: 0;
}
.strengths-card-num p {
  font-size:22px;
  position:relative;
  top:20px
}
.strengths-main-inner {
  position: relative;
  max-width: 1250px;
  margin: 0 auto;
  text-align: center;
}
.strengths-en {
  font-size: 128px;
  letter-spacing: 0.08em;
  color:#2C385E
}
.strengths-dots {
  width: 75%;
  margin: 20px auto;
  border-bottom: 3px solid #2C385E;
}
.strengths-ja {
  font-size: 48px;
  margin-bottom: 30px;
  color:#2C385E;
  margin-top:40px!important
}
.strengths-desc {
  font-size: 20px;
  line-height: 1.8;
  color:#2C385E;
}
/* cards */
.strengths-cards {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}
.strengths-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  color: #333;
  position: relative;
}
.strengths-card-num {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  background: #0b5ca8;
  color: #fff;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-weight: bold;
}
.strengths-card-body {
  padding: 80px 0px 20px;
}
.strengths-card-title {
  color: #151515;
  font-size: 25px;
  margin-bottom: 15px;
}
.strengths-card-title span {
  color: #F48221;
}
.strengths-card-img {
  width: 100%;
  height:auto;
  object-fit: cover;
  margin-bottom: 15px;
}
.strengths-card-text {
  font-size: 18px;
  line-height: 1.7;
  padding:10px;
  text-align:left;
}
/* button */
.strengths-btn {
  margin: 60px auto 0;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #005CA8!important;
  color: #fff;
  padding: 14px 30px;
  border-radius: 999px;
  text-decoration: none;
}
.strengths-btn-arrow {
  background: #fff;
  color: #0b5ca8;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
@media (max-width: 768px) {
  .blog-card {
    width: 320px;
    border-radius: px;
    overflow: hidden;
    flex-shrink: 0;
  }
  .wpcf7-previous {
    background: #005CA8;
    color: #fff;
    border: none;
    padding: 20px 80px;
    border-radius: 100px;
    font-size: 15px;
    cursor: pointer;
    margin-right:0px;
    width:100%;
    margin-bottom:10px;
  }
  .strengths-card-title {
    color: #151515;
    font-size: 20px;
    margin-bottom: 15px;
  }
  .strengths-card-text {
    font-size: 16px;
    line-height: 1.7;
    padding: 10px;
    text-align: left;
  }
  .strengths-main {
    position: relative;
    background-size: cover;
    background-position: center;
    padding: 50px 20px 50px;
    color: #fff;
    top:30px
  }
  .strengths-dots {
    width: 90%;
    margin: 20px auto;
    border-bottom: 3px solid #2C385E;
  }
  .strengths-worries {
    padding: 40px 20px 30px;
    text-align: center;
    position: relative;
    width: 90%;
    margin: 0 auto;
    position: relative;
    top: 20px;
    z-index: 1;
  }
  .strengths-cards {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 30px;
  }
  .strengths-desc {
    font-size: 15px;
    line-height: 1.8;
  }
  .strengths-ja {
    font-size: 28px;
    margin-bottom: 20px;
    margin-top: 30px !important;
  }
  .strengths-en {
    font-size: 38px;
    letter-spacing: 0.1em;
  }
  .strengths-worries-boxes {
    margin-top: 0px!important;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    max-width: 1100px;
    margin-inline: auto;
  }
  .strengths-worries-box {
    color: #fff;
    padding: 10px 10px;
    font-size: 12px;
    line-height: 1.7;
  }
  .strengths-worries .about-worry-heading {
    margin-bottom:30px!important
  }
}
.cta-buttons img {
  width:35px
}
.cta-number a {
  display:flex;
  align-items:center;
  gap:10px
}
.reform {
  background: url(http://shiro-koubou.com/wp-content/uploads/2026/01/876963-3-1-scaled.webp) center / cover no-repeat;
  padding: 40px 20px;
  padding-bottom:60px;
}
.reform-position {
  position:relative;
}
.top-houses {
  position:absolute;
  bottom:0;
  z-index:100;
}
.mv .about-service-inner {
  padding-left: 0px;
  padding-right: 0px;
}
.consult-btn {
  font-size:24px!important
}
@media (max-width: 768px) {
  .consult-btn {
    font-size:14px!important;
  }
  .fv {
    position: relative;
    height: 95vh!important;
    overflow: hidden;
  }
  .fv-bottom-circles {
    bottom:19%!important
  }
  .fv-sub-circle {
    position:absolute;
    right: auto;
    top: 30%;
    transform: translateY(0%);
    z-index: 3;
    left:auto;
    margin:0 auto;
  }
  .fv-main-circle img {
    width: 80%!important;
    max-width: 500px;
    margin: 0 auto;
  }
  .fv-sub-circle img {
    width: 70%;
    max-width: 550px;
    margin: 0 auto;
  }
  .photo {
    width:70%!important
  }
  .head-tel {
    z-index:0;
    position:absolute;
    width:32px;
    right:80px;
  }
  .head-tel1 {
    z-index:0;
    position:absolute;
    width:32px;
    right:40px!important;
  }
  .header-inner {
    align-items:center!important;
  }
  .voice-section {
    padding: 60px 0;
    text-align: center;
  }
  .voice-prev {
    margin-right: 0px;
    position:absolute;
    z-index:10;
    left:0%
  }
  .voice-next {
    margin-left: 0px;
    position:absolute;
    right:0%;
    z-index:10;
  }
  .voice-title {
    font-size: 44px;
  }
  .voice-subtitle {
    font-size:15px;
  }
  .voice-lead {
    margin-top: 20px;
    line-height: 1.8;
    font-size:16px
  }
  .top-faq-section {
    padding: 60px 20px;
  }
  .top-flow .recruit--side {
    width:200px
  }
  .flow--side-left {
    left:auto!important;
    right:-00px!important
  }
  .blog-section {
    padding:60px 0px
  }
  .blog-ja {
    margin-top: 8px;
    font-size: 22px;
    color: #333;
    margin-bottom:10px
  }
  .blog-header {
    margin-left: 0px;
  }
  .blog-en {
    font-size: 40px;
    font-weight: 800;
    line-height: 1;
  }
  .blog-track {
    display: flex;
    gap: 32px;
    padding: 0 20px;
    width: max-content;
  }
  .blog-wrapper {
    padding-bottom:20px
  }
  .scroll-bar {
    margin-left:20px;
    margin-top:0px;
    margin-bottom:30px;
    width:100%;
  }
  .more-btn {
    position: relative;
    text-align: right;
    width: 260px;
    margin: 0 auto;
    margin-right: 20px;
    top: 0px;
    margin: 0 auto;
  }
}
.contact-form1 textarea.wpcf7-form-control.wpcf7-textarea {
  height: 20px;
  min-height: 43px;
}
@media (min-width: 768px) {
  .head-tel {
    display:none;
  }
  .sticky-footer {
    display:none;
  }
  .contact-form1 .form-label {
    width: 190px;
    font-size: 15px;
  }
  .contact-form1 .form-row {
    display: flex;
    align-items: center;
    margin-bottom: 24px;
  }
  .blog-section {
    justify-content:right;
    display:grid;
  }
  .blog-header {
    margin-left: 0px;
    padding-left: 0%;
    display:flex;
    align-items:flex-end;
    max-width:1500px!important
  }
  .scroll-bar {
    width: 90%;
    height: 4px;
    background: #BFBFBF;
    margin: 40px auto 0;
    border-radius: 999px;
    margin-right: 190px;
  }
}
/*初めての方へ*/
/* =========================
   全体
========================= */
.about {
  background: #fff;
}
/* =========================
   上部テキスト
========================= */
.about-intro {
  max-width: 1250px;
  margin: 0 auto;
  padding: 120px 20px 80px;
  text-align: center;
}
.about-title {
  width:100% font-weight: bold;
  line-height: 1.6;
}
.about-dot {
  display: block;
  color: #F48221;
  font-size:48px;
  letter-spacing: -10px;
  margin-top: 0px;
  line-height:0;
}
.about-reazon-dot {
  margin-top:25px
}
.about-lead {
  margin-top: 40px;
  font-size: 18px;
  line-height: 2;
  font-weight:600;
}
.about-text {
  margin-top: 30px;
  font-size: 18px;
  line-height: 2;
  font-weight:600;
}
.about-note {
  margin-top: 30px;
  font-size: 18px;
  line-height: 2;
  font-weight:600;
}
/* =========================
   街並み
========================= */
.about-town {
  width: 100%;
}
.about-town img {
  width: 100%;
  display: block;
}
/* =========================
   悩みエリア
========================= */
.about-worry {
  background: #DBE9F5;
  padding: 100px 20px;
  text-align: center;
}
.about-worry-sub {
  font-size: 22px;
  margin-bottom: 15px;
  font-weight:400;
}
/* =========================
   カード
========================= */
.about-worry-list {
  max-width: 1250px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top:100px!important
}
.about-worry-item {
  background: #fff;
  text-align: left;
}
.about-worry-item img {
  width: 100%;
  display: block;
}
.about-worry-item h4 {
  font-size: 24px;
  margin: 20px;
}
.about-worry-item ul {
  padding: 0 20px 20px;
}
.about-worry-item li {
  list-style: none;
  font-size: 16px;
  margin-bottom: 8px;
  position: relative;
  padding-left: 18px;
  line-height:1.6
}
/* =========================
   悩み 見出し
========================= */
.about-worry-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 60px;
}
.about-worry-icon {
  width: 32px;
  height: auto;
}
.about-worry-title {
  font-size: 44px;
  font-weight: bold;
  margin: 0;
}
.about-worry-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 60px;
}
.about-worry-icon {
  width: 32px;
  height: auto;
}
.about-worry-item li {
  list-style: none;
  margin-bottom: 8px;
  position: relative;
  padding-left: 34px;
}
.about-worry-item li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0em;
  width: 24px;
  height: 24px;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/01/Group-3.webp");
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  .cta-buttons img {
    width:26px;
    margin-right:2px
  }
  .about-worry-item li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.2em;
    width: 14px;
    height: 14px;
    background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/01/Group-3.webp");
    background-repeat: no-repeat;
    background-size: contain;
  }
  .about-worry-list {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
    margin-top:0px!important
  }
  .about-worry-item h4 {
    font-size: 20px;
    margin: 20px;
    line-height:1.6
  }
  .about-worry-item li {
    list-style: none;
    font-size: 14px;
    margin-bottom: 8px;
    position: relative;
    padding-left: 18px;
    line-height:1.6
  }
  .about-worry-list {
    max-width: 1250px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
  .about-worry-title {
    font-size: 26px;
    font-weight: bold;
    margin: 0;
    line-height:1.6
  }
  .about-worry-sub {
    font-size: 16px;
    margin-bottom: 15px;
  }
  .about-worry-icon {
    width: 22px;
    height: auto;
  }
  .about-intro {
    max-width: 1250px;
    margin: 0 auto;
    padding: 80px 20px 80px;
    text-align: center;
  }
  .sp {
    display:none;
  }
  .about-lead {
    margin-top: 40px;
    font-size: 15px;
    line-height: 2;
  }
  .about-text {
    margin-top: 30px;
    font-size: 15px;
    line-height: 2;
  }
  .about-note {
    margin-top: 30px;
    font-size: 15px;
    line-height: 2;
  }
  .about-dot {
    display: block;
    color: #F48221;
    font-size:20px;
    letter-spacing: 0px;
    margin-top: 0px;
    line-height:0;
  }
}
/* =========================
   全体
========================= */
.about-reason {
  padding: 0px 20px;
  padding-bottom:80px;
}
.about-reason-inner {
  max-width: 1250px;
  margin: 0 auto;
}
/* =========================
   タイトル
========================= */
.about-reason-title {
  text-align: center;
  font-size: 48px;
  font-weight: bold;
}
.about-reason-title strong {
  color:#005CA8
}
.about-reason-dot {
  display: block;
  letter-spacing: 6px;
  margin-top: 10px;
}
/* =========================
   上段3ブロック
========================= */
.about-reason-list {
  margin-top: 80px;
}
.about-reason-item {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 50px;
}
.about-reason-reverse {
  flex-direction: row-reverse;
}
.about-reason-image {
  width: 50%;
  border-radius: 12px;
  display: block;
}
.about-reason-text {
  width:50%
}
.about-reason-text h3 {
  font-size: 25px;
  color: #000;
  margin-bottom: 20px;
}
.about-reason-text h3 span {
  color:#F48221;
}
.about-reason-text p {
  font-size: 17px;
  line-height: 2;
}
/* =========================
   吹き出し
========================= */
.about-reason-comment img {
  width:340px;
  text-align:center;
  margin:0 auto;
  margin-bottom:40px
}
/* =========================
   下段2カラム
========================= */
.about-reason-bottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.about-reason-bottom-item img {
  width: 100%;
  border-radius: 12px;
  display: block;
}
.about-reason-bottom-item h3 {
  font-size: 25px;
  color: #151515;
  margin: 30px 0 25px;
}
.about-reason-bottom-item h3 span {
  color:#F48221;
}
.about-reason-bottom-item p {
  font-size: 17px;
  line-height: 2;
}
@media (max-width: 768px) {
  .about-reason-title {
    font-size:26px;
    line-height:1.6;
  }
  .about-reason-image {
    width:100%;
  }
  .about-reason-text {
    width:100%;
  }
  .about-reason-item {
    display:block;
  }
  .about-reason-bottom-item h3 {
    font-size: 22px;
    color: #151515;
    line-height:1.6;
    margin: 20px 0 15px;
  }
  .about-reason-bottom-item p {
    font-size: 15px;
    line-height: 2;
    margin-bottom:20px
  }
  .about-reason-bottom {
    display:block;
  }
  .about-reason-text h3 {
    font-size: 22px;
    color: #000;
    margin-bottom: 15px;
    line-height:1.6;
    margin-top:20px
  }
  .about-reason-text h3 span {
    color:#F48221;
  }
  .about-reason-text p {
    font-size: 15px;
    line-height: 2;
  }
}
/* =========================
   全体
========================= */
.about-service {
  position: relative;
  padding: 120px 20px;
  padding-top:80px;
}
/* =========================
   背景画像（HTML）
========================= */
.about-service-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.about-service-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* =========================
   内側
========================= */
.about-service-inner {
  max-width: 1250px;
  margin: 0 auto;
}
/* =========================
   見出し
========================= */
.about-service-heading {
  text-align: center;
  margin-bottom: 60px;
}
.about-service-heading img {
  width:340px;
  margin:0 auto;
}
.about-service-label {
  display: inline-block;
  background: #f28c28;
  color: #fff;
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 12px;
}
.about-service-title {
  font-size: 62px;
  margin: 20px 0 10px;
  color: #f28c28;
}
.about-service-dot {
  color: #1e6bb8;
  letter-spacing: -10px;
  font-size:40px;
}
/* =========================
   上段カード
========================= */
.about-service-main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
.about-service-card {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
}
.about-service-card img {
  width: 100%;
  display: block;
}
.about-service-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  background: #f28c28;
  color: #fff;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 12px;
}
.about-service-badge-blue {
  background: #1e6bb8;
}
/* body */
.about-service-card-body {
  padding: 24px;
  background-color: #ffff;
  padding-bottom:55px!important
}
.about-service-number {
  font-size: 35px;
  font-weight: bold;
  color: #151515;
  margin-right:20px;
  font-family: "Noto Sans JP", sans-serif;
}
.about-service-name {
  font-size: 38px;
  color: #F48221;
}
.about-service-name-blue {
  color: #1e6bb8;
}
.about-service-card-body p {
  font-size: 18px;
  line-height: 1.8;
}
/* ボタン */
.about-service-card-position {
  position:relative;
}
.about-service-button-orange {
  position: absolute;
  display: block;
  text-align: center;
  background: #f58220;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 40px 18px 40px;
  border-radius: 999px;
  text-decoration: none;
  border: solid 2px #f58220;
  transition: background .3s, color .3s;
  bottom:-30px;
  right:0;
  left:0;
  width:70%;
  margin:0 auto;
}
.about-service-button-orange::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  color: #f58220;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
.about-service-button-orange:hover {
  background: #fff;
  color: #f58220;
}
.about-service-button-orange:hover::before {
  background: #f58220;
  color: #fff;
}
.about-service-button-blue {
  background: #005CA8;
  position: absolute;
  display: block;
  text-align: center;
  background: #005CA8;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 40px 18px 40px;
  border-radius: 999px;
  text-decoration: none;
  border: solid 2px #005CA8;
  transition: background .3s, color .3s;
  bottom:-30px;
  right:0;
  left:0;
  width:70%;
  margin:0 auto;
}
.about-service-button-blue:hover {
  background: #fff;
  color: #005CA8;
}
.about-service-button-blue:hover::before {
  background: #005CA8;
  color: #fff;
}
.about-service-button-blue::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  color: #005CA8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
.about-service-card {
  border-radius: 20px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.about-service-card img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  /* 念のため */
}
/* body を伸ばす */
.about-service-card-body {
  padding: 24px;
  background-color: #fff;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.about-service-card-flex {
  display:flex;
  align-items:center;
  margin-bottom:20px;
  margin-top:10px;
}
/* ボタンを下に揃えたい場合 */
.about-service-button {
  margin-top: auto;
}
/* =========================
   下段アイコン
========================= */
.about-service-sub {
  margin-top: 80px;
  background: #fff;
  border-radius: 25px;
  padding: 60px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 35px;
  text-align: center;
}
.about-service-sub-item img {
  width: 90%;
  margin-bottom: 12px;
  margin: 0 auto
}
.about-service-sub-title {
  font-size:28px;
  margin-bottom:25px;
  color:#F48221;
  margin-top:30px
}
.about-service-sub-text {
  font-size:16px;
  text-align:left;
  line-height:1.7;
}
.about-reason-inner .contact-title {
  margin-bottom:70px;
}
.about-reason-inner .point-tab {
  margin-bottom:70px;
}
@media (max-width: 768px) {
  .about-reason {
    padding:0px 20px;
    padding-bottom:50px
  }
  .about-service {
    position: relative;
    padding: 50px 20px;
  }
  .about-service-title {
    font-size: 36px;
    margin: 20px 0 10px;
    color: #f28c28;
  }
  .about-service-card-body {
    padding: 14px;
    background-color: #fff;
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  .about-service-dot {
    color: #1e6bb8;
    letter-spacing: -5px;
    font-size: 20px;
  }
  .about-service-main {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
  .about-service-sub {
    margin-top: 80px;
    background: #fff;
    border-radius: 20px;
    padding: 20px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 45px;
    text-align: center;
  }
  .about-service-card-body p {
    font-size: 15px;
    line-height: 1.8;
  }
  .about-service-button-orange {
    width:80%;
    font-size:15px
  }
  .about-service-button-blue {
    width:80%;
    font-size:15px
  }
  .about-service-name {
    font-size: 28px;
  }
  .about-service-number {
    font-size: 25px;
    font-weight: bold;
    color: #151515;
    margin-right: 20px;
    font-family: "Noto Sans JP", sans-serif;
  }
  .about-service-heading {
    text-align: center;
    margin-bottom: 30px;
  }
  .about-service-sub-item img {
    width: 80%;
    margin-bottom: 12px;
    margin: 0 auto
  }
  .about-service-sub-title {
    font-size:25px;
    margin-bottom:20px;
    color:#F48221;
    margin-top:30px
  }
  .about-service-sub-text {
    font-size:15px;
    text-align:left;
    line-height:1.7;
  }
}
/*会社案内*/
.point-message-page {
  overflow-x: hidden;
  border-radius: 50px 50px 0px 0px;
  z-index: 10;
  position: relative;
  top: -40px;
  background-color:#fff;
}
/* 共通タイトル */
.point-title {
  font-size: 64px;
  letter-spacing: 0.1em;
  color: #2C385E;
}
/* MESSAGE */
.point-message {
  max-width: 1250px;
  margin: 0 auto;
  padding: 80px 20px 0;
}
.point-message-image {
  width:43%;
  margin-bottom:70px;
}
.point-message-image img {
  width: 100%;
  display: block;
}
.point-message-text {
  line-height: 2.2;
  width:57%;
}
.point-message-sign {
  text-align: right;
  margin-top: 40px;
  color:#101A51;
  font-weight:500;
}
/* COMPANY */
.point-company {
  padding:20px;
  padding-bottom: 120px;
  padding-top:120px;
  background: #101A51;
}
.point-title-white {
  text-align:center;
  line-height:1
}
.point-company-illust {
  padding: 0px 0;
  text-align: center;
}
.point-company-illust img {
  max-width: 100%;
  height: auto;
}
.point-company-box {
  background: #fff;
  max-width: 1250px;
  padding: 85px;
  margin:0 auto;
  margin-top:70px;
  border-radius:0px!important
}
.point-company-table {
  width: 100%;
  border-collapse: collapse;
}
.point-company-table th {
  width: 25%;
  text-align: left;
  padding: 24px;
  border-bottom: 2px solid #697098;
  font-weight:500;
  letter-spacing:0.08em;
  color:#101A51;
}
.point-company-table td {
  font-weight:500;
  padding: 24px;
  line-height:1.7;
  border-bottom: 2px solid #697098;
  letter-spacing:0.08em;
  color:#101A51
}
.point-company-map {
  margin-top: 40px;
}
.point-company-map iframe {
  width: 100%;
  height: 360px;
  border: none;
  border-radius: 8px;
}
.point-company-table th,
.point-company-table td {
  vertical-align: middle;
}
/* SP */
@media (max-width: 768px) {
  .point-title {
    font-size: 44px;
    letter-spacing: 0.08em;
  }
  .point-company-map iframe {
    width: 100%;
    height: 260px;
    border: none;
    border-radius: 8px;
  }
  .point-message {
    max-width: 1250px;
    margin: 0 auto;
    padding: 60px 20px 0;
  }
  .point-title span {
    display: block;
    font-size: 16px;
    margin-top: 20px;
    letter-spacing: normal;
    color:#151515;
    margin-bottom:0px
  }
  .point-title-white {
    color: #fff;
  }
  .point-title-white span {
    color: #fff;
  }
  .point-message-image {
    margin: 40px 0;
    margin-bottom:30px;
  }
  .point-message-text p {
    margin-bottom: 40px;
    font-weight: 500;
  }
  .point-company-box {
    padding: 20px;
  }
  .point-company-table th {
    width: 100px;
  }
  .point-company-box {
    background: #fff;
    max-width: 100%;
    border-radius: 20px;
    padding: 15px;
    margin:0 auto;
    margin-top:40px;
    padding-top:20px;
    padding-bottom:20px;
  }
  .point-company-table th {
    width: 30%;
    text-align: left;
    padding: 8px;
    font-weight:500;
    font-size:12px;
    padding-top:10px;
    padding-bottom:10px
  }
  .point-company-table td {
    font-size:12px;
    font-weight:500;
    padding: 4px;
    line-height:1.7;
    padding-top:10px;
    padding-bottom:10px
  }
}
/*よくある質問*/
.faq-intro-title {
  font-size:52px;
}
.faq-intro-title:after {
  border-bottom:2px;
  width:100px;
}
.faq-body {
}
.faq {
  margin: 0 auto;
  padding: 100px 20px;
  background:#FBF5FF;
  border-radius:50px 50px 0px 0px;
  z-index:1;
  position:relative;
  top:-40px
}
.faq-inner {
  max-width:1250px;
  margin:0 auto
}
.faq-tab:hover {
  background:#005CA8!important
}
/* ===== タブ ===== */
.faq-tabs {
  display: flex;
  justify-content: center;
  gap: 24px;
  margin-top:40px
}
.faq-tabs .faq-tab {
  position: relative;
  background: #A952D9;
  color: #fff;
  border: none;
  padding: 18px 52px 18px 52px;
  font-size: 20px;
  cursor: pointer;
  width: 33%;
  text-align: center;
  border-radius:100px;
  border:solid 2px #A952D9;
}
/* 矢印 */
.faq-tabs .faq-tab::after {
  content: "\f078";
  /* chevron-down */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}
.faq-tab:hover {
  background:#fff!important;
  color:#A952D9;
}
.faq-tabb:hover {
  background:#fff!important;
  border:solid 2px #A952D9;
}
/* ===== タブ ===== */
.faq-tabs {
  display: flex;
  justify-content: center;
  gap: 24px;
}
.faq-tabs .faq-tabb {
  position: relative;
  background: #F48221;
  color: #fff;
  border: none;
  padding: 16px 52px 16px 52px;
  font-size: 16px;
  cursor: pointer;
  text-align: center;
  border-radius:100px
}
/* 矢印 */
.faq-tabs .faq-tabb::after {
  content: "\f078";
  /* chevron-down */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}
/* ===== 説明 ===== */
.faq-intro {
  text-align: center;
  margin: 50px 0 30px;
  line-height: 2;
  font-size:18px
}
/* ===== カテゴリ ===== */
.faq-category {
  font-size: 24px;
  margin-bottom: 70px;
  position: relative;
  margin-top:80px;
  color:#101A51
}
.faq-category::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -25px;
  width: 100px;
  height: 14px;
  background-image: radial-gradient(circle, #A952D9 4px, transparent 2px);
  background-size: 19px 18px;
  background-repeat: repeat-x;
}
/* ===== FAQ ===== */
.faq-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.faq-item {
  background: #fff;
  border-radius: 0px;
  overflow: hidden;
  color: #101A51;
}
/* 質問 */
.faq-question {
  width: 100%;
  background: none;
  border: none;
  display: flex;
  align-items: center;
  padding: 24px;
  cursor: pointer;
  font-size: 20px;
}
.faq-question .q {
  background: #A952D9;
  color: #fff;
  width: 38px;
  font-weight:600;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  padding-bottom:3px
}
.faq-question .text {
  flex: 1;
  text-align: left;
  letter-spacing: 0.08em;
}
.faq-question .icon {
  font-size: 20px;
}
/* 回答 */
.faq-answer {
  display: none;
  padding: 0 24px 24px;
  font-size: 14px;
  line-height: 2;
}
.faq-answer .a {
  background: #FF64AC;
  color: #fff;
  width: 38px;
  font-weight:600;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  font-size:20px;
}
.faq-answer {
  overflow: hidden;
  height: 0;
  transition: height 0.3s ease;
  font-size:16px!important
}
.faq-item.is-open .faq-answer {
  height: auto;
}
.faq-item.is-open .faq-answer {
  display:flex!important;
}
.faq-question .icon {
  transition: transform 0.6s ease;
}
.faq-item.is-open .faq-question .icon {
  transform: rotate(180deg);
}
@media (max-width: 768px) {
  .faq-intro {
    text-align: center;
    margin: 50px 0 80px;
    line-height: 2;
    font-size:15px
  }
  .faq-intro-title {
    font-size: 27px;
  }
  .faq-tabs .faq-tab {
    position: relative;
    padding: 16px 52px 16px 52px;
    font-size: 16px;
    cursor: pointer;
    width: 100%;
    text-align: center;
  }
  .faq {
    max-width: 1250px;
    margin: 0 auto;
    padding: 60px 20px;
    top:-40px
  }
  .faq-tabs {
    display:grid;
    justify-content: center;
    gap: 14px;
  }
  .faq-category {
    font-size: 24px;
    margin-bottom: 60px;
    position: relative;
  }
  .faq-question {
    width: 100%;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    padding: 14px;
    cursor: pointer;
    font-size: 13px;
    line-height:1.6
  }
  .faq-question .q {
    color: #fff;
    width: 28px;
    height: 28px;
  }
  .faq-answer .a {
    color: #fff;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .faq-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }
  .faq-answer {
    padding: 0 14px 14px;
    font-size: 13px!important;
    line-height: 2;
  }
  .faq-answer p {
    flex: 1;
    text-align: left;
  }
  /* ===== カテゴリ ===== */
  .faq-category {
    font-size: 20px;
    margin-bottom: 50px;
    position: relative;
    margin-top:70px
  }
  .faq-category::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -20px;
    height: 14px;
  }
}
/* ===== CTA背景 ===== */
.cta {
  background: url("bg.jpg") center / cover no-repeat;
  padding: 90px 20px!important;
  margin-bottom:-45px;
  padding-bottom:135px!important
}
.cta-inner {
  max-width: 1250px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap:70px
}
/* ===== 左 ===== */
.cta-left {
  color: #fff;
  width: 40%;
}
.cta-logo {
  width: 200px;
  margin-bottom: 20px;
}
.cta-tags span {
  display: inline-block;
  background: #fff;
  color: #101A51!important;
  font-size: 20px;
  padding: 8px 10px;
  text-align:center;
}
.cta-copy {
  font-size: 40px;
  font-weight: bold;
  margin-top: 30px;
}
.cta-note {
  font-size: 24px;
  margin-top: 20px;
  position:relative
}
.cta-tags {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.cta-tags span {
  display: block;
  text-align: center;
}
/* SP */
@media screen and (max-width: 767px) {
  .cta-tags {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}
.cta-note::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 350px;
  height: 14px;
  background-image: radial-gradient(circle, #fff 2px, transparent 2px);
  background-size: 14px 14px;
  background-repeat: repeat-x;
}
/* ===== 右BOX ===== */
.cta-box {
  background: #fff;
  border-radius: 0px 50px;
  padding: 32px 40px;
  width: 60%;
}
.cta-number img {
  width:50px
}
.cta-head {
  text-align: center;
  font-size: 24px;
  margin-bottom: 12px;
  color:#101A51
}
.cta-tel {
  border-top: 3px solid #101A51;
  border-bottom: 3px solid #101A51;
  padding: 16px 0;
  color:#101A51;
  text-align: center;
  display: flex;
  align-items: center;
  margin: 0 auto;
  justify-content: center;
  gap:20px
}
.cta-tel span {
  font-size: 19px;
}
.cta-number {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
}
.cta-number i {
  color: #2c5aa0;
  font-size: 24px;
}
.cta-number strong {
  font-size: 35px;
  letter-spacing: 0.05em;
}
/* ===== ボタン ===== */
.cta-buttons {
  display: flex;
  gap: 14px;
  margin-top: 20px;
}
.btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 14px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 16px;
  font-weight: bold;
  border: 2px solid transparent;
  transition: 0.3s;
}
/* 右矢印の通常状態 */
.btn.line .fa-chevron-right {
  background-color: #fff;
  color: #06C755;
  padding: 7px 10px;
  border-radius: 100px;
  transition: 0.3s;
}
/* ボタンhover時：右矢印も反転 */
.line .fa-chevron-right {
  background-color:#fff;
  color: #06C755;
  padding:10px;
  border-radius:100px;
  padding-top:7px;
  padding-bottom:7px;
}
/* LINE */
.btn.line {
  background: #04B813;
  color: #fff;
  border-color: #04B813;
}
.btn.line:hover {
  opacity:0.7
}
/* MAIL */
.btn.mail {
  background: #FF64AC;
  color: #fff;
  border-color: #FF64AC;
}
/* 右矢印の通常状態 */
.btn.mail .fa-chevron-right {
  background-color: #fff;
  color: #FF64AC;
  padding: 7px 10px;
  border-radius: 100px;
  transition: 0.3s;
}
/* ボタンhover時：右矢印も反転 */
.btn.mail:hover {
  opacity:0.7
}
.btn i {
  font-size: 16px;
}
.cta {
  position: relative;
  overflow: hidden;
  padding: 60px 0;
}
@media (max-width: 768px) {
  .cta-inner {
    display:block;
  }
  .cta-logo {
    width: 200px;
    margin:0 auto;
    margin-bottom: 12px;
  }
  .cta-tags span {
    display: inline-block;
    background: #fff;
    color: #333;
    font-size: 16px;
    padding: 8px 20px;
    margin-right: 6px;
    min-width:80px;
  }
  .cta-head {
    text-align: center;
    font-size: 16px;
    margin-bottom: 12px;
  }
  .cta-number img {
    width: 30px;
  }
  .cta-number strong {
    font-size: 24px;
    letter-spacing: 0.05em;
  }
  .cta-tel {
    display:block;
  }
  .cta-copy {
    font-size: 27px;
    font-weight: bold;
    margin-top: 20px;
  }
  .cta-left {
    color: #fff;
    width: 100%;
    text-align: center;
  }
  .cta-note {
    font-size: 18px;
    margin-top: 10px;
    margin-bottom:20px
  }
  .cta-box {
    background: #fff;
    border-radius: 0px 50px;
    padding: 22px 18px;
    width: 100%;
  }
}
/*ブログ*/
.p-allArchive__body {
  margin-top:20px
}
.p-allArchive__cat {
  display: inline-block;
  font-size: 20px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 18px;
}
.p-allArchive__itemTitle {
  font-size:20px;
}
/* お知らせ */
.p-allArchive__cat.cat-news {
  background-color: #2c7be5;
}
/* コラム */
.p-allArchive__cat.cat-column {
  background-color: #000;
  color:#fff;
  padding:10px 40px
}
time {
  color: #101A51!important;
  margin-left:10px!important
}
/* ブログ */
.p-allArchive__cat.cat-blog {
  background-color: #FF64AC;
  color:#fff;
  padding:10px 40px
}
.p-allArchive__cat.cat-news {
  background-color: #A952D9;
  color:#fff;
  padding:10px 40px
}
/* ===============================
  個別投稿ページ
=============================== */
.point-single {
  max-width: 1250px!important;
  margin: 0 auto;
  padding: 60px 20px;
  max-width:1250px
}
.point-single-header {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.point-single-date {
  font-size: 14px;
  color: #999;
}
.point-single-title {
  width: 100%;
  font-size: 22px;
  font-weight: bold;
  margin-top: 12px;
}
/* ===== メイン画像 ===== */
.point-single-mainimg {
  margin-top: 30px;
}
.point-single-mainimg img {
  width: 100%;
  height: auto;
  display: block;
}
/* ===== 下部画像 ===== */
.point-single-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 20px 0;
}
.point-single-gallery img {
  width: 100%;
  height: 160px;
  object-fit: cover;
}
/* ===== 本文 ===== */
.point-single-content {
  font-size: 15px;
  line-height: 1.9;
  margin-top: 20px;
}
.point-single-content p {
  margin-bottom: 1.5em;
  margin-top:40px;
  font-weight:500!important
}
/* ===== 区切り線 ===== */
.point-single-line {
  margin: 50px 0;
  border: none;
  border-top: 2px solid #101A51;
  margin-bottom:90px
}
/* ===== ナビ ===== */
.point-single-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
}
.point-single-nav .prev {
  text-align: right;
  margin-right:40px;
  font-size:20px
}
.point-single-nav .next {
  text-align: left;
  margin-left:40px;
  font-size:20px;
}
.point-single-nav .archive a {
  background: #A952D9;
  color: #fff;
  padding: 20px 100px;
  text-decoration: none;
  font-size: 20px;
  border-radius:100px
}
main.point-single {
  color: #101A51;
}
/* ===== SP ===== */
@media (max-width: 768px) {
  .point-single-gallery {
    grid-template-columns: 1fr;
  }
}
.point-single-cat {
  color: #fff;
  padding: 6px 14px;
  font-size: 14px;
  border-radius: 3px;
}
/* カテゴリー別 */
.point-single-cat.cat-news {
  background: #1e88e5;
}
.point-single-cat.cat-column {
  background: #000;
  padding:10px 40px;
  border-radius:0px
}
.point-single-cat.cat-works {
  background: #2CA136;
  color:#fff;
  padding:10px 40px;
  border-radius:0px
}
.point-single-cat.cat-blog {
  background:#FF64AC!important;
  color:#fff;
  padding:10px 40px
}
.point-single-cat.cat-blog {
  color: #fff;
  padding: 10px 40px;
  background:#FF64AC!important;
  border-radius:0px;
  color:#fff;
}
.point-single-cat.cat-news {
  color: #fff;
  padding: 10px 40px;
  background:#A952D9!important;
  border-radius:0px;
  color:#fff;
}
@media (max-width: 768px) {
  .area-desc {
    margin: 24px 0;
    line-height: 1.8;
    font-size: 16px!important;
  }
  .cta-note::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -18px;
    width: 100%;
    height: 14px;
    background-image: radial-gradient(circle, #fff 2px, transparent 2px);
    background-size: 14px 14px;
    background-repeat: repeat-x;
  }
  .point-single-title {
    font-size:18px;
  }
  .point-single-cat {
    font-size:13px!important;
    padding: 10px 30px!important;
  }
  .point-single-nav .archive a {
    color: #fff;
    padding: 14px 26px;
    text-decoration: none;
    font-size: 14px;
  }
  .point-single {
    max-width: 1250px!important;
    margin: 0 auto;
    padding: 60px 15px;
    max-width:1250px
  }
  /* ===== 区切り線 ===== */
  .point-single-line {
    margin: 50px 0;
    border: none;
    border-top: 2px solid #101A51!important;
    margin-bottom:50px
  }
  .point-single-nav .prev {
    text-align: right;
    margin-right:20px;
    font-size:14px
  }
  .point-single-nav .next {
    text-align: left;
    margin-left:20px;
    font-size:14px;
  }
}
/*お問い合わせ*/
.contact {
  padding: 120px 0;
}
.contact-inner {
  max-width: 900px;
  margin: 0 auto;
}
.contact-title {
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  position: relative;
  color:#106431;
  line-height:1.6
}
.contact-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: #106431!important;
  margin: 22px auto 0!important;
}
.contact-text {
  text-align: center;
  font-size: 15px;
  margin: 30px 0 60px;
  line-height: 1.8;
  font-weight:400;
}
/* 全体 */
.contact-form {
  max-width: 900px;
  margin: 0 auto;
}
/******************************/
/** コンタクトフォームの装飾 **/
/******************************/
/* =========================
   全体
========================= */
.contact {
  padding: 120px 0;
}
.contact-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding:0px 20px
}
/* =========================
   タイトル
========================= */
.contact-title {
  text-align: center;
  font-size: 48px;
  font-weight: bold;
  position: relative;
}
.contact-title::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  margin: 22px auto 0;
}
.contact-text {
  text-align: center;
  font-size: 20px;
  line-height: 1.8;
  margin: 50px 0 90px;
  font-weight:500;
  color:#101A51;
}
/* =========================
   フォーム構造
========================= */
.contact-form {
  width: 100%;
}
.form-row {
  display: flex;
  align-items: center;
  margin-bottom: 44px;
}
.textarea-row {
  align-items: flex-start;
}
/* 左ラベル */
.form-label {
  width: 300px;
  font-size: 15px;
}
/* 右入力 */
.form-input {
  flex: 1;
}
/* CF7 span対策（超重要） */
.wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
/* =========================
   入力欄（オレンジ枠）
========================= */
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form input[type="tel"],
.contact-form textarea {
  width: 100%;
  padding: 16px;
  background: #FFE1E3;
  border: none;
  font-size: 14px;
  box-sizing: border-box;
}
.contact-form textarea {
  height: 160px;
  resize: none;
}
.contact-form {
  color:#101A51!important
}
/* =========================
   ラジオ
========================= */
.radio-wrap .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.wpcf7-list-item {
  margin: 0;
}
/* =========================
   必須ラベル
========================= */
.required {
  background: #FF64AC;
  color: #fff;
  font-size: 10px;
  padding: 3px 15px;
  margin-left: 6px;
}
/* =========================
   プライバシー
========================= */
.privacy-form {
  margin-top: 30px;
  font-size: 14px;
  justify-content:center;
  display:flex!important;
  width:100%;
  align-items:center;
}
.privacy-form .wpcf7-form-control-wrap {
  width:100%!important
}
.privacy-form p {
  display:flex;
  width:100%;
  align-items: center;
  justify-content:center
}
/* =========================
   送信ボタン
========================= */
.submit-wrap {
  text-align: center;
  margin-top: 40px;
}
.submit-wrap input[type="submit"] {
  color: #fff;
  border: none;
  padding: 20px 80px;
  border-radius: 100px;
  font-size: 16px;
  cursor: pointer;
  margin-left:8px;
  width:300px;
}
.wpcf7-form-control-wrap {
  line-height:1.6
}
@media (max-width: 768px) {
  .contact-title {
    text-align: center;
    font-size: 28px;
    font-weight: bold;
    position: relative;
  }
  .contact-title::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background: #F48221;
    margin: 22px auto 0;
  }
  .contact-text {
    text-align: center;
    font-size: 15px;
    line-height: 1.8;
    margin: 30px 0 60px;
  }
}
.wpcf7-list-item-label a {
  border-bottom:solid 1px
}
/* =========================
   Responsive（SP）
========================= */
@media screen and (max-width: 768px) {
  .contact {
    padding: 80px 0;
  }
  /* フォーム縦並び */
  .form-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom:30px
  }
  .wpcf7-list-item-label {
    font-size:14px;
  }
  /* ラベル幅解除 */
  .form-label {
    width: 100%;
    font-size: 16px;
    margin-bottom:10px
  }
  /* 入力欄 */
  .form-input {
    width: 100%;
  }
  .contact-form input[type="text"],
  .contact-form input[type="email"],
  .contact-form input[type="tel"],
  .contact-form textarea {
    padding: 14px;
    font-size: 14px;
  }
  .contact-form textarea {
    height: 140px;
  }
  /* ラジオ縦並び */
  .radio-wrap .wpcf7-radio {
    flex-direction: column;
    gap: 10px;
  }
  .required {
    color: #fff;
    font-size: 14px;
    padding: 4px 14px;
    margin-left: 6px;
  }
  /* プライバシー */
  .privacy-form {
    font-size: 11px;
    line-height: 1.6;
  }
  .privacy-form .wpcf7-form-control-wrap {
    width:100%!important;
    height:13px
  }
  /* 送信ボタン */
  .submit-wrap input[type="submit"] {
    width: 100%;
    padding: 16px 0;
    font-size: 15px;
    margin-left:0px;
  }
}
.recruit-categry-btn {
  margin: 0 auto;
  padding: 100px 0px;
  padding-bottom:70px;
  max-width:1250px;
}
.recruit-dot {
  color:#fff!important
}
.recruit-inner {
  margin: 0 auto;
  text-align: center;
}
.recruit--job--inner {
  max-width:1250px;
  margin:0 auto;
}
.recruit-head {
  padding-left:20px;
  padding-right:20px
}
/* heading */
.recruit-title {
  font-size: 38px;
  line-height: 1.6;
  font-weight: bold;
}
.recruit .about-service-title {
  color:#fff;
}
.recruit-title span {
  color: #F48221;
}
.recruit-title-sub {
  color: #000;
}
.recruit-text {
  margin-top: 32px;
  font-size: 16px;
  line-height: 2.2;
}
.recruit-slide img {
  border-radius:10px
}
/* slider */
.recruit-slider {
  margin-top: 120px;
  overflow: hidden;
  margin-bottom:100px
}
.recruit-slider-track {
  display: flex;
  align-items:center;
  gap: 32px;
  animation: recruit-slide 30s linear infinite;
}
/* slide base */
.recruit-slide {
  border-radius: 16px;
  overflow: hidden;
  flex-shrink: 0;
}
.recruit-slide img {
  width: 100%;
  object-fit: cover;
  display: block;
}
/* width variation */
.recruit-slide-wide {
  width: 440px;
}
.recruit-slide-narrow {
  width: 334px;
}
@media screen and (max-width: 768px) {
  .recruit-title {
    font-size: 21px;
    line-height: 1.6;
    font-weight: bold;
  }
  .recruit-categry-btn {
    margin: 0 auto;
    padding: 40px 20px;
    max-width: 1250px;
  }
  .recruit .about-service-title {
    color:#fff;
  }
  .recruit-title span {
    color: #F48221;
  }
  .recruit-slider {
    margin-top: 60px;
    overflow: hidden;
    margin-bottom:50px
  }
  .recruit-title-sub {
    color: #000;
  }
  .about-service-inner {
    padding-left:20px;
    padding-right:20px
  }
  /* width variation */
  .recruit-slide-wide {
    width: 200px;
  }
  .recruit-slide-narrow {
    width: 130px;
  }
  .recruit-text {
    margin-top: 32px;
    font-size: 14px;
    line-height: 2.2;
  }
}
.recruit--section {
  position: relative;
  padding: 110px 20px;
  overflow: hidden;
  background: #fff;
}
.recruit--inner {
  max-width: 1250px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.recruit--title {
  text-align: center;
  font-size: 48px;
  font-weight: bold;
  color: #0a64c9;
  margin-bottom: 50px;
  line-height:1.6
}
.recruit--lead {
  text-align: center;
  font-size: 24px;
  line-height: 1.8;
  margin-bottom: 80px;
  margin-top:40px;
}
/* 背景流れる文字 */
.recruit--bg-text-wrap {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: 0!important;
}
.recruit--bg-text {
  font-size: 100px;
  font-weight: bold;
  color: #4153791f;
  white-space: nowrap;
  animation: recruit-scroll 25s linear infinite;
}
@keyframes recruit-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
/* 魅力ブロック */
.recruit--point-item {
  display: flex;
  align-items: start;
  gap: 40px;
  margin-bottom: 60px;
}
.recruit--text {
  flex: 1;
  width:50%;
}
.recruit--text h3 {
  color: #151515;
  font-size: 26px;
  margin-bottom: 20px;
}
.recruit--text h3 span {
  color: #005CA8;
  font-size: 26px;
  margin-bottom: 20px;
}
.recruit--text p {
  font-size: 18px;
  line-height: 1.8;
}
.recruit--image {
  width: 50%;
  border-radius: 12px;
  overflow: hidden;
}
.recruit--image img {
  width: 100%;
  height: auto;
  display: block;
}
/* Job Details */
.recruit--job {
  background: #FFF3E9;
  padding: 80px 20px;
}
.recruit--job-title {
  font-size: 60px;
  color: #ff7a00;
  text-align: left;
  margin-bottom: 10px;
}
.recruit--job-subtitle {
  color:#151515;
  font-size:20px;
  margin-bottom: 90px;
}
.recruit--job-table {
  max-width: 1250px;
  margin: 0 auto;
  border-collapse: collapse;
  background: #fff;
  width: 100%;
}
.recruit--job-table th {
  background: #ff8c2b;
  color: #fff;
  width: 20%;
  padding: 15px;
  text-align: left;
  border: solid #FFF3E9 3px;
  line-height:1.6!important
}
.recruit--job-table td {
  padding: 25px;
  line-height:1.8!important;
  border: solid #FFF3E9;
  width:80%;
  border-bottom: 3px solid #FFF3E9;
}
/* SP */
@media (max-width: 768px) {
  .recruit--section {
    position: relative;
    padding: 100px 20px;
    overflow: hidden;
    background: #fff;
    padding-bottom:0px
  }
  .recruit--point-item {
    display: flex;
    align-items: start;
    gap: 30px;
    margin-bottom: 60px;
  }
  .recruit--lead {
    text-align: center;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 50px;
  }
  .recruit--title {
    text-align: center;
    font-size: 23px;
    font-weight: bold;
    color: #0a64c9;
    margin-bottom: 50px;
  }
  .recruit--point-item {
    flex-direction: column-reverse;
  }
  .recruit--bg-text {
    font-size: 72px;
  }
  .recruit--text h3 {
    color: #151515;
    font-size: 20px;
    margin-bottom: 20px;
  }
  .recruit--text h3 span {
    color: #005CA8;
    font-size: 20px;
    margin-bottom: 20px;
  }
  .recruit--text p {
    font-size: 16px;
    line-height: 1.6;
  }
  .recruit--text {
    flex: 1;
    width: 100%;
    line-height:1.6
  }
  .recruit--image {
    width:100%;
  }
  .recruit--job-table th {
    background: #ff8c2b;
    color: #fff;
    width: 30%;
    padding: 10px;
    text-align: left;
    line-height:1.6!important;
    font-size:12px
  }
  .recruit--job-table td {
    padding: 10px;
    line-height:1.8!important;
    border: solid #FFF3E9;
    width:80%;
    font-size:12px;
  }
  .recruit--job-title {
    font-size: 35px;
    color: #ff7a00;
    text-align: left;
    margin-bottom: 10px;
  }
  .recruit--job-subtitle {
    color:#151515;
    font-size:16px;
    margin-bottom: 40px;
  }
}
.recruit--recruitment {
  padding: 120px 0;
  background: #FFF3E9;
  overflow: hidden;
}
/* ===== 中央 ===== */
.recruit--center {
  color: #fff;
  padding: 80px 130px;
  text-align: center;
  border-radius: 6px;
  z-index: 2;
}
.recruit--center-title {
  font-size: 148px;
  font-weight: 700;
  margin-bottom: 40px;
}
.recruit--center-sub {
  font-size: 30px;
  margin-bottom: 20px;
}
.recruit--center-text {
  font-size: 20px;
  line-height: 2;
  margin-bottom: 40px;
}
/* ボタン */
.recruit--center-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #ff8a2a;
  color: #fff;
  padding: 16px 36px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  transition: 0.3s;
}
.recruit--center-btn:hover {
  background: #fff;
  color: #ff8a2a;
}
.recruit--btn-icon {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #fff;
  color: #ff8a2a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
/* ===== サイドスライダー ===== */
.recruit--side {
  width: 280px;
  height: 800px;
  overflow: hidden;
  z-index:0;
}
.recruit--side-left {
  transform: rotate(6deg);
  position:absolute;
  left:0;
}
.recruit--side-right {
  transform: rotate(6deg);
  position:absolute;
  right:0
}
.recruit--side-track {
  display: flex;
  flex-direction: column;
}
/* 画像 */
.recruit--side-track img {
  width: 100%;
  margin-bottom: 0px;
  border-radius: 6px;
  display: block;
}
/* 画像をまっすぐ戻す */
.recruit--side-left img {
  transform: rotate(-7deg);
}
.recruit--side-right img {
  transform: rotate(-7deg);
}
/* アニメーション */
.recruit--side-left .recruit--side-track {
  animation: recruit-scroll-down 22s linear infinite;
}
.recruit--side-right .recruit--side-track {
  animation: recruit-scroll-up 22s linear infinite;
}
@keyframes recruit-scroll-down {
  0% {
    transform: translateY(-50%);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes recruit-scroll-up {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-50%);
  }
}
/* SP */
@media (max-width: 768px) {
  .recruit--recruitment-inner {
    flex-direction: column;
  }
  .recruit--center {
    width: 90%;
    padding: 20px 0px;
  }
}
.recruit--recruitment-inner {
  width: 100%!important;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  border-radius: 0px!important;
  background-color: #fff!important;
  position: relative;
  /* ← 重要 */
  overflow: hidden;
  /* ← ここで左右を切る */
}
.recruit--btn {
  position:relative;
  width:300px;
  margin-top:0px;
  bottom:0px;
  left:0!important;
  margin-left:0;
}
@media (max-width: 768px) {
  .recruit--btn {
    width:100%
  }
  .recruit--center-sub {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .recruit--center-text {
    font-size: 12px;
    line-height: 2;
    margin-bottom: 30px;
  }
  .recruit--center-title {
    font-size: 38px;
    font-weight: 700;
    margin-bottom: 20px;
  }
  /* ===== サイドスライダー ===== */
  .recruit--side {
    width: 150px;
    height:700px;
    overflow: hidden;
    z-index:0;
  }
  .recruit--side-left {
    transform: rotate(6deg);
    position:absolute;
    left:-15%;
  }
  .recruit--side-right {
    transform: rotate(6deg);
    position:absolute;
    right:-15%
  }
  .recruit--recruitment {
    padding: 120px 0;
    background: #FFF3E9;
    overflow: hidden;
    padding-top:60px;
  }
}
/*サービス*/
.service-inner {
  max-width:1250px;
  padding:0px 0px;
  margin:0 auto
}
.service-inner .recruit--image {
  border-radius:0px
}
.service-inner .recruit--point-item {
  display: flex;
  align-items: start;
  gap: 60px;
  margin-bottom: 60px;
}
.service-text h3 {
  font-size:32px;
  margin-bottom:20px
}
.service-number {
  font-size:24px!important;
  color:#005CA8;
  margin-bottom:10px
}
.service-text p {
  font-size:18px;
  line-height:1.9;
}
.service-text {
  width:50%
}
.service-service-sub {
  grid-template-columns: repeat(2, 1fr);
  padding:0px;
  margin-top: 70px;
}
.service-sub-item {
  background-color:#FFF3E9;
  padding:30px;
}
.service-sub-item .about-service-sub-text {
  font-size:18px!important
}
.service-sub-item .about-service-sub-title {
  font-size: 24px;
  margin-bottom: 25px;
  color: #F48221;
  margin-top: 30px;
}
.service-sub-item.about-service-sub-item img {
  width:50%;
}
.service-heading {
  margin-top:80px;
}
.service-text-1 {
  line-height:1.6;
  font-size:18px;
  margin-top:20px
}
@media (max-width: 768px) {
  .service-inner .recruit--point-item {
    display: flex;
    align-items: start;
    gap: 20px;
    margin-bottom: 60px;
  }
  .service-text h3 {
    font-size:28px;
    margin-bottom:20px
  }
  .service-number {
    font-size:22px!important;
    color:#005CA8;
    margin-bottom:10px
  }
  .service-text p {
    font-size:16px;
    line-height:1.8!important;
  }
  .service-text {
    width:100%
  }
  .service-inner {
    max-width:1250px;
    padding:0px 20px;
    margin:0 auto
  }
  .service-service-sub {
    margin-top:40px;
  }
  .service-service-sub {
    grid-template-columns: repeat(1, 1fr);
    padding:0px;
    margin-top: 70px;
  }
  .service-sub-item .about-service-sub-text {
    font-size: 16px !important;
  }
  .service-text-1 {
    line-height: 1.6;
    font-size: 16px;
    margin-top: 20px;
  }
  .service-sub-item {
    background-color: #FFF3E9;
    padding: 20px;
  }
  .service-head-title {
    font-size:25px
  }
}
.service--section {
  padding: 80px 20px;
  background: #fff;
}
.service--inner {
  max-width: 1250px;
  margin: 0 auto;
}
.service--list {
  display: flex;
  justify-content: space-between;
  gap: 0px;
  margin-bottom:10px;
  max-width: 900px;
  margin:0 auto;
  margin-bottom:20px
}
.service--list-1 {
  margin-bottom:80px;
  gap:40px;
  max-width: 1250px;
}
.service--item {
  text-align: center;
  flex: 1;
}
/* 円形画像 */
.service--image {
  width: 230px;
  height: 230px;
  margin: 0 auto 20px;
  border-radius: 50%;
  overflow: hidden;
}
.service--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* タイトル */
.service--title {
  font-size: 24px;
  color: #F48221;
  margin-bottom: 15px;
  font-weight: 600;
}
/* 下の四角 */
.service--note {
  display: inline-block;
  background-color:#fff;
  padding: 10px 20px;
  border: 1px solid #F48221;
  color: #F48221;
  font-size: 18px;
  line-height: 1.6;
  border-radius: 3px;
  width:100%;
  pointer-events: none;
  /* ボタン化防止 */
}
.service-section {
  padding-bottom:100px
}
/* レスポンシブ */
@media (max-width: 768px) {
  .service--list {
    flex-direction: column;
    gap: 30px;
  }
  .service--list-1 {
    margin-bottom:60px;
    gap:20px;
    margin-top:40px
  }
  .service--image {
    width: 160px;
    height: 160px;
  }
  .service-section {
    padding-bottom:0px
  }
  .service--note {
    font-size:16px;
  }
  .about-town {
    width: 100%;
  }
}
.flow {
  background-color:#fff;
  padding: 130px 20px;
}
.flow--inner {
  max-width: 1250px;
  margin: 0 auto;
  display: flex;
  gap: 80px;
}
/* 左 */
.flow--text {
  flex: 1;
  color: #151515;
  width:49%;
}
.flow--title {
  font-size: 46px;
  font-weight: 700;
  margin-bottom: 44px;
  line-height: 1.5;
  color:#101A51;
}
.flow--text p {
  font-size: 20px;
  line-height: 1.7;
  color:#101A51;
  font-weight:500
}
/* 右ステップ */
.flow--steps {
  display: flex;
  gap: 20px;
  width:51%
}
.flow--step {
  width: 20%;
  background: #fff;
  padding: 70px 10px;
  text-align: center;
}
/* アイコン画像 */
.flow--icon {
  width: auto;
  height: 50px;
  margin: 0 auto 14px;
  display: block;
}
/* 縦書き */
.flow--label {
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: 34px;
  letter-spacing: 8px;
}
@media (max-width: 768px) {
  .flow {
    padding: 60px 16px;
  }
  /* 全体を縦並び */
  .flow--inner {
    flex-direction: column;
    gap: 40px;
  }
  /* 左テキスト */
  .flow--title {
    font-size: 25px;
    line-height: 1.6;
  }
  .flow--text p {
    font-size: 16px;
    line-height: 1.9;
  }
  /* 右ステップを横並び */
  .flow--steps {
    gap: 12px;
    padding-bottom: 10px;
  }
  .flow--step {
    min-width: 90px;
    padding: 14px 8px;
    width:100%;
    align-items:center;
    display:flex
  }
  .flow--icon {
    width:40px;
    height:auto;
    margin:0px;
    margin-right:20px
  }
  /* 縦書き解除 */
  .flow--label {
    writing-mode: horizontal-tb;
    text-orientation: mixed;
    font-size: 16px;
    letter-spacing: 0;
  }
  .flow--text {
    flex: 1;
    color: #151515;
    width:100%;
  }
  .flow--steps {
    display: grid;
    gap: 20px;
    width:100%
  }
}
.flow---section {
  padding:100px 0px
}
.flow---title {
  text-align:center;
  font-size:64px;
  color:#005CA8;
  margin-bottom:10px
}
.flow---inner {
  max-width:1250px;
  margin:0 auto
}
.flow---subtitle {
  font-size:20px;
  text-align:center;
  margin-bottom:90px
}
.flow---inner .service-text h3 {
  margin-bottom:40px;
  position: relative;
}
.flow---inner .recruit--image {
  border-radius:0px
}
.flow---inner .service-text h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 200px;
  height: 14px;
  background-image: radial-gradient(circle, #FDE3CD 7px, transparent 7px);
  background-size: 29px 14px;
  background-repeat: repeat-x;
}
.flow---inner .service-text h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -25px;
  width: 130px;
  height: 14px;
  background-image: radial-gradient(circle, #005CA8 2px, transparent 3px);
  background-size: 19px 14px;
  background-repeat: repeat-x;
}
@media (max-width: 768px) {
  .flow---inner {
    max-width:1250px;
    margin:0 auto;
    padding:0px 20px;
  }
  .blog-btn-1 {
    margin:0 auto
  }
  .flow---title {
    text-align:center;
    font-size:44px;
    color:#005CA8;
    margin-bottom:10px
  }
  .flow---subtitle {
    font-size:16px;
    text-align:center;
    margin-bottom:60px
  }
  .flow---section {
    padding: 60px 0px;
  }
  .top-flow .recruit--center-sub {
    text-align: center;
  }
  .top-flow .recruit--center-text {
    text-align: center;
  }
  .top-flow .recruit--side-left {
    left:-100%!important
  }
  .top-flow .recruit--side-right {
    right:-100%
  }
  .top-flow .recruit--side {
    width:250px
  }
}
.top-faq-btn {
  margin-top:60px!important;
  background-color:#fff;
  color:#151515;
  border:none
}
.top-faq-btn:hover {
  color:#151515;
}
.top-faq-btn::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #f58220;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
.top-faq-btn:hover::before {
  background: #005CA8;
}
.footer-nav li a:hover {
  color:#F48221;
  opacity:1
}
.privacy-inner p {
  font-weight:600;
  margin-bottom:0px!important
}
@media (min-width: 1680px) {
  .recruit--center-title {
    text-align:left;
  }
  .recruit--recruitment-inner {
    width:95%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    border-radius:30px;
    background-color:#005CA8;
    height:750px
  }
  .recruit--center-text {
    font-size:32px;
  }
  .top-flow .recruit--side {
    width: 350px;
  }
  .recruit--recruitment-inner {
    height:900px;
  }
  .flow--side-left {
    right:360px!important
  }
  .recruit--center-text {
    font-size:32px;
  }
  .recruit--side {
    height:950px
  }
}
.faq--btn {
  margin:0 auto
}
@media (min-width: 969px) {
  .recruit--center-text {
    font-size:32px;
  }
  .recruit--center-title {
    text-align:left
  }
  .recruit--center {
    color: #fff;
    padding: 80px 100px;
    text-align: center;
    border-radius: 6px;
    z-index: 2;
  }
  .recruit--recruitment-inner {
    width:95%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 60px;
    border-radius:30px;
    background-color:#005CA8;
    height:750px
  }
}
a.consult-btn.top-flow-btn.strengths-btn {
  border:solid #015ca8;
  background: #015ca8;
  margin-top:30px
}
a.consult-btn.top-flow-btn.strengths-btn:hover {
  background: #fff;
  color: #015ca8;
}
a.consult-btn.top-flow-btn.strengths-btn::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  color: #015ca8;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
.strengths-btn:hover::before {
  background:#015ca8!important;
  color: #fff!important;
}
.circle-js-wrap {
  width: 100%;
}
/* 共通 */
.circle-js-float {
  animation: circle-js-float 4s ease-in-out infinite;
}
/* ぷかぷか */
@keyframes circle-js-float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25px);
  }
  100% {
    transform: translateY(0);
  }
}
/* 位置・サイズはここで量産 */
.circle-js-pos-1 {
  left: 10%;
  width: 120px;
  bottom:10%;
  position:absolute;
  animation-delay: 0s;
}
.circle-js-pos-2 {
  left: 13%;
  width: 70px;
  bottom:0px;
  position:absolute;
  animation-delay: 1s;
}
.circle-js-pos-3 {
  right:10%;
  top: 0%;
  width: 140px;
  position:absolute;
  animation-delay: 1.5s;
}
.circle-js-pos-4 {
  left: 6%;
  width: 80px;
  bottom:30%;
  position:absolute;
  animation-delay: 0s;
  z-index:45
}
.circle-js-pos-5 {
  left: -1%;
  width: 110px;
  top:20%;
  position:absolute;
  animation-delay: 1s;
  z-index:35
}
.circle-js-pos-6 {
  left:45%;
  width: 120px;
  position:absolute;
  animation-delay: 0s;
  z-index:5;
  top:30%
}
.circle-js-pos-7 {
  left:40%;
  top: 25%;
  width: 80px;
  position:absolute;
  animation-delay: 1.5s;
  z-index:15
}
.circle-js-pos-8 {
  left: -1%;
  width: 110px;
  top:20%;
  position:absolute;
  animation-delay: 1s;
  z-index:35
}
.circle-js-pos-9 {
  left:55%;
  width: 120px;
  position:absolute;
  animation-delay: 0s;
  z-index:5;
  top:7%
}
.circle-js-pos-10 {
  right:10%;
  width: 130px;
  position:absolute;
  animation-delay: 1.5s;
  z-index:15;
  top:25%
}
.circle-js-pos-11 {
  right:5%;
  top: 30%;
  width: 80px;
  position:absolute;
  animation-delay: 2.5s;
  z-index:15
}
.blog-tabs {
  margin-bottom:40px!important;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  /* 余白はお好みで */
}
.blog-tabs .faq-tab {
  width:100%;
}
@media (max-width: 969px) {
  .circle-js-pos-1 {
    left: 85%;
    width: 60px;
    bottom:0%;
    position:absolute;
    animation-delay: 0s;
  }
  .circle-js-pos-2 {
    left: 3%;
    width: 40px;
    bottom:0px;
    position:absolute;
    animation-delay: 1s;
  }
  .circle-js-pos-3 {
    right:10%;
    top: 0%;
    width: 80px;
    position:absolute;
    animation-delay: 1.5s;
  }
  .circle-js-pos-4 {
    left: 80%;
    width: 45px;
    bottom:10%;
    position:absolute;
    animation-delay: 0s;
    z-index:45
  }
  .circle-js-pos-5 {
    left: 90%;
    width: 40px;
    top:10%;
    position:absolute;
    animation-delay: 1s;
    z-index:35
  }
  .circle-js-pos-6 {
    left:5%;
    width: 60px;
    position:absolute;
    animation-delay: 0s;
    z-index:5;
    top:25%
  }
  .circle-js-pos-7 {
    left:10%;
    top: 45%;
    width: 40px;
    position:absolute;
    animation-delay: 1.5s;
    z-index:15
  }
  .circle-js-pos-8 {
    left: -1%;
    width: 80px;
    top:23%;
    position:absolute;
    animation-delay: 1s;
    z-index:35
  }
  .circle-js-pos-9 {
    left:-10%;
    width: 60px;
    position:absolute;
    animation-delay: 0s;
    z-index:5;
    top:7%
  }
  .circle-js-pos-10 {
    right:10%;
    width: 80px;
    position:absolute;
    animation-delay: 1.5s;
    z-index:15;
    top:0%
  }
  .circle-js-pos-11 {
    right:5%;
    top: 28%;
    width: 50px;
    position:absolute;
    animation-delay: 2.5s;
    z-index:15
  }
}
.recruit--recruitment-inner1 {
  height:850px;
}
.recruit--side {
  height:880px
}
@media (min-width: 1769px) {
  .recruit--side {
    width:330px;
  }
}
.hidden {
  display: none;
}
.confirm-screen,
.thanks-screen {
  max-width: 800px;
  margin: 80px auto;
  text-align: center;
}
.confirm-title {
  font-size: 28px;
  margin-bottom: 40px;
}
.confirm-list {
  border-top: 1px solid #ddd;
}
.confirm-row {
  display: flex;
  justify-content: space-between;
  padding: 16px 0;
  border-bottom: 1px solid #ddd;
  gap: 20px;
}
.confirm-row span {
  width: 30%;
  text-align: left;
  font-weight: bold;
}
.confirm-row p {
  width: 70%;
  text-align: left;
}
.confirm-buttons {
  margin-top: 40px;
  display: flex;
  justify-content: center;
  gap: 20px;
}
.confirm-buttons button {
  padding: 14px 32px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
}
#backBtn {
  background: #0a4ea1;
  color: #fff;
}
#sendBtn {
  background: #f68b1e;
  color: #fff;
}
.thanks-btn {
  display: inline-block;
  margin-top: 30px;
  color: #fff;
  padding: 15px 32px;
  border-radius: 0px;
  text-decoration: none;
}
.voice-arrow {
  background-color: #106431;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid #F48221;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 16px;
  /* 矢印画像のサイズ */
  font-size: 0;
  /* 文字を消す */
}
@media (min-width: 969px) {
  .voice-prev,
  .voice-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
  }
  .voice-prev {
    left: 50%;
    transform: translate(-510px, -50%);
  }
  .voice-next {
    left: 50%;
    transform: translate(455px, -50%);
    /* 中央から右へ */
  }
  .fv-sub-circle img {
    width: 74%;
    max-width: 550px;
  }
}
@media (min-width: 1550px) {
  .fv {
    position: relative;
    height: 870px!important;
    overflow: hidden;
  }
  .fv-sub-circle img {
    width: 83%!important;
    max-width: 630px!important;
  }
  .fv-bottom-circles img {
    width: 185px!important;
  }
  .photo {
    width: 420px!important;
    flex-shrink: 0;
  }
  .fv-main-circle img {
    width: 95%!important;
    max-width: 750px!important;
  }
  .fv-bottom-circles {
    position: absolute;
    left: 11%!important;
    bottom: 70px;
    display: flex;
    gap: 20px;
    z-index: 13;
  }
}
/*フッター*/
/* Footer Base */
.site-footer {
  position: relative;
  background-color:#101A51!important;
  padding: 110px 0 65px!important;
  overflow: hidden;
  border-radius:50px 50px 0px 0px
}
/* Background with Leaves */
.footer-background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}
.leaf {
  position: absolute;
  opacity: 0.3;
  max-width: 300px;
}
.leaf-top-left {
  top: -20px;
  left: -50px;
  transform: rotate(-15deg);
}
.leaf-bottom-left {
  bottom: 50px;
  left: -30px;
  transform: rotate(30deg);
}
.leaf-top-right {
  top: 20px;
  right: -30px;
  max-width: 350px;
}
/* Footer Content Container */
.footer-content {
  position: relative;
  z-index: 1;
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 20px;
}
/* ========================================
   Contact Boxes (Separate Images)
   ======================================== */
.contact-boxes {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
  gap: 4px;
}
.contact-box {
  display: block;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.contact-box:hover {
  opacity: 0.7;
}
.contact-box img {
  display: block;
  height: auto;
  width: 100%;
}
/* ========================================
   Footer Main Content
   ======================================== */
.footer-main {
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 60px;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1100px;
}
/* Company Info */
.company-info {
  color: #fff;
}
.company-logo {
  margin-bottom: 15px;
}
.company-logo img {
  height: 40px;
  width: auto;
}
.company-logo img:hover {
  opacity:0.7
}
.company-name {
  font-size: 16px;
  margin-bottom: 10px;
  line-height:1.8;
}
.company-address {
  font-size: 16px;
  margin-bottom: 10px;
}
.company-tel {
  font-size: 16px;
}
/* Footer Navigation */
.footer-nav {
  display: flex;
  gap: 60px;
}
.footer-nav__list {
  list-style: none;
}
.footer-nav__list li {
  margin-bottom: 12px;
}
.footer-nav__list a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  transition: opacity 0.3s ease;
}
.footer-nav__list a:hover {
  opacity: 0.7;
}
/* ========================================
   Footer Bottom - SNS icons ABOVE the line
   ======================================== */
.footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 20px;
  margin: 0 auto;
  max-width: 1100px;
  position:relative
}
.footer-nav li {
  margin-bottom:20px!important;
  font-size:16px;
}
/* Social Icons */
.social-icons {
  display: flex;
  gap: 10px;
  align-items: center;
}
.social-icon {
  color: #fff;
  transition: opacity 0.3s ease, transform 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.social-icon img {
  height: 34px;
  width: auto;
}
.social-icon:hover {
  opacity: 0.7;
}
/* Copyright - positioned on right */
.copyright {
  color: #fff;
  font-size: 14px!important;
  letter-spacing: 1px;
  max-width:1100px;
  margin:0 auto;
  margin-top:25px
}
/* Footer Divider - Below the SNS icons and copyright */
.footer-divider {
  width: 100%;
  max-width: 1100px;
  margin:40px auto 0;
  height: 8px;
  background-image: radial-gradient(circle, #fff 4px, transparent 4px);
  background-size: 24px 12px;
  background-repeat: repeat-x;
  background-position: left center;
  background-color: transparent;
}
/* ========================================
   Page Top Button - ALWAYS VISIBLE
   ======================================== */
.page-top {
  text-decoration: none;
  z-index: 1000;
}
.page-top__circle {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-top__text {
  position: absolute;
  width: 100%;
  height: 100%;
  animation: rotate 10s linear infinite;
}
.page-top__text text {
  fill: #fff;
  font-size: 8.5px;
  letter-spacing: 2px;
  font-weight: 500;
}
.page-top__arrow {
  width: 36px;
  height: 36px;
  background-color: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  transition: background-color 0.3s ease, transform 0.3s ease;
}
.page-top:hover .page-top__arrow {
  background-color: rgba(255, 255, 255, 0.2);
  transform: scale(1.1);
}
/* Rotation Animation */
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/* ========================================
   Responsive Design
   ======================================== */
@media (max-width: 900px) {
  .footer-main {
    flex-direction: column;
    align-items: start;
    text-align: center;
  }
  .company-name {
    text-align:left;
  }
  .contact-boxes {
    display:grid;
    gap:10px
  }
  .contact-box img {
    border-radius:0px;
    border:solid 0px;
  }
  .footer-nav {
    justify-content: left;
  }
}
.p-allArchive__link:hover {
  opacity:0.3
}
@media (max-width: 900px) {
  .site-footer {
    padding: 60px 0 60px!important;
  }
  .footer-nav {
    flex-direction: column;
    gap: 0px;
    text-align: left;
    width:100%;
  }
  .footer-divider {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    margin-top: 30px;
    height: 3px;
    background-color: #fff;
  }
}
.faq-tabs .faq-tabb1 {
  position: relative;
  background: #101A51;
  color: #fff;
  border: none;
  padding: 18px 52px 18px 52px;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  border:solid #101A51;
}
.faq-tabs .faq-tabb2 {
  position: relative;
  background: #FF64AC;
  color: #fff;
  border: none;
  padding: 18px 52px 18px 52px;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  border:solid #FF64AC
}
.faq-tabs .faq-tabb3 {
  position: relative;
  background: #A952D9;
  color: #fff;
  border: none;
  padding: 18px 52px 18px 52px;
  font-size: 20px;
  cursor: pointer;
  text-align: center;
  border:solid #A952D9
}
.faq-tabs .faq-tabb1:hover {
  background: #fff!important;
  color:#101A51;
}
.faq-tabs .faq-tabb2:hover {
  background: #fff!important;
  color:#FF64AC
}
.faq-tabs .faq-tabb3:hover {
  background: #fff !important;
  color:#A952D9
}
/*各ページ*/
/* =================================
  BLOG FV
================================= */
.p-pageFv {
  position: relative;
  width: 100%;
  aspect-ratio: 1580 / 470;
  /* デザイン比率 */
  overflow: hidden;
}
/* 背景画像 */
.p-pageFv__bg {
  position: absolute;
  inset: 0;
}
.p-pageFv__bg img {
  width: 100%;
  height: 75%;
  object-position: top;
  display: block;
  margin-left: 3%;
  padding-right:15%;
  object-fit: cover;
  z-index: 100;
  position: sticky;
}
/* 中央コンテンツ */
.p-pageFv__inner {
  position: relative;
  z-index: 105;
  max-width: 1450px;
  height: 100%;
  margin: 0 auto;
  padding: 0 60px;
  display: flex;
  align-items: center;
  padding-bottom:20px;
}
.p-pageFv__content {
  color: #2f7f4f;
}
/* 「ブログ」 */
.p-pageFv__sub {
  display: block;
  font-size: 40px;
  font-weight:bold;
  margin-bottom: 0px;
  color:#fff;
  text-shadow:5px 3px 0px #106431!important;
}
/* BLOG */
.p-pageFv__title {
  margin: 0;
  font-size: 140px;
  font-weight:bold;
  color:#fff;
  text-shadow:5px 3px 0px #106431!important;
}
/* =================================
  下部グリーン帯
================================= */
.p-pageFv__bottom {
  position: absolute;
  bottom: 8%;
  right: 0;
  z-index: 3;
  width: 70%;
  height: 65%;
  background: linear-gradient(to right, #2CA136, #106431);
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 40px;
  z-index:0;
}
/* パンくず */
.p-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
  justify-content: flex-end;
  padding-right: 12%;
  padding-top: 30px;
  z-index: 1;
  position: sticky;
}
/* 🏠アイコン */
.p-breadcrumb__icon {
  width: 14px;
  height: auto;
  display: block;
  margin-top: 1px;
}
/* =================================
  Responsive
================================= */
@media screen and (max-width: 768px) {
  .p-pageFv__bottom {
    position: absolute;
    bottom:0px;
  }
  .p-pageFv {
    position: relative;
    width: 100%;
    aspect-ratio: 1000 / 470;
    overflow: hidden;
  }
  .p-pageFv__bg img {
    object-position:right;
  }
  .p-pageFv__inner {
    padding: 0 20px;
  }
  .p-pageFv__sub {
    font-size: 17px;
  }
  .p-pageFv__title {
    font-size: 40px;
    letter-spacing: 0.05em;
  }
  .p-breadcrumb {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #fff;
    font-size: 14px;
    white-space: nowrap;
    justify-content: flex-end;
    padding-right: 12%;
    padding-top: 10px;
  }
  .p-pageFv__bottom {
    padding-right: 20px;
  }
  .p-breadcrumb {
    font-size: 12px;
  }
  .p-breadcrumb__icon {
    width: 12px;
  }
}
/* =========================
   Loading Screen
========================= */
.loading-screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #106431;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 1.5s ease, visibility 1.5s ease;
}
.loading-screen.is-hidden {
  opacity: 0;
  visibility: hidden;
}
/* =========================
   Logo
========================= */
.loading-logo {
  margin-bottom: 40px;
}
.loading-logo img {
  width: 220px;
  height: auto;
  margin-bottom: 140px!important;
}
/* =========================
   Loading Bar
========================= */
.loading-bar {
  max-width: 800px;
  width: 80%;
  height: 6px;
  background-color: rgba(255,255,255,0.2);
  border-radius: 3px;
  overflow: hidden;
  position: relative;
  margin-top: 80px;
}
/* 伸びる部分 */
.loading-bar__progress {
  width: 0%;
  height: 100%;
  transition: width 2s ease;
}
/* グラデーション */
.loading-bar__gradient {
  width: 100%;
  height: 100%;
  background: linear-gradient( 90deg, #7cb342 0%, #aed581 50%, #7cb342 100% );
}
/* =========================
   Text
========================= */
.loading-text {
  color: #fff;
  margin-top: 30px;
  font-size: 23px!important;
  letter-spacing: 0.1em;
}
.blog-inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 90px 20px!important;
}
@media screen and (max-width: 768px) {
  .p-pageFv__title {
    margin: 0;
    font-weight: bold;
    color: #fff;
    text-shadow: 3px 3px 0px #106431 !important;
  }
  .p-pageFv__sub {
    display: block;
    font-weight: bold;
    margin-bottom: 0px;
    color: #fff;
    text-shadow: 2px 2px 0px #106431 !important;
  }
  .loading-text {
    color: #fff;
    margin-top: 30px;
    font-size: 18px;
    letter-spacing: 0.1em;
  }
  .loading-logo img {
    width: 200px;
    height: auto;
    margin-bottom: 80px!important;
  }
  .blog-tabs {
    margin-bottom: 50px !important;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 10px;
  }
}
time {
  color:#000
}
/*ブログページの背景*/
.parallax-section {
  position: relative;
  border-radius: 50px 50px 0px 0px;
  z-index: 10;
  position: relative;
  top: -40px;
  background-color:#fff;
}
/* 背景レイヤー本体（高さを持たせない） */
.parallax-bg {
  position: sticky;
  top: 0;
  height: 0;
  /* ← ここが重要 */
}
/* 実際の背景 */
.parallax-bg::before {
  content: "";
  display: block;
  height: 100vh;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102884-scaled.webp") center / cover no-repeat;
}
/* コンテンツ */
.parallax-content {
  position: relative;
  z-index: 1;
}
@media (max-width: 768px) {
  .blog-inner {
    padding: 40px 20px !important;
  }
  .parallax-bg::before {
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102884-scaled.webp") center / contain no-repeat;
  }
}
/*よくある質問
*/
.faq-intro-title {
  position: relative;
  display: inline-block;
  /* 線を文字幅基準にする */
  padding-bottom: 12px;
  /* 線との余白 */
  color:#106431
}
.faq-intro-title::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  width: 70px;
  height: 3px;
  /* 線の太さ */
  background: #106431;
  /* 色変更OK */
}
.faq-body {
  background-color:#EDFFF4
}
/* 実際の背景 */
.parallax-bg-faq::before {
  content: "";
  display: block;
  height: 100vh;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102501-1-scaled.webp") center / cover no-repeat!important;
}
.faq-tabs .faq-tabb::after {
  content: "\f078";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}
/* 実際の背景 */
.parallax-bg-privacy::before {
  content: "";
  display: block;
  height: 100vh;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102729-scaled.webp") center / cover no-repeat!important;
}
/* 実際の背景 */
.parallax-bg-contact::before {
  content: "";
  display: block;
  height: 100vh;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102886-scaled.webp") center / cover no-repeat!important;
}
.contact-banner-company {
  max-width:1080px;
  width:100%;
}
.point-message-image-flex {
  display: flex;
  margin:0 auto;
  gap:65px;
  margin-top:60px;
  max-width:1100px;
  width:100%;
  margin-bottom:80px;
}
.point-p-title {
  font-size:16px;
  margin-bottom:15px;
  color:#101A51;
  font-weight:500;
  line-height:1.8;
  letter-spacing:0.08em!important
}
@media (max-width: 768px) {
  .point-message-image-flex {
    display: block;
    margin:0 auto;
    gap:80px;
    margin-top:60px;
    max-width:1100px;
    width:100%;
    margin-bottom:80px;
  }
  .point-message-image {
    width:100%!important;
    margin:0px!important;
    margin-bottom:30px!important
  }
  .contact-banner-company {
    margin-bottom:0px!important
  }
  .point-company {
    padding: 20px;
    padding-bottom: 30px;
    padding-top: 60px;
  }
  .contact-banner {
    width:100%;
    margin:0 auto;
    margin-top:60px;
    margin-bottom:60px!important
  }
  .privacy-inner .contact-banner {
    margin-bottom:0px!important
  }
  .parallax-bg-privacy::before {
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-103074-1-scaled.webp") center / contain no-repeat!important;
  }
  .parallax-bg-contact::before {
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102886-scaled.webp") center / contain no-repeat!important;
  }
  .parallax-bg-faq::before {
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102501-1-scaled.webp") center / contain no-repeat!important;
  }
  .faq-tabs .faq-tabb {
    padding: 16px 34px 16px 34px;
    font-size:16px
  }
}
.point-tab {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* 3列 */
  gap: 25px;
  /* 間隔はお好みで */
}
.point-tab .faq-tab {
  width:100%;
  text-align: center;
  /* 任意：中央寄せ */
}
.recruit {
  position: relative;
  overflow: hidden;
  padding: 0px 0px 80px;
}
.recruit--section-1 {
  padding: 80px 0px;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102730-1-scaled.webp") center / cover no-repeat!important;
}
@media (min-width: 768px) {
  .sp1 {
    display:none;
  }
}
@media (max-width: 768px) {
  .recruit--section-1 {
    padding: 60px 0px;
    background: url("http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102730-1-scaled.webp") center / cover no-repeat!important;
  }
  .pc1 {
    display:none;
  }
  .point-tab {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    /* 3列 */
    gap: 15px;
    /* 間隔はお好みで */
  }
}
/* =========================
   top-contactsection
========================= */
.top-contactsection {
  /* 背景は1枚画像をCSSで */
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/04/1920×1080ガイド-1-scaled.webp") center top / cover no-repeat;
  padding: 100px 20px 100px;
}
.top-contactsection__inner {
  max-width: 1250px;
  margin: 0 auto;
}
.top-contactsection__head {
  text-align: center;
  margin-bottom: 60px;
  color:#fff!important
}
.top-contactsection__ttl {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #111;
}
.top-contactsection__sub {
  margin: 8px 0 0;
  font-size: 12px;
  color: #fff;
}
/* 緑の大枠 */
.top-contactsection__panel {
  background: #415379ab;
  /* 画像の深緑に寄せる */
  padding: 70px 80px;
  display: flex;
  gap: 26px;
  align-items: stretch;
}
/* 左右幅 */
.top-contactsection__left {
  flex: 0 0 44%;
  min-width: 320px;
  color: #fff;
}
.top-contactsection__right {
  flex: 1;
  min-width: 360px;
}
/* 左テキスト */
.top-contactsection__catch {
  margin: 0 0 30px;
  font-size: 48px;
  font-weight: 600;
  letter-spacing: .08em;
}
.top-contactsection__lead {
  margin: 0 0 45px;
  font-size: 16px;
  line-height: 2;
  font-weight:600;
}
/* 左の白い枠部分：画像1枚で */
.top-contactsection__quickbox {
  width: 100%;
  max-width: 340px;
  background: url("../img/top/contact/left-box.png") center / contain no-repeat;
  margin: 10px 0 24px;
}
/* 電話 */
.top-contactsection__telcap {
  margin: 6px 0 10px;
  font-size: 16px;
  font-weight:600;
  margin-bottom:20px
}
.top-contactsection__tel {
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.top-contactsection__telicon {
  width: 44px;
  height: 44px;
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-102331-2.png") center / contain no-repeat;
  /* ←電話アイコンは画像で */
  flex: 0 0 auto;
}
.top-contactsection__telnum {
  color: #fff;
  text-decoration: none;
  font-size: 37px;
  font-weight: 600;
  letter-spacing: .08em;
}
/* =========================
   Contact Form 7 見た目を画像に寄せる
   （CF7出力の中身を崩さない範囲で）
========================= */
.top-contactsection__right .wpcf7 {
  color: #fff;
}
.top-contactsection__right .wpcf7 form {
  margin: 0;
}
/* 1行の並び（ラベル + 入力）を作る */
.top-contactsection__right .wpcf7 .top-cf7row {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 10px;
  align-items: center;
  margin-bottom: 10px;
}
.top-contactsection__right .wpcf7 .top-cf7label {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  opacity: .95;
  display: flex;
  align-items: center;
  gap: 6px;
}
.top-contactsection__right .wpcf7 .top-cf7badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 18px;
  padding: 0 8px;
  border-radius: 999px;
  background: #f7a400;
  /* 画像のオレンジ系 */
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
}
/* 入力欄 */
.top-contactsection__right input[type="text"],
.top-contactsection__right input[type="email"],
.top-contactsection__right input[type="tel"],
.top-contactsection__right textarea {
  width: 100%;
  box-sizing: border-box;
  border: 0;
  border-radius: 6px;
  background: #fff;
  padding: 10px 12px;
  font-size: 14px;
  outline: none;
}
.top-contactsection__right textarea {
  min-height: 92px;
  resize: vertical;
}
/* ラジオ横並び */
.top-contactsection__right .top-cf7radios {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  align-items: center;
  margin: 2px 0 12px;
}
.top-contactsection__right .top-cf7radios label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: #fff;
}
/* 送信ボタン（右下の黄色いボタン風） */
.top-contactsection__right input[type="submit"] {
  width: 220px;
  max-width: 100%;
  border: 0;
  border-radius: 999px;
  background: #f7b400;
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  padding: 12px 18px;
  cursor: pointer;
}
.top-contactsection__right .top-cf7submit {
  display: flex;
  justify-content: flex-end;
  margin-top: 12px;
}
/* =========================
   Responsive
========================= */
@media (max-width: 860px) {
  .p-pageFv__bg img {
    margin-left:0
  }
  .top-contactsection {
    background: url(http://shiro-koubou.com/wp-content/uploads/2026/04/1920×1080ガイド-1-scaled.webp) center top / cover no-repeat;
    padding: 80px 20px 80px;
  }
  .top-contactsection__panel {
    flex-direction: column;
    padding: 22px 18px;
  }
  .top-contactsection__head {
    text-align: center;
    margin-bottom: 40px;
    color: #fff !important;
  }
  .top-contactsection__telcap {
    margin: 0px 0 10px;
    font-size: 15px;
    font-weight: 600;
    margin-bottom: 20px;
  }
  .top-contactsection__lead {
    margin: 0 0 34px;
    font-size: 15px;
    line-height: 1.7;
    font-weight: 600;
  }
  .top-contactsection__sub {
    margin: 8px 0 0;
    font-size: 15px!important;
    color: #fff;
    font-weight: 400;
    line-height:1.7
  }
  .top-contactsection__left,
  .top-contactsection__right {
    min-width: 0;
  }
  .top-contactsection__right .wpcf7 .top-cf7row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .top-contactsection__catch {
    margin: 0 0 20px;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: .02em;
  }
  .top-contactsection__telnum {
    color: #fff;
    text-decoration: none;
    font-size: 26px;
    font-weight: 600;
    letter-spacing: .08em;
  }
  .top-contactsection__telicon {
    width: 34px;
    height: 34px;
    background: url(http://shiro-koubou.com/wp-content/uploads/2026/02/Group-102331.webp) center / contain no-repeat;
    flex: 0 0 auto;
  }
  .top-contactsection__right input[type="submit"] {
    width: 100%;
  }
  .top-contactsection__right .top-cf7submit {
    justify-content: center;
  }
}
.pc-mail {
  background: linear-gradient(135deg, #FFBD24 0%, #FF4400 100%);
}
.top-contactsection__sub {
  margin: 8px 0 0;
  font-size: 20px;
  color: #fff;
  font-weight:400;
}
.top-ryoku-section {
  position:relative;
}
.top-ryoku-section-leaf .fv-leaf--1 {
  position:absolute;
  bottom:0;
  top:20px;
  left:10%
}
.top-ryoku-section-leaf .fv-leaf--2 {
  position:absolute;
  bottom:20%;
  right:5%
}
.top-ryoku-section-leaf .fv-leaf--3 {
  position:absolute;
  top:25%;
  left:10%
}
.top-ryoku-section-leaf .fv-leaf--4 {
  position:absolute;
  top:24px;
  right:10%;
  left:auto;
}
.top-ryoku-section-leaf .fv-leaf--5 {
  position:absolute;
  bottom:23%;
  right:10%;
  top:15%
}
p {
  letter-spacing:8%!important
}
.site-footer {
  z-index:280;
}
.contact-title::after {
  content:"";
  display:block;
  width:80px;
  height:3px;
  margin:22px auto 0 !important;
  /* 左20pxだけ #CBD423、それ以外は #106431 */
  background-color:#415379!important
}
.thanks-btn {
  display: inline-block;
  color: #fff;
  padding: 14px 32px;
  border-radius: 999px;
  text-decoration: none;
}
.wpcf7-previous {
  background: #C6A357!important;
  color: #fff;
  border: none;
  padding: 20px 80px;
  border-radius: 0px;
  font-size: 16px;
  cursor: pointer;
  margin-right: 8px;
  width:300px;
}
.submit-wrap input[type="submit"] {
  background: #FF64AC!important;
  color: #fff;
  border: none;
  padding: 20px 80px;
  border-radius: 100px;
  font-size: 16px;
  cursor: pointer;
  margin-left: 8px;
}
.confirm-title {
  margin-bottom: 40px;
  color: #1f1f1f!important;
}
.wrapper {
  max-width: 800px;
  padding: 20px;
  margin: 0 auto;
  margin-top: 80px;
}
.confirm-line {
  display: block;
  width: 80px!important;
  height: 4px;
  margin: 0 auto 44px;
}
.loading-logo img {
  width:180px!important;
  margin-bottom:160px!important
}
@media (max-width: 860px) {
  .wpcf7-previous {
    width:100%!important
  }
  .loading-logo img {
    width:130px!important;
    margin-bottom:120px!important
  }
}
@media (min-width: 1920px) {
  .footer-content {
    position: relative;
    z-index: 1;
    max-width: 1440px!important;
    margin: 0 auto;
    padding: 0 20px;
  }
  .privacy-inner {
    max-width: 1440px;
    margin: 0 auto;
    line-height: 1.9;
    color: #333;
    font-size: 16px;
    font-weight: 500;
  }
  .top-contactsection__inner {
    max-width: 1440px!important;
    margin: 0 auto;
  }
  .top-ryoku-concerns__inner {
    position: relative;
    z-index: 2;
    max-width: 1440px!important;
    margin: 0 auto;
  }
  .ryoku-topservice__inner {
    max-width: 1440px!important;
    margin: 0 auto;
  }
}
.site-footer {
  z-index:299!important;
}
/* 9:16（縦長）＋ 角丸 */
.blog-header2 .thumb {
  aspect-ratio: 16 / 9;
  /* ← 縦横比を固定 */
  width: 100%;
  /* 必要なら 例: 220px など固定幅でもOK */
  overflow: hidden;
  /* 角丸で画像がはみ出さないように */
  border-radius: 10px;
  /* ← 角丸の大きさ（好みで調整） */
}
.blog-header2 .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* はみ出す部分はトリミング */
  display: block;
  /* 画像下の謎余白防止 */
  border-radius: inherit;
  /* thumbと同じ角丸に */
}
#blogWrapper {
  cursor: grab;
  user-select: none;
  /* ドラッグ時に文字選択されない */
  -webkit-user-select: none;
}
#blogWrapper.is-dragging {
  cursor: grabbing;
}
body {
  letter-spacing:0.08em!important;
  color:#1f1f1f;
}
.ba {
  font-family: "bahnschrift", sans-serif;
}
.guradetion {
  background: linear-gradient(45deg, #415379 21%, #2C385E 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
}
span.bottom-title {
  font-size:20px;
  text-align:center!important;
  display: block;
  margin-top:20px;
  letter-spacing:0.08em!important
}
.na-privacy-fv,
.na-privacy-fv * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.na-privacy-fv {
  position: relative;
  width: 100%;
  height: 550px;
  overflow: hidden;
}
.na-privacy-fv__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.na-privacy-fv__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.na-privacy-fv__inner {
  position: relative;
  z-index: 2;
  max-width: 1400px;
  height: 100%;
  margin: 0 auto;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
}
.na-privacy-fv__sub {
  margin: 0 0 8px;
  color: #101a51;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.na-privacy-fv__title {
  margin: 0;
  color: #101A51;
  font-size: 115px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing:0px;
  text-align: center;
  font-family:"zen-kaku-gothic-new", sans-serif;
}
.point-title span {
  display: block;
  font-size: 20px;
  margin-top: 20px;
  letter-spacing: normal;
  color:#1F1F1F!important;
  margin-bottom:90px;
}
.privacy-body .na-privacy-fv__title {
  color:#FF64AC
}
.privacy-body .na-privacy-fv__sub {
  color:#FF64AC
}
.privacy-body1 .na-privacy-fv__title {
  color:#697098
}
.privacy-body1 .na-privacy-fv__sub {
  color:#697098
}
.privacy-body .pagetop-current {
  color:#FF64AC!important
}
.privacy-body1 .pagetop-current {
  color:#697098!important
}
.privacy-body1 .fa-chevron-right:before {
  content: "ー"!important;
  color:#697098!important
}
/* SP */
@media screen and (max-width: 767px) {
  .na-privacy-fv {
    height: 300px;
  }
  .point-p-title {
    margin-top:30px font-size:15px
  }
  .point-message-text {
    line-height: 2.2;
    width: 100%;
  }
  .pagetop-breadcrumb {
    max-width: 1250px;
    padding: 0px;
    margin-bottom: 0px!important;
    padding-top: 5px!important;
  }
  .na-privacy-fv__inner {
    padding: 0 20px;
  }
  .na-privacy-fv__sub {
    margin-bottom: 5px;
    font-size: 18px;
  }
  .na-privacy-fv__title {
    font-size: 38px;
    margin-bottom:10px;
    text-align:left;
  }
}
.white {
  color:#fff!important
}
.na-office__inner {
  max-width: 1250px;
  width: calc(100% - 110px);
  margin: 0 auto;
}
.na-office__block {
  width: 100%;
  margin-top:65px
}
.na-office__line {
  position: relative;
  width: 100%;
  height: 2px;
  background: #415379;
}
.na-office__line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 56px;
  height: 4px;
  background: #2C385E;
  transform: translateY(0px);
}
.na-office__title {
  margin: 20px 0 48px;
  color: #111;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
}
.na-office__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.na-office__table tr {
  border-bottom: 2px solid #415379;
}
.na-office__table th,
.na-office__table td {
  padding: 0 0 31px;
  padding-left:24px;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.9;
  vertical-align: top;
}
.na-office__table th {
  width: 25%;
  padding-left: 24px;
  padding-right:24px;
  text-align: left;
}
.na-office__table td p {
  margin: 0;
}
.na-office__table tr + tr th,
.na-office__table tr + tr td {
  padding-top: 23px;
}
.na-office__map {
  width: 100%;
  height: 292px;
  margin-top: 51px;
  overflow: hidden;
}
.na-office__map iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
}
.na-office__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 34px;
  margin-top: 0px;
}
.na-office__grid .na-office__title {
  margin: 20px 0 49px;
}
.na-office__table1 {
  margin-bottom:80px
}
.na-office__grid .na-office__map {
  margin-top: 50px;
}
/* SP */
@media screen and (max-width: 767px) {
  .na-office {
    padding: 28px 0 55px;
  }
  .na-office__inner {
    width: calc(100% - 40px);
  }
  .na-office__line {
    height: 1px;
  }
  .na-office__line::before {
    width: 38px;
    height: 3px;
  }
  .na-office__title {
    margin: 16px 0 28px;
    font-size: 18px;
  }
  .na-office__table,
  .na-office__table tbody,
  .na-office__table tr,
  .na-office__table th,
  .na-office__table td {
    width: 100%;
  }
  .na-office__table th {
    width: 30%;
    text-align: left;
    padding: 8px;
    font-weight:500;
    font-size:12px;
    padding-top:10px;
    padding-bottom:10px
  }
  .pna-office__table td {
    font-size:12px;
    font-weight:500;
    padding: 4px;
    line-height:1.7;
    padding-top:10px;
    padding-bottom:10px
  }
  .na-office__table th {
    width: 30%;
    padding: 0 0 0px;
    padding-left: 0px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.9;
    vertical-align: top;
    padding: 8px;
    font-weight: 500;
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .na-office__table td {
    font-size: 12px;
    width: 70%;
    padding:0px;
    padding: 4px;
    line-height: 1.7;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  .na-office__map {
    height: 190px;
    margin-top: 32px;
  }
  .na-office__grid {
    display: block;
    margin-top: 62px;
  }
  .na-office__grid .na-office__block + .na-office__block {
    margin-top: 62px;
  }
  .na-office__grid .na-office__title {
    margin: 16px 0 28px;
  }
  .na-office__table1 {
    margin-bottom: auto;
  }
  .na-office__grid .na-office__map {
    margin-top: 32px;
  }
}
.p-allArchive__link:hover .p-allArchive__thumb img {
  transform: scale(1);
}
.p-allArchive__link:hover {
  transition:0.3s
}
.p-allArchive__link:hover .p-allArchive__thumb img {
  transform: scale(1)!important;
}
.pagetop-home-icon {
  color: #A952D9 !important;
}
.pagetop-current {
  color:#101A51!important
}
.nagomi-faq-message,
.nagomi-faq-message * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-faq-message {
  position: relative;
  width: 100%;
  min-height: 870px;
  overflow: hidden;
  display: flex;
  align-items: center;
  object-position:bottom;
  justify-content: center;
}
.nagomi-faq-message__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.nagomi-faq-message__title span {
  color:#FF64AC
}
.nagomi-faq-message__bg::after {
  content: "";
  position: absolute;
  inset: 0;
}
.nagomi-faq-message__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-faq-message__inner {
  position: relative;
  z-index: 2;
  max-width: 1250px;
  width: calc(100% - 40px);
  margin: 0 auto;
  padding: 58px 0 55px;
  text-align: center;
}
.nagomi-faq-message__title {
  margin: 0 0 50px;
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.55;
  text-align:center;
  letter-spacing:0.08em
}
.nagomi-faq-message__text {
  color: #101A51;
  font-size: 20px;
  font-weight: 500;
  line-height: 2;
}
.nagomi-faq-message__text p {
  margin: 0;
  text-align:center
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-faq-message {
    min-height: 500px;
  }
  .nagomi-faq-message__bg img {
    object-position: center bottom;
  }
  .nagomi-faq-message__inner {
    width: 100%;
  }
  .nagomi-faq-message__title {
    margin-bottom: 26px;
    font-size: 24px;
    line-height: 1.65;
  }
  .nagomi-faq-message__text {
    font-size: 15px;
    line-height: 2;
    text-align: left;
  }
  .nagomi-faq-message__text p {
    display: inline;
  }
}
.nagomi-faq-contact,
.nagomi-faq-contact * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-faq-contact {
  width: 100%;
  padding: 70px 0 50px;
  color: #1f1f1f;
  border-radius: 50px 50px 0px 0px;
  z-index: 10;
  position: relative;
  top: -40px;
  background-color: #fff;
}
.nagomi-faq-contact__inner {
  max-width: 1250px;
  width: calc(100% - 40px);
  margin: 0 auto;
  text-align: center;
}
.nagomi-faq-contact__head {
  margin-bottom: 34px;
}
.nagomi-faq-contact__en {
  margin: 0 0 8px;
  color: #2C385E;
  font-size: 39px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
  font-family: Arial, Helvetica, sans-serif;
}
.nagomi-faq-contact__ja {
  margin: 0;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}
.nagomi-faq-contact__lead {
  margin-bottom: 50px;
  color: #101A51;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.9;
  margin-top:45px
}
.nagomi-faq-contact__lead p {
  margin: 0;
}
.nagomi-faq-contact__telBox {
  width: 1100px;
  max-width: 100%;
  margin: 0 auto;
  border: 3px solid #A952D9;
  background: #fff;
  border-radius:20px 20px 20px 20px
}
.nagomi-faq-contact__telHead {
  width: 100%;
  padding: 18px 20px 18px;
  background: #A952D9;
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
  border-radius:15px 15px 0px 0px
}
.nagomi-faq-contact__tel {
  display: inline-flex;
  align-items: end;
  justify-content: center;
  gap: 8px;
  margin-top: 25px;
  color: #A952D9;
  text-decoration: none;
  line-height: 1;
}
.nagomi-faq-contact__telNumber {
  color:#A952D9;
  font-size: 64px;
  font-weight: 700;
  line-height:unset;
}
.nagomi-faq-contact__time {
  margin: 12px 0 25px;
  color: #101A51;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.nagomi-faq-contact__marker {
  display: inline;
  background: linear-gradient(transparent 58%, #FFE1E3 50%, #FFE1E3 100%, transparent 100%);
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-faq-contact {
    padding: 36px 0 36px;
  }
  .nagomi-faq-contact__inner {
    width: calc(100% - 36px);
  }
  .nagomi-faq-contact__head {
    margin-bottom: 28px;
  }
  .nagomi-faq-contact__en {
    margin-bottom: 8px;
    font-size: 32px;
  }
  .nagomi-faq-contact__ja {
    font-size: 13px;
  }
  .nagomi-faq-contact__lead {
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
  }
  .nagomi-faq-contact__telBox {
    border-width: 2px;
  }
  .nagomi-faq-contact__telHead {
    padding: 12px 12px;
    font-size: 18px;
  }
  .nagomi-faq-contact__tel {
    gap: 6px;
    margin-top: 18px;
  }
  .nagomi-faq-contact__telIcon svg {
    width: 18px;
    height: 18px;
  }
  .nagomi-faq-contact__telNumber {
    font-size: 30px;
  }
  .nagomi-faq-contact__time {
    margin: 11px 8px 16px;
    font-size: 11px;
  }
}
.nagomi-faq-contact__telIconImg {
  width: 56px;
  height: 56px;
  display: inline-block;
  flex: 0 0 auto;
}
.nagomi-faq-contact__telIconImg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
  .nagomi-faq-contact__telIconImg {
    width: 25px;
    height: 25px;
  }
  .confirm-head {
    text-align: center;
    padding: 20px 0px 40px;
  }
  .submit-wrap input[type="submit"] {
    margin-left:0px
  }
  .sp-br {
    display:none
  }
}
.thanks-btn {
  display: inline-block;
  background: #2C385E;
  color: #fff;
  padding: 14px 32px;
  border-radius: 0px;
  text-decoration: none;
}
.recruit-slide {
  border-radius:0px
}
@media screen and (min-width: 767px) {
  .spnomikaigyou {
    display:none
  }
}
.nagomi-service {
  padding-bottom:150px
}
.nagomi-service__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding:0px 20px;
}
.nagomi-service__line {
  position: relative;
  width: 100%;
  height: 2px;
  background: #415379;
  margin-bottom: 50px;
  margin-top:80px
}
.nagomi-service__line::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0px;
  width: 56px;
  height: 4px;
  background: #415379;
}
.nagomi-service__topBody {
  display: grid;
  grid-template-columns: 1fr 575px;
  align-items: start;
  gap: 58px;
}
.nagomi-service__topText {
  padding-top: 17px;
}
.nagomi-service__title {
  margin: 0 0 18px;
  color: #1f1f1f;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.45;
}
.nagomi-service__topText p {
  margin: 0 0 11px;
  color: #1f1f1f;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.85;
}
.nagomi-service__topImg {
  width: 100%;
}
.nagomi-service__topImg img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.nagomi-service__case {
  margin-top: 65px;
}
.nagomi-service__caseHead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 31px;
  margin-bottom: 50px;
}
.nagomi-service__caseHead span {
  width: 73px;
  height: 2px;
  background: #2C385E;
}
.nagomi-service__caseHead h3 {
  margin: 0;
  color: #2C385E;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.4;
}
.nagomi-service__caseBody {
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 60px;
  align-items: center;
}
.nagomi-service__caseImg img {
  width: 100%;
  height: 550px;
  display: block;
  object-fit: cover;
}
.nagomi-service__caseContent {
  padding-top: 1px;
}
.nagomi-service__caseTitle {
  margin: 0 0 25px;
  color: #1f1f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
.nagomi-service__caseItem {
  margin-bottom: 18px;
}
.nagomi-service__caseLabel {
  display: inline-block;
  min-width: 93px;
  margin: 0 0 10px;
  padding: 7px 12px 7px;
  background: #CDD0D6;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  text-align:center
}
.nagomi-service__caseText {
  margin: 0;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.78;
}
.nagomi-service__title span {
  color:#415379
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-service {
    padding-bottom:80px
  }
  .nagomi-service__line {
    height: 1px;
    margin-bottom: 24px;
  }
  .nagomi-service__line::before {
    width: 36px;
    height: 3px;
    top: -1px;
  }
  .nagomi-service__topBody {
    display: flex;
    flex-direction: column-reverse;
    gap: 20px;
  }
  .nagomi-service__topText {
    padding-top: 0;
  }
  .nagomi-service__title {
    margin-bottom: 13px;
    font-size: 20px;
  }
  .nagomi-service__topText p {
    font-size: 15px;
    line-height: 1.85;
  }
  .nagomi-service__topImg img {
    height: auto;
    aspect-ratio: 335 / 170;
  }
  .nagomi-service__case {
    margin-top: 44px;
  }
  .nagomi-service__caseHead {
    gap: 18px;
    margin-bottom: 28px;
  }
  .nagomi-service__caseHead span {
    width: 48px;
    height: 1px;
  }
  .nagomi-service__caseHead h3 {
    font-size: 21px;
    text-align:center
  }
  .nagomi-service__caseBody {
    display: flex;
    flex-direction: column;
    gap: 24px;
  }
  .nagomi-service__caseImg {
    order: 1;
  }
  .nagomi-service__caseContent {
    order: 2;
    padding-top: 0;
  }
  .nagomi-service__caseImg img {
    height: auto;
  }
  .nagomi-service__caseTitle {
    margin-bottom: 15px;
    font-size: 18px;
  }
  .nagomi-service__caseItem {
    margin-bottom: 17px;
  }
  .nagomi-service__caseLabel {
    margin-bottom: 9px;
    padding: 5px 11px;
    font-size: 12px;
  }
  .nagomi-service__caseText {
    font-size: 13px;
    line-height: 1.8;
  }
  .nagomi-service__caseText br {
    display: none;
  }
}
.nagomi-service__inner .faq-tabs {
  margin-top:20px
}
.nago-recruit {
  padding-bottom:0px
}
.nagomi-culumn__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 34px;
}
.nagomi-culumn__item {
  width: 100%;
}
.nagomi-culumn__img {
  width: 100%;
  margin-bottom: 21px;
  overflow: hidden;
}
.nagomi-culumn__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.nagomi-culumn__body {
  width: 100%;
}
.nagomi-culumn__name {
  display: flex;
  align-items: baseline;
  gap: 24px;
  margin: 0 0 8px;
  color: #1f1f1f;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.35;
}
.nagomi-culumn__position,
.nagomi-culumn__person {
  display: inline-block;
}
.nagomi-culumn__license {
  margin: 0;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.service-cardd {
  margin-top:60px;
  margin-bottom:130px
}
.nagomi-service-section {
  padding-bottom:130px
}
/* SP */
@media screen and (max-width: 767px) {
  .service-cardd {
    margin-top:60px;
    margin-bottom:0px
  }
  .nagomi-service-section {
    padding-bottom:80px
  }
  .nagomi-culumn__list {
    display: block;
  }
  .nagomi-culumn__item + .nagomi-culumn__item {
    margin-top: 38px;
  }
  .nagomi-culumn__img {
    margin-bottom: 17px;
  }
  .nagomi-culumn__img img {
    height: auto;
    aspect-ratio: 335 / 420;
  }
  .nagomi-culumn__name {
    gap: 18px;
    margin-bottom: 7px;
    font-size: 20px;
  }
  .nagomi-culumn__license {
    font-size: 15px;
    line-height: 1.7;
  }
  .pc-img {
    display:none
  }
}
@media screen and (min-width: 767px) {
  .sp-img {
    display:none
  }
}
.nagomi-point,
.nagomi-point * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-point {
  width: 100%;
  padding: 38px 0 63px;
  color: #2C385E;
}
.nagomi-point__inner {
  max-width: 1100px;
  margin: 0 auto;
}
.nagomi-point__title {
  margin: 0 0 51px;
  color: #2C385E;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
.nagomi-point__grid {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px 30px;
}
.nagomi-point__item {
  height: 300px;
  padding: 25px 14px 25px;
  background: #C6A357;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
}
.nagomi-point__icon {
  width: 142px;
  height: 132px;
  margin: 0 auto 22px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nagomi-point__icon img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
}
.nagomi-point__text {
  margin: auto 0 0;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  margin-top:0px
}
.nagomi-point__text1 {
  margin-top:25px
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-point {
    padding: 34px 0 50px;
  }
  .contact {
    padding: 20px 0;
  }
  .nagomi-point__inner {
    width: calc(100% - 32px);
  }
  .nagomi-point__title {
    margin-bottom: 30px;
    font-size: 23px;
    line-height: 1.55;
  }
  .nagomi-point__grid {
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
  .nagomi-point__item {
    height: auto;
    min-height: 166px;
    padding: 18px 8px 15px;
  }
  .nagomi-point__text1 {
    margin-top: 15px;
  }
  .nagomi-point__icon {
    width: 70px;
    height: 70px;
    margin-bottom: 13px;
  }
  .nagomi-point__text {
    font-size: 14px;
    line-height: 1.5;
  }
}
.nagomi-area,
.nagomi-area * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-area {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
}
/* 背景画像：地図込みの1枚画像 */
.nagomi-area__bg {
  position: relative;
  z-index: 1;
  width: 100%;
}
.nagomi-area__bg img {
  width: 100%;
  height: auto;
  display: block;
}
/* 背景の上に中身を重ねる */
.nagomi-area__inner {
  position: absolute;
  inset: 0;
  z-index: 2;
  max-width: 1250px;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  /* ← 横並び防止 */
  align-items: center;
  justify-content: center;
  /* ← 上下中央 */
}
/* アイコンエリア */
.nagomi-area__items {
  justify-content: center;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  column-gap: 24px;
  row-gap: 22px;
  justify-items: center;
  align-items: center;
  margin-top:30px
}
/* 丸アイコン共通 */
.nagomi-area__item {
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: #2C385E;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
/* 上段2個 */
.nagomi-area__item--market {
  grid-column: 2 / span 2;
  grid-row: 1;
}
.nagomi-area__item--people {
  grid-column: 4 / span 2;
  grid-row: 1;
}
/* 下段3個 */
.nagomi-area__item--school {
  grid-column: 1 / span 2;
  grid-row: 2;
}
.nagomi-area__item--traffic {
  grid-column: 3 / span 2;
  grid-row: 2;
}
.nagomi-area__item--facility {
  grid-column: 5 / span 2;
  grid-row: 2;
}
.nagomi-area__icon {
  width: 170px;
  height: 94px;
  margin: 0 auto 25px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nagomi-area__icon img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
}
.nagomi-area__item p {
  margin: 0;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
}
.nagomi-point {
  position:relative;
  top:-100px;
  z-index:100;
  padding-top:0px
}
.dakara-img {
  width:240px;
  text-align:center;
  margin:0 auto;
  margin-bottom:40px
}
.about-message {
  padding:120px 20px;
}
.about-message-inner {
  max-width:1250px;
  margin:0 auto
}
.about-message .service-cardd {
  margin-bottom:0px
}
.contact-title {
  color:#2C385E
}
/* =========================
  SP
========================= */
@media screen and (max-width: 767px) {
  .nagomi-area {
    min-height: auto;
  }
  .brsp {
    display:none
  }
  .nagomi-area__bg {
    position: absolute;
    inset: 0;
    height: 100%;
  }
  .nagomi-area__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
  .nagomi-area__inner {
    position: relative;
    inset: auto;
    left: auto;
    transform: none;
    width: 100%;
    height: auto;
    padding: 60px 18px 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
  .nagomi-area__items {
    width: 100%;
    max-width: 360px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-top:4px
  }
  .nagomi-area__item {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
  }
  .nagomi-area__item--market,
  .nagomi-area__item--people,
  .nagomi-area__item--school,
  .nagomi-area__item--traffic,
  .nagomi-area__item--facility {
    grid-column: auto;
    grid-row: auto;
  }
  .nagomi-area__item--facility {
    grid-column: 1 / 3;
    width: calc((100% - 14px) / 2);
    margin: 0 auto;
  }
  .nagomi-area__icon {
    width: 68px;
    height: 58px;
    margin-bottom: 9px;
  }
  .dakara-img {
    width:140px;
    text-align:center;
    margin:0 auto;
    margin-bottom:30px
  }
  .nagomi-point {
    position:relative;
    top:-60px;
    z-index:100;
    padding-top:0px
  }
  .nagomi-area__item p {
    font-size: 15px;
    line-height: 1.4;
  }
}
.nagomi-about-media,
.nagomi-about-media * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-about-media {
  width: 100%;
  padding: 24px 0 100px;
  color: #1f1f1f;
}
.nagomi-about-media__inner {
  max-width: 1250px;
  margin: 0 auto;
}
.nagomi-about-media__item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 65px;
  align-items: start;
  margin-bottom: 80px;
}
.nagomi-about-media__item:last-child {
  margin-bottom: 0;
}
.nagomi-about-media__item--reverse .nagomi-about-media__img {
  order: 2;
}
.nagomi-about-media__item--reverse .nagomi-about-media__body {
  order: 1;
}
.nagomi-about-media__img {
  width: 100%;
}
.nagomi-about-media__img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.nagomi-about-media__body {
  width: 100%;
  padding-top: 3px;
}
.nagomi-about-media__title {
  margin: 0 0 19px;
  color: #2C385E;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
}
.nagomi-about-media__text {
  margin: 0;
  color: #1f1f1f;
  font-size: 17.5px;
  font-weight: 500;
  line-height: 2;
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-about-media {
    padding: 50px 0 50px;
  }
  .about-message {
    padding: 80px 20px;
  }
  .nagomi-about-media__inner {
    padding:0px 20px
  }
  .nagomi-about-media__item {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin-bottom: 42px;
  }
  .nagomi-about-media__item--reverse .nagomi-about-media__img,
  .nagomi-about-media__item--reverse .nagomi-about-media__body {
    order: initial;
  }
  .nagomi-about-media__img {
    order: 1;
  }
  .nagomi-about-media__body {
    order: 2;
    padding-top: 0;
  }
  .nagomi-about-media__img img {
    height: auto;
  }
  .nagomi-about-media__title {
    margin-bottom: 12px;
    font-size: 20px;
  }
  .nagomi-about-media__text {
    font-size: 15px;
    line-height: 1.9;
  }
  .nagomi-about-media__text br {
    display: none;
  }
}
.nagomi-service-link,
.nagomi-service-link * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-service-link {
  position: relative;
  width: 100%;
  overflow: hidden;
  color: #fff;
}
.nagomi-service-link__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.nagomi-service-link__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-service-link__inner {
  position: relative;
  z-index: 2;
  max-width: 1250px;
  margin: 0 auto;
  padding: 120px 0 150px;
}
.nagomi-service-link__head {
  margin-bottom: 34px;
  text-align: center;
}
.nagomi-service-link__en {
  margin: 0 0 11px;
  color: #fff;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.16em;
}
.nagomi-service-link__ja {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.nagomi-service-link__lead {
  margin: 0 auto 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.95;
  text-align: center;
}
.nagomi-service-link__lead p {
  margin: 0;
}
.nagomi-service-link__grid {
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 75px 35px;
}
.nagomi-service-link__card {
  position: relative;
  display: block;
  width: 100%;
  color: #2C385E;
  text-decoration: none;
}
.nagomi-service-link__img {
  width: 100%;
  overflow: hidden;
  background: #fff;
}
.nagomi-service-link__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.nagomi-service-link__btn span:first-child {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
}
.nagomi-service-link__arrow {
  position: relative;
  width: 37px;
  height: 13px;
  flex: 0 0 auto;
}
.nagomi-service-link__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 37px;
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-service-link__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 12px;
  height: 12px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.nagomi-service-link__card:hover .nagomi-service-link__btn {
  background: #2C385E;
  color: #fff;
}
.nagomi-service-link__card:hover .nagomi-service-link__img img {
  opacity: 0.7;
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-service-link__inner {
    padding: 70px 20px 70px;
  }
  .nagomi-service-link__head {
    margin-bottom: 28px;
  }
  .nagomi-service-link__en {
    margin-bottom: 9px;
    font-size: 40px;
  }
  .nagomi-service-link__ja {
    font-size: 18px;
  }
  .nagomi-service-link__lead {
    margin-bottom: 34px;
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
  }
  .nagomi-service-link__lead p {
    display: inline;
  }
  .nagomi-service-link__grid {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .nagomi-service-link__card {
    min-height: auto;
    padding-bottom: 27px;
  }
  .nagomi-service-link__img {
    height: auto;
  }
  .nagomi-service-link__btn {
    left: 20px;
    right: 20px;
    bottom: 0;
    height: 52px;
    padding: 0 20px 0 24px;
  }
  .nagomi-service-link__btn span:first-child {
    font-size: 14px;
  }
  .nagomi-service-link__arrow {
    width: 32px;
  }
  .nagomi-service-link__arrow::before {
    width: 32px;
  }
}
.nagomi-service-link__btn {
  position: absolute;
  left: 36px;
  right: 36px;
  bottom: -37px;
  height: 77px;
  padding: 0 62px;
  border: 2px solid #2C385E;
  background: #fff;
  color: #2C385E;
  display: flex;
  align-items: center;
  justify-content: center;
  /* テキスト中央 */
  text-align: center;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-service-link__btn span:first-child {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.nagomi-service-link__arrow {
  position: absolute;
  right: 31px;
  top: 50%;
  width: 38px;
  height: 12px;
  transform: translateY(-50%);
}
/* 横線 */
.nagomi-service-link__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 2px;
  background: currentColor;
  transform: translateY(-50%);
}
/* 上だけの斜め線 */
.nagomi-service-link__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 13px;
  height: 2px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
.nagomi-service-link__card:hover .nagomi-service-link__btn {
  background: #2C385E;
  color: #fff;
  border: 2px solid #fff;
}
@media screen and (max-width: 767px) {
  .nagomi-service-link__btn {
    left: 15px;
    right:15px;
    bottom: 0;
    height: 52px;
    padding: 0 34px;
  }
  .nagomi-service-link__btn span:first-child {
    font-size: 14px;
  }
  .nagomi-service-link__arrow {
    right: 12px;
    width: 32px;
    height: 10px;
  }
  .nagomi-service-link__arrow::before {
    width: 32px;
    height: 2px;
  }
  .nagomi-service-link__arrow::after {
    width: 11px;
    height: 2px;
  }
}
.nagomi-fv,
.nagomi-fv * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-fv {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  overflow: hidden;
  color: #fff;
}
.nagomi-fv__slider,
.nagomi-fv__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.nagomi-fv__slider {
  z-index: 1;
}
.nagomi-fv__slide {
  opacity: 0;
  transition: opacity 1.6s ease;
}
.nagomi-fv__slide.is-active {
  opacity: 1;
}
.nagomi-fv__slide img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.fv-box {
  position:absolute;
  z-index:10;
  width:450px;
  top:0;
  left:0
}
.nagomi-fv__inner {
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  padding:0px 0px
}
.nagomi-fv__catch {
  position: absolute;
  right: 0px;
  bottom: 80px;
  color: #fff;
  text-align: left;
  background-color:#0614314a;
  padding:40px;
  padding-right:70px
}
.nagomi-fv__catch h1 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.62;
  letter-spacing:30%
}
.nagomi-fv__catch p {
  margin: 0;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.85;
}
.nagomi-fv__bottom {
  position: absolute;
  bottom: 0;
}
.nagomi-fv__news {
  position: relative;
  z-index: 2;
  margin: 0 0 15px 0;
  margin-left:40px
}
.nagomi-fv__newsLink {
  width: 100%;
  height: 80px;
  display: grid;
  grid-template-columns: 140px 180px 1fr 58px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, 0.72);
  background: #FFFFFF33;
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  text-align:center;
  max-width:810px
}
.nagomi-fv__newsLabel {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #41537994;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
}
.nagomi-fv__newsDate {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
}
.nagomi-fv__newsTitle {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.nagomi-fv__newsArrow {
  position: relative;
  width: 23px;
  height: 10px;
  justify-self: center;
}
.nagomi-fv__newsArrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 23px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-fv__newsArrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 8px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
.nagomi-fv__en {
  margin: 0;
  color: rgba(255, 255, 255, 0.80);
  font-size: 96px;
  font-weight: 700;
  line-height: 0.98;
  font-family: "Almarai", sans-serif;
}
.nagomi-fv__markers {
  position: absolute;
  right: 29px;
  top: 30%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 11px;
  z-index: 4;
}
.nagomi-fv__markers span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  transition: background-color 0.4s ease, transform 0.4s ease;
}
.nagomi-fv__markers span.is-active {
  background: #061431;
}
.nagomi-fv__scroll {
  position: absolute;
  right: 24px;
  bottom: 15%;
  z-index: 4;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  color: #fff;
  gap:30px
}
.nagomi-fv__scroll span {
  writing-mode: vertical-rl;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
}
.nagomi-fv__scroll i {
  width: 1px;
  height: 200px;
  margin-top: 16px;
  background: rgba(255, 255, 255, 0.8);
}
/* =========================
  SP
========================= */
@media screen and (max-width: 767px) {
  .nagomi-fv {
    height: 100svh;
    min-height: 650px;
  }
  .pc1 {
    display:none;
  }
  .nagomi-fv__slide img {
    object-position: 80% 50% !important;
  }
  .nagomi-fv__inner {
    max-width: none;
    width: 100%;
  }
  .nagomi-fv__catch {
    position: absolute;
    right: 0px;
    bottom: 100px;
    color: #fff;
    text-align: left;
    background-color: #0614314f;
    padding: 20px;
    padding-right: 20px;
  }
  .nagomi-fv__catch h1 {
    margin: 0 0 16px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.62;
    letter-spacing:30%
  }
  .nagomi-fv__catch p {
    font-size: 13px;
    line-height: 1.8;
  }
  .nagomi-fv__bottom {
    left: 0px;
    right: 0px;
    bottom: 24px;
    width: 97%;
    margin:0 auto
  }
  .nagomi-fv__news {
    width: 100%;
    margin: 0;
  }
  .nagomi-fv__newsLink {
    height: 50px;
    grid-template-columns: 90px 0 1fr 48px;
    background: rgba(255, 255, 255, 0.18);
  }
  .nagomi-fv__newsLabel {
    font-size: 14px;
    background: #41537994;
  }
  .nagomi-fv__newsDate {
    display: none;
  }
  .nagomi-fv__newsTitle {
    padding-left: 16px;
    font-size: 14px;
  }
  .nagomi-fv__newsArrow {
    width: 32px;
    position:absolute;
    right:5px;
  }
  .nagomi-fv__newsArrow::before {
    width: 32px;
  }
  .nagomi-fv__newsArrow::after {
    width: 11px;
  }
  .nagomi-fv__en {
    position: absolute;
    left: 0px;
    top: 43px;
    margin: 0;
    writing-mode: sideways-lr;
    text-orientation: mixed;
    font-size: 30px;
    line-height: 1.15;
    transform: rotate(180deg);
    z-index: 10;
  }
  .nagomi-fv__markers {
    right: 15px;
    top: 18%;
    gap: 10px;
  }
  .nagomi-fv__markers span {
    width: 7px;
    height: 7px;
  }
  .nagomi-fv__scroll {
    right: 14px;
    bottom: 35%;
  }
  .nagomi-fv__scroll span {
    font-size: 12px;
  }
  .nagomi-fv__scroll i {
    height: 120px;
    margin-top: 15px;
  }
}
@media screen and (min-width: 767px) {
  .sp1 {
    display:none;
  }
}
.nagomi-fv__newsTitleSp {
  display: none;
}
@media screen and (max-width: 767px) {
  .nagomi-fv__newsTitlePc {
    display: none;
  }
  .fv-box {
    position: absolute;
    z-index: 10;
    width: 180px;
    top: 0;
    left: 0;
  }
  .nagomi-fv__newsTitleSp {
    display: inline;
  }
}
.nagomi-fv__dots {
  letter-spacing: -0.28em;
}
.nagomi-top-about,
.nagomi-top-about * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-top-about {
  width: 100%;
  padding: 0 0 90px;
  color: #1f1f1f;
  overflow: hidden;
  position:relative
}
.top-contactsection {
  position:relative;
}
.nagomi-about-wrap {
  top:-110px;
  z-index:5!important
}
.nagomi-about-wrap .recruit--bg-text {
  font-size:200px
}
.nagomi-top-about__inner {
  position: relative;
  min-height: 880px;
  margin: 0 auto;
}
.nagomi-top-about__leftImg {
  position: absolute;
  left: 0;
  bottom:0;
  width: 170px;
  height: 400px;
  z-index: 3;
  overflow: hidden;
}
.nagomi-top-about__leftImg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-top-about__content {
  position: absolute;
  left: 200px;
  top: 76px;
  z-index: 4;
  z-index: 6;
  padding: 0px 40px 50px 0px
}
.nagomi-top-about__en {
  margin: 0 0 30px;
  color: #101A51;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-top-about__title {
  margin: 0 0 45px;
  color: #101A51;
  font-size: 45px;
  font-weight: 700;
  line-height: 1.55;
}
.nagomi-top-about__text {
  color: #101A51;
  font-size: 20px;
  font-weight: 700;
  line-height: 2.05;
}
.nagomi-top-about__text p {
  margin: 0 0 28px;
}
.nagomi-top-about__text p:last-child {
  margin-bottom: 0;
}
.nagomi-top-about__visual {
  right: 0px;
  top: 90px;
  z-index: 5;
  width: 370px;
  height: 420px;
}
.nagomi-top-about__view {
  position: absolute;
  right: 19%;
  top: 0;
  width: 28%;
  height: auto;
  overflow: hidden;
}
.nagomi-top-about__view img,
.nagomi-top-about__house img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-top-about__house {
  position: absolute;
  right: 0;
  bottom:0;
  width: 18%;
  height: auto;
  overflow: hidden;
}
.nagomi-top-about__bgBox {
  position: absolute;
  right: 0;
  bottom: 5%;
  width: 65%;
  height: 290px;
  background: #edf0f7bf;
  z-index: 1;
}
.nagomi-top-about__btnWrap {
  position: absolute;
  left: 50%;
  bottom: 90px;
  z-index: 6;
  transform: translateX(-50%);
}
.nagomi-top-about__btn {
  width: 355px;
  height: 66px;
  padding: 0 55px;
  background: #2C385E;
  border: 2px solid #2C385E;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-top-about__btn:hover {
  background: #fff;
  color: #2C385E;
}
.nagomi-top-about__arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  width: 38px;
  height: 12px;
  transform: translateY(-50%);
}
.nagomi-top-about__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-top-about__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 13px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-top-about {
    padding: 42px 0 54px;
  }
  .nagomi-about-wrap {
    top: -45px;
    z-index: 5 !important;
  }
  .nagomi-top-about__inner {
    min-height: auto;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
  }
  .nagomi-top-about__leftImg,
  .nagomi-top-about__content,
  .nagomi-top-about__visual,
  .nagomi-top-about__bgBox,
  .nagomi-top-about__btnWrap {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
  }
  .nagomi-top-about__leftImg {
    order: 1;
    width: 46%;
    height: auto;
    margin: 0 0 -80px;
    z-index: 2;
  }
  .nagomi-top-about__content {
    order: 2;
    width: 100%;
    padding: 0px 20px;
    z-index: 4;
  }
  .nagomi-top-about__en {
    margin-bottom: 16px;
    font-size: 16px;
  }
  .nagomi-top-about__leftImg {
    display:none;
  }
  .nagomi-top-about__title {
    margin-bottom: 24px;
    font-size: 23px;
    line-height: 1.55;
  }
  .nagomi-top-about__text {
    font-size: 15px;
    line-height: 1.9;
  }
  .nagomi-top-about__text p {
    margin-bottom: 20px;
  }
  .nagomi-top-about__text br {
  }
  .nagomi-top-about__visual {
    order: 3;
    width: 100%;
    height: 315px;
    margin-top: 10px;
  }
  .nagomi-top-about__view {
    right: auto;
    left: 0;
    top: 0;
    width: 68%;
    height: auto;
  }
  .nagomi-top-about__house {
    right: 0;
    top: 85px;
    width: 58%;
    height: auto;
  }
  .nagomi-top-about__bgBox {
    position: absolute;
    right: -18px;
    bottom: 78px;
    width: 92%;
    height: 280px;
    z-index: 1;
  }
  .nagomi-top-about__btnWrap {
    order: 4;
    width: 100%;
    margin-top: 34px;
    z-index: 5;
  }
  .nagomi-top-about__btn {
    width: 100%;
    max-width: 325px;
    height: 54px;
    margin: 0 auto;
    padding: 0 54px;
    font-size: 14px;
  }
  .nagomi-top-about__arrow {
    right: 22px;
    width: 34px;
  }
  .nagomi-top-about__arrow::before {
    width: 34px;
  }
}
.top-contactsection__panel .submit-wrap input[type="submit"] {
  border:solid;
  width:330px;
  font-size:24px;
  padding:25px
}
.pc-tel-btn {
  width:250px;
  margin-right:24px
}
.pc-tel-btn:hover {
  transition:0.3s;
  opacity:0.3
}
..pc-menu {
  align-items:center!important
}
@media screen and (max-width: 767px) {
  .nagomi-top-about__inner {
    width: 100%;
    max-width: none;
    min-height: auto;
    margin: 0;
  }
  .top-contactsection__panel .submit-wrap input[type="submit"] {
    border:solid;
    width:330px;
    font-size:14px;
    padding:20px
  }
  .pc-menu .pc-tel-btn {
    display:none
  }
  .nagomi-top-about__btnWrap {
    order: 4;
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: calc(100% - 36px);
    margin: 34px auto 0;
    z-index: 5;
  }
  .nagomi-top-about__btn {
    margin: 0 auto;
  }
}
.footer-nav a:hover {
  color:#ED4B56!important
}
.voice-prev {
  background-image: url(http://shiro-koubou.com/wp-content/uploads/2026/04/Vector-51-5.png)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  background-size: 12px 16px!important;
  font-size: 0;
}
.voice-next {
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/04/Vector-51-4.png")!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  background-size: 12px 16px!important;
  font-size: 0!important;
}
.loading-logo img {
  width: 300px !important;
  margin-bottom: 90px !important;
}
.pc-line {
  background-color:#1E8A2A
}
.pc-line .line-icon-bg {
  fill: #ffffff;
}
.pc-line .line-icon-dot {
  fill: #1E8A2A;
}
.pc-cta {
  gap:11px;
  margin-right:20px
}
.pc-line:hover .line-icon-bg {
  fill: #1E8A2A;
}
.pc-line:hover .line-icon-dot {
  fill: #ffffff;
}
@media screen and (max-width: 1530px) {
  .pc-nav-list span {
    font-size: 13px!important;
    font-weight: 500;
  }
  .pc-nav-list li {
    width: auto;
    padding-left: 0px!important;
    padding-right: 0px!important;
    display: flex;
    align-items: center;
  }
  .pc-tel-btn {
    width: 220px;
    margin-right: 20px;
  }
}
.nagomi-feature,
.nagomi-feature * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-feature {
  width: 100%;
  padding: 0 0 68px;
  overflow: hidden;
  background: #fff;
  color: #1f1f1f;
}
.nagomi-feature__inner {
  width: 100%;
}
/* =========================
  2カラム共通
========================= */
.nagomi-feature__row {
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 50% 50%;
  align-items: start;
}
.nagomi-feature__row--01 {
  padding-top: 40px;
}
.nagomi-feature__row--02 {
  margin-top: 80px;
}
.nagomi-feature__row--03 {
  margin-top: 80px;
}
.nagomi-feature__text {
  position: relative;
  z-index: 4;
  width: 100%;
}
.nagomi-feature__textInner {
  max-width: 650px;
}
.nagomi-feature__row--01 .nagomi-feature__textInner,
.nagomi-feature__row--03 .nagomi-feature__textInner {
  margin-left: 20%;
}
.nagomi-feature__inner .nagomi-service__line {
  margin-top: 20px;
}
.nagomi-feature__row--02 .nagomi-feature__textInner {
  margin-left: 13%;
}
.nagomi-feature__image {
  position: relative;
  z-index: 3;
  width: 100%;
  overflow: hidden;
}
.nagomi-feature__image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
/* 02だけ画像左・テキスト右 */
.nagomi-feature__row--02 .nagomi-feature__image {
  grid-column: 1;
  grid-row: 1;
}
.nagomi-feature__row--02 .nagomi-feature__text {
  grid-column: 2;
  grid-row: 1;
}
/* 01/03はテキスト左・画像右 */
.nagomi-feature__row--01 .nagomi-feature__text,
.nagomi-feature__row--03 .nagomi-feature__text {
  grid-column: 1;
}
.nagomi-feature__row--01 .nagomi-feature__image,
.nagomi-feature__row--03 .nagomi-feature__image {
  grid-column: 2;
}
/* =========================
  テキスト
========================= */
.nagomi-feature__line {
  width: 422px;
  height: 2px;
  margin-bottom: 20px;
  background: linear-gradient( to right, #2C385E 0, #2C385E 49px, #8d98ad 49px, #8d98ad 100% );
}
.nagomi-feature__title {
  margin: 0 0 31px;
  color: #2C385E;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.55;
}
.nagomi-feature__text p {
  margin: 0 0 27px;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.15;
}
.nagomi-feature__text p:last-child {
  margin-bottom: 0;
}
/* =========================
  透過ボックス
========================= */
.nagomi-feature__deco {
  position: absolute;
  z-index: 2;
  background: #0614312e;
  pointer-events: none;
}
.nagomi-feature__deco--01 {
  left: 12.3%;
  top: -140px;
  width: 234px;
  height: 331px;
  z-index:10
}
.nagomi-feature__deco--02 {
  right: 0;
  top: -160px;
  width: 33%;
  height: 360px;
  z-index:10
}
.nagomi-feature__deco--03 {
  left: 0;
  bottom: -160px;
  width: 230px;
  height: 330px;
}
/* =========================
  ボタン
========================= */
.nagomi-feature__btnWrap {
  position: relative;
  z-index: 5;
  width: 100%;
  margin-top: 80px;
  text-align: center;
}
.nagomi-feature__btn {
  width: 355px;
  height: 66px;
  padding: 0 55px;
  background: #2C385E;
  border: 2px solid #2C385E;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-feature__btn:hover {
  background: #fff;
  color: #2C385E;
}
.nagomi-feature__arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  width: 38px;
  height: 12px;
  transform: translateY(-50%);
}
.nagomi-feature__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-feature__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 13px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
/* =========================
  SP
========================= */
@media screen and (max-width: 767px) {
  .nagomi-feature {
    padding: 0 0 37px;
  }
  .nagomi-feature__row {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding-top: 0;
  }
  .nagomi-feature__row--01,
  .nagomi-feature__row--02,
  .nagomi-feature__row--03 {
    margin-top: 0;
  }
  .nagomi-feature__row + .nagomi-feature__row {
    margin-top: 23px;
  }
  .nagomi-feature__text {
    order: 1;
    width: calc(100% - 20px);
    margin: 0 auto;
  }
  .nagomi-feature__textInner {
    width: 100%;
    margin-left: 0 !important;
  }
  .nagomi-feature__image {
    order: 2;
    width: calc(100% - 20px);
    margin: 17px auto 0;
  }
  .nagomi-feature__image img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .nagomi-feature__line {
    width: 100%;
    height: 1px;
    margin-bottom: 10px;
    background: linear-gradient( to right, #2C385E 0, #2C385E 42px, #8d98ad 42px, #8d98ad 100% );
  }
  .nagomi-feature__inner .nagomi-service__line {
    margin-top:10px
  }
  .nagomi-feature__row--03 {
    margin-bottom:60px!important
  }
  .nagomi-feature__title {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.45;
  }
  .nagomi-feature__text p {
    margin-bottom: 16px;
    font-size: 15px;
    font-weight: 500;
    line-height: 2.05;
  }
  .nagomi-feature__deco--01 {
    left: auto;
    right: 0;
    top: auto;
    bottom: 35px;
    width: 135px;
    height: 110px;
  }
  .nagomi-feature__deco--02 {
    right: 0;
    top: auto;
    bottom: 35px;
    width: 135px;
    height: 110px;
  }
  .nagomi-feature__deco--03 {
    display: none;
  }
  .nagomi-feature__btnWrap {
    margin-top: 24px;
    padding: 0 10px;
  }
  .nagomi-feature__btn {
    width: 100%;
    max-width: 319px;
    height: 47px;
    font-size: 13px;
  }
  .nagomi-feature__text p br {
    display:none
  }
  .nagomi-feature__arrow {
    right: 19px;
    width: 34px;
  }
  .nagomi-feature__arrow::before {
    width: 34px;
  }
}
.nagomi-services,
.nagomi-services * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-services {
  width: 100%;
  background: #FFF7E7;
  color: #1f1f1f;
  padding: 66px 0 66px;
  overflow: visible;
}
.nagomi-services__inner {
  width: 100%;
  display: grid;
  grid-template-columns: 27% 73%;
  align-items: start;
}
.nagomi-services__side {
  position: relative;
  min-height: 100%;
  padding-left: 61px;
}
.nagomi-services__sideInner {
  position: sticky;
  top: 110px;
}
.nagomi-services__en {
  margin: 0 0 25px;
  color: #2C385E;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-services__ja {
  margin: 0 0 30px;
  color: #1f1f1f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
}
.nagomi-services__sideBtn {
  width: 231px;
  height: 55px;
  padding: 0 39px 0 25px;
  background: #061431;
  border: 2px solid #061431;
  color: #fff;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-services__sideBtn:hover {
  background: #fff;
  color: #061431;
}
.nagomi-services__arrow {
  position: absolute;
  right: 17px;
  top: 50%;
  width: 27px;
  height: 10px;
  transform: translateY(-50%);
}
.nagomi-services__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 27px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-services__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 9px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
.nagomi-services__content {
  width: 100%;
}
.nagomi-services__item {
  width: 100%;
  min-height: 254px;
  padding: 40px 40px 40px 40px;
  background: #fff;
  display: grid;
  grid-template-columns: 50% minmax(0, 1fr);
  align-items: center;
  column-gap: 40px;
  padding-left: 65px;
}
.nagomi-services__item + .nagomi-services__item {
  margin-top: 16px;
}
.nagomi-services__image {
  width: 100%;
  height: auto;
  overflow: hidden;
}
.nagomi-services__image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
/* =========================
  番号・タイトル・本文
========================= */
.nagomi-services__body {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  column-gap: 22px;
  row-gap: 18px;
  align-items: start;
  max-width: 600px;
}
.nagomi-services__numBox {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.nagomi-services__service {
  display: block;
  margin: 0 0 4px;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-services__num {
  display: inline-block;
  color: #1f1f1f;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  border-bottom: none;
  padding-bottom: 0;
}
.nagomi-services__num::after {
  content: "";
  display: block;
  width: 22px;
  /* 下線の長さはここで調整 */
  height: 2px;
  margin-top: 10px;
  background: #1f1f1f;
}
.nagomi-services__title {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  align-self: center;
  margin: 0 0 8px;
  color: #1f1f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
.nagomi-services__text {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  margin: 0;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-services {
    padding: 60px 0 60px;
  }
  .nagomi-services__inner {
    display: block;
    width: 100%;
  }
  .nagomi-services__side {
    padding-left: 16px;
    margin-bottom: 18px;
  }
  .nagomi-services__sideInner {
    position: static;
  }
  .nagomi-services__en {
    margin-bottom: 7px;
    font-size: 44px;
    line-height: 1;
  }
  .nagomi-services__ja {
    font-size: 15px;
  }
  .nagomi-services__sideBtn {
    display: none;
  }
  .nagomi-services__content {
    width: calc(100% - 20px);
    margin: 0 auto;
  }
  .nagomi-services__item {
    width: 100%;
    min-height: 0;
    padding: 25px 20px 25px;
    display: block;
    background: #fff;
  }
  .nagomi-services__item + .nagomi-services__item {
    margin-top: 22px;
  }
  .nagomi-services__image {
    width: 100%;
    height: auto;
    margin-bottom: 18px;
  }
  .nagomi-services__body {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 17px;
    row-gap: 15px;
    max-width: none;
  }
  .nagomi-services__numBox {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    margin-bottom: 0;
  }
  .nagomi-services__service {
    margin-bottom: 6px;
    font-size: 13px;
  }
  .nagomi-services__num {
    display: inline-block;
    border-bottom: none;
    font-size: 41px;
    line-height: 1;
  }
  .nagomi-services__num::after {
    width: 23px;
    /* SPの下線長さ */
    height: 2px;
    margin-top: 8px;
  }
  .nagomi-services__title {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    align-self: center;
    margin: 0 0 4px;
    font-size: 20px;
    line-height: 1.5;
  }
  .nagomi-services__text {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
    font-size: 15px;
    font-weight: 500;
    line-height: 2.05;
  }
  .nagomi-services__text br {
    display: none;
  }
}
.nagomi-cases,
.nagomi-cases * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.nagomi-cases {
  position: relative;
  width: 100%;
  padding: 100px 0 100px;
  overflow: hidden;
  color: #1f1f1f;
}
.nagomi-cases__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.nagomi-cases__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(6, 20, 49, 0.42);
  pointer-events: none;
}
.nagomi-cases__bg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-cases__inner {
  position: relative;
  z-index: 2;
  max-width: 1250px;
  margin: 0 auto;
}
.nagomi-cases__head {
  margin-bottom: 64px;
  text-align: center;
  color: #fff;
  z-index: 1;
  position: relative;
}
.nagomi-cases__en {
  margin: 0 0 21px;
  color: #101A51;
  font-size: 128px;
  font-weight: bold;
  line-height: 1;
}
.nagomi-cases__ja {
  margin: 0;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
/* pickup */
.nagomi-cases__pickup {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto 20px;
  padding: 50px 60px;
  background: #fff;
  display: grid;
  grid-template-columns: 48% minmax(0, 1fr);
  column-gap: 40px;
  align-items: center;
}
.nagomi-cases__pickupImg {
  width: 100%;
  overflow: hidden;
}
.nagomi-cases__pickupImg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-cases__pickupBody {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  column-gap: 22px;
  row-gap: 13px;
  align-items: start;
}
.nagomi-cases__numBox {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
}
.nagomi-cases__label {
  display: block;
  margin: 0 0 4px;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-cases__num {
  display: inline-block;
  color: #1f1f1f;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-cases__num::after {
  content: "";
  display: block;
  width: 27px;
  height: 2px;
  margin-top: 8px;
  background: #1f1f1f;
}
.nagomi-cases__pickupTextBox {
  display: contents;
}
.nagomi-cases__title {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  align-self: end;
  margin: 0 0 6px;
  color: #1f1f1f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
.nagomi-cases__text {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  margin: 0;
  color: #1f1f1f;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
}
/* cards */
.nagomi-cases__grid {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 23px;
}
.nagomi-cases__card {
  background: #fff;
  padding: 24px 20px 24px;
}
.nagomi-cases__cardImg {
  width: 100%;
  overflow: hidden;
  margin-bottom: 21px;
}
.nagomi-cases__cardImg img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.nagomi-cases__cardLabel {
  display: block;
  margin: 0 0 5px;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-cases__cardTitleWrap {
  display: flex;
  align-items: center;
  gap: 13px;
}
.nagomi-cases__cardNum {
  color: #1f1f1f;
  font-size: 45px;
  font-weight: 700;
  line-height: 1;
}
.nagomi-cases__cardTitle {
  margin: 0;
  color: #1f1f1f;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
}
/* button */
.nagomi-cases__btnWrap {
  width: 100%;
  margin-top: 54px;
  text-align: center;
}
.nagomi-cases__btn {
  width: 355px;
  height: 66px;
  padding: 0 55px;
  background: #fff;
  border: 2px solid #2C385E;
  color: #2C385E;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-cases__btn:hover {
  background: #2C385E;
  color: #fff;
  border:solid #fff 1px
}
.nagomi-cases__arrow {
  position: absolute;
  right: 24px;
  top: 50%;
  width: 38px;
  height: 12px;
  transform: translateY(-50%);
}
.nagomi-cases__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 38px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-cases__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 13px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-cases {
    padding: 60px 0 58px;
  }
  .nagomi-cases__inner {
    width: calc(100% - 32px);
  }
  .nagomi-cases__head {
    margin-bottom: 32px;
  }
  .nagomi-cases__en {
    margin-bottom: 20px;
    font-size: 44px;
  }
  .nagomi-cases__ja {
    font-size: 15px;
  }
  .nagomi-cases__pickup {
    width: 100%;
    margin-bottom: 22px;
    padding: 18px 18px 26px;
    display: block;
  }
  .nagomi-cases__pickupImg {
    height: auto;
    aspect-ratio: 299 / 190;
    margin-bottom: 20px;
  }
  .nagomi-cases__pickupBody {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 17px;
    row-gap: 15px;
  }
  .nagomi-cases__label {
    margin-bottom: 6px;
    font-size:16px;
  }
  .nagomi-cases__num {
    font-size: 41px;
  }
  .nagomi-cases__num::after {
    width: 33px;
    margin-top: 8px;
  }
  .nagomi-cases__title {
    font-size: 19px;
    margin: 0 0 4px;
    margin-bottom:30px
  }
  .nagomi-cases__text {
    font-size: 15px;
    line-height: 2.05;
  }
  .nagomi-cases__text br {
    display: none;
  }
  .nagomi-cases__grid {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .nagomi-cases__card {
    padding: 18px 18px 23px;
  }
  .nagomi-cases__cardImg {
    height: auto;
    margin-bottom: 18px;
  }
  .nagomi-cases__cardLabel {
    font-size: 14px;
    margin-bottom: 6px;
  }
  .nagomi-cases__cardNum {
    font-size: 30px;
  }
  .nagomi-cases__cardTitle {
    font-size: 18px;
  }
  .nagomi-cases__btnWrap {
    margin-top: 32px;
  }
  .nagomi-cases__btn {
    width: 100%;
    max-width: 319px;
    height: 47px;
    font-size: 13px;
  }
  .nagomi-cases__arrow {
    right: 19px;
    width: 34px;
  }
}
.consult-btn::before {
  display:none!important
}
.nagomi-feature__arrow {
  display:none
}
.consult-btn {
  position: relative;
  display: block;
  text-align: center;
  background: #2C385E!important;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  padding: 18px 40px 18px 40px;
  border-radius: 0px!important;
  text-decoration: none;
  border: solid #2C385E 2px!important;
  transition: background .3s, color .3s;
}
.consult-btn:hover {
  background: #fff!important;
  color: #2C385E!important;
  border: solid #2C385E 2px!important;
}
.more-btn:hover .nagomi-feature__arrow {
  color:#2C385E!important
}
.nagomi-company__head1 {
  margin-left:13%
}
.recruit--recruitment-inner {
  height:auto;
  padding:100px 0px
}
@media (max-width: 768px) {
  .blog-ja {
    margin-top: 0px!important;
    font-size: 16px;
    color: #333;
    margin-bottom: 30px;
  }
  .header-logo {
    padding: 0px 10px!important;
    display: flex;
    align-items: center;
  }
  .sp-nomi {
    display:none
  }
}
.nagomi-company__head {
  margin-bottom: 39px;
}
.nagomi-company__en {
  margin: 0 0 18px;
  color: #2C385E;
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
}
.nagomi-company__ja {
  margin: 0;
  color: #1f1f1f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.nagomi-company__content {
  width: 100%;
  max-width:auto;
}
.nagomi-company__title {
  margin: 0 0 21px;
  color: #1f1f1f;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.9;
}
.nagomi-company__line {
  width: 100%;
  height: 2px;
  margin: 0 0 22px;
  background: #1f1f1f;
}
.nagomi-company__text {
  margin: 0 0 39px;
  color: #1f1f1f;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.05;
}
.nagomi-company__btns {
  width: 260px;
}
.nagomi-company__btn {
  width: 100%;
  height: 65px;
  width:350px!important;
  padding: 0 47px 0 24px;
  background: #2C385E;
  border: 2px solid #2C385E;
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.nagomi-company__btn + .nagomi-company__btn {
  margin-top: 8px;
}
.nagomi-company__btn:hover {
  background: #fff;
  color: #2C385E;
}
.nagomi-company__arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  width: 30px;
  height: 10px;
  transform: translateY(-50%);
}
.nagomi-company__arrow::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 30px;
  height: 1px;
  background: currentColor;
  transform: translateY(-50%);
}
.nagomi-company__arrow::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 10px;
  height: 1px;
  background: currentColor;
  transform-origin: right center;
  transform: translateY(-50%) rotate(35deg);
}
.
/* SP */
@media screen and (max-width: 767px) {
  .nagomi-company {
    padding: 34px 0 45px;
  }
  .nagomi-company__inner {
    width: calc(100% - 20px);
  }
  .nagomi-company__head {
    margin-bottom: 32px;
  }
  .nagomi-company__en {
    margin-bottom: 14px;
    font-size: 40px;
  }
  .nagomi-company__ja {
    font-size: 15px;
  }
  .nagomi-company__content {
    max-width: none;
  }
  .nagomi-company__title {
    margin-bottom: 18px;
    font-size: 18px;
    line-height: 1.85;
  }
  .nagomi-company__line {
    margin-bottom: 19px;
  }
  .nagomi-company__text {
    margin-bottom: 31px;
    font-size: 10px;
    line-height: 2.05;
  }
  .nagomi-company__text br {
    display: none;
  }
  .nagomi-company__btns {
    width: 100%;
    max-width: 260px;
  }
  .nagomi-company__btn {
    height: 41px;
    font-size: 11px;
  }
}
@media screen and (max-width: 767px) {
  .nagomi-about-wrap .recruit--bg-text {
    font-size: 80px;
  }
  .nagomi-company__inner {
    width: calc(100% - 20px);
  }
  .nagomi-company__head {
    margin-bottom: 32px;
  }
  .nagomi-company__en {
    margin-bottom: 14px;
    font-size: 40px;
  }
  .nagomi-company__ja {
    font-size: 15px;
  }
  .nagomi-company__content {
    max-width: none;
  }
  .nagomi-company__title {
    margin-bottom: 18px;
    font-size: 18px;
    line-height: 1.85;
  }
  .nagomi-company__title {
    font-size:17px!important
  }
  .nagomi-company__line {
    margin-bottom: 20px;
  }
  .nagomi-company__text {
    margin-bottom: 31px;
    font-size: 15px;
    line-height: 2.05;
  }
  .nagomi-company__text br {
    display: none;
  }
  .nagomi-company__btns {
    width: 100%;
    text-align:center!important;
    text-align:center!important;
  }
  .nagomi-company__btn {
    justify-content:center;
    height: 51px;
    text-align:center!important;
    font-size: 14px;
    width:100%!important;
    margin:0 auto
  }
  .recruit--recruitment-inner {
    height: auto;
    padding: 60px 20px!important;
  }
  .nagomi-company__title {
    margin: 0 0 21px;
    color: #1f1f1f;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.9;
  }
  .nagomi-company__head1 {
    margin-left: 0%!important;
  }
}
@media screen and (min-width: 767px) {
  .nagomi-feature {
    position:relative;
    top:-180px;
    padding-bottom:0px
  }
}
.nagomi-fixed-banner {
  position: fixed;
  right: 0;
  transform: translateY(-50%);
  z-index: 9999;
  display: block;
  width: 280px;
  transition: opacity 0.3s ease;
  bottom:40%
}
.nagomi-fixed-banner:hover {
  opacity: 0.75;
}
.nagomi-fixed-banner img {
  width: 100%;
  height: auto;
  display: block;
}
/* SPでは非表示 */
@media screen and (max-width: 767px) {
  .nagomi-fixed-banner {
    display: none;
  }
  .company-name {
    font-size:15px;
  }
}
@media (max-width: 900px) {
  .contact-boxes {
    display: grid;
    gap: 5px;
  }
}
body {
  letter-spacing:0.08em!important
}
p {
  letter-spacing:0.08em!important
}
.nago-recruit {
  border-radius: 50px 50px 0px 0px;
  z-index: 15;
  position: relative;
  top: -40px;
}
.pink-gra {
  background: linear-gradient(to bottom, #FEFBFF 0%, #fff 100%)!important;
}
@media screen and (max-width: 767px) {
  .pcnomikaigyo {
    display:none;
  }
  .privacy {
    padding: 60px 20px!important;
  }
}
.fa-chevron-right:before {
  content: "ー";
}
.shiro-feature {
  padding: 80px 0;
  background: #fff;
}
.shiro-feature__inner {
  width: 90%;
  max-width: 1180px;
  margin: 0 auto;
}
.shiro-feature__item {
  display: grid;
  grid-template-columns: 1fr 50%;
  align-items: center;
  gap: 90px;
  margin-bottom: 90px;
  display:grid!important;
  margin-bottom:80px!important
}
.shiro-feature__item:last-child {
  margin-bottom: 0;
}
.shiro-feature__content {
  color: #111943;
  padding:20px 20px
}
.shiro-feature__label {
  margin: 0 0 16px;
  color: #b65cf0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
}
.shiro-feature__title {
  margin: 0 0 24px;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.65;
  letter-spacing:0.08em
}
.shiro-feature__text {
  margin: 0;
  color: #101A51;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.25;
  letter-spacing:0.08em!important
}
.shiro-feature__image {
  width: 100%;
}
.shiro-feature__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.shiro-feature__image--logo {
  display: flex;
  justify-content: center;
}
.shiro-feature__image--logo img {
  width: 260px;
  height: auto;
  object-fit: contain;
}
.shiro-feature__image--map {
  display: flex;
  justify-content: center;
}
.shiro-feature__image--map img {
  width: 330px;
  height: auto;
  object-fit: contain;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-feature {
    padding: 50px 0;
  }
  .recruit2-inner {
    padding:0 20px
  }
  .shiro-feature__inner {
    width: 88%;
  }
  .shiro-feature__item {
    display: flex;
    flex-direction: column-reverse;
    gap: 24px;
    margin-bottom: 60px;
  }
  .nagomi-faq-message__text {
    padding:0 20px
  }
  .shiro-feature__label {
    margin-bottom: 10px;
    font-size: 20px;
    letter-spacing: 0.16em;
  }
  .shiro-feature__title {
    margin-bottom: 15px;
    font-size: 20px;
    line-height: 1.6;
  }
  .shiro-feature__text {
    font-size: 15px;
    line-height: 2;
  }
}
.shiro-compare {
  padding: 80px 0;
  background: #fff;
}
.shiro-compare__inner {
  max-width: 1250px;
  width: 90%;
  margin: 0 auto;
}
.shiro-compare__scroll {
  width: 100%;
  overflow-x: visible;
}
.shiro-compare__img {
  display: block;
  width: 100%;
  margin: 0 auto;
  height: auto;
}
.shiro-compare__message {
  margin: 42px 0 0;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.9;
  letter-spacing: 0.08em;
  text-align: center;
}
.shiro-compare__message span {
  color: #FF64AC;
  text-decoration-line: underline;
  text-decoration-color: #FFE1E3;
  text-decoration-thickness: 11px;
  text-underline-offset: -2px;
  text-decoration-skip-ink: none;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-compare {
    padding: 50px 0;
  }
  .shiro-compare__inner {
    width: 100%;
    max-width: 1250px;
  }
  .shiro-compare__scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0 20px;
  }
  .shiro-compare__img {
    width: 650px;
    max-width: none;
    margin: 0;
  }
  .shiro-compare__message {
    width: calc(100% - 40px);
    margin: 32px auto 0;
    font-size: 15px;
    line-height: 1.9;
    text-align: left;
  }
}
.white {
  color:#fff!important
}
.profile-slider {
  position: relative;
  width: 100%;
  max-width: 484px;
  overflow: hidden;
}
.profile-slider__item {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
  transition: opacity 1.8s ease, visibility 1.8s ease;
}
.profile-slider__item.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  z-index: 1;
}
.profile-slider__item img {
  display: block;
  width: 100%;
  height: auto;
}
.profile-slider__text {
  min-height: 112px;
  padding: 20px;
  text-align: center;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.08em!important;
  background: linear-gradient(90deg, #A952D9 0%, #ED4B56 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.profile-slider__text p {
  margin: 0;
  font-size: 16px;
  line-height: 1.9;
  letter-spacing:0.08em!important
}
/* スマホ調整 */
@media screen and (max-width: 767px) {
  .profile-slider {
    max-width: 100%;
  }
  .point-p-title {
    margin-top:40px
  }
  .na-office__block {
    width: 100%;
    margin-top: 35px;
  }
  .profile-slider__text {
    min-height: 96px;
    padding: 18px 15px;
  }
  .profile-slider__text p {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.12em;
  }
}
.shiro-service {
  padding: 200px 0 130px;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104053-scaled.webp");
  background-repeat: repeat;
  background-size: cover;
  background-position: center;
}
.shiro-service__inner {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}
.shiro-service__head {
  margin-bottom: 90px;
  text-align: center;
}
.shiro-service__lead {
  margin: 0 0 16px;
  color: #101A51;
  font-size: 24px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
}
.shiro-service__title {
  margin: 0;
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.shiro-service__title span {
  color: #FF64AC;
  font-size: 64px;
  letter-spacing: 0.08em;
  background: linear-gradient(transparent 81%, #FFE1E3 50%, #FFE1E3 100%, transparent 100%);
}
.shiro-service__list {
  display: flex;
  flex-direction: column;
  gap: 80px;
}
.shiro-service__item {
  display: grid;
  grid-template-columns: 1fr 50%;
  align-items: center;
  gap:60px
}
.shiro-service__item:nth-child(even) {
  grid-template-columns: 1fr 50%;
}
.shiro-service__item:nth-child(even) .shiro-service__img {
  order: 2;
}
.shiro-service__item:nth-child(even) .shiro-service__body {
  order: 1;
}
.shiro-service__img {
  width: 100%;
}
.shiro-service__img img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.shiro-service__body {
  color: #101A51;
}
.shiro-service__itemTitle {
  margin: 0 0 10px;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.08em;
}
.shiro-service__itemTitle::first-letter {
  color: #FF64AC;
}
.shiro-service__text {
  margin: 0;
  color: #111943;
  font-size: 16px;
  font-weight: 500;
  line-height: 2.2;
  letter-spacing: 0.08em;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-service {
    padding: 50px 20px 70px;
    background-size: 32px 32px;
  }
  .shiro-service__head {
    margin-bottom: 40px;
  }
  .shiro-service__lead {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.6;
  }
  .shiro-service__title {
    font-size: 24px;
    line-height: 1.7;
  }
  .shiro-service__title span {
    font-size: 34px;
  }
  .shiro-service__list {
    gap: 50px;
  }
  .shiro-service__item,
  .shiro-service__item:nth-child(even) {
    display: flex;
    flex-direction: column;
    gap: 22px;
  }
  .shiro-service__item:nth-child(even) .shiro-service__img,
  .shiro-service__item:nth-child(even) .shiro-service__body {
    order: initial;
  }
  .shiro-service__img {
    order: 1;
  }
  .shiro-service__body {
    order: 2;
  }
  .shiro-service__itemTitle {
    margin-bottom: 14px;
    font-size: 20px;
    line-height: 1.6;
  }
  .shiro-service__text {
    font-size: 15px;
    line-height: 2;
  }
}
.shiro-fv {
  position: relative;
  overflow: hidden;
  color: #101A51;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/fv-bg-pc-scaled.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  min-height: 100vh;
}
.shiro-fv__inner {
  z-index: 2;
  width: 100%;
  max-width: 1440px;
  min-height: 100vh;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
.shiro-fv__content {
  z-index: 5;
  width: 68%!important;
  padding:10px!important;
}
.shiro-fv__lead,
.shiro-fv__catchSmall,
.shiro-fv__catchLarge,
.shiro-fv__title {
  paint-order: stroke fill;
  -webkit-text-stroke: 7px #fff;
  text-shadow: none;
}
.shiro-fv__lead {
  margin: 0 0 20px;
  color: #101A51;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: 0.04em;
  position:sticky;
  z-index:10
}
.shiro-fv__labels {
  display: flex;
  gap: 14px;
  margin-bottom: 20px;
}
.shiro-fv__labels span {
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #A952D9;
  border: 3px solid #fff;
  color: #fff;
  font-size: 40px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  padding:25px 25px
}
.shiro-fv__catch {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-bottom: 30px;
  position:sticky;
  z-index:10
}
.shiro-fv__catchSmall {
  margin: 0 0 0px;
  color: #101A51;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.28;
  letter-spacing: 0.06em;
}
.shiro-fv__catchLarge {
  margin: 0;
  color: #FF64AC;
  font-size: 85px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.08em;
  position:sticky;
  z-index:10
}
.shiro-fv__title {
  margin: 0 0 30px;
  color: #101A51;
  font-size: 55px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: 0.08em;
  position:sticky;
  z-index:10
}
/* バッジは画像 */
.shiro-fv__badges {
  position: relative;
  z-index: 6;
  width: 80%;
}
.shiro-fv__badges img {
  display: block;
  width: 100%;
  height: auto;
}
/* 人物画像 */
.shiro-fv__people {
  position: absolute;
  right: 0px;
  bottom: 0;
  z-index: 4;
  height:100%
}
.shiro-fv__people img {
  display: block;
  width: 100%;
  height: 100%;
}
/* 右下エリア */
.shiro-fv__area {
  position: absolute;
  right: 0;
  bottom: 36px;
  z-index: 7;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.shiro-fv__areaPref,
.shiro-fv__areaMain {
  margin: 0;
  color: #fff;
  background: #101A51cc;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.08em;
  border-radius:100px 0px 0px 100px;
}
.shiro-fv__areaPref {
  width: 100%;
  padding: 20px 20px;
  font-size: 22px;
}
.shiro-fv__areaMain {
  margin-top: 8px;
  padding: 20px 20px;
  font-size: 40px;
  letter-spacing: 0.12em;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-fv {
    background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104157-scaled.webp");
    background-position: center top;
    background-size: cover;
  }
  .shiro-fv::before {
    width: 120px;
    height: 120px;
    left: -36px;
    top: 235px;
  }
  .shiro-fv::after {
    width: 115px;
    height: 115px;
    left: auto;
    right: 12px;
    top: 300px;
  }
  .shiro-fv__inner {
    min-height: 760px;
    padding: 0 18px 26px;
  }
  .shiro-fv__inner::before {
    right: -78px;
    top: -55px;
    width: 180px;
    height: 180px;
  }
  .shiro-fv__inner::after {
    right: -20px;
    top: 42px;
    width: 105px;
    height: 105px;
  }
  .shiro-fv__content {
    width: 100%!important;
    padding: 0px 0 0!important;
  }
  .shiro-fv__lead,
  .shiro-fv__catchSmall,
  .shiro-fv__catchLarge,
  .shiro-fv__title {
    -webkit-text-stroke: 4px #fff;
    text-shadow: none;
  }
  .shiro-fv__lead {
    margin-bottom: 10px;
    font-size: 23px;
    line-height: 1.5;
    text-align: center;
    letter-spacing: 0.02em;
  }
  .shiro-fv__labels {
    gap: 6px;
    margin-bottom: 14px;
  }
  .shiro-fv__labels span {
    flex: 1;
    width: auto;
    height: auto!important;
    border-width: 2px;
    font-size: 16px;
    letter-spacing: 0.04em;
    padding:7px 10px
  }
  .shiro-fv__catch {
    gap: 12px;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    display:block;
  }
  .shiro-fv__catchSmall {
    margin-bottom: 14px;
    font-size: 26px;
    line-height: 1.25;
    letter-spacing: 0.08em;
  }
  .shiro-fv__catchSmall br {
    display:none;
  }
  .shiro-fv__catchLarge {
    font-size: 49px;
    letter-spacing: 0.08em;
  }
  .shiro-fv__title {
    margin-bottom: 20px;
    font-size: 25px;
    text-align: left;
    letter-spacing: 0.08em;
  }
  .shiro-fv__people {
    right: 50%;
    transform: translateX(50%);
    width: 100%;
    z-index: 4;
    bottom: 70px;
  }
  .shiro-fv__badges {
    width: 100%;
    position:absolute;
    bottom:100px;
    left:0;
    right:0
  }
  .shiro-fv__area {
    right: 0;
    left: auto;
    bottom: 5px;
    width: 78%;
    align-items: flex-end;
  }
  .shiro-fv__areaPref {
    width: 100%;
    padding: 13px 10px;
    font-size: 13px;
  }
  .shiro-fv__areaMain {
    width: 90%;
    margin-top: 5px;
    padding: 13px 12px;
    font-size: 18px;
    letter-spacing: 0.08em;
  }
  .shiro-fv__inner {
    min-height: 95vh;
    padding: 65px 20px 50px;
    display: block;
  }
  .shiro-fv {
    min-height:95vh
  }
  .shiro-fv__content {
    width: 100%;
    padding: 28px 0 0;
  }
}
@media screen and (min-width: 1700px) {
  .shiro-fv__lead {
    font-size:30px
  }
  .shiro-fv__catchLarge {
    margin: 0;
    color: #FF64AC;
    font-size: 103px;
  }
  .shiro-fv__title {
    font-size:60px
  }
  .shiro-fv__badges {
    position: relative;
    z-index: 6;
    width: 85%;
  }
  .shiro-fv__labels span {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #A952D9;
    border: 3px solid #fff;
    color: #fff;
    font-size: 45px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    padding: 25px 25px;
  }
  .shiro-fv__catchSmall {
    margin: 0 0 6px;
    color: #101A51;
    font-size: 37px;
  }
}
.consult-btn1 {
  position: relative;
  display: block;
  text-align: center;
  background: #A952D9;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  padding: 10px 40px 10px 40px;
  /* 右は矢印分広め */
  border-radius: 999px;
  text-decoration: none;
  border:solid 2px #A952D9;
  transition: background .3s, color .3s;
}
/* 右の丸（＞） */
.consult-btn1::before {
  content: "\f105";
  /* Font Awesome > */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  color: #A952D9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
/* hover：色反転 */
.consult-btn1:hover {
  background: #fff;
  color: #A952D9;
  border:solid 2px #A952D9;
}
.consult-btn1:hover::before {
  background: #A952D9;
  color: #fff;
}
.top-width-btn {
  width:400px;
  margin-top:40px!important
}
.pcimg {
  margin-top:60px
}
@media screen and (min-width: 965px) {
  .spimg {
    display:none;
  }
}
@media screen and (max-width: 965px) {
  .pcimg {
    display:none;
  }
  .spimg {
    margin-top:40px;
  }
  .consult-btn1 {
    position: relative;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    padding: 10px 40px 10px 40px;
    /* 右は矢印分広め */
    border-radius: 999px;
    text-decoration: none;
    transition: background .3s, color .3s;
  }
  /* 右の丸（＞） */
  .consult-btn1::before {
    content: "\f105";
    /* Font Awesome > */
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .3s, color .3s;
  }
}
.usupink {
  background-color:#FFF9F9!important
}
.plan-section {
  padding:80px 20px 80px;
  border-radius:50px 50px 0px 0px;
  background-color:#FFF9F9;
  z-index: 10;
  position: relative;
  top: -40px;
}
.plan-inner .faq-tabs {
  margin-bottom:110px
}
.top-flow {
  background: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104156-1-scaled.webp") repeat!important;
  background-size: cover!important;
  padding:130px 20px!important
}
@media screen and (max-width: 965px) {
  .plan-section {
    padding:40px 20px 40px
  }
  .plan-section .point-tab {
    padding:0px
  }
  .plan-section .nagomi-faq-message__text {
    padding:0px
  }
}
.shiro-plan {
  padding: 60px 20px;
  background: #fff;
  color: #101A51;
}
.shiro-plan * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-plan__inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
.shiro-plan__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px 32px;
  max-width: 1250px;
  margin: 0 auto;
  margin-top:60px
}
.shiro-plan-card {
  border: 3px solid #101A51;
  background: #fff;
}
.shiro-plan-card__head {
  display: flex;
  align-items: end;
  justify-content: center;
  background: #101A51;
  color: #fff;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  padding:20px 10px;
  padding-bottom:20px;
}
.shiro-plan-card__head span {
  margin-right: 8px;
  font-size: 96px;
  font-weight: 700;
  line-height: 0.8;
  font-family:"zen-kaku-gothic-new", sans-serif;
}
.shiro-plan-card__body {
  padding: 15px 70px 20px;
  text-align: center;
}
.shiro-plan-card__price {
  margin: 0 0 10px;
  color: #FF64AC;
  font-weight: 700;
  line-height: 1;
}
.shiro-plan-card__price strong {
  font-size: 45px;
  font-weight: 800;
}
.shiro-plan-card__price span {
  margin-left: 4px;
  font-size: 25px;
  font-weight: 700;
}
.shiro-plan-card__img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.shiro-plan-card__img img {
  display: block;
  max-width: 300px;
  max-height: 182px;
  width: auto;
  height: auto;
}
.shiro-plan-card__title {
  margin: 0 0 8px;
  color: #101A51;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
.shiro-plan-card__text {
  margin: 0 0 15px;
  color: #101A51;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.08em;
}
.shiro-plan-card__info {
  display: grid;
  grid-template-columns: 1fr 1.9fr;
  gap: 10px;
}
.shiro-plan-card__infoItem {
  display: grid;
  grid-template-columns: 100px 1fr;
  align-items: center;
  min-height: 28px;
}
.shiro-plan-card__infoItem span {
  padding:14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #697098;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.08em;
}
.shiro-plan-card__infoItem p {
  margin: 0;
  padding-left: 12px;
  color: #101A51;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.08em;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-plan__grid {
    grid-template-columns: 1fr;
    gap: 22px;
    max-width: 420px;
  }
  .shiro-plan-card {
    border-width: 2px;
  }
  .shiro-plan-card__head {
    font-size: 20px;
  }
  .shiro-plan-card__head span {
    font-size: 37px;
  }
  .shiro-plan-card__body {
    padding: 15px 10px 20px;
  }
  .shiro-plan-card__price strong {
    font-size: 30px;
  }
  .shiro-plan-card__price span {
    font-size: 16px;
  }
  .plan-section .nagomi-faq-message__title {
    margin: 0 0 40px!important;
  }
  .shiro-plan-card__img {
    height: auto;
  }
  .shiro-plan-card__img img {
    height:150px
  }
  .shiro-plan-card__title {
    font-size: 20px;
  }
  .shiro-plan-card__text {
    font-size: 15px;
  }
  .shiro-plan-card__info {
    gap: 8px;
  }
  .shiro-plan-card__infoItem {
    display:block;
  }
  .shiro-plan-card__infoItem span,
  .shiro-plan-card__infoItem p {
    font-size: 15px;
    padding: 10px;
  }
}
.shiro-work {
  padding: 80px 20px 80px;
  color: #101A51;
}
.shiro-work * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-work__inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
.shiro-work__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 60px 42px;
}
.shiro-work-card {
  width: 100%;
}
.shiro-work-card__title {
  margin: 0 0 20px;
  color: #101A51;
  font-size: 35px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.shiro-work-card__slider {
  position: relative;
  margin-bottom: 30px;
}
.shiro-work-card__viewport {
  position: relative;
  overflow: hidden;
}
.shiro-work-card__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
.shiro-work-card__slide.is-active {
  position: relative;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.shiro-work-card__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.shiro-work-card__imageBlock {
  min-width: 0;
}
.shiro-work-card__image {
  position: relative;
  width: 100%;
  overflow: hidden;
  background: #f5f5f5;
}
.shiro-work-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shiro-work-card__caption {
  margin: 13px 0 0;
  color: #101A51;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
.shiro-work-card__arrow {
  position: absolute;
  top: 43%;
  z-index: 5;
  width: 42px;
  height: 42px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.shiro-work-card__arrow img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-work-card__arrow--prev {
  left: 0;
  transform: translate(-30%, -50%);
}
.shiro-work-card__arrow--next {
  right: 0;
  transform: translate(30%, -50%);
}
.shiro-work-card__dots {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-top: 17px;
}
.shiro-work-card__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fde4ee;
  cursor: pointer;
}
.shiro-work-card__dot.is-active {
  background: #FF64AC;
}
.shiro-work-card__info {
  border: 5px solid #FF64AC;
  padding: 25px 25px 25px;
}
.shiro-work-card__row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 22px;
  align-items: flex-start;
}
.shiro-work-card__row + .shiro-work-card__row {
  margin-top: 18px;
}
.shiro-work-card__label {
  min-height: 40px;
  padding: 11px 10px;
  background: #FF64AC;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  text-align: center;
}
.shiro-work-card__value {
  color: #101A51;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
}
.contact-banner {
  width:100%;
  margin:0 auto;
  margin-top:70px;
  margin-bottom:80px!important;
  max-width:1050px!important;
  padding:0 20px
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-work {
    padding: 50px 20px;
  }
  .contact-banner {
    width:100%;
    margin:0 auto;
    margin-top:30px;
    margin-bottom:30px!important;
    max-width:1250px!important;
    padding:20px
  }
  .shiro-work__inner .nagomi-faq-message__title {
    margin-bottom:45px!important
  }
  .shiro-work__grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }
  .shiro-work-card__title {
    margin-bottom: 15px;
    font-size: 22px;
  }
  .shiro-work-card__slider {
    margin-bottom: 20px;
  }
  .shiro-work-card__images {
    gap: 10px;
  }
  .shiro-work-card__caption {
    margin-top: 9px;
    font-size: 15px;
    line-height: 1.5;
  }
  .shiro-work-card__arrow {
    top: 38%;
    width: 34px;
    height: 34px;
  }
  .shiro-work-card__arrow--prev {
    left: 0;
    transform: translate(-30%, -50%);
  }
  .shiro-work-card__arrow--next {
    right: 0;
    transform: translate(30%, -50%);
  }
  .shiro-work-card__dots {
    gap: 10px;
    margin-top: 15px;
  }
  .shiro-work-card__dot {
    width: 8px;
    height: 8px;
  }
  .shiro-work-card__info {
    border-width: 3px;
    padding: 18px 16px;
  }
  .shiro-work-card__row {
    grid-template-columns: 90px 1fr;
    gap: 14px;
  }
  .shiro-work-card__row + .shiro-work-card__row {
    margin-top: 14px;
  }
  .shiro-work-card__label {
    min-height: 34px;
    padding: 9px 8px;
    font-size: 15px;
  }
  .shiro-work-card__value {
    font-size: 15px;
    line-height: 1.6;
  }
}
.shiro-feature {
  position: relative;
  padding:80px 0px 80px;
  background: #fff;
  overflow: hidden;
}
.shiro-feature * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-feature__inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
/* 右上の装飾 */
.shiro-feature__deco {
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 0;
  width: 50%;
  pointer-events: none;
}
.shiro-feature__deco img {
  display: block;
  width: 100%;
  height: auto;
}
/* 共通 */
.shiro-feature__grid {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 30px;
  width: 100%;
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
}
/* PC：上2列 */
.shiro-feature__grid--top {
  grid-template-columns: repeat(2, 1fr);
  margin-bottom: 0px;
  margin-bottom:30px
}
/* PC：下3列 */
.shiro-feature__grid--bottom {
  grid-template-columns: repeat(3, 1fr);
}
/* 画像枠を固定 */
.shiro-feature__item {
  width: 100%;
  border: 3px solid #101A51;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* 上段カード */
.shiro-feature__grid--top .shiro-feature__item {
  height: auto;
}
/* 下段カード */
.shiro-feature__grid--bottom .shiro-feature__item {
  height: auto;
  margin-bottom:0px!important
}
/* 画像を枠いっぱいに表示 */
.shiro-feature__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* 画像自体に枠線が含まれている場合は、上のborderを消す */
.shiro-feature__item {
  border: none;
  margin-bottom:0px
}
.shiro-planfeature {
  background: linear-gradient( 180deg, rgba(208, 202, 251, 0) 0%, rgba(208, 202, 251, 0.5) 100% );
}
.shiro-planfeature .title-ue {
  width:100px
}
.shiro-planfeature {
  padding-top:0px
}
.second-btn {
  margin-top:0px!important;
  width:100%;
  padding:17px!important
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-feature {
    padding: 60px 20px 60px;
  }
  .nagomi-cases__en {
    margin-bottom: 10px;
    font-size: 44px;
  }
  .shiro-planfeature .title-ue {
    width:40px
  }
  .shiro-feature__deco {
    right: 0px;
    top: 0px;
    width: 160px;
  }
  .shiro-feature__grid,
  .shiro-feature__grid--top,
  .shiro-feature__grid--bottom {
    grid-template-columns: 1fr;
    gap: 16px;
    max-width: 420px;
    margin: 0 auto;
  }
  .shiro-feature__grid--top {
    margin-bottom: 16px;
  }
  .shiro-feature__grid--top .shiro-feature__item,
  .shiro-feature__grid--bottom .shiro-feature__item {
    height: auto;
  }
  .shiro-feature__item img {
    width: 100%;
    height: auto;
    object-fit: unset;
  }
}
.shiro-service-slider {
  padding: 70px 0 70px;
  background: #fff;
  overflow: hidden;
  position:relative
}
.shiro-feature__deco1 {
  left:0!important;
  right:auto!important;
}
.shiro-service-slider * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-service-slider__inner {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}
.shiro-service-slider__head {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto 45px;
  padding: 0 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
}
.shiro-service-slider__dots {
  display: flex;
  justify-content: flex-start;
  gap: 18px;
}
.shiro-service-slider__dots span {
  width: 13px;
  height: 13px;
  display: block;
  border-radius: 50%;
  background: rgba(208, 202, 251, 0.8);
}
.shiro-service-slider__dots span.is-active {
  background: #A952D9;
}
.shiro-service-slider__arrows {
  display: flex;
  justify-content: center;
  gap: 18px;
}
.shiro-service-slider__arrow {
  width: 44px;
  height: 44px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.shiro-service-slider__arrow img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-service-slider__more {
  justify-self: end;
  width: 240px;
  height: 39px;
  padding: 0 12px 0 25px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  border-radius: 999px;
  background: #A952D9;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
.shiro-service-slider__more span {
  width: 24px;
  height: 24px;
  display: block;
  flex-shrink: 0;
}
.shiro-service-slider__more img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-service-slider__viewport {
  width: 100%;
  overflow: hidden;
}
.shiro-service-slider__track {
  display: flex;
  gap: 32px;
  width: max-content;
  transition: transform 0.6s ease;
  will-change: transform;
}
.shiro-service-slider__item {
  flex: 0 0 270px;
}
.shiro-service-slider__item img {
  display: block;
  width: 100%;
  height: auto;
}
.service-slider-btn {
  margin-top:0px!important;
  padding:20px 20px!important;
  margin-left:auto;
  width:400px;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-service-slider {
    padding: 40px 0 40px;
  }
  .top-flow {
    background: url(http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104156-1-scaled.webp) repeat !important;
    background-size: cover !important;
    padding: 80px 20px !important;
  }
  .shiro-feature .contact-banner {
    padding:0px;
    padding-bottom:30px
  }
  .shiro-feature {
    padding-top:0px
  }
  .shiro-feature .nagomi-faq-message__text {
    padding:0px;
  }
  .shiro-service-slider__head {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 28px;
    padding: 0 18px;
  }
  .shiro-service-slider__dots {
    order: 2;
    justify-content: center;
    gap: 10px;
  }
  .shiro-service-slider__dots span {
    width: 9px;
    height: 9px;
  }
  .shiro-service-slider__arrows {
    order: 1;
    gap: 14px;
  }
  .shiro-service-slider__arrow {
    width: 38px;
    height: 38px;
  }
  .shiro-service-slider__more {
    order: 3;
    justify-self: center;
    width: 190px;
    height: 36px;
    gap: 20px;
    font-size: 12px;
  }
  .shiro-service-slider__more span {
    width: 22px;
    height: 22px;
  }
  .shiro-service-slider__track {
    gap: 18px;
  }
  .shiro-service-slider__item {
    flex: 0 0 78vw;
  }
}
.shiro-ba {
  position: relative;
  padding: 85px 20px 90px;
  overflow: hidden;
  color: #101A51;
}
.shiro-ba * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-ba__bg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 48%;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104161-scaled.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  z-index: 1;
}
.shiro-point-slider {
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Mask-group-17-scaled-e1778953951473.webp");
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
}
.shiro-ba__circle {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  z-index: 2;
}
.shiro-ba__circle--01 {
  right: -25px;
  top:25%;
  width: 250px;
  height: 250px;
  background: linear-gradient( 135deg, #A952D9 0%, #ED4B56 100% );
  opacity:0.5
}
.shiro-ba__circle--02 {
  right: 150px;
  top: 22%;
  width: 108px;
  height: 108px;
  background: rgba(255, 100, 172, 0.16);
}
.shiro-ba__circle--03 {
  right: 60px;
  bottom: 35px;
  width: 185px;
  height: 185px;
  z-index:10;
  background: linear-gradient( 135deg, #A952D9 0%, #ED4B56 100% );
  opacity:0.5
}
.shiro-ba__circle--04 {
  left: -100px;
  bottom: 128px;
  width: 200px;
  height: 200px;
  background: #EED4FC;
  opacity:0.7
}
.shiro-ba__inner {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
.shiro-ba__heading {
  text-align: center;
  margin-bottom: 34px;
}
.shiro-ba__headingIcon {
  width: 42px;
  margin: 0 auto 4px;
}
.shiro-ba__headingIcon img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-ba__title {
  margin: 0;
  color: #101A51;
  font-size: 54px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.18em;
}
.shiro-ba__sub {
  margin: 9px 0 0;
  color: #101A51;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
}
.shiro-ba__lead {
  margin: 26px 0 0;
  color: #101A51;
  font-size: 11px;
  font-weight: 700;
  line-height: 2;
  text-align: center;
}
.shiro-ba-slider {
  position: relative;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  padding-bottom: 58px;
  background: rgba(255, 226, 230, 0.92);
}
.shiro-ba-slider__viewport {
  width: 100%;
  overflow: hidden;
}
.shiro-ba-slider__track {
  display: flex;
  transition: transform 0.7s ease;
  will-change: transform;
}
.shiro-ba-card {
  position: relative;
  flex: 0 0 100%;
  width: 100%;
  padding: 35px 90px 0;
}
.shiro-ba-card__title {
  margin: 0 0 22px;
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.shiro-ba-card__images {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
  margin-bottom:50px
}
.shiro-ba-card__imageBlock {
  min-width: 0;
}
.shiro-ba-card__image {
  width: 100%;
  overflow: hidden;
  background: #fff;
}
.shiro-ba-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border:solid #fff 3px
}
.shiro-ba-card__caption {
  margin: 20px 0 0;
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  display:none;
}
.shiro-ba-slider__arrow {
  position: absolute;
  top: 50%;
  z-index: 10;
  width: 64px;
  height: 64px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}
.shiro-ba-slider__arrow img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-ba-slider__arrow--prev {
  left: 90px;
  transform: translate(-50%, -50%);
}
.shiro-ba-slider__arrow--next {
  right: 90px;
  transform: translate(50%, -50%);
}
.shiro-ba-slider__dots {
  position: absolute;
  left: 50%;
  bottom: 68px;
  z-index: 10;
  display: flex;
  justify-content: center;
  gap: 40px;
  transform: translateX(-50%);
}
.shiro-ba-slider__dot {
  width: 15px;
  height: 15px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.shiro-ba-slider__dot.is-active {
  background: #FF64AC;
}
.shiro-ba-slider__moreWrap {
  position: absolute;
  left: 50%;
  bottom: 13px;
  z-index: 10;
  transform: translateX(-50%);
}
.shiro-ba-slider__more {
  width: 245px;
  height: 38px;
  padding: 0 8px 0 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 22px;
  border-radius: 999px;
  background: #FF64AC;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
.shiro-ba-slider__more span {
  width: 22px;
  height: 22px;
  display: block;
  flex-shrink: 0;
}
.shiro-ba-slider__more img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-service-text {
  font-size:20px;
  color:#101A51;
  text-align:center;
  line-height:1.9;
  margin-bottom:80px
}
.top-width-btn1 {
  width:400px;
  padding:20px 20px;
  top:45px;
  background-color:#FF64AC;
  border:solid 2px #FF64AC
}
.top-width-btn1:hover {
  background: #fff;
  color: #FF64AC;
  border: solid 2px #FF64AC;
}
.top-width-btn1::before {
  content: "\f105";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  background: #fff;
  color: #FF64AC;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .3s, color .3s;
}
.top-width-btn1:hover::before {
  background: #FF64AC;
  color: #fff;
}
.shiro-ba .title-ue {
  text-align: center;
  margin: 0 auto;
  width: 105px;
}
.blog-header .title-ue {
  margin:0;
  width:90px
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-ba {
    padding: 50px 20px 50px;
  }
  .blog-header {
    display:block!important;
    padding:0px;
    margin-bottom:60px
  }
  .blog-header .title-ue {
    margin:0;
    width:40px;
    margin:0 auto
  }
  .blog-en {
    text-align:center;
  }
  .blog-ja {
    text-align:center;
    margin-top:20px!important;
    color:#101A51;
    margin-bottom:0px!important
  }
  .shiro-ba .title-ue {
    text-align: center;
    margin: 0 auto;
    width: 45px;
  }
  .shiro-service-slider__inner .shiro-service-text {
    padding:0px 20px
  }
  .shiro-service-text {
    font-size:15px;
    color:#101A51
  }
  .shiro-ba__bg {
    height: 52%;
  }
  .shiro-ba__circle--01 {
    right: -58px;
    top: 85px;
    width: 130px;
    height: 130px;
  }
  .shiro-ba__circle--02 {
    right: 45px;
    top: 60px;
    width: 52px;
    height: 52px;
  }
  .shiro-ba-card__images {
    margin-bottom:30px;
  }
  .shiro-ba__circle--03 {
    right: -28px;
    bottom: 70px;
    width: 95px;
    height: 95px;
    z-index:1
  }
  .shiro-ba__circle--04 {
    left: -34px;
    bottom: 155px;
    width: 62px;
    height: 62px;
  }
  .shiro-ba__heading {
    margin-bottom: 28px;
  }
  .shiro-ba__headingIcon {
    width: 32px;
  }
  .shiro-ba__title {
    font-size: 30px;
    letter-spacing: 0.14em;
  }
  .shiro-ba__sub {
    font-size: 15px;
  }
  .shiro-ba__lead {
    margin-top: 18px;
    font-size: 10px;
    line-height: 1.8;
  }
  .shiro-ba-slider {
    padding-bottom: 54px;
  }
  .shiro-ba-card {
    padding: 20px 18px 0;
  }
  .shiro-ba-card__title {
    margin-bottom: 16px;
    font-size: 18px;
  }
  .shiro-ba-card__images {
    gap: 10px;
  }
  .shiro-ba-card__caption {
    margin-top: 12px;
    font-size: 14px;
  }
  .shiro-ba-slider__arrow {
    width: 30px;
    height: 30px;
  }
  .shiro-ba-slider__arrow--prev {
    left: 18px;
    transform: translate(-35%, -50%);
  }
  .shiro-ba-slider__arrow--next {
    right: 18px;
    transform: translate(35%, -50%);
  }
  .shiro-ba-slider__dots {
    bottom: 55px;
    gap: 13px;
  }
  .shiro-ba-slider__dot {
    width: 8px;
    height: 8px;
  }
  .shiro-service-text {
    margin-bottom:50px
  }
  .shiro-ba-slider__moreWrap {
    bottom: 10px;
  }
  .top-width-btn1 {
    width: 250px;
    padding: 18px 20px;
    top: 35px;
    background-color: #FF64AC;
    border: solid 2px #FF64AC;
  }
  .shiro-ba-slider__more {
    width: 210px;
    height: 36px;
    gap: 16px;
    font-size: 11px;
  }
  .shiro-ba-slider__more span {
    width: 20px;
    height: 20px;
  }
  .shiro-ba .shiro-ba-slider__arrow {
    top: 43%;
  }
}
.shiro-point-slider {
  position: relative;
  padding: 90px 20px;
  background-color: #fff;
  padding-bottom:180px;
}
.shiro-point-slider * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-point-slider__inner {
  position: relative;
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  margin-bottom:40px;
}
.shiro-point-slider__viewport {
  width: 100%;
  height: 450px;
  overflow: hidden;
  border: 2px solid #A952D9;
  background: #fff;
  position:relative
}
.shiro-point-slider__track {
  height: 100%;
  transition: transform 0.8s ease;
  will-change: transform;
}
.shiro-point-slide {
  width: 100%;
  height: 450px;
  display: grid;
  grid-template-columns: 40% 60%;
  align-items: center;
  background: #fff;
}
.shiro-point-slide__image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.shiro-point-slide__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shiro-point-slide__image--logo {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 35px;
}
.shiro-point-slide__image--logo img {
  width: 82%;
  height: auto;
  object-fit: contain;
}
.shiro-point-slide__body {
  position: relative;
  padding: 0 86px 0 62px;
}
.shiro-point-slide__num {
  margin: 0 0 10px;
  color: #A952D9;
  font-size: 64px;
  font-weight: 900;
  line-height: 1;
}
.shiro-point-slide__num span {
  margin-right: 8px;
  font-size: 20px;
  font-weight: 900;
  vertical-align: middle;
}
.shiro-point-slide__title {
  margin: 0 0 30px;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.55;
}
.shiro-point-slide__text {
  margin: 0;
  color: #101A51;
  font-size: 16px;
  font-weight: 700;
  line-height: 2;
}
.shiro-point-slider__dots {
  position: absolute;
  right: 24px;
  top: 50%;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 13px;
  transform: translateY(-50%);
}
.shiro-point-slider__dots button {
  width: 8px;
  height: 8px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(169, 82, 217, 0.22);
  cursor: pointer;
}
.shiro-point-slider__dots button.is-active {
  background: #A952D9;
}
.feature-btn {
  margin:0 auto;
  margin-top:60px!important;
  width:400px
}
.feature-banner {
  position:absolute;
  left:0;
  right:0;
  z-index:1;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-point-slider {
    padding: 60px 20px;
    padding-bottom:140px
  }
  .feature-btn {
    margin:0 auto;
    margin-top:60px!important;
    width:100%;
  }
  .shiro-point-slider__viewport {
    height: 690px;
    border-width: 2px;
  }
  .shiro-point-slide {
    height: 690px;
    grid-template-columns: 1fr;
    grid-template-rows: 285px 1fr;
  }
  .shiro-point-slide__image--logo {
    padding: 20px 45px;
  }
  .shiro-point-slide__image--logo img {
    width: 100%;
  }
  .shiro-point-slide__body {
    padding: 20px 20px 30px;
  }
  .shiro-point-slide__num {
    margin-bottom: 10px;
    font-size: 34px;
  }
  .shiro-point-slide__num span {
    font-size: 14px;
  }
  .shiro-point-slide__title {
    margin-bottom: 18px;
    font-size: 17px;
    line-height: 1.6;
  }
  .shiro-point-slide__text {
    font-size: 15px;
    line-height: 1.9;
  }
  .shiro-point-slider__dots {
    right: 14px;
    gap: 10px;
  }
  .shiro-point-slider__dots button {
    width: 7px;
    height: 7px;
  }
}
.shiro-about-heading {
  display: flex;
  align-items: end;
  gap: 20px;
  color: #101A51;
  letter-spacing: 0.08em;
  margin-bottom:30px
}
.shiro-about-heading__icon {
  width: 85px;
  flex-shrink: 0;
}
.shiro-about-heading__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-about-heading__title {
  margin: 0;
  color: #101A51;
  font-size: 64px;
  font-weight: 600;
  line-height: 0.8;
  letter-spacing: 0.08em;
}
.shiro-about-heading__text {
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-about-heading {
    gap: 10px;
  }
  .shiro-about-heading__icon {
    width: 34px;
  }
  .shiro-about-heading__title {
    font-size: 32px;
  }
  .shiro-about-heading__text {
    font-size: 14px;
    letter-spacing: 0.08em;
  }
}
.shiro-worry {
  position: relative;
  padding: 200px 20px 0px;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104076-scaled.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color: #101A51;
  top:-180px
}
.shiro-worry * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-worry__inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
.shiro-worry__heading {
  margin-bottom: 60px;
  text-align: center;
  color: #fff;
}
.shiro-worry__icon {
  width: 42px;
  margin: 0 auto 12px;
}
.shiro-worry__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-worry__lead {
  margin: 0 0 10px;
  color: #fff;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.6;
}
.shiro-worry__title {
  margin: 0;
  color: #fff;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.5;
}
.shiro-worry__title span {
  font-size:48px;
}
.shiro-worry__grid {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 45px 45px;
}
.shiro-worry-card {
  background: #fff;
}
.shiro-worry-card__img {
  width: 100%;
  overflow: hidden;
}
.shiro-worry-card__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shiro-worry-card__body {
  min-height: 220px;
  padding: 25px 20px 25px;
}
.shiro-worry-card__title {
  margin: 0 0 17px;
  color: #101A51;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}
.shiro-worry-card__text {
  margin: 0;
  color: #101A51;
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
}
.shiro-worry__arrow {
  width: 270px;
  margin: 110px auto 0;
}
.shiro-worry__arrow img {
  display: block;
  width: 100%;
  height: auto;
}
.worry-banner {
  position:absolute;
  top:-120px;
  left:0;
  right:0;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-worry {
    padding: 70px 20px 60px;
    background-position: center top;
    background-size: cover;
    top: 0px;
  }
  .voice-section {
    padding-bottom:80px
  }
  .worry-banner {
    position: absolute;
    top: -70px;
    left: 0;
    right: 0;
  }
  .shiro-worry__heading {
    margin-bottom: 36px;
  }
  .shiro-worry__icon {
    width: 34px;
    margin-bottom: 10px;
  }
  .shiro-worry__lead {
    font-size: 15px;
    line-height: 1.8;
  }
  .shiro-worry__title {
    font-size: 20px;
    line-height: 1.5;
  }
  .shiro-worry__title span {
    font-size: 24px;
    line-height: 1.5;
  }
  .shiro-worry__grid {
    grid-template-columns: 1fr;
    gap: 35px;
    max-width: 430px;
  }
  .shiro-worry-card__body {
    min-height: auto;
    padding: 25px 20px 25px;
  }
  .shiro-worry-card__title {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.6;
  }
  .shiro-worry-card__text {
    font-size: 15px;
    line-height: 1.9;
  }
  .shiro-worry__arrow {
    width: 150px;
    margin-top: 90px;
  }
}
.shiro-solution {
  position: relative;
  padding: 0px 20px 130px;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104093-1-scaled-e1778980482685.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  color: #101A51;
}
.shiro-solution * {
  box-sizing: border-box;
  letter-spacing: 0.08em;
}
.shiro-solution__inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
}
.shiro-solution__heading {
  margin-bottom: 60px;
  text-align: center;
}
.shiro-solution__icon {
  width: 75px;
  margin: 0 auto 12px;
}
.shiro-solution__icon img {
  display: block;
  width: 100%;
  height: auto;
}
.shiro-solution__title {
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.4;
}
.shiro-solution__catch {
  margin: 0 0 40px;
  color: #101A51;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.45;
}
.shiro-solution__catch span {
  color: #FF64AC;
}
.shiro-solution__lead {
  margin: 0;
  color: #101A51;
  font-size: 20px;
  font-weight: 700;
  line-height: 2;
}
.shiro-solution__grid {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 80px 35px;
}
.shiro-solution__item {
  text-align: center;
}
.shiro-solution__item:nth-child(1),
.shiro-solution__item:nth-child(2),
.shiro-solution__item:nth-child(3) {
  grid-column: span 2;
}
.shiro-solution__item:nth-child(4) {
  grid-column: 2 / span 2;
}
.shiro-solution__item:nth-child(5) {
  grid-column: 4 / span 2;
}
.shiro-solution__img {
  width: 100%;
}
.shiro-solution__img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.shiro-solution__text {
  margin: 20px 0 0;
  color: #101A51;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
/* SP */
@media screen and (max-width: 767px) {
  .shiro-solution {
    padding: 0px 20px 55px;
    background-position: center top;
  }
  .shiro-solution__heading {
    margin-bottom: 40px;
  }
  .shiro-solution__icon {
    width: 50px;
    margin-bottom: 10px;
  }
  .shiro-solution__title {
    margin-bottom: 0px;
    font-size: 24px;
  }
  .shiro-solution__catch {
    margin-bottom: 20px;
    font-size: 24px;
    line-height: 1.55;
  }
  .shiro-solution__lead {
    font-size: 15px;
    line-height: 1.9;
  }
  .shiro-solution__grid {
    max-width: 100%;
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .shiro-solution__item:nth-child(1),
  .shiro-solution__item:nth-child(2),
  .shiro-solution__item:nth-child(3),
  .shiro-solution__item:nth-child(4),
  .shiro-solution__item:nth-child(5) {
    grid-column: auto;
  }
  .shiro-solution__text {
    margin-top: 10px;
    font-size: 15px;
  }
  .header-logo {
    padding:5px!important;
  }
  .site-header {
    position: fixed;
    z-index: 390;
    width: 100%;
    top: 5px!important;
  }
}
.shiro-loading {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url("http://shiro-koubou.com/wp-content/uploads/2026/05/Group-104149-scaled.webp");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  opacity: 1;
  visibility: visible;
  transition: opacity 1s ease, visibility 1s ease;
}
.shiro-loading.is-hide {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.shiro-loading__inner {
  width: 100%;
  max-width: 490px;
}
.shiro-loading__text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  margin-bottom: 18px;
  color: #101A51;
  font-size: 35px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
}
.shiro-loading__bar {
  position: relative;
  width: 100%;
  height: 25px;
  border: 1px solid rgba(237, 75, 86, 1);
  background: rgba(255, 255, 255, 0.45);
  overflow: hidden;
}
.shiro-loading__bar span {
  display: block;
  width: 0%;
  height: 100%;
  background: linear-gradient( 90deg, rgba(169, 82, 217, 1) 0%, rgba(237, 75, 86, 1) 100% );
  transition: width 0.08s linear;
}
body.is-loading {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-flow {
  }
  .shiro-point-slider__dots {
    top:70%
  }
  .flow--inner {
    opacity:1!important
  }
  .shiro-loading__inner {
    max-width: 360px;
  }
  .shiro-loading__text {
    gap: 18px;
    margin-bottom: 14px;
    font-size: 22px;
  }
  .shiro-loading__bar {
    height: 18px;
  }
  .shiro-feature__item {
    display: flex !important;
    flex-direction: column-reverse;
  }
  .shiro-feature__content {
    color: #111943;
    padding: 0px 0px;
  }
}
.plan-section .pcimg {
  max-width:1250px;
  margin:0 auto;
  margin-top: 60px;
}
.shiro-feature .shiro-feature__item {
  grid-template-columns: 1fr!important;
  margin-bottom:0px!important
}
@media screen and (min-width: 1500px) {
  .na-privacy-fv {
    position: relative;
    width: 100%;
    height: 680px!important;
    overflow: hidden;
  }
  .shiro-fv__labels span {
    font-size:35px
  }
}
.privacy-form .wpcf7-form-control-wrap {
  width: 100%!important;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 1400px) {
  .shiro-fv__lead {
    font-size: 25px;
  }
  .shiro-fv__catchLarge {
  }
}
@media screen and (max-width: 1400px) {
  .shiro-fv__labels span {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #A952D9;
    border: 3px solid #fff;
    color: #fff;
    font-size: 33px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    padding: 25px 25px;
  }
  .shiro-fv__catchLarge {
    margin: 0;
    color: #FF64AC;
    font-size: 80px;
    font-weight: 900;
  }
  .shiro-fv__badges {
    position: relative;
    z-index: 6;
    width: 70%;
  }
}
@media screen and (max-width: 1250px) {
  .shiro-fv__labels span {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #A952D9;
    border: 3px solid #fff;
    color: #fff;
    font-size: 30px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    padding: 25px 25px;
  }
  .shiro-fv__catchLarge {
    margin: 0;
    color: #FF64AC;
    font-size: 75px;
    font-weight: 900;
  }
  .shiro-fv__badges {
    position: relative;
    z-index: 6;
    width: 70%;
  }
}
@media screen and (min-width: 767px) {
  .fvshita {
    display:none;
  }
}
@media screen and (max-width: 767px) {
  .shiro-fv__people {
    display:none
  }
  .site-header {
    top:0px!important
  }
  .shiro-fv {
    margin-top:43px
  }
  .shiro-fv__lead {
    font-size: 13px;
  }
  .shiro-fv__lead br {
    display:none
  }
  .shiro-fv {
    background-image:none!important
  }
  .shiro-fv__inner {
    height:auto!important;
    padding: 0px 20px 50px;
    display: block;
    background-color:#f6cad7;
    margin-top:0px;
    min-height: auto!important
  }
  .shiro-fv__catchSmall br {
    display:block
  }
  .shiro-fv__catchLarge {
    margin: 0;
    color: #FF64AC;
    font-size: 35px;
    font-weight: 900;
  }
  .shiro-fv__badges {
    position: relative;
    z-index: 6;
    width: 100%;
    bottom:0px
  }
  .shiro-fv__catchSmall {
    font-size:19px
  }
  .shiro-fv__catch {
    display:flex;
    align-items:center;
    justify-content: start;
  }
  .shiro-fv__area {
    display:none;
  }
  .shiro-fv__catchSmall {
    margin-bottom: 0px;
  }
  .shiro-fv__labels span {
    width: auto;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #A952D9;
    border: 3px solid #fff;
    color: #fff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.08em;
    padding: 10px 10px;
  }
  .shiro-fv__catchLarge {
    margin: 0;
    color: #FF64AC;
    font-size: 37px;
    font-weight: 900;
  }
}

/* Header zoom support */
.header-inner {
  position: relative;
  align-items: center;
  gap: clamp(8px, 1vw, 20px);
  min-width: 0;
}

.header-logo {
  flex: 0 0 auto;
}

.header-logo img {
  width: auto;
  max-width: clamp(180px, 16vw, 286px);
  object-fit: contain;
}

.pc-menu {
  display: flex;
  justify-content: flex-end;
  flex: 1 1 auto;
  min-width: 0;
}

.pc-nav {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  max-width: 100%;
  min-width: 0;
  height: 54px;
  padding: 0 clamp(24px, 2vw, 36px);
  transform: translate(-50%, -50%);
  z-index: 1;
}

.pc-nav-list {
  align-items: center;
  justify-content: center;
  gap: clamp(18px, 1.4vw, 28px);
  min-width: 0;
}

.pc-nav-list li {
  flex: 0 1 auto;
  min-width: max-content;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

.pc-nav-list a {
  flex-direction: row;
  gap: 0;
  min-width: max-content;
  margin-left: 0;
  line-height: 1.2;
  white-space: nowrap;
}

.pc-nav-list span {
  line-height: 1.2;
  white-space: nowrap;
}

.pc-cta {
  flex: 0 0 auto;
  gap: clamp(8px, 0.8vw, 11px);
  margin-right: clamp(8px, 1vw, 20px);
  position: relative;
  z-index: 2;
}

.header-btn .btn {
  min-width: clamp(190px, 14vw, 220px);
  white-space: nowrap;
}

@media screen and (max-width: 1530px) {
  .header-logo img {
    height: 56px;
  }

  .pc-nav {
    height: 54px;
    padding-right: 22px;
    padding-left: 22px;
  }

  .pc-nav-list {
    gap: 18px;
  }

  .pc-nav-list span {
    font-size: 13px !important;
  }

  .header-btn .btn {
    min-width: 190px;
    font-size: 15px;
  }
}

/* FV wide viewport balance */
@media screen and (min-width: 1700px) {
  .shiro-fv__inner {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    padding-left: clamp(48px, 3.125vw, 60px);
  }

  .shiro-fv__people {
    right: 0;
    height: 100%;
    transform: translateX(-18%);
    transform-origin: right bottom;
  }
}
