/* common.css
========================================*/
/* font */
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,600,700&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap);
/* module */
/* ==========================
	default style
============================= */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
	margin:0;
	padding:0;
}

h1,
h2,
h3,
h4,
h5,
h6,
em,
strong,
address,
small {
	font-size:100%;
	font-weight:normal;
	font-style:normal;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

th {
	font-weight:normal;
	text-align:left;
	vertical-align:top;
}

ul,
ol,
li {
	list-style-type:none;
}

img {
	border:0;
	vertical-align:bottom;
	max-width:100%;
	height: auto;
}

a img {
	vertical-align:middle;
}

strong {
	font-weight:bold;
}

button {
	background:none;
	border:0;
	padding:0;
}

/* font reset */
body {
	font-family:sans-serif;
	line-height:1.5;
}

select,
input,
button,
textarea {
	font-size:99%;
}

table {
	font-size:inherit;
	font:100%;
}

input,
button,
textarea,
select {
	font:inherit;
}

/* clearfix */
.clearfix:after {
	content:"";
	display:block;
	clear:both;
	overflow:hidden;
}

.clearfix {
	zoom:1;
}

/* HTML5 */
article,
aside,
dialog,
figure,
figcaption,
footer,
header,
hgroup,
nav,
section,
main,
picture {
	display:block;
	margin:0;
	padding:0;
}

/* ==========================
	base style
============================= */

body {
	color:#222;
	font-family:"Roboto", "Noto Sans JP";
	letter-spacing:0.03rem;
}

a {
	color:#222;
	display:inline-block;
	text-decoration:none;
}

* {
	box-sizing:border-box;
}

#main > .contents._pb0 {
	padding-bottom:0;
}

#main .message_list > li:before {
	background:url(/assets/img/icon_slash.svg) no-repeat;
	background-size:100% 100%;
	content:"";
	display:inline-block;
	margin-right:0.4rem;
}

/* ==========================
	header style
============================= */

#header .js-menu-button {
	background:url(/assets/img/module/header_btn_menu.svg) no-repeat center center;
	background-size:100%;
	height:8vw;
	width:8.53333vw;
}
#header .js-menu-button.is-open {
	background:url(/assets/img/module/header_btn_close.svg) no-repeat center center;
	background-size:6.4vw 6.4vw;
}

#header .header-nav > ul > li {
	font-weight:400;
}

/* ==========================
	footer style
============================= */
#footer {
	position:relative;
}
#footer > .-pagetop {
	position:absolute;
}
#footer .footer-wrap {
	background:#2e2f34;
}
#footer .footer-nav a {
	color:#fff;
}
#footer .footer-nav > ul > li .-second > a:before {
	border-left:1px solid #fff;
	content:"";
	display:inline-block;
	vertical-align:-0.1em;
	height:1.1em;
	width:1px;
	transform:rotate(-25deg);
}
#footer .footer-nav_block .-blank:after {
	background:url(/assets/img/icon_blank.svg) no-repeat;
	background-size:100%;
	content:"";
	display:inline-block;
}
#footer .footer-nav_sub > li > a {
	color:#999;
}
#footer .footer-copy {
	display:block;
	text-align:center;
}

