@import url("https://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700");
#pagetitle .subtitle, #totop a, main .contents h2 .en, main .contents .tag {
	font-family: 'PT Sans Narrow', sans-serif;
}

* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}
html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}

body {
	margin: 0px auto;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

.i_block {
	display: inline-block;
}

main .contents .about_policy:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .about_policy div {
	position: relative;
	display: block;
	float: left;
	width: calc((100% - 24px * 2) / 3);
	margin-bottom: 12px;
	padding: 0px 20px 20px;
	text-align: center;
	background: #ffffff;
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	backface-visibility: hidden;
}
.sp main .contents .about_policy div {
	width: 100%;
	float: none;
}
.sp main .contents .about_policy div + div {
	margin-left: 0;
}
main .contents .about_policy div + div {
	margin-left: 24px;
}
main .contents .about_policy div .title {
	display: block;
	padding: 15px 0;
	width: 100%;
	margin: 0 auto 20px;
	color: #ffffff;
	font-weight: bold;
	background: #000000;
}
main .contents .about_policy div .text {
	display: block;
	text-align: left;
	font-weight: bold;
	color: #000000;
	line-height: 1.7;
}
main .contents .about_policy div .image {
	display: block;
	max-width: 264px;
	margin: 20px auto 0;
}

.ico_pdf {
	padding: 3px 0;
	padding-right: 0px;
	padding-right: 25px;
	background: url(../images/ico_pdf.png) right 0.3em no-repeat;
	background-size: auto auto;
	background-size: 18px 21px;
}

header {
	display: block;
}
header #logo {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 10px 32px;
	padding: 0 32px;
}
.sp header #logo {
	padding: 5px 16px;
}
header #logo:after {
	content: "";
	display: block;
	clear: both;
}
.tablet header #logo {
	padding: 5px 8px;
}
header #logo > * {
	float: left;
}
header #logo > p.tx {
	font-size: 12px;
	line-height: 1.5;
	padding: 15px 0 0 25px;
	width: 300px;
}
.pc header #logo > p.tx {
	font-size: 11px;
}
.tablet header #logo > p.tx {
	width: auto;
}
.tablet header #logo > p.tx br {
	display: none;
	padding-top: 25px;
}
.sp header #logo > p.tx {
	display: none;
}
header #logo > .nipponsteel {
	float: right;
	padding-top: 17px;
}
.tablet header #logo > .nipponsteel {
	display: none;
}
header #logo > .kenchikulogo {
	display: none;
}
.sp header #logo > .kenchikulogo {
	display: block;
}
.sp header #logo > .kenchikulogo a {
	margin: 10px 0 0 12px;
	padding: 5px 0;
	display: inline-block;
	width: 90px;
	text-align: center;
	color: #ffffff;
	font-weight: bold;
	background: #ff0000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	font-size: 14px;
}
.sp header #logo > .kenchikulogo a:hover {
	opacity: 0.7;
}
.tablet header #logo img {
	width: auto;
	height: 46px;
}
header h1, header p {
	margin: 0px;
	padding: 0px;
	line-height: 0;
	width: 230px;
}
.tablet header h1, .tablet header p {
	width: 150px;
}
.sp header h1, .sp header p {
	width: 150px;
}
header #spmenuswitch {
	display: none;
}
.tablet header #spmenuswitch {
	display: block;
}
header #spmenuswitch a {
	position: absolute;
	display: block;
	width: 58px;
	height: 58px;
	top: 0px;
	right: 0px;
	text-align: left;
	text-indent: -10000px;
}
header #spmenuswitch a > span {
	position: absolute;
	display: block;
	top: 22.5px;
	left: 14px;
	width: 30px;
	height: 5px;
	background: #143c8c;
	-webkit-transition: 0.3s 0.3s;
	transition: 0.3s 0.3s;
}
header #spmenuswitch a > span:before {
	content: "";
	position: absolute;
	display: block;
	top: -12px;
	left: 0px;
	width: 30px;
	height: 5px;
	background: #143c8c;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
header #spmenuswitch a > span:after {
	content: "";
	position: absolute;
	display: block;
	top: 12px;
	left: 0px;
	width: 30px;
	height: 5px;
	background: #143c8c;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
header #spmenuswitch a:before {
	content: "";
	position: absolute;
	display: block;
	top: 25px;
	left: 14px;
	width: 30px;
	height: 5px;
	background: #143c8c;
	-webkit-transform: rotate(45deg) scale(0);
	transform: rotate(45deg) scale(0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
header #spmenuswitch a:after {
	content: "";
	position: absolute;
	display: block;
	top: 25px;
	left: 14px;
	width: 30px;
	height: 5px;
	background: #143c8c;
	-webkit-transform: rotate(135deg) scale(0);
	transform: rotate(135deg) scale(0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
header #spmenuswitch a.open > span {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}
header #spmenuswitch a.open > span:before {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	opacity: 0;
}
header #spmenuswitch a.open > span:after {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	opacity: 0;
}
header #spmenuswitch a.open:before {
	transform: rotate(45deg) scale(1);
	-webkit-transition: 0.4s 0.3s;
	transition: 0.4s 0.3s;
}
header #spmenuswitch a.open:after {
	transform: rotate(135deg) scale(1);
	-webkit-transition: 0.4s 0.3s;
	transition: 0.4s 0.3s;
}

#globalnavi {
	position: absolute;
	width: 100%;
	max-width: 1024px;
	right: 50%;
	padding: 0px 32px;
	background: #143c8c;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	z-index: 500;
}
.tablet #globalnavi {
	display: none;
}
#globalnavi.fix {
	position: fixed;
	top: 0px;
}
#globalnavi > div {
	position: relative;
	width: 100%;
	margin: auto;
	padding-left: calc(20.8333333% + 25px);
	padding-right: 40px;
}
#globalnavi .title {
	position: absolute;
	top: 0px;
	left: 0px;
	display: table;
	width: 20.83333%;
	height: 90px;
	background: #143c8c;
}
#globalnavi .title > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
#globalnavi .title a, #globalnavi .title span {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	color: #ffffff;
	font-weight: bold;
	background: #ff0000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#globalnavi .title a:hover, #globalnavi .title span:hover {
	opacity: 0.7;
}
#globalnavi .menu {
	display: table;
	width: auto;
	height: 80px;
}
#globalnavi .menu > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
#globalnavi .menu > li {
	padding-right: 25px;
}
#globalnavi .menu a {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #ffffff;
	font-weight: bold;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#globalnavi .menu a:hover {
	opacity: 0.7;
}
#globalnavi .search {
	position: absolute;
	right: 0px;
	top: 20px;
	width: 40px;
	height: 40px;
	background: url(../images/search.png) no-repeat center center #ffffff;
}

