@charset "utf-8";
.runda_cp{ position: relative; padding: 0 0 70px; background: url("../img/bg_g1.jpg") repeat center center;}
.runda_cp::before {
	display: block; clear: both; content:"";
	position: absolute; top:-1px; left: 0;
	width: 100%; height: 6px;
	background:url("../img/wave_t.png") no-repeat; background-size: 100% 6px;
}


/* PAN */
.runda_cp .pan {
    margin: auto;
    padding-top: 25px;
    width: 90%;
}


/* TITLE */
.runda_cp .cp_pagetit,
.runda_cp .sb_tit {
    position: relative;
    margin: auto; padding: 0; background:none;
    max-width: 1000px; aspect-ratio: 1000 / 200;
}
.runda_cp .cp_pagetit::before,
.runda_cp .cp_pagetit::after,
.runda_cp .sb_tit::before,
.runda_cp .sb_tit::after{ display: none;}
.runda_cp .cp_pagetit h2,
.runda_cp .sb_tit h2 { position:absolute; left: 0; right: 0; margin: auto; width:80%; height:auto; z-index: 9;}
.runda_cp .cp_pagetit h2 {
    top:28%;
    max-width:780px; aspect-ratio: 1414 / 495;
	text-indent: -9999px;
    background: url("../../campaign/img/tit_page.png") no-repeat;
    background-size: 100% auto !important;
}
.runda_cp .sb_tit h2 span {
    position: relative; bottom:0;
	display:block; margin: auto; 
    width:100%; height:auto; max-width: 707px; aspect-ratio: 1414 / 495;
	text-indent: -9999px;
    background-size: 100% auto !important;
}
.runda_cp .sb_tit.cp_tit1 h2 span { background:url("../../campaign/img/tit_photo2.png") no-repeat;}
.runda_cp .sb_tit.cp_tit2 h2 span { background:url("../../campaign/img/tit_senryu2.png") no-repeat;}
.runda_cp .sb_tit.cp_tit3 h2 span { background:url("../../campaign/img/tit_episode2.png") no-repeat;}
@media only screen and (max-width:800px){
    .runda_cp .cp_pagetit  h2 span { width:80%;}
}
@media only screen and (max-width:468px){
    .runda_cp .sb_tit { aspect-ratio: 1000 / 280;}
    .runda_cp .sb_tit h2 span { bottom: -25px; width: 100%;}
    .runda_cp .cp_pagetit  h2 span { width:75%;}
}


