@charset "utf-8";
/* CSS Document */
/* --------------------------------------------------
	font-family: 'Noto Sans JP', sans-serif;
	font-family: 'Sofia Sans', sans-serif;
-------------------------------------------------- */
/* 
-------------------------------------------------- */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:10px;
	line-height: 1;
	background:#ccc;
}
img { width:100%; height:auto;}

.is--pc { display:none;}
.is--sp { display:block;}

body a { color:#000; transition:.3s all;}
body a:hover { text-decoration: none;}

/* --------------------------------------------------
 @ header
-------------------------------------------------- */
.ul--nav--sns {
	display:flex;
	align-items: center;
}
.ul--nav--sns li {
	width:auto;
	height:34px;
	margin-right:22px;
}
.ul--nav--sns li img {
	width:32px;
}
.ul--nav--sns li:nth-child(3) img {
	width:28px;
}


@media (max-width: 768px) {
	body {
		position:relative;
		font-size:9px;
		width:100%;
		margin:0 auto;
		padding:108% 0 9.9% 0;
		color:#000;
		background:#fff url("../img/kv_sp.jpg") center top no-repeat;
		background-size:100% auto;
		overflow: scroll;
	}
	
	body > .ul--nav--sns {
		width:45%;
		margin:2.5em 0 15% 25.5%;
	}
}
@media (min-width: 769px) {
/* PC用 */
	body { 
		position: relative;
		font-size:9px;
		height: 100vh;
		background: #fff;
	}
	body::before {
		content:'';
		position: fixed;
		top:0;
		left: 0;
		width:50%;
		height:100vh;
		background: #fff url("../img/kv_pc.jpg") right top no-repeat;
		background-size:cover;
	}
	
	.is--pc { display:block;}
	.is--sp { display:none;}
	
	h1 {
		position:fixed;
		width:25%;
		left:25%;
		top:47vh;
	}
	body > .ul--nav--sns {
		position: fixed;
		width: 25%;
		left: 31.4%;
   		top: 60vh;
	}
		
	main {
		position: absolute;
		width: 50%;
		right: 0;
		top:0;
	}
	
	main dl, main ul { font-size:8px;}
	
	.kv--copyright {
		position: fixed;
		bottom: 1em;
		right: 51%;
		color: #666666;
		font-size: 12px;
		font-weight: 300;
		letter-spacing: 0.05em;
		z-index: 5;
	}
	
}
@media (min-width: 1024px) {
	body > .ul--nav--sns {
   		top: 72vh;
	}
}


/* --------------------------------------------------
 @ menu
-------------------------------------------------- */
/* 
-------------------------------------------------- */
.menu {
	display: flex;
	flex-direction: column-reverse;
	position:fixed;
	right:20px;
	top:20px;
	z-index: 111;
	transition:.5s all;
}
.menu > div {
	display:flex;
	justify-content: center;
	align-items: center;
	
	position: relative;
	width:55px;
	height:55px;
	margin-bottom:10px;
	border:1px solid #000;
	border-radius: 50%;	
	background: #fff;
	z-index: 11;	
	
	transition:0.8s all;
}
.menu > div:hover { cursor: pointer;}

.menu .mail img { width:23px;}

.menuBtn { display:flex; flex-direction: column;}
.menuBtn span {
	display: block;
	position:absolute;
	width:2px;
	height:2px;
	left: 48%;
	top:50%;
	transform:translateY(-50%);
	border-radius: 2px;
	text-align: center;
	background:#000;
	transition:.6s all;
}
.menuBtn span:nth-child(1) { transform:translateY(-7px);}
.menuBtn span:nth-child(3) { transform:translateY(6px);}

.menu.menuActive .menuBtn {
	border:none;
	background:none;
}
.menu.menuActive .menuBtn span:nth-child(1) {
	left:0;	
	top:20px;
	width:100%;
	height:1px;
	background:#fff;
	transform:rotate(45deg) translateY(0);
}
.menu.menuActive .menuBtn span:nth-child(2) { opacity: 0;}
.menu.menuActive .menuBtn span:nth-child(3) {
	left:0;
	top:20px;
	width:100%;
	height:1px;
	background:#fff;
	transform:rotate(-45deg) translateY(0);
}

.menu .mail { 
	opacity:1;
	transition:.5s opacity all;
}
.menu .mail a {
	display:block;
	width:100%;
	height:100%;
	background:url("../img/icn_mail.svg") center center no-repeat;
}
.menu.menuActive .mail {
	opacity: 0;
	transition:.5s opacity all;
}

@media (min-width: 769px) {
/* PC用 */
	.menu {
		position:fixed;
		right:30px;
	}
}



/* --------------------------------------------------
 @ gNavi
-------------------------------------------------- */
/* 
-------------------------------------------------- */
.gNavi {
	position: fixed;
	top:0;
	right: -110%;
	width:100%;
	height:100vh;
	
	padding:20px;
	background: rgba(0,0,0,.5);
	z-index: 101;
	
	transition:.8s all;
}
.gNavi.gNaviActive {
	right:0;
}
.gNavi .logo {
	width:42.3%;
	margin-bottom: 6em;
}
.gNavi .ul--nav {
	margin-bottom: 5em;
}
.gNavi .ul--nav li {
	font-family: 'Sofia Sans', sans-serif;
	font-size:5em;
	line-height: 0.85;
}
.gNavi .ul--nav li a {
	color: #fff;
	text-decoration:none;
}
.gNavi .ul--nav--sns {
	display:flex;
	justify-content: flex-start;
}
.gNavi .ul--nav--sns li {
	width:8vw;
	margin-right:2.5em;
}
.gNavi .ul--nav--sns li img {
	width:auto; height:32px;
}
@media (min-width: 769px) {
/* PC用 */
	.gNavi {
		width:50%;
	}
	.gNavi .ul--nav--sns li {
		width:40px;
	}
}

/* --------------------------------------------------
 @ 
-------------------------------------------------- */
/* 
-------------------------------------------------- */
main {
	margin-top:15%;
	box-sizing: border-box;
}
main h2 {
	font-size:4.8em;
	font-weight: 500;
}
main h2 span {
	position: relative;
}
main h2 span::after {
	content:'';
	position: absolute;
	left: 0;
	bottom:13px;
	width:100%;
	height:1px;
	background:#000;
}

main h3 {
	margin:3em 0 1.2em;
}
main h3 span {
	position: relative;
	padding-left: 1.1em;
	font-size:2em;
	font-weight: 700;
}
main h3 span::after {
	content:'';
	position: absolute;
	left: 0;
	bottom:4px;
	width:0.95em;
	height:1px;
	background:#000;
}

.ul01,
.profile--area dl {
	margin:0 5.08905852417303% 1.1em 0;
	
	font-size:1.6em;
	line-height: 1.6875;
}
.ul01 li,
.profile--area dl {
	padding:1.1em 5.08905852417303% 1.1em;
	border-bottom:1px solid #000;
}
.ul01 li:last-of-type,
.profile--area dl:last-of-type {
	margin-bottom: 2.5em;
	border:none;
}

.news--area .ul01 li,
.profile--area dl {
	display: flex;
	justify-content: flex-start;
	padding-top:0;
}
.ul01 li,
.profile--area dl:first-of-type { margin-top:1.3em;}
.news--area .ul01 li .entry--date,
.profile--area dl dt {
	width:8em;
}
.news--area .ul01 li .entry--ttl,
.profile--area dl dd {
	width:calc(100% - 6em);
}

.btn--mail,
.fanletter {
	margin:2em 0 2.6em;
}
.btn--mail a {
	display: block;
	margin:0 5.08905852417303% 2em;
	padding:1.2em 0;
	font-size:1.6em;
	text-align: center;
	text-decoration: none;
	border:1px solid #000;
	transition:.4s all;
}

.fanletter dl {
	margin:0 5.08905852417303% 2em;
	padding:1.2em 0 0;
	font-size:1.6em;
	text-align: center;
	text-decoration: none;
	border:1px solid #000;
	transition:.4s all;
}
.fanletter dt {
	position:relative;
	padding-bottom:1.2em;
}
.fanletter dt:hover { cursor:pointer;}
.fanletter dt::after {
	content:'';
	position:absolute;
	right:7%;
	top:0%;
	width:8px;
	height:8px;
	border-top:1px solid #000;
	border-right:1px solid #000;
	transform:rotate(135deg);
	transition:.3s all;
}
.fanletter dt.active::after { top:15%; transform: rotate(-45deg);}
.fanletter dd {
	display: none;
	margin:0 5% 0;
	padding:1em 0 1.2em;
	border-top:1px solid #000;
}
.fanletter dd p {
	margin-left:50%;
	transform:translateX(-50%);
	line-height: 1.5;
	text-align: left;
	white-space: nowrap;
}

@media (min-width: 769px) {
/* PC用 */
	main {
		height: 100vh;
		margin-top:0;
		padding:15% 0 5%;
	}
	
	main h2 span::after {
		bottom:11px;
	}

	.ul01,
	.profile--area dl {}
}
@media (max-width: 480px) {
/* SP用 */
	main { margin-top:1.5em;}
}


/* --------------------------------------------------
 @ 
-------------------------------------------------- */
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
/* PC用 */
}



