@charset "utf-8";

body {
	font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 400;
	font-style: normal;
	color: #fff;
	background-color:#FAFFFE;
	letter-spacing: .05rem;
	text-align: justify;
	background-image: linear-gradient(0deg, transparent 31px, #A6F8EC 32px),linear-gradient(90deg,  transparent 31px, #A6F8EC 32px);
	background-size: 32px 32px;
}

*{
	box-sizing: border-box;
}

a {
	text-decoration: none;
	cursor: pointer;
}

img {
	vertical-align: bottom;
}

.wrap {
	width: 100%;
	max-width: 1300px;
	min-width: 1200px;
	display: flex;
    justify-content: space-between;
	margin: auto;
}

.container {
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 600;
	max-width: 1300px;
	margin: 0 auto;
}

@media screen and (max-width: 600px){

	.contents.wrap {
		min-width: 0px;
	}

	.container {
		max-width: 1100px;
		margin: auto;
		padding: 0 4%;
	}

	.containerSp {
		max-width: 1100px;
		margin: auto;
		padding: 0 4%;
	}
}

@media screen and (max-width: 420px){
	.container {
        max-width: 1100px;
        margin: auto;
        padding: 0 4%;
    }
}

.flex {
	display: flex;
	justify-content: space-between;
}

.pconly {
	display: block!important;}
.sponly {
	display: none!important;}

@media screen and (max-width: 800px){
.pconly {
	display: none!important;}
.sponly {
	display: block!important;}
}



/* -----------
title
---------- */

.title {
	background-color: #003507;
	/* padding-bottom: 40px; */
}

.title .Pcimg {
	max-width: 1300px;
	margin: auto;
	padding-top: 1.2%;
	padding-right: 2%;
}
.title .Spimg {
	display: none;
}

.title img {
	width: 100%;
}

/* -----------
acount
---------- */

.acount {
	background-color: #FFF200;
	padding: 25px 25px 36px 25px;
	text-align: center;
	margin-bottom: 50px;
}

.acount .flex {
	justify-content: center;
	gap: 3%;
}

.acount li {
	width: 280px;
}

.acount li a {
	width: 100%;
	height: 100%;
	display: inline-block;
}


.acount li a img:focus,.acount li a img:hover {
	opacity: .8;
	transition: .1s;
}


/* .acount li img {
	width: 100%;
} */

.acount p {
	margin-bottom: 20px;
	color: #003507;
	font-weight: bold;
	font-size: 20px;
}

.acount li a {
	transition: 0.3s;
}

.acount li a:hover {
	box-shadow: none;
}

@media screen and (max-width: 600px){
	.acount p {
		font-size: 16px;
		margin-bottom: 12px;
	}
}


.Sp_only {
	display: none;
}


.acount li a {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	box-shadow: 0 10px 10px -6px rgba(0, 0, 0, .3);
}
.xbanner a {
	background-color: black;
	color: #fff;
	border-radius: 50px;
}
.instabanner a {
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
	color: #fff;
	border-radius: 50px;
}
.ticktockbanner a {
	background-color: #fff;
	color: #000000;
	border-radius: 50px;
}
.acount li {
	width: 280px;
	line-height: 58px;
}
@media screen and (max-width: 600px) {
	.acount li {
		width: 50px;
		line-height: 100px;
		height: 50px;
	}
	.acount li a {
	box-shadow: 0 10px 10px -6px rgba(0, 0, 0, .3);
	/* border: solid 3px #fff; */
	border-radius: 50px;
}
}




/* -----------
event-flex
---------- */

.streaming {
	text-align: center;
	margin-bottom: 50px;
}

.streaming img {
	width: 250px;
}

a {
	display: inline-block;
	height: 100%;
}


/* 全体の並び（PC：横、SP：縦） */
.event-flex {
	display: flex;
	justify-content: center;
	align-items: stretch;
	/* ← 高さを揃える */
	gap: 2rem;
	margin: auto;
	margin-bottom: min(11.5vw, 3em);
	flex-wrap: wrap;
	padding: 0 4%;
	font-size: 1.1rem;
}

/* 共通 */
.event_tx,
.st_tx {
	text-align: center;
	line-height: 1.5;
	font-weight: bold;
}

.event_tx {
	color: #6a005b !important;
}

.st_tx {
	color: #214557 !important;
}

/* イベントボックス */
.event_box {
	/* background-color: #ffb9ef; */
	background-image: linear-gradient(90deg, rgb(255 219 255), rgb(255 175 236));
	padding: .8rem;
	border-radius: 12px;
	max-width: 400px;
	width: 100%;
	box-sizing: border-box;
	box-shadow: 1px -2px 21px -8px #eeb9e6;

	/* 高さ揃え用 */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* 配信ボックス */
.streaming_box {
	/* background-color: #a7e0ff; */
	background-image: linear-gradient(317deg, rgba(189, 224, 255, 1), rgba(185, 252, 255, 1));
	padding: 2rem;
	border-radius: 12px;
	max-width: 400px;
	width: 100%;
	text-align: center;
	color: #000 !important;
	box-sizing: border-box;
	box-shadow: 1px -2px 21px -8px #d8d9e2;

	/* 高さ揃え用 */
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.streaming_box img {
	width: 70%;
	height: auto;
	display: block;
	margin: 1em auto 0;
}

/* ボタン */
.shousai {
	background: linear-gradient(90deg, #c12bd4, #f470aa);
	box-shadow: 0 0 10px rgb(251 87 236 / 40%);
	border-radius: 50px;
	color: #fff !important;
	display: block;
	font-size: 0.95rem;
	font-weight: bold;
	padding: 12px 0;
	text-align: center;
	text-decoration: none !important;
	transition: 0.2s opacity;
	width: 100%;
	max-width: 300px;
	margin: 1rem auto 0;
}

.shousai:hover {
	opacity: 0.8;
}
.sponly {
		display: none;
}

/* SPで縦並び */
@media (max-width: 768px) {
	.event-flex {
		flex-direction: column;
		align-items: center;
		/* SPでは自然な中央揃え */
		gap: 1rem;
	}

	.streaming_box {
		padding: 1rem;
	}
	.sponly {
		display: block;
	}
}


/* -----------
kv
---------- */
.kv {
	margin-bottom: 7%;
}

.kv img{ 
	width: 100%;
}

.kv .flex_photo.row1,
.kv .flex_photo.row2{
	display: flex;
	flex-wrap: wrap;
	gap: 35px;
	justify-content: center;
}
.kv .flex_photo.row1{
	margin-bottom: 35px;
}
.kv .flex_photo.row1 .photoList {
	width: calc((100% - 105px) / 4);
	cursor: pointer;
	overflow:hidden;
}

.kv .flex_photo.row2 .photoList {
	width: calc((100% - 70px) / 4);
	cursor: pointer;
	overflow:hidden;
}

/* .kv .photo {
	overflow:hidden;
	cursor: pointer;
} */

.kv .photo img {
	transition:1s all;
	width: 100%;
}

/* .kv .flex_photo.row1,
.kv .flex_photo.row2{ */

.photo :hover  {
	opacity: .9;
	transition: .5s;
	transform:scale(1.02,1.02);
	transition:1s all;
}

.kv ul li {
	margin-right: 10px;
	width: clamp(0.938rem, 0.625rem + 1.35vw, 1.875rem);
}

.kv ul {
	display: flex;
	align-items: center;
	margin-top: 10px;
	/* width: 30%; */
}

.kv ul li a {
	width: 100%;
	height: 100%;
	display: inline-flex;
}

.kv ul li a:hover {
	opacity: .6;
	transition: .3s;
}


.kv .photo {
	/* width: 100%; */
}

@media screen and (max-width: 600px){
	.kv {
		margin-bottom: 9%;
	}
	.kv .flex_photo.row1,
	.kv .flex_photo.row2 {
		flex-wrap: wrap;
		gap: 20px;
	}	
	.kv .flex_photo.row1 .photoList,
	.kv .flex_photo.row2 .photoList {
		width: calc((100% - 20px) / 2);
	}	
	.kv ul {
		display: flex;
		align-items: center;
		margin-top: 15px;
		width: 40%;
	}	
	.kv .photoList .photo {
		width: 100%;
	}
	.kv .flex_photo.row1 {
    	margin-bottom: 20px;
	}
}

.date {
		background-color: #e723b0;
		color: #ffffff;
		text-align: center;
		font-size: clamp(1.25rem, 0.756rem + 2.14vw, 2.625rem);
		font-weight: 600;
		padding: min(3vw, .3em) 0;
		font-family: "M PLUS Rounded 1c", sans-serif;
	}

@media screen and (max-width: 420px){
	.container {
        max-width: 1100px;
        margin: auto;
        padding: 0 4%;
    }
	.kv .flex div {
		width: calc((100% - 7%) / 2);
	}

	.kv ul {
		display: flex;
		align-items: center;
		margin-top: 5px;
		width: 50%;
	}
	.kv .flex {
		flex-wrap: wrap;
		gap: 19px;
	}

	.kv {
		margin-bottom: 16%;
	}
	.acount {
		padding: 15px 0;
		text-align: center;
	}
	.date span {
		font-size: 1.5rem;
		line-height: 2rem;
		
	}
	

}

/* -----------
oadata
---------- */

#episodeBox,.detail {
	background-color: #003507;
	text-align: center;
	color: #fff;
	margin-bottom: 95px;
}

@media screen and (max-width: 600px){
	#episodeBox,.detail {
		background-color: #003507;
		text-align: center;
		color: #fff;
		margin-bottom: 75px;
	}
}


.detail_btn {
    bottom: 7%;
	cursor: pointer;
}

.detail_btn a {
    background-color: #C56822;
	border: 2px solid #fff;
    border-radius: 50px;
    color: #fff;
    display: block;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 45px;
    margin: min(6vw, 5em) auto 0;
    text-decoration: none;
    text-align: center;
    transition: .4s;
    width: min(40%, 260px);
}

.detail_btn a:hover {
	opacity: .8;
	transition: .3s;	
}

@media screen and (max-width: 600px){
	.detail_btn a {
		background-color: #C56822;
		border: 2px solid #fff;
		border-radius: 50px;
		color: #fff;
		display: block;
		font-size: .8rem;
		font-style: normal;
		font-weight: 500;
		line-height: 45px;
		margin: min(10vw, 5em) auto 0;
		text-decoration: none;
		text-align: center;
		transition: .4s;
		width: min(100%, 260px);
	}

	.detail {
		background-color: #003507;
		text-align: center;
		color: #fff;
		margin-bottom: 45px!important;
	}	
}

.oadata_inner {
	padding: 75px 75px 135px 75px;
}

.detail_inner {
    padding: 75px 75px 56px 75px;
}


#episodeBox .sita img,
.detail .sita img {
	width: 100%;
}

#episodeBox,.detail {
	position: relative;
	letter-spacing: 0.05rem;
}

#episodeBox .sita,
.detail .sita {
	position: absolute;
	width: 105%;
	bottom: -32px;
	left: -22px;
}


.oadata_h2 img,
.detail_h2 img,
.news_h2 img {
	width: 100%;
}

.oadata_h2,
.detail_h2,
.news_h2 {
	width: 300px;
	margin: auto;
	margin-bottom: 10px;
}

.oadata_photo img {
	width: 100%;
}
.oadata_photo {
	margin-bottom: 30px;
}
.epi_title {
	margin: 30px;
	font-size: 1.5rem;
}

.epi_number {
	padding-right: 1rem;
}

.summary,.detail_text {
	text-align: left;
	line-height: 1.8rem;
	font-weight: 400;
    margin-bottom: 10%;
}

@media screen and (max-width: 600px){
	body {
		font-weight: 400;
	}

	#right_side {
        display: none!important;
    }

	#left_side {
		float: left;
		/* width: 950px; */
		margin-right: 0%!important;
		width: 100%;
	}

	.title .Pcimg {
		display: none;
	}
	.title .Spimg {
		display: block;
		margin-right: 2%;
		padding-top: 2%;
	}

	.acount li {
		width: 15%;
	}

	.Sp_only {
		display: flex;
	}

	.Pc_only {
		display: none;
	}


	.oadata_inner {
		padding: 9% 5% 80px 5%;
	}
	.detail_inner {
		padding: 9% 5% 24px 5%;
	}

    .oadata_h2, .detail_h2,.news_h2 {
        width: 60%;
        margin: auto;
        margin-bottom: 25px;
    }

	#episodeBox .sita, .detail .sita {
		position: absolute;
		width: 105%;
		right: 0;
		left: -2.7%;
		margin: 0 auto;
		bottom: -17px;
	}

	.summary, .detail_text {
		text-align: left;
		font-size: .8rem;
		font-weight: 400;
		line-height: 1.5rem;
	}

	.epi_title {
		margin: 5% 0;
		font-size: 1rem;
		letter-spacing: 0.01rem;
	}

	.epi_number {
		font-size: 1.2rem;
	}	

	.wrap {
		width: auto;
	}

}