/* CONTENTS */
.runda_cp .cont {
    position: relative;
    margin: auto; width: 90%; max-width: 1200px;
    background: #fff;
    border-radius: 60px;
}
.runda_cp .cont::before,
.runda_cp .cont::after {
    display: block; clear: both; content:"";
    position: absolute;
    width: 100%; height:auto; 
    background-size: 100% auto !important;
}
.runda_cp .cont.cp_photo::before {
    top: -70px; right: 10px;
    max-width:130px; aspect-ratio: 313 / 460;
    background: url("../../campaign/img/photo_kazari1.png") no-repeat;
}
.runda_cp .cont.cp_photo::after {
    bottom: -20px; left: -40px;
    max-width:245px; aspect-ratio: 492 / 450;
    background: url("../../campaign/img/photo_kazari2.png") no-repeat;
}
.runda_cp .cont.cp_senryu::before {
    top: -50px; right: 10px;
    max-width:162.5px; aspect-ratio: 326 / 551;
    background: url("../../campaign/img/senryu_kazari1.png") no-repeat;
}
.runda_cp .cont.cp_senryu::after {
    bottom: -50px; left: -40px;
    max-width:234.5px; aspect-ratio: 509 / 424;
    background: url("../../campaign/img/senryu_kazari2.png") no-repeat;
}
.runda_cp .cont.cp_episode::before {
    top: -50px; right: 30px;
    max-width:90px; aspect-ratio: 162 / 217;
    background: url("../../campaign/img/episode_kazari1.png") no-repeat;
}
.runda_cp .cont.cp_episode::after {
    bottom: -100px; left: -40px;
    max-width:245px; aspect-ratio: 492 / 447;
    background: url("../../campaign/img/episode_kazari2.png") no-repeat;
}
@media only screen and (max-width:1100px){
    .runda_cp .cont.cp_photo::before { right:-5%;}
}
@media only screen and (max-width:800px){
    .runda_cp .cont {border-radius: 40px;}
/* 2026/03/30 UPD [S] */
/*
    .runda_cp .cont.cp_photo::before { top:5%; right:-5%; max-width:14%; min-width: 70px;}
    .runda_cp .cont.cp_photo::after { bottom: -2%; left:-5%; max-width:20%; min-width: 110px;}
    .runda_cp .cont.cp_senryu::before { top: 3%; right:0; max-width:16%; min-width: 80px;}
    .runda_cp .cont.cp_senryu::after { bottom: -2%; left:-5%; max-width:18%; min-width: 120px;}
    .runda_cp .cont.cp_episode::before { top: -2%; right:0; max-width:10%; min-width: 60px;}
    .runda_cp .cont.cp_episode::after { bottom: -2%; left:-5%; max-width:16%; min-width: 120px;}
*/
	.runda_cp .cont.cp_photo::before {
		top: 35px;
		right: -5%;
		max-width: 14%;
		min-width: 70px;
	}

	.runda_cp .cont.cp_photo::after {
		bottom: -34px;
		left: -5%;
		max-width: 20%;
		min-width: 110px;
		}

	.runda_cp .cont.cp_senryu::before {
		top: 38px;
		right:0;
		max-width:16%;
		min-width: 80px;
	}

	.runda_cp .cont.cp_senryu::after {
		bottom: -24px;
		left:-5%;
		max-width:18%;
		min-width: 120px;
	}

	.runda_cp .cont.cp_episode::before {
		top: -50px;
		right: 1px;
		max-width: 10%;
		min-width: 60px;
		margin-top: 20px;
	}

	.runda_cp .cont.cp_episode::after {
		left: -5%;
		max-width: 16%;
		min-width: 120px;
		margin-bottom: 74px;
	}
/* 2026/03/30 UPD [E] */
}
@media only screen and (max-width:468px){
/* 2026/03/30 UPD [S] */
/*
    .runda_cp .cont.cp_photo::before { top:2%;}
*/
	.runda_cp .cont.cp_photo::before {
		top: 35px;
	}
/* 2026/03/30 UPD [E] */
    .runda_cp .cont {border-radius: 20px;}
}



/* H1 */
.runda_cp #subpage h1 {
    position: relative;
    margin: 40px auto 80px;
    font-size:clamp(125%, 162.5%, 206.2%);
    color: #4f352c;
    text-align: center;
}
.runda_cp #subpage h1::before,
.runda_cp #subpage h1 span::before {
    display: block; clear: both; content:"";
    position: absolute; margin: auto;
}
.runda_cp #subpage h1 span { position: relative; z-index:0;}
.runda_cp #subpage h1::before {
	top: -110px; left: 0; right: 0;
	width: 150px; height: 100px;
	background-repeat: no-repeat !important;
	background-size: 100% auto !important;
}
.runda_cp #subpage h1 span::before {
	bottom: 0; left: -10px; right:-10px; z-index: -1;
	width: calc(100% + 20px); height: 10px;  border-radius: 10px;
}



