/*					*/
/*		title		*/
/*					*/
html {
	opacity:0;
}

main legend.title {
    display: flex;
    flex-direction: column;
	width:100%;
	height:320px;
	position: relative;
	overflow: visible;
	margin-bottom:3em;
}
main legend.title.top {
    align-items: flex-end; /* 子要素を右寄せ */
}
main legend.title.treatment {
    align-items: flex-start; /* 子要素を右寄せ */	
}

main legend.title .titleImg{
	position: absolute;
	width:480px;
}
main legend.title.top .titleImg{
	right:100px;
}
main legend.title.treatment .titleImg{
	left:100px;
}

main legend.title .copy{
	writing-mode: vertical-rl;	
	position: relative;
	z-index:1;
}

main legend.title .copy h1{
	text-align:left;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	line-height:1.5em;
	color:#555;
	opacity:0;
}

main legend.title.top .copy h1{
	font-size:1.8em;
	margin:1em 0.25em 0 0.0;
	white-space: nowrap;
}
main legend.title.treatment .copy h1{
	font-size:1.4em;
	margin:0.5em 0.75em 0 0.75em;
}

main legend.title .copy small{
	font-weight: 600;	
	font-size:0.5em;
	line-height:2.4em;
}

main legend.title .copy h1 span{
	color:#555;	
}
main legend.title .copy b span{
	color:rgb(255,64,73);
}

@media screen and (min-width: 568px){
	main legend.title {
		height:440px;
		max-width:540px;
		margin-left:calc((100% - 540px) / 2);		
		margin-bottom:4em;
    }
	main legend.title .titleImg{
		width:680px;
		margin-top:-20px;		
	}
	main legend.title.top .titleImg{
		right:120px;
	}	
	main legend.title.treatment .titleImg{
		left:120px;
	}
	main legend.title.top .copy h1{
		font-size:2em;
		line-height: 1.3em;
		
		margin:0;
	}
	main legend.title.treatment .copy h1{
		font-size:1.6em;
		line-height: 1.8em;
		margin:0;
	}
	main legend.title .copy small{
		line-height:1.2em;
	}
}

@media screen and (min-width: 768px){
	main legend.title {
        max-width:720px;	
		height:540px;
		margin-left:calc((100% - 720px) / 2);
    }
	main legend.title .titleImg{
		width:800px;
	}
	main legend.title.top .titleImg{
		right:160px;
	}	
	main legend.title.treatment .titleImg{
		left:160px;
	}
	main legend.title.top .copy h1{
		font-size:2.2em;
		line-height: 1.8em;			
	}
	main legend.title.treatment .copy h1{
		font-size:2em;
	}	
}

@media screen and (min-width: 1024px) {
	main legend.title {
        max-width:980px;
		height:630px;
		margin-left:calc((100% - 980px) / 2);
		margin-bottom:5em;		
    }
	
	main legend.title .titleImg{
		width:980px;
		top:-30px;
	}
	main legend.title.top .titleImg{
		right:180px;
	}	
	main legend.title.treatment .titleImg{
		left:180px;
	}
	main legend.title.top .copy h1{
		font-size:2.6em;
	}
	main legend.title.treatment .copy h1{
		font-size:2.3em;
	}	
}

@media screen and (min-width: 1320px) {
	main legend.title {
        max-width:1230px;
		height:720px;
		margin-left:calc((100% - 1230px) / 2);
    }

	main legend.title .titleImg{
		width:1080px;
	}
	
	main legend.title.top .titleImg{
		left:-50px;
		right:inherit;
	}
	main legend.title.treatment .titleImg{
		left:inherit;
		right:-50px;
	}
	main legend.title.top .copy h1{
		font-size:2.9em;
	}
	main legend.title.treatment .copy h1{
		line-height: 2em;
	}	
}


@keyframes floatUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.char {
	opacity: 0;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	animation: floatUp 0.6s forwards;
}

/*						*/
/*		trial 			*/
/*			 			*/
main .trial{
	text-align:center;
	margin:1em 0 3em 0;
}

main .trial .campaign{
	display:flex;
	gap:0.5em;
}
main .trial .lead{
	color:rgb(255,64,73);
}
main .trial .campaign .banner{
	width:50%;
	position:relative;
}

main .trial .campaign .banner img.arrow{
	width:1.5em;
	height:1.5em;
	margin:0;
	position: relative;
}

main .trial .campaign .banner .banner-contents{
	position: absolute;
	top:0;
	width:100%;
	white-space: nowrap;
}

main .trial h3{
	font-size:1.1em;
	margin:0.5em;
	color:white;	
}

main .trial p,
main .trial span{
	font-size:0.8em;
	line-height: 1.5em;
	margin-bottom:0.75em;
	color:white;
	font-weight: 600;
}
main .trial span{
	font-size:1.1em;
}

@media screen and (min-width: 568px) {
	main .trial{
		font-size:1.2em;
	}
	main .trial .campaign{
		gap:1em;
	}
	main .trial .campaign .banner img.arrow{
		width:2em;
		height:2em;
	}
}
@media screen and (min-width: 768px) {
	main .trial{
		font-size:1.4em;
	}
	main .trial .campaign{
		gap:2em;
	}
}
@media screen and (min-width: 1024px) {
	main .trial{
		font-size:1.6em;
	}
	main .trial .campaign{
		gap:3em;
	}
}
@media screen and (min-width: 1320px) {
	main .trial{
		font-size:1.7em;
		max-width:980px;
		margin-left:auto;
		margin-right:auto;
		margin-bottom:4em;
	}
}
