@charset "UTF-8";

/*----------------------------
* 
* scrollgimig css
* v1.1
* lastupdate:2025.01.06
* 
-----------------------------*/


:root{
	
	/* size height*/
	--scroll-target-height    :500px;
	--scroll-target-height-pc :400px;
	--scroll-target-height-tab:360px;
	--scroll-target-height-sp :300px;
	
	/* scrollbar */
	--scrollbar-color1:#6cc1c7;
	--scrollbar-color2:#FFF;
}


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

base

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

.scroll-target{
  overflow-x:visible;
  overflow-y: hidden;
  -webkit-overflow-scrolling:touch;
  position: relative;
	cursor: grab;
	-webkit-scrollbar-width: none;
					scrollbar-width: none;
}
.scroll-target:active{
	cursor: grabbing;
}

.scroll-target img{
  width:auto;
  height: 100%;
	display: block;
}

.scroll-target::-webkit-scrollbar{
  width:0px;
	display: none;
}
.scroll-target::-webkit-scrollbar-track{
  height: 10px;
	background-color: transparent;
}

.view-note{
	font-size:0.8rem;
	position: absolute;
	bottom:0px; right: 0px;
	color:#fff;
	font-feature-settings: "palt" 1;
	padding: 0.25rem 0.5rem 0.25rem 0.75rem;
	text-shadow: 0 0 10px rgba(0,0,0,0.5);
	background-color: rgba(0,0,0,0.5);
}

.scroll-inner{
  width:100%;
  height: 100%;
}

.scroll-container{
  width:100%;
  max-width:1400px;
  margin: 0 auto 0px;
  position: relative;
}

.scroll-container .view-arrow-cls{
  position: absolute;
  top:50%; transform: translateY(-50%);
  width:40px;
  cursor: pointer;
}
.scroll-container .view-arrow-cls img{width:100%; height: auto; display: block;}

.scroll-container .view-arrow-cls.arrow-left{
  left: 20px;
}
.scroll-container .view-arrow-cls.arrow-right{
  right: 20px;
}

.scroll-container.ios-cls .view-arrow-cls.arrow-right{
	right: 10px;
}

@media screen and (max-width:600px){
  .scroll-container .view-arrow-cls{
    width:30px;
  }
  .scroll-container .view-arrow-cls.arrow-left{
    left: 10px;
  }
  .scroll-container .view-arrow-cls.arrow-right{
    right:10px;
  }
}

.scroll-target .view-img2{
	position: absolute;
	top:0; left: 0;
	opacity: 0;
	transition: 1s ease 0s opacity;
	pointer-events: none;
}
.scroll-target .view-img2.active{
	opacity: 1;
}

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

size

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

.scroll-target{
	height:var(--scroll-target-height);
}

@media screen and (max-width:960px){
  .scroll-target{
    height:var(--scroll-target-height-pc);
  }
}

@media screen and (max-width:768px){
  .scroll-target{
    height:var(--scroll-target-height-tab);
  }
}

@media screen and (max-width:600px){
  .scroll-target{
   height:var(--scroll-target-height-sp);
  }
}

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

scroll bar

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

.scrollbarX .scroll-target{
	overflow-x: scroll;
	scrollbar-width: auto;
}

.scrollbarY .scroll-target{
	overflow-y: scroll;
	scrollbar-width: auto;
}
.scrollbarY .scroll-target img{
  width:auto;
  height: 150%;
}

.scrollbarX .view-note{
	bottom:26px;
}
.scrollbarY .view-note{
	right:26px;
}

.scrollbarY .scroll-target::-webkit-scrollbar,
.scrollbarX .scroll-target::-webkit-scrollbar{
	width: 10px;
	display: block;
	background: var(--scrollbar-color1);
}
.scrollbarY .scroll-target::-webkit-scrollbar:horizontal,
.scrollbarX .scroll-target::-webkit-scrollbar:horizontal{
	height: 10px;
	background: var(--scrollbar-color1);
}
.scrollbarY .scroll-target::-webkit-scrollbar-thumb,
.scrollbarX .scroll-target::-webkit-scrollbar-thumb{
	background: var(--scrollbar-color2);
	border-radius: 10px;
	border:3px solid var(--scrollbar-color1);
	box-sizing: border-box;
}
.scrollbarY .scroll-target::-webkit-scrollbar-thumb:horizontal,
.scrollbarX .scroll-target::-webkit-scrollbar-thumb:horizontal{
	background: var(--scrollbar-color2);
	border-radius: 5px;
}

.scroll-container.scrollbarY{
	margin-bottom: 0px;
}

.scroll-container.scrollbarX{
	margin-bottom: 0px;
}

.scrollbarY:not(.scrollbarX) .scroll-target{
	overflow-x: hidden;
	overflow-y: scroll;
}
.scrollbarY:not(.scrollbarX) .scroll-target img{
  width:100%;
  height: auto;
}


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

change btn

-------------------------------------*/
.scroll-btn-container{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin: 1rem auto 1rem;
	/*background-color: #000;*/
	width:30%;
	min-width:200px;
	max-width:400px;
}

.scroll-btn-container .scroll-btn-cls{
	width:50%;
	max-width:200px;
	text-align: center;
	padding: 1rem 0rem;
	cursor: pointer;
	color:#fff;
	background-color: rgba(45,90,159,1.00);
	opacity: 0.5;
	transition: 0.3s ease 0s opacity;
}
.scroll-btn-container .scroll-btn-cls.active,
.scroll-btn-container .scroll-btn-cls:hover{
	opacity: 1;
}


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

custom

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

#plan .view{
	max-width:none;
}

@keyframes arrowMotion{
		0% { transform: translateX(-100%); opacity: 0;}
	 15% { transform: translateX(-20%); opacity: 1;}
	 85% { transform: translateX(20%); opacity: 1;}
	100% { transform: translateX(100%); opacity: 0;}
}

#plan .view-ttl{
	position: absolute; top:2rem; right:2rem;
	max-width: 22rem;
	width: 30%;
	pointer-events: none;
}


#plan .view-arrow-cls{
	z-index: 2;
	position: absolute;
	top:50%;
	transform: translateY(-50%);
}
	
#plan .view-arrow-cls.view-arrow-prev{
	left: 10px;
}
#plan .view-arrow-cls.view-arrow-prev .view-arrow-inner::before{
	background-image: url("../../images/view/view_arrow_left.png");
	transform: translateX(100%);
	opacity: 0;
	animation: arrowMotion 1.5s linear 0s infinite reverse;
}


#plan .view-arrow-cls.view-arrow-next{
	right: 10px;
}
#plan .view-arrow-cls.view-arrow-next .view-arrow-inner::before{
	background-image: url("../../images/view/view_arrow_right.png");
	transform: translateX(-100%);
	opacity: 0;
	animation: arrowMotion 1.5s linear 0s infinite;
}



#plan .view-arrow-cls .view-arrow-inner{
	width: 50px;
	height: 50px;
	position: relative;
	border:1px solid #222;
	overflow: hidden;
	cursor: pointer;
}
#plan .view-arrow-cls .view-arrow-inner::before{
	content: "";
	width:50%; height: 50%;
	display: block;
	position: absolute;
	top:25%; left: 25%;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	filter: brightness(1.2);
}

@media screen and (max-width:768px){
		#plan .view-arrow-cls .view-arrow-cls .view-arrow-inner{
			width:30px; height: 30px;
		}
}





