@charset "UTF-8";

/* 共通部分
------------------------------- */
html {
		font-size: 100%;
}
body {
		font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", sans-serif;
		line-height: 1.7;
		color: #000;
}
a {
		text-decoration: none;
		color: rgb(169, 19, 116);
		transition: .4s;
}
a:hover {
		color: rgb(131, 103, 175);
}
img {
		max-width: 100%;
		height: auto;
}
ol, ul {
		list-style-type: none;
	}

/* レイアウト */
.wrapper {
		max-width: 1200px;
		margin: auto;
		padding: 0 1.5rem;
}
.align-center {
		text-align: center;
}
.align-left {
		text-align: left;
}
.align-right {
		text-align: right;
}
.flex-container {
		display: flex;
		flex-direction: column;
		min-height: 100vh;
}

/* 見出し */
.font-english {
		font-family: Arial, Helvetica, sans-serif;
		font-weight: bold;
		color: #000;
}
.page-title,
.heading-large,
.heading-medium {
		font-size: 3rem;
		text-align: center;
}
.heading-medium {
		font-size: 2.4rem;
}
.page-title {
		margin-top: 2rem;
		line-height: 1.4;
}
.heading-large {
		margin-bottom: 1rem;
}

/* color */
.red {
		color: #e82d55;
}

/* ボタン */
.btn {
		display: inline-block;
		font-size: 1.2rem;
		background-color: #ebebeb;
		color: #666;
		border-radius: 32px;
		padding: .75rem 1.5rem;
		transition: .4s;
}
.btn:hover {
		background-color: #666;
		color: #fff;
}

/* iframe */
iframe {
		width: 100%;
}

/* header
------------------------------- */
.page-header {
		padding-top: .8rem;
}
.logo {
		width: 285px;
}
.main-nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0rem 1.4rem;
		font-size: 1.0rem;
		list-style: none;
		padding-top: .4rem;
}
.main-nav a {
		color: #fff;
}
.main-nav a:hover {
		color: rgb(190, 98, 178);
}
.sub-nav {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0rem 0.8rem;
		font-size: 0.9rem;
		list-style: none;
		padding-top: 0rem;
}
.sub-nav a {
		color: rgb(215, 72, 139);
		text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF,	 0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
}
.sub-nav a:hover {
		color: rgb(144, 116, 220);
}

/* COVER
------------------------------- */
.cover {
}
.sub-cover {
		background-size: cover;
		background-position: center bottom;
		height: 528px;
		margin-bottom: 4rem;
}

/* HOME
------------------------------- */
.cover-home {
		background-size: cover;
		background-position: center bottom;
		height: 458px;
		background-image: url(../img/common/cover-home-s.jpg);
}

/* GNERAL
------------------------------- */
.general-contents {
		margin-top: -13rem;
}
.general-contents .post {
		word-break: break-all;
}
.general-contents ul {
		margin-bottom: 1.6rem;
}

/* POST
------------------------------- */
.post-contents {
		display: flex;
		justify-content: space-between;
}
.post-contents:first-of-type {
		margin-top: -13rem;
}
.content {
		margin-bottom: 1.6rem;
		line-height: 2.0;
}
.content p {
		margin-bottom: 1.0rem;
}

/* 記事部分 */
.post {
		margin-bottom: 3rem;
}
.post-title {
		font-weight: normal;
		margin-bottom: 1.25rem;
}
.post-info {
		display: flex;
		gap: 1rem;
		margin-bottom: 2rem;
}
.post-cat {
		display: flex;
		gap: .5rem;
		list-style: none;
}
.post-cat a {
		color: #432;
		background-color: #faf7f0;
		border-radius: 8px;
		font-size: .875rem;
		padding: .5rem .75rem;
}
.post-cat a:hover {
		background-color: #c9c2bc;
}
.post-date {
}
.post-thumbnail {
		border-radius: 16px;
		margin-bottom: 1.5rem;
}
.post p {
		margin-bottom: 1.5rem;
}
.content_label {
		background-color: #e82d55;
		position: relative;
		display: inline-block;
		vertical-align: middle;
		padding: 0.4rem 0.8rem;
		margin-bottom: 0.6rem;
		font-size: 1.4rem;
		color: #fff;
}

/* サイドバー */
.side-menu {
		list-style: none;
		text-align: center;
		margin-bottom: 4rem;
}
.side-menu li {
		border-bottom: 1px solid #c9c2bc;
}
.side-menu a {
		color: #432;
		display: block;
		padding: 1rem;
}
.side-menu a:hover {
		color: #0bd;
}

