@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@300;400;500;800&family=Noto+Sans+JP:wght@300;400;500;600;700;800&display=swap');
/* CSS Document */
:root {
  --vw: 1vw;
}
:root {
  --vh: 1vh;
}
a:link,
a:visited,
a:active{
	text-decoration: underline;
	color: #ed1e79;
}
a:hover{
	text-decoration: none;
}
body{
	background: #ffffff;
	font-size:16px;
	line-height: 1.4;
	font-weight: 400;
	font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	color: #2E2E2E;
}
body.fixed{
	overflow: hidden;
}
article{
	max-width: 1300px;
	margin: auto;
	position: relative;
	background: #cccccc;
	width: 100%;
	z-index: 10;
}
section img{
	width: 100%;
}
section.kv{
	position: relative;
	z-index: 11;
}
section.kumo{
	background: #ffffff;
	margin-top: 0;
	margin-bottom: 0;
	position: relative;
	z-index: 12;
	padding-top: min(130px, 10vw);
	padding-bottom: min(130px, 10vw);
}
section.kumo.first{
	padding-top: 0;
}
section.grade1{
	background: url("../images/bg1.jpg");
	padding-top: min(260px, 20vw);
	padding-bottom: min(260px, 20vw);
	position: relative;
	z-index: 11;
}
section.grade2{
	background: url("../images/bg2.jpg");
	padding-top: min(260px, 20vw);
	padding-bottom: min(260px, 20vw);
	position: relative;
	z-index: 11;
}
section.grade3{
	background: url("../images/bg3.jpg");
	padding-top: min(260px, 20vw);
	padding-bottom: min(260px, 20vw);
	position: relative;
	z-index: 11;
}
#sns{
	padding-bottom: 0;
}
.inner{
	width: 92%;
	margin: auto;
	position: relative;
	z-index: 10;
}
/*.timecount{
	font-size:2vw;
	text-align: center;
	font-weight: 700;
	color: #A054A2;
}
.timecount i{
	display: inline-block;
	background: #F19A9C;
	padding: 1vw;
	font-style: normal;
	font-size:5vw;
	border-radius: 3vw;
	font-weight: 700;
	margin: 1vw;
	color: #ffffff;
	background-image: linear-gradient(110deg, rgba(255, 26, 26, 0.7), rgba(255, 194, 45, 0.5) 49%, rgba(240, 255, 60, 0.7));
}*/
.timecount{
	font-size:min(26px, 2vw);
	text-align: center;
	font-weight: 700;
	color: #A054A2;
}
.timecount i{
	display: inline-block;
	background: #F19A9C;
	padding: min(13px, 1vw);
	font-style: normal;
	font-size:min(70px, 5vw);;
	border-radius:min(50px, 3vw);;
	font-weight: 700;
	margin: min(13px, 1vw);
	color: #ffffff;
	background-image: linear-gradient(110deg, rgba(255, 26, 26, 0.7), rgba(255, 194, 45, 0.5) 49%, rgba(240, 255, 60, 0.7));
}
.timecount i:nth-child(2){
	  background-image: linear-gradient(110deg, rgba(34, 230, 0, 0.7), rgba(60, 186, 255, 0.7));
}
.timecount i:nth-child(3){
	 background-image: linear-gradient(110deg, rgba(166, 60, 255, 0.7), rgba(255, 159, 241, 0.7));
}

.uekumo{
	position: absolute;
	left: 0;
	top: -10vw;
    top: calc(-1 * min(130px, 10vw));
}
.shitakumo{
	position: absolute;
	left: 0;
	bottom: -10vw;
    bottom: calc(-1 * min(130px, 10vw));
}
.kumolast{
	position: absolute;
	left: 0;
	bottom: 0;
}
h2{
	margin-bottom: min(60px,5vw);
    z-index: 10;
    position: relative;
}
h2 .midashititle{
	height: 30vw;
	margin: auto;
	max-height: 150px;
}
h2 .midashititle2{
	height: 18vw;
	margin: auto;
	max-height: 92px;
}
h2 .midashititle3{
	height: 49vw;
	margin: auto;
	max-height: 282px;
}
h2 .midashititle4{
	height: 22vw;
	margin: auto;
	max-height: 110px;
}