@media screen and (max-width: 420px){
	.acount {
		padding: 15px 0;
		text-align: center;
	}
	.title {
		/* padding-bottom: 20px; */
	}
}

/* -----------
news
---------- */

/* 記事全体 */
.news_article_wrapp article {
	background: #fff;
	display: block;
	margin: 0 0 10px;
	/* padding: 10px 10px 5px 10px; */
	width: 100%;
	height: 130px;
	/* border-bottom: 1px solid #372f2f; */
	box-sizing: border-box;
	text-align: left;
}

/* flex */
#topNews .news_article_wrapp article .news_in_wrapp {
	display: flex;
	align-items: center; /* ← 縦中央 */
	height: 100%;
	padding: 1%;
}

a {
	vertical-align: bottom;
}


.news_top_img {
	width: 40%;
	height: 100%;
}


@media screen and (max-width: 600px){
	#topNews .news_article_wrapp article .news_in_wrapp {
	display: block;
	align-items: center; /* ← 縦中央 */
	height: 100%;
}
	.news_top_img {
	width: 80%;
	height: 100%;
	overflow: hidden;        /* ← はみ出し防止 */
	flex-shrink: 0;
	margin: auto;
}
}
/* 画像本体 */
.news_top_img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

/* テキスト */
#topNews .news_article_wrapp article .news_in_wrapp .news_top_text {
	width: 100%;
	padding: 10px;
	box-sizing: border-box;
	font-size: 0.94rem;
	line-height: 1.5;
	color: #736359;
	font-weight: 500;
}
.news_top_text span {
	font-size: .8rem;
	color: #808080;
	display: block;
	margin-bottom: .5rem;
}

