/* Recruitment carousel: retain original photography and section geometry. */
#slider { position:relative; overflow:hidden; padding-top:70px; }
#slider .sp-slides { position:relative; }
#slider .sp-slide[hidden] { display:none !important; }
#slider .sp-slide:not([hidden]) { display:block !important; position:relative; }
#slider .sp-slide .sp-image { display:block; width:100%; height:auto; }
#slider .sp-layer { position:absolute; top:15%; left:60%; max-width:38%; z-index:2; }
#slider .sp-layer[data-position='centerLeft'] { top:50%; left:4%; transform:translateY(-50%); }
#slider .sp-layer[data-position='centerRight'] { top:50%; left:auto; right:4%; transform:translateY(-50%); }
#slider .sp-layer[data-horizontal] { left:60%; }
#slider .sp-layer[data-vertical] { top:15%; }
.native-slider-controls { position:absolute; top:45%; left:0; right:0; display:flex; justify-content:space-between; pointer-events:none; }
.native-slider-controls button { pointer-events:auto; border:0; background:#0007; color:white; font-size:32px; cursor:pointer; padding:8px 16px; }
@media(max-width:767px){ #slider .sp-layer { top:8%; left:40%; max-width:55%; } }

/* Keep the Sakura Farm comparison aligned beneath the first comparison table. */
.reason .note_02 { display:flow-root; }
.reason table.content_reason_saqura { clear:both; margin-left:auto; margin-right:auto; }

/* Original caption typography retained independently of the removed plugin. */
/* Layers
--------------------------------------------------*/
.sp-layer {
	position: absolute;
	margin: 0;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-backface-visibility: hidden;
}

.sp-black {
	color: #FFF;
	background: rgb(0, 0, 0);
	background: rgba(0, 0, 0, 0.7);
}

.sp-white {
	color: #000;
	background: rgb(255, 255, 255);
	background: rgba(255, 255, 255, 0.7);
}

.sp-rounded {
	border-radius: 10px;
}

.sp-padding {
	padding: 20px;
}
.slider-pro p.sp-layer {
	margin: 0;
	color: #fff;
	writing-mode: tb-rl; /* IE独自仕様 以下縦書き用 */
	writing-mode: vertical-rl;
	-moz-writing-mode: vertical-rl;
	-o-writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
}
.slider-pro p.sp-layer span {
	font-size: 18px;
	line-height: 1.6;
	text-shadow: 0 0 3px #000;
}
.slider-pro div.sp-layer {
	margin: 0;
	color: #fff;
}
.slider-pro div.sp-layer span {
	font-size: 18px;
	line-height: 1.6;
	text-shadow: 0 0 3px #000;
}
.slider-pro div.sp-layer span.no_shadow {
	text-shadow: none;
}
.slider-pro ul.sp-layer {
	margin: 0;
	color: #fff;
}
.slider-pro ul.sp-layer li {
	font-size: 14px;
	margin: 0 0 0.3em;
	line-height: 1.6;
	text-indent: -1em;
	padding: 0 0 0 1em;
}
.slider-pro ul.sp-layer li span {
	color: #facd5a;
}



#slider .sp-layer {max-width:none;}

/* Mobile artwork was designed on a 1280px square canvas. Scale the complete
   overlay, including bitmap captions, together with its background photograph. */
.mobile-recruit .native-mobile-composition {
  position:absolute; inset:0 auto auto 0; width:1280px; height:1280px;
  transform-origin:top left; pointer-events:none;
}
.mobile-recruit #slider .sp-layer { top:0; left:0; max-width:none; }
.mobile-recruit #slider .sp-layer img { max-width:none; }
.mobile-recruit #slider .sp-layer[data-position='centerLeft'] {top:50%;left:0;transform:translateY(-50%);}
.mobile-recruit #slider p.sp-layer span,
.mobile-recruit #slider div.sp-layer span {font-size:52px;font-weight:bold;line-height:1.4;}
.mobile-recruit .native-slider-controls button {font-size:26px;padding:4px 10px;}

/* Original milk-can scroll entrance: staggered drop and gentle landing. */
@media (prefers-reduced-motion: no-preference) {
  .content_04_flex .flex_item_02.milkcan-animate {
    opacity: 0;
    transform: translate3d(0,-75px,0);
    transition: transform 620ms cubic-bezier(.22,1.25,.38,1), opacity 280ms ease-out;
    transition-delay: var(--milkcan-delay,0ms);
    will-change: transform,opacity;
  }
  .content_04_flex .flex_item_02.milkcan-animate.milkcan-visible {
    opacity: 1;
    transform: translate3d(0,0,0);
  }
}

/* Restore the original stationary landscape behind scrolling recruitment content.
   Keep mobile images and layout untouched; fixed backgrounds are unreliable on iOS. */
@media (min-width: 768px) {
  .img-holder[data-image] {
    position: relative;
    min-height: 398px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .img-holder .img-holder-content {
    position: relative;
    z-index: 1;
  }
}
@media (max-width: 767px) {
  .img-holder[data-image] { background-attachment: scroll; }
}

/* Restored original-style red slide selection dots, desktop and mobile. */
#slider .native-slider-dots { position:absolute; z-index:15; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:10px; align-items:center; justify-content:center; }
#slider .native-slider-dots button { appearance:none; width:13px; height:13px; padding:0; border:1px solid #a52d30; border-radius:50%; background:#f5c9ca; cursor:pointer; box-shadow:0 1px 3px #0005; }
#slider .native-slider-dots button.is-active { background:#bd252b; border-color:#bd252b; }
#slider .native-slider-dots button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:767px) { #slider .native-slider-dots { bottom:8px; gap:9px; } #slider .native-slider-dots button { width:12px; height:12px; } }