h2.hidari{
	display: flex;
	justify-content: flex-start;
}
h2.hidari img{
	width: 50vw;
	max-width: 360px;
}
h2.migi{
	display: flex;
	justify-content: flex-end;
}
h2.migi img{
	width: 50vw;
	max-width: 300px;
}
hr{
	border: none;
	background: url("../images/niji-line.svg");
	background-size: 120% 30%;
	height: 3vw;
	height:	min(40px, 3vw);
	background-repeat: no-repeat;
	background-position: center;
	padding-top: min(13px, 1vw);
	padding-bottom: min(13px, 1vw);
}
hr.abc{
	border: none;
	background: #cccccc;
	background: url("../images/niji-line.svg");
	background-size: 120% 30%;
	height: 3vw;
	background-repeat: no-repeat;
	background-position: center;
	padding-top: 1vw;
	padding-bottom: 1vw;
}
hr.rainbow{
	background-image: linear-gradient(180deg, rgba(255, 97, 97, 0.5), rgba(233, 178, 45, 0.5) 20%, rgba(192, 202, 75, 0.5) 34%, rgba(53, 179, 56, 0.5) 58%, rgba(86, 110, 243, 0.5) 79%, rgba(154, 39, 238, 0.5));
	width: 30vw;
	background-size: auto;
	height: 126vw;
	position: absolute;
	right: 0;
	top: 0;
	-ms-filter: blur(17px);
  filter: blur(17px);
	z-index: 8;
}
.kv{
	position: relative;
	overflow: hidden;
	
}
.kv h1{
	right: 4vw;
	top: 4vw;
	position: absolute;
	width: 260px;
	z-index: 12;
}
.kv h3{
	right: 4vw;
	bottom: 130px;
	position: absolute;
	width: 600px;
	z-index: 12;
}
@media screen and (max-width:1300px){
	.bannerarea a{
		width: calc(48% - 10px);
	}
	.kv h1{
		width: min(260px, 20vw);
	}
	.kv h3{
		right: 4vw;
		bottom: 9vw;
		width: 50vw;
	}

}
@media screen and (max-width:1000px){
	.kv h3{
		right: 4vw;
        bottom: 7vw;
        width: 57vw;
	}

}
@media screen and (max-width:500px){
	.kv h1{
		width: 19vw;
	}
	.kv h3{
        bottom: 4vw;
	}

}
.niji{
	margin-bottom: 20px;
}
.niji span{
	display: inline-block;
}
.niji strong{
	font-weight: 900;
	color: #ed1e79;
    font-size: 1em;
    display: inline-block;
}

	.niji{text-align: center;}

p em{
	display: inline-block;
	padding: 6px;
	line-height: 1;
	color:  #ed1e79;
	font-weight: 700;
	font-size:2em;
}
.wakka{
	margin-bottom: 20px;
	text-indent: -1.3em;
    padding-left: 2.5em;
	
}
.tyusen{
	text-align: center;
	border-bottom: 1px solid #ed1e79;
	padding-bottom: 5px;
	margin-bottom: 15px;
	color: #ed1e79;
}
.bannerarea{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap:10px;
	justify-content: center;
	
}
.bannerarea a{
	width: calc(25% - 8px);
}
.bannerarea a img{
	width: 100%;
}
.gaiyou{
	display: flex;
	justify-content: space-between;
	width: 92%;
	margin: auto;
	position: relative;
}
.gaiyou .logo{
	width: 28%;
}
.gaiyou .copy{
	width: 68%;
}


.humburger{
	background: #ffffff;
	box-sizing: border-box;
	width: 100%;
	height: 100vh;
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	display: none;
	
}
.humburger .title{
	width: 350px;
	margin: auto;
	display: block;
	margin-top: 50px;
}
.humburger nav{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
	margin: auto;
	margin-top: min(80px,6vw);
	margin-bottom: min(80px,6vw);
    max-width: 800px;
    width: 90%;
}
.humburger nav a{
	width: 46%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	margin: 0;
	margin-bottom: 0;
	padding-top: min(40px,3vw);
	padding-bottom: min(40px,3vw);
}
.humburger nav a:before{
	content: "";
	display: block;
	width: 100%;
	background:url("../images/niji-linw2.svg");
	background-position: center;
	background-repeat: no-repeat;
	height: 4px;
	position: absolute;
	bottom: -2px;
	left: 0;
}
.humburger nav a:nth-child(1):after,
.humburger nav a:nth-child(2):after{
	content: "";
	display: block;
	width: 100%;
	background:url("../images/niji-linw2.svg");
	background-position: center;
	background-repeat: no-repeat;
	height: 4px;
	position: absolute;
	top:-2px;
	left: 0;
}