/* --------------------------------------------------
 @ pickup
-------------------------------------------------- */
/* 
-------------------------------------------------- */
.slider ul {
	margin:2em 0 6em;
}
.slider ul li a {
	text-decoration:none;
}
.slider ul li p {
	padding: 0 1.125em;
	font-size:1.6em;
	line-height: 1.6em;
}
.slider ul li .photo {
	padding:20px 0;
	border-left:1px solid #000;
}
.slider ul li .photo img {
	border-top:1px solid #000;
	border-bottom:1px solid #000;
}

.slick-dots {
	display: flex;
	justify-content: center;
	margin:0 auto ;
}
.slick-dots li {
	margin:0 0.5em;
}
.slick-dots li button {
	width:15px;
	height:3px;
	text-indent: 1000%;
	font-size:0;
	overflow: hidden;
	border: none;
	border-radius: 30px;
	background: #dfdfdf;
}
.slick-dots .slick-active button { background: #000;}

@media (min-width: 769px) {
/* PC用 */
}


/* --------------------------------------------------
 @ copyright
-------------------------------------------------- */
/* 
-------------------------------------------------- */
.copyright p {}

.copyright p {
	margin:3em 0 1.2em;
}
.copyright p a { text-decoration:none;}
.copyright p span {
	position: relative;
	padding-left: 1.1em;
	font-size:1.6em;
}
.copyright p span::after {
	content:'';
	position: absolute;
	left: 0;
	bottom:4px;
	width:0.95em;
	height:1px;
	background:#000;
}

@media (min-width: 769px) {
/* PC用 */
	.copyright { padding-bottom: 1.5em;}
}


/* --------------------------------------------------
 @ 
-------------------------------------------------- */
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
/* PC用 */
}


/* --------------------------------------------------
 @ 
-------------------------------------------------- */
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
/* PC用 */
}

