@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital@1&family=Noto+Serif+JP:wght@300&display=swap');
* {
		margin: 0;
		padding: 0;
}
html {
		overflow-y: scroll;
}
img {
		border: none;
		vertical-align: top;
}
body {
		color: #2C2C2C;
		font-family: YuMincho, 'Noto Serif JP', 'Yu Mincho', serif;
		font-size: 12px;
		background: url("../images/body_bg.png");
}
@media(max-width: 767px) {
		body {
				background: url("../images/body_bg_sp.png");
				background-size: 800px;
		}
}
header {
		width: 80px;
		height: 100px;
		position: absolute;
		top: 120px;
		left: 135px;
		z-index: 1000;
}
header h1 {
		width: 8.5vw;
		max-width: 160px;
}
@media(max-width: 1300px) {
		header h1 {
				width: 120px;
				max-width: inherit;
		}
}
@media(max-width: 767px) {
		header h1 {
				width: 70px;
				max-width: inherit;
		}
}
header h1 img {
		width: 100%;
		height: auto;
}
.global_nav {
		width: 80px;
		position: absolute;
		top: 120px;
		right: 135px;
		z-index: 1000;
}
.global_nav li {
		font-family: 'Libre Baskerville', serif;
		font-size: 12px;
		letter-spacing: 0.02em;
		list-style: none;
		margin: 0 0 10px;
		text-align: right;
}
.global_nav li a {
		color: #2C2C2C;
		text-decoration: none;
		display: inline-block;
		padding: 5px;
		opacity: 0.5;
		transition: opacity 0.4s;
}
.global_nav li.current-menu-item a {
		opacity: 1;
}
.global_nav li span {
		display: inline-block;
		position: relative;
}
.global_nav li span::after {
		content: '';
		display: block;
		width: 100%;
		height: 1px;
		background: #1e1e1e;
		position: absolute;
		left: 0px;
		bottom: -4px;
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.global_nav li a:hover {
				opacity: 1;
		}
		.global_nav li a:hover span:after {
				transform: scaleX(1);
		}
}
footer {
		padding: 100px 135px 50px;
}
.page_toppage footer {
		padding: 0 135px 50px;
		position: absolute;
		bottom: 0;
		left: 0;
		box-sizing: border-box;
		width: 100%;
}
.copyright {
		text-align: right;
		font-family: 'Libre Baskerville', serif;
		font-size: 10px;
		opacity: 0.5;
}
@media(max-width: 1024px) {
		header {
				top: 15vw;
				left: 8vw;
		}
		.global_nav {
				top: 15vw;
				right: 8vw;
		}
		footer {
				padding-left: 8vw;
				padding-right: 8vw;
				padding-bottom: 25px;
		}
		.page_toppage footer {
				padding-left: 8vw;
				padding-right: 8vw;
				padding-bottom: 25px;
		}
}
.second_cont {
		padding: 120px 135px 140px;
		margin: 0 auto;
		opacity: 0;
		transition: opacity 0.5s;
}
.second_cont.seconContActive {
		opacity: 1;
}
.second_cont_inner {
		max-width: 700px;
		margin: 0 auto;
}
.pagetitle {
		width: 140px;
		margin: 0 0 120px;
}
.pagetitle.illustration {
		width: 250px;
}
.pagetitle img {
		width: 100%;
		height: auto;
}
@media(max-width: 1024px) {
		.second_cont {
				padding: 45vw 5vw 100px;
				max-width: inherit;
		}
		.pagetitle {
				width: 140px;
				margin: 0 auto 40px;
		}
}
@media(max-width: 834px) {
		.second_cont {
				padding: 67.5vw 5vw 100px;
		}
		.pagetitle {
				width: 24vw;
				margin: 10vw auto 30px;
		}
		.pagetitle.illustration {
				width: 42vw;
				margin-bottom: -50px;
		}
		.me_caption {
				padding: 0;
		}
}
.news_detail_back_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 98px;
		height: 98px;
		font-style: italic;
		position: relative;
		text-decoration: none;
		border-radius: 50%;
		color: #fff;
}
.news_detail_back_btn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 98px;
		height: 98px;
		border-radius: 50%;
		transition: transform 0.15s cubic-bezier(0.25, 1, 0.5, 1);
		background: #1e1e1e;
}
.news_detail_back_btn a span {
		display: inline-block;
		transform: translateY(-1px);
		z-index: 1;
}
@media (hover: hover) {
		.news_detail_back_btn a:hover::before {
				transform: scale(1.3);
		}
}
/* ==================== */
.tag_title {
		font-size: 18px;
		font-weight: 400;
		margin: 0 0 25px;
}
@media(max-width: 767px) {
		.tag_title {
				text-align: center;
		}
}
.tag_sort_flex {
		display: flex;
		flex-wrap: wrap;
		margin: 0px 0 20px;
		padding-top: 25px;
}
.works_flex .tag_sort_flex {
		margin-bottom: 40px;
}
.tag_sort_item {
		margin: 0 10px 5px 0;
}
.tag_sort_item a {
		color: #A8A8A8;
		text-decoration: none;
}
@media(max-width: 767px) {
		.tag_sort_item {
				font-size: 10px;
		}
}
/* ============== */
.post-password-form {
		max-width: 600px;
		margin: 0 auto;
}
.passWrap {
		display: flex;
		justify-content: center;
		padding-top: 50px;
}
.post-password-form nput[type="button"], .post-password-form input[type="submit"], .post-password-form input[type="password"] {
		-webkit-appearance: none;
}
.post-password-form input::placeholder {
		font-size: 14px;
		color: #999;
}
.post-password-form p {
		line-height: 1.8;
		margin: 0 0 1.5em
}
.passLead {
		line-height: 1.8;
		margin: 0 0 1.5em;
		font-weight: 700;
}
@media(min-width: 391px) {
		.passFormWrap {
				display: flex;
				justify-content: center;
		}
}
.post-password-form input[type="password"] {
		font-size: 18px;
		padding: 8px;
		border: 1px solid #999;
		border-radius: 0px;
		box-sizing: border-box;
		width: 240px;
		height: 40px;
}
.post-password-form input[type="submit"] {
		height: 40px;
		line-height: 40px;
		width: 50px;
		border: none;
		background: #2C2C2C;
		border: 1px solid #2C2C2C;
		color: #fff;
		font-weight: 700;
		font-size: 13px;
		border-radius: 2px;
		cursor: pointer;
		transition: background 0.3s;
		margin-left: 5px;
}
p.passLead {
		text-align: left;
		max-width: 285px;
		margin: 0 auto 10px!important
}
.passFlex {
		display: flex;
		justify-content: center;
		align-items: center;
}
@media (hover: hover) {
		.post-password-form input[type="submit"]:hover {
				background: #fff;
				color: #2C2C2C;
		}
}
@media(max-width: 767px) {
		.post-password-form input[type="password"] {
				width: 160px;
				height: 40px;
		}
}
/* ==================== */
.overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 110vh;
		background: url("../images/body_bg.png");
		z-index: 99999;
}
::selection {
		background: #666 !important;
		-webkit-background-clip: inherit;
		-webkit-text-fill-color: #fff;
}
::-moz-selection {
		background: #666;
}