.humburger nav a img{
	width: auto;
	height: 60px;
}
.humburger .closebtn{
	width: 110px;
	display: block;
	margin: auto;
    padding-top: 3vw;
}
.spmenu{
	display: block;
	position: fixed;
	z-index: 120;
	top: 2vw;
	left: 2vw;
	max-width: 60px;
	width: 13vw;
	cursor: pointer;
}
.closebtn{
	cursor: pointer;
}
@media screen and (max-width:1000px){
	.bannerarea a{
		width: calc(48% - 10px);
	}
	

}
@media screen and (max-width:800px){
	.timecount{
		font-size:3vw;
	}
	.humburger .title{
		width: 60vw;
		margin-top: 11vw;
	}
	.humburger nav{
		width: 80%;
	}
	.humburger nav a img{
		width: auto;
		height: min(130px, 10vw);
	}
	.humburger nav a{
		padding-top: 4vw;
	}
	.humburger nav{
		margin-bottom: 11vw;
	}
	.humburger .closebtn{
		width: 22vw;
	}
	
}
.message{
	background: #ffffff;
	padding: 15px;
	border-radius: 15px;
	 box-shadow: -4px -4px 15px 0px rgba(255, 179, 0, 0.5), 5px 4px 15px 0px rgba(255, 23, 158, 0.5);
	width: 90%;
	margin: auto;
	margin-bottom: 30px;
}

#message{
	position: relative;
}
.message_bg{
	position: absolute;
	top: 0;
	left: 0;
	height: calc(100% - min(260px, 20vw));
	width: 100%;
	bottom: 0;
	margin: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	
	
}
#overview{
	position: relative;
}
@media screen and (min-width:801px){
#overview h2{
	margin-bottom: -40px; 	
	}
}
.overview_bg_niji {
    position: absolute;
    z-index: 1;
	margin: auto;
	top: 0;
	bottom: 0;
    background-image: url(../images/bg_rainbow.svg);
    background-size: 3000px;
    background-repeat: no-repeat;
    background-position: top center;
    height: 0;
    width: 100%;
	padding-top: 200px;
}
.overview_bg{
	position: absolute;
	top: 0;
	left: 0;
	height: calc(100% - min(260px, 20vw));
	width: 100%;
	bottom: 0;
	margin: auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	
	
}
.waku{
	background: #ffffff;
	padding: 30px;
	border-radius: 15px;
	 box-shadow: -4px -4px 15px 0px rgba(255, 179, 0, 0.5), 5px 4px 15px 0px rgba(255, 23, 158, 0.5);
	width: 90%;
}

.waku.migi{
	background: #ffffff;
	margin-left: 10%;
	margin-bottom: min(130px, 10vw);
}
.waku.migi strong{
	color: #f48424;
	font-weight: 700;
	display: inline-block;
	margin-right: 10px;
}
#news_area{
	/*overflow-y: scroll;*/
	height: 300px;
}

.newslist{
    direction: inherit;
    box-sizing: border-box !important;
    position: relative;
    display: block;
    height: 100%;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-right: 25px;
}

.scroll__inner {
  background-color: #ffffff;
  height: 350px;
  padding: 40px 30px 45px 20px;
  overflow-y: scroll;
  -ms-overflow-style: none;
  /* IE, Edge 対応 */
  scrollbar-width: none;
  /* Firefox 対応 */
}
.scroll__inner::-webkit-scrollbar {
  /* Chrome, Safari 対応 */
  display: none;
}
.simplebar-scrollbar::before {
  background: #ffffff;
  border-radius: 0;
  width: 5px;
  margin-left: 3px;
  margin-top: 2px;
    width: 13px;
    margin-left: -1px;
    margin-top: 2px;
}
.simplebar-scrollbar.simplebar-visible::before {
  opacity: 1;
}
.simplebar-track {
	background: #f6f0ff;
  width: 15px !important;
	border-radius: 10px;
}

.simplebar-scrollbar:before {
    position: absolute;
	border-radius: 10px;
    content: '';
	background: #ed1e79;
}
.newslist a,
.newslist a:active,
.newslist a:visited,
.newslist a:link{
	color: inherit;
	text-decoration: none;
}
.newslist a .text{
	text-decoration: underline;
}
.newslist a .text:hover{
	text-decoration: none;
}
#news_area li{
	border-bottom: 1px solid #E3E3E3;
	padding: 10px 0;
}
#news_area .newsmeta{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 5px;
}
#news_area .cat{
	display: inline-block;
	background: #FF9C0F;
	font-size:13px;
	font-weight: 600;
	color: #ffffff;
	padding: 4px 10px;
	margin-right: 10px;
	border-radius: 2px;
}
#news_area .date{
	font-size:13px;
	color: #ed1e79;
	font-weight: 600;
}
footer{
    margin-top: min(60px, 5vw);
	text-align: center;
	padding: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}
