@charset "utf-8";

#index-billboard{
	width:100%; height:auto;
	aspect-ratio:16/10;
	background:rgb(69, 161, 248);
	background:linear-gradient(
		rgba(69,161,248,1) 0%,
		rgba(69,161,248,0.6) 100%
	);
	position:relative;
	margin-bottom:12.5rem;
}
#index-billboard > #mv{
	width:100%; height:100%;
	position:relative;
}
#index-billboard > #mv::before{
	content:"";
	width:75%; height:auto;
	aspect-ratio:1234/982;
	background-image:url(../../img/sample/billboard_nagano.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(31%) hue-rotate(62deg) brightness(106%) contrast(109%);
	opacity:0.25;
	position:absolute;
	top:0; left:0; z-index:1;
	transform:translate(-15%,-35%);
}
#mv > figure{
	width:60%;
	position:absolute;
	bottom:0; right:2.5vw; z-index:10;
	transform:translateY(-25%);
}
#mv > #copy{
	width:57%;
	position:absolute;
	top:25%; left:4.0vw; z-index:10;
	transform:rotate(-3deg);
	text-align:left;
	display:flex;
	flex-direction:column;
	gap:1.0rem;
}
#mv > #copy > #row01{
	width:80%;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(6421%) hue-rotate(246deg) brightness(104%) contrast(101%);
	position:relative;
}
#mv > #copy > #row01::after{
	display:block;
	content:"";
	width:100%; height:4px;
	background:linear-gradient(
		to right,
		rgba(255,255,255,1) 25%,
		rgba(255,255,255,0) 100%
	);
	margin-top:0.5rem;
}
#mv > #copy > #row02{
	font-size:2.0vw; line-height:1.6; font-weight:var(--normal);
	color:#fff;
	letter-spacing:0.2em;
	transform:skewX(-10deg);
}

#index-search{
	width:95vw;
	position:absolute;
	bottom:-12.5rem; left:2.5vw; z-index:15;
}
ul.search-menu{
	display:flex;
	gap:2px;
}
ul.search-menu > li{
	box-sizing:border-box;
	width:20vw;
	padding:0.8rem 0;
	color:var(--base-light-color);
	color:#999;
	cursor:pointer;
	background:#ccc;
	border-radius:0.5rem 0.5rem 0 0;
}
ul.search-menu > li.search01.active{
	background:var(--main-color);
	color:#fff;
}
ul.search-menu > li.search02.active{
	background:var(--key-color01);
	color:#fff;
}
ul.search-menu > li.search03.active{
	background:var(--key-color02);
	color:#fff;
}
ul.search-menu > li > h2{
	font-size:1.0rem; line-height:1.6;
}

.search-detail{
	display:none;
	padding:3.0vw 0;
	background:#fff;
	border-radius:0 1.0rem 1.0rem 1.0rem;
}
.search-detail.active{
	display:block;
	border:3px solid var(--main-color);
}
.search-detail.search01.active{
	border-color:var(--main-color);
}
.search-detail.search02.active{
	border-color:var(--key-color01);
}
.search-detail.search03.active{
	border-color:var(--key-color02);
}
.search-detail > .search-box{
	display:flex;
	justify-content:center;
	gap:6.0vw;
}
.search-box > .form > h3,
.search-box > .text-box > h3{
	font-size:0.95rem; line-height:1.8;
	color:var(--base-light-color);
	text-align:left;
	margin-bottom:1.0em;
}
ul.search-list{
	display:flex;
	flex-direction:column;
	gap:0.5rem;
}
.search-box > .form{
	width:260px;
	text-align:left;
	position:relative;
}
.search-box > .form::before{
	content:"";
	height:100%;
	border-left:1px solid #ccc;
	position:absolute;
	top:0; right:-3.0vw;
}
.search-detail.search02 .form .select-wrapper::before{
	background:var(--key-color01);
}
.search-detail.search02 .form input[type="submit"]{
	background:var(--key-color01);
}
.search-box > .form > a.internship{
	display:flex;
	flex-direction:column;
	gap:0.25rem;
	text-decoration:none;
	color:var(--base-light-color);
}
.search-box > .form > a.internship > figcaption{
	font-size:0.85rem; line-height:1.6;
	text-align:center;
}
.search-box > .form > a.internship > figcaption > strong{
	display:block;
}
.search-box > .form > a:hover.internship{
	text-decoration:underline;
	color:var(--link-color);
}