#spnavi {
	display: none;
	position: absolute;
	top: 50px;
	width: 100%;
	background: #143c8c;
	z-index: 1000;
	border-bottom: 1px solid #fff;
}
#spnavi li a {
	display: block;
	padding: 15px 10px;
	border-top: 1px solid #fff;
	color: #fff;
	font-size: 16px !important;
}
#spnavi li.search {
	display: block;
	padding: 15px 10px;
	border-top: 1px solid #fff;
	color: #fff;
	text-align: center;
}
#spnavi li.search p {
	margin: 0 !important;
}
#spnavi li.search p input[type="text"] {
	padding: 5px;
	margin-right: 10px;
}
#spnavi li.search p#srchLogo {
	display: none;
}
#spnavi li.search img {
	display: none;
}

#breadcrumbs {
	background: url(../images/border.gif);
}
.tablet #breadcrumbs {
	display: none;
}
#breadcrumbs ul {
	display: block;
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 100px 32px 10px;
	font-size: 0;
	line-height: 0;
}
.sp #breadcrumbs ul {
	padding: 50px 16px 5px;
}
#breadcrumbs li {
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #828282;
}
#breadcrumbs li + li:before {
	position: relative;
	content: "";
	display: inline-block;
	margin: 0px 4px;
	width: 5px;
	height: 5px;
	top: -1px;
	vertical-align: middle;
	border-top: 1px solid #555555;
	border-right: 1px solid #555555;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#breadcrumbs a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#breadcrumbs a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

#logo_change {
	display: none;
}
.sp #logo_change {
	display: block;
	background: #eee;
	padding: 10px;
	font-size: 11px;
	line-height: 1.5;
}

#pagetitle {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 50px 32px 20px;
}
.sp #pagetitle {
	padding: 25px 16px 10px;
}
.tablet #pagetitle {
	padding-top: 0;
}
#pagetitle .category {
	width: 80%;
	margin-left: -32px;
	padding: 10px 20px 10px 32px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	color: #ffffff;
	font-weight: bold;
	background: #143c8c;
}
.sp #pagetitle .category {
	width: 100%;
}
#pagetitle .category h1 {
	margin: 0px;
	padding: 0px;
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
}
#pagetitle .image {
	position: relative;
	margin-right: -32px;
	padding-left: 18px;
}
#pagetitle .image img {
	display: block;
	width: 100%;
	height: auto;
}
#pagetitle .image:before {
	content: "";
	position: absolute;
	display: block;
	width: 50px;
	height: calc(100% - 30px);
	left: -32px;
	background: #143c8c;
}
#pagetitle .maintitle {
	position: relative;
	margin-right: -32px;
	margin-left: 18px;
	padding: 12px 15px;
	border: 3px solid #143c8c;
}
.sp #pagetitle .maintitle {
	margin-right: 0;
	padding: 6px 8px;
}
#pagetitle .maintitle h1 {
	margin: 0px;
	padding: 0px;
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
}
.sp #pagetitle .maintitle h1 {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
#pagetitle .maintitle:before {
	content: "";
	position: absolute;
	display: block;
	width: 50px;
	height: calc(100% - 27px);
	top: -3px;
	left: -53px;
	background: #143c8c;
}
#pagetitle .subtitle {
	position: absolute;
	right: 32px;
	bottom: -5px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 66px;
	line-height: 4.125rem;
	font-weight: bold;
}
.sp #pagetitle .subtitle {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}

main {
	display: block;
	overflow: hidden;
}

#footercontact {
	padding: 15px 32px;
	background: #333333;
}
#footercontact ul {
	margin: auto;
	text-align: center;
}
#footercontact ul > li {
	display: inline-block;
	padding: 0px 10px;
}
.sp #footercontact ul > li {
	display: block;
}
#footercontact ul > li + li {
	margin-left: 80px;
}
.sp #footercontact ul > li + li {
	margin-left: 0;
	margin-top: 20px;
}
#footercontact ul a {
	display: inline-block;
	padding-top: 50px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-weight: bold;
	color: #ffffff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#footercontact ul a:hover {
	opacity: 0.7;
}
#footercontact ul .contact a {
	background: url(../images/contact.png) no-repeat center 11px;
}
#footercontact ul .mailmagazine a {
	background: url(../images/mailmagazine.png) no-repeat center 11px;
}

#totop > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 0px 32px;
	text-align: right;
}
.sp #totop > div {
	padding: 0px 16px;
}
#totop a {
	position: relative;
	display: inline-block;
	padding-right: 65px;
	height: 45px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 45px;
	font-weight: bold;
	color: #000000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#totop a:hover {
	opacity: 0.7;
}
#totop a:before {
	content: "";
	display: block;
	position: absolute;
	top: 14px;
	right: 17px;
	border: 6px solid transparent;
	border-top: 0px;
	border-bottom: 6px solid #ffffff;
	z-index: 5;
}
#totop a:after {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 12px;
	top: 20px;
	right: 20px;
	background: #ffffff;
	z-index: 5;
}
#totop a span:after {
	content: "";
	display: block;
	position: absolute;
	width: 45px;
	height: 45px;
	right: 0px;
	top: 0px;
	background: #143c8c;
}

#footersitemap {
	background: #e4e4e4;
}
.sp #footersitemap {
	display: none;
}
#footersitemap > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 35px 32px;
}
.sp #footersitemap > div {
	padding: 17.5px 16px;
}
#footersitemap > div > ul {
	text-align: center;
}
#footersitemap > div > ul > li {
	display: inline-block;
}
#footersitemap > div > ul > li + li {
	margin-left: 90px;
}
.pc #footersitemap > div > ul > li + li {
	margin-left: 7vw;
}
#footersitemap dt {
	font-weight: bold;
}
#footersitemap dd {
	margin-left: 16px;
}
#footersitemap dd li {
	display: block;
	margin-top: 12px;
}
#footersitemap a {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #000000;
	position: relative;
	display: inline-block;
}
#footersitemap a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#footersitemap a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

footer {
	display: block;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 0px 32px 20px;
	overflow: hidden;
}
.sp footer > div {
	padding: 0px 16px 10px;
}
footer ul {
	float: left;
	margin-top: 10px;
	font-size: 0px;
	line-height: 0px;
}
footer ul li {
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
}
footer ul li a {
	position: relative;
	display: inline-block;
	color: #000000;
}
footer ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
footer ul li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
footer ul li + li {
	margin-left: 25px;
}
footer ul li + li:before {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 0.875rem;
	left: -12px;
	background: #000000;
}
footer p {
	float: right;
	margin-top: 10px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 13.2px;
	line-height: 0.825rem;
	color: #808080;
}

