@charset "utf-8";

.slider_box{
	padding-top: calc(150px + 2vw);
	background: #d8eef7;
}
#slider {
	width:100%;
	height:calc(100vh - 200px);/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	position: relative;
}
.slider_catch{
	position: absolute;
	top: 150px;
	left:calc(50vw - 750px);
}
@media(max-width:1550px){
	.slider_catch{
		left:5%;
	}
}

.slider_catch p{
	background: #0356a7;
	border-radius: 5px;
	color: #fff;
	margin: 10px 0;
	padding: 10px;
	font-size: 150%;
	width: fit-content;
}
.slider_design_1{
	position: absolute;
	top: 12%;
	right: -130px;
	z-index: 1;
}
@media(max-width:1250px){
	.slider_box{
		padding-top: 148px;
	}
}
@media(max-width:1170px){
	.slider_box{
		padding-top:170px;
	}
}
@media(max-width:1170px){
	.slider_box{
		padding-top: 10vw;
	}
}


/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#252525;
	border-radius: 5px;
	width: 60px;
	height: 60px;
	color: #fff;
	text-align: center;
	/*text-transform: uppercase; */
	text-decoration: none;
	transition:all 0.3s;
}
.arrow{
    display: inline-block;
    vertical-align: middle;

    line-height: 1;
    position: relative;
    width: 0.3em;
    height: 1.3em;
    background: currentColor;
}
  
.arrow::before{
    content: '';
    width: 0.8em;
    height: 0.8em;
    border: 0.3em solid currentColor;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    left: -0.275em;
    margin: auto;
}

#page-top a:hover{
    color: #252525;
	background: var(--basecolor);
}


/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 10px;
	z-index: 2;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}

/*-------------  スライドマーカー ---------------*/
/* アニメーション前のスタイル */
.js-marker {
	display: inline;
	position: relative;
	background-image: linear-gradient(90deg,  #e333217d,  #e333217d); /* 単色の場合は同じ色、グラデーションさせる場合は別々の色 */
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: 0 50%; /* '30%'の部分にマーカーの太さを記入 */
	transition: all 1s ease-in-out; /* マーカーを引く速度を調整 */
	font-weight: bold; /* ついでに太字にしたい場合 */
}
  
/* アニメーション発火時 */
.js-marker.inview {
background-size: 100% 50%; /* '30%'の部分は上で設定した太さに合わせる */
}
@media(max-width:960px){
	/*nesw*/
	#slider {
		height:120vw !important;
	}
	.slider_box{
		padding-top:30px;
	}

	.slider_design_1 {
		width: 40%;
		top: 9%;
		right: -20px;
	}
	.slider_catch {
		position: absolute;
		bottom: 80px;
		top:unset;
		left: 5%;
	}
	.slider_catch p {
		padding: 5px 10px;
		font-size: 120%;
	}
}
@media(max-width:500px){
	.slider_box{
		padding-top:65px;
	}
}