/* ==========================
	sidenav style
============================= */
#main > .contents > .wrapper > .side-nav > dl {
	border:2px solid #d8e0e5;
}
#main > .contents > .wrapper > .side-nav > dl > dt {
	border-bottom:2px solid #d8e0e5;
	font-size:1.28571rem;
	font-weight:500;
	margin-bottom:10px;
	padding:22px 10px 10px;
	position:relative;
	text-align:center;
}
#main > .contents > .wrapper > .side-nav > dl > dt:before {
	background-color:#4eace6;
	content:"";
	position:absolute;
	left:calc(50% - 70px);
	bottom:-2px;
	height:2px;
	width:140px;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a {
	transition:all 0.2s ease;
	display:block;
	font-size:0.92857rem;
	padding:15px 18px;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a:hover {
	border-color:#4eace6;
	color:#4eace6;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a:after {
	display:block;
	font-family:"Font Awesome 5 Pro";
	font-weight:400;
	content:"\f054";
	float:right;
	color:#d8e0e5;
	transition:all 0.2s ease;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a:hover:after {
	color:#4eace6;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a.-blank:after {
	background:url(/assets/img/icon_blank.svg) no-repeat;
	background-size:100%;
	content:"";
	display:inline-block;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li.is-cur > a {
	color:#4eace6;
	pointer-events:none;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li.is-cur > a:after {
	display:none;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist {
	background-color:#f2f6f8;
	padding:12px 18px;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li {
	padding-left:15px;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li > a {
	transition:all 0.2s ease;
	display:block;
	font-size:0.92857rem;
	padding:8px 10px 8px 12px;
	position:relative;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li > a:hover {
	border-color:#4eace6;
	color:#4eace6;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li > a:before {
	background-color:#4eace6;
	border-radius:3px;
	content:"";
	display:block;
	margin-right:6px;
	position:absolute;
	top:calc(50% - 3px);
	left:0;
	height:6px;
	width:6px;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li > a:after {
	display:block;
	font-family:"Font Awesome 5 Pro";
	font-weight:400;
	content:"\f054";
	float:right;
	color:#d8e0e5;
	display:block;
	float:none;
	position:absolute;
	top:calc(50% - 0.7em);
	right:0;
	transition:all 0.2s ease;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li > a:hover:after {
	color:#4eace6;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li.is-cur > a {
	color:#4eace6;
	pointer-events:none;
}
#main > .contents > .wrapper > .side-nav > dl > dd > ul > li .-inrlist > li.is-cur > a:after {
	display:none;
}

/* ==========================
	project style
============================= */
.p-mainimg {
	position:relative;
}
.p-mainimg figure {
	overflow:hidden;
	width:100%;
}

_:-ms-fullscreen,
:root .p-mainimg > figure img {
	min-width:1257px;
}

.p-title {
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
}
.p-title > .-mainttl {
	line-height:1;
}
.p-title > .-english {
	color:#4eace6;
	font-weight:700;
	line-height:1;
}
.p-title > .-english:before {
	background:url(/assets/img/icon_slash.svg) no-repeat;
	background-size:100% 100%;
	content:"";
	display:inline-block;
	margin-right:0.4rem;
}

.p-section_ttl {
	border-bottom-color:#d8e0e5;
	border-bottom-style:solid;
}
.p-section_ttl:after {
	background-color:#4eace6;
	content:"";
	display:block;
	position:relative;
}

.p-section_subttl {
	color:#4eace6;
}

.p-section_txt {
	line-height:1.5;
	margin-top:1.5rem;
}
.p-section_txt > a {
	color:#4eace6;
	text-decoration:underline;
}
.p-section_txt > a.-blank:after {
	background:url(/assets/img/icon_blank.svg) no-repeat;
	background-size:100%;
	content:"";
	display:inline-block;
}
.p-section_txt > a.-download:after {
	background:url(/assets/img/icon_dl.svg) no-repeat;
	background-size:100%;
	content:"";
	display:inline-block;
}
.p-section_txt._note {
	padding-left:1em;
	text-indent:-1em;
}
.p-section_txt._note._noindent {
	padding-left:0;
	text-indent:0;
}
.p-section_txt._right {
	text-align:right;
}
.p-section_txt .-red {
	color:#e64545;
}

.p-section_img {
	margin:2rem auto;
	text-align:center;
}
.p-section_img figcaption {
	margin-top:0.7rem;
	text-align:center;
}

.main-contents > .p-section:first-of-type {
	margin-top:0;
}

.p-index > li > a {
	display:block;
	position:relative;
}
.p-index > li > a:after {
	border-color:transparent transparent #4eace6 transparent;
	border-style:solid;
	content:"";
	position:absolute;
	bottom:0;
	right:0;
}

.p-index_ttl {
	color:#4eace6;
}

.p-index_ttl a{
    color: inherit;
}

.p-index_ttl a:hover{
    opacity: .7;
}

.p-button {
	color:#666;
	display:block;
	text-align:center;
}
.p-button:after {
	display:block;
	font-family:"Font Awesome 5 Pro";
	font-weight:400;
	content:"\f054";
	float:right;
	margin-left:0.5em;
}

.p-dllist > li:nth-of-type(even) {
	background-color:#f2f6f8;
}

.p-dllist > li > dl > dd a {
	color:#4eace6;
	text-decoration:underline;
}

.p-dllist > li > dl > dd .p-button {
	color:#666;
	text-decoration:none;
}

.p-slashlist > li:before {
	background:url(/assets/img/icon_slash.svg) no-repeat;
	background-size:100% 100%;
	content:"";
	display:inline-block;
	margin-right:0.4rem;
}

.js-imgshow {
	position:relative;
	overflow:hidden;
}
.js-imgshow:before {
	background-color:#fff;
	content:"";
	position:absolute;
	top:0;
	right:0;
	height:100%;
	width:100%;
	z-index:100;
}
.js-imgshow:after {
	background-color:#4eace6;
	content:"";
	position:absolute;
	top:0;
	right:0;
	height:100%;
	width:100%;
	z-index:99;
}
.js-imgshow.is-show:before {
	right:-100%;
	transition:all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}
.js-imgshow.is-show:after {
	right:-100%;
	transition:all 0.8s cubic-bezier(0.77, 0, 0.175, 1) 0.2s;
}

@keyframes imgshow {
	0% {
		left:0;
		width:0;
	}
	50% {
		left:auto;
		right:0;
		width:100%;
	}
	100% {
		right:0;
		width:0;
	}
}

.p-imagelist {
	display:flex;
	flex-wrap:wrap;
}
.p-imagelist figure {
	text-align:center;
}
.p-imagelist figure figcaption {
	text-align:center;
}
.p-imagelist._type4 {
	justify-content:center;
}
.p-imagelist._type5 {
	justify-content:center;
}
.p-imagelist._type6 {
	justify-content:center;
}
.p-imagelist._type6 figure {
	width:100%;
}

.p-recruit-bnr {
	display:block;
	width:240px;
	margin:15px auto 0;
}
.p-recruit-bnr:hover {
	opacity:0.8;
}
@media screen and (max-width: 767px) {
	html {
		font-size:3.73333vw;
		font-weight:400;
		-webkit-text-size-adjust:100%;
	}
	#main > .contents {
		padding:10.66667vw 8vw 21.33333vw;
	}
	#main > .contents > .wrapper > .side-nav {
		display:none;
	}
	#main .message_list > li:before {
		height:3.46667vw;
		width:4vw;
	}
	#main .message_list > li {
		margin-top:5.33333vw;
		padding-left:5.33333vw;
		text-indent:-5.33333vw;
	}
	.pconly {
		display:none;
	}
	#header {
		padding:3.2vw 5.33333vw;
		position:relative;
	}
	#header > .-inr {
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-between;
	}
	#header > .-inr > .-logo {
		line-height:0;
	}
	#header > .-inr > .-logo img {
		height:11.73333vw;
		width:32vw;
	}
	#header .header-nav {
		background-color:#2e2f34;
		display:none;
		padding:8vw;
		position:absolute;
		top:100%;
		left:0;
		width:100%;
		z-index:1000;
	}
	#header .header-nav > ul > li {
		border-bottom:0.26667vw solid #424246;
		color:#fff;
	}
	#header .header-nav > ul > li a {
		color:#fff;
		display:block;
		font-size:4.26667vw;
		font-weight:700;
		margin:4vw 0;
		padding:4vw 2.66667vw;
	}
	#header .header-nav > ul > li a:before {
		border-left:1px solid #fff;
		content:"";
		display:inline-block;
		margin-right:6.4vw;
		vertical-align:-0.1em;
		height:1.1em;
		width:1px;
		transform:rotate(-25deg);
	}
	#header .header-nav > ul > li.-inquiry {
		border:0;
	}
	#header .header-nav > ul > li.-inquiry a {
		border-bottom:0.26667vw solid #666;
		color:#666;
		font-size:4vw;
		display:block;
		margin:5.33333vw 0;
		padding:4vw 0;
		text-align:center;
	}
	#header .header-nav > ul > li.-inquiry a:before {
		display:none;
	}
	#header .header-nav > ul > li.-inquiry a:after {
		display:block;
		font-family:"Font Awesome 5 Pro";
		font-weight:400;
		content:"\f054";
		float:right;
		margin-left:0.5em;
	}
	#footer > .-pagetop {
		top:-5.33333vw;
		right:2.66667vw;
	}
	#footer .footer-wrap {
		padding:11.2vw 8vw 8vw;
	}
	#footer .footer-wrap > .-logo {
		margin-bottom:4.8vw;
	}
	#footer .footer-wrap > .-logo img {
		height:11.2vw;
		width:32vw;
	}
	#footer .footer-nav > ul .-second {
		font-size:4vw;
		font-weight:700;
		padding:1.86667vw 0 1.86667vw 2.66667vw;
	}
	#footer .footer-nav > ul .-second > a:before {
		margin-right:6.66667vw;
	}
	#footer .footer-nav > ul .-second > a {
		display:block;
		padding:3.46667vw 0;
	}
	#footer .footer-nav_wrap {
		margin-bottom:4vw;
	}
	#footer .footer-nav_block > dl > .-second {
		border-bottom:0.26667vw solid #424246;
		padding:3.46667vw 0 3.46667vw 2.66667vw;
	}
	#footer .footer-nav_block > dl > dd > ul {
		border-bottom:0.26667vw solid #424246;
		padding:5.33333vw 0 5.33333vw 10.66667vw;
	}
	#footer .footer-nav_block > dl > dd > ul > li > a {
		font-size:3.73333vw;
		padding:3.2vw 0;
	}
	#footer .footer-nav_block .is-hide {
		display:none;
	}
	#footer .footer-nav_block .js-footnav-toggle > a:after {
		background:url(/assets/img/module/footer_icon_plus.png) no-repeat;
		background-size:100%;
		content:"";
		display:inline-block;
		float:right;
		height:5.33333vw;
		width:5.33333vw;
	}
	#footer .footer-nav_block .js-footnav-toggle.is-open > a:after {
		background:url(/assets/img/module/footer_icon_minus.png) no-repeat;
		background-size:100%;
	}
	#footer .footer-nav_block .-blank:after {
		margin-left:2.66667vw;
		height:2.66667vw;
		width:2.66667vw;
	}
	#footer .footer-nav_side {
		border-bottom:0.26667vw solid #424246;
		padding-bottom:4vw;
	}
	#footer .footer-nav_sub {
		margin-bottom:6.66667vw;
	}
	#footer .footer-nav_sub > li {
		margin-top:5.33333vw;
	}
	#footer .footer-nav_sub > li > .p-button {
		border-bottom:0.26667vw solid #999;
		padding:4.53333vw 0;
	}
	#footer .footer-nav_bottom > li > .-second {
		font-size:4vw !important;
		font-weight:500 !important;
	}
	#footer .footer-copy {
		font-size:3.2vw;
		padding:8vw 0;
	}
	#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a.-blank:after {
		margin-left:2.66667vw;
		height:2.66667vw;
		width:2.66667vw;
	}
	.p-mainimg figure {
		height:42.66667vw;
	}
	.p-mainimg figure img {
		margin-left:calc(50vw - 89.33333vw);
		width:178.66667vw;
		max-width:none;
	}
	.p-topicpath {
		display:none;
	}
	.p-title {
		margin-bottom:10.66667vw;
	}
	.p-title > .-mainttl {
		font-size:5.86667vw;
		font-weight:700;
	}
	.p-title > .-english:before {
		height:3.46667vw;
		width:4vw;
	}
	.p-title > .-english {
		font-size:4.53333vw;
		margin-left:4vw;
	}
	.p-title._longer {
		display:block;
	}
	.p-title._longer > .-english {
		margin-left:0;
		margin-top:2.66667vw;
	}
	.p-section {
		margin-top:10.66667vw;
	}
	.p-section._mt40 {
		margin-top:10.66667vw !important;
	}
	.p-section_ttl {
		border-bottom-width:0.53333vw;
		font-size:4.8vw;
		font-weight:700;
		margin-bottom:5.33333vw;
		padding-bottom:2.66667vw;
	}
	.p-section_ttl:after {
		bottom:-3.2vw;
		height:0.53333vw;
		width:37.33333vw;
	}
	.p-section_subttl {
		font-size:4.26667vw;
		font-weight:700;
		margin-top:8vw;
	}
	.p-section_txt > a.-blank:after {
		margin-left:2.66667vw;
		height:2.66667vw;
		width:2.66667vw;
	}
	.p-section_txt > a.-download:after {
		margin-left:2.66667vw;
		vertical-align:-0.53333vw;
		height:3.46667vw;
		width:3.2vw;
	}
	.p-section_txt._note {
		font-size:3.2vw;
	}
	.p-section_img img {
		width:100%;
	}
	.p-section_img._spwide {
		margin-left:-8vw;
		margin-right:-8vw;
	}
	.p-section_img figcaption {
		font-size:3.46667vw;
	}
	.p-index > li {
		margin-bottom:10.66667vw;
	}
	.p-index > li:last-of-type {
		margin-bottom:0;
	}
	.p-index > li > a:after {
		border-width:0 0 5.86667vw 5.86667vw;
	}
	.p-index > li picture {
		margin-bottom:5.33333vw;
	}
	.p-index > li picture img {
		width:100%;
	}
	.p-index_ttl {
		font-size:4.26667vw;
		font-weight:700;
		margin-bottom:4vw;
	}
	.p-button {
		border-bottom:0.26667vw solid #666;
		font-size:4vw;
		padding:2.66667vw 0;
	}
	.p-dllist {
		margin-top:4vw;
	}
	.p-dllist > li > dl > dt {
		font-weight:700;
		padding:5.33333vw 5.33333vw 1.33333vw;
	}
	.p-dllist > li > dl > dd {
		padding:1.33333vw 5.33333vw 5.33333vw;
	}
	.p-slashlist > li:before {
		height:3.46667vw;
		width:4vw;
	}
	.p-slashlist > li {
		margin-top:5.33333vw;
		padding-left:5.33333vw;
		text-indent:-5.33333vw;
	}
	.p-imagelist {
		margin:0 -1.33333vw;
	}
	.p-imagelist figure {
		margin:8vw 1.33333vw 0;
	}
	.p-imagelist figure figcaption {
		margin:2.13333vw 2.66667vw 0;
		font-size:3.2vw;
	}
	.p-imagelist._type1 figure {
		width:40.53333vw;
	}
	.p-imagelist._type2 figure {
		width:100%;
	}
	.p-imagelist._type3 figure {
		width:39.46667vw;
	}
	.p-imagelist._type4 figure {
		width:100%;
	}
	.p-imagelist._type5 figure {
		width:100%;
	}
}
@media print, screen and (min-width: 768px) {
	html {
		font-size:14px;
		font-weight:300;
	}
	body {
		min-width:950px;
	}
	#main > .contents {
		padding:50px 0 80px;
	}
	#main > .contents > .wrapper {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		width:950px;
	}
	#main > .contents > .wrapper > .main-contents {
		overflow-x:hidden;
		width:630px;
	}
	#main > .contents > .wrapper > .side-nav {
		width:240px;
	}
	#main .message_list > li:before {
		height:14px;
		width:16px;
	}
	#main .message_list > li {
		margin-top:20px;
	}
	#main .message_list._col {
		display:flex;
		flex-wrap:wrap;
	}
	#main .message_list._col > li {
		margin-right:60px;
	}
	.sponly {
		display:none;
	}
	.container {
		margin:0 auto;
		max-width:1150px;
		min-width:1030px;
	}
	#header {
		background:rgba(255, 255, 255, 0.9);
		position:absolute;
		width:100%;
		min-width:1030px;
		z-index:1000;
	}
	#header > .-inr {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		justify-content:space-between;
		padding:0 20px;
		height:70px;
		width:1030px;
	}
	#header > .-inr > .js-menu-button {
		display:none;
	}
	#header > .-inr > .-logo img {
		height:48px;
		width:140px;
	}
	#header .header-nav > ul {
		display:flex;
		flex-wrap:wrap;
	}
	#header .header-nav > ul > li {
		margin-left:22px;
	}
	#header .header-nav > ul > li:before {
		border-left:1px solid #222;
		content:"";
		display:inline-block;
		margin-right:22px;
		vertical-align:-0.1em;
		height:1.1em;
		width:1px;
		transform:rotate(-25deg);
	}
	#header .header-nav > ul > li a {
		transition:all 0.2s ease;
	}
	#header .header-nav > ul > li a:hover {
		border-color:#4eace6;
		color:#4eace6;
	}
	#footer > .-pagetop {
		top:-40px;
		right:20px;
		transition:all 0.2s ease;
	}
	#footer > .-pagetop:hover {
		transform:translateY(-5px);
	}
	#footer .footer-wrap {
		position:relative;
		padding:45px 0 30px;
	}
	#footer .footer-wrap .p-recruit-bnr {
		position:absolute;
		top:310px;
		right:250px;
	}
	#footer .footer-wrap > .-logo {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		margin-bottom:35px;
	}
	#footer .footer-wrap > .-logo img {
		height:auto;
		width:140px;
	}
	#footer .footer-nav {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	#footer .footer-nav a {
		transition:all 0.2s ease;
	}
	#footer .footer-nav a:hover {
		border-color:#4eace6;
		color:#4eace6;
	}
	#footer .footer-nav > ul > li .-second {
		font-size:0.92857rem;
		font-weight:500;
		margin-bottom:15px;
	}
	#footer .footer-nav > ul > li .-second > a:before {
		margin-right:22px;
	}
	#footer .footer-nav_wrap {
		display:flex;
		flex-wrap:wrap;
	}
	#footer .footer-nav_block {
		width:180px;
	}
	#footer .footer-nav_block.-ir {
		width:300px;
	}
	#footer .footer-nav_block.-ir > dl > dd > ul {
		display:flex;
		flex-wrap:wrap;
	}
	#footer .footer-nav_block.-ir > dl > dd > ul > li {
		width:135px;
	}
	#footer .footer-nav_block.-ir > dl > dd > ul > li:nth-of-type(even) {
		margin-left:5px;
	}
	#footer .footer-nav_block > dl > dd > ul > li {
		font-size:0.85714rem;
		margin:0 0 10px 25px;
	}
	#footer .footer-nav_block .-blank:after {
		margin-left:10px;
		height:10px;
		width:10px;
	}
	#footer .footer-nav_side {
		width:110px;
	}
	#footer .footer-nav_sub {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		margin-top:30px;
		margin-bottom:30px;
	}
	#footer .footer-nav_sub:before {
		border-bottom:1px solid #424246;
		content:"";
		display:block;
		width:540px;
	}
	#footer .footer-nav_sub > li > .p-button {
		border-bottom:1px solid #999;
		font-size:0.92857rem;
		width:160px;
	}
	#footer .footer-nav_sub > li > .p-button:hover {
		border-bottom-color:#4eace6;
	}
	#footer .footer-nav_bottom {
		display:flex;
		flex-wrap:wrap;
	}
	#footer .footer-nav_bottom > li {
		margin-right:30px;
	}
	#footer .footer-nav_bottom > li > .-second {
		font-size:0.85714rem !important;
	}
	#footer .footer-copy {
		font-size:0.85714rem;
		padding:30px 0;
	}
	#main > .contents > .wrapper > .side-nav > dl > dd > ul > li > a.-blank:after {
		margin-left:10px;
		height:10px;
		width:10px;
	}
	.p-mainimg figure {
		height:300px;
		min-width:1030px;
	}
	.p-mainimg figure img {
		min-height:300px;
		width:100%;
		object-fit:cover;
	}
	.p-topicpath {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		align-items:center;
		margin:-35px auto 30px;
	}
	.p-topicpath > li {
		color:#999;
		font-size:0.85714rem;
	}
	.p-topicpath > li:after {
		display:block;
		font-family:"Font Awesome 5 Pro";
		font-weight:400;
		content:"\f054";
		float:right;
		color:#ccc;
		display:inline-block;
		float:none;
		margin:0 10px;
	}
	.p-topicpath > li:last-of-type:after {
		content:"";
	}
	.p-topicpath > li.-home > a {
		background:url(/assets/img/icon_home.png) no-repeat;
		text-indent:-9999px;
		height:14px;
		width:18px;
	}
	.p-topicpath > li.-home > a:hover {
		background:url(/assets/img/icon_home_hover.png) no-repeat;
	}
	.p-topicpath > li a {
		color:#999;
	}
	.p-topicpath > li a:hover {
		color:#4eace6;
	}
	.p-title {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		margin-bottom:30px;
		padding:30px 0;
	}
	.p-title > .-mainttl {
		font-size:2rem;
		font-weight:600;
	}
	.p-title > .-english:before {
		height:14px;
		width:16px;
	}
	.p-title > .-english {
		font-size:1.28571rem;
		margin-left:20px;
	}
	.p-section {
		margin-top:60px;
	}
	.p-section._mt40 {
		margin-top:40px !important;
	}
	.p-section_inr {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		width:800px;
	}
	.p-section_ttl {
		border-bottom-width:2px;
		font-size:1.42857rem;
		font-weight:600;
		margin-bottom:25px;
		padding-bottom:12px;
	}
	.p-section_ttl:after {
		bottom:-14px;
		height:2px;
		width:140px;
	}
	.p-section_subttl {
		font-size:1.28571rem;
		font-weight:600;
		margin-top:30px;
	}
	.p-section_txt > a:hover {
		color:#aaa;
		text-decoration:none;
	}
	.p-section_txt > a.-blank:after {
		margin-left:10px;
		height:10px;
		width:10px;
	}
	.p-section_txt > a.-download:after {
		margin-left:10px;
		vertical-align:-2px;
		height:13px;
		width:12px;
	}
	.p-section_txt._note {
		font-size:0.85714rem;
	}
	.p-section_img {
		display:table;
		margin-left:auto;
		margin-right:auto;
	}
	.p-section_img figcaption {
		font-size:0.92857rem;
	}
	.p-index {
		margin-left:auto;
		margin-right:auto;
		width:950px;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.p-index > li {
		margin-bottom:40px;
	}
	.p-index > li > a:after {
		border-width:0 0 26px 26px;
	}
	.p-index > li picture {
		overflow:hidden;
		margin-bottom:20px;
	}
	.p-index > li picture img {
		transition:transform 0.5s ease;
	}
	.p-index > li picture:hover img {
		transform:scale(1.05, 1.05);
	}
	.p-index_ttl {
		font-size:1.28571rem;
		font-weight:600;
		margin-bottom:15px;
	}
	.p-index._col2 > li {
		width:455px;
	}
	.p-index._col3:after {
		content:"";
		display:block;
		width:290px;
	}
	.p-index._col3 > li {
		width:290px;
	}
	.p-index._narrow {
		width:100%;
	}
	.p-index._narrow > li {
		width:295px;
	}
	.p-button {
		transition:all 0.2s ease;
		border-bottom:1px solid #666;
		font-size:0.92857rem;
		line-height:2rem;
	}
	.p-button:hover {
		border-color:#4eace6;
		color:#4eace6;
	}
	.p-dllist > li > dl > dd a:hover {
		color:#aaa;
		text-decoration:none;
	}
	.p-dllist {
		margin-top:15px;
	}
	.p-dllist > li > dl {
		display:flex;
		flex-wrap:wrap;
	}
	.p-dllist > li > dl > dt {
		font-weight:600;
		padding:20px 25px;
		width:170px;
	}
	.p-dllist > li > dl > dd {
		padding:20px 20px 20px 0;
		width:460px;
	}
	.p-dllist._dtwide > li > dl > dt {
		width:250px;
	}
	.p-dllist._dtwide > li > dl > dd {
		width:380px;
	}
	.p-slashlist > li:before {
		height:14px;
		width:16px;
	}
	.p-slashlist > li {
		margin-top:20px;
		padding-left:22px;
		text-indent:-22px;
	}
	.p-imagelist {
		margin:0 -5px;
	}
	.p-imagelist figure {
		margin:30px 5px 0;
	}
	.p-imagelist figure figcaption {
		margin:8px 10px 0;
		font-size:0.85714rem;
	}
	.p-imagelist._type1 figure {
		width:203px;
	}
	.p-imagelist._type2 figure {
		width:310px;
	}
	.p-imagelist._type3 figure {
		width:310px;
	}
	.p-imagelist._type4 figure {
		width:440px;
	}
	.p-imagelist._type5 figure {
		width:510px;
	}
}