#footer_alert {
	display: none;
	position: fixed;
	width: 100%;
	bottom: 0;
	background: #eee;
	z-index: 10000;
}
#footer_alert .inner {
	display: table;
	width: 100%;
	padding: 60px 10px 60px 30px;
	font-size: 18px;
}
.sp #footer_alert .inner {
	display: block;
	width: 100%;
	padding: 60px 10px 20px 10px;
	font-size: 14px;
}
#footer_alert .inner .tx {
	display: table-cell;
	vertical-align: middle;
	width: calc(100% - 250px);
	line-height: 1.5;
}
.sp #footer_alert .inner .tx {
	display: block;
	width: 100%;
}
#footer_alert .inner .btn {
	display: table-cell;
	vertical-align: middle;
	width: 250px;
	text-align: center;
}
.sp #footer_alert .inner .btn {
	display: block;
	width: 100%;
	text-align: center;
	margin-top: 15px;
}
#footer_alert .inner .btn span {
	display: inline-block;
	padding: 10px;
	cursor: pointer;
	color: #fff;
	background: #143c8c;
	transition: 0.5s;
}
#footer_alert .inner .btn span:hover {
	opacity: 0.7;
}
#footer_alert .close {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	transition: 0.5s;
}
#footer_alert .close:hover {
	opacity: 0.7;
}
#footer_alert .close:before {
	display: block;
	position: absolute;
	content: "";
	top: 1px;
	left: 9px;
	padding: 0;
	width: 2px;
	height: 20px;
	background: #000;
	transform: rotate(45deg);
}
#footer_alert .close:after {
	display: block;
	content: "";
	position: absolute;
	top: 10px;
	left: 0px;
	width: 20px;
	height: 2px;
	margin-top: 0x;
	background: #000;
	transform: rotate(45deg);
}

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .button, main .contents * + .table, main .contents * + .format, main .contents * + .googlemap, main .contents * + .policylist, main .contents * + .projectfilter, main .contents * + .projectmenu {
	margin-top: 32px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .button, main .contents .sp * + .button, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .policylist, main .contents .sp * + .policylist, .sp main .contents * + .projectfilter, main .contents .sp * + .projectfilter, .sp main .contents * + .projectmenu, main .contents .sp * + .projectmenu {
	margin-top: 24px;
}

main .contents * + .column, main .contents * + .layout, main .contents * + .menu, main .contents * + .box, main .contents * + .tag, main .contents * + .categorynavi, main .contents * + .photogallery, * + .slideshow {
	margin-top: 48px;
}

main .contents .lead * + p, main .contents .text * + p, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .entry_area * + p {
	margin-top: 16px;
}

main .contents {
	position: relative;
	padding: 0px;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 40px 32px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 16px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h2 {
	clear: both;
	display: block;
	margin: 0px 0px 32px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: bold;
}
main .contents h2 .en {
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
}
main .contents h2.center {
	text-align: center;
}
main .contents * + h2 {
	margin-top: 72px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 16px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #143c8c;
}
main .contents * + h3 {
	margin-top: 32px;
}
main .contents h4 {
	clear: both;
	display: block;
	margin: 0px 0px 16px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents * + h4 {
	margin-top: 32px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	font-weight: bold;
}
.sp main .contents .lead p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .lead p.case {
	font-size: 20.8px;
	font-size: 1.3rem;
	line-height: 35.36px;
	line-height: 2.21rem;
}
.sp main .contents .lead p.case {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .borderbox {
	padding: 15px;
	border: 1px solid #143c8c;
}
main .contents .borderbox.m_h2 {
	margin-top: 72px;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .text:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text p .required {
	color: #fb3b3b;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p.error_mes {
	color: #fb3b3b;
}
main .contents .text p a:hover {
	text-decoration: underline;
}
main .contents .text p.center {
	text-align: center;
}
main .contents .text p.right {
	text-align: right;
}
main .contents .text p strong.tel {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
main .contents .text ul {
	clear: both;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text ul > li {
	margin-left: 14px;
	text-indent: -14px;
}
main .contents .text ul > li:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	background: #143c8c;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ul > li a {
	position: relative;
	display: inline-block;
}
main .contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #143c8c;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li a {
	position: relative;
	display: inline-block;
}
main .contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #143c8c;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ol > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatright {
	margin-left: 16px;
	margin-bottom: 8px;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 16px;
	margin-bottom: 8px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .image.space {
	padding: 30px 0px;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .imagebox {
	display: table;
	width: 100%;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 32px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 32px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 32px;
}
main .contents .imagebox > .image img {
	width: 100%;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .column {
	margin-bottom: -48px;
	margin-left: -48px;
	margin-right: -4px;
}
.sp main .contents .column {
	margin-left: -24px;
	margin-bottom: -24px;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .column > * {
	float: left;
	margin-bottom: 48px;
	margin-left: 48px;
}
.sp main .contents .column > * {
	margin-left: 24px;
	margin-bottom: 24px;
}
main .contents .column.col1 > * {
	width: calc((100% - 48px * 1 - 4px) / 1);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 48px * 2 - 4px) / 2);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 48px * 3 - 4px) / 3);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 48px * 4 - 4px) / 4);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 48px * 5 - 4px) / 5);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5) !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 64px);
	margin-left: -32px;
	margin-right: -32px;
}
main .contents .layout > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .layout:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .layout {
	width: calc(100% + 32px);
	margin-left: -16px;
	margin-right: -16px;
}
main .contents .layout > * {
	padding: 0px 32px;
}
.sp main .contents .layout > * {
	padding: 0px 16px;
}
main .contents .layout > *.left {
	text-align: left;
}
main .contents .layout > *.right {
	text-align: right;
}
main .contents .layout > *.top {
	vertical-align: top;
}
main .contents .layout > *.bottom {
	vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
	display: block;
	width: auto;
	margin-left: 0px;
	margin-bottom: -24px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 24px;
	padding: 0px;
	width: auto !important;
}
.sp main .contents .button {
	text-align: center;
}
main .contents .button > div {
	display: inline-block;
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #143c8c;
}
main .contents .button > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #1746a2;
	opacity: 1;
}
main .contents .button > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #0e295f;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
.sp main .contents .button > div {
	display: block;
}
main .contents .button > div + div {
	margin-left: 20px;
}
.sp main .contents .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
main .contents .button a {
	position: relative;
	display: inline-block;
	min-width: 190px;
	padding: 12px 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #fff;
	background: #143c8c;
	text-align: left;
	font-weight: bold;
	border: 0px;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .button a:hover {
	opacity: 0.7;
}
main .contents .button a:before {
	content: "";
	position: absolute;
	display: block;
	right: 5px;
	bottom: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .button a.center {
	text-align: center;
}
.sp main .contents .button a {
	width: 100%;
}
main .contents .button.nega > div {
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button.nega > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #ffffff;
}
main .contents .button.nega > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: white;
	opacity: 1;
}
main .contents .button.nega > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #e6e6e6;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
main .contents .button.nega a {
	color: #143c8c;
	border: 1px solid #143c8c;
}
main .contents .button.nega a:before {
	border-right-color: #143c8c;
	border-bottom-color: #143c8c;
}
main .contents .button.center {
	text-align: center;
}
main .contents .button.right {
	text-align: right;
}
.sp main .contents .button.right {
	text-align: center;
}
main .contents .table {
	overflow-x: auto;
}
main .contents .table table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .table table tbody {
	border-top: 1px solid #b3b3b3;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .table table th, main .contents .table .format table td, main .contents .format .table table td {
	padding: 20px 12px;
	vertical-align: middle;
	text-align: center;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #ffffff;
	background: #143c8c;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
	white-space: nowrap;
}
.sp main .contents .table table th span, .sp main .contents .table .format table td span, .sp main .contents .format .table table td span {
	display: block;
}
.sp main .contents .table table th * + span, .sp main .contents .table .format table td * + span, .sp main .contents .format .table table td * + span {
	margin-top: 4px;
}
main .contents .table table tbody th, main .contents .table .format table tbody td, main .contents .format .table table tbody td {
	vertical-align: top;
	text-align: left;
	color: #000000;
	background: #ff3333;
}
main .contents .table table td {
	padding: 20px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #000000;
	background: #ffffff;
}
main .contents .table table tbody tr:nth-child(even) th, main .contents .table .format table tbody tr:nth-child(even) td, main .contents .format .table table tbody tr:nth-child(even) td {
	background: #ff0000;
}
main .contents .table table tbody tr:nth-child(even) td {
	background: #d9d9d9;
}
main .contents .table table .left {
	text-align: left;
}
main .contents .table table .right {
	text-align: right;
}
main .contents .table table .center {
	text-align: center;
}
main .contents .table table .top {
	vertical-align: top;
}
main .contents .table table .bottom {
	vertical-align: bottom;
}
main .contents .table table .middle {
	vertical-align: middle;
}
main .contents .table > p {
	margin-top: 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .format table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .format table th, main .contents .format table td {
	padding: 16px 8px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
	color: #000000;
	border-top: 1px solid #b3b3b3;
}
main .contents .format table td {
	font-weight: normal;
}
.sp main .contents .format table {
	display: block;
}
.sp main .contents .format table tbody {
	display: block;
}
.sp main .contents .format table tr {
	display: block;
}
.sp main .contents .format table th, .sp main .contents .format table td {
	display: block;
}
.sp main .contents .format table td {
	display: block;
	padding-top: 0px;
	border-top: 0px;
}
main .contents .menu {
	margin-bottom: -20px;
	margin-left: -20px;
	margin-right: -4px;
}
main .contents .menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .menu {
	margin-bottom: -10px;
	margin-left: -10px;
}
main .contents .menu > * {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .menu > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .menu.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
.sp main .contents .menu.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .menu.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .menu.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
.sp main .contents .menu.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .menu.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .menu.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
.sp main .contents .menu.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .menu.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .menu.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
.sp main .contents .menu.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .menu.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .menu.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
.sp main .contents .menu.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .menu.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .menu > a {
	position: relative;
	display: block;
	padding-bottom: calc(1.625rem + 26px);
	background: #ffffff;
	overflow: hidden;
}
.sp main .contents .menu > a {
	padding-bottom: calc(1.42188rem + 26px);
}
main .contents .menu > a:hover img {
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
main .contents .menu > a div {
	overflow: hidden;
}
main .contents .menu > a img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
main .contents .menu > a strong {
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .menu > a strong span {
	display: inline-block;
}
.sp main .contents .menu > a strong {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .menu > a > span {
	position: absolute;
	display: block;
	width: 100%;
	bottom: 0px;
	padding: 12px 12px 16px;
	color: #ffffff;
	background: #143c8c;
}
main .contents .menu > a > span p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .menu > a > span p.more {
	font-weight: bold;
}
main .contents .menu > a > span p + p {
	margin-top: 8px;
}
main .contents .menu > a > span.slide {
	bottom: 50px;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
main .contents .menu > a > span.slide strong {
	padding-bottom: 16px;
}
html:not(.sp) main .contents .menu > a:hover > span.slide {
	-webkit-transform: translateY(0) !important;
	transform: translateY(0) !important;
}
main .contents .menu > a:after {
	content: "";
	position: absolute;
	display: block;
	bottom: 5px;
	right: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .menu.simple a {
	padding: 19px 19px 0px;
	border: 1px solid #d9d9d9;
}
.sp main .contents .menu.simple a {
	padding: 9px 9px 0px;
}
main .contents .menu.simple a > span {
	position: static;
	display: table;
	width: 100%;
	padding-top: 0px;
	padding-bottom: 19px;
	color: #000000;
	background: transparent;
}
main .contents .menu.simple a > span > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.sp main .contents .menu.simple a > span {
	padding-bottom: 9px;
}
main .contents .menu.simple a > div + span {
	padding-top: 12px;
}
main .contents .menu.simple a:after {
	border-right-color: #143c8c;
	border-bottom-color: #143c8c;
}
main .contents .box {
	padding: 32px;
	border: 1px solid #ff0000;
}
.sp main .contents .box {
	padding: 16px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube {
	max-width: 640px;
	margin: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}
main .contents .policylist {
	margin: 10px -5px 0px -20px;
}
main .contents .policylist:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .policylist {
	margin: 10px 0 0 0;
}
main .contents .policylist > div {
	position: relative;
	float: left;
	width: calc((100% - 80px - 5px) / 4);
	margin-left: 20px;
	margin-top: 20px;
	overflow: hidden;
}
.sp main .contents .policylist > div {
	float: none;
	width: 100%;
	margin-left: 0;
}
.sp main .contents .policylist > div .image img {
	max-width: none;
	width: 100%;
}
main .contents .policylist > div:hover .cover {
	bottom: 0px !important;
}
main .contents .policylist .cover {
	position: absolute;
	width: 100%;
	bottom: -280px;
	padding: 10px;
	background: rgba(255, 255, 255, 0.8);
	-webkit-transition: bottom 600ms;
	transition: bottom 600ms;
}
main .contents .policylist .cover .title {
	display: table;
	width: 100%;
	height: 60px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	letter-spacing: -1px;
}
main .contents .policylist .cover .title > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
main .contents .policylist .cover .title strong {
	padding: 0px 0px 10px;
}
main .contents .policylist .cover .text {
	margin-top: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	letter-spacing: -1px;
	font-weight: bold;
	color: #143c8c;
	overflow: auto;
}
main .contents .tag {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 10px;
	padding-right: 20px;
	min-width: 140px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	color: #ffffff;
	background: #828282;
}
main .contents .tag:before {
	content: "";
	position: absolute;
	display: block;
	right: -1px;
	top: -1px;
	border: 7px solid transparent;
	border-top-color: #ffffff;
	border-right-color: #ffffff;
}
main .contents .tag + * {
	margin-top: 0px !important;
}
main .contents .projectlist {
	position: relative;
	padding: 0px 55px;
}
main .contents .projectlist:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 220px;
	right: 50%;
	bottom: -40px;
	background: #e4e4e4;
	transform: translateX(50%);
}
main .contents .projectlist li {
	float: left;
	padding: 0px 6px;
}
main .contents .projectlist li a {
	display: block;
	overflow: hidden;
}
main .contents .projectlist li a:hover .image img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
main .contents .projectlist li .image {
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}
main .contents .projectlist li .image img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 800ms;
	transition: 800ms;
}
main .contents .projectlist li .title {
	display: block;
	margin-bottom: 10px;
	height: 2.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	letter-spacing: -1px;
	color: #000000;
	font-weight: bold;
	overflow: hidden;
}
main .contents .projectlist li .more {
	display: inline-block;
	position: relative;
	padding-right: 36px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #143c8c;
	font-weight: bold;
}
main .contents .projectlist li .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	right: 0px;
	border: 3px solid #143c8c;
	border-top-color: transparent;
	border-right-color: transparent;
}
main .contents .projectlist li .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	right: 5px;
	width: 21px;
	height: 3px;
	background: #143c8c;
}
main .contents .projectlist .prev.slick-arrow span {
	position: absolute;
	left: -50px;
	top: 0px;
	display: block;
	width: 50px;
	height: 65px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .projectlist .prev.slick-arrow span:hover {
	opacity: 0.7;
}
main .contents .projectlist .prev.slick-arrow span:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	left: 17px;
	border: 6px solid transparent;
	border-left: 0px;
	border-right: 5px solid #ffffff;
}
main .contents .projectlist .prev.slick-arrow span:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}
main .contents .projectlist .next.slick-arrow span {
	position: absolute;
	right: -54px;
	top: 0px;
	display: block;
	width: 50px;
	height: 65px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .projectlist .next.slick-arrow span:hover {
	opacity: 0.7;
}
main .contents .projectlist .next.slick-arrow span:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	right: 17px;
	border: 6px solid transparent;
	border-right: 0px;
	border-left: 5px solid #ffffff;
}
main .contents .projectlist .next.slick-arrow span:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	right: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}
main .contents .projectlist .slick-disabled span {
	background: #666 !important;
	cursor: default !important;
}
main .contents .projectlist .slick-disabled span:hover {
	opacity: 1 !important;
}
main .contents .relatelist {
	margin-top: 50px;
}
main .contents .relatelist ul:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .relatelist ul li {
	float: left;
	width: 24%;
}
.sp main .contents .relatelist ul li {
	width: 49%;
}
.sp main .contents .relatelist ul li:nth-of-type(2n+1) {
	margin-right: 2%;
	clear: both;
}
.sp main .contents .relatelist ul li:nth-of-type(3) {
	margin-top: 20px;
}
main .contents .relatelist ul li + li {
	margin-left: 1.1%;
}
.sp main .contents .relatelist ul li + li {
	margin-left: 0;
}
main .contents .relatelist ul li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	display: block;
}
main .contents .relatelist ul li a:hover {
	opacity: 0.7;
}
main .contents .relatelist ul li a span {
	display: block;
	text-align: center;
}
main .contents .relatelist ul li a span + span {
	margin-top: 5px;
}
main .contents .relatelist ul li a span img {
	width: 100%;
	height: auto;
}
main .contents .categorynavi {
	position: relative;
}
main .contents .categorynavi li {
	display: table;
	width: 32%;
	max-width: 255px;
	height: 65px;
}
main .contents .categorynavi li > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .categorynavi li a {
	padding: 5px 10px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
	color: #ffffff;
	font-weight: bold;
	background: #818181;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .categorynavi li a:hover {
	opacity: 0.7;
}
main .contents .categorynavi .prev {
	position: absolute;
	top: 0px;
	left: 0px;
}
main .contents .categorynavi .prev a {
	padding-left: 50px;
	text-align: left;
	background: #143c8c;
}
main .contents .categorynavi .prev a:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	left: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-left-color: transparent;
}
main .contents .categorynavi .prev a:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	left: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
main .contents .categorynavi .next {
	position: absolute;
	top: 0px;
	right: 0px;
}
main .contents .categorynavi .next a {
	padding-right: 50px;
	text-align: right;
	background: #143c8c;
}
main .contents .categorynavi .next a:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
main .contents .categorynavi .next a:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
main .contents .categorynavi .current {
	margin: auto;
}
main .contents .photogallery {
	position: relative;
	padding: 10px 0px;
}
main .contents .photogallery:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 100%;
	right: 50%;
	top: 0px;
	background: url(../images/border.gif);
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
main .contents .photogallery ul {
	position: relative;
	margin: -10px -5px 0px -10px;
	overflow: hidden;
}
main .contents .photogallery ul li {
	float: left;
	width: calc((100% - 55px) / 5);
	margin-left: 10px;
	margin-top: 10px;
}
main .contents .photogallery a {
	display: block;
	overflow: hidden;
}
main .contents .photogallery a img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 400ms;
	transition: 400ms;
}
main .contents .photogallery a:hover img {
	transform: scale(1.1);
}
main .contents .projectfilter:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .projectfilter .filter {
	position: relative;
	padding: 10px 10px 0px;
	background: #e4e4e4;
}
main .contents .projectfilter .filter:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 20px;
	left: 0px;
	bottom: 0px;
	background: #ffffff;
	z-index: 0;
}
main .contents .projectfilter .filter p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
}
main .contents .projectfilter .filter ul {
	position: relative;
	display: table;
	width: calc(100% - 40px);
	table-layout: fixed;
	margin: 10px auto 0px;
	z-index: 1;
}
main .contents .projectfilter .filter ul > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: bottom;
}
.sp main .contents .projectfilter .filter ul {
	display: block;
}
main .contents .projectfilter .filter ul li {
	padding: 0px 5px;
}
.sp main .contents .projectfilter .filter ul li {
	display: inline;
}
main .contents .projectfilter .filter a {
	position: relative;
	display: block;
	padding: 10px 5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
	color: #ffffff;
	background: #828282;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .projectfilter .filter a:hover {
	opacity: 0.7;
}
main .contents .projectfilter .filter a span {
	display: inline-block;
}
main .contents .projectfilter .filter a.current {
	background: #143c8c;
}
main .contents .projectfilter .filter a.current:after {
	position: absolute;
	content: "";
	display: block;
	bottom: -10px;
	left: 50%;
	margin-left: -6px;
	border: 6px solid transparent;
	border-top: 10px solid #143c8c;
	border-bottom: 0px;
}
main .contents .projectfilter .list {
	margin-top: 45px;
	opacity: 1;
	transition: 400ms;
}
main .contents .projectfilter .list.hide {
	opacity: 0;
}
main .contents .projectfilter .list ul {
	margin: 0px -5px -35px -20px;
}
main .contents .projectfilter .list ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .projectfilter .list ul {
	margin: 0;
}
main .contents .projectfilter .list li {
	float: left;
	width: calc((100% - 85px) / 4);
	margin-left: 20px;
	margin-bottom: 35px;
}
.sp main .contents .projectfilter .list li {
	float: none;
	width: 100%;
	max-width: 225px;
	margin: 0 auto 35px;
}
main .contents .projectfilter .list li.hide {
	display: none;
}
main .contents .projectfilter .list li a {
	position: relative;
	display: block;
	overflow: hidden;
}
main .contents .projectfilter .list li a:hover .image img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
main .contents .projectfilter .list li a.closeup:before {
	content: "Close Up";
	display: block;
	position: absolute;
	top: 4px;
	right: 4px;
	padding: 0px 5px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 26px;
	color: #ffffff;
	font-weight: bold;
	background: #143c8c;
	z-index: 15;
}
main .contents .projectfilter .list li a.closeup:after {
	content: "Close Up";
	display: block;
	position: absolute;
	top: 4px;
	right: 4px;
	padding: 0px 5px 0px 15px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 26px;
	font-weight: bold;
	background: #143c8c;
	z-index: 14;
	-webkit-transform: skew(30deg);
	transform: skew(30deg);
}
main .contents .projectfilter .list li a.closeup .image {
	position: relative;
}
main .contents .projectfilter .list li a.closeup .image:before {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	top: 0px;
	left: 0px;
	border: 4px solid #143c8c;
	z-index: 10;
}
main .contents .projectfilter .list li .image {
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}
main .contents .projectfilter .list li .image img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-transition: 800ms;
	transition: 800ms;
}
main .contents .projectfilter .list li .title {
	display: block;
	margin-bottom: 10px;
	height: 2.5rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	letter-spacing: -1px;
	color: #000000;
	font-weight: bold;
	overflow: hidden;
}
main .contents .projectfilter .list li .more {
	display: inline-block;
	position: relative;
	padding-right: 36px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #143c8c;
	font-weight: bold;
}
main .contents .projectfilter .list li .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	right: 0px;
	border: 3px solid #143c8c;
	border-top-color: transparent;
	border-right-color: transparent;
}
main .contents .projectfilter .list li .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 7px;
	right: 5px;
	width: 21px;
	height: 3px;
	background: #143c8c;
}
main .contents .projectmenu {
	clear: both;
}
main .contents .projectmenu h3 {
	margin: 0px 0px 15px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	text-align: center;
}
main .contents .projectmenu h3 a {
	color: #000000;
	position: relative;
	display: inline-block;
}
main .contents .projectmenu h3 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .projectmenu h3 a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .projectmenu ul {
	margin: 0px -5px -32px -16px;
}
main .contents .projectmenu ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .projectmenu ul {
	margin: 0;
}
main .contents .projectmenu ul li {
	float: left;
	width: calc((100% - 48px - 5px) / 3);
	margin-left: 16px;
	margin-bottom: 32px;
}
.sp main .contents .projectmenu ul li {
	float: none;
	width: 100%;
	margin-left: 0;
}
main .contents .projectmenu ul li > a {
	position: relative;
	display: block;
	overflow: hidden;
}
main .contents .projectmenu ul li > a > span {
	position: absolute;
	bottom: -310px;
	width: 100%;
	padding: 10px 10px 15px;
	color: #ffffff;
	background: rgba(20, 60, 140, 0.7);
	-webkit-transition: bottom 600ms;
	transition: bottom 600ms;
}
main .contents .projectmenu ul li > a:hover > span {
	bottom: 0px !important;
}
main .contents .projectmenu ul li > a .title {
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 21.6px;
	line-height: 1.35rem;
	letter-spacing: -1px;
	font-weight: bold;
}
main .contents .projectmenu ul li > a .text {
	display: block;
	margin-top: 0px !important;
	padding-top: 5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	overflow: hidden;
}
main .contents .projectmenu ul li > a .more {
	position: relative;
	display: block;
	padding: 25px 50px 0px 0px;
	text-align: right;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-weight: bold;
}
main .contents .projectmenu ul li > a .more:before {
	content: "";
	display: block;
	position: absolute;
	top: 29px;
	right: 10px;
	border: 3px solid #ffffff;
	border-top-color: transparent;
	border-right-color: transparent;
}
main .contents .projectmenu ul li > a .more:after {
	content: "";
	display: block;
	position: absolute;
	top: 32px;
	right: 15px;
	width: 21px;
	height: 3px;
	background: #ffffff;
}
main .contents .projectmenu ul li > a img {
	display: block;
	width: 100%;
	height: auto;
}
main .contents .vscroll {
	width: 100%;
	margin: 20px 0;
	height: 150px;
	padding: 10px;
	overflow: auto;
	border: 1px solid #000;
	overflow-wrap: break-word;
}
main .contents .vscroll .ol_nb {
	margin-top: 15px;
	padding-left: 1.5em;
	list-style: decimal;
	line-height: 1.6;
}
main .contents .vscroll .ol_nb li {
	margin-bottom: 10px;
}
main .contents div.contact-form {
	margin-top: 30px;
	border-top: 1px solid #000 !important;
	width: 100% !important;
}
main .contents div.contact-form div.contact-form-field, main .contents div.contact-form div.contact-form-submit {
	border-left: none !important;
	border-right: none !important;
	border-bottom: 1px solid #000 !important;
	width: 100% !important;
}
main .contents div.contact-form div.contact-form-field p.form-label {
	width: 30% !important;
}
.sp main .contents div.contact-form div.contact-form-field p.form-label {
	width: 100% !important;
	float: none !important;
	text-align: left !important;
	margin-bottom: 10px !important;
}
main .contents div.contact-form div.contact-form-field .form-element {
	width: 70% !important;
	margin: 0;
}
.sp main .contents div.contact-form div.contact-form-field .form-element {
	width: 100% !important;
	float: none !important;
}
main .contents div.contact-form div.contact-form-field .form-element input.contact-form-text-full {
	width: 400px !important;
}
.sp main .contents div.contact-form div.contact-form-field .form-element input.contact-form-text-full {
	width: 100% !important;
}
main .contents div.contact-form div.contact-form-field .form-element input.contact-form-text-full.little {
	width: 80px !important;
}
.sp main .contents div.contact-form div.contact-form-field .form-element input.contact-form-text-full.little {
	width: 80px !important;
}
main .contents div.contact-form div.contact-form-field .form-element textarea.contact-form-textarea {
	width: 400px !important;
}
.sp main .contents div.contact-form div.contact-form-field .form-element textarea.contact-form-textarea {
	width: 100% !important;
}
main .contents div.contact-form div.contact-form-submit {
	text-align: center;
}
main .contents div.contact-form div.contact-form-submit input {
	margin-left: 0px !important;
	cursor: pointer;
}
.sp main .contents div.contact-form li {
	float: none !important;
}
main .contents .contact-form-information + h2 {
	margin-top: 0 !important;
}
main .contents .magazine > div + div {
	margin-top: 20px;
}
main .contents .magazine > div .imagebox {
	margin-top: 10px;
}
main .contents .magazine > div .imagebox .text .image {
	text-align: center;
}
main .contents .magazine > div .imagebox .text .image img {
	display: inline;
}
main .contents .magazine > div .imagebox h3 a:hover {
	text-decoration: underline;
}
main .contents .magazine > div .link {
	text-align: right;
	font-weight: bold;
}
main .contents .entry_area:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .entry_area p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .entry_area img {
	max-width: 100%;
	height: auto;
}
main .contents .entry_area img + img {
	margin-left: 20px;
}
main .contents .date {
	margin-bottom: 20px;
}

