html {
	font-size: 62.5%;
	font-family: 'Noto Sans JP', sans-serif;
	color: #363636;
	line-height: 1;
}
body {
	margin: 0;
	padding: 0;
}
body.hold {
	overflow: hidden;
}
/* body .bg_wrapper {
	position: absolute;
	display: block;
	width: 100%;
	height: 100vh;
	background-color: #000000;
	opacity: 0;
	z-index: -1;
	transition: opacity 500ms ease-out;
}
body.hold .bg_wrapper {
	z-index: 10;
	opacity: 0.5;
} */
a, a:visited, a:link {
	color: inherit;
	text-decoration: none;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl {
	margin: 0;
	padding: 0;
}
ul, ol, dl {
	list-style-type: none;
}
.contents-wrapper {
	position: relative;
	width: 100%;
	overflow-x: hidden;
}
.container {
	margin: 0 auto;
	padding: 0 1.2rem;
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
}
.d_none {
	display: none !important;
}

/* Header */
.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
	background-color: #FFFFFFF0;
	transition: background-color 150ms linear;
	box-shadow: 0 0 0.5rem 0 rgb(51 51 51 / 50%);
}
.header:hover {
	background-color: #FFFFFFFF;
}
.header .container {
	position: relative;
}
.header_upper {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.header_upper .__search_area {
	width: 100%;
}
.header_upper .__search_area .__input-wrapper {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 30rem;
}
.header_upper .__search_area .__input-wrapper .__icon_search, 
.header_upper .__search_area .__input-wrapper input,
.header_upper .__search_area .__input-wrapper button {
	display: inline-flex;
	align-items: center;
	padding: 0;
	margin: 0;
	height: 3em;
	font-size: 1.2rem;
	border: 2px solid #AFAFAF;
	box-sizing: border-box;
} 
.header_upper .__search_area .__input-wrapper .__icon_search {
	padding: 0 1em;
	border-right: 0;
	border-radius: 2em 0 0 2em;
}
.header_upper .__search_area .__input-wrapper input {
	padding: 0;
	margin: 0;
	border-left: 0;
	border-right: 0;
	flex-grow: 1;
}
.header_upper .__search_area .__input-wrapper button {
	padding: 0 2em;
	color: #363636;
	border-left: 0;
	border-radius: 0 2em 2em 0;
	background-color: #AFAFAF;
}
.header_upper .__search_area .__input-wrapper input:focus {
	outline: none;
}
.header_upper .__logo_area a {
	display: block;
	padding: 1.2rem;
	width: 19rem;
}
.header_upper .__logo_area a img {
	width: 100%;
}
.header_upper .__btns_area {
	width: 100%;
}
.header_upper .__btns_area .__btn_list {
	display: flex;
	justify-content: end;
	align-items: center;
	margin: 0;
	padding: 0;
}
.header_upper .__btns_area .__btn_list .__item {
	display: inline-block;
	font-size: 1.4rem;
}
.header_upper .__btns_area .__btn_list .__item:nth-of-type(n+2) {
	margin-left: 0.7143em;
}
.header_upper .__btns_area .__btn_list .__item a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 8.5714em;
	height: 2.5714em;
	color: #FFFFFF;
	font-weight: 700;
	border-radius: 1.2857em;
	box-sizing: border-box;
	opacity: 1;
	transition: opacity 100ms linear;
}
.header_upper .__btns_area .__btn_list .__item.__item_docs a {
	background-color: #D70C19;
}
.header_upper .__btns_area .__btn_list .__item.__item_contact a {
	background-color: #000000;
}

.header_upper .__btns_area .__btn_list .__item a:hover {
	opacity: 0.7;
}
/* /Header */

/* Navigation */
.nav {
	display: flex;
	align-items: center;
	padding-bottom: 1.5rem;
}
.nav_list {
	display: flex;
	width: 100%;
	flex-grow: 1;
	font-size: 1.2rem;
	font-weight: 700;
	color: #363636;
}
.nav_list .__item {
	flex-grow: 1;
	text-align: center;
}
.nav_list .__item a {
	display: inline-block;
}
.nav_list.nav_list-left .__item {
	text-align: left;
}
.nav_list.nav_list-center {
	width: 20rem;
	min-width: 20rem;
	font-size: 1.6rem;
}
.nav_list.nav_list-center .__item a {
	width: 100%;
	padding: 0.5em 0;
	color: #FFFFFF;
	background-color: #D70C19;
	opacity: 1;
	transition: opacity 100ms linear;
}
.nav_list.nav_list-center .__item a:hover {
	opacity: 0.7;
}
.nav_list.nav_list-right .__item {
	text-align: right;
}


.nav_list:not(.nav_list-center) .__item a {
	position: relative;
	padding: 0.8333em;
}
.nav_list:not(.nav_list-center) .__item a::after,
.sub_nav-wrapper .sub_nav_list .__item > a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 0;
	height: 3px;
	background-color: #D70C19;
	transform: translateX(-50%);
	transition: width 200ms ease-out;
}
.nav_list:not(.nav_list-center) .__item a:hover::after,
.sub_nav-wrapper .sub_nav_list .__item > a:hover::after {
	width: calc(100% - 1.6666em);
}

.nav_list:not(.nav_list-center) .__item.active a::after {
	width: calc(100% - 1.6666em);
}

