@charset "utf-8";

/* CSS Document */

/*-------------------------
- reset
- base
- header
-------------------------*/

/*=======================================
　reset
=======================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}
main {
	font-family: YuMincho, "Yu Mincho", "Noto Serif JP", serif;
	overflow-x: hidden;
	font-feature-settings: "palt";
	/*color: #363636;*/
	color: #444;
	letter-spacing: 0.05em;
	font-weight: 400;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
nav ul {
	list-style: none;
}
blockquote,
q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
img {
	max-width: 100%;
	height: auto;
}

/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #333;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #333;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title],
dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}
input,
select {
	vertical-align: middle;
}
ul,
li {
	list-style: none;
}
main {
	/* overflow-x: hidden; */
}
@media only screen and (max-width: 767px) {
	body {
		font-size: 13px;
	}
}

/*=======================================
　base
=======================================*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}
a {
	color: #373737;
	text-decoration: none;
	transition: opacity 0.2s ease-in-out;
}
a:hover {
	opacity: 0.7;
	text-decoration: inherit;
}
.pc {
	display: block !important;
}
.sp {
	display: none !important;
}
.link_none {
	pointer-events: none;
}
.flex_area {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
.inner {
	width: 90%;
	margin: 0 auto;
	max-width: 1100px;
}
.anchor {
	display: block;
	padding-top: 150px;
	margin-top: -150px;
}
@media only screen and (max-width: 767px) {
	.pc {
		display: none !important;
	}
	.sp {
		display: block !important;
	}
	.flex_area {
		display: block;
	}
	.anchor {
		padding-top: 80px;
		margin-top: -80px;
	}
}

html {
	scroll-behavior: smooth;
}

/*=======================================
　header
=======================================*/
.pc_h {
	display: block !important;
}
.sp_h {
	display: none !important;
}
@media only screen and (max-width: 850px) {
	.pc_h {
		display: none !important;
	}
	.sp_h {
		display: block !important;
	}
}

header {
	position: fixed;
	top: 46px;
	z-index: 3;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	transition: all 0.2s ease-in-out 0s;
	height: 60px;
	max-width: 1253px;
	width: 90%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
header .flex_area {
	align-items: center;
}
header .flex_area {
	justify-content: space-between;
}
header .hd_logo {
	width: 10.07%;
	/* margin-left: 6.92%; */
}
header .hd_logo svg {
	/* max-width: 141px; */
}
header .pc_h nav {
	/* width: 62.85%; */
	/* max-width: 880px; */
	/* margin-left: auto; */
	min-width: 585px;
}
header .pc_h ul {
	padding: 0 41px;
	/* padding: 0 6.12%; */
	background: rgb(255 255 255 / 87%);
	gap: 0 45px;
	/* gap: 0 6.72%; */
	height: 60px;
	/* width: 76.02%; */
}
header .pc_h ul li {
	line-height: 0;
}
header .pc_h ul li a {
	font-family: YuMincho, "Yu Mincho", "Noto Serif JP", serif;
	font-weight: normal;
	font-size: calc(15 / 1400 * 100vw);
	letter-spacing: 0.05em;
	line-height: 2;
	white-space: nowrap;
}
header .pc_h .btn_document,
header .pc_h .btn_contact {
	height: 100%;
	min-width: 140px;
	/* width: calc(100% - 76.02%); */
}
header .pc_h .btn_document a,
header .pc_h .btn_contact a {
	height: 60px;
	background: rgb(0 0 0 / 90%);
	text-shadow: 0px 3px 20px rgba(0, 0, 0, 0.56);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 50px 0 57px;
}
header .pc_h .btn_document a span,
header .pc_h .btn_contact a span {
	font-family: YuMincho, "Yu Mincho", "Noto Serif JP", serif;
	position: relative;
	padding-left: 15px;
	font-weight: normal;
	font-size: calc(16 / 1400 * 100vw);
	letter-spacing: 0.1em;
	line-height: 2.8125;
	color: #fff;
	white-space: nowrap;
}
header .pc_h .btn_contact a span::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	background: #36bb81;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
header .pc_h .btn_document a span::before {
	content: "";
	display: inline-block;
	position: absolute;
	width: 30px;
	height: 40px;
	inset: 0;
	margin: auto;
	margin-left: -32px;
	background: url(../../image/thumb_magazine.jpg);
	background-size: cover;
	background-position: center;
}
@media only screen and (max-width: 1400px) {
	header .pc_h .btn_contact a {
		/* padding: 0 23.69% 0 19.9%; */
	}
}
@media only screen and (min-width: 1400px) {
	header .pc_h ul li a {
		font-size: 15px;
	}
	header .pc_h .btn_document a span,
	header .pc_h .btn_contact a span {
		font-size: 16px;
	}
}
@media only screen and (max-width: 850px) {
	header {
		width: 100%;
		top: 0;
	}
	header .flex_area {
		align-items: center;
	}
	header .flex_area {
		justify-content: space-between;
	}
	header .hd_logo {
		width: 25%;
		max-width: 150px;
		margin-left: 5%;
	}
}
@media only screen and (max-width: 850px) {
	/* ハンバーガーメニューボタン */
	header .openbtn {
		top: 3px;
		right: 2%;
		width: 50px;
		height: 50px;
		position: fixed;
		z-index: 10000;
	}
	header .openbtn span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: 14px;
		height: 1px;
		background-color: #fff;
		width: 45%;
	}
	header .openbtn.act-on span {
		background-color: #000;
	}
	header .openbtn.active span {
		background-color: #fff;
	}
	header .openbtn span:nth-of-type(1) {
		top: 15px;
	}
	header .openbtn span:nth-of-type(2) {
		top: 23px;
	}
	header .openbtn span:nth-of-type(3) {
		top: 31px;
	}
	header .openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}
	header .openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}
	header .openbtn.active span:nth-of-type(3) {
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}
	/* ハンバーガーメニュー */
	header .g-nav.sp_h {
		position: fixed;
		z-index: 4;
		top: -150vw;
		width: 100%;
		background: rgba(0, 0, 0, 0.7);
		transition: all 0.6s;
		display: block;
		padding: 55px 0;
		overflow-y: scroll;
	}
	header .g-nav.sp_h.panelactive {
		top: 0;
	}
	header .g-nav.sp_h li {
		text-align: center;
	}
	header .g-nav.sp_h li a {
		font-family: YuMincho, "Yu Mincho", "Noto Serif JP", serif;
		color: #fff;
		padding: 10px 0;
		display: block;
		letter-spacing: 0.1em;
		font-size: 16px;
	}
}

/* MVを過ぎるとclass付与 */
header .hd_logo img {
	transition: all 0.2s;
}
header .hd_logo img:nth-child(1) {
	display: block;
}
header .hd_logo img:nth-child(2) {
	display: none;
}
header .hd_logo img.act-on:nth-child(1) {
	display: none;
}
header .hd_logo img.act-on:nth-child(2) {
	display: block;
}

/* footerに到達するとclass付与 */
header.is-active .hd_logo img:nth-child(1) {
	display: block;
}
header.is-active .hd_logo img:nth-child(2) {
	display: none;
}
header.is-active .openbtn.act-on span {
	background-color: #fff;
}
