@charset "utf-8";

/* 横スクロールを根本的に無効化（clip が使えないブラウザは hidden を使用） */
html {
	overflow-x: hidden;
}
/* clip に対応しているブラウザではより安全な clip に上書き */
@supports (overflow-x: clip) or (overflow: clip) {
  html, body { overflow-x: clip; }
}

/* デスクトップで縦スクロールバーの有無による横幅ブレを防ぐ */
html {
	scrollbar-gutter: stable;
}



/* ヘッダーコンテンツ

#header ul li a.left {
    padding-left: 0.7rem;
}
@media screen and (max-width: 768px) {
    #header .navBar .menu-items .spIcons {
        min-height: 0;
        margin: 0 0 20px;
    }
    .headerBtn {
        margin-top: 20px;
    }
    .headerBtn a.corp {
        margin: 0
    }
    .menu-items .spIcons li:first-of-type {
        width: 60px!important;
    }
    .menu-items .spIcons {
        gap: 15px;
    }
    .menu-items .spIcons li {
        margin: 0;
    }
    .menu-items .spIcons li a {
        padding: 0;
    }
    .menu-items .spIcons li img {
        width: 100%;
        height: auto;
    }
    nav ul li a img {
        margin: 0;
    }
    .menu-items .spIcons li:nth-of-type(2),
    .menu-items .spIcons li:nth-of-type(3) {
        width: 30px!important;
    }
    
}
    ---------------------------------------------------------------------------- */


/* トップページ各コンテンツ
---------------------------------------------------------------------------- */
#indexBody .inner h1 {
    display: flex;
    align-items: center;
    justify-content: center;
}
#indexBody .inner h1 span {
    /* margin-left: 15px; */
    /* font-size: 0.9375rem; */
}


/* トップページスライダーの停止を滑らかに
---------------------------------------------------------------------------- */
#newsSlide .strip-row1 > .anim,
#newsSlide .desktop .strip > .anim,
#newsSlide2 .strip-row2 > .anim,
#newsSlide2 .desktop .strip > .anim,
#newsSlide3 .strip-row3 > .anim,
#newsSlide3 .desktop .strip > .anim {
	animation-iteration-count: infinite;
	will-change: transform;
}

/* ===== 行ごとのベース指定（相反指定の一本化） ===== */
/* row1：ゆっくり＆なめらか（ease-out） */
#newsSlide .strip-row1 > .anim,
#newsSlide .desktop .strip > .anim {
	animation-name: stepRow1;
	animation-duration: 14s;
	animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
}

/* row2/row3：row1同様の“スッと止まる”を各移動区間だけに適用（全体はデフォ） */
#newsSlide2 .strip-row2 > .anim,
#newsSlide2 .desktop .strip > .anim {
	animation-name: stepRow2;
	animation-duration: 12s;
}

#newsSlide3 .strip-row3 > .anim,
#newsSlide3 .desktop .strip > .anim {
	animation-name: stepRow3;
	animation-duration: 12s;
}

/* ===== row3 端切れ防止 ===== */
#newsSlide3 .mobile .vp,
#newsSlide3 .desktop .pc-slot {
	overflow: visible;
}

/* ===== keyframes（各1回だけ定義）===== */
/* row1：ピッチ 398px × 4回 */
@keyframes stepRow1 {
	0%   { transform: translateX(0); }
	12%  { transform: translateX(calc(-1 * 398px)); }
	28%  { transform: translateX(calc(-1 * 398px)); }

	40%  { transform: translateX(calc(-2 * 398px)); }
	56%  { transform: translateX(calc(-2 * 398px)); }

	68%  { transform: translateX(calc(-3 * 398px)); }
	84%  { transform: translateX(calc(-3 * 398px)); }

	92%  { transform: translateX(calc(-4 * 398px)); }
	100% { transform: translateX(calc(-4 * 398px)); }
}

/* row2：+318px × 5回（移動12% → 停止8%）*/
@keyframes stepRow2 {
	/* 1コマ目（ease-out） */
	0%   { transform: translateX(0);        animation-timing-function: cubic-bezier(0.22,1,0.36,1); }
	12%  { transform: translateX(318px); }
	20%  { transform: translateX(318px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 2コマ目 */
	32%  { transform: translateX(636px); }
	40%  { transform: translateX(636px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 3コマ目 */
	52%  { transform: translateX(954px); }
	60%  { transform: translateX(954px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 4コマ目 */
	72%  { transform: translateX(1272px); }
	80%  { transform: translateX(1272px);   animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 5コマ目 */
	92%  { transform: translateX(1590px); }
	100% { transform: translateX(1590px); }
}

/* row3：−318px × 5回（row2の逆向き）*/
@keyframes stepRow3 {
	/* 1コマ目（ease-out） */
	0%   { transform: translateX(0);         animation-timing-function: cubic-bezier(0.22,1,0.36,1); }
	12%  { transform: translateX(-318px); }
	20%  { transform: translateX(-318px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 2コマ目 */
	32%  { transform: translateX(-636px); }
	40%  { transform: translateX(-636px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 3コマ目 */
	52%  { transform: translateX(-954px); }
	60%  { transform: translateX(-954px);    animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 4コマ目 */
	72%  { transform: translateX(-1272px); }
	80%  { transform: translateX(-1272px);   animation-timing-function: cubic-bezier(0.22,1,0.36,1); }

	/* 5コマ目 */
	92%  { transform: translateX(-1590px); }
	100% { transform: translateX(-1590px); }
}



#ACCESS .inner {
    padding: 0 20px;
}
.google-map {
    border: 1px #231815 solid;
    border-radius: 20px;
    overflow: hidden;
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    box-sizing: border-box;
}
.google-map iframe {
    display: block;
    width: 100%;
    aspect-ratio: 8 / 3; /* 960:360 に揃える。 */
    border: 0;
    -webkit-filter: grayscale(100%);
    filter: grayscale(100%);
}

.companyName h2 {
    font-size: clamp(1rem, 0.852rem + 0.7vw, 1.375rem);
}
.map dl dt, .map dl dd {
    font-size: clamp(0.875rem, 0.826rem + 0.23vw, 1rem);
}

#footArea .footer .footLogo {
    align-items: flex-end;
    gap: 15px;
}
#footArea .footer .footLogo a {
    display: block;
}

#footArea .footer .footBtn a {
    padding: 0 14px;
    font-weight: 300;
    letter-spacing: -0.0em;
}
@media screen and (max-width: 768px) {
    nav .menu-items .spIcons {
        justify-content: flex-start;
    }
    #footArea .footer .footLogo {
        margin-top: 0;
    }
    #footArea .footer .footLogo > img {
        max-width: min(80px, 50%);
        margin: 0;
    }
    #footArea .footer img.iconInsta {
        margin: 0;
        width: 30px;
        height: 30px;
    }
    #footArea .footer img.iconYoutube {
        margin: 0;
        width: 30px;
        height: 30px;
    }
    #footArea .footer .footLink {
        margin-top: 40px;
    }
    #footArea .footer .footBtn a.corp {
        line-height: 1.5;
    }
}


/*詳細ページ初期ズームアップ行使*/
/* 既存 */
.searchDetail .slider-for img{
  width: 100%;
  border-radius: 6px;
  transform: scale(1);
  transition: transform 5s ease; /* 秒数はお好みで */
  transform-origin: center center; /* 念のため */
}

/* ←初回ズームは is-ready が付いたら発火させる */
.searchDetail.is-ready .slider-for .slick-current img{
  transform: scale(1.1);
}