footer copyright{
	font-size:13px;
	font-weight: 600;
	color: #ed1e79;
}
.youtube_area{
	width: 100%;
	margin: 40px auto;
}
.youtube{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
@media screen and (max-width:800px){
	.waku{padding: 15px;width: 100%;}
	.waku.migi{margin-left: 0;}
	.message{padding: 15px;width: 100%;}
	.youtube_area{width: 100%;}
}
.ticket{
	/*display: flex;
	flex-wrap: wrap;
	justify-content: space-between;*/
}
.ticketsenkou_read{
	margin-bottom: 20px;
	text-align:center;
	font-size: 18px;}
.ticket li{
	display: flex;
	justify-content: space-between;
	background: #FFE2E3;
	margin-bottom: 10px;
	border-radius: 10px;
	padding: 10px;
	box-sizing: border-box;
}
.ticket li:nth-child(2){
	background: #EDFFCE;
}
.ticket li:nth-child(3){
	background: #CEF0FF;
}
.ticket li:nth-child(4){
	background: #f6e7ff;
}
.ticket li .left{
	width: 100px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ffffff;
    border-radius: 6px;
}
.ticket_img{
	width: 80px;
}
.ticket li .right{
	width: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ticket li .right p{
	background: #ed1e79;
	 background-image: linear-gradient(110deg, rgba(237, 30, 121, 1), rgba(187, 159, 255, 1));
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
    padding: 5px 10px;
    border-radius: 10px;
}
.ticket li .center{
	width: calc(100% - 200px);
}
@media screen and (max-width:800px){
	.ticket li{
	flex-wrap: wrap;}
	.ticket li .left{
		width: 28%;
	}
	.ticket li .center{
		width: 70%;
	}
	.ticket li .right{
		width: 100%;
		border-left: none;
		border-top: none;
		margin-top: 10px;
		padding-top: 10px;
	}
}
.ticket li h4{
	font-size:20px;
	font-weight: 600;
	margin-bottom: 5px;
}
.ticket li h6{
	font-size:16px;
	font-weight: 600;
	margin-bottom: 5px;
}
.ticket li p{
	font-size:14px;
}
h3{
	font-size:22px;
	font-weight: 700;text-align: center;
	color: #FF7600;
	margin-bottom: 20px;
	margin-top: 0px;
	font-family: "M PLUS Rounded 1c";
}
.kome{
	text-indent: -1em;
    padding-left: 1em;
	font-size:14px;
}
.yoyaku li{
	border: 5px solid #ffdceb;
    padding: 10px;
    border-radius: 10px;
    margin-bottom: 15px;
}
.yoyaku li:nth-child(2){
	border: 5px solid #ffe9a8;
}
.yoyaku h4{
	font-size:20px;
	font-weight:700;
	color: #ed1e79;
	margin-bottom: 10px;
}
.yoyaku h5{
	font-size: 14px;
    color: #434343;
    background: #dbdbdb;
    padding: 5px 10px;
    width: 14em;
    margin-bottom: 7px;
    text-align: center;
}
.yoyaku p{
	margin-bottom: 10px;
}
.yflex{
	display: flex;
	justify-content: flex-start;
}
.yflex .left{width: 65%;}
.yflex .right{width: 33%;}
.kikan p{
	margin-bottom: 15px;
}
.road_outer{
	position: relative;
}
.road{
	display: flex;
	flex-wrap: wrap;
	gap:100px;
	column-gap: 100px;
	align-items: flex-start;
	/*margin-top: 100px;
    margin-top: 200px;*/
    padding-top: 200px;
	z-index: 5;
	position: relative;
}
.road_bg{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	left: 0;
    top: -240px;
    height: calc(100% - 140px);
	width: 100%;
	position: absolute;
	z-index: 1;
}
.road_bg img{
	position: relative;
	z-index: 2;
	width: 100%;
}
.road_bg_niji{
	position: absolute;
	z-index: 1;
    bottom: 300px;
	background-image: url("../images/bg_rainbow.svg");
	background-size: 3000px;
	background-repeat: no-repeat;
    background-position: top center;
	height: 0;
	width: 100%;
	padding-top: 200px;
}
.roaditem{
	width: calc( 50% - 50px);
	position: relative;
	z-index: 1;
}
.roaditem_block{
	border:3px solid #EB0033;
	background-color: #fff;
	box-sizing: border-box;
	gap:20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 10px;
	border-radius: 10px;
    padding: min(30px, 6vw);
	position: relative;
	z-index: 10;
	
}


.roaditem h3{
	width: 100%;
}
.roaditem .btn_a{
    background-image: linear-gradient(110deg, rgba(237, 30, 121, 1), rgba(187, 159, 255, 1));
    font-size: 18px;
    font-weight: 700;
    padding: 10px 30px;
    border-radius: 40px;
    color: #ffffff;
    box-sizing: border-box;
    display: block;
    margin: 0;
    text-align: center;
	width: 100%;
    max-width: 200px;
}
@media screen and (min-width:801px){
	
	.roaditem .left{
		width: calc(50% - 20px);
	}
	.roaditem .right{
		width: calc(50%);
	}
}
.roaditem_pointer{
	position: absolute;	
	width: 68px;
	height: 50px;
	left: 100%;
	top: 30px;
	display: block;
	display: flex;
	align-items:center;
	justify-content: flex-end;
    z-index: 5;
}
.roaditem > .roaditem_pointer{
    width: 65px;
	top: 33px;
}
.roaditem > .roaditem_pointer .roaditem_point:after{
	display: none;
}
.roaditem_point{
	border-radius: 50px;
	width: 30px;
	height: 30px;
	display: block;
	background-color: #fff;
	border: solid 10px #EB0033;
	box-sizing: border-box;
	position: relative;
}
.roaditem_point:after{
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 0;
    left: -65px;
    right: 0;
    margin: auto;
    display: block;
    border-top: 5px solid transparent;
    border-left: 35px solid rgba(0, 0, 0, 1);
    border-bottom: 5px solid transparent;
    border-right: 0px solid transparent;
    z-index: 2;
	
}
.roaditem:after{
	content: "";
	height: 200px;
	position: absolute;
    top: 54px;
    left: calc(100% + 45px);
	display: block;
	width: 10px;
}
.roaditem:last-child:before{
	content: "";
	
    height: calc(100% + 10px);
    position: absolute;
    top: 54px;
    left: calc(100% + 45px);
    display: block;
    width: 66px;
	background-image: url("../images/arrow_end.svg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: contain;
    z-index: 10;
}
.roaditem_num{
    position: absolute;
    border-radius: 50px;
    line-height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 600;
    width: 2em;
    height: 2em;
    font-size: 28px;
    left: -1em;
    top: -1em;
}
@media screen and (min-width:801px){
	
.roaditem{
	margin-top: -200px;
}
.roaditem:nth-child(2n){
	margin-top: 0px;
}
.roaditem:nth-child(2n):after{
	height: 100%;
	left: auto;
	right: calc(100% + 45px);
	display: block;
	width: 10px;
}
.roaditem:nth-child(2n) .roaditem_point:after{
	right: -68px;
	left: 0;
    border-top: 5px solid transparent;
    border-left: 0px solid transparent;
    border-bottom: 5px solid transparent;
    border-right: 35px solid rgba(0, 0, 0, 1);
	
}
.roaditem:nth-child(2n) .roaditem_pointer{
	left: auto;
	right: 100%;
	justify-content: flex-start;
}
.roaditem:nth-child(2n):last-child:before{
    top: 54px;
        right: calc(100% + 20px);
        left: auto;
}
}
@media screen and (max-width:800px){
	.roaditem_pointer {
		right: 100%;
	left: auto;
    justify-content: flex-start;
	width: 56px;
	}
	.road {
		gap: 50px;
    padding-top: 50px;
	}
.roaditem:after {
    height: calc(100% + 50px);
    right: calc(100% + 48px);
        right: calc(100% + 33px);
	left: auto;
	}
	.roaditem_point:after {
    left: 20px;
		right: 0;
	}
	
    .roaditem:last-child:after {
        height: calc(100% + 0px);
    }
.roaditem:last-child:before{
        height: calc(100% + 9px);
        right: calc(100% + 15px);
        left: auto;
        width: 52px;
}
	
.roaditem > .roaditem_pointer{
    width: 53px;
}
}



:root {
  --color1:rgb(255 179 179);
  --color2:rgb(252 189 174);
  --color3:rgb(244 217 158);
  --color4:rgb(242 218 158);
  --color5:rgb(241 218 159);
  --color6:rgb(216 227 169);
  --color7:rgb(160 217 162);
  --color8:rgb(164 208 184);
  --color9:rgb(182 177 248);
  --color10:rgb(204 157 246);
  --color11:rgb(147 39 143);
	
  --color1:#ed1c24;
  --color2:#f15a24;
  --color3:#f7931e;
  --color4:#fbb03b;
  --color5:#fcee21;
  --color6:#8cc63f;
  --color7:#29abe2;
  --color8:#0071bc;
  --color9:#1b1464;
  --color10:#93278f;
  --color11:rgb(147 39 143);
	 
	
}

.roaditem:nth-child(1) .roaditem_block{
	border-color: var(--color1);
}
.roaditem:nth-child(1) .roaditem_num{
	background-color:  var(--color1);
}
.roaditem:nth-child(1):after{
background: linear-gradient(to bottom,  var(--color1) 0%,var(--color2) 100%); 
}
.roaditem:nth-child(1) .roaditem_point{
	border: solid 10px var(--color1);
}
@media screen and (max-width:800px){
.roaditem:nth-child(1)  .roaditem_point:after{
    border-right: 25px solid var(--color1);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(1)  .roaditem_point:after{
    border-left: 35px solid var(--color1);
}
}

.roaditem:nth-child(2) .roaditem_block{
	border-color: var(--color2);
}
.roaditem:nth-child(2) .roaditem_num{
	background-color:  var(--color2);
}
.roaditem:nth-child(2):after{
background: linear-gradient(to bottom,  var(--color2) 0%,var(--color3) 100%); 
}
.roaditem:nth-child(2) .roaditem_point{
	border: solid 10px var(--color2) ;
}
@media screen and (max-width:800px){
.roaditem:nth-child(2)  .roaditem_point:after{
    border-right: 25px solid var(--color2);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(2)  .roaditem_point:after{
    border-right: 35px solid var(--color2);
    border-left: 0px solid transparent;;
}
}


.roaditem:nth-child(3) .roaditem_block{
	border-color: var(--color3);
}
.roaditem:nth-child(3) .roaditem_num{
	background-color:  var(--color3);
}
.roaditem:nth-child(3):after{
background: linear-gradient(to bottom,  var(--color3)  0%,var(--color4) 100%); 
}
.roaditem:nth-child(3) .roaditem_point{
	border: solid 10px var(--color3) ;
}
@media screen and (max-width:800px){
.roaditem:nth-child(3)  .roaditem_point:after{
    border-right: 25px solid var(--color3);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(3)  .roaditem_point:after{
    border-left: 35px solid var(--color3);
    border-right: 0px solid transparent;;
}
}

.roaditem:nth-child(4) .roaditem_block{
	border-color: var(--color4);
}
.roaditem:nth-child(4) .roaditem_num{
	background-color:  var(--color4);
}
.roaditem:nth-child(4):after{
background: linear-gradient(to bottom,  var(--color4) 0%,var(--color5) 100%); 
}
.roaditem:nth-child(4) .roaditem_point{
	border: solid 10px var(--color4) ;
}
@media screen and (max-width:800px){
.roaditem:nth-child(4)  .roaditem_point:after{
    border-right: 25px solid var(--color4);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(4)  .roaditem_point:after{
    border-right: 35px solid var(--color4);
    border-left: 0px solid transparent;;
}
}

.roaditem:nth-child(5) .roaditem_block{
	border-color: var(--color5);
}
.roaditem:nth-child(5) .roaditem_num{
	background-color:  var(--color5);
	color: #f7931e;
}
.roaditem:nth-child(5):after{
background: linear-gradient(to bottom,  var(--color5)  0%, var(--color6) 100%); 
}
.roaditem:nth-child(5) .roaditem_point{
	border: solid 10px var(--color5) ;
}

@media screen and (max-width:800px){
.roaditem:nth-child(5)  .roaditem_point:after{
    border-right: 25px solid var(--color5);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(5)  .roaditem_point:after{
    border-left: 35px solid var(--color5);
    border-right: 0px solid transparent;;
}
}

.roaditem:nth-child(6) .roaditem_block{
	border-color: var(--color6);
}
.roaditem:nth-child(6) .roaditem_num{
	background-color:  var(--color6);
}
.roaditem:nth-child(6):after{
background: linear-gradient(to bottom,  var(--color6)  0%,var(--color7) 100%); 
}
.roaditem:nth-child(6) .roaditem_point{
	border: solid 10px var(--color6)  ;
}

@media screen and (max-width:800px){
.roaditem:nth-child(6)  .roaditem_point:after{
    border-right: 25px solid var(--color6);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(6)  .roaditem_point:after{
    border-right: 35px solid var(--color6);
    border-left: 0px solid transparent;;
}
}


.roaditem:nth-child(7) .roaditem_block{
	border-color: var(--color7);
}
.roaditem:nth-child(7) .roaditem_num{
	background-color:  var(--color7);
}
.roaditem:nth-child(7):after{
background: linear-gradient(to bottom,  var(--color7)  0%,var(--color8) 100%); 
}
.roaditem:nth-child(7) .roaditem_point{
	border: solid 10px var(--color7) ;
}

@media screen and (max-width:800px){
.roaditem:nth-child(7)  .roaditem_point:after{
    border-right: 25px solid var(--color7);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(7)  .roaditem_point:after{
    border-left: 35px solid var(--color7);
    border-right: 0px solid transparent;;
}
}

.roaditem:nth-child(8) .roaditem_block{
	border-color: var(--color8);
}
.roaditem:nth-child(8) .roaditem_num{
	background-color:  var(--color8);
}
.roaditem:nth-child(8):after{
background: linear-gradient(to bottom,  var(--color8) 0%,var(--color9) 100%); 
}
.roaditem:nth-child(8) .roaditem_point{
	border: solid 10px var(--color8);
}

@media screen and (max-width:800px){
.roaditem:nth-child(8)  .roaditem_point:after{
    border-right: 25px solid var(--color8);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(8)  .roaditem_point:after{
    border-right: 35px solid var(--color8);
    border-left: 0px solid transparent;;
}
}


.roaditem:nth-child(9) .roaditem_block{
	border-color: var(--color9);
}
.roaditem:nth-child(9) .roaditem_num{
	background-color:  var(--color9);
}
.roaditem:nth-child(9):after{
background: linear-gradient(to bottom, var(--color9)  0%, var(--color10) 100%); 
}
.roaditem:nth-child(9) .roaditem_point{
	border: solid 10px var(--color9) ;
}
@media screen and (max-width:800px){
.roaditem:nth-child(9)  .roaditem_point:after{
    border-right: 25px solid var(--color9);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(9)  .roaditem_point:after{
    border-left: 35px solid var(--color9);
    border-right: 0px solid transparent;;
}
}

.roaditem:nth-child(10) .roaditem_block{
	border-color: var(--color10);
}
.roaditem:nth-child(10) .roaditem_num{
	background-color:  var(--color10);
}
.roaditem:nth-child(10):after{
background: linear-gradient(to bottom, var(--color10)  0%, var(--color11) 100%); 
}
.roaditem:nth-child(10) .roaditem_point{
	border: solid 10px var(--color10);
}
@media screen and (max-width:800px){
.roaditem:nth-child(10)  .roaditem_point:after{
    border-right: 25px solid var(--color10);
    border-left: 0px solid transparent;;
}
}
@media screen and (min-width:801px){
.roaditem:nth-child(10)  .roaditem_point:after{
    border-right: 35px solid var(--color10);
    border-left: 0px solid transparent;;
}
}


@media screen and (max-width:800px){
	.roaditem{
        width: calc(100% - 60px);
        margin-left: 60px;
		
	}
}

.road{
	position: relative;
	z-index: 10;
}
.budoukan{
	width: 100%;
	position: relative;
	z-index: 1;
    padding-top: 40%;
}
.budoukan img{
position: absolute;
	top: -100%;
	bottom: -100%;
	width: 70%;
	margin: auto;
	left: 0;
	right: 0;
}

@media screen and (max-width:800px){
	.budoukan {
		padding-top: 60%;
	}
	.budoukan img{
    width: 100%;
	}
}

.inner.rain{
	position: relative;
}
.rainbowroad{
	background-image: linear-gradient(180deg, rgba(255, 97, 97, 0.5), rgba(233, 178, 45, 0.5) 20%, rgba(192, 202, 75, 0.5) 34%, rgba(53, 179, 56, 0.5) 58%, rgba(86, 110, 243, 0.5) 79%, rgba(154, 39, 238, 0.5));
    width: 10px;
    height: 204vw;
	height: 100%;
	
    position: absolute;
    left: -50%;
    right: -50%;
    right: -60%;
	margin: auto;
    top: 50px;
}

a.cv{
	 background-image: linear-gradient(110deg, rgba(237, 30, 121, 1), rgba(187, 159, 255, 1));
	font-size:18px;
	font-weight:700;
	padding: 10px 30px;
	border-radius: 40px;
	color: #ffffff;
	box-sizing: border-box;
	display: block;
	margin: 20px auto 0;
	text-align: center;
	width: 100%;
	text-decoration: none;
	
}
@media screen and (max-width:800px){
	.yflex{
	display: block;
	justify-content: flex-start;
}
.yflex .left{width: 100%;}
.yflex .right{width: 100%;}
	

}

.snslinks{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap:20px;
	width: 90%;
	margin: auto;
	margin-bottom: 30px;
}
.snslinks a{
	width: calc(50% - 10px);
}

@media screen and (min-width:801px){
.snslinks a{
	width: calc(33.33% - 40px / 3);
}
}


.btn_arrow{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	position: relative;
	width: 90%;
	max-width: 600px;
	margin: auto;
    margin-bottom: min(60px, 5vw);
	text-decoration: none;
}
.btn_arrow:active,
.btn_arrow:visited,
.btn_arrow:link{
	text-decoration: none;
}
.btn_arrow:before{
	content: "";
	background-image: url("../images/icon/icon_arrow.svg");
	width: 30px;
	height: 20px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	left: 15px;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
}
.btn_arrow:active,
.btn_arrow:visited,
.btn_arrow:link{
	border: solid #ed1e79 1px;
	color: #ed1e79;
}
.btn_arrow:hover{
	background-color: #fff;
	color: #ed1e79;
}
.snsicons{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap:20px;
	width: 90%;
	margin: auto;
}
.snsicons a{
	width: min(50px, 10vw);
}
.modalbtn{
	cursor: pointer;
}
.modalouter {
	position: fixed;
	width: 100%;
	z-index: 100001;
	display: none;
	left: 0;
	bottom: 0;
	margin: auto;
	top: 0;
	bottom: 0;
	box-sizing: border-box;
	align-items: center;
	height:  calc(var(--vh) * 100);;
	padding: 30px;
	background-color: rgba(0,0,0,0.40);
	flex-direction: column;
	justify-content: flex-start;
}
.modalbox {
	display: none;
	max-width: 800px;
	width: 100%;
	background-color:#FFFFFF;
	border-radius: 15px;
	padding: 20px;
	max-height:  calc(var(--vh) * 100 - 140px);
	box-sizing: border-box;
	flex-direction: column;
}
.modalinner{
	overflow: auto;
	width: 100%;
}
.modalinner img{
	display: block;
	max-width: 100%;
	margin-bottom: 20px;
	
}
.modal_close {
	width: 100%;
	background-position: right center;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-bottom: 20px;
	max-width: 800px;
}
.modal_close img{
	width:40px;
	cursor: pointer;
}
.modaltitle{
	font-size: 24px;
	margin-bottom: 15px;
	padding-bottom: 10px;
	border-bottom: solid 2px #ed1e79;
}

.pagetop{
	width:min(90px,15vw);
	right: min(30px,5vw);
	bottom: min(30px,5vw);
	display: block;
	position: fixed;
	z-index: 10;
}
.naobo{
    width: 100px;
    height: 100px;
    animation: naobo 1s linear infinite;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url(../images/naobo1.png);
    position: absolute;
    left: 0;
    right: 0;
	top: 100px;
    margin: auto;
    z-index: 15;
}

.road_comingsoon{
	display: flex;
	align-items: center;
	justify-content: center;
}
.modal_comingsoon{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 300px;
}
.modal_comingsoon img{
	width: 80%;
}
.wakkagen{
	width: 70%;
	max-width: 250px;
	display: block;
	margin: auto;
}

@keyframes naobo{
    0% {
		background-image: url("../images/naobo1.png");
	}
    24% {
		background-image: url("../images/naobo1.png");
	}
    25% {
		background-image: url("../images/naobo2.png");
	}
    49% {
		background-image: url("../images/naobo2.png");
	}
	50% {
		background-image: url("../images/naobo3.png");
	}
	74% {
		background-image: url("../images/naobo3.png");
	}
    75% {
		background-image: url("../images/naobo4.png");
	}
    99% {
		background-image: url("../images/naobo4.png");
	}
	} 
@media screen and (max-width:800px){
.naobo{
        right: auto;
        left: calc(0px + 3.5% - 2px);
        /* right: 50px; */
        width: 50px;
        height: 80px;
        top: 180px;
	}
}

.type_fade {
	opacity: 0;
	transform: translate(0, 50px);
	transition: 0.3s;
}
.type_fade.show {
	opacity: 1;
	transform: translate(0, 0);
}

.type_fade2 {
	opacity: 0;
	transform: translate(0, 0px);
	transition: 0.3s 0.2s;
}
.type_fade2.show {
	opacity: 1;
	transform: translate(0, 0);
}