/* 画像：3 */
#topNews .news_article_wrapp article .news_in_wrapp .news_top_img {
	/* flex: 40%; */
	height: 100%;
	/* overflow: hidden;
	flex-shrink: 0; */
}

/* テキスト：7 */
#topNews .news_article_wrapp article .news_in_wrapp .news_top_text {
	/* flex: 80%; */
	padding: 10px;
	box-sizing: border-box;
	font-size: 1rem;
	line-height: 1.5;
	color: #736359;
	text-align: left;
}

/* 画像本体 */
.news_top_img img {
	width: 100%;
	height: 100%;
	object-fit: contain; /* cover にするとトリミング */
	display: block;
}
@media screen and (max-width: 600px){
	.news_top_text {
		font-size: 0.7rem;
	}
	.news_article_wrapp article {
		height: unset;
		padding: 10px;
	}
	.news_top_text span {
		font-size: .8rem;
		margin-bottom: .3rem;
	}
	#topNews .news_article_wrapp article .news_in_wrapp .news_top_text {
	padding: 10px;
	
}
}

.news_item a {
	width: 100%;

}

/* ---------
サブページ共通
---------- */
/* トップに戻るボタン */
.home_btn {
    margin-bottom: 11%;
}
.home_btn a {
    background-color: #2673ec;
    border: 2px solid #fff;
    /* border-radius: 50px; */
    color: #fff;
    display: block;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 45px;
    margin: min(6vw, 5em) auto 0;
    text-decoration: none;
    text-align: center;
    transition: .4s;
    width: min(40%, 260px);
}

#right_side #reco .r_contents .reco_box a {
    display: contents!important;
    padding-bottom: 3%!important;
}