.slideshow {
	position: relative;
}
.slideshow .size img {
	display: block;
	width: 100%;
	max-width: 960px;
	height: auto;
}
.slideshow .caroufredsel_wrapper {
	position: absolute !important;
	top: 0px !important;
	height: 100% !important;
}
.slideshow .list {
	height: 100% !important;
}
.slideshow .list > div {
	position: relative;
}
.slideshow .list > div.top .stage > div {
	width: calc(100% - 64px);
	top: 0px;
	left: 32px;
	right: 32px;
}
.sp .slideshow .list > div.top .stage > div {
	width: calc(100% - 96px);
	max-height: 100%;
	left: 48px;
	right: 48px;
	overflow-y: auto;
}
.slideshow .list > div.bottom .stage > div {
	width: calc(100% - 64px);
	left: 32px;
	right: 32px;
	bottom: 0px;
}
.sp .slideshow .list > div.bottom .stage > div {
	width: calc(100% - 96px);
	max-height: 100%;
	left: 48px;
	right: 48px;
	overflow-y: auto;
}
.slideshow .list > div.left .stage > div {
	width: 100%;
	max-width: 320px;
	top: 0px;
	left: 82px;
	bottom: 0px;
}
.slideshow .list > div.right .stage > div {
	width: 100%;
	max-width: 320px;
	top: 0px;
	right: 82px;
	bottom: 0px;
}
.slideshow .list .image {
	position: relative;
	background: none no-repeat center center;
	background-size: cover;
}
.slideshow .list .image img {
	display: block;
	width: 100%;
	max-width: 960px;
	height: auto;
}
.slideshow .list .stage {
	position: absolute;
	top: 0px;
	right: 50%;
	width: 100%;
	height: 100%;
	max-width: 1024px;
	padding: 0px 32px;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
.sp .slideshow .list .stage {
	padding: 0 16px;
}
.slideshow .list .stage > div {
	position: absolute;
	padding: 50px 20px 40px;
	color: #ffffff;
	background: rgba(0, 0, 0, 0.7);
}
.slideshow .list .stage h2 {
	margin: 0px 0px 30px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
.sp .slideshow .list .stage h2 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
.slideshow .list .stage p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.sp .slideshow .list .stage p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 20.4px;
	line-height: 1.275rem;
}
.slideshow .navi {
	position: absolute;
	width: 100%;
	max-width: 1024px;
	top: 50%;
	right: 50%;
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	z-index: 100;
}
.slideshow .navi .prev a {
	position: absolute;
	left: 32px;
	top: 50%;
	display: block;
	width: 50px;
	height: 65px;
	margin-top: -32px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 100;
}
.slideshow .navi .prev a:hover {
	opacity: 0.7;
}
.sp .slideshow .navi .prev a {
	left: 16px;
}
.slideshow .navi .prev a:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	left: 17px;
	border: 6px solid transparent;
	border-left: 0px;
	border-right: 5px solid #ffffff;
}
.slideshow .navi .prev a:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	left: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}
.slideshow .navi .next a {
	position: absolute;
	right: 32px;
	top: 50%;
	display: block;
	width: 50px;
	height: 65px;
	margin-top: -32px;
	text-indent: -10000px;
	background: #143c8c;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 100;
}
.slideshow .navi .next a:hover {
	opacity: 0.7;
}
.sp .slideshow .navi .next a {
	right: 16px;
}
.slideshow .navi .next a:before {
	content: "";
	display: block;
	position: absolute;
	top: 26px;
	right: 17px;
	border: 6px solid transparent;
	border-right: 0px;
	border-left: 5px solid #ffffff;
}
.slideshow .navi .next a:after {
	content: "";
	display: block;
	position: absolute;
	top: 30px;
	right: 21px;
	width: 12px;
	height: 4px;
	background: #ffffff;
}

