@charset"utf-8";
/*
SENYO Web Site ver.2  --  Section CSS
Author : Hideyuki Koyama -MONTAGE lab.(https://www.montagelab.jp)
Latest Updated : 14 May, 2026
*/

/**
 * Table of Contents
 *
 * 1.0 - Home
 * 	1.1 - home-carousel
 * 2.0 - Company
 * 3.0 - Product - Features slide
 * 	3.1 - Product Search filter
 * 	3.2 - Product Item
 * 	3.3 - 観覧車一覧
 * 	3.4 - Product single
 * 4.0 - Restaurant
 * 5.0 - Location
 * 6.0 - New Business
 * 7.0 - Policies
 * 
 */


/* **************************************************************************** */
/*
/* 1.0 - Home
/*
/* **************************************************************************** */

.home-billboard { position:relative; height:75vh;}
.home-billboard:before { position:absolute; bottom:-92px; left:0; z-index:19; content:''; width:100%; height:184px; background:url(../img/common/separator-left.svg) no-repeat center center / 101% auto;}
.home-billboard img { height:75vh; object-fit:cover; object-position:50% 50%;}

.home-slider {
	position:relative; width:100%; height:75vh; overflow:hidden;
}

.home-slider .slide {
	position:absolute; top:0; left:0; z-index:1;
	width:100%; height:100%;
	opacity:0; /* 最初はすべて隠す */
}

.home-slider .slide picture,
.home-slider .slide img {
	width:100%; height:100%; object-fit:cover;
}

/* 支点の定義 */
.origin-top img		{ transform-origin:50% 0%; }
.origin-right img	{ transform-origin:100% 50%; }
.origin-bottom img	{ transform-origin:50% 100%; }
.origin-left img	{ transform-origin:0% 50%; }
.origin-top-left img	{ transform-origin:0% 0%; }
.origin-top-right img	{ transform-origin:100% 0%; }
.origin-bottom-left img { transform-origin:0% 100%; }
.origin-bottom-right img { transform-origin:100% 100%; }
.origin-center img { transform-origin:50% 50%; }


/**
 * loading animation
**/
#loading-screen	{
	position:fixed; top:0; left:0; z-index:100; width:100%; height:100%; 
	display:flex; justify-content:center; align-items:center;
	background:rgba(248, 248, 248, 1); 
}
.lds-rolling {
	animation: lds-spin 0.4s linear infinite;
	will-change: transform; /* ブラウザに最適化を促す */
}
@keyframes lds-spin {
	0%	{ transform:rotate(0deg);}
	100%{ transform:rotate(20deg);}
}
@keyframes lds-scale {
	0%	{ transform:scale(1) rotate(0deg);}
	55%{ transform:scale(0.8) rotate(10deg);}
	100%{ transform:scale(1) rotate(20deg);}
}
.wipe-overlay {
	position:fixed; top:0; left:0; z-index:999; width:100%; height:100%;
	pointer-events:none;
}



.home-section-title	{ position:relative; margin:0; font-weight:700; line-height:1;}
.home-section-title .jp	{ position:absolute; display:block; font-size:2.0rem; letter-spacing:0.1em; text-indent:0.1em;}
.home-section-title .en	{ display:block; padding:8px 0; font-size:4.8rem; font-style:italic; color:var(--color-deep); text-transform:uppercase;}