.search-box > .form > .count{
	width:5.0rem; height:auto;
	aspect-ratio:1/1;
	border-radius:100%;
	background:#fff;
	filter:drop-shadow(1px 1px 4px #ccc);
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0; right:0;
	transform:translate(30%, -35%);
}
.search-box > .form > .count > .label{
	font-size:0.6rem; line-height:1.25;
}
.search-box > .form > .count > .number{
	font-size:1.4rem; line-height:1.25; font-weight:var(--bold);
	color:var(--key-color01);
	letter-spacing:0;
}

.search-box ul.pickup-list{
	flex:1;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
	flex-wrap:wrap;
	gap:1.5vw;
}
.search-box ul.pickup-list > li{
	width:200px;
	width:14.5vw;
}
.search-box ul.pickup-list > li > a{
	display:flex;
	flex-direction:column;
	gap:0.5rem;
	text-decoration:none;
	color:var(--base-light-color);
}
.search-box ul.pickup-list > li figure{
	box-sizing:border-box;
	width:100%; height:auto;
	border:1px solid #ccc;
	overflow:hidden;
}
.search-box ul.pickup-list.event > li figure{
	aspect-ratio:210/297;
	aspect-ratio:1/1;
}
.search-box ul.pickup-list.event > li figure > img{
	object-position:center top;
}
.search-box ul.pickup-list.company > li figure{
	aspect-ratio:1/1;
}
.search-box ul.pickup-list > li > a > .text-box{
	text-align:left;
}
.search-box ul.pickup-list > li a h3{
	font-size:1.0rem; line-height:1.6;
	color:var(--link-color);
	text-overflow:ellipsis;
	overflow:hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:2;
}
.search-box ul.pickup-list > li a:hover h3{
	text-decoration:underline;
}
.search-box ul.data-list{
	display:flex;
	flex-direction:column;
	font-size:0.85rem; line-height:1.8;
}
.search-box ul.data-list > li{
	display:flex;
	align-items:center;
	gap:0.25em;
}
.search-box ul.data-list > li > .icon{
	width:1.0rem; height:auto;
	aspect-ratio:1/1;
	position:relative;
}
.search-box ul.data-list > li > .icon::before{
	font-family:var(--google-icon);
	font-variation-settings:'wght'300,'GRAD'-25,'opsz'40;
	position:absolute;
	top:50%; left:0;
	transform:translateY(-50%);
}
.search-box ul.data-list > li.time > .icon::before{
	content:"\ebcc";
	font-size:1.1em; line-height:1;
}
.search-box ul.data-list > li.area > .icon::before{
	content:"\e0c8";
	font-size:1.3em; line-height:1;
	transform:translate(-5%,-50%);
}
.search-box ul.data-list > li.genre > .icon::before{
	content:"\e869";
	font-size:1.2em; line-height:1;
}
.search-box ul.data-list > li > .content{
	text-overflow:ellipsis;
	overflow:hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
}
.search-box ul.button-list{
	justify-content:flex-end;
	margin-top:1.5rem;
}

#index-pickup{
	padding:5.0rem 3.5vw;
}
#index-pickup ul.pickup-slide li{
	padding:1.0rem;
}
#index-pickup ul.pickup-slide li a{
	display:block;
	text-decoration:none;
	color:var(--base-light-color);
}
#index-pickup ul.pickup-slide li figure{
	width:100%; height:auto;
	aspect-ratio:960/330;
	overflow:hidden;
}
#index-pickup ul.pickup-slide li a figcaption{
	font-size:0.85rem; line-height:1.6;
	margin-top:0.5em;
}
#index-pickup .slick-container .slick-prev{
	left:-1.5vw;
	transform: translate(0, -75%);
}
#index-pickup .slick-container .slick-next{
	right:-1.5vw;
	transform: translate(0, -75%);
}
#index-pickup .slick-container button.slick-prev::before,
#index-pickup .slick-container button.slick-next::before{
	font-size:1.8rem; line-height:1;
}