.ex {
	background: url(../images/ico_ex.png) right center no-repeat;
	background-size: 11px 11px;
	padding-right: 17px;
}

#block03 {
	background: url(../../images/block03bg.gif);
}
#block03 > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 75px 32px 90px;
}
.sp #block03 > div {
	padding: 37.5px 16px 45px;
}
#block03 ul:after {
	content: "";
	display: block;
	clear: both;
}
#block03 ul li {
	float: left;
	margin-left: 15px;
}
#block03 ul li:first-child {
	margin-left: 0px;
}

#block04 {
	position: relative;
}
#block04:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 245px;
	bottom: 80px;
	background: #e4e4e4;
	z-index: -1;
}
#block04 > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 75px 32px 135px;
}
.sp #block04 > div {
	padding: 37.5px 16px 67.5px;
}
#block04 > div > img {
	margin-bottom: 40px;
}

#block05 {
	position: relative;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}
#block05 > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 20px 32px 30px;
}
.sp #block05 > div {
	padding: 10px 16px 15px;
}
#block05 > div > img {
	margin-left: 0px;
}
#block05 > div > div {
	position: absolute;
	right: 32px;
	bottom: -33px;
	z-index: 10;
}

#block06 {
	padding: 100px 0px 70px;
}

#block07 {
	padding: 25px 0px 20px;
	background: #333333;
}