/* MAIN VISUAL
------------------------------- */
.mainvisual {
		position: relative;
		margin-top: -12.5rem;
		text-align: center;
}

/* TOPICS
------------------------------- */
.topics {
		margin-top: -4rem;
}
.topics h3 {
		background-image: url(../img/common/cover-topics-s.jpg);
		background-position: center top;
		padding-top: 4rem;
		min-height: 574px;
}
.grid-topics {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: -27rem;
		text-align: left;
}
.topics .detail-date,
.post-info-topics .date {
		color: #a95da2;
		font-weight: bold;
}
.grid-topics a {
		color: #000;
		transition: 0.4s;
}
.grid-topics a:hover {
		color: #a95da2;
}

/* NEWS
------------------------------- */
.news {
		margin-top: -7rem;
}
.news h3 {
		background-image: url(../img/common/cover-news-s.png);
		background-position: center top;
		padding-top: 10rem;
		min-height: 564px;
}
.grid-news {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: -20.4rem;
		margin-bottom: 1.6rem;
		text-align: left;
}
.news .detail-date,
.post-info-news .date {
		color: #d9878d;
		font-weight: bold;
}
.grid-news a {
		color: #000;
		transition: 0.4s;
}
.grid-news a:hover {
		color: #d9878d;
}

/* ABOUT
------------------------------- */
.about {
		margin-top: -4rem;
}
.about h3 {
		background-image: url(../img/common/cover-about-s.jpg);
		background-position: center top;
		padding-top: 6rem;
		min-height: 553px;
}
.grid-about {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: -24rem;
		text-align: left;
}
.about .detail-date,
.post-info-about .date {
		color: #625fac;
		font-weight: bold;
}
.grid-about a {
		color: #000;
		transition: 0.4s;
}
.grid-about a:hover {
		color: #625fac;
}

/* TALENT
------------------------------- */
.talent {
		margin-top: -22rem;
}
.talent h3 {
		background-image: url(../img/common/cover-talent-s.png);
		background-position: center top;
		padding-top: 25rem;
		min-height: 636px;
}
.grid-talent {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		text-align: center;
		margin-top: -10rem;
		margin-bottom: 1.6rem;
}

/* TALENT LIST */
.grid-talentlist {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		margin-top: 0;
		text-align: left;
}
.grid-talentlist2 {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(1, 1fr);
		margin-top: 0;
		text-align: left;
}
.grid-talentlist p,
.grid-talentlist2 p {
		text-align: center;
}
.tname {
		font-size: 1.4rem;
}
.tname2 {
		font-size: 1.0rem;
		color: #999;
}
.grid-talent-archives .tname2,
.grid-idol-archives .tname2 {
		margin-top: -1.6rem;
}

/* IDOL
------------------------------- */
.grid-idol {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: 1 1fr;
		text-align: center;
		margin-top: -35rem;
		margin-bottom: 5rem;
}
.idol h3 {
		background-image: url(../img/common/cover-idol-s.jpg);
		background-position: center top;
		padding-top: 3rem;
		min-height: 688px;
}

/* ARCHIVES
------------------------------- */
.grid-topics-archives,
.grid-news-archives,
.grid-about-archives,
.grid-talent-archives {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(2, 1fr);
		text-align: left;
}
.grid-topics-archives .title,
.grid-news-archives .title,
.grid-about-archives .title {
		margin-top: -1.6rem;
}

.grid-topics-archives .date,
.grid-topics-archives .detail-date {
		color: #a95da2;
		font-weight: bold;
}
.grid-topics-archives a {
		color: #000;
		transition: 0.4s;
}
.grid-topics-archives a:hover {
		color: #a95da2;
}

.grid-news-archives .date,
.grid-news-archives .detail-date {
		color: #d9878d;
		font-weight: bold;
}
.grid-news-archives a {
		color: #000;
		transition: 0.4s;
}
.grid-news-archives a:hover {
		color: #d9878d;
}

.grid-about-archives .date,
.grid-about-archives .detail-date {
		color: #625fac;
		font-weight: bold;
}
.grid-about-archives a {
		color: #000;
		transition: 0.4s;
}
.grid-about-archives a:hover {
		color: #625fac;
}

.grid-talent-archives {
		text-align: center;
}
.grid-idol-archives {
		display: grid;
		gap: 2rem 1.5rem;
		grid-template-columns: repeat(1, 1fr);
		text-align: center;
}
.grid-idol-archives a {
		color: #000;
		transition: 0.4s;
}
.grid-idol-archives .sns {
		margin-top: -1.6rem;
}