/*----------------------------------------------------------------
 TOP
----------------------------------------------------------------*/
.runda_cp .cp_top #subpage { position: relative; width: 90%; max-width: 900px; padding-top:0;}
.runda_cp .cont.cp_top { background: #fffdf3;}
.runda_cp .cont.cp_top::before,
.runda_cp .cont.cp_top::after {
    width: 6%; min-width: 25px; max-width:55px;
    aspect-ratio: 72 / 236;
    transform: rotate(45deg);
}
.runda_cp .cont.cp_top::before {
    top:-3%; left:2%;
    background: url("../../campaign/img/tape1.png") no-repeat;
}
.runda_cp .cont.cp_top::after {
    bottom:-3%; right:2%;
    background: url("../../campaign/img/tape2.png") no-repeat;
}
.runda_cp .cont.cp_top .main_comment {
    margin: auto;
    padding: 17% 0 100px;
    width: 80%;
    font-size: 150%;
    font-weight: bold;
    text-align: center;
    color: #4f352c;
}
.runda_cp .cont.cp_top .cp_list { position: relative;}
.runda_cp .cont.cp_top .box { position: relative; width:50%; max-width: 450px;}
.runda_cp .cont.cp_top .box.cp_photo { margin-bottom: 50px;}
.runda_cp .cont.cp_top .box.cp_senryu { position: absolute; top: 210px; right: 0;}
.runda_cp .cont.cp_top .box.cp_episode { left:65px;}
.runda_cp .cont.cp_top .box a {
    display: block; padding-top:60px;
    width:100%; height: auto; aspect-ratio: 1 / 1;
    color: #222;
    text-decoration: none;
    background: #fff;
    border: 5px solid #4ebed8;
    border-radius: 450px;
    box-sizing: border-box;
}
.runda_cp .cont.cp_top .box a:hover img { opacity: 1;}
.runda_cp .cont.cp_top .box .come {
    padding: 0 10% 30px;
    font-size: clamp(87.5%, 1.5vw, 100%);
    text-align: center;
}
.runda_cp .cont.cp_top .box .more {
    margin: auto;
    padding: 7px 10px 7px 50px;
    width: 185px;
    color: #fff !important;
    background:#4fbdd8;
    border-radius:50px;
    box-shadow: 0px 3px 0 0 rgba(0, 0, 0, 0.15);
}
.runda_cp .cont.cp_top .box .mid { position: relative; margin: auto;}
.runda_cp .cont.cp_top .box .mid span {
    position: relative;
	display:block; margin: 0 auto 60px; 
    width:100%; height:auto; max-width: 360px; aspect-ratio: 722 / 270;
	text-indent: -9999px;
    background-size: 100% auto !important;
}
.runda_cp .cont.cp_top .box.cp_photo .mid span {
    background:url("../../campaign/img/tit_photo1.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_senryu .mid span {
    background:url("../../campaign/img/tit_senryu1.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_episode .mid span {
    background:url("../../campaign/img/tit_episode1.png") no-repeat;
}
.runda_cp .cont.cp_top .box .mid::before {
    display: block; clear: both; content:"";
    position: absolute; left: 0; right: 0;
    margin: auto;
    width: 100%; height: auto;
    background-size: 100% auto !important;
}
.runda_cp .cont.cp_top .box.cp_photo .mid::before {
    top:-90%; left:30%;
    width: 54%; min-width: 130px; max-width:243px; aspect-ratio: 486 / 236;
    background: url("../../campaign/img/top_photo1.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_senryu .mid::before {
    top:-150%;
    width:45.1%; min-width: 110px; max-width:203px; aspect-ratio: 407 / 405;
    background: url("../../campaign/img/top_senryu1.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_episode .mid::before {
    top:-100%;
    width:49.3%; min-width:130px; max-width:222px; aspect-ratio: 444 / 464;
    background: url("../../campaign/img/top_episode1.png") no-repeat;
}
.runda_cp .cont.cp_top .box .mid::after {
    display: block; clear: both; content:"";
    position: absolute; left: 0; right: 0; bottom: -40px;
    margin: auto;
    width:100%; height:auto; max-width: 350px; aspect-ratio: 704 / 30;
    background: url("../../campaign/img/tit_wave.png") no-repeat;
    background-size: 100% auto !important;
}

.runda_cp .cont.cp_top .box::before,
.runda_cp .cont.cp_top .box::after {
    display: block; clear: both; content:"";
    position: absolute; 
    width:100%; height:auto;
    background-size: 100% auto !important;
    background: #eee;
}
.runda_cp .cont.cp_top .box.cp_photo::before {
    left:3%; bottom:-11%;
    width:22.2%; max-width: 100px; aspect-ratio: 247 / 365;
    background: url("../../campaign/img/top_photo2.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_photo::after {
    right:4%; bottom:5%;
    width:17.8%; max-width: 80px; aspect-ratio: 81 / 73;
    background: url("../../campaign/img/top_photo3.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_senryu::before {
    right:-7%; top:0;
    width:25.6%; max-width: 115px; aspect-ratio: 259 / 403;
    background: url("../../campaign/img/top_senryu2.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_senryu::after {
    right:0; bottom:0;
    width:24.4%; max-width: 110px; aspect-ratio: 223 / 261;
    background: url("../../campaign/img/top_senryu3.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_episode::before {
    left:0; bottom:-7%;
    width:26.7%; max-width: 120px; aspect-ratio: 274 / 317;
    background: url("../../campaign/img/top_episode2.png") no-repeat;
}
.runda_cp .cont.cp_top .box.cp_episode::after {
    right:3%; bottom:11%;
    width:17.8%; max-width: 80px; aspect-ratio: 167 / 148;
    background: url("../../campaign/img/top_episode3.png") no-repeat;
}

.runda_cp .cont.cp_top .illust { position: absolute; width:100%; height:auto;}
.runda_cp .cont.cp_top .illust img { width: 100%; height: auto;}
.runda_cp .cont.cp_top .illust.hana1 { top:15%; right:-6%; width: 30%; min-width: 120px; max-width: 240px;}
.runda_cp .cont.cp_top .illust.hana2 { top:62%; left:-3%; width: 18%; min-width: 70px; max-width: 145px;}
.runda_cp .cont.cp_top .illust.hana3 { bottom:13%; right:6%; width: 28%; min-width: 115px; max-width: 230px;}
@media only screen and (min-width:800px){
    .runda_cp .cont.cp_top .box a:hover { border-color: #fc9f96; }
    .runda_cp .cont.cp_top .box a:hover .more { background:#fc9f96; }
}
@media only screen and (max-width:1000px){
    .runda_cp .cont.cp_top .box .mid { width:70%;}
    .runda_cp .cont.cp_top .box .come { padding-bottom: 15px;}
}
@media only screen and (max-width:968px){
    .runda_cp .cont.cp_top .box { position: relative!important; top: 0!important; left: 0!important; right: 0!important;}
    .runda_cp .cont.cp_top .box,
    .runda_cp .cont.cp_top .box a { width: 100%; height: auto; max-width: none; aspect-ratio:auto;}
    .runda_cp .cont.cp_top .box a { padding: 10%; border-radius:30px;}
    .runda_cp .cont.cp_top .box + .box { margin-top: 100px;}
    .runda_cp .cont.cp_top .illust.hana3 { bottom:22%; right:-8%;}
}
@media only screen and (max-width:800px){
    .runda_cp .cont.cp_top .illust.hana1 { top:0%; right:-8%;}
    .runda_cp .cont.cp_top .illust.hana2 { top:55%; left:-8%;}
}
@media only screen and (max-width:468px){
    .runda_cp .cont.cp_top .main_comment { padding: 20% 0 50px; font-size: 125%;}
    .runda_cp .cont.cp_top .box + .box { margin-top: 70px;}
    .runda_cp .cont.cp_top .illust.hana1 { top:10%;}
    .runda_cp .cont.cp_top .box.cp_photo::before { max-width: 60px;}
    .runda_cp .cont.cp_top .box.cp_photo::after { max-width: 40px;}
    .runda_cp .cont.cp_top .box.cp_senryu::before { max-width: 80px;}
    .runda_cp .cont.cp_top .box.cp_senryu::after { max-width: 70px;}
    .runda_cp .cont.cp_top .box.cp_episode::before { max-width: 80px;}
    .runda_cp .cont.cp_top .box.cp_episode::after { max-width: 40px; right: 30px;}
}



/*----------------------------------------------------------------
 PHOTO
----------------------------------------------------------------*/
.runda_cp .cp_photo #subpage { padding: 100px 0; width: 90%; max-width: 800px;}
.runda_cp .cp_photo #subpage::after { display: block; clear: both; content:"";}
.runda_cp .cp_photo #subpage h1 span::before { background: #4fbdd8;}
.runda_cp .cp_photo #subpage p { position: relative; z-index:9;}
.runda_cp .cp_photo #subpage p::after { display: block; clear: both; content:""; height: 70px;}
.runda_cp .cp_photo #subpage .photo-l,
.runda_cp .cp_photo #subpage .photo-r {
    position: relative;
    width: 50%;
    padding: 15px;
    background: #fff;
    box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.15);
}
.runda_cp .cp_photo #subpage .photo-l { margin-right: 50px;}
.runda_cp .cp_photo #subpage .photo-r { margin-left: 50px;}
.runda_cp .cp_photo #subpage .photo-l img,
.runda_cp .cp_photo #subpage .photo-r img {
    width:100%; height:auto; aspect-ratio: 342 / 220;
    object-fit: cover;
}
.runda_cp .cp_photo #subpage .photo-l::before,
.runda_cp .cp_photo #subpage .photo-l::after,
.runda_cp .cp_photo #subpage .photo-r::before,
.runda_cp .cp_photo #subpage .photo-r::after {
    display: block; clear: both; content:"";
    position: absolute;
    width: 100%; height: auto;
    background-size: 100% auto !important;
}
.runda_cp .cp_photo #subpage .photo-l::before,
.runda_cp .cp_photo #subpage .photo-r::before {
    top: -25px; left:10px;
    max-width:30px; aspect-ratio: 72 / 236;
    background: url("../../campaign/img/tape3.png") no-repeat;
    background-size: 100% auto;
    transform: rotate(45deg);
}
.runda_cp .cp_photo #subpage .photo-r::after {
    bottom: -40px; right: -40px;
    max-width:107px; aspect-ratio: 215 / 153;
    background: url("../../campaign/img/photo_kazri3.png") no-repeat;
}
.runda_cp .cp_photo #subpage .photo-l::after {
    bottom: -60px; right: -30px;
    max-width:116px; aspect-ratio: 232 / 226;
    background: url("../../campaign/img/photo_kazri4.png") no-repeat;
}
@media only screen and (max-width:800px){
    .runda_cp .cp_photo #subpage .photo-l,
    .runda_cp .cp_photo #subpage .photo-r { float: none; margin: 0 auto 40px}
    .runda_cp .cp_photo #subpage .photo-r::after { bottom: -20px; max-width:80px;}
    .runda_cp .cp_photo #subpage .photo-l::after { bottom: -40px; max-width:80px;}
}
@media only screen and (max-width:468px){
    .runda_cp .cp_photo #subpage { padding: 50px 0;}
    .runda_cp .cp_photo #subpage .photo-l,
    .runda_cp .cp_photo #subpage .photo-r { width: 90%;}
}



/*----------------------------------------------------------------
 SENRYU
----------------------------------------------------------------*/
.runda_cp .cp_senryu #subpage { padding: 100px 0 150px; width: 90%;}
.runda_cp .cp_senryu #subpage h1 span::before { background: #fee465;}
.runda_cp .cp_senryu #subpage p {
    position: relative;
    margin: auto; max-width:800px;
    padding: 32px 20px 32px 55px;
    font-family: "Yuji Syuku", serif;
    font-size: 162.5%;
    background: #f9f5df;
    border: 7px solid #47843e;
}
.runda_cp .cp_senryu #subpage p::before {
	display: block; clear: both; content:"";
	position: absolute; top:0; bottom: 0; left:-10px;
    margin: auto;
	width:auto; height: 124%; aspect-ratio: 57 / 241;
	background: url("../../campaign/img/senryu_bg.png") no-repeat;
	background-size: 100% auto;
}
.runda_cp .cp_senryu #subpage p + p { margin-top: 40px;}
@media only screen and (max-width:800px){
}
@media only screen and (max-width:468px){
    .runda_cp .cp_senryu #subpage { padding: 50px 0 100px;}
}



/*----------------------------------------------------------------
 EPISODE
----------------------------------------------------------------*/
.runda_cp .cp_episode #subpage { padding: 100px 0; width: 90%;}
.runda_cp .cp_episode #subpage h1 span::before { background: #b9cf20;}
.runda_cp .cp_episode #subpage h2 {
	position: relative;
	clear:both;
	margin:70px 2% 0;
	padding:30px;
	font-size:clamp(112.5%, 137.5%, 162.5%);
	color: #4f352c;
	background:none;
    border-top:3px solid #4fbdd8;
	border-radius:0; 
}
.runda_cp .cp_episode #subpage h2::before {
	display: block; clear: both; content:"";
	position: absolute; top: -50px; left:0px;
    width: 100%; height:auto; max-width:30px; aspect-ratio: 72 / 236;
    background: url("../../campaign/img/tape1.png") no-repeat;
    background-size: 100% auto;
    transform: rotate(50deg);
}
.runda_cp .cp_episode #subpage p {
    margin:0 2%;
    padding: 40px 30px 30px;
    font-weight: 500;
    background: #f9f5df url("../../campaign/img/episode_bg.png") no-repeat center top;
    background-size: 100% auto;
}
.runda_cp .cp_episode #subpage p + h1 { margin-top:100px;}
@media only screen and (max-width:468px){
    .runda_cp .cp_episode #subpage { padding-top: 50px;}
    .runda_cp .cp_episode #subpage h2 { padding:20px;}
    .runda_cp .cp_episode #subpage p {padding: 30px 20px 20px;}
}