.sub_nav-wrapper {
	position: absolute;
	overflow: hidden;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 0px;
	background-color: #FCECEDFA;
	transform: translateY(100%);
	transition: height 200ms ease-in-out;
	box-shadow: 0 0.2rem 0.4rem 0 rgba(51, 51, 51, 0.25);
	z-index: 10;
}
.sub_nav-wrapper .sub_nav_list {
	position: absolute;
	display: flex;
	justify-content: center;
	top: 0;
	left: 0;
	padding: 3em 0;
	width: 100%;
	font-size: 1.4rem;
	opacity: 0;
	transition: opacity 200ms linear;
}
.sub_nav-wrapper .sub_nav_list.active {
	opacity: 1;
}
.sub_nav-wrapper .sub_nav_list .__item > a {
	position: relative;
	display: inline-block;
	padding: 0.5em 1em;
}
.sub_nav-wrapper .sub_nav_list .__item > a:hover {
	font-weight: 700;
}
.sub_nav-wrapper .sub_nav_list .__item > a:nth-of-type(n+2) {
	margin-left: 2em;
}
/* /Navigation */

/* Footer */
.footer .__nav_area {
	text-align: center;
}
.footer .__nav_area .__nav_list {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 3rem 0 3.4rem;
	font-size: 1.2rem;
	border-bottom: 1px solid #E7E7E7;
}
.footer .__nav_area .__nav_list .__item {
	display: inline-block;
	padding: 0 2em;
	color: #363636;
	border-left: 1px solid #363636;
}
.footer .__nav_area .__nav_list .__item:last-of-type {
	border-right: 1px solid #363636;
}
.footer .__nav_area .__nav_list .__item a {
	padding: 0.5em 0;
}
.footer .__lower_area {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 2.4rem 0 3rem;
}
.footer .__lower_area .__logo {
	display: block;
}
.footer .__lower_area .__logo img {
	width: 100%;
}
/* /Footer */

/* PC only */
@media screen and (min-width:769px) {
	.header_upper .__search_area .__input-wrapper button:hover {
		cursor: pointer;
	}
	.nav-sp {
		display: none;
	}
}

/* SP */
@media screen and (max-width:768px) {
	html {
		font-size: 1.3333vw;
	}
	/* Header */
	.header {
		padding-bottom: 2rem;
	}
	.header_upper {
		flex-direction: column;
	}
	.header_upper .__search_area {
		order: 2;
	}
	.header_upper .__search_area .__input-wrapper {
		max-width: 100%;
	}
	.header_upper .__search_area .__input-wrapper .__icon_search,
	.header_upper .__search_area .__input-wrapper input,
	.header_upper .__search_area .__input-wrapper button {
		font-size: 2.5rem;
	}
	.header_upper .__search_area .__input-wrapper input {
		border-radius: 0;
	}
	.header_upper .__logo_area {
		order: 1;
	}
	.header_upper .__logo_area a {
		padding: 2.5rem;
	}
	.header_upper .__btns_area {
		display: none;
	}
	.header_upper .__logo_area > a {
		width: 30rem;
	}
	/* /Header */

	/* Navigation */
	.nav-pc {
		display: none;
	}
	.nav-sp {
		position: absolute;
		top: 0;
		right: 0;
		flex-wrap: wrap;
		width: calc(100% - 14rem);
		background-color: #FFFFFF;
		transform: translateX(100%);
		transition: transform 500ms cubic-bezier(0.000, 0.600, 0.400, 1.000);
		transition-timing-function: cubic-bezier(0.000, 0.600, 0.400, 1.000);
		z-index: 11;
	}
	.nav-sp .drawer_btn {
		position: absolute;
		display: block;
		top: 1.5rem;
		left: -1.5rem;
		padding: 2rem;
		width: 6rem;
		height: 6rem;
		background-color: #E7E7E7;
		border-radius: 10em;
		transform: translateX(-100%);
	}
	.nav-sp .drawer_btn > span {
		position: absolute;
		width: 30%;
		height: 2px;
		background-color: #363636;
		right: 50%;
		transition: transform 150ms linear, top 150ms linear, bottom 150ms linear, width 150ms linear;
		transform-origin: right;
	}
	.nav-sp .drawer_btn > span:nth-of-type(1) {
		top: 35%;
		transform: translate(50%, 0%);
	}
	.nav-sp .drawer_btn > span:nth-of-type(2) {
		top: 50%;
		transform: translate(50%, -50%);
	}
	.nav-sp .drawer_btn > span:nth-of-type(3) {
		bottom: 35%;
		transform: translate(50%, 0%);
	}
	.nav-sp.opened {
		transform: translateX(0%);
	}
	.nav-sp.opened .drawer_btn > span:nth-of-type(1) {
		top: 48%;
		width: 15%;
		transform: translate(100%, 0%) skewY(45deg);
	}
	.nav-sp.opened .drawer_btn > span:nth-of-type(3) {
		bottom: 48%;
		width: 15%;
		transform: translate(100%, 0%) skewY(-45deg);
	}
	.nav-sp .nav_list {
		flex-direction: column;
	}
	/* Navigation */

	/* Footer */
	.footer {

	}
	.footer .__nav_area .__nav_list {
		flex-wrap: wrap;
	}
	.footer .__nav_area .__nav_list .__item {
		padding: 0;
		width: calc(100% / 3);
		font-size: 2.5rem;
		box-sizing: border-box;
	}
	.footer .__nav_area .__nav_list .__item:nth-of-type(3n) {
		border-right: 1px solid #363636;
	}
	.footer .__nav_area .__nav_list .__item:nth-of-type(n+4) {
		margin-top: 2em;
	}
	.footer .__lower_area .__logo {
		width: 26rem;
	}
	.footer .__lower_area p {
		font-size: 2.5rem;
	}
	/* /Footer */
}
/* /SP */



/* Temp: Hide Cookie Banner */
#cookie_agreement {
	display: none;
}