/* footer
------------------------------- */
.page-footer {
		position: relative;
}
.grid-footer {
		display: grid;
		gap: 1rem 1rem;
		grid-template-columns: 1fr 1fr 1fr;
}
.copyright {
		background-image: url(../img/common/footer-s.png);
		text-align: center;
		margin-top: -10rem;
		padding-top: 12rem;
		background-position: center;
		height: 300px;
		font-size: 0.8rem;
}
.footer-nav {
		justify-content: center;
		gap: 2.5rem;
		font-size: 1.0rem;
		font-weight: bold;
		list-style: none;
}
.footer-nav li {
		margin-bottom: 0.2rem;
}
.contact-nav {
		justify-content: center;
		gap: 2.5rem;
		font-size: 0.8rem;
		list-style: none;
}
.contact-nav li {
		margin-bottom: 0.5rem;
}
.contact-nav a,
.footer-nav a {
		color: #000;
		transition: .4s;
}
.contact-nav a:hover,
.footer-nav a:hover {
		color: rgb(190, 98, 178);
}
.contact-nav .bi {
		font-size: 1.2rem;
		padding-right: 0.4rem;
		vertical-align: middle;
}

/* icon
------------------------------- */
.bi {
		font-size: 1.4rem;
		padding-right: 0.4rem;
		vertical-align: middle;
}
.icon-fanme {
		height: 23px;
}

/* Page Top
------------------------------- */
#page-top {
		position: fixed;
		bottom: 1.0rem;
		right: 1.0rem;
		line-height: 1;
		z-index: 99;
}
#page-top a {
		text-decoration: none;
		color: #cb5c80;
		display: block;
		opacity: 0.8;
		transition: all .3s ease;
}
#page-top a:hover {
		text-decoration: none;
		opacity: .5;
}
#page-top .bi {
		font-size: 2.6rem;
}

/* COMPANY
------------------------------- */
.company th {
		width: 6rem;
		text-align: left;
		vertical-align: top;
}

/* AUDITION
------------------------------- */
.auditionlist {
		margin-left: 1.0rem;
		margin-bottom: 1.2rem;
}
.auditionlist li {
		margin-left: 1.0rem;
		list-style: disc;
}
.content hr {
		height: 1px;
		border: 0 none;
		background: #666;
		margin-bottom: 0.8rem;
	}
dl.entry-flex dd {
		margin: 0
}
dl.entry-flex dd > p {
		margin-left: 10px;
		margin-right: 10px
}
dl.entry-flex dd > ul > li {
		margin-bottom: .3em
}

/* pagination
------------------------------- */
.wp-pagenavi {
		margin: 1.6rem auto;
	font-size: 0.8rem;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #666;
}
.wp-pagenavi a {
		color: #666;
}
.wp-pagenavi span.current,
.wp-pagenavi a.page {
		margin: 0 1.0rem 0 0;
	border: solid 1px #666;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	line-height: 2.6rem;
	text-align: center;
	box-sizing: border-box;
	justify-content: center;
	display: flex;
	align-items: center;
	transition: .3s;
}
.wp-pagenavi span.current {
		border: none;
		background: #999;
		color: #fff;
}
.wp-pagenavi a.page {
	background: none;
}
.wp-pagenavi a.page:hover {
		background: #666;
		color: #fff;
}
.wp-pagenavi .first,
.wp-pagenavi .extend {
		display: none;
}
.wp-pagenavi span.pages,
.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
		display: none;
}

/* PROFILE
------------------------------- */
.profile-title {
		font-weight: normal;
		margin-bottom: 1.25rem;
		font-size: 1.8rem;
}
.profile-title-en {
		margin-top: -1.4rem;
		font-size: 1.2rem;
}
.grid-profile {
		display: grid;
		grid-template-columns: 1fr;
		margin: 1.2rem 0 1.2rem 0;
}
.grid-profile h4 {
		font-size: 1.2rem;
		border-bottom: 1px solid #333;
		margin: 0.8rem 0 0.8rem 0;
}
.profile-pd,
.profile-box {
		font-weight: bold;
}
.detail-gallery {
		margin-bottom: 2.0rem;
}
.detail-gallery img {
		width: 100%;
		height: auto
}
.detail-gallery .thumbnails {
		list-style: none;
		padding: 0;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-flex-pack: justify;
		justify-content: flex-start;/*space-between;*/
}
.detail-gallery .thumbnails li {
		-ms-flex: 0 1 32%;
		flex: 0 1 32%;
		margin: 0 2% 0.4rem 0;
		overflow: hidden;
}
.detail-gallery .thumbnails li:nth-child(3n) {
		margin-right: 0;
}
.detail-gallery .thumbnails li.current {
		background: #fff;
}
.detail-gallery .thumbnails li.current img {
		opacity: .7;
		filter: alpha(opacity=70);
}
.detail-gallery .thumbnails img {
		cursor: pointer;
		display: block;
		transition-duration: 0.3s;
}
.detail-gallery .thumbnails img:hover {
		transform: scale(1.1);
		transition-duration: 0.3s;
}
.sns-nav li {
		margin-bottom: 1.2rem;
}