#index-feature{
	padding:5.0rem 2.5vw;
	/*
	background:rgb(255, 253, 247);
	background:linear-gradient(
		rgba(255,253,247,0) 0%,
		rgba(255,253,247,1) 5%,
		rgba(255,253,247,1) 95%,
		rgba(255,253,247,0) 100%
	);
	*/
	margin-bottom:5.0rem;
	position:relative;
}
#feature-title{
	width:100%; height:auto;
	aspect-ratio:3/0.75;
	overflow:hidden;
	position:relative;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
	background:#fcfcfc;
	border-radius:1.0rem;
	overflow:hidden;
	margin-bottom:1.0rem;
}
#feature-title::before{
	content:"";
	width:100%; height:100%;
	background-image:url(../../img/sample/nagano/09.jpg);
	background-repeat:no-repeat;
	background-position:top -340px center;
	background-size:cover;
	position:absolute;
	top:0; left:0; z-index:2;
}
#feature-title::after{
	content:"";
	width:100%; height:100%;
	background:rgba(0,0,0,0.7);
	position:absolute;
	top:0; left:0;
}
#feature-title > .eng-copy{
	position:absolute;
	top:0; left:50%; z-index:10;
	transform:translateX(-50%);
	font-size:7.4vw; line-height:1.2; font-weight:var(--heavy);
	white-space:nowrap;
	text-transform:uppercase;
	color:transparent;
  -webkit-text-stroke: 2px #fff;
  text-stroke: 2px #fff;
  paint-order: stroke;
	opacity:0.2;
}
#feature-title > h2{
	width:fit-content;
	font-size:1.5rem; line-height:2.2;
	color:#fff;
	letter-spacing:0.2em;
	background:rgba(0,0,0,1);
	background:var(--main-color);
	padding:0 2.0em;
	position:relative;
	z-index:10;
	margin-top:2.0em;
	margin-bottom:0.5em;
}
#feature-title > p{
	width:fit-content;
	font-size:1.4rem; line-height:1.8; font-weight:var(--heavy);
	color:#fff;
	letter-spacing:0.1em;
	position:relative;
	z-index:10;
}

#index-feature .features{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows:auto;
	gap:1.0rem;
}
.features > div{
	box-sizing:border-box;
	border-radius:1.0rem;
	overflow:hidden;
}
.features > .description{
	color:#fff;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:2.0rem;
}
.features > .point01{
	background:var(--key-color01);
}
.features > .point02{
	background:var(--key-color02);
}
.features > .point03{
	background:var(--key-color03);
}
.features > .description > h2{
	font-size:1.4rem;
	font-weight:700;
}
.features > .figure{
	width:100%; height:100%;
	overflow:hidden;
}
.features > .figure > img{
	width:100%; height:100%;
	object-fit:cover;
}
.features > .item{
	border:1px solid #ccc;
	padding:1.5rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
.features > .item > .item-text > h3{
	font-size:1.1rem; line-height:1.6;
}
.features > .item > .item-text > h3 > span{
	font-size:0.8em;
}
.features > .item > .item-text > p{
	margin:0;
}
.features > .item > .item-text > ul{
	width:fit-content;
	margin:0 auto;
}
.features > .item > .item-image{
	width:100%;
	display:flex;
	flex-direction:column;
	align-items:center;
}
.features > .item > .item-image > figure{
	width:45%;
	position:relative;
}
.item > .item-image > figcaption{
	width:fit-content;
	font-size:1.6rem; line-height:1.6; font-weight:var(--heavy);
	color:#fff;
	background:var(--key-color04);
	background:var(--main-color);
	padding:0 1.0em;
	border-radius:9999px;
	margin-top:-0.5rem;
}
.item > .item-image > figcaption > span{
	font-size:0.7em;
}
.features > .item.item-row{
	flex-direction:row-reverse;
	gap:3.0rem;
}
.features > .item.item-row > .item-text{
	text-align:left;
}
.features > .item.item-row > .item-image{
	width:36%;
	margin:0;
}
.features > .item.item-row > .item-image > figure{
	width:100%;
}
.features > .item02{
	grid-column: span 2 / span 2;
}
.features > .item03{
	grid-row-start: 2;
}
.features > .item04{
	grid-row-start: 2;
}
.features > .item05{
	grid-row: span 2 / span 2;
	grid-row-start: 2;
}
.features > .item08{
	grid-row: span 2 / span 2;
	grid-row-start: 4;
}
.features > .item09{
	grid-row-start: 4;
}
.features > .item10{
	grid-row-start: 4;
}
.features > .item11{
	grid-column-start: 2;
}
.features > .item12{
	grid-column-start: 3;
	grid-row-start: 5;
}
#index-feature .feature-item{
	display:flex;
	flex-direction:row-reverse;
	justify-content:center;
	align-items:center;
	gap:2.5rem;
}

#index-supporter{
	display:grid;
	grid-template-columns:max-content 1fr;
	align-items:start;
	padding:5.0rem 0;
	position:relative;
}
#index-supporter .supporter-title{
	box-sizing:border-box;
	width:30vw;
	padding:0.0rem 2.5vw;
	background:rgba(255,255,255,0.3);
	text-align:left;
	position:relative;
	margin-bottom:7.0rem;
}
#index-supporter .supporter-title::before{
	content:"";
	width:35vw; height:calc(100% + 9.0rem);
	background:var(--key-color02);
	border-radius:0 1.0rem 1.0rem 0;
	position:absolute;
	top:-4.0rem; left:0;
}
.supporter-title > h2{
	display:flex;
	align-items:flex-end;
	gap:0.5rem;
	position:relative;
	z-index:2;
}
.supporter-title > h2 > figure{
	width:16vw;
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(6421%) hue-rotate(246deg) brightness(104%) contrast(101%);
}
.supporter-title > h2 > figcaption{
	font-size:1.6vw; line-height:2.0;
	color:#fff;
}
.supporter-title > p{
	color:#fff;
	margin-top:1.0em;
	position:relative;
	z-index:2;
}
#index-supporter .title-box > ul.button-list{
	justify-content:flex-start;
	margin-left:2.5vw;
}