#block08 > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 0px 32px;
}
.sp #block08 > div {
	padding: 0px 16px;
}
#block08 img {
	margin-right: 0px;
}

#block09 {
	background: #e4e4e4;
}
#block09 > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 40px 32px;
}
.sp #block09 > div {
	padding: 20px 16px;
}
#block09 img {
	margin-left: 0px;
}

#block10 {
	padding: 12px 0px 20px;
}

.popup {
	opacity: 0;
	transform: translateY(30px);
	transition: 800ms 200ms;
}
.popup.view {
	transform: translateY(0);
	opacity: 1;
}

.pagenavigation {
	padding-top: 100px;
}
.tablet .pagenavigation.margin {
	margin-top: 60px;
}
.pagenavigation > div {
	position: relative;
	width: 100%;
	max-width: 1024px;
	margin: auto;
	padding: 0px 32px 60px;
	text-align: center;
}
.sp .pagenavigation > div {
	padding: 0px 16px 30px;
}
.sp .pagenavigation > div {
	padding-bottom: 60px;
}
.pagenavigation.single > div {
	padding-bottom: 30px;
}
.pagenavigation .index {
	display: inline-block;
	width: 25.423728813559322033898305084746%;
}
.sp .pagenavigation .index {
	width: 50%;
}
.pagenavigation .index a {
	display: block;
	width: 100%;
	height: 40px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 40px;
	color: #ffffff;
	background: #143c8c;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pagenavigation .index a:hover {
	opacity: 0.7;
}
.sp .pagenavigation .index a {
	height: 30px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 30px;
}
.pagenavigation .prev {
	position: absolute;
	bottom: 60px;
	left: 20px;
}
.sp .pagenavigation .prev {
	left: 10px;
	bottom: 30px;
}
.pagenavigation .prev a {
	display: inline-block;
	padding-left: 46px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 40px;
	color: #444b52;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pagenavigation .prev a:hover {
	opacity: 0.7;
}
.sp .pagenavigation .prev a {
	padding-left: 40px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 30px;
}
.pagenavigation .prev a:before {
	position: absolute;
	content: "";
	display: block;
	width: 36px;
	height: 36px;
	top: 2px;
	left: 0px;
	background: url(../images/prev.svg) no-repeat center center #a3a9a9;
}
.sp .pagenavigation .prev a:before {
	width: 28px;
	height: 28px;
	top: 1px;
}
.pagenavigation .next {
	position: absolute;
	bottom: 60px;
	right: 20px;
}
.sp .pagenavigation .next {
	bottom: 30px;
	right: 10px;
}
.pagenavigation .next a {
	display: inline-block;
	padding-right: 46px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 40px;
	color: #444b52;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pagenavigation .next a:hover {
	opacity: 0.7;
}
.sp .pagenavigation .next a {
	padding-right: 40px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 30px;
}
.pagenavigation .next a:before {
	position: absolute;
	content: "";
	display: block;
	width: 36px;
	height: 36px;
	top: 2px;
	right: 0px;
	background: url(../images/next.svg) no-repeat center center #a3a9a9;
}
.sp .pagenavigation .next a:before {
	width: 28px;
	height: 28px;
	top: 1px;
}

