@charset "UTF-8";


.tukurukubaru-main{
	margin-top: 15rem;
}

/*------　解説　------*/

.tukurukubaru-info {
    margin-bottom: 16rem;
	position: relative;
}

.tukurukubaru-info__wrap{
	max-width: 90%;
	margin: 0 auto 0 0;
}

.info-line{
	width: 8%;
	padding: 3% 0;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

.info-line__wrap{
	max-width: 100px;
	height: 100%;
	display: block;
	background: linear-gradient(180deg, #036eb8, #036eb8, #00a29a, #00a29a, #036eb8, #036eb8) 0 / 100% 200%;
}

.info-line__wrap.scroll-anime.scroll-show{
	animation: bg-gradient .3s linear forwards alternate 0.5s;
}

@keyframes bg-gradient {
	0% {
		background-position: 0 0%;
	}
	50% {
    	background-position: 0 50%;
  	}
  	100% {
    	background-position: 0 100%;
  	}
}

.tukurukubaru-container{
    width: 100%;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}


.info-item02{
	width: 50%;
	text-align: left;
    opacity: 0;
}

.info-item02__wrap{
    width: fit-content;
	margin: 0 0 0 auto;
}

.info-item02 img{
	max-width: 15rem;
	margin-bottom: 5rem;
	pointer-events: none;
}

.info-item02 h2{
	text-align: left;
	margin-bottom: 3rem;
}

.info-item02 p{
	width: 19rem;
	line-height: 1.6rem;}

.info-item02.scroll-anime.scroll-show{
  animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.info-item03{
	width: 50%;
	padding: 3% 0;
}

.info-item03 img{
	max-width: 2rem;
	display: block;
	margin: 1rem auto;
	opacity: 0;
}

.info-item03 div{
	width: 18rem;
	display: block;
	opacity: 0;
}

.info-item03__block01{
	margin: 0 auto 2rem;
}

.info-item03__block02{
	font-weight: bold;
	text-align: center;
	padding: 1rem;
	border: 1px solid #222;
	margin: 0 auto;	
}

.info-item03__block03{
	text-align: center;
	padding: 1rem;
	background-color: #222;
	color: #fff;
	margin: 0 auto;
}

.info-item03.scroll-anime.scroll-show img,.info-item03.scroll-anime.scroll-show div{
  animation: fadeup 1s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}

@keyframes fadeup{
  0% {
    /*background-position: 100% 0;*/
    transform: translateY(30px);
    opacity: 0;
  }
	80% {
    opacity: 1;
  }
  100% {
	opacity: 1;
    transform: translateY(0);
    /*background-position: 0 0;*/
  }
}

/*------　地図　------*/
.tukurukubaru-map {
    margin-bottom: 16rem;
	position: relative;
}

.map-line{
	width: 8%;
	padding: 3% 0;
	position: absolute;
	top: 3%;
	right: 0;
	height: 100%;
}

.map-line__wrap{
	max-width: 100px;
	height: 100%;
	max-height: 500px;
	display: block;
	background: linear-gradient(180deg, #036eb8, #036eb8, #00a29a, #00a29a, #036eb8, #036eb8) 0 / 100% 200%;
	margin: 0 0 0 auto;
}

.map-line__wrap.scroll-anime.scroll-show{
	animation: bg-gradient .3s linear forwards alternate 0.5s;
}

.tukurukubaru-map__wrap{
	/*max-width: 90%;
	margin: 0 auto;*/
	position: relative;
}

.map-item01{
	width: 84%;
	margin-left: 8%;	
}

.map-item01__block{
	max-width: 56rem;
	margin: 0 auto;
}

.map-item01__container{
	display: flex;
	justify-content: center;
}

.map-item01__block01{
	width: 54%;
	max-width: 30rem;
	position: relative;
	opacity: 0;
}

.map-item01__block01.scroll-anime.scroll-show{
  animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.map-item01__block01 p{
	font-weight: bold;
	position: absolute;
	top: 15%;
}

path#pass01,path#pass02,path#pass03,path#pass04{
	stroke: #fff;
}

.mapchiba:hover,.mapibaraki:hover,.mapsaitama:hover,.maptokyo:hover {
	cursor: pointer;
	animation: mapchange01 1s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}

@keyframes mapchange01{
  0% {
	fill: #c8c9ca;;
  }
  100% {
	fill: rgba(7,69,155,0.5); 
  }
}

.citychiba .mapchiba,.cityibaraki .mapibaraki,.citysaitama .mapsaitama,.citytokyo .maptokyo{
	animation: mapchange02 1s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}

@keyframes mapchange02{
  0% {
	fill: #c8c9ca;;
  }
  100% {
	fill: #07459b; 
  }
}


.map-item01__block02{
	width: 55%;
	line-height: 1.6rem;
	opacity: 0;
}

.map-item01__block02.scroll-anime.scroll-show{
  animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

.map-item01__block02_p01{
	margin-top: 15%;
	margin-bottom: 3rem;
}

.map-item01__block02_div01{
	display: flex;
	margin-bottom: 2rem;
    justify-content: center;
}

.map-item01__block02_ul01{
	width: auto;
}

.namechiba,.nametokyo,.namesaitama,.nameibaraki{
	width: 5rem;
	padding: 1rem;
	margin: 0 2rem 1rem auto;
	border: 1px solid #222;
	text-align: center;
	cursor: pointer;
}

.namechiba:hover,.nameibaraki:hover,.namesaitama:hover,.nametokyo:hover{
	animation: namechange01 0.5s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}

@keyframes namechange01{
  0% {
	  color: #fff;
	  background-color: #ffffff;
  }
  100% {
	  color: #fff;
	  background-color: rgba(7,69,155,0.5); 
  }
}

.citychiba .namechiba,.cityibaraki .nameibaraki,.citysaitama .namesaitama,.citytokyo .nametokyo{
	animation: namechange02 0.5s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}

@keyframes namechange02{
  0% {
	color: #fff;
	background-color: #ffffff;
  }
  100% {
	color: #fff;
	background-color: #07459b;
  }
}

.map-item01__block02_ul02 {
    width: auto;
}

.map-item01__block02_ul02 li{
	display: flex;
	margin-bottom: 1rem;
	border-bottom: 1px solid #222; 
    width: fit-content;
    padding: 0 1.5rem 0.5rem 0.5rem;
}

.map-item01__block02_ul02 li div{
	text-align: center;
}

.map-item01__block02_ul02 li div b{
	font-size: 2rem;
}

.map-item01__block02_ul02 li div:first-child{
    width: 4rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}

.map-item01__block02_ul02 li:last-child{
	border-bottom: none;
}

.pricechiba,.priceibaraki,.pricesaitama,.pricetokyo{
	display: none;
}

.citychiba .pricechiba,.cityibaraki .priceibaraki,.citysaitama .pricesaitama,.citytokyo .pricetokyo{
	display: block;
	animation: fadeIn 1s cubic-bezier(0.0, 0.0, 1.0, 1.0) forwards;
}


.map-item01__block02_p2 {
    line-height: 1.6rem;
    max-width: fit-content;
    margin: 0 auto;
}

.map-pdf{
    width: fit-content;
    font-weight: bold;
    text-align: center;
    margin: 6rem auto 0;
    line-height: 1.6rem;
    border: 1px solid #222;
}

.map-pdf a{
	display: block;
    padding: 2rem;
}

.map-pdf a:hover{
	color: #fff;
	background-color: #222;
}


/*1280px 以下-----------------------------------------------------------------------------*/
@media(max-width:1280px){
	
	.tukurukubaru-main {
    	margin-top: 9rem;
	}
	
	.tukurukubaru-info__wrap {
		max-width: 100%;
	}
	
	.map-item01{
		width: 100%;
		margin-left: 0;	
	}
	
	.info-item02 {
		box-sizing: border-box;
        padding-left: 100px;
	}
	
	.info-item03 {
		box-sizing: border-box;
	}
	
	.map-item01__block01 svg{
    	position: absolute;
    	top: 50%;
    	transform: translateY(-50%);
	}
}

/*1024px 以下-----------------------------------------------------------------------------*/
@media(max-width:1024px){

	.map-item01__block01 {
		width: 38%;
	}
	
	.map-item01__block02 {
		width: 60%;
	}
}

/*769px 以上-----------------------------------------------------------------------------*/
@media (min-width: 769px) {

}	

/*768px 以下-----------------------------------------------------------------------------*/
@media(max-width:768px){
	
	.tukurukubaru-main {
    	margin-top: 7rem;
	}
	
	/*------　解説　------*/
	
	.tukurukubaru-info__wrap{
		margin: 0 auto;
		max-width: 90%;
	}
	
	.info-line{
		width: 3%;
	}
	
	.info-item02 {
		width: 100%;
		padding-left: 0;
	}
	
	.info-item02__wrap {
    	margin: 0 auto;
	}
	
	.info-item03 {
		width: 100%;
		padding: 0;
	}
	
	.info-item03__block01{
		margin: 4rem auto 4rem;
	}
	
	/*------　地図　------*/
	
	.tukurukubaru-container {
		width: 90%;
	}
	
	.map-line{
		display: none;
		width: 3%;
		top: 0;
	}
	
	.map-line__wrap{
		max-height: none;
	}
	
	.map-item01__container{
		flex-wrap: wrap;
	}
	
	.map-item01 {
		width: 100%;
		margin-left: 0;
	}
	
	.map-item01__block01 {
		width: 100%;
	}
	
    .map-item01__block01 svg {
        width: 32%;
        margin: 0 0 0 auto;
        display: block;
		position: static;
		top: auto;
		transform: none;
    }
	
	.map-item01__block02 {
		width: 100%;
	}

	.map-item01__block02_p01 {
    	margin-top: 0;
    	margin-bottom: 2rem;
	}

	.map-item01__block02_ul01{
		width: 30%;
	}
	
	.map-item01__block02_ul02{
		width: 70%;
	}
	
	.map-item01__block02_ul02 li {
		width: 100%;
        justify-content: center;
	}
	
	.tukurukubaru-map {
		margin-bottom: 8rem;
	}

}

/*602px 以上-----------------------------------------------------------------------------*/
@media (min-width: 602px) {

}

/*601px 以下-----------------------------------------------------------------------------*/
@media (max-width: 601px) {
	
}