/* - News - */
.home-news	{ position:relative; z-index:4; padding:80px 5%;}
.home-news:before { position:absolute; bottom:-92px; left:0; z-index:1; content:''; width:100%; height:184px; background:url(../img/home/separator-news-bottom.svg) no-repeat center center / 101% auto;}
.home-news .section-header	{ padding:0 0 2rem; text-align:left;}
.home-news .section-title	{ padding:0 0 2rem;}
.home-news .section-header .btn	{ display:none;}
.home-news .btn	{ text-align:left; font-style:italic;}
.home-news .btn a	{ min-width:160px; background-color:#fff; box-shadow:4px 8px 12px rgba(0,46,159,.2);}
.home-news .section-content	{ text-align:left;}
.home-news .section-content .btn a	{ padding:1.6rem 3rem;}

/* - Product - */
.home-products	{ position:relative; z-index:3; background-color:#AAE7F3;}
.home-products:before { position:absolute; bottom:-92px; left:0; z-index:2; content:''; width:100%; height:184px; background:url(../img/home/separator-product-bottom.svg) no-repeat center center / 101% auto;}
.home-products .section-container	{ position:relative; padding:80px 0; overflow:hidden;}
.home-products .section-container:before { position:absolute; top:-42vw; left:-55vw; z-index:1; content:''; width:140vw; height:140vw; background:url(../img/home/products-wheel.svg) no-repeat center center / 100% auto;}
.home-products .section-header	{ position:relative; z-index:2; padding:0 5% 2rem; text-align:left;}
.home-products .section-title	{ padding:0 0 4rem;}
.home-products .section-title .en	{}
.home-products .section-title .jp	{}
.home-products .btn	{ text-align:left; font-style:italic;}
.home-products .btn a	{ background-color:#fff; box-shadow:4px 8px 12px rgba(0,46,159,.2);}
.home-products .section-content	{ position:relative; z-index:2; text-align:left;}

/* - Location - */
.home-location	{ position:relative; z-index:2; background-color:#F4F4F4;}
.home-location:before { position:absolute; bottom:-92px; left:0; z-index:2; content:''; width:100%; height:184px; background:url(../img/home/separator-location-bottom.svg) no-repeat center center / 101% auto;}
.home-location .section-container	{ position:relative; padding:80px 0; overflow:hidden;}
.home-location .section-container:before	{ position:absolute; top:-550px; left:-500px; z-index:1; content:''; width:900px; height:900px; background:url(../img/home/locations-gradient.svg) no-repeat center center / 100% auto;}
.home-location .section-container:after		{ position:absolute; bottom:-550px; right:-600px; z-index:1; content:''; width:900px; height:900px; background:url(../img/home/locations-circle.svg) no-repeat center center / 100% auto;}
.home-location .section-header	{ position:relative; z-index:2; padding:0 5% 2rem; text-align:left;}
.home-location .section-title	{ padding:0 0 4rem;}
.home-location .section-title .en	{ color:var(--color-location);}
.home-location .btn	{ text-align:left; font-style:italic;}
.home-location .btn a	{ background-color:#fff; border-color:var(--color-location); box-shadow:4px 8px 12px rgba(30,159,0,.2);}
.home-location .btn a:before	{ border-color:var(--color-location);}
.home-location .section-content	{ position:relative; z-index:2; text-align:left;}

/* - Restaurant - */
.home-restaurant	{ position:relative; z-index:1; padding:80px 5%; background-color:#E7BD16;}
.home-restaurant:before { position:absolute; top:0; left:0; z-index:1; content:''; width:100%; height:100%; background:url(../img/home/restaurant-bg.webp) no-repeat center center / cover; filter:brightness(50%);}
.home-restaurant:after  { position:absolute; bottom:-92px; left:0; z-index:1; content:''; width:100%; height:184px; background:url(../img/home/separator-restaurant-bottom.svg) no-repeat center center / 101% auto;}
.home-restaurant .section-header{ position:relative; z-index:2; padding:0 0 2rem; text-align:left;}
.home-restaurant .section-title	{ padding:0 0 4rem;}
.home-restaurant .section-title .en	{ color:#fff;}
.home-restaurant .section-title .jp	{ color:#fff;}
.home-restaurant .btn	{ text-align:left; font-style:italic;}
.home-restaurant .btn a	{ background-color:#fff; border-color:#E7BD16; box-shadow:4px 8px 12px rgba(231,189,22,.5);}
.home-restaurant .btn a:before	{ border-color:#E7BD16;}
.home-restaurant .btn a:after	{ background-image:url(../img/common/arrow--small-yellow.svg);}
.home-restaurant .section-content	{ position:relative; z-index:2; margin:0 auto; max-width:1600px; text-align:left;}
.home-restaurant .home-restauranttiles { margin:0;}
.home-restaurant .sy-restauranttile { margin:0 0 2rem;}
.home-restaurant a .sy-restauranttile-logo:before { 
	position:absolute; top:4px; right:4px; content:''; width:24px; height:24px;
	background:url(../img/common/outbound--restaurant.svg) no-repeat top right / 24px;
}
.home-restaurant .sy-restauranttile-hero	{ overflow:hidden; border-radius:8px;}
.home-restaurant .sy-restauranttile-hero .sy-restauranttile-image	{ transition:all 0.4s ease;}
.home-restaurant a:hover .sy-restauranttile-hero .sy-restauranttile-image	{ transform:scale(1.1);}

/* - Company - */
.home-company	{ position:relative; padding:120px 8% 80px; background:linear-gradient(0deg, #F8FBFD,#EDF6FA);}
.home-company .section-content	{ margin:0 auto; max-width:1600px;}
.home-company .block	{ position:relative; margin:0 0 60px;}
.home-company-title	{ position:absolute; top:-20px; left:-16px; z-index:2; font-style:italic; line-height:1;}
.home-company-title h3	{ font-size:4.2rem; font-weight:700;}
.home-company-hero	{ position:relative; margin:0 0 5px;}
.home-company-hero img	{ aspect-ratio:2 / 1; object-fit:cover; border-radius:8px;}
.home-company-hero figcaption	{ position:absolute; bottom:0; left:5%; text-align:left; font-size:1.6rem; font-weight:700;}
.home-company-hero figcaption span	{ display:inline-block; margin:0 0 8px; padding:0.5em 0.5em; background-color:#fff;}
.home-company-hero figcaption p	{ margin:0;}
.home-company .btn	{}
.home-company .btn a	{ display:block; padding:1.6em 2.4em;}
.home-company .recruit h3	{ color:var(--color-secondary);}
.home-company .recruit .btn a	{ color:#fff; background-color:var(--color-secondary); border:0;}
.home-company .recruit .btn a:before	{ top:calc(50% - 14px); width:24px; height:24px; border:0; border-radius:0; background:url(../img/common/outbound-white--s.svg) no-repeat center / 20px;}
.home-company .recruit .btn a:after	{ background:none;}
.home-company .recruit .btn a:hover	{ background-color:#31deff;}
.home-company .company h3	{ color:var(--color-deep);}
.home-company .company .btn a	{ color:#fff; background-color:var(--color-deep); border:0;}
.home-company .company .btn a:before	{ border-color:#fff;}
.home-company .company .btn a:after	{ background-image:url(../img/common/arrow--small-wh.svg);}
.home-company .company .btn a:hover	{ background-color:var(--color-bright);}
.home-company .company .btn a:hover:after	{ background-image:url(../img/common/arrow--small.svg);}
.home-company .newbiz h3	{ color:var(--color-newbiz);}
.home-company .newbiz .btn a	{ color:#fff; background-color:var(--color-newbiz); border:0;}
.home-company .newbiz .btn a:before	{ border-color:#fff;}
.home-company .newbiz .btn a:after	{ background-image:url(../img/common/arrow--small-wh.svg);}
.home-company .newbiz .btn a:hover	{ background-color:#22cf59;}
.home-company .newbiz .btn a:hover:after	{ background-image:url(../img/common/arrow--small.svg);}



/* >= 720px							 */
@media screen and (min-width: 720px) {

	.home-section-title .jp	{ font-size:2.4rem;}
	.home-section-title .en	{ font-size:7.2rem;}

	.home-products .section-container	{ padding:100px 0;}
	.home-products .section-container:before { top:-44vw; left:-50vw; width:124vw; height:124vw;}
	.home-products .section-header	{ text-align:right;}
	.home-products .section-title .jp	{ right:0;}
	.home-products .section-title .en	{ text-align:right;}
	.home-products .btn	{ text-align:right;}

	.home-location .section-container	{ padding:100px 0;}
	.home-location .section-container:before	{ top:-550px; left:-300px;}
	.home-location .section-container:after		{ bottom:-550px; right:-400px;}
	.home-location .section-header	{ padding:0 5% 6rem;}
	.home-location .section-title	{ padding:0 0 2.4rem;}
	.home-location .btn	{ position:relative;}
	.home-location .btn a	{ position:absolute; bottom:0; right:0;}

	.home-restaurant	{ padding:100px 5%;}
	.home-restaurant .section-header	{ text-align:right;}
	.home-restaurant .section-title .jp	{ right:0;}
	.home-restaurant .section-title	{ text-align:right; }
	.home-restaurant .btn	{ text-align:right;}
	.home-restaurant .home-restauranttiles	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.home-restaurant .sy-restauranttile	{ width:49%;}
	.home-restaurant a .sy-restauranttile-logo:before { background-size:14px;}

	.home-company	{ padding:120px 5% 80px;}
	.home-company .blocks	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.home-company .block	{ width:48%;}
	.home-company-title h3	{ font-size:5.0rem;}
	.home-company-hero figcaption	{ font-size:1.8rem;}
	.home-company .btn	{ font-size:1.6rem;}


}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.home-news .section-container	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.home-news .section-header	{ width:23%; text-align:right;}
	.home-news .section-content	{ width:70%; padding:20px 0;}
	.home-news .section-title	{ padding:0 0 5rem;}
	.home-news .section-title .jp	{ right:0;}
	.home-news .section-header .btn		{ display:block; text-align:right;}
	.home-news .section-content .btn	{ display:none;}

	.home-products .section-container:before { top:-35vw; left:-35vw; width:90vw; height:90vw;}
	.home-location .section-container:before	{ top:-70vw; left:-50vw; width:110vw; height:110vw;}
	.home-location .section-container:after		{ bottom:-55vw; right:-50vw; width:100vw; height:100vw;}

	.home-restaurant .section-header	{ padding:0;}
	.home-restaurant .sy-restauranttile	{ width:48%;}
	.home-restaurant .btn	{ position:relative; display:inline-block; height:20px; text-align:left;}
	.home-restaurant .btn:before	{ content:'RESTAURANT'; font-size:7.2rem; font-weight:700; color:transparent; text-transform:uppercase;}
	.home-restaurant .btn a	{ position:absolute; bottom:0; left:0;}

	.home-company	{ padding:120px 5% 80px;}
	.home-company .block	{ width:32%;}
	.home-company-title h3	{ font-size:4.2rem;}
	.home-company-hero figcaption	{ font-size:1.5rem;}
	.home-company .btn	{ font-size:1.4rem;}

}

/* >= 1280px							 */
@media screen and (min-width: 1280px) {

	.home-section-title .jp	{ font-size:2.8rem;}
	.home-section-title .en	{ font-size:8.6rem;}

	.home-news	{ padding:140px 5% 100px;}

	.home-products .section-container	{ padding:140px 0;}
	.home-products .btn	{ position:relative; display:inline-block; height:20px; text-align:left; font-size:2.0rem;}
	.home-products .btn:before	{ content:'PRODUCTS'; font-size:8.6rem; font-weight:700; color:transparent; text-transform:uppercase;}
	.home-products .btn a	{ position:absolute; bottom:0; left:0;}

	.home-location .section-container	{ padding:140px 0;}
	.home-location .section-container:before	{ top:-60vw; left:-40vw; width:100vw; height:100vw;}
	.home-location .section-container:after		{ bottom:-55vw; right:-50vw; width:98vw; height:98vw;}
	.home-location .section-header	{ padding:0 5% 8rem;}
	.home-location .section-title	{ padding:0 0 2.8rem;}
	.home-location .btn	{ font-size:2.0rem;}

	.home-restaurant	{ padding:140px 5%;}
	.home-restaurant .btn	{ height:20px; font-size:2.0rem;}
	.home-restaurant .btn:before	{ font-size:8.6rem;}
	.home-restaurant a .sy-restauranttile-logo:before { background-size:18px;}

	.home-company	{ padding:140px 5%;}
	.home-company-title	{ top:-28px;}
	.home-company-title h3	{ font-size:5.0rem;}
	.home-company-hero figcaption	{ font-size:1.8rem;}
	.home-company .btn	{ font-size:1.6rem;}

}

/* >= 1440px                            */
@media screen and (min-width: 1440px) {

	.home-section-title .jp	{ font-size:3.0rem;}
	.home-section-title .en	{ font-size:9.2rem;}

	.home-products .section-container	{ padding:160px 0;}
	.home-products .btn:before	{ font-size:9.2rem;}

	.home-location .section-container	{ padding:160px 0;}
	.home-location .section-header	{ padding:0 5% 8rem;}
	.home-location .section-title	{ padding:0 0 3.0rem;}

	.home-restaurant	{ padding:160px 5%;}
	.home-restaurant .btn:before	{ font-size:9.2rem;}

	.home-company	{ padding:160px 5%;}
	.home-company-title h3	{ font-size:6.0rem;}
	.home-company-hero figcaption	{ font-size:2.1rem;}
	.home-company .btn	{ font-size:1.7rem;}

}

/* >= 1600px                            */
@media screen and (min-width: 1660px) {

	.home-billboard:before,
	.home-news:before,
	.home-products:before,
	.home-location:before,
	.home-restaurant:after	{ bottom:-136px; height:272px;}

	.home-section-title .jp	{ font-size:3.3rem;}
	.home-section-title .en	{ font-size:11.0rem;}

	.home-news	{ padding:160px 5%;}

	.home-products .section-container	{ padding:200px 0;}
	.home-products .btn:before	{ font-size:11.0rem;}

	.home-location .section-container	{ padding:200px 0;}
	.home-location .section-header	{ padding:0 5% 100px;}
	.home-location .section-title	{ padding:0 0 3.3rem;}
	
	.home-restaurant	{ padding:200px 5%;}
	.home-restaurant .btn:before	{ font-size:11.0rem;}
	.home-restaurant a .sy-restauranttile-logo:before { background-size:24px;}

	.home-company	{ padding:200px 5%;}
	.home-company-title	{ top:-36px;}
	.home-company-title h3	{ font-size:7.0rem;}
	.home-company-hero figcaption	{ font-size:2.4rem;}
	.home-company .btn	{ font-size:1.8rem;}
	.home-company .recruit .btn a:before	{ background-size:24px;}

}



/**
 * 1.1 home-carousel
**/

.home-carousel .carousel-container {
	display:flex;
	position:relative; width:100%; height:auto;
}

/* --- Main Area (Left) --- */
.home-carousel .main-display	{ position:relative; z-index:10; padding:0 4%; width:80%;}
.home-carousel .main-stage		{ position:relative; width:100%; }

/* フェードで重ねるための設定 */
.home-carousel .main-item-inner {
	position:absolute; bottom:0; left:0; z-index:1;
	width:100%;
	opacity:0; /* 初期状態は透明 */
}
.home-carousel .main-item-inner.is-active { z-index:2; opacity:1;}

/* --- Sub Area (Right) --- */
.home-carousel .sub-slider-viewport {
	position:relative; width:20%;
	overflow:hidden;
}
.home-carousel .sub-slider-items {
	display:flex; align-items:flex-end;
	margin:0; padding:0; height:100%;
	will-change:transform;
}
.home-carousel .sy-tags	{ display:none;}

/* --- Slide Items --- */
.home-carousel .slide-item-wrap {
	flex-shrink:0;
	margin:0; padding:0 8px; width:48vw; 
	box-sizing: border-box;
}

/* --- Nav --- */
.slide-nav {
	position:absolute; top:4px; left:8px; z-index:20;
	display:flex; gap:5px;
}
.slide-nav button	{
	position:relative; margin:0; padding:0; background:transparent; outline:none;
	width:30px; height:30px; font-size:0;
	border:1px solid var(--color-primary); border-radius:100px;
}
.slide-nav button span	{}
.slide-nav button.prev-btn span:before	{ position:absolute; top:0; left: 0; content:''; width:28px; height:28px; background:url(../img/common/arrow--small.svg) no-repeat center / 23px; transform:rotate(180deg); transition:all 0.1s ease-out;}
.slide-nav button.next-btn span:before	{ position:absolute; top:0; right:0; content:''; width:28px; height:28px; background:url(../img/common/arrow--small.svg) no-repeat center / 23px; transition:all 0.1s ease-out;}
.slide-nav button.prev-btn:hover span:before	{ left: -4px;}
.slide-nav button.next-btn:hover span:before	{ right:-4px;}


/* --- Products --- */
.home-carousel .sub-slider-items .sy-producttile .sy-producttile-title	{ font-size:1.2rem;}

/* --- Location --- */
.home-location .slide-nav button	{ border-color: var(--color-location);}
.home-location .slide-nav button.prev-btn span:before	{ background-image:url(../img/common/arrow--location.svg);}
.home-location .slide-nav button.next-btn span:before	{ background-image:url(../img/common/arrow--location.svg);}
.home-carousel .sy-locationtile a	{ background-color:var(--color-location);}
.home-carousel .sy-locationtile a:hover	{ background-color:#6bd452;}
.home-carousel .sy-locationtile .sy-locationtile-hero   { padding:0 0 4px;}
.home-carousel .sy-locationtile .sy-locationtile-title	{ margin:0 0 4px; font-size:1.5rem; line-height:1.5; color:#fff;}
.home-carousel .sy-locationtile .sy-locationtile-title:before	{ background-image:url(../img/common/outbound-white--s.svg);}
.home-carousel .sy-locationtile .sy-locationtile-title .field:before	{ left:2px; background-color:#fff;}
.home-carousel .sub-slider-items .sy-locationtile .sy-locationtile-title	{ font-size:1.2rem; line-height:1.2;}
.home-carousel .sub-slider-items .sy-locationtile .sy-locationtile-title:before	{ position:absolute; top:calc(50% - 20px); right:0; content:''; width:20px; height:20px; background:url(../img/common/outbound-white--s.svg) no-repeat center / 16px;}
.home-carousel .sub-slider-items .sy-locationtile .sy-locationtile-title .field	{ padding:0 0 0 1.6rem; width:calc(100% - 30px);}



/* --- Responsive Widths --- */
@media (min-width: 720px) {
	.home-carousel .main-display { width:50%;}
	.home-carousel .sub-slider-viewport { width:50%;}
	.home-carousel .slide-item-wrap { width:60%;}
	.home-carousel .sub-slider-viewport:before { position:absolute; top:18px; right:0; content:''; width:calc(100% - 90px); height:0; border-top:1px solid var(--color-primary);}
	.home-products .home-carousel .sub-slider-viewport:before { border-color:var(--color-primary);}
	.home-location .home-carousel .sub-slider-viewport:before { border-color:var(--color-location);}
}
@media (min-width: 1024px) {
	.home-carousel .main-display { width:40%;}
	.home-carousel .sub-slider-viewport { width:60%;}
	.home-carousel .slide-item-wrap { width:36%;}
}
@media (min-width: 1280px) {
	.home-carousel .main-display { width:35%;}
	.home-carousel .sub-slider-viewport { width:65%;}
	.home-carousel .slide-item-wrap { width:21vw }
	.home-carousel .sub-slider-viewport:before { top:24px; width:calc(100% - 128px);}
	.slide-nav { gap:16px;}
	.slide-nav button	{ width:40px; height:40px;}
	.slide-nav button.prev-btn span:before,
	.slide-nav button.next-btn span:before	{ width:38px; height:38px;} 
}
@media (min-width: 1440px) {
	.home-carousel .main-display { width: 35%; }
	.home-carousel .sub-slider-viewport { width: 65%; }
	.home-carousel .slide-item-wrap { width: 19vw; }
	.home-carousel .sub-slider-viewport:before { top:34px; width:calc(100% - 168px);}
	.slide-nav button	{ width:60px; height:60px;}
	.slide-nav button.prev-btn span:before,
	.slide-nav button.next-btn span:before	{ width:58px; height:58px;} 
	
	.home-carousel .sub-slider-items .sy-producttile .sy-producttile-title	{ font-size:1.4rem;}
	.home-carousel .sub-slider-items .sy-locationtile .sy-locationtile-title	{ font-size:1.3rem; line-height:1.3;}

}







/* **************************************************************************** */
/*
/* 2.0 - Company
/*
/* **************************************************************************** */

.container-default-color	{ background-color:#EFF2F3;}
.sticky-side	{ padding:80px 5%;}
.pagenav	{ padding:24px; text-align:left; background-color:rgba(255,255,255,1); border-radius:8px;}
.pagenav .menu	{ border-top:1px solid rgba(0,0,0,.25);}
.pagenav .menu li	{ margin:0; padding:0; font-size:1.6rem; font-weight:500; line-height:1.5; border-bottom:1px solid rgba(0,0,0,.25);}
.pagenav .menu li:before	{ background:none; border:0;}
.pagenav .menu a	{ display:block; position:relative; padding:1.0em 0;}
.pagenav .menu a:before	{
	position:absolute; top:calc(50% - 12px); right:2px; content:''; width:23px; height:23px; 
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
	transform:rotate(90deg); transition:all 0.2s ease;
	border:1px solid var(--color-primary); border-radius:50px;
}
.pagenav .menu a:hover	{}
.pagenav .menu > li > a:hover:before	{ background-image:url(../img/common/arrow--small-wh.svg); background-color:var(--color-primary);}
.pagenav .menu a span	{ display:inline-block;}

.pagenav .sub-menu li	{ font-size:1.3rem; font-weight:400; border:0;}
.pagenav .sub-menu a	{ padding:0.5em 0;}
.pagenav .sub-menu a:before	{
	position:absolute; top:calc(50% - 5px); right:8px; content:''; width:11px; height:11px; 
	background:url(../img/common/arrow--small.svg) no-repeat center / 23px;
	transform:rotate(90deg);
	border:0;
}

.company-wrap	{}

.company-titles	{ margin:0 0 4rem; font-weight:500; text-align:left; line-height:1;}
.company-titles .en	{ display:block; padding:8px 0; font-size:1.5rem; font-style:italic; color:var(--color-bright);}
.company-titles .jp	{ display:block; font-size:3.3rem; letter-spacing:0.1em;}



/**
 * 2.1 - ご挨拶
**/
.company-message	{ text-align:left;}
.company-message-header	{ padding:0 5%;}
.company-message .status	{ margin:0 0 1.4rem; line-height:1.8;}
.company-message .name	{ margin:0 0 2.0rem; font-size:2.0rem; font-weight:500; line-height:1;}
.company-message .ceo	{}
.company-message .ceo img	{ aspect-ratio:2 / 1; object-fit:cover;}
.company-message .message	{ padding:5rem 8%;}
.company-message .message .content	{ margin:0; max-width:800px;}
.company-message-content	{ padding-bottom:8rem;}
.mizu li	{ padding:0;}
.mizu li:before	{ background:none; border:0;}
.mizu .num 	{ display:inline-block; float:left; line-height:1.8;}
.mizu li p	{ padding:0 0 0 2em; line-height:1.8;}
.yuu strong	{ font-size:2.0rem;}


/**
 * 2.2 - 会社概要
**/
.company-outline	{ position:relative; text-align:left;}
.company-outline:before	{
	position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; 
	background:url(../img/common/separator-right.svg) no-repeat center center / 101% auto;
}

.company-outline dl	{ border-top:1px solid rgba(0,0,0,.25);}
.company-outline dt	{ display:inline-block; float:left; padding:2.0rem 0 0; font-weight:400; color:var(--color-primary);}
.company-outline dd	{ padding:2.0rem 0 2.0rem 7em; border-bottom:1px solid rgba(0,0,0,.25);} 
.company-outline dd ul	{ margin:0;}
.company-outline dd ul li:before	{ top:0.6em; background-color:var(--color-primary);}
.company-outline-content	{ padding:0 8%;}

.company-access	{ position:relative; text-align:left;}
.company-access:before	{
	position:absolute; top:10px; left:0; content:''; width:100%; height:50%;
	background-color:#C8E8EE;
	transform:skew(0, 5deg);
}
.company-access:after	{
	position:absolute; top:0; left:0; content:''; width:100%; height:100%;
	background:linear-gradient(0deg, #F3F3F3, #F8F9FA);
	transform:skew(0, -5deg);
}
.company-access-content	{ position:relative; z-index:2; padding:0 8%;}
.company-access .access-block address	{ margin:0 0 0.5em; line-height:1.5;}
.company-access .access-block .number	{ margin:0; line-height:1.8;}
.company-access .access-block .blocks	{ 
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	padding:2rem 0 0;
}
.company-access .access-block .blocks .block:nth-child(1)	{ width:72%;}
.company-access .access-block .blocks .block:nth-child(2)	{ width:25%;}
.company-access .access-block ul	{ margin:1em 0;}
.company-access .access-block ul li	{}
.company-access .access-block ul li:before	{ top:0.6em; background-color:var(--color-primary);}

.company-access .access-block	{ padding:5rem 0; border-bottom:1px solid rgba(0,0,0,.25);}
.company-access .access-list	{ margin:1em 0;}
.company-access .access-list li	{  padding:1.6rem 0; border-bottom:1px solid rgba(0,0,0,.25);}
.company-access .access-list li:before	{ background:none; border:0;}



/**
 * 2.3 - 安全と技術
**/
.company-safety	{ text-align:left;}
.company-safety-header	{ padding:0 5%;}
.company-safety-header h2	{ font-weight:400;}
.company-safety-header p	{ line-height:2.1;}
.company-safety-content img	{ aspect-ratio:3 / 2; object-fit:cover;}

.company-safety .blocks	{ padding-bottom:50px;}
.company-safetyflow	{ padding:0 8%;}
.safety-flow	{}
.safety-flow ul	{ 
	margin:0; padding:0;
	display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start;
}
.safety-flow li	{ margin:0 0 30px; padding:16px; color:#fff; border-radius:8px;}
.safety-flow li:before	{ background:none; border:0;}
.safety-flow li:after	{
	position:absolute; bottom:-24px; left:calc(50% - 21px); content:''; width:0; height:0; border:solid transparent; border-width:15px 21px 0 21px; border-top-color:var(--color-primary);
}
.safety-flow li:last-child:after	{ border:0;}
.safety-flow figure	{}
.safety-flow figure img	{ aspect-ratio:2 / 1; object-fit:cover; border-radius:4px;}
.safety-flow .safety-flow-header	{ padding:1.6rem 0; text-align:center; border:dashed #fff; border-width:0 0 1px 0;}
.safety-flow .safety-flow-title	{ margin:0; font-weight:400; line-height:1;}
.safety-flow .safety-flow-title .jp	{ display:block; font-weight:700;}
.safety-flow .safety-flow-title .en	{ font-size:1.4rem; font-weight:400;}
.safety-flow .safety-flow-content	{ padding:1.6rem 0 0; text-align:left;}
.safety-flow .safety-flow-content p	{ margin:0;}
.safety-flow li:nth-child(1)	{ background-color:#03B7D8;}
.safety-flow li:nth-child(2)	{ background-color:#03AAD0;}
.safety-flow li:nth-child(3)	{ background-color:#029CC7;}
.safety-flow li:nth-child(4)	{ background-color:#028FBE;}
.safety-flow li:nth-child(5)	{ background-color:#0180B5;}
.safety-flow li:nth-child(6)	{ background-color:#0174AD;}
.safety-flow li:nth-child(7)	{ background-color:#005fa0;}


/**
 * 2.4 - 事業内容
**/
.company-business	{ text-align:left;}
.company-business-header	{ padding:0 5%;}
.company-business-header h2	{}
.company-business-header p	{ line-height:2.1;}
.company-business-content	{}
.company-business-content img	{ aspect-ratio:3 / 2; object-fit:cover;}

.company-business-field	{ padding-top:0; text-align:left;}
.company-business-field-header	{ padding:0 5%;}
.company-business-field-header h2	{}
.company-business-field-content	{}
.company-business-field-content img	{ aspect-ratio:3 / 2; object-fit:cover;}

.company-business-list	{ padding:0 8% 100px;}
.company-business-list .block-single	{ margin:0 auto; max-width:1600px;}
.company-business-list ul	{ 
	display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-start;
	margin:0; padding:0;
}
.company-business-list li	{ margin:0 0 2rem; padding:0; text-align:left;}
.company-business-list li:before	{ background:none; border:0;}
.company-business-list h3	{ 
	position:absolute; top:10px; left:3%; z-index:1; 
	margin:0; width:94%;
	font-size:1.7rem; font-weight:500;
}
.company-business-list h3 span	{ 
	display:block; position:relative;
	padding:1.1rem 0.4rem 1.1rem 1.6rem;  
	color:#fff;
	background-color:var(--color-deep); border-radius:8px;
	box-shadow:5px 5px 0 rgba(77, 111, 243, .5);
}
.company-business-list h3 span:before	{
	position:absolute; top:10%; left:4px; content:''; width:3px; height:80%;
	background-color:var(--color-light); border-radius:10px;
}
.company-business-list figure	{ position:relative;}
.company-business-list figure img	{ aspect-ratio:4 / 3; object-fit:cover; border-radius:8px;}
.company-business-list figcaption	{ 
	position:absolute; top:auto; bottom:4px; left:auto; right:4px;
	padding:0.1em 0.8em;
	text-align:right; font-size:1.2rem; font-weight:400; line-height:1.4;
	background-color:rgba(255,255,255,.8); border-radius:4px;
}


/**
 *  2.5 - 実績
**/
.company-archive	{ position:relative; z-index:2;}
.company-archive	{ padding:0 8%;}
.company-archive figure	{ margin:0 0 4rem;}
.company-archive figure img	{ border-radius:4px;}
.company-archive figcaption	{}
.company-archive figcaption p	{ margin:0; padding:1rem 0; line-height:1.5;}
.company-archive figcaption .url	{ line-height:1;}
.company-archive figcaption .url a	{}
.company-archive figcaption .url span	{ display:inline-block; position:relative; padding:0.5rem 33px 0.5rem 1em; font-size:1.2rem; background-color:#fff; border-radius:8px;}
.company-archive figcaption .url span:after	{ 
	position:absolute; top:calc(50% - 7px); right:8px; content:''; width:15px; height:15px;
	background:url(../img/common/outbound--ss.svg) no-repeat center / 15px; filter: grayscale(1);
}
.archive-gallery	{ padding:0 0 1px;}
.archive-gallery figure img	{ aspect-ratio:3 / 2; object-fit:cover;}
.archive-gallery figure img.aspect-ratio-auto	{ aspect-ratio:auto;}

.archive-table	{}
.archive-table th:nth-child(1),
.archive-table td:nth-child(1),
.archive-table th:nth-child(2),
.archive-table td:nth-child(2),
.archive-table th:nth-child(3),
.archive-table td:nth-child(3),
.archive-table td:nth-child(4)	{ white-space:nowrap;}

.company-archive-content	{}
.company-archives	{ position:relative; text-align:left;}
#domestic1.company-archives:before	{
	position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; 
	background:url(../img/common/separator-left.svg) no-repeat center center / 101% auto;
}

.company-archives-domestic:before	{
	position:absolute; top:10px; left:0; content:''; width:100%; height:50%;
	background-color:#C3CCE3;
	transform:skew(0, 5deg);
}
.company-archives-domestic:after	{
	position:absolute; top:0; left:0; content:''; width:100%; height:100%;
	background:linear-gradient(0deg, #F3F3F3, #F8F9FA);
	transform:skew(0, -5deg);
}

.company-archives-abroad:before	{
	position:absolute; top:0; left:0; content:''; width:100%; height:100%;
	background:linear-gradient(0deg, #F3F3F3, #F8F9FA);
	transform:skew(0, -5deg);
}
.company-archives-abroad:after	{
	position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; 
	background:url(../img/common/separator-abroad.svg) no-repeat center center / 101% auto;
}

.company-archives-exhibition:before	{
	position:absolute; top:0; left:0; content:''; width:100%; height:100%;
	background:linear-gradient(0deg, #F3F3F3, #F8F9FA);
	transform:skew(0, -5deg);
}
.company-archives-exhibition:after	{
	position:absolute; top:-92px; left:0; content:''; width:100%; height:184px; 
	background:url(../img/common/separator-exhibition.svg) no-repeat center center / 101% auto;
}

.company-archives-abroad .bounce-primary:before	{ background-image:url(../img/common/bounce-primary-abroad.svg);}
.company-archives-exhibition .bounce-primary:before	{ background-image:url(../img/common/bounce-primary-exhib.svg);}


/* >= 720px							 */
@media screen and (min-width: 720px) {

	.mizu li:last-child .num 	{ padding-top:0.6rem;}

	.company-business-list	{ padding:0 4% 100px;}
	.company-business-list ul	{ flex-flow:row wrap;}
	.company-business-list ul li	{ margin:0; padding:8px; width:50%;}
	.company-business-list h3	{ padding:8px;}

	/**
	 * 安全と技術
	**/
	.safety-flow li	{
		display:grid;
		grid-template-columns: 35% 1fr;
		grid-template-rows:auto 1fr;
		grid-column-gap:4%;
	}
	.safety-flow figure	{ grid-row:1 / 3; grid-column:1;}
	.safety-flow .safety-flow-header	{ grid-row:1; grid-column:2; padding:0 0 1.2rem;}
	.safety-flow .safety-flow-title .jp	{ font-size:1.8rem;}
	.safety-flow .safety-flow-content	{ grid-row:2; grid-column:2;}


}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	/**
	 * 会社案内共通
	**/
	.company-titles	{ margin:0 0 4rem;}
	.company-titles .en	{ padding:0 0 16px; font-size:2.0rem; letter-spacing:0.02em;}
	.company-titles .jp	{ font-size:4.0rem; }

	/**
	 * ページ内アンカーリンク
	**/
	.with-sticky-side	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.sticky-side	{ 
		position:sticky; top:0; left:0; z-index:2; padding:100px 5% 80px;
		width:30%;
	}
	.with-sticky-side .container	{ padding-left:36%; width:100%;}
	.with-sticky-side .container:first-of-type	{ padding-left:0; width:64%;}
	.pagenav	{ padding:0; background-color:transparent; border-radius:0;}
	.pagenav .menu a	{ padding:1.6em 0;}
	.pagenav .sub-menu a	{ padding:0.5em 0;}


	/**
	 * ご挨拶
	**/
	.company-message .blocks	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	}
	.company-message .company-message-header	{ padding:0 5% 0 9%; width:40%;}
	.company-message .company-message-content	{ width:60%;}
	.company-message .ceo img	{ border-radius:20px 0 0 20px;}
	.company-message .message	{ padding:6rem 10% 6rem 0;}
	.company-message .message p	{ line-height:2.5;}


	/**
	 * 会社概要
	**/
	.company-outline	{}
	.company-outline:before	{ width:0; height:0; background:none;}
	.company-outline-content,
	.company-access-content	{ padding:0 8% 0 0;}
	.company-access .access-block .blocks .block:nth-child(1)	{ width:68%;}
	.company-access .access-block .blocks .block:nth-child(2)	{ width:30%;}
	.company-access .access-list	{}
	.company-access .access-list li	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		margin:0; padding:1.6rem 0;
	}
	.company-access .access-list .access-list-name	{ width:25%;}
	.company-access .access-list .access-list-content	{ flex-grow:1;}
	.company-access .access-list p	{ margin:0;}


	/**
	 * 安全と技術
	**/
	.company-safety .blocks	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
		padding-bottom:80px;
	}
	.company-safety .company-safety-header	{ padding:0 5% 0 9%; width:50%;}
	.company-safety .company-safety-content	{ width:50%;}
	.company-safety-content img	{ border-radius:20px 0 0 20px; aspect-ratio:1 / 1;}

	.company-safetyflow	{ padding:0 8%;}
	.company-safetyflow > .block-single	{ margin:0 auto; max-width:1440px;}
	.safety-flow li	{
		grid-template-columns: 25% 25% 1fr;
		grid-column-gap:0;
		align-items:stretch;
	}
	.safety-flow li:after	{ left:calc(38% - 21px);}
	.safety-flow figure	{ grid-row:1; grid-column:1;}
	.safety-flow .safety-flow-header	{ 
		grid-row:1; grid-column:2; padding:1em 0; border-width:0 1px 0 0; 
		display:flex; flex-flowc:column wrap; justify-content:center; align-items:center;
	}
	.safety-flow .safety-flow-content	{ 
		grid-row:1; grid-column:3; padding:0 0 0 2em;
		display:flex; flex-flowc:column wrap; justify-content:center; align-items:center;
	}


	/**
	 * 事業内容
	**/
	.company-business .blocks	{
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:stretch;
	}
	.company-business .company-business-header	{ padding:0 5% 0 9%; width:50%;}
	.company-business .company-business-content	{ width:50%;}
	.company-business-content	{}
	.company-business-content figure	{ height:100%;}
	.company-business-content img	{ border-radius:20px 0 0 20px; height:100%; aspect-ratio:auto;}

	.company-business-field .blocks	{
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:center;
	}
	.company-business-field .company-business-field-header	{ padding:0 9% 0 5%; width:50%;}
	.company-business-field .company-business-field-content	{ width:50%;}
	.company-business-field-content	{}
	.company-business-field-content figure	{ height:100%;}
	.company-business-field-content img	{ border-radius:0 20px 20px 0; aspect-ratio:1 / 1;}

	.company-business-list ul li	{ padding:4px; width:calc(100% / 3);}
	.company-business-list h3	{ padding:4px; font-size:1.3rem;}


	/**
	 * 実績
	**/
	#domestic1.company-archives:before	{ width:0; height:0; background:none;}
	.company-archive	{ padding:0 8% 0 0;}


}

/* >= 1280px							 */
@media screen and (min-width: 1280px) {

	/**
	 * ページ内アンカーリンク
	**/
	.sticky-side	{ width:30%;}

	/**
	 * ご挨拶
	**/
	.company-titles .en	{ font-size:2.4rem;}
	.company-titles .jp	{ font-size:4.4rem;}
	.company-message .ceo img	{ aspect-ratio:9 / 5;}

	/**
	 * 安全と技術
	**/
	.company-safety .blocks	{ padding-bottom:80px;}
	.company-safety-header	{ width:40%;}
	.company-safety-content	{ width:60%;}
	.company-safety-content img	{ aspect-ratio:5 / 4;}
	.safety-flow .safety-flow-content	{ padding:0 3em;}

	/**
	 * 事業内容
	**/
	.company-business-list	{ padding:0 4% 150px;}
	.company-business-list ul li	{ width:25%;}
	.company-business-content img	{}
	.company-business-field-content img	{ aspect-ratio:3 / 2;}
	.company-business-list h3	{ font-size:1.4rem;}

}

/* >= 1440px							 */
@media screen and (min-width: 1440px) {

	/**
	 * 安全と技術
	**/
	.company-safety-content img	{ aspect-ratio:4 / 3;}
	.safety-flow .safety-flow-title .jp	{ font-size:2.1rem;}
	.safety-flow .safety-flow-title .en	{ font-size:1.6rem;}

	/**
	 * 事業内容
	**/
	.company-business	{ padding-bottom:100px;}
	.company-business-list h3	{ font-size:1.6rem;}
	.company-business-list figcaption	{ font-size:1.3rem;}


}

/* >= 1660px							 */
@media screen and (min-width: 1660px) {

	/**
	 * ページ内アンカーリンク
	**/
	.sticky-side	{ width:30%;}

	/**
	 * 会社案内共通
	**/
	.company-titles	{ margin:0 0 60px;}
	.company-titles .en	{ padding:0 0 26px; font-size:3.2rem;}
	.company-titles .jp	{ font-size:6.2rem;}

	.sticky-side	{ 
		position:sticky; top:0; left:0; z-index:2; padding:150px 5%;
		width:30%;
	}
	.with-sticky-side .container	{ padding-left:36%; width:100%;}
	.pagenav .menu a	{ padding:1.5em 0 1.0em;}
	.pagenav .sub-menu a	{ padding:0.6em 0;}
	.pagenav .menu li	{ font-size:2.4rem;}
	.pagenav .sub-menu li	{ font-size:1.8rem; font-weight:500;}

	/**
	 * 会社概要
	**/
	.company-outline:before	{ top:-136px; height:272px;}

	/**
	 * ご挨拶
	**/
	.company-message .status	{ margin:0 0 2.0rem; font-size:1.7rem;}
	.company-message .name	{ font-size:2.8rem;}
	.company-access .access-list li	{ padding:2.6rem 0;}

	/**
	 * 安全と技術
	**/
	.company-safety-content img	{ aspect-ratio:4 / 3;}

	/**
	 * 事業内容
	**/
	.company-business-field	{}
	.company-business .blocks	{ padding-bottom:0rem;}
	.company-business-field .blocks	{}
	.company-business-list	{ padding:0 4% 200px;}
	.company-business-list h3	{ font-size:1.9rem;}
	.company-business-list figcaption	{ font-size:1.4rem;}

	/**
	 * 実績
	**/
	#domestic1.company-archives:before	{ top:-136px; height:272px;}
	.company-archives-abroad:after	{ top:-136px; height:272px;}
	.company-archives-exhibition:after	{ top:-136px; height:272px;}
	.company-archive figcaption .url span	{ font-size:1.3rem;}


}

/* >= 1920px							 */
@media screen and (min-width: 1920px) {

	.company-business-header h2	{ font-size:4.5rem;}
	.company-business-header p,
	.company-business-field-header p	{ font-size:1.8rem;}
	.company-business-content img	{ aspect-ratio:4 / 3; height:auto;}

}



/* **************************************************************************** */
/*
/* 3.0 - Product - Features slide
/*
/* **************************************************************************** */

.features	{ padding:8rem 0; background-color:#AAE7F3;}
.slide-viewport { position:relative; padding:0; width:100%; overflow:hidden;}

.features .slide-items	{ 
	margin:0; padding:0; list-style:none;
	display:flex; align-items:center;
}
.features .slide-item-wrap {
	flex:0 0 80%; padding:0; width:80%;
	transition:all 0.5s ease; transform:scale(0.8); opacity:1;
	box-sizing: border-box;
}
.features .slide-item-wrap.is-active {
	transform:scale(1); opacity:1;
}
.features .slide-items li.slide-item-wrap	{
	margin:0; padding:0;
	display:flex; flex-flow:column wrap; justify-content:center; align-items:center;
}
.features .slide-items li:before	{ background:none; border:0;}
.features .slide-items .slide-item	{ 
	position:relative; padding:8px; background-color:#fff; border-radius:8px;
}
.features .slide-items .slide-item .feature-image	{ padding:0 0 8px;}
.features .slide-items .slide-item .feature-image img	{ aspect-ratio:4 / 3; object-fit:cover; border-radius:8px;}
.features .slide-items .slide-item .content	{ text-align:left; padding:0;}
.features .slide-items .slide-item h4 	{ 
	margin:0; padding:1.6rem 1.6rem;
	font-size:1.4rem; background-color:rgba(204,231,236,.2); border-radius:8px;
}
.features .slide-items .slide-item h4 span 	{}
.features .slide-items .slide-item .sy-product-ids 	{}
.features .slide-items .slide-item .description 	{ margin:0; padding:1em 1.6rem;}
.features .slide-items .slide-item div.btn	{ padding:0 1.6rem 1em;}
.features .slide-items .slide-item div.btn a	{ padding:1.2rem 3rem;}

.features .slide-nav	{ position:absolute; top:calc(50% - 20px); left:50%; width:0;}
.features .slide-nav button.prev-btn	{ position:absolute; left :-45vw;}
.features .slide-nav button.next-btn	{ position:absolute; right:-45vw;}
.features .slide-nav button	{
	position:relative; margin:0; padding:0; background:transparent; outline:none;
	width:40px; height:40px; font-size:0;
	border:1px solid var(--color-primary); background-color:rgba(255,255,255,.25); border-radius:100px;
}
.features .slide-nav button span	{}
.features .slide-nav button.prev-btn span:before	{ position:absolute; top:calc(50% - 11px); left: 7px; content:''; width:23px; height:23px; background:url(../img/common/arrow--small.svg) no-repeat center / 23px; transform:rotate(180deg); transition:all 0.1s ease-out;}
.features .slide-nav button.next-btn span:before	{ position:absolute; top:calc(50% - 11px); right:7px; content:''; width:23px; height:23px; background:url(../img/common/arrow--small.svg) no-repeat center / 23px; transition:all 0.1s ease-out;}
.features .slide-nav button.prev-btn:hover span:before	{ left: 3px;}
.features .slide-nav button.next-btn:hover span:before	{ right:3px;}


/* >= 720px -- */
@media screen and (min-width: 720px) {
	.features .slide-items .slide-item h4	{ font-size:2.0rem;}
	.features .slide-items .slide-item div.btn	{ text-align:right;}
}
@media screen and (min-width: 1024px) {
	
	.features .slide-items .slide-item { display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; padding:8px 18px 18px;}
	.features .slide-items .slide-item .color-tips	{ width:100%;}
	.features .slide-items .slide-item .feature-image	{ padding:0; width:50%;}
	.features .slide-items .slide-item .content	{ width:46%;}
	.features .slide-items .slide-item h4	{ font-size:1.8rem;}

	.features .slide-nav	{ top:calc(50% - 30px);}
	.features .slide-nav button.prev-btn	{ left :-47vw;}
	.features .slide-nav button.next-btn	{ right:-47vw;}
	.features .slide-nav button	{ width:60px; height:60px; border-width:1px;}
	.features .slide-nav button.prev-btn span:before	{ top:calc(50% - 11px); left: 17px;}
	.features .slide-nav button.next-btn span:before	{ top:calc(50% - 11px); right:17px;}

}
@media screen and (min-width: 1280px) {
	.features .slide-item-wrap {
		flex:0 0 60%;
		width:60%;
	}
	.features .slide-nav button.prev-btn	{ left :-34vw;}
	.features .slide-nav button.next-btn	{ right:-34vw;}
}
@media screen and (min-width: 1440px) {
	.features	{ padding:14rem 0 8rem;}
	.features .slide-items .slide-item h4	{ font-size:2.0rem;}
}


/* -------------------------------------------------- *
 *
 * 3.1 - Product Search filter
 *
/* -------------------------------------------------- *

** data-filter-target **
thrill	：スリルライド
family	：ファミリー＆キッズ

** data-filter-category **
wheels		：観覧車
coaster		：コースターアトラクション
openride	：オープンライドアトラクション
towerride	：タワーライド
darkride	：ダークライド
walkatte	：ウォークスルーアトラクション
railatte	：レールアトラクション
waterride	：ウォーターライド
transport	：輸送施設
ecoride		：エコライド
wateramu	：ウォーターアミューズメント
others		：その他

/* -------------------------------------------------- */

.sy-search-filters	{ background-color:#EFF2F3;}
.page-header + .sy-search-filters	{ padding-top:100px;}

ul.sy-filters,
ul.sy-facetlist-list	{ margin:0; padding:0; text-align:left;}
li.sy-filter-item,
li.sy-facetlist-item	{ margin:0; padding:0;}
li.sy-filter-item:before,
li.sy-facetlist-item:before	{ background:none; border:0;}

.sy-filters-wrap	{ padding:40px 0; border-top:1px solid var(--color-deep); border-bottom:1px solid rgba(18,15,120,.1);}
ul.sy-filters	{}
li.sy-filter-item	{ padding:1.8rem 4%; border-bottom:1px solid rgba(18,15,120,.1);}
li.sy-filter-item:last-child	{ border-bottom:0;}
.sy-filter-content	{ margin:0 auto; max-width:1480px;}
.sy-filter-title	{ margin:0 0 1.6rem; font-size:1.4rem; font-weight:700; color:var(--color-primary);}
.sy-filter-title span	{ display:inline-block; padding:0.8rem 1.6rem; background-color:#fff; border-radius:8px;}
.sy-facetlist-item  { display:inline-block;}


/**
 * .sy-facetlist-item : radio
 */
.sy-facetlist-item label input[type="radio"]	{ display: none;}
.sy-facetlist-item label input[type="checkbox"]	{ display: none;}
.sy-facetlist-item label{
	display:inline-block; position:relative; margin:0 8px 12px 0; padding:0;
	font-weight:normal; color:#000; line-height:1; letter-spacing:0;
	cursor: pointer;
}
.sy-facetlist-item label span	{ display:inline-block; margin:0; padding:8px 14px 8px 35px; background-color:#e0e0e0; border-radius:8px;}
.sy-facetlist-item label span:before{
	position:absolute; top:5px; left:5px; content:'';
	margin:0; width:20px; height:20px;
	background-color:#f8f8f8; border:0; border-radius:4px;
	transition:all 200ms ease;
}
.sy-facetlist-item label span:after{
	content:'';
	position:absolute; top:13px; left:12px;
	width:6px; height:4px;
	background-color:transparent; border:solid #afafaf; border-width:0 0 2px 2px; border-radius:0;
	transform:rotate(-45deg); opacity:1;
	transition:all 200ms ease;
}
.sy-facetlist-item label.disabled input[type="radio"]:checked + span:before{ 
	background-color:#ccc; border-color:#ccc;
}
.sy-facetlist-item label.disabled span:after{ border-color:#ddd;}
.sy-facetlist-item label input[type="radio"]:checked + span	{ background:#002E9F; color:#fff;}
.sy-facetlist-item label input[type="radio"]:checked + span:before	{ background:#92B1FC;}
.sy-facetlist-item label input[type="radio"]:checked + span:after	{ top:11px; left:10px; width:9px; height:6px; border-color:#fff;}
.sy-facetlist-item label input[type="checkbox"]:checked + span	{ background:#002E9F;}
.sy-facetlist-item label input[type="checkbox"]:checked + span:before	{ background:#92B1FC;}
.sy-facetlist-item label input[type="checkbox"]:checked + span:after	{ top:11px; left:11px; width:9px; height:6px; border-color:#fff;}

.sy-facetlist-item label[for="target_thrill"] input[type="radio"]:checked + span	{ background:#E7372F;}
.sy-facetlist-item label[for="target_thrill"] input[type="radio"]:checked + span:before	{ background:#FAA19D;}
.sy-facetlist-item label[for="target_family"] input[type="radio"]:checked + span	{ background:#36AD76;}
.sy-facetlist-item label[for="target_family"] input[type="radio"]:checked + span:before	{ background:#66DCA6;}

.sy-facetlist-item label[for="ride_all"] input[type="checkbox"]:checked + span	{ color:#fff;}
.sy-facetlist-item label[for="ride_wheels"] input[type="checkbox"]:checked + span	{ background-color:#7CC8E9;}
.sy-facetlist-item label[for="ride_wheels"] input[type="checkbox"]:checked + span:before	{ background-color:#0168B7;}
.sy-facetlist-item label[for="ride_coaster"] input[type="checkbox"]:checked + span	{ background-color:#A9E372;}
.sy-facetlist-item label[for="ride_coaster"] input[type="checkbox"]:checked + span:before	{ background-color:#019A64;}
.sy-facetlist-item label[for="ride_openride"] input[type="checkbox"]:checked + span	{ background-color:#FFDC50;}
.sy-facetlist-item label[for="ride_openride"] input[type="checkbox"]:checked + span:before	{ background-color:#D08D03;}
.sy-facetlist-item label[for="ride_towerride"] input[type="checkbox"]:checked + span	{ background-color:#F7ADAD;}
.sy-facetlist-item label[for="ride_towerride"] input[type="checkbox"]:checked + span:before	{ background-color:#E63341;}
.sy-facetlist-item label[for="ride_darkride"] input[type="checkbox"]:checked + span	{ background-color:#BBA8EC;}
.sy-facetlist-item label[for="ride_darkride"] input[type="checkbox"]:checked + span:before	{ background-color:#6355A2;}
.sy-facetlist-item label[for="ride_walkatte"] input[type="checkbox"]:checked + span	{ background-color:#F8C284;}
.sy-facetlist-item label[for="ride_walkatte"] input[type="checkbox"]:checked + span:before	{ background-color:#EF8201;}
.sy-facetlist-item label[for="ride_railatte"] input[type="checkbox"]:checked + span	{ background-color:#E495CB;}
.sy-facetlist-item label[for="ride_railatte"] input[type="checkbox"]:checked + span:before	{ background-color:#93196C;}
.sy-facetlist-item label[for="ride_waterride"] input[type="checkbox"]:checked + span	{ background-color:#5FCEDE;}
.sy-facetlist-item label[for="ride_waterride"] input[type="checkbox"]:checked + span:before	{ background-color:#038295;}
.sy-facetlist-item label[for="ride_transport"] input[type="checkbox"]:checked + span	{ background-color:#E0B683;}
.sy-facetlist-item label[for="ride_transport"] input[type="checkbox"]:checked + span:before	{ background-color:#965C46;}
.sy-facetlist-item label[for="ride_ecoride"] input[type="checkbox"]:checked + span	{ background-color:#A7D8A0;}
.sy-facetlist-item label[for="ride_ecoride"] input[type="checkbox"]:checked + span:before	{ background-color:#4E8746;}
.sy-facetlist-item label[for="ride_wateramu"] input[type="checkbox"]:checked + span	{ background-color:#8DDECD;}
.sy-facetlist-item label[for="ride_wateramu"] input[type="checkbox"]:checked + span:before	{ background-color:#09B893;}
.sy-facetlist-item label[for="ride_others"] input[type="checkbox"]:checked + span	{ background-color:#C8B5AA;}
.sy-facetlist-item label[for="ride_others"] input[type="checkbox"]:checked + span:before	{ background-color:#7C5F51;}



/* >= 1024px -- */
@media screen and (min-width: 1024px) {
	
	.sy-filters-wrap	{ padding:20px 0;}
	.sy-filter-content	{ display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
	.sy-filter-title	{ width:12%;}
	.sy-facetlist	{ padding:12px 0 0 24px; width:85%; border-left:1px solid rgba(18,15,120,.5);}
	.sy-filter-title	{ margin:0;}
	.sy-filter-title span	{ padding:16px 0; background-color:transparent;}

}

@media screen and (min-width: 1280px) {
	
	.sy-filters-wrap	{ padding:40px 0;}
	.toggle-search span	{ top:-27px; padding:2rem 3rem; min-width:240px;}

}

.sy-accordion {
	overflow: hidden;
	height: auto; /* 最初から閉じておく場合 */
	width: 100%; /* 横幅いっぱい */
}

.toggle-search	{ position:relative; display:block; text-align:center;}
.toggle-search span	{ 
	position:absolute; top:-23px; left:calc(50% - 100px); display:inline-block; padding:1.6rem 3rem; min-width:200px; 
	text-align:left; text-decoration:none; letter-spacing:0.05em; color:#fff; 
	background-color:var(--color-deep); border-radius:8px;
	transition:all 0.2s ease; cursor:pointer;
}
.toggle-search span:before	{ 
	position:absolute; top:calc(50% - 2px); right:16px; content:''; width:23px; height:0;
	border-top:1px solid rgba(255,255,255,.5);
	transition:all 0.2s ease;
}
.toggle-search span:after	{ 
	position:absolute; top:calc(50% + 2px); right:16px; content:''; width:23px; height:0; 
	border-top:1px solid rgba(255,255,255,.5);
	transition:all 0.2s ease;
}
.toggle-search span:hover	{ background-color:var(--color-bright);}
.toggle-search span:hover:before{ top:calc(50% - 6px); border-color:rgba(255,255,255,1);}
.toggle-search span:hover:after	{ top:calc(50% + 6px); border-color:rgba(255,255,255,1);}
.toggle-search.is-active span	{ background-color:var(--color-bright);}
.toggle-search.is-active span:before{ top:50%; transform:rotate( 25deg);}
.toggle-search.is-active span:after	{ top:50%; transform:rotate(-25deg);}
.toggle-search.is-active span:hover:before	{ right:12px; width:33px; border-color:rgba(255,255,255,1);}
.toggle-search.is-active span:hover:after	{ right:12px; width:33px; border-color:rgba(255,255,255,1);}




/* -------------------------------------------------- *
 *
 * 3.2 - Product Item
 * 
/* -------------------------------------------------- */

.category-results	{ padding:0 4%; background-color:rgba(239,242,243,.5);}
.category-results .section-content	{ margin:0 auto; max-width:1600px; padding:80px 0 160px;}
.category-results .sy-producttile .sy-product-ids	{ display:none;}


.sy-producttiles	{ 
	position:relative; margin:0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(194px, 1fr));
	gap:0;
}
.sy-producttile:before  { background:none; border:0;}
.sy-producttile {
	margin:0; padding:4px;
}
.sy-producttile a	{
	display:block; border-radius:8px;
	padding:4px;
	background-color:rgba(255,255,255,1);
	box-shadow:0 0 14px rgba(0,0,0,.05);
}
.sy-producttile .sy-producttile-tilehero   { padding:0 0 8px;}
.sy-producttile .sy-producttile-tilehero img   { aspect-ratio:3 / 2; object-fit:cover; border-radius:6px;}
.sy-producttile .sy-producttile-info	{ text-align:left;}
.sy-producttile .sy-producttile-title	{ 
	position:relative;
	margin:0 0 8px; padding:0; font-size:1.3rem; font-weight:600; line-height:1.5;
}
.sy-producttile .sy-producttile-title .field	{
	display:block;
	display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center;
	padding:0 0 0 0.8em;
	width:calc(100% - 38px); height:4.0em; 
	background-color:rgba(204,231,236,0); border-radius:8px;
}
.sy-producttile .sy-producttile-title .field p	{ margin:0;}
.sy-producttile .sy-producttile-title .field:before	{ position:absolute; top:0; left:0; content:''; width:3px; height:100%; background-color:var(--color-primary); border-radius:10px;}
.sy-producttile .sy-producttile-title .name		{}

.sy-producttile .sy-producttile-title:after		{ position:absolute; top:calc(50% - 15px); right:0; content:''; width:30px; height:30px; background:url(../img/common/arrow--small.svg) no-repeat center / 23px; transition:all 0.1s ease-out;}
.sy-producttile .sy-producttile-title:before 	{ position:absolute; top:calc(50% - 15px); right:0; content:''; width:30px; height:30px; border:1px solid var(--color-primary); border-radius:100px;}
.sy-producttile a:hover .sy-producttile-title:after	{ right:-4px;}
.sy-producttile .sy-producttile-title span	{}
.sy-producttile .sy-product-ids	{ margin:0; padding:0 0 4px; font-size:1.2rem; line-height:1;}
.sy-producttile .sy-product-id	{ display:inline-block; padding:4px 8px; background-color:rgba(0,133,158,.2); border-radius:8px;}
.sy-producttile .sy-tags		{ margin:0; padding:0 0 4px; font-size:0.9rem; line-height:1;}
.sy-producttile .sy-tags span	{ display:inline-block; margin:0 4px 2px 0; padding:4px 8px; color:var(--color-deep); background-color:#E6E6E6; border-radius:4px;}
.sy-producttile .search-meta	{ display:none;}

.color-tips	{ display:flex; flex-flow:row wrap; justify-content:flex-end; align-items:center; padding:0 0 4px; color:#fff;}
.color-tips .tip-target		{ margin:0 2px; padding:5px; background-color:var(--color-primary); border:2px solid #fff; border-radius:10px;}
.color-tips .tip-target.thrill	{ background-color:#E7372F;}
.color-tips .tip-target.famkids	{ background-color:#36AD76;}
.color-tips .tip-ride	{ margin:0 2px; padding:5px 10px; background-color:var(--color-tertiary); border:2px solid #fff; border-radius:10px;}
.color-tips .tip-ride.wholewheel	{ background-color:#0168B7;}
.color-tips .tip-ride.wheel	{ background-color:#0168B7;}
.color-tips .tip-ride.coaster	{ background-color:#019A64;}
.color-tips .tip-ride.openride	{ background-color:#D08D03;}
.color-tips .tip-ride.towerride	{ background-color:#E63341;}
.color-tips .tip-ride.darkride	{ background-color:#6355A2;}
.color-tips .tip-ride.walkatte	{ background-color:#EF8201;}
.color-tips .tip-ride.railatte	{ background-color:#93196C;}
.color-tips .tip-ride.waterride	{ background-color:#038295;}
.color-tips .tip-ride.transport	{ background-color:#965C46;}
.color-tips .tip-ride.ecoride	{ background-color:#4E8746;}
.color-tips .tip-ride.wateramu	{ background-color:#09B893;}
.color-tips .tip-ride.others	{ background-color:#7C5F51;}
.color-tips .tip-target.with-text	{ padding:5px 1.4rem;}
.color-tips .tip-ride.with-text	{ padding:5px 1.4rem;}


/* >= 422px							 */
@media screen and (min-width: 422px) {
	.sy-producttile .sy-producttile-title	{ font-size:1.2rem;}
}

/* >= 630px -- */
@media screen and (min-width: 630px) {
	.sy-producttiles	{ grid-template-columns: repeat(auto-fill, minmax(282px, 1fr));}
	.sy-producttile .sy-producttile-title	{ font-size:1.3rem;}
}

/* >= 1024px -- */
@media screen and (min-width: 1024px) {
	.sy-producttiles	{ grid-template-columns: repeat(auto-fill, minmax(294px, 1fr));}
	.sy-producttile .sy-producttile-title	{ font-size:1.4rem;}
}

@media screen and (min-width: 1280px) {

	.sy-producttile .sy-producttile-title .field	{ width:calc(100% - 50px); height:4.0em;}
	.sy-producttile .sy-producttile-title:after		{ top:calc(50% - 11px); right:9px; width:23px; height:23px; background-size:23px;}
	.sy-producttile .sy-producttile-title:before 	{ top:calc(50% - 20px); right:0; width:40px; height:40px;}
	.sy-producttile a:hover .sy-producttile-title:after	{ right:4px;}
	.sy-producttile .sy-tags		{ font-size:1.1rem;}
	.color-tips	{ padding:4px 4px 8px;}

}
@media screen and (min-width: 1440px) {

	.page-header + .sy-search-filters	{ padding-top:140px;}
	.sy-producttiles	{ grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));}
	.sy-producttile .sy-producttile-title	{ font-size:1.6rem;}
	.sy-producttile .sy-producttile-title .field	{ height:4.4em;}
	.sy-producttile .sy-tags span	{ border-radius:8px;}

}

/* >= 1660px							 */
@media screen and (min-width: 1660px) {

	.category-results .section-content	{ padding:80px 0 250px;}
	.sy-producttile .sy-tags		{ font-size:1.2rem;}

}


/* -------------------------------------------------- *
 *
 * 3.30 - 観覧車一覧
 *
/* -------------------------------------------------- */

.kanransha-archive-wrap	{}
.kanransha-archive-header	{}
.kanransha-archive-header .blocks	{ margin:0 auto; max-width:1920px;}
.kanransha-archive-titles	{ padding:0 5%; text-align:left;}
.kanransha-archive-titles .color-tips	{ justify-content:flex-start; padding-left:0;}
.kanransha-archive-titles .kanransha-archive-title	{ margin:0 0 0.5em;}
.kanransha-archive-titles p	{ line-height:2.1;}
.kanransha-archive-figure	{}
.kanransha-archive-figure img	{ aspect-ratio:3 / 2; object-fit:cover;}

.kanransha-archives	{ padding:0 4% 100px; text-align:left;}
.kanransha-archives .sy-product-ids	{ display:none;}
.kanransha-archives .filled		{ background-color:#7CC8E9;}
.kanransha-archives .filled:before	{ border-left-color: var(--color-bright);}
.kanransha-archives .filled:after	{ border-right-color:var(--color-secondary);}
.kanransha-archives .section-content	{ margin:0 auto 8rem; max-width:1600px;}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.kanransha-archive-header .blocks	{ align-items:stretch;}
	.kanransha-archive-header .kanransha-archive-titles	{ padding:0 5% 0 5%; width:40%;}
	.kanransha-archive-header .kanransha-archive-figure	{ width:60%;}
	.kanransha-archive-header .kanransha-archive-figure figure	{ height:100%;}
	.kanransha-archive-header .kanransha-archive-figure figure img	{ border-radius:20px 0 0 20px; height:100%;}
	.kanransha-archive-title .jp	{ font-size:4.0rem; }

}



.product-archive-wrap	{}
.product-archive-header	{ padding-bottom:40px;}
.product-archive-header .blocks	{ margin:0 auto; max-width:1920px;}
.product-archive-titles	{ padding:0 5%; text-align:left;}
.product-archive-titles .color-tips	{ justify-content:flex-start; padding-left:0;}
.product-archive-titles .product-archive-title	{ margin:0 0 0.5em;}
.product-archive-titles p	{ line-height:2.1;}
/*.product-archive-figure	{ position:relative;}*/
.product-archive-figure	{ display:none;}
.product-archive-figure img	{ aspect-ratio:3 / 2; object-fit:cover;}
.product-archive-figure figcaption {
	position:absolute; top:auto; bottom:4px; left:auto; right:4px;
	padding:0.1em 0.8em;
	text-align:right; font-size:1.2rem; font-weight:400; line-height:1.4;
	background-color:rgba(255,255,255,.8); border-radius:8px;
}


.product-archives	{ padding:0 4% 100px; text-align:left;}
.product-archives .sy-product-ids	{ display:none;}
.product-archives .filled		{ background-color:#7CC8E9;}
.product-archives .filled:before	{ border-left-color: var(--color-bright);}
.product-archives .filled:after	{ border-right-color:var(--color-secondary);}
.product-archives .section-content	{ margin:0 auto 8rem; max-width:1600px;}


/* >= 1024px							 */
@media screen and (min-width: 1024px) {

	.product-archive-header .blocks	{ align-items:stretch;}
/*	.product-archive-header .product-archive-titles	{ padding:0 5% 0 5%; width:40%;}*/
	.product-archive-header .product-archive-titles	{ padding:0 5% 0 5%; width:100%;}
	.product-archive-header .product-archive-figure	{ width:60%;}
	.product-archive-header .product-archive-figure figure	{ height:100%;}
	.product-archive-header .product-archive-figure figure img	{ border-radius:20px 0 0 20px; height:100%;}
	.product-archive-header .product-archive-figure figcaption	{ padding:0.3em 1.0em; font-size:1.4rem; line-height:1.5; border-radius:8px;}
	.product-archive-title .jp	{ font-size:4.0rem; }

}


/* -------------------------------------------------- *
 *
 * 3.4 - Product single
 *
/* -------------------------------------------------- */

.product-single-wrap	{}
.product-single-header	{ padding:0 4%; text-align:left;}
.product-single-header .header-content	{ margin:0 auto 3.3rem; max-width:1280px;}
.product-single-header .color-tips	{ justify-content:flex-start; padding-left:0;}
.product-single-title	{ margin:0 0 4px; padding:2px; font-size:2.4rem; background-color:#fff; border-radius:8px;}
.product-single-title span	{ display:block; padding:0.25em 1em; border:1px solid var(--color-primary); border-radius:6px;}
.product-header-meta	{ text-align:right; line-height:1;}
.product-id span	{ display:inline-block; padding:0.4em 1.0em; text-transform:uppercase; color:var(--color-primary); background-color:#fff; border:1px solid var(--color-primary); border-radius:8px;}
.product-id,
.product-right	{ padding:0 2px;}
.product-right span	{ display:inline-block; padding:0.4em 1.0em; color:var(--color-tertiary); background-color:#fff; border:1px solid var(--color-tertiary); border-radius:8px;}

.product-single-slider	{ padding:0 5%; text-align:left;}
.product-single-slider .section-content	{ margin:0 auto; max-width:1080px;}
.product-single-data	{ padding:0 5%; text-align:left;}
.product-single-data .section-content	{ margin:0 auto; padding:2rem 0 5rem; max-width:1080px;}
.product-single-data .block-note p	{ line-height:2.5;}
.product-single-data .block-datatable	{ margin:0 0 16px; padding:2px; background-color:#fff; border-radius:8px;}
.product-single-data .datatable-title	{ padding:0.5em 5%; color:#fff; background-color:var(--color-secondary); border-radius:8px;}
.product-single-data .block-table	{ padding:0 4%;}
.product-single-data .datatable 	{ font-size:1.2rem;}
.product-single-content	{ padding:0 8%; text-align:left;}
.product-single-content .entry-content	{ margin:0 auto; padding:2rem 0 5rem; max-width:1080px;}

.product-single-slider .slideshow-container { margin:0 auto 60px; max-width:1080px;}
.product-single-slider .slideshow-wrapper {
	position:relative; width:100%; z-index:1;
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

/* - 製品スライド - */
.product-single-slider .slides-container {
	display:flex;
	border-radius:8px; overflow:hidden;
}
.product-single-slider .slide {
	position:absolute; top:0; left:0; width:100%; height:100%;
	display:flex; justify-content:center; align-items:center;
	background:#111; border-radius:8px; overflow:hidden; opacity:0;
}
.product-single-slider .slide.active { opacity:1; z-index:10;}
.product-single-slider .slide img { object-fit:cover;}
.product-single-slider .slide figcaption {
	position:absolute; top:auto; bottom:4px; left:auto; right:4px;
	padding:0.1em 0.8em;
	text-align:right; font-size:1.2rem; font-weight:400; line-height:1.4;
	background-color:rgba(255,255,255,.8); border-radius:8px;
	opacity:0; transition:opacity 0.3s ease;
}

.product-single-slider .slide.active figcaption { opacity: 1;}

/* - ナビゲーションボタン - */
.product-single-slider .nav-button {
	display:flex; justify-content:center; align-items:center;
	position:absolute; top:50%; z-index:20;
	transform:translateY(-50%);
	width:36px; height:36px; font-size:0;
	background: rgba(255, 255, 255, 0) url(../img/common/arrow--small-wh.svg) no-repeat center / 23px;
	border:1px solid #fff; border-radius: 50%;
	transition: all 0.3s ease;
	cursor: pointer;
}
.product-single-slider .nav-button:hover {
	background-color: rgba(255, 255, 255, 1);
	background-image:url(../img/common/arrow--small.svg);
	transform: translateY(-50%) scale(1.1);
}
.product-single-slider .nav-button.disabled {
	opacity:0.4;
	cursor:not-allowed;
	pointer-events:none;
}
.product-single-slider .prev-btn { left: 8px; transform:translateY(-50%) rotate(180deg);}
.product-single-slider .prev-btn:hover	{ transform:translateY(-50%) rotate(180deg) scale(1.1);}
.product-single-slider .next-btn { right:8px;}

/* - サムネイル コンテナ - */
.product-single-slider .thumbnails {
	padding-top:24px;
	display:grid;
	grid-template-columns: repeat(3, 1fr);
	gap:8px;
}
.product-single-slider .thumbnail {
	position:relative; width:100%;
	background: #e0e0e0;
	border:2px solid transparent; border-radius:8px;
	overflow:hidden; cursor:pointer;
}
.product-single-slider .thumbnail img { aspect-ratio: 16 / 10; object-fit:cover; transition:all 0.3s ease;}
.product-single-slider .thumbnail:hover img { transform: scale(1.2);}
.product-single-slider .thumbnail.active { border-color: #FFDC50;}

/* - レスポンシブデザイン - */
@media (min-width: 720px) {
	.product-single-slider .nav-button { width:50px; height:50px;}
	.product-single-slider .prev-btn { left: 20px;}
	.product-single-slider .next-btn { right:20px;}
	.product-single-slider .slide figcaption { padding:0.3em 1.0em; font-size:1.4rem; line-height:1.5;}
	.product-single-slider .thumbnails {
		grid-template-columns: repeat(5, 1fr);
		gap:12px;
	}
	.product-single-title	{ font-size:3.2rem;}

}
@media (min-width: 1024px) {
	.product-single-title	{ font-size:2.8rem;}
	.product-single-data .blocks	{}
	.product-single-data .block	{ width:100%;}
	.block-datatables	{ display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:flex-start; gap:2%; background-color:rgba(255,255,255,.5);}
	.block-datatables .block-datatable	{ margin:0; flex: 1 1 32%;}
	.block-datatables.over3 .block-datatable	{ margin-bottom:16px; flex: 0 0 32%;}
}
@media (min-width: 1280px) {
	.product-single-title	{ font-size:3.6rem;}
}



/* **************************************************************************** */
/*
/* 4.0 - Restaurant
/*
/* **************************************************************************** */
.page-restaurant .page-header .header-titles .page-title .en	{ color:var(--color-restaurant);}
.page-restaurant .page-header:before	{ background-image:url(../img/common/separator-restaurant.svg);}
.restaurant-container	{ padding:100px 5%; text-align:left;}
.restaurant-lead	{ margin:0 auto; max-width:1280px; padding:0 5%;}
.restaurant-content	{ margin:0 auto; max-width:1600px;}
.sy-restauranttiles	{ 
	position:relative; margin:0;
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;
	gap:0;
}
.sy-restauranttile:before  { background:none; border:0;}
.sy-restauranttile {
	margin:0 0 4rem; padding:4px; border-radius:8px;
}
.sy-restauranttile-hero   { position:relative; margin:0 0 8px; padding:0;}
.sy-restauranttile-hero .sy-restauranttile-image   { aspect-ratio:2 / 1; object-fit:cover; border-radius:8px;}
.sy-restauranttile-hero .sy-restauranttile-logo	{
	display:block; position:absolute; top:50%; left:20%; padding:0 20px; width:60%;
	background-color:rgba(255,255,255,.8);
	translate:0 -50%;
}
.sy-restauranttile-hero .sy-restauranttile-logo img	{ width:100%; height:auto; aspect-ratio:4 / 1; object-fit:contain;}

.sy-restauranttile .sy-restauranttile-info	{ 
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:stretch; 
	margin:0 0 4px 0; text-align:left;
}
.sy-restauranttile-title	{ 
	display:block; position:relative; padding:1.0rem 1em; width:70%;
	color:#fff; background-color:#C61343;
	border-radius:8px;
}
.sy-restauranttile .sy-restauranttile-info.without-gnavi .sy-restauranttile-title	{ width:100%;}

a.sy-restauranttile-title:before	{ position:absolute; top:8px; right:8px; content:''; width:15px; height:15px; background:url(../img/common/outbound-white--ss.svg) no-repeat center / 15px;}
a.sy-restauranttile-title:hover	{ color:#fff; background-color:#990029;}
a.sy-restauranttile-title:hover	{ color:#fff; background-color:#ff1352;}
.sy-restauranttile-title .name	{ margin:0; padding:0.2em 20px 0.2em 0; font-size:1.5rem;}
.sy-restauranttile-title address	{}
.sy-restauranttile-info .sy-restauranttile-link	{ 
	display:flex; flex-direction:column; justify-content:center; align-items:stretch; 
	padding:1.0rem 8px; width:calc(30% - 8px); height:auto; line-height:1; 
	background-color:#fff; border:2px solid #C61343; border-radius:8px;
}
.sy-restauranttile-info .sy-restauranttile-link figure		{ width:100%;}
.sy-restauranttile-info .sy-restauranttile-link figure img		{}
.sy-restauranttile-info .sy-restauranttile-link span		{ display:block; padding:0.3em 0; width:100%; text-align:center; font-size:1.0rem; color:#fff; background-color:#C61343; border-radius:20px;}
.sy-restauranttile-info .sy-restauranttile-link:hover		{ border-color:#ff1352;}
.sy-restauranttile-info .sy-restauranttile-link:hover span	{ background-color:#ff1352;}
.sy-restauranttile-links	{
	display:flex; flex-flow:row wrap; justify-content:space-between; align-items:stretch;
}
.sy-restauranttile-links .sy-restauranttile-link figure img		{ aspect-ratio:10 / 3; object-fit:contain;}
.sy-restauranttile-links a.sy-restauranttile-link	{ 
	padding:1.0rem 8px; width:calc(33%); height:auto; line-height:1; 
	background-color:#fff; border:2px solid #C61343; border-radius:8px;
}
.sy-restauranttile-links a.sy-restauranttile-link:hover	{ border-color:#ff1352;}
.sy-restauranttile-links span.sy-restauranttile-link	{ 
	padding:1.0rem 8px; width:calc(33%); height:auto; line-height:1; 
	background-color:#fff; border:2px solid #ccc; border-radius:8px;
}
.sy-restauranttile-links span.sy-restauranttile-link figure img	{ opacity:0.5; filter:grayscale(1);}
.sy-restauranttile-links .sy-restauranttile-link span	{ display:none;}


/* >= 720px							 */
@media screen and (min-width: 720px) {

	.restaurant-lead	{ padding:4rem 8%;}
	.restaurant-content	{ padding:0;}
	.sy-restauranttile	{ width:49%;}
	.sy-restauranttile-title address	{ font-size:1.2rem;}
	.sy-restauranttile-info .sy-restauranttile-link	{ padding:1.0rem 2px;}

}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {
	.restaurant-container	{ padding:120px 5%;}
	.sy-restauranttile	{ width:48%;}
	.sy-restauranttile-title address	{ font-size:1.3rem;}
	.sy-restauranttile-info .sy-restauranttile-link	{ padding:1.0rem 8px;}
}

/* >= 1280px							 */
@media screen and (min-width: 1280px) {
	.restaurant-lead p	{ line-height:2.5;}
	.sy-restauranttile-info .sy-restauranttile-link span		{ font-size:1.2rem;}
}

/* >= 1440px							 */
@media screen and (min-width: 1440px) {
	.restaurant-container	{ padding:150px 8%;}
	.sy-restauranttile-title	{ width:75%;}
	.sy-restauranttile-info .sy-restauranttile-link	{ padding:1.0rem 16px; width:calc(25% - 8px);}
	.sy-restauranttile-title .name	{ font-size:1.7rem;}
	.sy-restauranttile-title address	{ font-size:1.4rem;}
}

/* >= 1660px							 */
@media screen and (min-width: 1660px) {
	.restaurant-container	{ padding:150px 8% 200px;}
	.restaurant-lead p	{ font-size:1.7rem;}
}

/* >= 1920px							 */
@media screen and (min-width: 1920px) {
	.restaurant-lead p	{ font-size:1.8rem;}
}




/* **************************************************************************** */
/*
/* 5.0 - Location
/*
/* **************************************************************************** */
.page-location .page-header .header-titles .page-title .en	{ color:var(--color-location);}
.page-location .page-header:before	{ background-image:url(../img/common/separator-location.svg);}
.location-container	{ padding:120px 4% 100px; text-align:left;}
.location-container-kanren	{ padding:0 4% 150px;}
.location-container .section-header	{ margin:0 auto; max-width:1600px;}
.location-container .filled		{ color:#fff; background-color:var(--color-location);}
.location-container .filled:before	{ border-left-color: #64E6FF;}
.location-container .filled:after	{ border-right-color:#FFDC50;}


.sy-locationtiles	{ 
	position:relative; margin:0 auto; max-width:1600px;
	display:grid;
	grid-template-columns: repeat(auto-fill, minmax(194px, 1fr));
	gap:0;
}
.sy-locationtile:before  { background:none; border:0;}
.sy-locationtile {
	margin:0; padding:4px;
}
.sy-locationtile a	{
	display:block; border-radius:8px;
	padding:4px;
	background-color:rgba(255,255,255,1);
	box-shadow:0 0 14px rgba(0,0,0,.05);
}
.sy-locationtile a:hover	{ color:var(--color-location);}
.sy-locationtile .sy-locationtile-logo   { margin:0 0 4px; background-color:#fff; border-radius:6px;}
.sy-locationtile .sy-locationtile-logo img   { aspect-ratio:5 / 1; object-fit:contain; border-radius:6px;}
.sy-locationtile .sy-locationtile-hero   { padding:0 0 16px;}
.sy-locationtile .sy-locationtile-hero img   { aspect-ratio:3 / 2; object-fit:cover; border-radius:6px;}
.sy-locationtile .sy-locationtile-info	{ text-align:left;}
.sy-locationtile .sy-locationtile-title	{ 
	position:relative;
	margin:0 0 12px; padding:0; font-size:1.3rem; font-weight:600; line-height:1.5;
}
.sy-locationtile .sy-locationtile-title .field	{
	display:block;
	display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:center;
	padding:0 0 0 0.8em;
	width:calc(100% - 28px); height:4.0em; 
	background-color:rgba(246, 250, 246, 0); border-radius:8px;
}
.sy-locationtile .sy-locationtile-title .field p	{ margin:0;}
.sy-locationtile .sy-locationtile-title .field:before	{ position:absolute; top:0; left:0; content:''; width:3px; height:100%; background-color:var(--color-location); border-radius:10px;}
.sy-locationtile .sy-locationtile-title:before	{ position:absolute; top:calc(50% - 20px); right:0px; content:''; width:20px; height:20px; background:url(../img/common/outbound--location.svg) no-repeat center / 20px;}


/* >= 422px							 */
@media screen and (min-width: 422px) {
	.sy-locationtile .sy-locationtile-title	{ font-size:1.2rem;}
}

/* >= 630px -- */
@media screen and (min-width: 630px) {
	.location-container	{ padding:120px 4%;}
	.location-container-kanren	{ padding:0 4% 150px;}
	.sy-locationtiles	{ grid-template-columns: repeat(auto-fill, minmax(282px, 1fr));}
	.sy-locationtile .sy-locationtile-title	{ font-size:1.3rem;}
}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {
	.sy-locationtiles	{ grid-template-columns: repeat(auto-fill, minmax(294px, 1fr));}
	.sy-locationtile .sy-locationtile-title	{ font-size:1.4rem;}
}

/* >= 1280px							 */
@media screen and (min-width: 1280px) {
}

/* >= 1440px							 */
@media screen and (min-width: 1440px) {
	.location-container	{ padding:150px 4%;}
	.location-container-kanren	{ padding:0 4% 200px;}
	.sy-locationtiles	{ grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));}
	.sy-locationtile .sy-locationtile-title	{ font-size:1.6rem;}
	.sy-locationtile .sy-locationtile-title .field	{ width:calc(100% - 36px); height:4.4em;}
	.sy-locationtile .sy-locationtile-title:before	{ top:calc(50% - 24px); right:4px; width:24px; height:24px; background-size:24px;}

}

/* >= 1660px							 */
@media screen and (min-width: 1660px) {

	.location-container-kanren	{ padding:0 4% 250px;}

}


/* **************************************************************************** */
/*
/* 6.0 - New Business
/*
/* **************************************************************************** */
.page-new-business .page-header .header-titles .page-title .en	{ color:var(--color-newbiz);}
.page-new-business .page-header:before	{ background-image:url(../img/common/separator-newbusiness.svg);}
.page-new-business .category-results .section-content	{ padding:120px 0 160px;}

/* >= 720px							 */
@media screen and (min-width: 720px) {
	.page-new-business .page-header .header-titles .page-title .en br	{ display:none;}
	.page-new-business .category-results .section-content	{ padding:120px 0 160px;}
}

/* >= 1024px							 */
@media screen and (min-width: 1024px) {
	.page-new-business .category-results .section-content	{ padding:120px 0 160px;}
}

/* >= 1440px							 */
@media screen and (min-width: 1440px) {
	.page-new-business .category-results .section-content	{ padding:150px 0 200px;}
}

/* >= 1660px							 */
@media screen and (min-width: 1660px) {
	.page-new-business .category-results .section-content	{ padding:150px 0 250px;}
}



/* **************************************************************************** */
/*
/* 7.0 - Policies
/*
/* **************************************************************************** */
.policy-list	{ list-style:none; margin:0; padding:0; text-align:left;}
.policy-list > li	{ 
	margin:0; padding:0;
	border-top:1px solid rgba(0,95,160,.5);
}
.policy-list > li:before	{ background:none; border:0;}
.policy-title	{ position:relative; padding:3.4rem 0 0;}
.policy-title:before	{ position:absolute; top:0; left:0; content:''; width:50px; height:0; border-top:2px solid rgba(0,95,160,.5);}
.policy-content	{ padding:3.4rem 0;}
.policy-title h4	{ margin:0; font-weight:500;}
.policy-title h4 span	{}
.policy-title h4 .num	{ margin:0 0.5em 0 0;}
.policy-content p	{ margin:0;}

.contact-cautions	{ margin:0 0 1.6rem; padding:3rem 0 1.4rem; border:solid rgba(0,0,0,.5); border-width:1px 0;}


/* >= 720px							 */
@media screen and (min-width: 720px) {
	
	.policy-list > li	{
		display:flex; flex-flow:row wrap; justify-content:center; align-items:flex-start;
	}
	.policy-title	{ padding:4.0rem 0 0 0; width:25%;}
	.policy-content	{ padding:4.0rem 0 4.0rem 5%; width:75%;}
	.policy-title:before	{ width:100%;}

}



/* **************************************************************************** */
/*
/* Media Queries
/*
/* **************************************************************************** */

@-ms-viewport 	{ width: device-width;}
@viewport 		{ width: device-width;}