dl.news {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
dl.news dt {
	clear: both;
	float: left;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	font-weight: normal;
}
.sp dl.news dt {
	float: none;
}
dl.news dd {
	margin: 0px;
	margin-left: 9em;
	padding: 0px;
	font-weight: bold;
}
.sp dl.news dd {
	margin-left: 0;
}
dl.news dd + dt,
dl.news dd + dt + dd {
	margin-top: 30px;
}
dl.news a {
	color: #143c8c;
	position: relative;
	display: inline-block;
}
dl.news a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.20em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #143c8c;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
dl.news a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 9999;
	overflow: hidden;
	-webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
	max-width: none;
}

#cboxOverlay {
	position: fixed;
	width: 100%;
	height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
	clear: left;
}

#cboxContent {
	position: relative;
}

#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}

#cboxTitle {
	margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
	cursor: pointer;
}

.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}

.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
	background: #000;
	opacity: 0.9;
	filter: alpha(opacity=90);
}

#colorbox {
	outline: 0;
}

#cboxContent {
	margin-top: 20px;
	background: #000;
}

.cboxIframe {
	background: #fff;
}

#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}

#cboxLoadedContent {
	border: 5px solid #000;
	background: #fff;
}

#cboxTitle {
	position: absolute;
	top: -20px;
	left: 0;
	color: #ccc;
}

#cboxCurrent {
	position: absolute;
	top: -20px;
	right: 0px;
	color: #ccc;
}

#cboxLoadingGraphic {
	background: url(../images/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	width: auto;
	background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
	outline: 0;
}

#cboxSlideshow {
	position: absolute;
	top: -20px;
	right: 90px;
	color: #fff;
}

#cboxPrevious {
	position: absolute;
	top: 50%;
	left: 5px;
	margin-top: -32px;
	background: url(../images/controls.png) no-repeat top left;
	width: 28px;
	height: 65px;
	text-indent: -9999px;
}

#cboxPrevious:hover {
	background-position: bottom left;
}

#cboxNext {
	position: absolute;
	top: 50%;
	right: 5px;
	margin-top: -32px;
	background: url(../images/controls.png) no-repeat top right;
	width: 28px;
	height: 65px;
	text-indent: -9999px;
}

#cboxNext:hover {
	background-position: bottom right;
}

#cboxClose {
	position: absolute;
	top: 5px;
	right: 5px;
	display: block;
	background: url(../images/controls.png) no-repeat top center;
	width: 38px;
	height: 19px;
	text-indent: -9999px;
}

#cboxClose:hover {
	background-position: bottom center;
}