#index-supporter > .text-box{
	min-width:0;
	width:100%;
}
ul.supporter-list{
	width:100%;
	overflow:hidden;
}
ul.supporter-list li{
	width:250px;
	margin-right:0.75rem;
}
ul.supporter-list li:nth-child(odd){
/* /	margin-top:2.5rem; */
}
ul.supporter-list li a{
	display:block;
	text-decoration:none;
	color:var(--base-color);
	text-align:left;
}
ul.supporter-list li figure{
	width:100%; height:auto;
	aspect-ratio:9/16;
	border-radius:1.0rem 0 1.0rem 0;
	overflow:hidden;
}
ul.supporter-list li .text-box{
	margin-top:0.25rem;
}
ul.supporter-list li a h3{
	font-size:1.05rem; line-height:1.6; font-weight:var(--bold);
	color:var(--link-color);
}
ul.supporter-list li a h3 > span{
	font-size:0.9em;
}
ul.supporter-list li a:hover h3{
	text-decoration:underline;
}
ul.supporter-list li a .company{
	font-size:0.85rem; line-height:1.6;
}
#index-supporter .slick-container .slick-prev,
#index-supporter .slick-container .slick-next{
	top:0;
}
#index-supporter .slick-container .slick-prev{
	left:auto; right:0;
	transform:translate(calc(-1.5vw - 2.0rem), -3.0rem);
}
#index-supporter .slick-container .slick-next{
	right:0;
	transform:translate(-1.5vw, -3.0rem);
}
#index-supporter .slick-container button.slick-prev::before{
	font-size:2.2rem;
	content:"\f591";
}
#index-supporter .slick-container button.slick-next::before{
	font-size:2.2rem;
	content:"\f591";
}

#index-shukatsu-support{
	margin:2.5rem 2.5vw;
	padding:5.0rem 5.0rem;
	background:rgba(138,193,43,0.08);
	border-radius:2.0rem;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:5.0rem;
}
#index-shukatsu-support > .support-title{
	width:320px;
}
#index-shukatsu-support > .support-title > figure{
	width:360px;
	position:relative;
	transform:translate(-40px, -40px);
}
#index-shukatsu-support > .text-box{
	flex:1;
}
#index-shukatsu-support h2{
	font-size:1.2rem; line-height:1.6;
	text-align:left;
	margin-bottom:2.0em;
}
ul.support-list{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:2.0rem 2.5rem;
	margin:0 auto;
}
ul.support-list > li{
	width:calc((100% - 2.5rem) / 2);
}

#index-tips{
	padding:5.0rem calc(2.5vw + 5.0rem);
}
#index-tips > h2{
	font-size:1.2rem; line-height:1.6;
	color:var(--key-color01);
	text-align:left;
	margin-bottom:2.0em;
}
#index-tips > ul.tips-list{
	display:flex;
	justify-content:center;
	gap:3.5rem;
	width:100%;
	margin-bottom:3.5rem;
}
#index-tips > ul.tips-list > li{
	width:calc((100% - 7.0rem) / 3);
	margin:0;
	background:#fff;
	border-radius:1.0rem;
	overflow:hidden;
	filter:drop-shadow(1px 1px 3px #ddd);
}
#index-tips > ul.tips-list > li > a{
	display:block;
	text-decoration:none;
	color:var(--base-light-color);
	text-align:left;
}
#index-tips > ul.tips-list > li > a > .text-box{
	height:auto;
	margin:0;
	padding:1.5rem;
	padding-top:1.25rem;
}
#index-tips > ul.tips-list > li > a figure{
	width:100%; height:auto;
	aspect-ratio:16/9;
	overflow:hidden;
}
#index-tips > ul.tips-list > li > a time{
	font-size:0.8rem; line-height:1.8;
}
#index-tips > ul.tips-list > li > a h3{
	font-size:1.05rem; line-height:1.6;
	color:var(--link-color);
}
#index-tips > ul.tips-list > li > a:hover h3{
	text-decoration:underline;
}
#index-tips ul.button-list{
	justify-content:flex-end;
}