/* CONTENTS
------------------------------- */
.grid-contents {
		display: grid;
		gap: 1rem 1rem;
		grid-template-columns: 1fr;
		margin-bottom: 5rem;
}
.logo-contents {
		width: 100%;
		margin-bottom: 0.8rem;
}

/* デスクトップ版
------------------------------- */
@media (min-width: 800px) {
		.bi {
				font-size: 2.5rem;
				padding-right: 0.8rem;
				vertical-align: middle;
		}

		/* 見出し */
		.page-title {
				font-size: 5rem;
		}
		.heading-large {
				font-size: 3rem;
		}
		.post-title {
				font-size: 2rem;
		}

		/* header */
		.page-header {
				justify-content: space-between;
				padding-top: 1.5rem;
		}
		.logo {
				width: 325px;
		}
		.main-nav {
				padding-top: 1.8rem;
				font-size: 1.7rem;
				gap: 0rem 2.6rem;
		}
		.main-nav a {
				color: #fff;
				transition: .4s;
		}
		.main-nav a:hover {
				color: rgb(190, 98, 178);
		}
		.sub-nav {
				padding-top: 0rem;
				font-size: 1.7rem;
				gap: 0rem 2.6rem;
		}
		.sub-nav a {
				color: rgb(215, 72, 139);
				transition: .4s;
				text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF,	 0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
		}
		.sub-nav a:hover {
				color: rgb(144, 116, 220);
		}

		/* ヘッダーカバー画像 */
		.sub-cover {
				height: 400px;
				margin-bottom: 6rem;
		}

		.mainvisual {
				position: relative;
				margin-top: -15.0rem;
				text-align: center;
		}

		/* HOME */
		.cover-home {
				background-size: cover;
				background-position: center bottom;
				height: 580px;
				background-image: url(../img/common/cover-home-l.jpg);
		}
		.about {
				margin: 4rem auto 0;
		}

		/* GNERAL */
		.general-contents {
				display: flex;
				justify-content: space-between;
				margin-top: -16rem;
		}

		/* POST */
		.post-contents {
				display: flex;
				justify-content: space-between;
		}
		.post-contents:first-of-type {
				margin-top: -16rem;
		}

		/* SIDEBAR */
		.sidebar {
				width: 22%;
		}
		.sidebar .heading-medium {
				line-height: 1;
				margin-bottom: 1rem;
		}

		/* TALENT LIST */
		.grid-talentlist {
				grid-template-columns: repeat(4, 1fr);
		}
		.grid-talentlist2 {
				grid-template-columns: repeat(2, 1fr);
		}

		/* TOPICS */
		.topics {
				margin-top: 0;
		}
		.topics h3 {
				background-image: url(../img/common/cover-topics-l.jpg);
				background-position: center top;
				padding-top: 4rem;
				min-height: 900px;
		}
		.grid-topics {
				display: grid;
				gap: 2rem 1.5rem;
				grid-template-columns: repeat(3, 1fr);
				margin-top: -35rem;
				text-align: left;
		}
		.grid-topics a {
				color: #000;
				transition: 0.4s;
		}
		.grid-topics a:hover {
				color: #a95da2;
		}

		/* NEWS */
		.news {
				margin-top: -7rem;
		}
		.news h3 {
				background-image: url(../img/common/cover-news-l.png);
				background-position: center top;
				padding-top: 17rem;
				min-height: 1030px;
		}
		.grid-news {
				display: grid;
				gap: 2rem 1.5rem;
				grid-template-columns: repeat(4, 1fr);
				margin-top: -40rem;
				margin-bottom: 1.2rem;
				text-align: left;
		}
		.grid-news a {
				color: #000;
				transition: 0.4s;
		}
		.grid-news a:hover {
				color: #d9878d;
		}

		/* ABOUT */
		.about {
				margin-top: -1.5rem;
		}
		.about h3 {
				background-image: url(../img/common/cover-about-l.jpg);
				background-position: center top;
				padding-top: 7rem;
				min-height: 970px;
		}
		.grid-about {
				display: grid;
				gap: 2rem 1.5rem;
				grid-template-columns: repeat(3, 1fr);
				margin-top: -31rem;
				text-align: left;
		}
		.grid-about a {
				color: #000;
				transition: 0.4s;
		}
		.grid-about a:hover {
				color: #625fac;
		}

		/* TALENT */
		.talent {
				margin-top: -26rem;
		}
		.talent h3 {
				background-image: url(../img/common/cover-talent-l.png);
				background-position: center top;
				padding-top: 32rem;
				min-height: 850px;
		}
		.grid-talent {
				display: grid;
				gap: 2rem 1.5rem;
				grid-template-columns: repeat(4, 1fr);
				text-align: center;
				margin-top: -15rem;
		}

		/* IDOL */
		.idol h3 {
				background-image: url(../img/common/cover-idol-l.jpg);
				background-position: center top;
				padding-top: 3rem;
				min-height: 870px;
		}
		.grid-idol {
				display: grid;
				gap: 3rem 3rem;
				grid-template-columns: 1fr 1fr;
				margin-top: -45rem;
				margin-bottom: 5rem;
		}

		/* ARCHIVES */
		.grid-topics-archives,
		.grid-news-archives,
		.grid-about-archives {
				grid-template-columns: repeat(3, 1fr);
		}
		.grid-talent-archives {
				grid-template-columns: repeat(4, 1fr);
		}
		.grid-idol-archives {
				grid-template-columns: repeat(2, 1fr);
		}

		/* PROFILE */
		.profile-title {
				font-weight: normal;
				margin-bottom: 1.25rem;
				font-size: 2.4rem;
		}
		.profile-title span {
				margin-left: 1.6rem;
				font-size: 1.4rem;
		}
		.grid-profile {
				display: grid;
				gap: 3rem 3rem;
				grid-template-columns: 1fr 1fr;
				margin-top: 1.0rem;
				margin-bottom: 5rem;
		}
		.grid-profile h4 {
				font-size: 1.4rem;
				border-bottom: 1px solid #333;
				margin-bottom: 0,8rem 0 0.8rem 0;
		}
		.detail-gallery img {
				width: 100%;
				height: auto
		}
		.detail-gallery .thumbnails {
				list-style: none;
				padding: 0;
				display: -ms-flexbox;
				display: flex;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
				-ms-flex-pack: justify;
				justify-content: flex-start;/*space-between;*/
		}
		.detail-gallery .thumbnails li {
				-ms-flex: 0 1 32%;
				flex: 0 1 32%;
				margin: 0 2% 0.5rem 0;
				overflow: hidden;
		}
		.sns-nav li {
				margin-bottom: 1.2rem;
		}

		/* footer */
		.page-footer {
				position: relative;
		}
		.grid-footer {
				display: grid;
				gap: 2.4rem 2.4rem;
				grid-template-columns: 450px 1fr 1fr;
		}
		.copyright {
				background-image: url(../img/common/footer-l.png);
				margin-top: -6rem;
				padding-top: 10rem;
				background-position: center;
				height: 300px;
				font-size: 1.0rem;
		}
		.logo-footer {
				
		}
		.footer-nav {
				justify-content: center;
				font-size: 1.8rem;
				font-weight: bold;
				list-style: none;
		}
		.contact-nav {
				justify-content: center;
				font-size: 1.4rem;
				list-style: none;
		}
		.contact-nav li {
				margin-bottom: 0;
		}
		.contact-nav a,
		.footer-nav a {
				color: #000;
				transition: .4s;
		}
		.contact-nav a:hover,
		.footer-nav a:hover {
				color: rgb(190, 98, 178);
		}
		.contact-nav .bi {
				font-size: 2.0rem;
				padding-right: 0.8rem;
				vertical-align: middle;
		}

		/* Page Top */
		#page-top .bi {
				font-size: 3.6rem;
		}

		/* item画像リンク拡大 */
		.itemimg {
				overflow: hidden;
		}
		.itemimg a img {
				width: 100%;
				transition: all .5s;
		}
		.itemimg a:hover img {
				transform: scale(1.1);
		}

		/* CONTENTS */
		.grid-contents h3 {
				
		}
		.grid-contents {
				display: grid;
				gap: 2rem 2rem;
				grid-template-columns: 53% 1fr;
				margin-bottom: 5rem;
		}
		.logo-contents {
				width: 100%;
				margin-bottom: 0.8rem;
		}

		/* AUDITION */
		.grid-audition {
				display: grid;
				gap: 2rem 1.5rem;
				grid-template-columns: repeat(3, 1fr);
				
				
		}
		/* icon */
		.icon-fanme {
				height: 40px;
		}
}