  @charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap");
* {
	-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: 'Noto Sans JP';
	font-style: normal;
	font-weight: 100;
	src: local("Noto Sans CJK JP Thin"),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: local("Noto Sans CJK JP"),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: local("Noto Sans CJK JP Bold"),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');
}
*/
@font-face {
	font-family: 'Noto Sans CJK JP';
	font-style: normal;
	font-weight: 400;
	src: local("Noto Sans CJK JP"), url("/common/fonts/NotoSansCJKjp-Regular.woff2") format("woff2"), url("/common/fonts/NotoSansCJKjp-Regular.woff") format("woff"), url("/common/fonts/NotoSansCJKjp-Regular.otf") format("opentype");
}
@font-face {
	font-family: 'Noto Sans CJK JP';
	font-style: normal;
	font-weight: 500;
	src: local("Noto Sans CJK JP Bold"), url("/common/fonts/NotoSansCJKjp-Medium.woff2") format("woff2"), url("/common/fonts/NotoSansCJKjp-Medium.woff") format("woff"), url("/common/fonts/NotoSansCJKjp-Medium.otf") format("opentype");
}
@font-face {
	font-family: 'Noto Sans CJK JP';
	font-style: normal;
	font-weight: 700;
	src: local("Noto Sans CJK JP Bold"), url("/common/fonts/NotoSansCJKjp-Bold.woff2") format("woff2"), url("/common/fonts/NotoSansCJKjp-Bold.woff") format("woff"), url("/common/fonts/NotoSansCJKjp-Bold.otf") format("opentype");
}
html {
	font-size: 18px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}
html.xsp {
	font-size: 12px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	font-family: 'Roboto', Frutiger, -apple-system, BlinkMacSystemFont, 'Noto Sans CJK JP', "Helvetica Neue", "Noto Sans JP", Verdana, Meiryo, sans-serif;
	font-feature-settings: "palt";
}
.jp body, .jp th, .jp main .contents .format table td, main .contents .format table .jp td, .jp td, .jp input, .jp select, .jp textarea {
	font-family: 'Noto Sans CJK JP', 'Roboto', Frutiger, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans JP", Meiryo, sans-serif;
}

h2 span {
	font-family: 'Roboto', sans-serif;
}

body {
	margin: 0px auto;
	color: #000000;
	overflow: hidden;
}

img {
	display: block;
	margin: auto;
	border: 0px;
}

a {
	text-decoration: none;
}
a.underline {
	text-decoration: underline;
}

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;
}

main .contents * + .text, main .contents * + .table, main .contents * + .image, main .contents * + .imagebox, main .contents * + .column, main .contents * + .button, main .contents * + .format, main .contents * + .googlemap, * + .column, main .contents .form * + textarea {
	margin-top: 40px;
}
.sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .column, main .contents .sp * + .column, .sp main .contents * + .button, main .contents .sp * + .button, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp * + .column, .sp main .contents .form * + textarea, main .contents .form .sp * + textarea {
	margin-top: 30px;
}

main .contents * + .layout, main .contents * + .menu, main .contents * + .box, main .contents * + .redbox, main .contents * + .form {
	margin-top: 80px;
}

main .contents .text.lead * + p, main .contents .text * + p, main .contents .table * + p, main .contents .text * + ul, main .contents .table * + ul, main .contents .text * + ol, main .contents .table * + ol, main .contents .text * + .image.floatright, main .contents .table * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .table * + .image.floatleft, main .contents .edit_area > * + p, #block05 .text * + p {
	margin-top: 20px;
}

#pagetitle {
	background: #bbc8cf;
	overflow: hidden;
}
#pagetitle > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	display: table;
	width: 100%;
	height: 100%;
	direction: rtl;
}
.sp #pagetitle > div {
	padding: 0px 10px;
}
.sp #pagetitle > div {
	display: block;
}
#pagetitle > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp #pagetitle > div > * {
	display: block;
}
.sp #pagetitle > div {
	padding: 0px;
}
#pagetitle > div > div {
	direction: ltr;
}
#pagetitle > div > div.visual {
	position: relative;
	width: 50%;
	z-index: 1;
}
.sp #pagetitle > div > div.visual {
	position: relative;
	width: 100%;
	padding-top: 25%;
	overflow: hidden;
}
.sp #pagetitle > div > div.visual img {
	position: absolute;
	top: -20%;
}
#pagetitle > div > div.title {
	display: table;
	width: 100%;
	padding-right: 20px;
}
#pagetitle > div > div.title > div {
	display: table-row;
}
#pagetitle > div > div.title > div > div {
	position: relative;
	display: table-cell;
	padding: 5px 0px;
	vertical-align: middle;
	z-index: 1;
}
.sp #pagetitle > div > div.title > div > div {
	display: block;
	padding: 10px;
}
#pagetitle > div > div.title > div > div span {
	display: inline-block;
}
#pagetitle > div > div.title > div + div {
	position: relative;
	height: 57.14285%;
	background: #ffffff;
}
#pagetitle > div > div.title > div + div:after {
	content: "";
	position: absolute;
	display: block;
	width: 10000px;
	height: 100%;
	left: -5000px;
	background: #ffffff;
	z-index: 0;
}
#pagetitle > div > div.title > div + div > div {
	padding: 15px 0px;
}
.sp #pagetitle > div > div.title {
	display: block;
	padding-right: 0px;
}
.sp #pagetitle > div > div.title > div {
	display: block;
}
#pagetitle > div h1 {
	display: inline-block;
	margin: 0px;
	padding: 0px;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 26px;
	line-height: 1.44444rem;
	font-weight: normal;
}
#pagetitle > div .name {
	font-size: 80px;
	font-size: 4.44444rem;
	line-height: 104px;
	line-height: 5.77778rem;
	font-weight: normal;
}
.sp #pagetitle > div .name {
	font-size: 64px;
	font-size: 3.55556rem;
	line-height: 83.2px;
	line-height: 4.62222rem;
}
#pagetitle > div .name h1 {
	font-size: 80px;
	font-size: 4.44444rem;
	line-height: 104px;
	line-height: 5.77778rem;
}
#pagetitle > div img {
	display: block;
	width: 100%;
	height: auto;
	margin-right: 0px;
}

main .contents {
	padding: 0px;
	background: #fff;
	z-index: 10;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 10px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents > div.background {
	width: 100%;
}
main .contents > div.background.top {
	margin-top: -40px;
}
.sp main .contents > div.background.top {
	margin-top: -20px;
}
main .contents > div.background .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 0px;
}
.sp main .contents > div.background .inner {
	padding: 20px 10px 0px;
}
main .contents > div.background.bg_box .inner {
	padding-top: 20px;
}
main .contents > div.background.bg_box .inner .title {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: 80px;
	font-size: 4.44444rem;
	line-height: 104px;
	line-height: 5.77778rem;
	font-weight: normal;
}
main .contents * + h1 {
	margin-top: 160px;
}
main .contents h2 {
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: 300;
}
.sp main .contents h2 {
	margin-bottom: 20px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents h2.small {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
.sp main .contents h2.small {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
}
.jp main .contents h2 {
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 52px;
	line-height: 2.88889rem;
	font-weight: 500;
}
.jp.sp main .contents h2 {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 33px;
	line-height: 1.83333rem;
}
main .contents h2:after {
	display: none;
}
main .contents h2.center {
	text-align: center;
}
.jp main .contents h2.style_h4 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	padding: 0 0 10px 0;
	border-bottom: 2px solid #CDD6DD;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
	font-weight: 400;
	color: #004098;
	text-align: left;
}
.sp .jp main .contents h2.style_h4 {
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
}
.jp main .contents h2.style_h4:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	bottom: -2px;
	width: 40px;
	height: 2px;
	background: linear-gradient(to right, #EC242E, #FEC904);
}
main .contents * + h2 {
	margin-top: 120px;
}
.sp main .contents * + h2 {
	margin-top: 60px;
}
main .contents .irnotice + h2 {
	margin-top: 60px;
}
.sp main .contents .irnotice + h2 {
	margin-top: 40px;
}
.jp main .contents * + h2.style_h4 {
	margin-top: 40px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 40px;
	padding: 0px 0px 12px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
	text-align: center;
	font-weight: 700;
}
.sp main .contents h3 {
	margin: 0px 0px 20px;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
}
main .contents h3:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	bottom: -4px;
	width: 40px;
	height: 4px;
	background: linear-gradient(to right, #EC242E, #FEC904);
	width: 80px;
	left: 50%;
	transform: translateX(-50%);
}
main .contents h3.left {
	text-align: left;
	border-bottom: 4px solid #CDD6DD;
}
main .contents h3.left:after {
	width: 40px;
	left: 0px;
	transform: none;
}
main .contents * + h3 {
	margin-top: 80px;
}
.sp main .contents * + h3 {
	margin-top: 40px;
}
main .contents h4 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	padding: 0 0 10px 0;
	border-bottom: 2px solid #CDD6DD;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
	font-weight: 400;
	color: #004098;
}
.sp main .contents h4 {
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
}
main .contents h4:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	bottom: -2px;
	width: 40px;
	height: 2px;
	background: linear-gradient(to right, #EC242E, #FEC904);
}
.jp main .contents h4 span {
	display: inline-block;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
	font-weight: 400;
}
.sp.jp main .contents h4 span {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 23.8px;
	line-height: 1.32222rem;
}
main .contents * + h4 {
	margin-top: 40px;
}
main .contents h5 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
	font-weight: 700;
	color: #004098;
}
.sp main .contents h5 {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 20.8px;
	line-height: 1.15556rem;
}
main .contents * + h5 {
	margin-top: 20px;
}
.sp main .contents * + h5 {
	margin-top: 10px;
}
main .contents h6 {
	position: relative;
	display: block;
	margin: 0px 0px 20px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 20.8px;
	line-height: 1.15556rem;
}
main .contents a {
	color: #646464;
}
main .contents .text.lead {
	margin: 0 auto;
}
main .contents .text.lead.top {
	margin-bottom: 90px;
}
.sp main .contents .text.lead.top {
	margin-bottom: 45px;
}
main .contents .text.lead.center {
	text-align: center;
}
.sp main .contents .text.lead.center {
	text-align: left;
}
main .contents .text.lead p {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 40.8px;
	line-height: 2.26667rem;
	font-weight: bold;
}
.sp main .contents .text.lead p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
main .contents .people_lead {
	margin: 0 auto 60px;
}
.sp main .contents .people_lead {
	margin-bottom: 30px;
}
main .contents .people_lead p {
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: bold;
	text-align: center;
}
.sp main .contents .people_lead p {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .bottom_stack {
	margin-bottom: 0px !important;
}
main .contents .text, main .contents .table {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .text:after, main .contents .table:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text.full, main .contents .table.full {
	max-width: none;
}
main .contents .text p, main .contents .table p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
main .contents .text p .required, main .contents .table p .required {
	color: #fb3b3b;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p.text_title, main .contents .table p.text_title {
	color: #004098;
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
main .contents .text p.error_mes, main .contents .table p.error_mes {
	color: #fb3b3b;
}
main .contents .text p.center, main .contents .table p.center {
	text-align: center;
}
main .contents .text p.right, main .contents .table p.right {
	text-align: right;
}
main .contents .text p.left, main .contents .table p.left {
	text-align: left;
}
main .contents .text p.note, main .contents .table p.note {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 23.8px;
	line-height: 1.32222rem;
}
main .contents .text ul, main .contents .table ul {
	clear: both;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
main .contents .text ul > li, main .contents .table ul > li {
	position: relative;
	padding-left: 1rem;
}
main .contents .text ul > li:before, main .contents .table ul > li:before {
	content: "";
	position: absolute;
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	left: 0;
	top: 0.5rem;
	background: #646464;
	border-radius: 2px;
}
main .contents .text ul > li + li, main .contents .table ul > li + li {
	margin-top: 4px;
}
main .contents .text ul > li ul li, main .contents .table ul > li ul li {
	padding-left: 0.8rem;
}
main .contents .text ul > li ul li:before, main .contents .table ul > li ul li:before {
	width: 0.5rem;
	height: 0.5rem;
	top: 0.7rem;
}
main .contents .text ul.col3, main .contents .table ul.col3 {
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}
.sp main .contents .text ul.col3, .sp main .contents .table ul.col3 {
	gap: 20px;
}
main .contents .text ul.col3 > li, main .contents .table ul.col3 > li {
	width: calc((100% - 60px) / 3);
}
main .contents .text ul.col3 > li + li, main .contents .table ul.col3 > li + li {
	margin-top: 0;
}
.sp main .contents .text ul.col3 > li, .sp main .contents .table ul.col3 > li {
	width: 100%;
}
.sp main .contents .text ul.col3.spcol2 > li, .sp main .contents .table ul.col3.spcol2 > li {
	width: calc((100% - 20px) / 2);
}
main .contents .text ol, main .contents .table ol {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
	counter-reset: number;
}
main .contents .text ol > li, main .contents .table ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before, main .contents .table ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main .contents .text ol > li + li, main .contents .table ol > li + li {
	margin-top: 4px;
}
main .contents .text ol ul li, main .contents .table ol ul li {
	text-indent: 0;
}
main .contents .text .image.floatright, main .contents .table .image.floatright {
	float: right;
	margin-left: 40px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatright, .sp main .contents .table .image.floatright {
	margin-left: 20px;
	margin-bottom: 10px;
}
main .contents .text .image.floatleft, main .contents .table .image.floatleft {
	float: left;
	margin-right: 40px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft, .sp main .contents .table .image.floatleft {
	margin-right: 20px;
	margin-bottom: 10px;
}
.sp main .contents .text .image.spclear, .sp main .contents .table .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .text.left, main .contents .table.left {
	margin-left: 0;
}
main .contents p a:hover, main .contents li a:hover, main .contents ol a:hover, main .contents table a:hover {
	opacity: 0.7;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	font-size: 15.75px;
	font-size: 0.875rem;
	line-height: 20.475px;
	line-height: 1.1375rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p.center {
	text-align: center;
}
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 .image a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .image a:hover {
	opacity: 0.7;
}
main .contents .image a img {
	display: inline-block;
}
main .contents .image.center {
	text-align: center;
}
main .contents * + .image {
	margin-top: 20px;
}
.sp main .contents * + .image {
	margin-top: 10px;
}
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: 20px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 20px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .column {
	display: flex;
	flex-flow: row wrap;
	margin-left: -20px;
	margin-right: -4px;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .column {
	margin-left: -10px;
}
main .contents .column > * {
	position: relative;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .column > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .column > a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #646464;
}
main .contents .column > a:hover {
	opacity: 0.7;
}
main .contents .column > a .image img {
	width: 100%;
	max-width: none;
}
main .contents .column.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
main .contents .column.col1 > *.size2 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 2 + 20px * 1);
}
main .contents .column.col1 > *.size1 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 1 + 20px * 0);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
main .contents .column.col2 > *.size2 {
	width: calc(((100% - 20px * 2 - 4px) / 2) * 2 + 20px * 1);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
main .contents .column.col3 > *.size2 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 2 + 20px * 1);
}
main .contents .column.col3 > *.size3 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 3 + 20px * 2);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
main .contents .column.col4 > *.size2 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 2 + 20px * 1);
}
main .contents .column.col4 > *.size3 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 3 + 20px * 2);
}
main .contents .column.col4 > *.size4 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 4 + 20px * 3);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
main .contents .column.col5 > *.size2 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 2 + 20px * 1);
}
main .contents .column.col5 > *.size3 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 3 + 20px * 2);
}
main .contents .column.col5 > *.size4 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 4 + 20px * 3);
}
main .contents .column.col5 > *.size5 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 5 + 20px * 4);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .column.col6 > * {
	width: calc((100% - 20px * 6 - 4px) / 6);
}
main .contents .column.col6 > *.size2 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 2 + 20px * 1);
}
main .contents .column.col6 > *.size3 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 3 + 20px * 2);
}
main .contents .column.col6 > *.size4 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 4 + 20px * 3);
}
main .contents .column.col6 > *.size5 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 5 + 20px * 4);
}
main .contents .column.col6 > *.size6 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 6 + 20px * 5);
}
.sp main .contents .column.col6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6);
}
.sp main .contents .column.spcol6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6) !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
}
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% + 20px);
	margin-left: -10px;
	margin-right: -10px;
}
main .contents .layout > * {
	padding: 0px 20px;
}
.sp main .contents .layout > * {
	padding: 0px 10px;
}
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: -40px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 40px;
	padding: 0px;
	width: auto !important;
}
.sp main .contents .button {
	text-align: center;
}
main .contents .button > div {
	display: inline-block;
}
.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.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: #646464;
	border: 1px solid #646464;
}
main .contents .button.nega a:before {
	border-right-color: #646464;
	border-bottom-color: #646464;
}
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;
	max-width: none !important;
}
main .contents .table p + table {
	margin-top: 10px;
}
main .contents .table table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
	border: 1px solid #CDD6DD;
}
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: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #ffffff;
	background: #707F89;
	text-align: center;
}
main .contents .table table th + th, main .contents .table .format table td + th, main .contents .format .table table td + th, main .contents .table .format table th + td, main .contents .format .table table th + td, main .contents .table .format table td + td, main .contents .format .table table td + td {
	border-left: 1px solid #fff;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
	white-space: nowrap;
}
main .contents .table table thead * + tr th, main .contents .table .format table thead * + tr td, main .contents .format .table table thead * + tr td {
	border-left: 1px solid #fff;
	border-top: 1px solid #fff;
}
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: center;
	color: #000000;
	background: #F0F3F5;
	vertical-align: middle;
	border-bottom: 1px solid #CDD6DD;
	border-left: 1px solid #CDD6DD;
}
main .contents .table table td {
	padding: 20px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
	font-weight: normal;
	color: #000000;
	border-right: 1px solid #CDD6DD;
	border-bottom: 1px solid #CDD6DD;
}
main .contents .table table td.th {
	background: #707F89;
}
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 table .empty {
	background: none !important;
}
main .contents .table table.small th, main .contents .table .format table.small td, main .contents .format .table table.small td, main .contents .table table.small td {
	padding: 10px 5px;
}
main .contents .table table.small .year {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 26px;
	line-height: 1.44444rem;
	font-weight: bold;
}
main .contents .table table.td_center td {
	text-align: center;
}
main .contents .table table.stripes tr:nth-of-type(2n) th, main .contents .table .format table.stripes tr:nth-of-type(2n) td, main .contents .format .table table.stripes tr:nth-of-type(2n) td, main .contents .table table.stripes tr:nth-of-type(2n) td {
	background: #F0F3F5;
}
main .contents .table table.stripes th, main .contents .table .format table.stripes td, main .contents .format .table table.stripes td {
	border-right: 1px solid #fff;
}
main .contents .table table tr:first-child th, main .contents .table .format table tr:first-child td, main .contents .format .table table tr:first-child td, main .contents .table table tr:first-child td {
	border-top: 1px solid #CDD6DD;
}
main .contents .table table.stripes_vertical td:nth-of-type(2n) {
	background: #F0F3F5;
}
main .contents .table table.stripes_border tr:nth-of-type(2n+3) th, main .contents .table .format table.stripes_border tr:nth-of-type(2n+3) td, main .contents .format .table table.stripes_border tr:nth-of-type(2n+3) td, main .contents .table table.stripes_border tr:nth-of-type(2n+3) td {
	border-top: 3px solid #707F89;
}
main .contents .table table.borderless {
	border: none;
}
main .contents .table table.borderless th, main .contents .table .format table.borderless td, main .contents .format .table table.borderless td, main .contents .table table.borderless td {
	border: none !important;
	border-bottom: 1px dotted #646464 !important;
	background: none;
}
main .contents .table table.borderless th:nth-of-type(1), main .contents .table .format table.borderless td:nth-of-type(1), main .contents .format .table table.borderless td:nth-of-type(1) {
	width: 30%;
}
main .contents .table table.borderless th:nth-of-type(2), main .contents .table .format table.borderless td:nth-of-type(2), main .contents .format .table table.borderless td:nth-of-type(2) {
	width: 50%;
}
main .contents .table table.borderless th:nth-of-type(3), main .contents .table .format table.borderless td:nth-of-type(3), main .contents .format .table table.borderless td:nth-of-type(3) {
	width: 20%;
}
main .contents .table > p {
	margin-top: 8px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
main .contents .table table.simple {
	border-top: 1px solid #CDD6DD;
	border-left: 1px solid #CDD6DD;
}
main .contents .table table.simple tbody tr th, main .contents .table .format table.simple tbody tr td, main .contents .format .table table.simple tbody tr td {
	background: #fff;
	border-right: 1px solid #CDD6DD;
}
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: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	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: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents .menu > a strong span {
	display: inline-block;
}
.sp main .contents .menu > a strong {
	font-size: 26.25px;
	font-size: 1.45833rem;
	line-height: 34.125px;
	line-height: 1.89583rem;
}
main .contents .menu > a > span {
	position: absolute;
	display: block;
	width: 100%;
	bottom: 0px;
	padding: 12px 12px 16px;
	color: #ffffff;
	background: #646464;
}
main .contents .menu > a > span p {
	font-size: 15.75px;
	font-size: 0.875rem;
	line-height: 20.475px;
	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: #646464;
	border-bottom-color: #646464;
}
main .contents .box {
	padding: 20px;
	border: 1px solid #bbc8cf;
}
.sp main .contents .box {
	padding: 20px;
}
main .contents .redbox {
	padding: 20px;
	border: 1px solid #EC212F;
}
.sp main .contents .redbox {
	padding: 20px;
}
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: 15.75px;
	font-size: 0.875rem;
	line-height: 20.475px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}

body {
	position: relative;
}
body.full:after {
	background-position: center !important;
	background-size: cover !important;
}
body:after {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -1;
	background-position: top center;
	background-size: 110% auto;
}
.bp3 body:after {
	background-size: auto 65vh;
}
.sp body:after {
	background-position: center 65px;
	background-size: auto 300px;
	background-repeat: repeat;
}
body.industries:after {
	background-image: url(/upload/images/industries_bg.jpg);
}
body.service:after {
	background-image: url(/upload/images/service_bg.jpg);
}
body.about:after {
	background-image: url(/upload/images/about_bg.jpg);
}
body.ir:after {
	background-image: url(/upload/images/ir_bg.jpg);
}
body.ar:after {
	background-image: url(/upload/images/ar_bg.jpg);
}
body.library:after {
	background-image: url(/upload/images/library_bg.jpg);
}
body.local:after {
	background-image: url(/upload/images/locations_bg.jpg);
}
body.news:after {
	background-image: url(/upload/images/news_bg.jpg);
}
body.updates:after {
	background-image: url(/upload/images/updates_bg.jpg);
}
body.aperture:after {
	background-image: url(/upload/images/aperture_bg.jpg);
}
body.advisory:after {
	background-image: url(/upload/images/advisory_bg.jpg);
}
body.contact:after {
	background-image: url(/upload/images/contact_bg.jpg);
}

.popup {
	position: relative;
	opacity: 0;
	-webkit-transform: translateY(20%);
	transform: translateY(20%);
}
.sp .popup {
	-webkit-transition: opacity 0ms, -webkit-transform 0ms;
	transition: opacity 0ms, transform 0ms;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}
.popup.view {
	-webkit-transition: opacity 600ms, -webkit-transform 1200ms;
	transition: opacity 600ms, transform 1200ms;
	opacity: 1;
	-webkit-transform: translateY(0);
	transform: translateY(0);
}

.bold {
	font-weight: bold !important;
}

.red {
	color: #EC212F;
}

.nowrap {
	white-space: nowrap;
}

sup {
	line-height: 0;
}

.column {
	display: flex;
	flex-flow: row wrap;
	margin-left: -20px;
	margin-right: -4px;
}
.column:after {
	content: "";
	display: block;
	clear: both;
}
.sp .column {
	margin-left: -10px;
}
.column > * {
	position: relative;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp .column > * {
	margin-left: 10px;
	margin-bottom: 20px;
}
.column > a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #646464;
}
.column > a:hover {
	opacity: 0.7;
}
.column > a .image img {
	width: 100%;
	max-width: none;
}
.column.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
.column.col1 > *.size2 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 2 + 20px * 1);
}
.column.col1 > *.size1 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 1 + 20px * 0);
}
.sp .column.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp .column.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
.column.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
.column.col2 > *.size2 {
	width: calc(((100% - 20px * 2 - 4px) / 2) * 2 + 20px * 1);
}
.sp .column.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp .column.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
.column.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
.column.col3 > *.size2 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 2 + 20px * 1);
}
.column.col3 > *.size3 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 3 + 20px * 2);
}
.sp .column.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp .column.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
.column.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
.column.col4 > *.size2 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 2 + 20px * 1);
}
.column.col4 > *.size3 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 3 + 20px * 2);
}
.column.col4 > *.size4 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 4 + 20px * 3);
}
.sp .column.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp .column.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
.column.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
.column.col5 > *.size2 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 2 + 20px * 1);
}
.column.col5 > *.size3 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 3 + 20px * 2);
}
.column.col5 > *.size4 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 4 + 20px * 3);
}
.column.col5 > *.size5 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 5 + 20px * 4);
}
.sp .column.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp .column.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
.column.col6 > * {
	width: calc((100% - 20px * 6 - 4px) / 6);
}
.column.col6 > *.size2 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 2 + 20px * 1);
}
.column.col6 > *.size3 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 3 + 20px * 2);
}
.column.col6 > *.size4 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 4 + 20px * 3);
}
.column.col6 > *.size5 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 5 + 20px * 4);
}
.column.col6 > *.size6 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 6 + 20px * 5);
}
.sp .column.col6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6);
}
.sp .column.spcol6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6) !important;
}
.column.col7 > * {
	width: calc((100% - 20px * 7 - 4px) / 7);
}
.column.col7 > *.size2 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 2 + 20px * 1);
}
.column.col7 > *.size3 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 3 + 20px * 2);
}
.column.col7 > *.size4 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 4 + 20px * 3);
}
.column.col7 > *.size5 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 5 + 20px * 4);
}
.column.col7 > *.size6 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 6 + 20px * 5);
}
.column.col7 > *.size7 {
	width: calc(((100% - 20px * 7 - 4px) / 7) * 7 + 20px * 6);
}
.sp .column.col7 > * {
	width: calc((100% - 10px * 7 - 4px) / 7);
}
.sp .column.spcol7 > * {
	width: calc((100% - 10px * 7 - 4px) / 7) !important;
}
.column.col8 > * {
	width: calc((100% - 20px * 8 - 4px) / 8);
}
.column.col8 > *.size2 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 2 + 20px * 1);
}
.column.col8 > *.size3 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 3 + 20px * 2);
}
.column.col8 > *.size4 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 4 + 20px * 3);
}
.column.col8 > *.size5 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 5 + 20px * 4);
}
.column.col8 > *.size6 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 6 + 20px * 5);
}
.column.col8 > *.size7 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 7 + 20px * 6);
}
.column.col8 > *.size8 {
	width: calc(((100% - 20px * 8 - 4px) / 8) * 8 + 20px * 7);
}
.sp .column.col8 > * {
	width: calc((100% - 10px * 8 - 4px) / 8);
}
.sp .column.spcol8 > * {
	width: calc((100% - 10px * 8 - 4px) / 8) !important;
}
.column.col9 > * {
	width: calc((100% - 20px * 9 - 4px) / 9);
}
.column.col9 > *.size2 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 2 + 20px * 1);
}
.column.col9 > *.size3 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 3 + 20px * 2);
}
.column.col9 > *.size4 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 4 + 20px * 3);
}
.column.col9 > *.size5 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 5 + 20px * 4);
}
.column.col9 > *.size6 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 6 + 20px * 5);
}
.column.col9 > *.size7 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 7 + 20px * 6);
}
.column.col9 > *.size8 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 8 + 20px * 7);
}
.column.col9 > *.size9 {
	width: calc(((100% - 20px * 9 - 4px) / 9) * 9 + 20px * 8);
}
.sp .column.col9 > * {
	width: calc((100% - 10px * 9 - 4px) / 9);
}
.sp .column.spcol9 > * {
	width: calc((100% - 10px * 9 - 4px) / 9) !important;
}

#cat_title {
	position: relative;
	height: 810px;
	padding-top: 100px;
	max-height: 65vh;
	background: center center no-repeat;
	background-size: cover;
	z-index: 1;
}
.sp #cat_title {
	height: 300px;
	padding-top: 65px;
}
#cat_title.level3 {
	height: 810px;
}
.sp #cat_title.level3 {
	height: 300px;
}
#cat_title.level4 {
	height: 675px;
	padding-top: 80px;
}
.sp #cat_title.level4 {
	padding-top: 65px;
	height: 320px;
}
#cat_title > div {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	color: #fff;
	text-align: center;
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
	z-index: 10;
}
.sp #cat_title > div {
	padding: 0px 10px 0px;
}
.sp #cat_title > div {
	position: absolute;
	top: calc((100% + 65px) / 2);
}
#cat_title h1, #cat_title .h1 {
	font-size: 80px;
	font-size: 4.44444rem;
	line-height: 88px;
	line-height: 4.88889rem;
	margin: 0;
	font-weight: 400;
}
.sp #cat_title h1, .sp #cat_title .h1 {
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 66px;
	line-height: 3.66667rem;
}
.jp #cat_title h1, .jp #cat_title .h1 {
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
}
.jp.sp #cat_title h1, .jp.sp #cat_title .h1 {
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 52px;
	line-height: 2.88889rem;
}
#cat_title .lead {
	padding: 0 100px;
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
.sp #cat_title .lead {
	padding: 0;
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
}
#cat_title:after {
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	background: rgba(34, 49, 133, 0.4);
	z-index: 2;
	top: 0;
	left: 0;
}

#breadcrumbs {
	position: relative;
	background: #fff;
	z-index: 10;
}
.sp #breadcrumbs {
	display: none;
}
#breadcrumbs > ul {
	padding: 15px 30px;
}
#breadcrumbs > ul:after {
	content: "";
	display: block;
	clear: both;
}
#breadcrumbs > ul > li {
	display: inline-block;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	color: #646464;
}
.sp #breadcrumbs > ul > li {
	font-size: 10px;
	font-size: 0.55556rem;
	line-height: 11px;
	line-height: 0.61111rem;
}
#breadcrumbs > ul > li + li:before {
	content: "";
	position: relative;
	display: inline-block;
	width: 1px;
	height: 0.75em;
	top: 0;
	margin: 0px 8px;
	background: #000000;
	-webkit-transform: skewX(-30deg);
	transform: skewX(-30deg);
}
#breadcrumbs > ul > li a {
	color: #646464;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #646464;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#breadcrumbs > ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#breadcrumbs > ul > li br {
	display: none;
}

#news_search {
	background: #CDD6DD;
}
#news_search > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
}
.sp #news_search > div {
	padding: 0px 10px 0px;
}
#news_search > div:after {
	content: "";
	display: block;
	clear: both;
}
#news_search > div > div {
	float: left;
}
#news_search > div > div.category {
	width: 60%;
	padding: 30px 0 30px 55px;
	border-right: 1px solid #fff;
}
.jp #news_search > div > div.category {
	width: 64%;
}
.pc #news_search > div > div.category {
	width: 70% !important;
	padding: 30px 20px 30px 0;
}
.sp #news_search > div > div.category {
	float: none;
	width: 100%;
	padding: 20px 10px;
	margin: auto;
	border: none;
}
#news_search > div > div.category ul {
	margin: 20px 0 -20px -20px;
	text-align: center;
	letter-spacing: -1rem;
}
.sp #news_search > div > div.category ul {
	display: none;
}
#news_search > div > div.category ul li {
	display: inline-block;
	margin: 0 0 20px 20px;
	background: #fff;
	border-radius: 40px;
	line-height: 40px;
	letter-spacing: normal;
}
#news_search > div > div.category ul li:last-child {
	margin-right: 0;
}
#news_search > div > div.category ul li a {
	display: block;
	background: #fff;
	border-radius: 40px;
	line-height: 40px;
	padding: 0 30px;
	color: #646464;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#news_search > div > div.category ul li a:hover {
	opacity: 0.7;
}
#news_search > div > div.category ul li a.ac {
	background: #646464;
	color: #fff;
}
.jp.pc #news_search > div > div.category ul li a {
	padding: 0 20px;
}
#news_search > div > div.category .select {
	display: none;
}
.sp #news_search > div > div.category .select {
	display: block;
	margin-top: 0;
}
#news_search > div > div.year {
	width: 40%;
	padding: 30px 55px 30px 0;
}
.jp #news_search > div > div.year {
	width: 36%;
}
#news_search > div > div.year div.select {
	width: 305px;
}
.pc #news_search > div > div.year div.select {
	width: 100%;
}
.sp #news_search > div > div.year div.select {
	margin-top: 0;
}
.pc #news_search > div > div.year {
	width: 30% !important;
	padding: 30px 20px 30px 20px;
}
.sp #news_search > div > div.year {
	float: none;
	width: 100%;
	padding: 0 10px 20px 10px;
	margin: auto;
	min-width: 200px;
}
#news_search > div > div.year p {
	text-align: center;
	font-size: 14px;
}

div.select {
	position: relative;
	width: 100%;
	margin: 20px auto 0;
}
div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 13px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
div.select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 36px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #646464;
	background: #fff;
}
div.select select::-ms-expand {
	display: none;
}

#news_area {
	background: #fff;
}
#news_area > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 50px;
}
.sp #news_area > div {
	padding: 25px 10px 25px;
}
#news_area > div.text {
	max-width: 780px;
	padding: 0;
}
#news_area ul {
	position: relative;
	letter-spacing: -1rem;
}
#news_area ul li {
	padding: 20px 0;
	border-bottom: 1px dotted #707070;
	letter-spacing: normal;
}
#news_area ul li > a, #news_area ul li > span {
	display: block;
	color: #646464;
	letter-spacing: -1rem;
}
#news_area ul li > a > *, #news_area ul li > span > * {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
}
#news_area ul li > a .date, #news_area ul li > span .date {
	width: 120px;
}
#news_area ul li > a .cat, #news_area ul li > span .cat {
	width: 140px;
}
#news_area ul li > a .cat span, #news_area ul li > span .cat span {
	display: inline-block;
	min-width: 120px;
	text-align: center;
	background: #707070;
	color: #fff;
	padding: 3px;
}
#news_area ul li > a .title, #news_area ul li > span .title {
	line-height: 1.5;
	width: calc(100% - 320px);
	padding-left: 20px;
}
.sp #news_area ul li > a .title, .sp #news_area ul li > span .title {
	width: 100%;
	margin-top: 10px;
	padding-left: 0;
}
#news_area ul li > a.link, #news_area ul li > a.pdf, #news_area ul li > a.blank, #news_area ul li > span.link, #news_area ul li > span.pdf, #news_area ul li > span.blank {
	position: relative;
}
#news_area ul li > a.link .title, #news_area ul li > a.pdf .title, #news_area ul li > a.blank .title, #news_area ul li > span.link .title, #news_area ul li > span.pdf .title, #news_area ul li > span.blank .title {
	width: calc(100% - 320px);
	border-right: 1px solid #646464;
	padding-right: 20px;
}
.sp #news_area ul li > a.link .title, .sp #news_area ul li > a.pdf .title, .sp #news_area ul li > a.blank .title, .sp #news_area ul li > span.link .title, .sp #news_area ul li > span.pdf .title, .sp #news_area ul li > span.blank .title {
	position: relative;
	width: 100%;
	margin-top: 10px;
	border-right: none;
	padding-right: 0px;
}
.sp #news_area ul li > a.link .title:after, .sp #news_area ul li > a.pdf .title:after, .sp #news_area ul li > a.blank .title:after, .sp #news_area ul li > span.link .title:after, .sp #news_area ul li > span.pdf .title:after, .sp #news_area ul li > span.blank .title:after {
	content: "";
	position: absolute;
}
#news_area ul li > a.link::before, #news_area ul li > a.pdf::before, #news_area ul li > a.blank::before, #news_area ul li > span.link::before, #news_area ul li > span.pdf::before, #news_area ul li > span.blank::before {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
.sp #news_area ul li > a.link::before, .sp #news_area ul li > a.pdf::before, .sp #news_area ul li > a.blank::before, .sp #news_area ul li > span.link::before, .sp #news_area ul li > span.pdf::before, .sp #news_area ul li > span.blank::before {
	display: none;
}
#news_area ul li > a.link::before, #news_area ul li > span.link::before {
	width: 15px;
	height: 13px;
	background: url(/common/images/newsico_link.svg) no-repeat;
	background-size: 15px 13px;
}
.sp #news_area ul li > a.link .title::after, .sp #news_area ul li > span.link .title::after {
	width: 20px;
	height: 18px;
	background: url(/common/images/newsico_link.svg) right bottom no-repeat;
	background-size: 15px 13px;
}
#news_area ul li > a.pdf::before, #news_area ul li > span.pdf::before {
	width: 15px;
	height: 17px;
	background: url(/common/images/newsico_pdf.svg) no-repeat;
	background-size: 15px 17px;
}
.sp #news_area ul li > a.pdf .title::after, .sp #news_area ul li > span.pdf .title::after {
	width: 20px;
	height: 20px;
	background: url(/common/images/newsico_pdf.svg) right bottom no-repeat;
	background-size: 15px 17px;
}
#news_area ul li > a.blank::before, #news_area ul li > span.blank::before {
	width: 15px;
	height: 15px;
	background: url(/common/images/newsico_blank.svg) no-repeat;
	background-size: 15px 15px;
}
.sp #news_area ul li > a.blank .title::after, .sp #news_area ul li > span.blank .title::after {
	width: 20px;
	height: 20px;
	background: url(/common/images/newsico_blank.svg) right bottom no-repeat;
	background-size: 15px 17px;
}
#news_area ul li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#news_area ul li a:hover {
	opacity: 0.7;
}
#news_area ul.anchor {
	margin-bottom: 40px;
}
#news_area ul.anchor li {
	border: none;
	padding: 0;
}
#news_area ul.anchor li a {
	display: inline-block;
	letter-spacing: normal;
}
.sp #news_area ul.anchor li a {
	min-width: 3rem;
	padding-top: 0;
}
#news_area ul.cat_wide > li > a .cat {
	width: 180px;
}
#news_area ul.cat_wide > li > a .cat span {
	min-width: 160px;
}
#news_area ul.cat_wide > li > a .title {
	width: calc(100% - 360px);
}
#news_area a, #news_area span {
	position: relative;
	display: block;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	-webkit-transition: opacity 200ms, color 600ms;
	transition: opacity 200ms, color 600ms;
}
.sp #news_area a, .sp #news_area span {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
}
#news_area ul.category_anchor {
	margin: 0 0 30px -10px;
}
#news_area ul.category_anchor li {
	padding: 0;
	margin: 0 0 10px 10px;
	border: none;
	min-height: auto;
}
#news_area ul.category_anchor li a {
	padding: 0 40px 0 10px;
	color: #fff;
	letter-spacing: normal;
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
	display: table-cell;
	line-height: 36px;
}

.footer_icolink {
	margin-top: 50px;
	margin-bottom: 30px;
	letter-spacing: -1rem;
}
.footer_icolink > ul {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 30px 20px 30px;
	text-align: center;
}
.sp .footer_icolink > ul {
	padding: 15px 10px 15px;
}
.footer_icolink li {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	letter-spacing: normal;
}
.tablet .footer_icolink li {
	width: calc((99.99% - 40px) / 3);
	margin-bottom: 40px;
}
.tablet .footer_icolink li:nth-of-type(3n+1) {
	margin-left: 0 !important;
}
.footer_icolink li + li {
	margin-left: 80px;
}
.tablet .footer_icolink li + li {
	margin-left: 20px;
}
.footer_icolink li a {
	display: block;
	color: #000000;
	font-weight: bold;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.footer_icolink li a:hover {
	opacity: 0.7;
}
.sp .footer_icolink li a {
	color: #000;
}
.footer_icolink li a img {
	margin-bottom: 10px;
}

footer.content {
	position: relative;
	background-color: #004098;
	padding: 40px 30px;
	background: url(/common/images/footer_catch.svg) no-repeat center right 40px #004098;
}
.tablet footer.content {
	height: auto;
	padding: 20px 20px 20px 20px;
	background: none;
	background-color: #004098;
}
footer.content .logo {
	margin-bottom: 30px;
}
footer.content .logo img {
	margin: 0;
}
footer.content .logo a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.content .logo a:hover {
	opacity: 0.7;
}
footer.content p {
	color: #fff;
}
.sp footer.content p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 21px;
	line-height: 1.16667rem;
}
footer.content p + p {
	margin-top: 20px;
}
footer.content p a {
	margin-right: 20px;
	color: #fff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.content p a:hover {
	opacity: 0.7;
}

main .contents .edit_area {
	margin: 0 auto;
}
main .contents .edit_area div:not(.button) a:not(.blank)[href^="http"] {
	display: relative;
}
main .contents .edit_area div:not(.button) a:not(.blank)[href^="http"]:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_blank.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .edit_area div:not(.button) a:not(.pdf)[href$=".pdf"] {
	display: relative;
}
main .contents .edit_area div:not(.button) a:not(.pdf)[href$=".pdf"]:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_pdf.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .edit_area .button a:not(.pdf)[href$=".pdf"]:after {
	display: none;
}
main .contents .edit_area .image .center {
	text-align: center;
}
main .contents .edit_area h4, main .contents .edit_area h5 {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .edit_area > p {
	max-width: 780px;
	margin-left: auto;
	margin-right: auto;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
main .contents .newshead {
	border-bottom: 1px solid #CDD6DD;
	padding-bottom: 20px;
	margin-bottom: 40px;
}
.sp main .contents .newshead {
	margin-bottom: 20px;
}
main .contents .newshead h1 {
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: 700;
}
.sp main .contents .newshead h1 {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents .newshead .date {
	margin-top: 20px;
	text-align: right;
}
main .contents .newshead .cat {
	margin-top: 20px;
	text-align: right;
}
main .contents .newshead .cat span {
	display: inline-block;
	min-width: 120px;
	text-align: center;
	background: #707070;
	color: #fff;
	padding: 3px 8px;
}
main .contents .index_menu {
	overflow: hidden;
}
main .contents .index_menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .index_menu {
	margin-top: 0;
}
main .contents .index_menu > a, main .contents .index_menu > span, main .contents .index_menu > div {
	position: relative;
	float: left;
	display: block;
	width: 33.33%;
}
main .contents .index_menu > a, main .contents .index_menu > span, main .contents .index_menu > div a {
	color: #fff;
}
.sp main .contents .index_menu > a, .sp main .contents .index_menu > span, .sp main .contents .index_menu > div a {
	width: 100%;
}
main .contents .index_menu > a.half, main .contents .index_menu > span.half, main .contents .index_menu > div a.half {
	width: 25%;
}
.sp main .contents .index_menu > a.half, .sp main .contents .index_menu > span.half, .sp main .contents .index_menu > div a.half {
	width: 50%;
}
main .contents .index_menu > a.half .image, main .contents .index_menu > span.half .image, main .contents .index_menu > div a.half .image {
	padding-top: 62.4%;
}
main .contents .index_menu > a:not(span):hover .image span, main .contents .index_menu > span:not(span):hover .image span, main .contents .index_menu > div a:not(span):hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
main .contents .index_menu > a:not(span):hover .info, main .contents .index_menu > span:not(span):hover .info, main .contents .index_menu > div a:not(span):hover .info {
	top: -15px;
}
.sp main .contents .index_menu > a:not(span):hover .info, .sp main .contents .index_menu > span:not(span):hover .info, .sp main .contents .index_menu > div a:not(span):hover .info {
	top: 0px;
}
main .contents .index_menu > a .image, main .contents .index_menu > span .image, main .contents .index_menu > div a .image {
	position: relative;
	display: block;
	padding-top: 46.8%;
	overflow: hidden;
}
main .contents .index_menu > a .image:after, main .contents .index_menu > span .image:after, main .contents .index_menu > div a .image:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
main .contents .index_menu > a .image span, main .contents .index_menu > span .image span, main .contents .index_menu > div a .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
main .contents .index_menu > a .title, main .contents .index_menu > span .title, main .contents .index_menu > div a .title {
	position: absolute;
	width: 90%;
	padding-bottom: 15px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
	font-weight: 400;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}
.sp main .contents .index_menu > a .title, .sp main .contents .index_menu > span .title, .sp main .contents .index_menu > div a .title {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
main .contents .index_menu > a .title:after, main .contents .index_menu > span .title:after, main .contents .index_menu > div a .title:after {
	content: "";
	position: absolute;
	width: 80px;
	height: 4px;
	background: url(/common/images/h2_bar.png) no-repeat;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
main .contents .index_menu > a .title > span.blank:after, main .contents .index_menu > span .title > span.blank:after, main .contents .index_menu > div a .title > span.blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(/common/images/newsico_blank_w.svg) no-repeat !important;
	background-size: 18px 20px !important;
}
main .contents .index_menu > a .title .min, main .contents .index_menu > span .title .min, main .contents .index_menu > div a .title .min {
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
}
.sp main .contents .index_menu > a .title .min, .sp main .contents .index_menu > span .title .min, .sp main .contents .index_menu > div a .title .min {
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 15.6px;
	line-height: 0.86667rem;
}
main .contents .index_menu > a .more, main .contents .index_menu > span .more, main .contents .index_menu > div a .more {
	position: absolute;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	padding-bottom: 15px;
	font-weight: bold;
	top: 80%;
	left: 50%;
	transform: translateY(-50%);
	transform: translateX(-50%);
	z-index: 5;
	opacity: 0;
	-webkit-transition: 400ms;
	transition: 400ms;
	width: 1.5rem;
	height: 1rem;
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	font-size: 0;
}
main .contents .index_menu > a:not(span):hover .more, main .contents .index_menu > span:not(span):hover .more, main .contents .index_menu > div a:not(span):hover .more {
	opacity: 1;
}
main .contents .index_menu > div a {
	position: relative;
	display: block;
	color: #fff;
}
main .contents .index_menu > div .text {
	margin: 10px 10px 20px 10px;
	color: #000;
}
main .contents .index_menu.no_effect > div a .image:after {
	display: none;
}
main .contents .index_menu.center {
	text-align: center;
}
main .contents .index_menu.center > div {
	display: inline-block;
	float: none;
}
main .contents .index_menu.center > div .title {
	padding-bottom: 0;
}
main .contents .index_menu.center > div .title:after {
	display: none;
}
main .contents .index_menu.small > a .title, main .contents .index_menu.small > div a .title {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 26px;
	line-height: 1.44444rem;
}
.sp main .contents .index_menu.small > a .title, .sp main .contents .index_menu.small > div a .title {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
main .contents .blue_effect:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	background: #004098;
	z-index: 5;
	-webkit-transition: transform 0.3s;
	transition: transform 0.3s;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
	transition-timing-function: cubic-bezier(0.9, 0.1, 0.9, 1);
}
main .contents .blue_effect.end:before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform: 100% 0%;
	transform-origin: 100% 0%;
	transition-timing-function: cubic-bezier(0.1, 0.1, 0.1, 1);
}
main .contents .blue_effect > * {
	opacity: 1;
}
main .contents .blue_effect:after {
	opacity: 1;
}
main .contents .index_menu.column > a .image, main .contents .index_menu.column > span .image, main .contents .index_menu.column > div .image {
	padding-top: 56%;
}
main .contents .contact_block {
	margin: 60px auto 0 auto;
	max-width: 800px;
	table-layout: fixed;
}
main .contents .contact_block > * {
	width: 50%;
}
main .contents .contact_block .text .title {
	margin: 0 0 30px 0;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	text-align: left;
	font-weight: 300;
}
.sp main .contents .contact_block .text .title {
	margin-bottom: 20px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
.jp main .contents .contact_block .text .title {
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 44px;
	line-height: 2.44444rem;
	font-weight: 500;
}
.jp.sp main .contents .contact_block .text .title {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 33px;
	line-height: 1.83333rem;
}
.sp main .contents .contact_block {
	margin-top: 30px;
}
main .contents .contact_block div.select {
	position: relative;
	margin: 30px auto 0;
}
main .contents .contact_block div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
main .contents .contact_block div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 14px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
main .contents .contact_block div.select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 36px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #888;
}
main .contents .contact_block div.select select::-ms-expand {
	display: none;
}
main .contents .contact_block.service .text p {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 34px;
	line-height: 1.88889rem;
	color: #646464;
}
main .contents .contact_block.service .text .title {
	margin: 0 0 30px 0;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	text-align: left;
	font-weight: 300;
	color: #000000;
}
.sp main .contents .contact_block.service .text .title {
	margin-bottom: 20px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
.jp main .contents .contact_block.service .text .title {
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 44px;
	line-height: 2.44444rem;
	font-weight: 500;
}
.jp.sp main .contents .contact_block.service .text .title {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 33px;
	line-height: 1.83333rem;
}
main .contents .text .title {
	margin-top: 30px;
	font-weight: bold;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 30px;
	line-height: 1.66667rem;
	text-align: center;
}
.sp main .contents .text .title {
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
main .contents .accordion {
	padding: 30px;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	transition: .4s;
}
.sp main .contents .accordion {
	padding: 20px;
}
main .contents .accordion + .accordion {
	border-top: none;
}
main .contents .accordion h3 {
	position: relative;
	margin-bottom: 0;
	text-align: left;
	padding-right: 40px;
	cursor: pointer;
}
sp main .contents .accordion h3 {
	padding-right: 30px;
}
main .contents .accordion h3:after {
	left: 30px;
}
main .contents .accordion h3 .btn {
	position: absolute;
	display: block;
	top: 0;
	right: 0;
}
main .contents .accordion h3 .btn:before {
	content: "";
	position: absolute;
	display: block;
	width: 2rem;
	height: 2px;
	top: 0.9rem;
	right: 0;
	background: #707070;
	transition: .4s;
}
.sp main .contents .accordion h3 .btn:before {
	width: 1.5rem;
	top: 0.7rem;
}
main .contents .accordion h3 .btn:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 2rem;
	top: 0;
	right: 0.9rem;
	background: #707070;
	transition: .4s;
}
.sp main .contents .accordion h3 .btn:after {
	height: 1.5rem;
	right: 0.7rem;
}
main .contents .accordion h3 button.btn {
	width: 2rem;
	text-align: center;
	background: none;
	border: none;
	top: -22px;
	padding: 0;
	cursor: pointer;
}
.sp main .contents .accordion h3 button.btn {
	width: 1.9em;
	top: -15px;
}
main .contents .accordion h3 button.btn::before {
	top: calc(0.9rem + 22px);
}
.sp main .contents .accordion h3 button.btn::before {
	top: calc(0.7rem + 20px);
}
main .contents .accordion h3 button.btn::after {
	top: 22px;
}
.sp main .contents .accordion h3 button.btn::after {
	top: 20px;
}
main .contents .accordion > div {
	display: none;
	margin-top: 30px !important;
}
main .contents .accordion.open {
	background: #F0F3F5;
}
main .contents .accordion.open h3 span:after {
	opacity: 0;
}
.jp main .contents .block + .accordion {
	margin-top: 40px;
}
.jp.sp main .contents .block + .accordion {
	margin-top: 20px;
}
main .contents .case_link {
	background: #F0F3F5;
}
main .contents .case_link a {
	overflow: hidden;
}
main .contents .case_link a:hover {
	opacity: 1;
}
main .contents .case_link a:hover .image img {
	transform: scale(1.1) rotate(0.0001deg);
}
.sp main .contents .case_link a {
	max-width: 380px;
}
main .contents .case_link .image {
	position: relative;
	margin-left: 30px;
	z-index: 1;
	overflow: hidden;
}
.sp main .contents .case_link .image {
	margin-left: 20px;
}
main .contents .case_link .image img {
	transition: transform 0.8s;
}
main .contents .case_link .text {
	position: relative;
	width: 80%;
	height: 100%;
	padding: 30px;
	margin-top: -90px;
	margin-left: 0;
	background: #fff;
	z-index: 2;
}
.sp main .contents .case_link .text {
	padding: 20px;
}
main .contents .case_link .button span {
	width: 190px;
	max-width: 100%;
	min-width: auto;
}
main .contents ul.wrap_list {
	display: flex;
	flex-wrap: wrap;
	margin: -20px 0 0 -20px;
}
.sp main .contents ul.wrap_list {
	margin: -10px 0 0 -20px;
}
main .contents ul.wrap_list li {
	min-width: calc(33.33% - 20px);
	margin: 20px 0 0 20px !important;
}
.sp main .contents ul.wrap_list li {
	min-width: calc(50% - 20px);
	margin: 10px 0 0 20px !important;
}

.circle {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	text-indent: -9999px;
	background: #000000;
	border-radius: 50%;
}

.arrow {
	position: relative;
	padding-right: 22px;
}
.arrow:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 100%;
	top: 0;
	background: url(/common/images/arrow_text.svg) no-repeat center right;
	transition: all .3s;
}
.arrow:hover:after {
	right: -10px;
}

.arrow_w {
	position: relative;
	padding-right: 22px;
}
.arrow_w:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: calc(0.5rem - 3px);
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transition: all .3s;
}
.arrow_w:hover:after {
	right: -10px;
}

.tab_category {
	margin-bottom: 40px;
	background: #F0F3F5;
}
.sp .tab_category {
	margin-bottom: 20px;
}
.tab_category ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
	padding: 0 20px;
}
.sp .tab_category ul {
	padding: 20px 10px;
}
.sp .tab_category ul {
	padding: 0 10px;
}
.tab_category ul li {
	position: relative;
	width: 20%;
	text-align: center;
	z-index: 1;
	border-right: 1px solid #fff;
}
.tab_category ul li:first-child {
	border-left: 1px solid #fff;
}
.tab_category ul li.current {
	background: #fff;
}
.tab_category ul li.current:after {
	content: "";
	position: absolute;
	left: 0;
	top: -10px;
	width: 100%;
	height: calc(100% + 20px);
	background: #004098;
	border-radius: 10px;
	z-index: 2;
	transition: opacity 0.2s, background 0.2s;
	box-shadow: 0 0 5px 5px rgba(34, 49, 133, 0.3);
}
.sp .tab_category ul li.current:after {
	top: -5px;
	height: calc(100% + 10px);
}
.tab_category ul li a {
	position: relative;
	display: table;
	padding: 10px 0;
	width: 100%;
	height: 100%;
	font-size: 22px;
	font-size: 1.22222rem;
	line-height: 33px;
	line-height: 1.83333rem;
	color: #000 !important;
	z-index: 10;
	vertical-align: middle;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.tab_category ul li a:hover {
	opacity: 0.7;
}
.sp .tab_category ul li a {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 21px;
	line-height: 1.16667rem;
}
.tab_category ul li a span {
	display: table-cell;
	vertical-align: middle;
}
.tab_category ul li.current a {
	color: #fff !important;
	font-weight: bold;
}

ul.anchor {
	letter-spacing: -1rem;
}
ul.anchor li {
	position: relative;
	display: inline-block;
	margin-top: 10px;
	margin-right: 20px;
	padding: 0;
	letter-spacing: normal;
}
ul.anchor li a {
	position: relative;
	padding-right: 1.6rem;
	color: #646464;
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
}
ul.anchor li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #646464;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
ul.anchor li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
ul.anchor li a:before {
	display: none;
}
ul.anchor li a:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: 0;
	background: url(/common/images/arrow_anchor.svg) no-repeat center center;
	background-size: contain;
	transition: all .3s;
}
* + ul.anchor {
	margin-top: 10px;
}
ul.anchor.yearly {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 16.8px;
	line-height: 0.93333rem;
}
ul.anchor.yearly li.ac {
	font-weight: bold;
}
ul.anchor.center {
	text-align: center;
}
ul.anchor.left {
	text-align: left;
}

main .contents .text ul.anchor li {
	padding-left: 10px;
}

ul.category_anchor {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 10px 0 -30px 0;
	text-align: center;
}
.sp ul.category_anchor {
	margin: 0 0 -15px 0;
}
ul.category_anchor li {
	margin: 0 15px 30px;
	background: #fff;
	border-radius: 40px;
	display: table;
	min-height: 40px;
}
.sp ul.category_anchor li {
	margin: 0 7px 15px;
}
ul.category_anchor li a {
	position: relative;
	display: table-cell;
	vertical-align: middle;
	color: #fff;
	border-radius: 40px;
	line-height: 1.3;
	padding: 0.6rem 56px 0.6rem 30px;
	background: #646464;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
ul.category_anchor li a:before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1;
	pointer-events: none;
}
ul.category_anchor li a:after {
	content: "";
	position: absolute;
	border-top: 8px solid #646464;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 16px;
	top: calc(50% - 3px);
	z-index: 2;
	pointer-events: none;
}

.irnotice {
	border: 1px solid #000 !important;
	padding: 20px !important;
	max-width: 1180px !important;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.irnotice p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
.irnotice a {
	display: inline !important;
	color: #646464;
}
.irnotice a.pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_pdf.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}

.irnotice + .category_anchor, .irnotice + .popup {
	margin-top: 60px;
}
.sp .irnotice + .category_anchor, .sp .irnotice + .popup {
	margin-top: 40px;
}

.irnoticebnr {
	background: url(/common/images/irnoticebnr.jpg) no-repeat center;
	background-size: cover;
	width: 100%;
	padding: 40px 0;
	display: block;
	margin-top: 30px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	text-align: center;
}
.irnoticebnr:hover {
	opacity: 0.7;
}
.sp .irnoticebnr {
	padding: 20px 0;
}
.irnoticebnr span {
	position: relative;
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 52px;
	line-height: 2.88889rem;
	color: #fff;
}
.sp .irnoticebnr span {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 26px;
	line-height: 1.44444rem;
}
.irnoticebnr span:after {
	content: "";
	position: absolute;
	display: block;
	left: 50%;
	transform: translateX(-50%);
	bottom: -20px;
	width: 80px;
	height: 5px;
	background: linear-gradient(to right, #EC242E, #FEC904);
}
.sp .irnoticebnr span:after {
	height: 3px;
	bottom: -8px;
}

#news_area.irnotice_p {
	padding-top: 40px;
}

main .contents .column.category_anchor {
	margin: 0 0 -20px -20px;
}
main .contents .column.category_anchor li {
	margin: 0 0 20px 20px;
}
main .contents .column.category_anchor li a {
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 1.3;
}
main .contents .column.category_anchor li a.small {
	padding-top: 12px;
	padding-bottom: 12px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
.sp main .contents .column.category_anchor li a.small {
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
}
main .contents .column.category_anchor li a:before {
	top: 50%;
	transform: translateY(-50%);
}
main .contents .column.category_anchor li a:after {
	top: calc(50% + 5px);
	transform: translateY(-50%);
}

.subtitle {
	margin-top: 30px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 21.6px;
	line-height: 1.2rem;
	font-weight: bold;
	text-align: center;
}
.subtitle.small {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 19.2px;
	line-height: 1.06667rem;
}
.subtitle.backnumber {
	margin-top: 60px;
}
.subtitle + .button {
	margin-top: 20px !important;
}

.pdflist:after {
	content: "";
	display: block;
	clear: both;
}
.pdflist > div {
	margin-top: 10px;
}
.pdflist > div .q {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
	font-weight: bold;
}
.pdflist > div .q.none {
	color: #ececec;
}
.sp .pdflist > div .q {
	text-align: center;
}
.pdflist > div .button {
	margin-top: 10px !important;
}
.pdflist > div .button > a, .pdflist > div .button > span {
	display: block !important;
	width: 100%;
	min-width: auto;
}
.sp .pdflist > div .button > a, .sp .pdflist > div .button > span {
	width: auto;
}

.pdf_img {
	margin-top: 20px;
	text-align: center;
}
.sp .pdf_img {
	text-align: center;
}
.pdf_img img {
	display: inline;
	border: 1px solid #000000;
	max-width: 100%;
	height: auto;
}
.pdf_img a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pdf_img a:hover {
	opacity: 0.7;
}
.pdf_img + .button.pdf {
	margin-top: 20px !important;
}

.button {
	display: flex;
	flex-flow: row wrap;
	margin-top: 30px;
}
.sp .button {
	justify-content: center;
}
.button.center {
	text-align: center;
	justify-content: center;
}
.sp .button.center a, .sp .button.center button {
	margin: 0 10px 10px 10px;
}
.button.right {
	text-align: right;
	justify-content: flex-end;
}
.button.left {
	text-align: left;
	justify-content: flex-start;
}
.sp .button {
	width: 100%;
}
.sp .button.column {
	width: auto;
}
.button.column a {
	min-width: 0;
}
.button.column.min9 > * {
	min-width: calc((100% - 20px * 9 - 4px) / 9);
}
.button.col5.spcol1 > *:nth-of-type(5n+1) {
	clear: both;
}
.button a, .button button {
	display: inline-block;
	min-width: 220px;
	padding: 12px 20px 12px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	position: relative;
	z-index: 2;
	background-color: #646464;
	color: #fff !important;
	overflow: hidden;
	border: none;
	border-radius: 5px;
	font-weight: 400;
	cursor: pointer;
}
.button a::before, .button a::after, .button button::before, .button button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button a.small, .button button.small {
	padding: 12px 10px 12px 10px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
.sp .button a.small, .sp .button button.small {
	padding: 12px 20px 12px 20px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
}
.button a, .button a::before, .button a::after, .button button, .button button::before, .button button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button a:before, .button button:before {
	height: 100%;
	width: 100%;
	padding-right: 20px;
	top: 0;
	left: 0;
	background: url(/common/images/arrow_button.svg) no-repeat right 30px center;
	opacity: 0;
	z-index: 2;
}
.button a:hover::before, .button button:hover::before {
	background: url(/common/images/arrow_button.svg) no-repeat right 10px center;
	opacity: 1;
}
.button a::after, .button button::after {
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	background: linear-gradient(to right, #EC242E, #FEC904);
}
.button a:hover::after, .button button:hover::after {
	width: 100%;
}
.button a + a, .button a + button, .button button + a, .button button + button {
	margin-left: 20px;
}
.button > span {
	display: inline-block;
	min-width: 190px;
	padding: 12px 20px 12px 20px;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #646464;
	color: #fff !important;
	overflow: hidden;
	border-radius: 5px;
	font-weight: bold;
	letter-spacing: normal;
}
.button.pdf a {
	padding-right: 20px !important;
}
.button.pdf a::before {
	display: none;
}
.button.pdf a span::after {
	content: "";
	position: relative;
	top: -2px;
	display: inline-block;
	margin-left: 10px;
	vertical-align: middle;
	width: 18px;
	height: 20px;
	background: url(/common/images/ico_pdf.svg) no-repeat;
	background-size: 18px 20px;
}
.button.none span {
	display: block;
	text-align: center;
	text-decoration: none;
	line-height: 1.5;
	outline: none;
	position: relative;
	z-index: 2;
	background-color: #646464;
	color: #fff;
	overflow: hidden;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	background-color: #ececec;
	height: 46px;
	letter-spacing: normal;
	text-align: left;
}
.button.icon a {
	font-size: 15px;
	font-size: 0.83333rem;
	line-height: 16.5px;
	line-height: 0.91667rem;
	padding: 12px 2px 12px 2px;
}
.sp .button.icon a {
	min-width: 100px;
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 13.2px;
	line-height: 0.73333rem;
}
.button.icon a img {
	margin-bottom: 5px;
}
.sp .button.icon a img {
	width: 60px;
}
.button .pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(/common/images/newsico_pdf_w.svg) no-repeat !important;
	background-size: 18px 20px !important;
}
.button .pdf a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button .pdf a:hover {
	opacity: 0.7;
}
.button .pdf a:before {
	display: none;
}
.button .blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	vertical-align: middle;
	overflow: hidden;
	background: url(/common/images/newsico_blank_w.svg) no-repeat !important;
	background-size: 18px 20px !important;
}
.button .blank a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button .blank a:hover {
	opacity: 0.7;
}
.button .blank a:before {
	display: none;
}
.button.no_action a:hover::before {
	opacity: 0;
}
.button.no_action a:hover::after {
	width: 0;
}
.sp .button.sp_sausage {
	display: block;
	overflow-x: auto;
	overflow-y: hidden;
	letter-spacing: -1rem;
	white-space: nowrap;
}
.sp .button.sp_sausage::-webkit-scrollbar {
	height: 8px;
}
.sp .button.sp_sausage::-webkit-scrollbar-track {
	border-radius: 6px;
	background: #eee;
}
.sp .button.sp_sausage::-webkit-scrollbar-thumb {
	border-radius: 6px;
	background: #666;
}
.sp .button.sp_sausage > * {
	letter-spacing: normal;
	display: inline-block;
	min-width: 130px;
	width: auto !important;
}
.button.selects a:before {
	display: none;
}
.button.selects a.on:after {
	width: 100%;
}

.Transportation_Record .table tr td:last-child {
	font-weight: bold;
}

main .contents .text .pdf:after, main .contents .table .pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_pdf.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .text .pdf a, main .contents .table .pdf a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text .pdf a:hover, main .contents .table .pdf a:hover {
	opacity: 0.7;
}
main .contents .text .pdf a:before, main .contents .table .pdf a:before {
	display: none;
}
main .contents .text .blank:after, main .contents .table .blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_blank.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .text .blank a, main .contents .table .blank a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text .blank a:hover, main .contents .table .blank a:hover {
	opacity: 0.7;
}
main .contents .text .blank a:before, main .contents .table .blank a:before {
	display: none;
}
main .contents .text .blank_w:after, main .contents .table .blank_w:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_blank_w.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .text .blank_w a, main .contents .table .blank_w a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text .blank_w a:hover, main .contents .table .blank_w a:hover {
	opacity: 0.7;
}
main .contents .text .blank_w a:before, main .contents .table .blank_w a:before {
	display: none;
}
main .contents .text .category, main .contents .table .category {
	padding: 5px 10px;
	margin-right: 10px;
	background: #CDD6DD;
	color: #fff;
}
main .contents .text.border_b, main .contents .table.border_b {
	padding-bottom: 20px;
	border-bottom: 1px solid #CDD6DD;
}

main .contents .column.index_menu > a:hover {
	opacity: 1;
}

div.input.search {
	position: relative;
	width: 80%;
	margin: 30px auto 0;
}
div.input.search input {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
div.input.search button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}

* + p {
	margin-top: 20px;
}

.error_mes {
	color: #f00;
	line-height: 1.5;
	margin-bottom: 30px;
}

.notice {
	color: #EC212F;
	font-weight: bold;
}

.year_select {
	margin-top: 20px;
	text-align: center;
}
.sp .year_select {
	margin-top: 15px;
}
.year_select > * {
	display: inline-block;
	vertical-align: middle;
}
.sp .year_select > * {
	display: block;
	margin: auto;
}
.year_select .select {
	margin: 0 0 0 10px;
	width: 300px;
}
.sp .year_select .select {
	margin: 20px auto 0 auto;
}

main .contents .philosophies_box {
	position: relative;
	height: 680px;
	background: url(/about/images/philosophies01.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
}
.sp main .contents .philosophies_box {
	height: auto;
}
main .contents .philosophies_box:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.6);
	z-index: 2;
}
main .contents .philosophies_box > * {
	position: relative;
	top: 50%;
	padding: 20px;
	transform: translateY(-50%);
	z-index: 5;
}
.sp main .contents .philosophies_box > * {
	top: 0;
	transform: none;
}
main .contents .philosophies_box > * p {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 60px;
	line-height: 3.33333rem;
	text-align: center;
}
.sp main .contents .philosophies_box > * p {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 40px;
	line-height: 2.22222rem;
}
main .contents .philosophies_box > * p.title {
	margin-bottom: 3rem;
	font-size: 40px;
	font-size: 2.22222rem;
	line-height: 52px;
	line-height: 2.88889rem;
}
.sp main .contents .philosophies_box > * p.title {
	margin-bottom: 2rem;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}

main .contents .career_box {
	position: relative;
	background: url(/upload/images/bg_career.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
}
.sp main .contents .career_box {
	height: auto;
}
main .contents .career_box:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.6);
	z-index: 2;
}
main .contents .career_box > div {
	position: relative;
	padding: 30px;
	z-index: 5;
	max-width: 900px !important;
}
main .contents .career_box span.img img {
	display: inline-block;
	margin-left: 10px;
}

main .contents .tagline_box {
	position: relative;
	background: url(/upload/images/tagline01.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
}
.sp main .contents .tagline_box {
	height: auto;
}
main .contents .tagline_box:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.75);
	z-index: 2;
}
main .contents .tagline_box > div {
	position: relative;
	padding: 30px;
	z-index: 5;
	max-width: 900px !important;
}
main .contents .tagline_box > div.center {
	text-align: center;
}
main .contents .tagline_box span.img img {
	display: inline-block;
	margin-left: 10px;
}

.office_box .cat {
	margin-top: 10px;
	padding: 5px 10px;
	display: inline-block;
	min-width: 190px;
	border: 1px solid #000000;
	text-align: center;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
}
.office_box dl {
	display: flex;
	margin-top: 10px;
	flex-wrap: wrap;
}
.office_box dl dt {
	margin: 20px 0 0 0;
	width: 6rem;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
	font-weight: bold;
}
.office_box dl dd {
	margin: 20px 0 0 0;
	width: calc(100% - 6rem);
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
}
.office_box ul.servicetype {
	display: flex;
	margin-top: 20px;
	flex-wrap: wrap;
}
.office_box ul.servicetype li {
	margin-right: 20px;
}
.sp .office_box ul.servicetype li {
	margin-bottom: 20px;
}
.office_box ul.servicetype li img {
	display: inline;
	margin: 0;
}

main .contents .values_box {
	position: relative;
	height: 680px;
	background: url(/about/images/values01.jpg) no-repeat center center;
	background-size: cover;
	z-index: 1;
}
.sp main .contents .values_box {
	height: auto;
}
main .contents .values_box:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(255, 255, 255, 0.6);
	z-index: 2;
}
main .contents .values_box > * {
	position: relative;
	top: 50%;
	padding: 20px;
	transform: translateY(-50%);
	z-index: 5;
}
.sp main .contents .values_box > * {
	top: 0;
	transform: none;
}
main .contents .values_box > * .text ol li + li {
	margin-top: 20px;
}
.sp main .contents .values_box > * .text ol li + li {
	margin-top: 10px;
}

main .contents .column.full {
	margin: 0 auto;
}
main .contents .column.full > * {
	margin-left: 0;
}
main .contents .column.full.col2 > * {
	width: 50%;
}
main .contents .column.full.col4 > * {
	width: 25%;
}
main .contents .column.full.col3 > * {
	width: 33.33%;
}
.sp main .contents .column.full.spcol2 > * {
	width: 50% !important;
}
.sp main .contents .column.full.spcol1 > * {
	width: 100% !important;
}

.indent {
	display: table;
	width: 100%;
}
.indent > * {
	display: table-cell;
	vertical-align: top;
}
.indent + .indent {
	margin-top: 0 !important;
}

.to_top {
	position: relative;
	text-align: right;
}
.to_top a {
	display: inline-block !important;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	padding-right: 25px;
	color: #646464;
}
.to_top a:hover {
	opacity: 0.7;
}
.to_top a:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: 3px;
	background: url(/common/images/arrow_top.svg) no-repeat center center;
	transition: all .3s;
}

main .contents .column.leadership > * {
	margin-bottom: 40px;
}
.sp main .contents .column.leadership > * {
	margin-bottom: 20px;
}
main .contents .column.leadership > * .text {
	margin-top: 20px;
	text-align: center;
}
.sp main .contents .column.leadership > * .text {
	margin-top: 10px;
}
main .contents .column.col3 > div:nth-of-type(3n+1) {
	clear: both;
}
main .contents .column.center {
	justify-content: center;
}
main .contents .column.center > * {
	display: inline-block;
	float: none;
	vertical-align: top;
	letter-spacing: normal;
}
main .contents .column.center > * .title {
	padding-bottom: 0;
}
main .contents .column.center > * .title:after {
	display: none;
}
main .contents .column.center.index_menu > * .title {
	padding-bottom: 15px;
}
main .contents .column.center.index_menu > * .title:after {
	display: block;
}
main .contents .column.middle {
	align-items: center;
}

main .contents .leadership.no_image > div + div {
	margin-top: 20px;
}
main .contents .leadership.no_image > div > div {
	text-align: center;
}
main .contents .leadership.no_image > div > div p {
	margin: 0 10px;
	display: inline-block;
	vertical-align: top;
}
.sp main .contents .leadership.no_image > div > div p {
	display: block;
}

main .contents .calendar {
	overflow: hidden;
	margin-top: 110px;
}
.sp main .contents .calendar {
	margin-top: 55px;
}
main .contents .calendar a {
	position: relative;
	display: block;
	padding-top: 20%;
	color: #fff;
}
.sp main .contents .calendar a {
	padding-top: 56%;
}
main .contents .calendar a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
main .contents .calendar a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url(/upload/images/calendar_bg.jpg) no-repeat center center;
	background-size: cover;
	transition: transform 0.8s;
}
main .contents .calendar a:hover:before {
	transform: scale(1.1) rotate(0.0001deg);
}
main .contents .calendar a span {
	position: absolute;
	left: 50%;
	top: 50%;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: bold;
	transform: translate(-50%, -50%);
	z-index: 5;
}
.sp main .contents .calendar a span {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents .calendar a span:after {
	content: "";
	display: block;
	margin: 10px auto 0;
	width: 1.5rem;
	height: 1rem;
	top: calc(0.5rem - 3px);
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transition: all .3s;
	opacity: 0;
}
main .contents .calendar a:hover span:after {
	opacity: 1;
}

main .contents .library {
	overflow: hidden;
	margin: 70px 0;
}
.sp main .contents .library {
	margin: 35px 0;
}
main .contents .library a {
	position: relative;
	display: block;
	height: 336px;
	color: #fff;
}
.sp main .contents .library a {
	height: auto;
	padding-top: 56%;
}
main .contents .library a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
main .contents .library a:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: url(/upload/images/library_bg.jpg) no-repeat center center;
	background-size: cover;
	transition: transform 0.8s;
}
main .contents .library a:hover:before {
	transform: scale(1.1) rotate(0.0001deg);
}
main .contents .library a span {
	position: absolute;
	left: 50%;
	top: 50%;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: 400;
	transform: translate(-50%, -50%);
	z-index: 5;
}
.sp main .contents .library a span {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents .library a span:after {
	content: "";
	display: block;
	margin: 10px auto 0;
	width: 1.5rem;
	height: 1rem;
	top: calc(0.5rem - 3px);
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transition: all .3s;
	opacity: 0;
}
main .contents .library a:hover span:after {
	opacity: 1;
}

#block03.sustainability {
	background: url(/images/index_sustainability_bg.jpg) no-repeat center center;
	background-size: cover;
}
.sp #block03.sustainability {
	background: url(/images/index_sustainability_bg.jpg) no-repeat center center !important;
	background-size: cover !important;
}
#block03.sustainability > .bg > div.index_sustainability01 {
	background-image: url(/images/index_sustainability01.jpg);
}
#block03.sustainability > .bg > div.index_sustainability02 {
	background-image: url(/images/index_sustainability02.jpg);
}
#block03.sustainability > .bg > div.index_sustainability03 {
	background-image: url(/images/index_sustainability03.jpg);
}
#block03.sustainability > .bg > div.index_sustainability04 {
	background-image: url(/images/index_sustainability04.jpg);
}
#block03.sustainability > .bg > div.index_sustainability05 {
	background-image: url(/images/index_sustainability05.jpg);
}
#block03.sustainability > .bg > div.index_sustainability06 {
	background-image: url(/images/index_sustainability06.jpg);
}
#block03.sustainability > .bg > div.index_sustainability07 {
	background-image: url(/images/index_sustainability07.jpg);
}
#block03.sustainability > .bg > div.index_sustainability08 {
	background-image: url(/images/index_sustainability08.jpg);
}
#block03.sustainability > .bg > div.index_sustainability09 {
	background-image: url(/images/index_sustainability09.jpg);
}
#block03.sustainability > .bg > div.index_sustainability10 {
	background-image: url(/images/index_sustainability10.jpg);
}
#block03.sustainability > .bg > div.index_sustainability11 {
	background-image: url(/images/index_sustainability11.jpg);
}
#block03.sustainability > .bg > div.index_sustainability12 {
	background-image: url(/images/index_sustainability12.jpg);
}
#block03.sustainability > .bg > div.index_sustainability13 {
	background-image: url(/images/index_sustainability13.jpg);
}
#block03.sustainability > .bg > div.index_sustainability14 {
	background-image: url(/images/index_sustainability14.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability01 {
	background-image: url(/jp/images/index_sustainability01.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability02 {
	background-image: url(/jp/images/index_sustainability02.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability03 {
	background-image: url(/jp/images/index_sustainability03.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability04 {
	background-image: url(/jp/images/index_sustainability04.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability05 {
	background-image: url(/jp/images/index_sustainability05.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability06 {
	background-image: url(/jp/images/index_sustainability06.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability07 {
	background-image: url(/jp/images/index_sustainability07.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability08 {
	background-image: url(/jp/images/index_sustainability08.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability09 {
	background-image: url(/jp/images/index_sustainability09.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability10 {
	background-image: url(/jp/images/index_sustainability10.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability11 {
	background-image: url(/jp/images/index_sustainability11.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability12 {
	background-image: url(/jp/images/index_sustainability12.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability13 {
	background-image: url(/jp/images/index_sustainability13.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability14 {
	background-image: url(/jp/images/index_sustainability14.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability15 {
	background-image: url(/jp/images/index_sustainability15.jpg);
}
.jp #block03.sustainability > .bg > div.index_sustainability16 {
	background-image: url(/jp/images/index_sustainability16.jpg);
}
#block03.sustainability h2 a {
	color: #fff;
}
#block03.sustainability h2 a:hover {
	opacity: 0.7;
}

#block03.casestudy {
	background: url(/jp/upload/images/industries_bg.jpg) no-repeat center center;
	background-size: cover;
}
#block03.casestudy > .bg > div.index_casestudy01 {
	background-image: url(/images/index_casestudy01.jpg);
}
#block03.casestudy > .bg > div.index_casestudy02 {
	background-image: url(/images/index_casestudy02.jpg);
}
#block03.casestudy > .bg > div.index_casestudy03 {
	background-image: url(/images/index_casestudy03.jpg);
}
#block03.casestudy > .bg > div.index_casestudy04 {
	background-image: url(/images/index_casestudy04.jpg);
}
#block03.casestudy > .bg > div.index_casestudy05 {
	background-image: url(/images/index_casestudy05.jpg);
}
#block03.casestudy > .bg > div.index_casestudy06 {
	background-image: url(/images/index_casestudy06.jpg);
}
#block03.casestudy > .bg > div.index_casestudy07 {
	background-image: url(/images/index_casestudy07.jpg);
}
#block03.casestudy > .bg > div.index_casestudy08 {
	background-image: url(/images/index_casestudy08.jpg);
}
#block03.casestudy > .bg > div.index_casestudy09 {
	background-image: url(/images/index_casestudy09.jpg);
}
#block03.casestudy h2 {
	color: #fff;
}

#block03.individual_investor {
	background: url(/jp/upload/images/individual_investor_bg.jpg) no-repeat center center;
	background-size: cover;
}
.sp #block03.individual_investor {
	background: url(/jp/upload/images/individual_investor_bg.jpg) no-repeat center center !important;
	background-size: cover;
}
.jp #block03.individual_investor > .bg > div.individual_investor01 {
	background-image: url(/jp/images/individual_investor01.jpg);
}
.jp #block03.individual_investor > .bg > div.individual_investor02 {
	background-image: url(/jp/images/individual_investor02.jpg);
}
.jp #block03.individual_investor > .bg > div.individual_investor03 {
	background-image: url(/jp/images/individual_investor03.jpg);
}
.jp #block03.individual_investor > .bg > div.individual_investor04 {
	background-image: url(/jp/images/individual_investor04.jpg);
}
.jp #block03.individual_investor > .bg > div.individual_investor05 {
	background-image: url(/jp/images/individual_investor05.jpg);
}

.bg_gray {
	background: #F0F3F5;
}

.tab_button li a {
	display: block;
	text-align: center;
	padding: 10px;
	background: #DBDFEA;
	color: #333;
	font-weight: bold;
	border-radius: 5px;
}
.tab_button li.current a {
	background: #223185;
	color: #fff;
}
.tab_button.stx li {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
}
.pc .tab_button.stx li {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
.tab_button.stx li a {
	padding: 10px 5px;
}

#location_slide {
	visibility: hidden;
}
#location_slide > div {
	position: relative;
	width: 100%;
	height: 610px;
	overflow: hidden;
}
#location_slide > div::before, #location_slide > div::after {
	content: "";
	position: absolute;
	display: block;
	width: calc((100% - 1180px) / 2);
	height: 100%;
	left: 0;
	top: 0;
	background: #f00;
	background-color: rgba(255, 255, 255, 0.4);
	z-index: 5;
}
#location_slide > div::after {
	left: auto;
	right: 0;
}
.sp #location_slide > div {
	height: 300px;
}
#location_slide > div ul.board {
	display: flex;
	position: absolute;
}
#location_slide > div ul.board li {
	width: 1180px;
	height: 610px;
	background: no-repeat center center;
	background-size: cover;
}
.sp #location_slide > div ul.board li {
	height: 300px;
}
#location_slide > div div.controller {
	position: absolute;
	width: 100%;
	height: 100%;
}
#location_slide > div div.controller > a {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: #646464;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	z-index: 10;
}
#location_slide > div div.controller > a:hover {
	opacity: 0.7;
}
#location_slide > div div.controller > a.prev::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 0px;
	border-top: 8px solid transparent;
	border-right: 12px solid #fff;
	border-bottom: 8px solid transparent;
	border-left: 12px solid transparent;
}
#location_slide > div div.controller > a.next::after {
	content: "";
	position: absolute;
	top: 12px;
	left: 15px;
	border-top: 8px solid transparent;
	border-left: 12px solid #fff;
	border-bottom: 8px solid transparent;
	border-right: 12px solid transparent;
}

main .contents .related_menu {
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
	letter-spacing: -1rem;
}
main .contents .related_menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .related_menu.center {
	justify-content: flex-start !important;
}
main .contents .related_menu > a, main .contents .related_menu > span {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	color: #333;
	letter-spacing: normal;
}
main .contents .related_menu > a + a:after, main .contents .related_menu > a + span:after, main .contents .related_menu > span + a:after, main .contents .related_menu > span + span:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 100%;
	left: -11px;
	top: 0;
	background: #CDD6DD;
}
.sp main .contents .related_menu > a + a:after, .sp main .contents .related_menu > a + span:after, .sp main .contents .related_menu > span + a:after, .sp main .contents .related_menu > span + span:after {
	left: -6px;
}
.sp main .contents .related_menu > a:nth-of-type(2n+1):after, .sp main .contents .related_menu > span:nth-of-type(2n+1):after {
	display: none;
}
main .contents .related_menu > a:not(span):hover .image span, main .contents .related_menu > span:not(span):hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
main .contents .related_menu > a:not(span):hover .info, main .contents .related_menu > span:not(span):hover .info {
	top: -15px;
}
.sp main .contents .related_menu > a:not(span):hover .info, .sp main .contents .related_menu > span:not(span):hover .info {
	top: 0px;
}
main .contents .related_menu > a .image, main .contents .related_menu > span .image {
	position: relative;
	display: block;
	padding-top: 54%;
	overflow: hidden;
}
main .contents .related_menu > a .image span, main .contents .related_menu > span .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
main .contents .related_menu > a .title, main .contents .related_menu > span .title {
	display: block;
	position: relative;
	text-align: center;
	margin-top: 10px;
	padding-right: 30px;
	text-align: left;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 20.8px;
	line-height: 1.15556rem;
}
.sp main .contents .related_menu > a .title, .sp main .contents .related_menu > span .title {
	padding-right: 0;
}
main .contents .related_menu > a .title:after, main .contents .related_menu > span .title:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(/common/images/arrow_text.svg) no-repeat right 20px center;
	opacity: 0;
	transition: all .3s;
}
.sp main .contents .related_menu > a .title:after, .sp main .contents .related_menu > span .title:after {
	display: none;
}
main .contents .related_menu > a .title .blank:after, main .contents .related_menu > span .title .blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(/common/images/newsico_blank.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .related_menu > a:not(span):hover .title:after, main .contents .related_menu > span:not(span):hover .title:after {
	background: url(/common/images/arrow_text.svg) no-repeat right 0 center;
	opacity: 1;
}
main .contents .related_menu > span .title:after {
	display: none;
}
main .contents .related_menu.center {
	text-align: center;
}
.sp main .contents .related_menu.center {
	text-align: left;
}

main .contents .column.middle_block > div > div {
	max-width: 380px;
	margin-left: auto;
	margin-right: auto;
}

.h1_location {
	margin: 120px 0 20px 0;
	padding: 0 20px;
	text-align: center;
	font-size: 80px;
	font-size: 4.44444rem;
	line-height: 104px;
	line-height: 5.77778rem;
	font-weight: 400;
}
.sp .h1_location {
	margin-top: 100px;
	font-size: 26px;
	font-size: 1.44444rem;
	line-height: 33.8px;
	line-height: 1.87778rem;
}
.h1_location br {
	display: none;
}

ul.tab_language {
	margin: -10px -5px 0 -5px;
	text-align: center;
	letter-spacing: -1rem;
}
ul.tab_language li {
	margin: 10px 5px 0 5px;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
ul.tab_language li a {
	display: inline-block;
	padding: 8px 20px;
	min-width: 125px;
	color: #000000;
	background: #F0F3F5;
	font-weight: bold;
	border-radius: 5px;
}
ul.tab_language li.current a {
	background: #004098;
	color: #fff;
}

main .contents .background.social_area {
	margin-top: 80px;
	padding: 30px 20px;
	background: #F0F3F5;
}
.sp main .contents .background.social_area {
	margin-top: 40px;
	padding: 15px 10px;
}
main .contents .background.social_area .inner {
	padding-top: 0;
	text-align: center;
	letter-spacing: -1rem;
}
.sp main .contents .background.social_area .inner {
	padding: 0 10px;
}
main .contents .background.social_area .inner > div {
	display: inline-block;
	letter-spacing: normal;
	vertical-align: middle;
}
main .contents .background.social_area .inner > div + div {
	margin-left: 45px;
}
.sp main .contents .background.social_area .inner > div + div {
	margin-left: 20px;
}
main .contents .background.social_area .inner > div p {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 45px;
	line-height: 2.5rem;
	font-weight: bold;
	color: #004098;
}
.sp main .contents .background.social_area .inner > div p {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 30px;
	line-height: 1.66667rem;
}
main .contents .background.social_area .inner > div a {
	display: inline-block;
}
main .contents .background.social_area .inner > div a + a {
	margin-left: 30px;
}
.sp main .contents .background.social_area .inner > div a + a {
	margin-left: 10px;
}
main .contents .background.social_area .inner > div a img {
	display: inline;
	vertical-align: bottom;
}
.sp main .contents .background.social_area .inner > div a img {
	width: 50px;
	max-width: 9vw;
}

main .contents .background.contact_button {
	padding-bottom: 40px;
	background: #F0F3F5;
}

main .contents .people_profile {
	position: relative;
}
main .contents .people_profile .profile_block {
	position: absolute;
	top: 40%;
	left: 20px;
	right: auto;
}
.sp main .contents .people_profile .profile_block {
	position: static;
	margin-top: 20px;
}
main .contents .people_profile .profile_block.right {
	left: auto;
	right: 20px;
	text-align: right;
}
main .contents .people_profile .profile_block p {
	margin: 0;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
	color: #fff;
	text-shadow: 1px 1px 5px #000, -1px -1px 5px #000;
}
.sp main .contents .people_profile .profile_block p {
	color: #000;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
	text-align: left !important;
	text-shadow: none;
}
main .contents .people_profile .profile_block p.title {
	margin-bottom: 5px;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 90px;
	line-height: 5rem;
}
.sp main .contents .people_profile .profile_block p.title {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 45px;
	line-height: 2.5rem;
}

main .contents .local_map {
	position: relative;
}
main .contents .local_map a {
	position: absolute;
	display: block;
	min-width: 15rem;
	padding: 0.9rem 0.6rem;
	text-align: center;
	color: #fff;
	font-weight: bold;
	border-radius: 10px;
	background: #646464;
	font-size: 22px;
	font-size: 1.22222rem;
	line-height: 28.6px;
	line-height: 1.58889rem;
	transition: opacity 0.2s, background 0.2s;
	box-shadow: 0 0 5px 5px rgba(152, 166, 181, 0.5);
}
.sp main .contents .local_map a {
	display: none;
}
main .contents .local_map a:hover {
	background: #004098;
	transition: opacity 0.2s, background 0.2s;
}
main .contents .local_map a.area01 {
	top: 15%;
	left: 39%;
}
main .contents .local_map a.area02 {
	top: 33%;
	right: 0;
}
main .contents .local_map a.area03 {
	top: 33%;
	left: 0;
}
main .contents .local_map a.area04 {
	top: 44%;
	left: 47%;
}
main .contents .local_map a.area05 {
	top: 60%;
	left: 22%;
}

.contact_left_indent {
	margin-left: 11rem;
}
.sp .contact_left_indent {
	margin-left: 0;
}

.contact_right_indent {
	margin-right: 11rem;
}
.sp .contact_right_indent {
	margin-right: 0;
}

.contact_anchor {
	position: relative;
	margin: 150px 0 10px 0;
}
.contact_anchor:before {
	content: "";
	position: absolute;
	display: block;
	left: 49.5%;
	top: -75px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #646464;
	border-right: 2px solid #646464;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
.contact_anchor.top {
	margin-top: 100px;
}
.contact_anchor.top:before {
	display: none;
}
.contact_anchor ul {
	margin-left: 20px;
	text-align: center;
}
.contact_anchor ul li {
	display: inline-block;
	margin-right: 20px;
}
.contact_anchor ul li a {
	display: block;
	width: 13px;
	height: 13px;
	border: 1px solid #646464;
	border-radius: 50%;
}
.contact_anchor ul li.current a {
	background: #CDD6DD;
}
.contact_anchor + h3 {
	margin-top: 0 !important;
}

.sp .sp_full {
	width: 100% !important;
}

.font_small {
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 15.6px;
	line-height: 0.86667rem;
}

main .contents .local_select {
	width: 100%;
	z-index: 15;
	max-width: 580px;
	margin: 60px auto 20px;
	border-radius: 8px;
	border: 1px solid #ccc;
}
.sp main .contents .local_select {
	position: relative;
	margin: 30px 10px 10px 10px;
	width: auto;
	max-width: none;
	box-shadow: 0px 0px 5px 2px #ccc;
	border-radius: 5px;
}
main .contents .local_select .column > div {
	height: 100px;
	margin-bottom: 0;
}
main .contents .local_select .column > div.map {
	background: url(/images/searchcol_map.png) no-repeat center right;
	background-size: contain;
}
main .contents .local_select h3 {
	padding-top: 30px !important;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
	font-weight: 300;
}
main .contents .local_select div.select {
	position: relative;
	width: 90%;
	margin: 30px auto 0;
}
main .contents .local_select div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
main .contents .local_select div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 13px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
main .contents .local_select div.select select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #888;
	background: #fff;
}
main .contents .local_select div.select select::-ms-expand {
	display: none;
}

#action_area {
	position: fixed;
	top: 30%;
	right: 0;
	z-index: 40;
}
.sp #action_area {
	display: flex;
	flex-flow: row wrap;
	top: auto;
	bottom: -1px;
	width: 100%;
	padding: 0 10px;
	text-align: center;
}
#action_area > * {
	position: relative;
	display: block;
	width: 80px;
	margin: 0 0 0 auto;
	transition: 0.4s;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	box-shadow: 0 0 3px 3px rgba(152, 166, 181, 0.5);
}
.bp2 #action_area > * {
	width: 55px;
}
.pc #action_area > * {
	width: 22px;
}
.sp #action_area > * {
	letter-spacing: normal;
	text-align: center;
	border-top-right-radius: 5px;
	border-bottom-left-radius: 0;
	width: calc((100% - 24px) / 4);
}
.sp #action_area > * + * {
	margin-left: 8px;
}
#action_area > *.on {
	width: 320px;
}
.sp #action_area > *.on {
	width: calc((100% - 24px) / 4);
}
#action_area > *.on .head {
	position: relative;
	cursor: default;
	border-bottom-left-radius: 0;
}
.sp #action_area > *.on .head .image, .sp #action_area > *.on .head .text {
	opacity: 0;
}
#action_area > *.on .close {
	opacity: 1;
	pointer-events: auto;
}
#action_area > *.on .body {
	display: block;
	height: 240px;
	transition-delay: .3s;
	background: #fff;
}
.sp #action_area > *.on .body {
	bottom: 83px;
	box-shadow: 0 0 3px 3px rgba(152, 166, 181, 0.5);
}
#action_area > *.on.office .body {
	height: 105px;
}
#action_area > *.on.office .body p {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
.en #action_area > *.on.office .body p {
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 13.2px;
	line-height: 0.73333rem;
}
#action_area > * + * {
	margin-top: 10px;
}
.sp #action_area > * + * {
	margin-top: 0;
}
#action_area > * .head {
	width: 100%;
	padding-top: 15px;
	background: #004098;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	cursor: pointer;
	height: 80px;
	border: none;
	opacity: 0.9;
}
.bp2 #action_area > * .head {
	padding-top: 20px;
}
.bp2 #action_area > * .head .image img {
	width: 26px;
}
.bp2 #action_area > * .head .text p {
	font-size: 10px;
	font-size: 0.55556rem;
	line-height: 11px;
	line-height: 0.61111rem;
}
.pc #action_area > * .head {
	padding-top: 0;
}
.pc #action_area > * .head .image {
	display: none;
}
.pc #action_area > * .head .text p {
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 13.2px;
	line-height: 0.73333rem;
}
.jp.pc #action_area > * .head .text p {
	font-size: 11px;
	font-size: 0.61111rem;
	line-height: 12.1px;
	line-height: 0.67222rem;
}
.sp #action_area > * .head {
	height: 83px;
	padding-top: 10px;
	text-align: center;
	border-top-right-radius: 5px;
	border-bottom-left-radius: 0;
	z-index: 20;
}
.sp #action_area > * .head .image {
	display: block;
}
.sp #action_area > * .head .image img {
	width: 31px;
}
.sp #action_area > * .head .text p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
.jp.sp #action_area > * .head .text p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
#action_area > * .head .icon {
	position: absolute;
	width: 80px;
	height: 80px;
	left: 0px;
	top: 0;
	padding-top: 10px;
}
.bp2 #action_area > * .head .icon {
	width: 40px;
	height: 40px;
	padding-top: 18px;
	margin-left: 10px;
}
.pc #action_area > * .head .icon {
	width: 22px;
	height: 25px;
	padding-top: 0;
	margin-left: 0px;
}
.sp #action_area > * .head .icon {
	position: static;
	width: auto;
	padding-top: 0;
	margin-top: -33px;
}
#action_area > * .close {
	position: absolute;
	padding: 30px 10px 10px 10px;
	right: 20px;
	top: 17px;
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transition: 0.4s;
	background: none;
	border: none;
	z-index: 100;
	pointer-events: none;
}
.bp2 #action_area > * .close {
	right: 0px;
	top: 20px;
	padding-top: 22px;
}
.sp #action_area > * .close {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding-top: 55px;
}
.sp #action_area > * .close p {
	display: block;
}
.bp2 #action_area > * .close p {
	font-size: 10px;
	font-size: 0.55556rem;
	line-height: 11px;
	line-height: 0.61111rem;
}
.pc #action_area > * .close p {
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 13.2px;
	line-height: 0.73333rem;
}
.jp.pc #action_area > * .close p {
	font-size: 11px;
	font-size: 0.61111rem;
	line-height: 12.1px;
	line-height: 0.67222rem;
}
.sp #action_area > * .close p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
	margin-top: -10px;
}
.jp.sp #action_area > * .close p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
#action_area > * .close:before {
	position: absolute;
	display: block;
	content: "";
	width: 22px;
	height: 1px;
	top: 1px;
	left: 22px;
	background: #fff;
	transform: translateY(12px) rotate(-45deg);
}
.bp2 #action_area > * .close:before {
	width: 16px;
	left: 14px;
}
.sp #action_area > * .close:before {
	width: 22px;
	top: 15px;
	left: calc(50% - 12px);
}
#action_area > * .close:after {
	position: absolute;
	display: block;
	content: "";
	width: 22px;
	height: 1px;
	top: 25px;
	left: 22px;
	background: #fff;
	transform: translateY(-12px) rotate(45deg);
}
.bp2 #action_area > * .close:after {
	width: 16px;
	left: 14px;
}
.sp #action_area > * .close:after {
	width: 22px;
	top: 39px;
	left: calc(50% - 12px);
}
#action_area > * .body {
	height: 0;
	overflow: hidden;
	transition: 0.4s;
}
.sp #action_area > * .body {
	position: fixed;
	width: calc(100% - 20px);
	left: 10px;
	bottom: 83px;
	transition-delay: 0s;
	background: #fff;
	z-index: 10;
	border-radius: 5px 5px 0 0;
}
#action_area > * .body .input {
	position: relative;
	margin-bottom: 20px;
	padding: 20px 20px 0;
}
#action_area > * .body .input .label {
	display: inline-block;
	width: 15%;
}
#action_area > * .body .input input {
	display: inline-block;
	width: 85%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
#action_area > * .body .input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 32px;
	top: 28px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
	text-indent: -9999px;
}
#action_area > * .body div.radio {
	padding: 0 0 0 20px;
}
.sp #action_area > * .body div.radio {
	padding-left: 0;
}
#action_area > * .body div.select {
	margin-top: 0;
	padding: 20px 20px 0px 20px;
}
#action_area > * .body div.select::before {
	right: 26px;
	top: 26px;
}
#action_area > * .body div.select::after {
	right: 33px;
	top: 36px;
}
#action_area > * .body ul {
	margin-top: 10px;
	padding-left: 20px;
}
.sp #action_area > * .body ul {
	padding-left: 0;
}
#action_area > * .body ul li {
	margin-top: 5px;
	margin-left: 0.6rem;
	text-indent: -0.6rem;
}
#action_area .text {
	position: relative;
	width: 100%;
	height: 40px;
}
.bp2 #action_area .text {
	height: 30px;
}
.pc #action_area .text {
	writing-mode: vertical-rl;
	height: 80px;
	text-align: center;
}
.sp #action_area .text {
	display: block;
	writing-mode: horizontal-tb;
	height: 25px;
}
#action_area .text p {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
	color: #fff;
	font-weight: 400;
}
.jp #action_area .text p {
	width: 100%;
}
.pc #action_area .text p {
	height: 100%;
}
.jp.pc #action_area .text p {
	width: auto;
}
.jp.sp #action_area .text p {
	width: 100%;
}
.sp #action_area .text p {
	height: auto;
}
#action_area .quote .text {
	height: 30px;
}
.bp2 #action_area .quote .text {
	height: 20px;
}
.pc #action_area .quote .text {
	height: 80px;
}
.sp #action_area .quote .text {
	height: 25px;
}
#action_area .calculator sub {
	display: inline-block;
	font-size: 1px !important;
	transform: scale(0.7);
	transform-origin: center bottom;
	vertical-align: bottom;
}
.sp #action_area .calculator .image {
	padding: 10px 0 4px;
}
.bp2 #action_area .office .head .icon {
	padding-top: 15px;
}
.pc #action_area .office .head .icon {
	padding-top: 0;
}
.sp #action_area .office .head .icon {
	padding-top: 0;
}
.bp2 #action_area .office .head .text {
	height: 30px;
}
.pc #action_area .office .head .text {
	height: 80px;
}
.sp #action_area .office .head .text {
	height: 25px;
	margin-top: 10px;
}
.pc #action_area .office .head .text p br {
	display: none;
}

.labeling {
	position: absolute;
	visibility: hidden;
}

#fs-result-items ul li {
	margin-top: 30px;
}
#fs-result-items ul li a {
	color: #004098;
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
#fs-result-items ul li p {
	margin-top: 0;
}

.fs-paginate {
	margin-top: 40px;
}
.fs-paginate ul {
	letter-spacing: -1rem;
}
.fs-paginate ul li {
	display: inline-block;
	margin-right: 10px;
	letter-spacing: normal;
}
.fs-paginate ul li.fs-current a {
	color: #004098;
	font-weight: bold;
}

input::-ms-clear {
	display: none;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

.contact_form table.form tr.quantity .lwh {
	display: inline-block;
	vertical-align: top;
}
.sp .contact_form table.form tr.quantity .lwh input {
	padding: 0 5px;
	width: 13vw;
}

.gotolist {
	margin-top: 20px;
	text-align: right;
}
.sp .gotolist {
	margin-top: 10px;
}
.gotolist a {
	position: relative;
	padding-right: 1.6rem;
	color: #646464;
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
}
.gotolist a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #646464;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.gotolist a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.gotolist a:hover {
	opacity: 0.7;
}
.gotolist a:before {
	display: none;
}
.gotolist a:after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	width: 1.5rem;
	height: 1rem;
	top: 0.4rem;
	background: url(/common/images/arrow_top.svg) no-repeat center center;
	background-size: contain;
	transition: all .3s;
}

.level3.about.people {
	background-image: url(/upload/images/people_bg.jpg) !important;
	background-size: 155% !important;
	background-position: center calc((100% + 65px) / 2) !important;
	background-repeat: no-repeat;
}

.sp .contact_form .radio.center.required {
	position: relative;
	text-align: left;
	padding-left: 30px;
}
.sp .contact_form .radio.center.required:before {
	position: absolute;
	left: 10px;
}
.sp .contact_form .radio.center.required label {
	width: 105px;
	margin-bottom: 10px;
}
.jp.sp .contact_form .radio.center.required {
	text-align: center;
}
.jp.sp .contact_form .radio.center.required label {
	width: 49%;
	margin-bottom: 10px;
	margin-right: 0;
	text-align: left;
}

main .contents .text .button.pdf::after {
	display: none;
}

main .contents_transparent {
	background: transparent;
	border-top: 100px solid #fff;
	border-bottom: 100px solid #fff;
}
.sp main .contents_transparent {
	border-top: 50px solid #fff;
	border-bottom: 50px solid #fff;
}
main .contents_transparent .title {
	position: relative;
	background: #fff;
	padding-left: calc((100% - 1180px) / 2);
	z-index: 5;
}
main .contents_transparent .title::before {
	content: "";
	position: absolute;
	width: calc((100% - 1180px) / 2);
	height: 100%;
	background: #F0F3F5;
	left: 0;
	top: 0;
	z-index: 2;
}
main .contents_transparent .title:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 3px;
	background: #fff;
	top: -2px;
	left: 0;
	z-index: 1;
}
main .contents_transparent .title p {
	display: inline-block;
	background: #F0F3F5;
	padding: 50px 100px 50px 35px;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: 300;
}
.sp main .contents_transparent .title p {
	padding: 15px 25px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents_transparent .tx {
	position: relative;
	padding-right: calc((100% - 1180px) / 2);
	padding-left: calc((100% - 1180px) / 2);
	background: rgba(34, 49, 133, 0.9);
	color: #fff;
}
main .contents_transparent .tx::before, main .contents_transparent .tx::after {
	content: "";
	position: absolute;
	width: calc((100% - 1180px) / 2);
	height: calc(50% + 1px);
	left: 0;
}
main .contents_transparent .tx::before {
	background: #F0F3F5;
	top: -1px;
}
main .contents_transparent .tx::after {
	background: #fff;
	bottom: -1px;
}
main .contents_transparent .tx > div {
	padding: 40px 35px;
}
.sp main .contents_transparent .tx > div {
	padding: 15px 25px;
}
main .contents_transparent .tx * + * {
	margin-top: 15px;
}
main .contents_transparent .tx p {
	line-height: 1.8;
}
main .contents_transparent .tx ul {
	margin-bottom: -10px;
}
main .contents_transparent .tx ul li {
	position: relative;
	padding-left: 0.9rem;
	margin-bottom: 10px;
	line-height: 1.7;
}
main .contents_transparent .tx ul li:after {
	content: "";
	position: absolute;
	display: block;
	width: 0.3rem;
	height: 0.3rem;
	left: 0;
	top: 0.7rem;
	background: #fff;
	border-radius: 50%;
}
main .contents_transparent .tx a {
	color: #fff;
}
main .contents_transparent .tx a.pdf:after {
	content: "";
	position: relative;
	top: -2px;
	display: inline-block;
	margin-left: 10px;
	vertical-align: middle;
	width: 18px;
	height: 20px;
	background: url(/common/images/ico_pdf.svg) no-repeat;
	background-size: 18px 20px;
}
main .contents_transparent + .contents_transparent {
	border-top: 0;
}
main .contents_transparent.reverse .title {
	position: relative;
	background: #fff;
	padding-right: calc((100% - 1180px) / 2);
	padding-left: 0;
	text-align: right;
}
main .contents_transparent.reverse .title::before {
	content: "";
	position: absolute;
	width: calc((100% - 1180px) / 2);
	height: 100%;
	background: #F0F3F5;
	right: 0;
	left: auto;
	top: 0;
}
main .contents_transparent.reverse .title p {
	display: inline-block;
	background: #F0F3F5;
	padding: 50px 35px 50px 100px;
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 78px;
	line-height: 4.33333rem;
	font-weight: 300;
}
.sp main .contents_transparent.reverse .title p {
	padding: 15px 25px;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents_transparent.reverse .tx {
	position: relative;
	padding-right: calc((100% - 1180px) / 2);
	padding-left: calc((100% - 1180px) / 2);
	background: rgba(34, 49, 133, 0.9);
	color: #fff;
}
main .contents_transparent.reverse .tx::before, main .contents_transparent.reverse .tx::after {
	content: "";
	position: absolute;
	width: calc((100% - 1180px) / 2);
	height: calc(50% + 1px);
	right: 0;
	left: auto;
}
main .contents_transparent.reverse .tx::before {
	background: #F0F3F5;
	top: -1px;
}
main .contents_transparent.reverse .tx::after {
	background: #fff;
	bottom: -1px;
}

main .contents > #china_map {
	background: -moz-linear-gradient(top, #00B2EB, #FFF);
	background: -webkit-linear-gradient(top, #00B2EB, #FFF);
	background: linear-gradient(to bottom, #00B2EB, #FFF);
}
.sp main .contents > #china_map {
	display: none;
}
main .contents > #china_map .inner > ul > li {
	position: absolute;
	z-index: 10;
}
main .contents > #china_map .inner > ul > li.on > ul {
	height: auto;
	padding: 2rem 1.2rem 0.9rem 1.2rem;
}
main .contents > #china_map .inner > ul > li.li01 {
	right: 9%;
	bottom: 11%;
}
main .contents > #china_map .inner > ul > li.li01 ul {
	right: 0;
}
main .contents > #china_map .inner > ul > li.li02 {
	right: 3%;
	bottom: 29%;
}
main .contents > #china_map .inner > ul > li.li02 ul {
	right: 0;
}
main .contents > #china_map .inner > ul > li.li03 {
	right: 3%;
	bottom: 47%;
}
main .contents > #china_map .inner > ul > li.li03 ul {
	right: 0;
	bottom: 2.2rem;
}
main .contents > #china_map .inner > ul > li.li03.on ul {
	padding: 0.9rem 1.2rem 2rem 1.2rem;
}
main .contents > #china_map .inner > ul > li.li04 {
	top: 39%;
	left: auto;
}
main .contents > #china_map .inner > ul > li.li04 ul {
	left: 0;
}
main .contents > #china_map .inner > ul > li.li05 {
	top: 10%;
	left: 30%;
}
main .contents > #china_map .inner > ul > li.li05 ul {
	left: 0;
}
main .contents > #china_map .inner > ul > li .button {
	position: relative;
	margin-top: 0;
	z-index: 30;
}
main .contents > #china_map .inner > ul > li .button a {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 40.8px;
	line-height: 2.26667rem;
	box-shadow: 0 0 5px #777;
}
main .contents > #china_map .inner > ul > li .button a:hover {
	opacity: 1;
}
main .contents > #china_map .inner > ul > li .button a:before {
	display: none;
}
main .contents > #china_map .inner > ul > li > ul {
	position: absolute;
	display: flex;
	height: 0;
	margin-top: -1.1rem;
	padding: 0 1.2rem 0 1.2rem;
	border-radius: 10px;
	box-shadow: 0 0 5px #777;
	background: rgba(255, 255, 255, 0.85);
	z-index: 20;
	transition: 0.3s;
}
main .contents > #china_map .inner > ul > li > ul li {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	width: 4.9rem;
}
main .contents > #china_map .inner > ul > li > ul li a {
	display: block;
	padding: 9px 10px 4px 10px;
	background: #223185;
	text-align: center;
	height: 100%;
}
main .contents > #china_map .inner > ul > li > ul li a .image img {
	height: 2.1rem;
	width: auto;
}
main .contents > #china_map .inner > ul > li > ul li a .text {
	margin-top: 5px;
	color: #fff;
	white-space: nowrap;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 23.8px;
	line-height: 1.32222rem;
}
main .contents > #china_map .inner > ul > li > ul li + li {
	margin-left: 20px;
}
main .contents > #china_map .inner .bg_area {
	position: relative;
	margin: auto;
	width: 100%;
	padding-top: 73.54%;
	background: url(/common/images/china_map_bg.png) no-repeat center center;
	background-size: 93.22%;
	z-index: 1;
}
main .contents > #china_map .inner .bg_area > div {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	opacity: 0;
	transition: .3s;
	z-index: 2;
	background-image: url(/common/images/china_map_bg.png);
	background-size: 93.22%;
	background-position: center center;
	background-repeat: no-repeat;
}
main .contents > #china_map .inner .bg_area > div.bg01 {
	background-image: url(/common/images/china_map_li01_bg.png);
	background-size: 93.22%;
}
main .contents > #china_map .inner .bg_area > div.bg02 {
	background-image: url(/common/images/china_map_li02_bg.png);
	background-size: 93.22%;
}
main .contents > #china_map .inner .bg_area > div.bg03 {
	background-image: url(/common/images/china_map_li03_bg.png);
	background-size: 93.22%;
}
main .contents > #china_map .inner .bg_area > div.bg04 {
	background-image: url(/common/images/china_map_li04_bg.png);
	background-size: 93.22%;
}
main .contents > #china_map .inner .bg_area > div.bg05 {
	background-image: url(/common/images/china_map_li05_bg.png);
	background-size: 93.22%;
}
main .contents > #china_map .inner .bg_area > div.show {
	opacity: 1 !important;
}

.cat_map {
	margin-top: 80px !important;
}
.sp .cat_map {
	margin-top: 30px !important;
}
.cat_map .cat_title {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
	font-weight: bold;
	text-align: center;
}
.cat_map .box {
	border-radius: 10px;
	box-shadow: 0 0 5px #777;
}
.cat_map .box p {
	margin-top: 0;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 34px;
	line-height: 1.88889rem;
	text-align: center;
}
.cat_map .box .image {
	margin-top: 0 !important;
}
.cat_map .box + .box {
	margin-top: 0 !important;
}
.cat_map > div {
	text-align: center;
}
.sp .cat_map > div {
	margin-bottom: 40px !important;
}
.cat_map > div a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.cat_map > div a:hover {
	opacity: 0.7;
}
.cat_map > div > div {
	border-top: 1px solid #CDD6DD;
}
.cat_map > div > div p a {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid #CDD6DD;
}

main .contents .background.bg_gradation {
	padding: 10px 0 50px 0;
	margin: -40px 0 40px 0;
	background: linear-gradient(to bottom, #00B2EB, #FFF);
}
.sp main .contents .background.bg_gradation {
	margin: 0 0 20px 0;
}

.map_text {
	position: relative;
	padding: 0 10px;
	z-index: 1;
}
.map_text img {
	position: relative;
	z-index: 1;
}
.map_text span {
	position: absolute;
	display: block;
	right: 10px;
	min-width: 20%;
	width: auto !important;
	padding: 10px;
	top: 50%;
	border-radius: 10px;
	z-index: 2;
	font-size: 32px;
	font-size: 1.77778rem;
	line-height: 41.6px;
	line-height: 2.31111rem;
}
.sp .map_text span {
	position: static;
	padding: 0;
	font-size: 22px;
	font-size: 1.22222rem;
	line-height: 28.6px;
	line-height: 1.58889rem;
	text-align: center;
}

.sp main .contents .index_menu.spcol1 > div + div h2 {
	margin-top: 30px;
}

@media all and (-ms-high-contrast: none) {
  #location_slide > div ul.board {
		width: 20000px;
  }

  main .contents > #china_map .inner > ul > li.li04 ul {
		width: calc(22rem + 60px);
  }

  main .contents > #china_map .inner > ul > li ul {
		width: calc(26.9rem + 80px);
  }

  main .contents_transparent .title, main .contents_transparent.reverse .title {
		padding: 0;
		background: #F0F3F5;
  }
  main .contents_transparent .title:before, main .contents_transparent.reverse .title:before {
		display: none;
  }
  main .contents_transparent .title:after, main .contents_transparent.reverse .title:after {
		display: none;
  }
  main .contents_transparent .title p, main .contents_transparent.reverse .title p {
		padding: 50px 20px;
		max-width: 1220px;
		display: block;
		margin: auto;
  }
  main .contents_transparent .tx, main .contents_transparent.reverse .tx {
		padding: 0;
  }
  main .contents_transparent .tx:before, main .contents_transparent.reverse .tx:before {
		display: none;
  }
  main .contents_transparent .tx:after, main .contents_transparent.reverse .tx:after {
		display: none;
  }
  main .contents_transparent .tx > div, main .contents_transparent.reverse .tx > div {
		padding: 50px 20px;
		max-width: 1220px;
		display: block;
		margin: auto;
  }
}
#os_country > div {
	margin-top: 60px;
}
.sp #os_country > div {
	margin-top: 40px;
}

.pc .india_map {
	height: 0;
	overflow: hidden;
	padding: 0 !important;
}
.india_map .image {
	width: 1180px !important;
	position: relative;
}
.india_map ul li {
	position: absolute;
	box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.2);
	border-radius: 10px;
	z-index: 10;
}
.india_map ul li span {
	position: absolute;
	background: #646464;
	transition: 0.3s;
	z-index: 10;
}
.india_map ul li span.line01, .india_map ul li span.line03 {
	height: 3px;
}
.india_map ul li span.line02 {
	height: 4px;
}
.india_map ul li span.point {
	width: 22px;
	height: 22px;
	border-radius: 50%;
}
.india_map ul li:hover span {
	background: #F99E0F !important;
}
.india_map ul li a {
	display: block !important;
	position: relative;
	width: 236px;
	height: 70px;
	padding: 0 20px;
	line-height: 70px !important;
	z-index: 2;
	background-color: #646464;
	color: #fff !important;
	border: none;
	border-radius: 10px;
	font-weight: 400;
	cursor: pointer;
	text-align: center;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 26.4px;
	line-height: 1.46667rem;
}
.india_map ul li a::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
	border-radius: 10px;
	background: linear-gradient(to right, #EC242E, #FEC904);
	-webkit-transition: all .3s;
	transition: all .3s;
}
.india_map ul li a:hover {
	opacity: 1 !important;
}
.india_map ul li a:hover::after {
	width: 100%;
}
.india_map .sn li.li01 {
	top: 118px;
	left: -20px;
}
.india_map .sn li.li01 .line01 {
	width: 160px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li01 .line02 {
	width: 77px;
	top: 72px;
	left: 395px;
	transform: skewY(45deg);
}
.india_map .sn li.li01 .point {
	left: 462px;
	top: 100px;
}
.india_map .sn li.li02 {
	top: 246px;
	left: -20px;
}
.india_map .sn li.li02 .line01 {
	width: 194px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li02 .line02 {
	width: 15px;
	top: 26px;
	left: 429px;
	transform: skewY(-45deg);
}
.india_map .sn li.li02 .point {
	left: 433px;
	top: 8px;
}
.india_map .sn li.li03 {
	top: 374px;
	left: -20px;
}
.india_map .sn li.li03 .line01 {
	width: 95px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li03 .line02 {
	width: 25px;
	top: 21px;
	left: 330px;
	transform: skewY(-45deg);
}
.india_map .sn li.li03 .point {
	left: 344px;
	top: -2px;
}
.india_map .sn li.li04 {
	top: 502px;
	left: -20px;
}
.india_map .sn li.li04 .line01 {
	width: 77px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li04 .line02 {
	width: 47px;
	top: 10px;
	left: 312px;
	transform: skewY(-45deg);
}
.india_map .sn li.li04 .point {
	left: 348px;
	top: -24px;
}
.india_map .sn li.li05 {
	top: 630px;
	left: -20px;
}
.india_map .sn li.li05 .line01 {
	width: 73px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li05 .line02 {
	width: 89px;
	top: -44px;
	left: 309px;
	height: 5px;
	transform: skewY(-60deg);
}
.india_map .sn li.li05 .point {
	left: 386px;
	top: -130px;
}
.india_map .sn li.li06 {
	top: 758px;
	left: -20px;
}
.india_map .sn li.li06 .line01 {
	width: 64px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .sn li.li06 .line02 {
	width: 111px;
	top: -23px;
	left: 300px;
	transform: skewY(-45deg);
}
.india_map .sn li.li06 .line03 {
	width: 55px;
	top: -77px;
	left: 411px;
}
.india_map .sn li.li06 .point {
	left: 466px;
	top: -88px;
	background: #EC212F;
}
.india_map .sn li.li06 .head_text {
	left: 436px;
	top: -113px;
	background: none !important;
	color: #EC212F;
	font-weight: bold;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	white-space: nowrap;
	line-height: 1 !important;
	z-index: 1;
}
.india_map .sn li.li06 .head_point {
	width: 30px;
	height: 30px;
	background: none !important;
	border-radius: 50%;
	border: 1px solid #EC212F;
	left: 462px;
	top: -92px;
	z-index: 1;
}
.india_map .sn li.li07 {
	top: 118px;
	right: -20px;
}
.india_map .sn li.li07 .line01 {
	width: 153px;
	top: calc(50% - 1px);
	left: -153px;
}
.india_map .sn li.li07 .line02 {
	width: 284px;
	top: 176px;
	left: -437px;
	transform: skewY(-45deg);
}
.india_map .sn li.li07 .point {
	left: -448px;
	top: 307px;
}
.india_map .sn li.li08 {
	top: 246px;
	right: -20px;
}
.india_map .sn li.li08 .line01 {
	width: 85px;
	top: calc(50% - 1px);
	left: -85px;
}
.india_map .sn li.li08 .line02 {
	width: 105px;
	top: 86px;
	left: -190px;
	transform: skewY(-45deg);
}
.india_map .sn li.li08 .point {
	left: -201px;
	top: 128px;
}
.india_map .sn li.li09 {
	top: 374px;
	right: -20px;
}
.india_map .sn li.li09 .line01 {
	width: 236px;
	top: calc(50% - 1px);
	left: -236px;
}
.india_map .sn li.li09 .line02 {
	width: 130px;
	top: 98px;
	left: -366px;
	transform: skewY(-45deg);
}
.india_map .sn li.li09 .line03 {
	width: 100px;
	top: 162px;
	left: -466px;
}
.india_map .sn li.li09 .point {
	left: -466px;
	top: 151px;
}
.india_map .sn li.li10 {
	top: 502px;
	right: -20px;
}
.india_map .sn li.li10 .line01 {
	width: 218px;
	top: calc(50% - 1px);
	left: -218px;
}
.india_map .sn li.li10 .line02 {
	width: 154px;
	top: 110px;
	left: -372px;
	transform: skewY(-45deg);
}
.india_map .sn li.li10 .line03 {
	width: 50px;
	top: 188px;
	left: -422px;
}
.india_map .sn li.li10 .point {
	left: -433px;
	top: 177px;
}
.india_map .sn li.li11 {
	top: 630px;
	right: -20px;
}
.india_map .sn li.li11 .line01 {
	width: 189px;
	top: calc(50% - 1px);
	left: -189px;
}
.india_map .sn li.li11 .line02 {
	width: 72px;
	top: 69px;
	left: -261px;
	transform: skewY(-45deg);
}
.india_map .sn li.li11 .line03 {
	width: 250px;
	top: 106px;
	left: -511px;
}
.india_map .sn li.li11 .point {
	left: -522px;
	top: 95px;
}
.india_map .sn li.li12 {
	top: 758px;
	right: -20px;
}
.india_map .sn li.li12 .line01 {
	width: 241px;
	top: calc(50% - 1px);
	left: -241px;
}
.india_map .sn li.li12 .line02 {
	width: 23px;
	top: 22px;
	left: -264px;
	transform: skewY(45deg);
}
.india_map .sn li.li12 .line03 {
	width: 270px;
	top: 11px;
	left: -534px;
}
.india_map .sn li.li12 .point {
	left: -545px;
	top: 0px;
}
.india_map .wh li.li01 {
	top: 118px;
	left: -20px;
}
.india_map .wh li.li01 .line01 {
	width: 255px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li01 .line02 {
	width: 42px;
	top: 54px;
	left: 491px;
	transform: skewY(45deg);
}
.india_map .wh li.li01 .point {
	left: 522px;
	top: 65px;
}
.india_map .wh li.li02 {
	top: 208px;
	left: -20px;
}
.india_map .wh li.li02 .line01 {
	width: 240px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li02 .line02 {
	width: 34px;
	top: 17px;
	left: 476px;
	transform: skewY(-45deg);
}
.india_map .wh li.li02 .point {
	left: 499px;
	top: -11px;
}
.india_map .wh li.li03 {
	top: 298px;
	left: -20px;
}
.india_map .wh li.li03 .line01 {
	width: 211px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li03 .line02 {
	width: 55px;
	top: 61px;
	left: 447px;
	transform: skewY(45deg);
}
.india_map .wh li.li03 .point {
	left: 491px;
	top: 78px;
}
.india_map .wh li.li04 {
	top: 388px;
	left: -20px;
}
.india_map .wh li.li04 .line01 {
	width: 216px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li04 .line02 {
	width: 19px;
	top: 24px;
	left: 452px;
	transform: skewY(-45deg);
}
.india_map .wh li.li04 .point {
	left: 460px;
	top: 2px;
}
.india_map .wh li.li05 {
	top: 478px;
	left: -20px;
}
.india_map .wh li.li05 .line01 {
	width: 97px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li05 .line02 {
	width: 24px;
	top: 22px;
	left: 333px;
	transform: skewY(-45deg);
}
.india_map .wh li.li05 .point {
	left: 346px;
	top: -1px;
}
.india_map .wh li.li06 {
	top: 568px;
	left: -20px;
}
.india_map .wh li.li06 .line01 {
	width: 97px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li06 .line02 {
	width: 54px;
	top: -14px;
	left: 333px;
	height: 5px;
	transform: skewY(-60deg);
}
.india_map .wh li.li06 .point {
	left: 376px;
	top: -71px;
}
.india_map .wh li.li07 {
	top: 658px;
	left: -20px;
}
.india_map .wh li.li07 .line01 {
	width: 241px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li07 .line02 {
	width: 11px;
	top: 28px;
	left: 477px;
	transform: skewY(-45deg);
}
.india_map .wh li.li07 .point {
	left: 477px;
	top: 12px;
}
.india_map .wh li.li08 {
	top: 748px;
	left: -20px;
}
.india_map .wh li.li08 .line01 {
	width: 162px;
	top: calc(50% - 1px);
	left: 236px;
}
.india_map .wh li.li08 .line02 {
	width: 65px;
	top: 2px;
	left: 398px;
	transform: skewY(-45deg);
}
.india_map .wh li.li08 .point {
	left: 452px;
	top: -42px;
}
.india_map .wh li.li09 {
	top: 118px;
	right: -20px;
}
.india_map .wh li.li09 .line01 {
	width: 383px;
	top: calc(50% - 1px);
	left: -383px;
}
.india_map .wh li.li09 .line02 {
	width: 68px;
	top: 68px;
	left: -451px;
	transform: skewY(-45deg);
}
.india_map .wh li.li09 .point {
	left: -462px;
	top: 91px;
}
.india_map .wh li.li10 {
	top: 208px;
	right: -20px;
}
.india_map .wh li.li10 .line01 {
	width: 363px;
	top: calc(50% - 1px);
	left: -363px;
}
.india_map .wh li.li10 .line02 {
	width: 17px;
	top: 43px;
	left: -380px;
	transform: skewY(-45deg);
}
.india_map .wh li.li10 .point {
	left: -391px;
	top: 40px;
}
.india_map .wh li.li11 {
	top: 298px;
	right: -20px;
}
.india_map .wh li.li11 .line01 {
	width: 58px;
	top: calc(50% - 1px);
	left: -58px;
}
.india_map .wh li.li11 .line02 {
	width: 50px;
	top: 9px;
	left: -108px;
	transform: skewY(45deg);
}
.india_map .wh li.li11 .point {
	left: -119px;
	top: -27px;
}
.india_map .wh li.li12 {
	top: 388px;
	right: -20px;
}
.india_map .wh li.li12 .line01 {
	width: 142px;
	top: calc(50% - 1px);
	left: -142px;
}
.india_map .wh li.li12 .line02 {
	width: 39px;
	top: 14px;
	left: -181px;
	transform: skewY(45deg);
}
.india_map .wh li.li12 .point {
	left: -192px;
	top: -16px;
}
.india_map .wh li.li13 {
	top: 478px;
	right: -20px;
}
.india_map .wh li.li13 .line01 {
	width: 130px;
	top: calc(50% - 1px);
	left: -130px;
}
.india_map .wh li.li13 .line02 {
	width: 84px;
	top: -8px;
	left: -214px;
	transform: skewY(45deg);
}
.india_map .wh li.li13 .line03 {
	width: 200px;
	top: -50px;
	left: -414px;
}
.india_map .wh li.li13 .point {
	left: -426px;
	top: -61px;
}
.india_map .wh li.li14 {
	top: 568px;
	right: -20px;
}
.india_map .wh li.li14 .line01 {
	width: 103px;
	top: calc(50% - 1px);
	left: -103px;
}
.india_map .wh li.li14 .line02 {
	width: 146px;
	top: -39px;
	left: -249px;
	transform: skewY(45deg);
}
.india_map .wh li.li14 .point {
	left: -260px;
	top: -123px;
}
.india_map .wh li.li15 {
	top: 658px;
	right: -20px;
}
.india_map .wh li.li15 .line01 {
	width: 167px;
	top: calc(50% - 1px);
	left: -167px;
}
.india_map .wh li.li15 .line02 {
	width: 164px;
	top: -48px;
	left: -331px;
	transform: skewY(45deg);
}
.india_map .wh li.li15 .line03 {
	width: 120px;
	top: -130px;
	left: -451px;
}
.india_map .wh li.li15 .point {
	left: -462px;
	top: -141px;
}
.india_map .wh li.li16 {
	top: 748px;
	right: -20px;
}
.india_map .wh li.li16 .line01 {
	width: 297px;
	top: calc(50% - 1px);
	left: -297px;
}
.india_map .wh li.li16 .line02 {
	width: 119px;
	top: -24px;
	left: -416px;
	transform: skewY(45deg);
}
.india_map .wh li.li16 .point {
	left: -427px;
	top: -96px;
}

main .contents > div.background.bg_box.topic_news .inner {
	padding-top: 35px;
	padding-bottom: 15px;
}
main .contents > div.background.bg_box.topic_news .inner .title {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
}
main .contents > div.background.bg_box.topic_news .inner .title.center {
	text-align: center;
}
.tablet main .contents > div.background.bg_box.topic_news .inner .sp_sausage {
	display: block;
	overflow-x: auto;
	overflow-y: hidden;
	letter-spacing: -1rem;
	white-space: nowrap;
}
main .contents > div.background.bg_box.topic_news .inner .sp_sausage a {
	display: block;
	background: #fff;
	border-radius: 40px;
	line-height: 40px !important;
	padding: 0 10px;
	color: #646464;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	text-align: center;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 22px;
	line-height: 1.22222rem;
}
main .contents > div.background.bg_box.topic_news .inner .sp_sausage a:hover {
	opacity: 0.7;
}
.tablet main .contents > div.background.bg_box.topic_news .inner .sp_sausage a {
	letter-spacing: normal;
	display: inline-block;
	min-width: 130px;
	width: auto !important;
}
main .contents > div.background.bg_box.topic_news .inner .sp_sausage a.ac {
	background: #646464;
	color: #fff;
}

.column.topic_news_menu {
	margin-top: -30px;
}
.column.topic_news_menu a {
	margin-top: 30px;
	position: relative;
	padding-bottom: 20px;
	height: calc(27rem + 40px);
	box-shadow: 0 0 5px #aaa;
	color: #333;
	transition: all .3s;
}
.sp .column.topic_news_menu a {
	height: auto;
}
.column.topic_news_menu a span {
	display: block;
}
.column.topic_news_menu a:hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
.column.topic_news_menu a:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(/common/images/arrow_text.svg) no-repeat right 20px bottom 10px;
	transition: all .3s;
}
.column.topic_news_menu a:hover {
	opacity: 1;
}
.column.topic_news_menu a:hover:after {
	background: url(/common/images/arrow_text.svg) no-repeat right 10px bottom 10px;
}
.column.topic_news_menu a.advisory {
	transition: all .3s;
}
.column.topic_news_menu a.advisory:hover {
	color: #fff;
	background: #25408F;
}
.column.topic_news_menu a.advisory:hover .cat {
	background: #fff;
	color: #333;
}
.column.topic_news_menu a.aperture {
	transition: all .3s;
}
.column.topic_news_menu a.aperture:hover {
	color: #fff;
	background: #000;
}
.column.topic_news_menu a.aperture:hover .cat {
	background: #fff;
	color: #333;
}
.column.topic_news_menu .image {
	position: relative;
	display: block;
	padding-top: 60.5%;
	overflow: hidden;
}
.column.topic_news_menu .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
.column.topic_news_menu .textbox {
	padding: 1rem 1.2rem;
}
.column.topic_news_menu .day_cat {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.column.topic_news_menu .day_cat .day {
	font-size: 18px;
	font-size: 1rem;
	line-height: 23.4px;
	line-height: 1.3rem;
	font-weight: bold;
}
.column.topic_news_menu .day_cat .cat {
	display: inline-block;
	min-width: 140px;
	text-align: center;
	background: #646464;
	color: #fff;
	padding: 3px 0;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
.column.topic_news_menu .title {
	margin-top: 20px;
	font-size: 26px;
	font-size: 1.44444rem;
	line-height: 33.8px;
	line-height: 1.87778rem;
}
.column.topic_news_menu .text {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
}

main .topic_news_menu > ul {
	text-align: center;
}
main .topic_news_menu > ul > li {
	display: inline-block;
}
main .topic_news_menu > ul br + li {
	margin-top: 15px;
}

.news_banner {
	background: #fff;
}
.news_banner > div {
	padding: 40px 20px 50px 20px;
	margin: 0 auto;
	width: 50%;
	max-width: 540px;
	background: #fff;
	border-radius: 8px;
}
.sp .news_banner > div {
	padding: 20px;
	width: auto;
}
.news_banner > div > a {
	display: block;
	position: relative;
	width: 100%;
	height: 100px;
	text-align: center;
	background: url(/images/searchcol_link.png) no-repeat center center;
	background-size: cover;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #fff;
	border-radius: 8px;
	z-index: 2;
}
.news_banner > div > a:hover {
	opacity: 0.7;
}
.news_banner > div > a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border-radius: 8px;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
.sp .news_banner > div > a {
	font-size: 18px;
	border-radius: 5px;
}
.news_banner > div > a > span {
	position: relative;
	display: block;
	padding: 0 50px;
	width: 100%;
	height: 100%;
	font-size: 30px;
	line-height: 75px;
	font-weight: 300;
	z-index: 5;
}
.sp .news_banner > div > a > span {
	font-size: 22px;
	line-height: 78px;
}
.xsp .news_banner > div > a > span {
	padding: 0 40px;
}
.news_banner > div > a > span::after {
	content: "";
	position: absolute;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	right: 27px;
	top: 50%;
	z-index: 5;
	transform: translateY(-50%);
}
.xsp .news_banner > div > a > span::after {
	right: 17px;
}
.news_banner > div > a > span::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 20px;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
}
.xsp .news_banner > div > a > span::before {
	right: 10px;
}
.news_banner > div > a > span > span {
	display: block;
	margin-top: -15px;
	font-size: 16px;
	line-height: 1.2rem;
	font-weight: 400;
}
.sp .news_banner > div > a > span > span {
	margin-height: -22px;
	font-size: 14px;
}

#gdpr_content01, #gdpr_content02 {
	display: none;
	position: fixed;
	width: 100%;
	bottom: 0;
	background: #fff;
	border-top: 1px solid #666;
	z-index: 100;
}
#gdpr_content01 > div, #gdpr_content02 > div {
	padding: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.sp #gdpr_content01 > div, .sp #gdpr_content02 > div {
	padding: 20px 10px;
	display: block;
}
#gdpr_content01 > div .left, #gdpr_content02 > div .left {
	width: calc(100% - 300px);
}
.sp #gdpr_content01 > div .left, .sp #gdpr_content02 > div .left {
	width: auto;
	padding-right: 0px;
}
#gdpr_content01 > div .left ul, #gdpr_content02 > div .left ul {
	margin-top: 15px;
}
#gdpr_content01 > div .left ul label, #gdpr_content02 > div .left ul label {
	cursor: pointer;
}
#gdpr_content01 > div .left ul label.not, #gdpr_content02 > div .left ul label.not {
	pointer-events: none;
	cursor: not-allowed;
}
#gdpr_content01 > div .left ul span, #gdpr_content02 > div .left ul span {
	display: block;
	padding-left: 26px;
	margin-top: 5px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
#gdpr_content01 > div .left ul li + li, #gdpr_content02 > div .left ul li + li {
	margin-top: 10px;
}
#gdpr_content01 > div .left input#gdpr01, #gdpr_content02 > div .left input#gdpr01 {
	pointer-events: none;
	cursor: not-allowed;
}
#gdpr_content01 > div .right, #gdpr_content02 > div .right {
	width: 300px;
	text-align: center;
}
.sp #gdpr_content01 > div .right, .sp #gdpr_content02 > div .right {
	width: auto;
	margin-top: 20px;
}
#gdpr_content01 > div .right .button, #gdpr_content02 > div .right .button {
	text-align: center;
	margin-top: 0;
	justify-content: center;
}
#gdpr_content01 > div .right .button > a, #gdpr_content02 > div .right .button > a {
	display: inline-block;
	background: #828182;
	color: #fff;
	padding: 5px 15px;
	min-width: 100px;
}
#gdpr_content01 > div .right .button > a:hover, #gdpr_content02 > div .right .button > a:hover {
	opacity: 0.7;
	text-decoration: none;
}
#gdpr_content01 > div .right .button > a::before, #gdpr_content01 > div .right .button > a::after, #gdpr_content02 > div .right .button > a::before, #gdpr_content02 > div .right .button > a::after {
	display: none;
}
#gdpr_content01 > div .right .button + .button, #gdpr_content02 > div .right .button + .button {
	margin-top: 15px;
}
#gdpr_content01 .close, #gdpr_content02 .close {
	position: absolute;
	right: 20px;
	top: 20px;
	width: 20px;
	height: 20px;
	cursor: pointer;
}
.sp #gdpr_content01 .close, .sp #gdpr_content02 .close {
	right: 5px;
	top: 10px;
}
#gdpr_content01 .close:hover, #gdpr_content02 .close:hover {
	opacity: 0.7;
}
#gdpr_content01 .close::before, #gdpr_content02 .close::before {
	position: absolute;
	content: "";
	top: 1px;
	left: 9px;
	width: 2px;
	height: 20px;
	background: #666;
	transform: rotate(45deg);
}
#gdpr_content01 .close::after, #gdpr_content02 .close::after {
	position: absolute;
	content: "";
	top: 1px;
	left: 9px;
	width: 2px;
	height: 20px;
	background: #666;
	transform: rotate(-45deg);
}

#gdpr_info {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 49;
	background-color: rgba(0, 0, 0, 0.8);
}
#gdpr_info > div {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	font-size: 30px;
	text-align: center;
	line-height: 1.5;
}

.people_col {
	display: flex;
	flex-wrap: wrap;
	gap: 45px 0;
}
.people_col sp {
	gap: 30px 0;
}
.people_col > div {
	width: calc(100% / 4);
}
.pc .people_col > div {
	width: calc(100% / 3);
}
.sp .people_col > div {
	width: calc(100% / 2);
}
.wsp .people_col > div {
	width: 100%;
}
.people_col > div a {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 336 / 189;
}
.people_col > div a .tx {
	position: absolute;
	bottom: 0;
	width: 100%;
	background: linear-gradient(0deg, black 0%, rgba(0, 0, 0, 0.3) 85%, transparent 100%);
	color: #fff;
	padding: 3px 10px 10px 10px;
	max-height: 45px;
	overflow: hidden;
	font-weight: 400;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
.tablet .people_col > div a .tx {
	padding-top: 8px;
}
.sp .people_col > div a .tx {
	max-height: none !important;
}
.people_col > div a .tx .text_title {
	font-size: 17px;
	font-size: 0.94444rem;
	line-height: 22.1px;
	line-height: 1.22778rem;
	color: #fff;
}
.people_col > div a .tx .text_title + p {
	margin-top: 0px;
}
.people_col > div a .txcenter {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	justify-content: center;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	color: #fff;
	font-weight: 400;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
}
.tablet .people_col > div a .txcenter {
	padding-top: 8px;
}
.sp .people_col > div a .txcenter {
	max-height: none !important;
}
.people_col > div a .txcenter .text_title {
	font-size: 17px;
	font-size: 0.94444rem;
	line-height: 22.1px;
	line-height: 1.22778rem;
	color: #fff;
	text-align: center;
}
.people_col > div a .txcenter .text_title + p {
	margin-top: 0px;
	text-align: center;
}
.people_col > div a .image img {
	transition: 0.8s;
}
.people_col > div a:hover .image img {
	transform: scale(1.1);
}

.iconlist {
	margin-top: 30px;
}
.iconlist > div {
	display: flex;
	align-items: center;
	gap: 20px;
}
.iconlist > div + div {
	margin-top: 10px;
}
.iconlist > div .img {
	width: 90px;
}
.iconlist > div .img img {
	width: 100%;
}
.iconlist > div .tx {
	width: calc(100% - 90px - 20px);
}

.contact_form {
	margin-top: 40px;
}
.contact_form.contact_tab:not(:first-child) {
	display: none;
}
.contact_form .lead {
	margin-bottom: 40px;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 36px;
	line-height: 2rem;
	text-align: center;
}
.contact_form .cap {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
	margin-top: -10px;
	margin-left: -30px;
}
.sp .contact_form .cap {
	display: none;
}
.contact_form table.form {
	width: 100%;
	margin-bottom: -40px;
}
.contact_form table.form th, .contact_form main .contents .format table.form td, main .contents .format .contact_form table.form td {
	padding: 8px 20px 40px 0;
	width: 16rem;
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
	text-align: right;
	clear: both;
	vertical-align: top;
}
.contact_form table.form th.pt0, .contact_form main .contents .format table.form td.pt0, main .contents .format .contact_form table.form td.pt0 {
	padding-top: 0;
}
.contact_form table.form th span, .contact_form main .contents .format table.form td span, main .contents .format .contact_form table.form td span {
	display: inline-block;
	padding: 2px 5px;
	margin-top: 0.5rem;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
	color: #EC212F;
}
.sp .contact_form table.form th span, .sp .contact_form main .contents .format table.form td span, main .contents .format .sp .contact_form table.form td span {
	margin-left: 10px;
}
.contact_form table.form .investor_only {
	display: none;
}
.contact_form table.form.Investors .select {
	display: none;
}
.contact_form table.form.Investors .investor_only {
	display: block;
	padding-top: 10px;
}
.contact_form table.form td {
	padding: 0 16rem 40px 0;
	vertical-align: top;
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
.sp .contact_form table.form td {
	padding-right: 0;
}
.contact_form table.form td select, .contact_form table.form td input, .contact_form table.form td textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #CDD6DD;
	border-radius: 5px;
}
.contact_form table.form td select.required, .contact_form table.form td input.required, .contact_form table.form td textarea.required {
	background: rgba(236, 33, 47, 0.05);
}
.contact_form table.form td select.half, .contact_form table.form td input.half, .contact_form table.form td textarea.half {
	width: 50%;
}
.sp .contact_form table.form td select.half, .sp .contact_form table.form td input.half, .sp .contact_form table.form td textarea.half {
	width: 100%;
}
.contact_form table.form td select.short, .contact_form table.form td input.short, .contact_form table.form td textarea.short {
	width: 75%;
}
.sp .contact_form table.form td select.short, .sp .contact_form table.form td input.short, .sp .contact_form table.form td textarea.short {
	width: 100%;
}
.contact_form table.form td .select {
	position: relative;
	margin: 0;
	background: #fff;
}
.contact_form table.form td .select.half {
	width: 50%;
}
.sp .contact_form table.form td .select.half {
	width: 100%;
}
.contact_form table.form td .select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 10px;
	z-index: 1;
	pointer-events: none;
}
.contact_form table.form td .select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 14px;
	top: 20px;
	z-index: 2;
	pointer-events: none;
}
.contact_form table.form td .select select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 46px;
	line-height: 26px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #000000;
}
.contact_form table.form td .select select[name="in_country_career"] {
	display: none;
}
.contact_form table.form td .select select#in_country_global span.HeadQuarter {
	display: none;
}
.contact_form table.form td .radio {
	display: inline-block;
}
.contact_form table.form td .radio label {
	display: inline-block;
	padding-left: 0;
	margin-right: 20px;
}
.contact_form table.form td .radio label input {
	position: static;
	width: auto;
	vertical-align: middle;
	margin: 0 5px 0 0;
	opacity: 1;
}
.contact_form table.form td * + .radio {
	margin-left: 20px;
}
.contact_form table.form td .search_area .input {
	position: relative;
	width: 80%;
	margin: 30px auto 0 !important;
}
.contact_form table.form td .search_area .input input {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
.contact_form table.form td .search_area .input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}
.contact_form table.form td .search_area .radio {
	margin: 20px auto 0;
	width: 80%;
}
.contact_form table.form td .search_area .radio label {
	display: inline-block;
	cursor: pointer;
}
.contact_form table.form td .search_area .radio label input {
	position: static;
	width: auto;
	vertical-align: middle;
	margin: 0 5px 0 0;
	opacity: 1;
}
.contact_form table.form td .search_area p.link {
	width: 80%;
	margin: 20px auto 0;
	text-align: center;
	border-top: 1px dotted #ccc;
}
.contact_form table.form td .search_area p.link a {
	position: relative;
}
.contact_form table.form td .search_area p.link a:after {
	content: "";
	position: absolute;
	width: 12px;
	height: 8px;
	background: url(/common/images/ico_arrow01.svg) no-repeat;
	background-size: 12px 8px;
	right: -18px;
	top: 8px;
}
.contact_form table.form tr.quantity th, .contact_form main .contents .format table.form tr.quantity td, main .contents .format .contact_form table.form tr.quantity td {
	padding-bottom: 20px;
}
.contact_form table.form tr.quantity td {
	position: relative;
	padding-bottom: 20px;
}
.sp .contact_form table.form tr.quantity td {
	padding-bottom: 70px;
}
.contact_form table.form tr.quantity .select {
	display: inline-block;
	width: 6rem;
	margin-right: 0.5rem;
	margin-bottom: 10px;
}
.jp .contact_form table.form tr.quantity .select {
	min-width: 100px;
}
.jp.xsp .contact_form table.form tr.quantity .select {
	width: 7rem;
	min-width: auto;
}
.contact_form table.form tr.quantity input {
	position: relative;
	width: 6rem;
	margin: 0 0.5rem;
	text-align: right;
	margin-bottom: 10px;
}
.contact_form table.form tr.quantity .delete {
	position: absolute;
	right: 0;
	top: 0;
	width: 16rem;
	border-radius: 5px;
	background: #646464;
	text-align: center;
}
.sp .contact_form table.form tr.quantity .delete {
	display: block;
	top: auto;
	right: auto;
	bottom: 20px;
	margin: 10px auto 0;
	left: 50%;
	transform: translateX(-50%);
}
.contact_form table.form tr.quantity .delete span {
	display: inline-block;
	padding: 10px 20px 10px 40px;
	background: url(/common/images/ico_delete.svg) no-repeat left center;
	color: #fff;
}
.contact_form table.form tr.add td {
	text-align: center;
}
.contact_form table.form tr.add td a {
	display: inline-block;
	width: 16rem;
	border-radius: 5px;
	background: #646464;
	text-align: center;
}
.contact_form table.form tr.add td a span {
	display: inline-block;
	padding: 10px 20px 10px 40px;
	background: url(/common/images/ico_add.svg) no-repeat left center;
	color: #fff;
}
.sp .contact_form table.form tr.add th, .sp .contact_form main .contents .format table.form tr.add td, main .contents .format .sp .contact_form table.form tr.add td {
	display: none;
}
.sp .contact_form table.form tr, .sp .contact_form table.form th, .sp .contact_form main .contents .format table.form td, main .contents .format .sp .contact_form table.form td, .sp .contact_form table.form td {
	display: block;
}
.sp .contact_form table.form th, .sp .contact_form main .contents .format table.form td, main .contents .format .sp .contact_form table.form td {
	width: 100%;
	padding: 0 0 20px 0;
	text-align: left;
}
.sp .contact_form table.form th br, .sp .contact_form main .contents .format table.form td br, main .contents .format .sp .contact_form table.form td br {
	display: none;
}
.contact_form table.form.confirm th, .contact_form main .contents .format table.form.confirm td, main .contents .format .contact_form table.form.confirm td {
	padding-top: 0;
}
.contact_form .radio label {
	display: inline-block;
	margin-right: 20px;
	cursor: pointer;
}
.contact_form .radio label input {
	position: static;
	width: auto;
	vertical-align: middle;
	margin: 0 5px 0 0;
	opacity: 1;
}
.contact_form .radio.center {
	margin: auto;
	text-align: center;
}
.contact_form .radio.required:before {
	content: "*";
	display: inline-block;
	width: 1rem;
	padding-right: 10px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 27.2px;
	line-height: 1.51111rem;
	color: #EC212F;
}
.contact_form .cheakbox.privacy {
	margin: auto;
}
.contact_form .cheakbox.privacy .text {
	text-align: left;
	max-width: none;
}
.contact_form .cheakbox.privacy h3 {
	font-weight: normal;
	margin-top: 40px;
}
.contact_form .cheakbox.privacy h3::after {
	display: none;
}
.contact_form .cheakbox.privacy h4 {
	text-align: center;
	color: #000000;
	border-bottom: none;
}
.contact_form .cheakbox.privacy h4::after {
	display: none;
}
.contact_form .cheakbox.privacy #privacy_box {
	border: 1px solid #646464;
	padding: 20px;
	height: 200px;
	overflow-y: scroll;
}
.contact_form .cheakbox.privacy #privacy_checkbox {
	text-align: center;
}
.contact_form .cheakbox.privacy #privacy_checkbox.disabled label {
	cursor: default;
	opacity: 0.5;
}
.contact_form .cheakbox.privacy label {
	display: inline-block;
	padding: 0px 15px 0;
	cursor: pointer;
}
.contact_form .cheakbox.privacy label input {
	display: inline-block;
	width: auto;
}
.jp .contact_form .cheakbox.privacy label input {
	vertical-align: middle;
}
.contact_form .cheakbox.privacy label span {
	margin-left: 10px;
	position: relative;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
}
.contact_form .cheakbox.privacy label span::before {
	content: "*";
	color: #EC212F;
}
.contact_form .form_right {
	margin: 0 0 40px 16rem;
}
.sp .contact_form .form_right {
	margin: 0 0 20px 0;
}

.lead_career {
	margin-top: 15px;
	display: none;
}

.lead_general {
	margin-top: 15px;
}

#pulldownmenu {
	position: fixed;
	top: -60px;
	left: 20px;
	width: calc(100% - 40px);
	min-height: 450px;
	margin-top: 20px;
	padding-top: 120px;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 50;
	opacity: 0;
	pointer-events: none;
	transition: 0.4s;
}
.tablet #pulldownmenu {
	min-height: 350px;
}
.jp #pulldownmenu {
	min-height: 450px;
	padding-top: 105px;
}
.pulldownopen #pulldownmenu {
	top: 0px;
	opacity: 1;
	pointer-events: auto;
}
.sp #pulldownmenu {
	display: none;
}
#pulldownmenu > div {
	position: relative;
	max-width: 1100px;
	margin: 0 auto;
	z-index: 97;
}
#pulldownmenu > div.body > div {
	left: 20px;
}
#pulldownmenu > div > div {
	position: absolute;
	width: 100%;
	left: -40px;
	top: 20px;
	opacity: 0;
	-webkit-transition: 200ms;
	transition: 200ms;
	z-index: 98;
	pointer-events: none;
}
#pulldownmenu > div > div:after {
	content: "";
	display: block;
	clear: both;
}
#pulldownmenu > div > div.fadein {
	opacity: 1;
	left: 20px;
	z-index: 99;
	pointer-events: auto;
}
#pulldownmenu > div > div.fadeout {
	opacity: 0;
	left: 80px;
}
#pulldownmenu > div > div > .title {
	float: left;
	width: 18%;
}
#pulldownmenu > div > div > .title a {
	color: #000;
	font-size: 21.6px;
	font-size: 1.2rem;
	line-height: 23.76px;
	line-height: 1.32rem;
	position: relative;
	display: inline-block;
}
#pulldownmenu > div > div > .title a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#pulldownmenu > div > div > .title a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#pulldownmenu > div > div > ul {
	float: left;
	width: 82%;
}
#pulldownmenu > div > div > ul li {
	position: relative;
	display: inline-block;
	vertical-align: top;
	font-size: 18px;
	font-size: 1rem;
	line-height: 25.2px;
	line-height: 1.4rem;
	margin-bottom: 38px;
	width: 32%;
}
.jp #pulldownmenu > div > div > ul li {
	margin-bottom: 40px;
}
#pulldownmenu > div > div > ul li a {
	color: #000;
	position: relative;
	display: inline-block;
}
#pulldownmenu > div > div > ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.25em;
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#pulldownmenu > div > div > ul li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.sp #pulldownmenu > div > div > ul li a {
	display: table-cell;
	padding: 5px 20px 5px 40px;
	color: #ffffff;
	vertical-align: middle;
}
.sp #pulldownmenu > div > div > ul li a:before {
	display: none;
}
#pulldownmenu > div > div > ul li ul {
	display: none;
}

main .contents .text.center_txlink {
	text-align: center;
}
main .contents .text.center_txlink p {
	display: inline-block;
}
main .contents .text.center_txlink p a {
	display: block;
	border: 1px solid #646464;
	padding: 10px;
}
main .contents > div.schedule_bg {
	padding: 0;
	height: 120px;
	max-width: none;
	background: url(/local/japan/ja/services/schedule/upload/schedule_bg.jpg) no-repeat center;
	background-size: cover;
}

.g-recaptcha {
	position: relative;
	width: 100%;
}
.g-recaptcha::before {
	content: "*";
	position: absolute;
	left: calc((100% - 330px) / 2);
	top: 0;
	color: #f00;
}

.stack {
	margin-top: 0px !important;
}

.block {
	margin-top: 40px !important;
}
.sp .block {
	margin-top: 30px !important;
}

.section {
	margin-top: 80px !important;
}
.sp .section {
	margin-top: 60px !important;
}

.paragraph {
	margin-top: 20px !important;
}

.halfparagraph {
	margin-top: 7px !important;
}

.loading * {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}

header {
	position: fixed;
	padding: 20px 20px 0 20px;
	width: 100%;
	z-index: 100;
}
.pc header {
	padding: 0;
}
header #headbar {
	height: 80px;
	position: relative;
	z-index: 100;
	text-align: right;
	-webkit-transition: 400ms;
	transition: 400ms;
	background: rgba(255, 255, 255, 0.85);
	box-shadow: 0 0 3px 3px rgba(152, 166, 181, 0.5);
}
.short header #headbar {
	height: 80px;
	border-bottom: 1px solid #CDD6DD;
}
.fullmenuopen header #headbar {
	border-color: transparent;
	background: transparent;
	box-shadow: none;
}
.pc header #headbar {
	height: 65px;
	background: #fff;
}
header #logo {
	position: absolute;
	top: 20px;
	left: 20px;
}
.pc header #logo {
	top: 19px;
}
header #logo a {
	display: block;
	position: relative;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #logo a:hover {
	opacity: 0.7;
}
header #logo img {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	margin-left: 0px;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.pc header #logo img {
	width: 220px;
	display: block !important;
}
header #logo img.logo_short {
	display: none;
	left: 1px;
}
.bp2 header #logo img.logo_short {
	display: block;
}
.pc header #logo img.logo_short {
	display: none !important;
}
header #logo .l {
	opacity: 1;
}
.short header #logo .l {
	opacity: 0;
}
.fullmenuopen header #logo .l {
	opacity: 1;
}
header #logo .s {
	opacity: 0;
}
.short header #logo .s {
	opacity: 1;
}
.fullmenuopen header #logo .s {
	opacity: 0;
}
.pc header #logo .s {
	opacity: 1;
}
header #globalnavi {
	height: 80px;
	padding-right: 330px;
}
.bp2 header #globalnavi {
	padding-right: 240px;
}
.pc header #globalnavi {
	display: none;
}
header #globalnavi > ul {
	height: 80px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	vertical-align: middle;
}
header #globalnavi > ul > li {
	position: relative;
	height: 80px;
	line-height: 80px;
}
header #globalnavi > ul > li.static {
	position: static;
}
header #globalnavi > ul > li.static > div {
	justify-content: center;
	width: 90%;
}
header #globalnavi > ul > li + li {
	margin-left: 35px;
}
.bp2 header #globalnavi > ul > li + li {
	margin-left: 25px;
}
.pc.short header #globalnavi > ul > li + li {
	margin-left: 25px;
}
header #globalnavi > ul > li > a {
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 16px;
	line-height: 0.88889rem;
	color: #333;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	vertical-align: middle;
	-webkit-transition: 400ms;
	transition: 400ms;
	font-weight: 400;
}
header #globalnavi > ul > li > a:hover {
	opacity: 0.7;
}
.short header #globalnavi > ul > li > a {
	color: #333;
}
.fullmenuopen header #globalnavi > ul > li > a {
	opacity: 0;
	pointer-events: none;
}
header #globalnavi > ul > li > a.ac::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 8px;
	bottom: -31px;
	left: 0;
	background: #020024;
	background: linear-gradient(90deg, #020024 0%, #ec212f 0%, #ffd002 100%);
	border-radius: 3px 3px 0 0;
}
header #globalnavi > ul > li > ul, header #globalnavi > ul > li > div {
	position: absolute;
	top: 40px;
	left: 50%;
	transform: translateX(-50%);
	text-align: left;
	background: #fff;
	opacity: 0;
	pointer-events: none;
	transition: 0.6s;
	z-index: -50;
	white-space: nowrap;
}
header #globalnavi > ul > li > ul ul.odd, header #globalnavi > ul > li > div ul.odd {
	border-bottom: 1px solid #fff;
}
header #globalnavi > ul > li > ul li, header #globalnavi > ul > li > div li {
	border-top: 1px solid #fff;
}
header #globalnavi > ul > li > ul li:last-child, header #globalnavi > ul > li > div li:last-child {
	border-bottom: 1px solid #fff;
}
header #globalnavi > ul > li > ul li.title, header #globalnavi > ul > li > div li.title {
	padding: 10px 10px;
	color: #0077FF;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 16px;
	line-height: 0.88889rem;
}
header #globalnavi > ul > li > ul li a, header #globalnavi > ul > li > div li a {
	display: block;
	padding: 10px 20px;
	transition: 0.3s;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 16px;
	line-height: 0.88889rem;
	color: #333;
	font-weight: 400;
}
header #globalnavi > ul > li > ul li a:hover, header #globalnavi > ul > li > div li a:hover {
	background: #fff;
}
header #globalnavi > ul > li > ul li a.title, header #globalnavi > ul > li > div li a.title {
	padding: 10px 10px;
	color: #0077FF;
}
header #globalnavi > ul > li > ul li a.line2, header #globalnavi > ul > li > div li a.line2 {
	line-height: 1.5;
	padding: 12px 20px 13px;
}
header #globalnavi > ul > li > div {
	display: flex;
}
header #globalnavi > ul > li > div > div + div {
	border-left: 1px solid #ccc;
}
header #globalnavi > ul > li > div > div .col {
	display: flex;
}
header #globalnavi > ul > li > div > div div.title {
	padding: 10px 10px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 16px;
	line-height: 0.88889rem;
	color: #0077FF;
	font-weight: 400;
}
header #globalnavi > ul > li > div > div li {
	min-width: 220px;
}
header #globalnavi > ul > li.open > ul, header #globalnavi > ul > li.open > div {
	top: 80px;
	opacity: 1;
	pointer-events: auto;
}
header #globalnavi > ul > li.open .nolink {
	pointer-events: none;
}
header #globalsubnavi {
	position: absolute;
	right: 0px;
	top: 10px;
	vertical-align: middle;
	padding-right: 40px;
	padding-top: 6px;
	z-index: 10;
}
.bp2 header #globalsubnavi {
	padding-right: 25px;
}
.pc header #globalsubnavi {
	padding-right: 20px;
	top: 0px;
}
header #globalsubnavi > ul {
	display: inline-block;
	font-size: 0px;
	vertical-align: middle;
}
header #globalsubnavi > ul > li {
	display: inline-block;
	vertical-align: middle;
}
.pc header #globalsubnavi > ul > li:not(:last-child) {
	display: none;
}
header #globalsubnavi > ul > li.global_li {
	position: relative;
}
header #globalsubnavi > ul > li.global_li .minimenu {
	position: absolute;
	display: none;
	background: #fff;
	right: 0;
	top: 45px;
	padding: 10px 10px 0px;
}
header #globalsubnavi > ul > li.global_li .minimenu li {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	text-align: left;
	padding-bottom: 10px;
}
header #globalsubnavi > ul > li.global_li .minimenu li a {
	display: inline;
	color: #000000;
}
header #globalsubnavi > ul > li.global_li .minimenu li + li {
	padding-top: 10px;
	border-top: 1px dotted #ccc;
}
header #globalsubnavi > ul > li.menu_li {
	display: none;
}
.pc header #globalsubnavi > ul > li.menu_li {
	display: block;
}
header #globalsubnavi > ul > li + li {
	margin-left: 40px;
}
.bp2 header #globalsubnavi > ul > li + li {
	margin-left: 25px;
}
header #globalsubnavi a, header #globalsubnavi button {
	position: relative;
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: 26px;
}
header #globalsubnavi a:hover, header #globalsubnavi button:hover {
	opacity: 0.7;
}
header #globalsubnavi a img, header #globalsubnavi button img {
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	margin-left: 0px;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #globalsubnavi a.search img, header #globalsubnavi button.search img {
	top: 1px;
}
header #globalsubnavi a.contact img, header #globalsubnavi button.contact img {
	top: 5px;
}
header #globalsubnavi a .l, header #globalsubnavi button .l {
	opacity: 0;
}
.short header #globalsubnavi a .l, .short header #globalsubnavi button .l {
	opacity: 0;
}
.fullmenuopen header #globalsubnavi a .l, .fullmenuopen header #globalsubnavi button .l {
	opacity: 1;
}
header #globalsubnavi a .s, header #globalsubnavi button .s {
	opacity: 1;
}
.short header #globalsubnavi a .s, .short header #globalsubnavi button .s {
	opacity: 1;
}
.fullmenuopen header #globalsubnavi a .s, .fullmenuopen header #globalsubnavi button .s {
	opacity: 0;
}
header #globalsubnavi a.global .o, header #globalsubnavi a.search .o, header #globalsubnavi button.global .o, header #globalsubnavi button.search .o {
	opacity: 0;
}
header #globalsubnavi a.global.on .o, header #globalsubnavi a.search.on .o, header #globalsubnavi button.global.on .o, header #globalsubnavi button.search.on .o {
	opacity: 1;
}
header #globalsubnavi a.global.on .l, header #globalsubnavi a.global.on .s, header #globalsubnavi a.search.on .l, header #globalsubnavi a.search.on .s, header #globalsubnavi button.global.on .l, header #globalsubnavi button.global.on .s, header #globalsubnavi button.search.on .l, header #globalsubnavi button.search.on .s {
	opacity: 0;
}
header #globalsubnavi a.menu, header #globalsubnavi button.menu {
	position: relative;
	display: block;
	top: 13px;
	width: 26px;
	height: 22px;
	z-index: 600;
	background: none;
	border: none;
}
.pc header #globalsubnavi a.menu, .pc header #globalsubnavi button.menu {
	top: 17px;
}
header #globalsubnavi a.menu::before, header #globalsubnavi a.menu::after, header #globalsubnavi button.menu::before, header #globalsubnavi button.menu::after {
	content: "";
	position: absolute;
	width: 26px;
	height: 22px;
	left: 0;
	top: 0;
	transition: 0.3s;
}
header #globalsubnavi a.menu::before, header #globalsubnavi button.menu::before {
	background: url(/common/images/spmenubtn.png) no-repeat;
	background-size: 26px 22px;
}
header #globalsubnavi a.menu::after, header #globalsubnavi button.menu::after {
	background: url(/common/images/spmenubtn_close.png) no-repeat;
	background-size: 26px 22px;
	opacity: 0;
}
header #globalsubnavi a.menu.open::before, header #globalsubnavi button.menu.open::before {
	opacity: 0;
}
header #globalsubnavi a.menu.open::after, header #globalsubnavi button.menu.open::after {
	opacity: 1;
}

.globalsearch {
	position: absolute;
	top: 105px;
	right: 25px;
	transition: 500ms;
}
.sp .globalsearch {
	display: none;
	right: 20px;
	top: 75px;
	width: calc(100% - 40px);
}
.fullmenuopen .globalsearch {
	display: none;
}
.globalsearch div.input {
	position: relative;
	width: 360px;
}
.sp .globalsearch div.input {
	width: 100%;
}
.globalsearch div.input input {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
.globalsearch div.input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}

#global_search {
	display: none;
	position: fixed;
	background-color: rgba(34, 49, 133, 0.8);
	z-index: 100;
	width: 100%;
	height: 100vh;
	padding: 0 20px;
}
#global_search .input_area {
	width: 100%;
	position: relative;
	padding: 20px 220px 20px 220px;
	top: 20px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(255, 255, 255, 0.6);
}
.bp2 #global_search .input_area {
	padding: 20px 160px;
}
#global_search .input_area p {
	color: #000;
	font-size: 18px;
	font-size: 1rem;
	line-height: 25.2px;
	line-height: 1.4rem;
}
#global_search .input_area .searchbox {
	position: relative;
	margin-top: 15px;
}
#global_search .input_area .searchbox + .label {
	margin-top: 30px;
}
#global_search .input_area .fs-text, #global_search .input_area input[type="text"] {
	display: block;
	width: 100%;
	margin: 0 0 0 auto;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
	transition: 0.4s;
}
#global_search .input_area .fs-btn {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 14px;
	top: 7px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}
#global_search .input_area .label {
	font-size: 26px;
	font-size: 1.44444rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
}
.jp #global_search .input_area .label {
	font-weight: bold;
}
#global_search .input_area .sublabel {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 24px;
	line-height: 1.33333rem;
	margin: 15px 0;
}
.jp #global_search .input_area .sublabel {
	font-weight: bold;
}
#global_search .input_area .input {
	position: relative;
}
#global_search .input_area .input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 14px;
	top: 7px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
	text-indent: -9999px;
}
#global_search .input_area .input input {
	margin-top: 15px;
}
.jp #global_search .input_area .input input {
	margin-top: 0px;
}
#global_search .input_area .radio {
	margin-top: 15px;
}
#global_search .input_area .close {
	position: absolute;
	padding: 30px 10px 10px 10px;
	right: 140px;
	top: 17px;
	color: #000;
	cursor: pointer;
	transition: 0.4s;
	background: none;
	border: none;
}
.bp2 #global_search .input_area .close {
	right: 80px;
}
.sp #global_search .input_area .close {
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding-top: 55px;
}
#global_search .input_area .close:before {
	position: absolute;
	display: block;
	content: "";
	width: 22px;
	height: 1px;
	top: 1px;
	left: 22px;
	background: #000;
	transform: translateY(12px) rotate(-45deg);
}
.sp #global_search .input_area .close:before {
	top: 15px;
	left: calc(50% - 12px);
}
#global_search .input_area .close:after {
	position: absolute;
	display: block;
	content: "";
	width: 22px;
	height: 1px;
	top: 25px;
	left: 22px;
	background: #000;
	transform: translateY(-12px) rotate(45deg);
}
.sp #global_search .input_area .close:after {
	top: 39px;
	left: calc(50% - 12px);
}

#fullmenu {
	position: fixed;
	top: 0px;
	bottom: 0;
	right: -100vw;
	width: 100%;
	height: 100%;
	background: #004098;
	z-index: 95;
	-webkit-transition: 500ms;
	transition: 500ms;
	opacity: 0;
}
#fullmenu:after {
	content: "";
	display: block;
	clear: both;
}
.fullmenuopen #fullmenu {
	right: 0;
	opacity: 1;
	overflow-y: auto;
}
#fullmenu > .spmenu {
	display: none;
}
.pc #fullmenu > .spmenu {
	display: block;
	height: 100vh;
	overflow-y: scroll;
	padding-top: 65px;
}
.pc #fullmenu > .spmenu .search div.searchbox {
	position: relative;
	margin: 20px auto 0;
	width: 90%;
}
.pc #fullmenu > .spmenu .search div.searchbox .fs-text {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
.pc #fullmenu > .spmenu .search div.searchbox .fs-btn {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}
.pc #fullmenu > .spmenu .menu {
	width: 100%;
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
	margin-top: 20px;
}
.pc #fullmenu > .spmenu .menu > li {
	position: relative;
}
.pc #fullmenu > .spmenu .menu > li + li {
	border-top: 1px dotted #fff;
}
.pc #fullmenu > .spmenu .menu > li a {
	display: block;
	padding: 15px 40px 15px 10px;
	color: #fff;
}
.pc #fullmenu > .spmenu .menu > li .btn {
	position: absolute;
	z-index: 5;
	right: 5px;
	top: 10px;
	width: 30px;
	height: 30px;
	text-align: center;
	padding-top: 4px;
	cursor: pointer;
	background: none;
	border: none;
}
.pc #fullmenu > .spmenu .menu > li .btn:after {
	content: "[＋]";
	position: absolute;
	color: #fff;
	right: 5px;
	top: 5px;
}
.pc #fullmenu > .spmenu .menu > li .btn.open:after {
	content: "[－]";
}
.pc #fullmenu > .spmenu .menu > li .btn img {
	position: absolute;
	visibility: hidden;
}
.pc #fullmenu > .spmenu .menu > li > ul {
	display: none;
	border-top: 1px solid #fff;
}
.pc #fullmenu > .spmenu .menu > li > ul > li {
	background: #646464;
}
.pc #fullmenu > .spmenu .menu > li > ul > li.title {
	padding: 15px 40px 15px 10px;
	color: #fff;
}
.pc #fullmenu > .spmenu .menu > li > ul > li + li {
	border-top: 1px dotted #fff;
}
.pc #fullmenu > .spmenu .menu > li > ul > li a {
	padding-left: 20px;
}
.pc #fullmenu > .spmenu .menu > li > ul > li a.title {
	padding-left: 10px;
}
.pc #fullmenu > .spmenu .shipmentsearch {
	background: #fff;
	padding: 30px 0;
	text-align: center;
}
.pc #fullmenu > .spmenu .shipmentsearch div.input {
	position: relative;
	margin: 20px auto 0;
	width: 90%;
}
.pc #fullmenu > .spmenu .shipmentsearch div.input input {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
.pc #fullmenu > .spmenu .shipmentsearch div.input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}
.pc #fullmenu > .spmenu .shipmentsearch .radio {
	position: relative;
	margin: 20px auto 0;
	width: 90%;
}
.pc #fullmenu > .spmenu .shipmentsearch .radio input {
	vertical-align: middle;
	margin: 0 5px 0 0;
}
.pc #fullmenu > .spmenu .shipmentsearch .radio label + label {
	margin-left: 20px;
}
.pc #fullmenu > .spmenu .shipmentsearch .link a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pc #fullmenu > .spmenu .shipmentsearch .link a:hover {
	opacity: 0.7;
}
.pc #fullmenu > .spmenu .shipmentsearch .link .help {
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	width: 60%;
	margin: 20px auto 0;
	padding-bottom: 10px;
	border-bottom: 1px dotted #646464;
	text-align: center;
}
.pc #fullmenu > .spmenu .shipmentsearch .link .help a {
	position: relative;
	padding-left: 15px;
}
.pc #fullmenu > .spmenu .shipmentsearch .link .help a::before {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	left: 0;
	top: 7px;
	background: url(/common/images/arrow02.svg) no-repeat;
	background-size: 12px 12px;
}
.pc #fullmenu > .spmenu .shipmentsearch .link .tracking {
	margin-top: 25px;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 22px;
	line-height: 1.22222rem;
	text-align: center;
}
.pc #fullmenu > .spmenu .shipmentsearch .link .tracking a {
	color: #333;
	text-decoration: underline;
}
.pc #fullmenu > .spmenu .globalnetwork {
	padding-bottom: 30px;
	background: #fff;
}
.pc #fullmenu > .spmenu .globalnetwork div.select {
	position: relative;
	width: 90%;
	margin: 30px auto 0;
}
.pc #fullmenu > .spmenu .globalnetwork div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
.pc #fullmenu > .spmenu .globalnetwork div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 13px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
.pc #fullmenu > .spmenu .globalnetwork div.select select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #888;
}
.pc #fullmenu > .spmenu .submenu {
	padding: 30px 0;
}
.pc #fullmenu > .spmenu .submenu ul {
	text-align: center;
}
.pc #fullmenu > .spmenu .submenu ul li {
	display: inline-block;
	vertical-align: middle;
	color: #fff;
}
.pc #fullmenu > .spmenu .submenu ul li a {
	display: inline-block;
	padding: 10px;
	color: #fff;
}
.pc #fullmenu > .spmenu .submenu ul li + li {
	margin-left: 50px;
}
.pc #fullmenu > .spmenu .submenu ul .minimenu {
	display: none;
}
.pc #fullmenu > .spmenu .icolink {
	padding-bottom: 30px;
}
.pc #fullmenu > .spmenu .icolink:after {
	content: "";
	display: block;
	clear: both;
}
.pc #fullmenu > .spmenu .icolink li {
	float: left;
	text-align: center;
	width: 33.3%;
}
.pc #fullmenu > .spmenu .icolink li:nth-of-type(3n+1) {
	clear: both;
}
.pc #fullmenu > .spmenu .icolink li:nth-of-type(n+4) {
	margin-top: 30px;
}
.pc #fullmenu > .spmenu .icolink li a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.pc #fullmenu > .spmenu .icolink li a:hover {
	opacity: 0.7;
}
.pc #fullmenu > .spmenu .icolink li a img {
	margin-bottom: 10px;
}

#hovermenu {
	position: fixed;
	top: -60px;
	width: 100%;
	height: 100%;
	padding-top: 90px;
	background: #000000;
	opacity: 0;
	z-index: -1;
	pointer-events: none;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.menuopen #hovermenu {
	top: 0px;
	opacity: 1;
	pointer-events: auto;
	z-index: 95;
}
.short #hovermenu {
	padding-top: 70px;
}
.sp #hovermenu {
	padding-top: 65px;
}
#hovermenu > div {
	height: 100%;
	overflow-y: auto;
}
#hovermenu > div > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 90px 20px 80px;
}
.sp #hovermenu > div > div {
	padding: 45px 10px 40px;
}
.sp #hovermenu > div > div {
	padding: 0px;
}
#hovermenu img {
	margin: auto;
	max-width: 100%;
	height: auto;
}
#hovermenu img.pc {
	display: block;
}
.sp #hovermenu img.pc {
	display: none;
}
#hovermenu img.sp {
	display: none;
}
.sp #hovermenu img.sp {
	display: block;
}

#searchmenu {
	position: fixed;
	top: -60px;
	width: 100%;
	height: 100%;
	padding-top: 90px;
	background: #000000;
	opacity: 0;
	z-index: -1;
	pointer-events: none;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.searchopen #searchmenu {
	top: 0px;
	opacity: 1;
	pointer-events: auto;
	z-index: 90;
}
.short #searchmenu {
	padding-top: 70px;
}
#searchmenu > div {
	height: 100%;
	overflow-y: auto;
}
#searchmenu > div > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 90px 20px 80px;
}
.sp #searchmenu > div > div {
	padding: 45px 10px 40px;
}
#searchmenu img {
	margin: auto;
	max-width: 100%;
	height: auto;
}

.search_404 .searchbox {
	position: relative;
	margin: 20px auto 0;
	width: 60%;
}
.sp .search_404 .searchbox {
	width: 90%;
}
.search_404 .searchbox .fs-text {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
.search_404 .searchbox .fs-btn {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}

#mainvisual {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 600px;
	z-index: 10;
	background: transparent;
	overflow: hidden;
	background: url(/jp/images/visualbg.jpg) no-repeat center center;
	background-size: cover;
	opacity: 0;
	transform: scale(1.05);
	transition: opacity 900ms, transform 1200ms;
}
.sp #mainvisual {
	background: none;
}
#mainvisual.show {
	transform: scale(1);
	opacity: 1;
}
#mainvisual.show:after {
	opacity: 1;
}
#mainvisual.catchhide:after {
	opacity: 0;
}
#mainvisual.once:after {
	transition: 400ms 0ms;
}
#mainvisual:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(/jp/images/visualfr.png) no-repeat center center;
	background-size: cover;
}
.sp #mainvisual:before {
	background: none;
}
#mainvisual:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background: url(/images/catch.png) no-repeat center center;
	background-size: cover;
	opacity: 0;
	transition: 800ms 1800ms;
}
.pc #mainvisual:after {
	background: url(/images/catch_pc.png) no-repeat center center;
	background-size: cover;
}
.sp #mainvisual:after {
	background: none;
}
#mainvisual.jp:after {
	background: url(/jp/images/catch.png) no-repeat center center;
	background-size: cover;
}
.pc #mainvisual.jp:after {
	background: url(/jp/images/catch_pc.png) no-repeat center center;
	background-size: cover;
}
#mainvisual canvas {
	position: absolute;
	top: 40%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	z-index: 0;
}

#scroll {
	position: fixed;
	bottom: 20px;
	left: 50%;
	margin-left: -22px;
	z-index: 30;
	-webkit-transition: 400ms;
	transition: 400ms;
}
#scroll.hide {
	opacity: 0;
}

#bg_visual {
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: -1;
}
.sp #bg_visual {
	display: none;
}
#bg_visual .overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.3);
}

.inline-YTPlayer {
	position: fixed !important;
	width: 100%;
	height: 100vh;
	z-index: -1;
}

#catch {
	position: relative;
	height: 600px;
	z-index: 15;
}
.sp #catch {
	height: auto;
	min-height: 0;
}
#catch svg {
	position: absolute;
	top: 40%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.sp #catch svg {
	display: none;
}
#catch svg .t {
	fill: transparent;
	stroke: #fff;
	stroke-width: 2;
}
#catch svg .t _:-ms-fullscreen, :root #catch svg .t {
	opacity: 0;
}
#catch svg .t01 {
	stroke-dasharray: 355;
	stroke-dashoffset: 355;
}
#catch svg .t02 {
	stroke-dasharray: 250;
	stroke-dashoffset: 250;
}
#catch svg .t03 {
	stroke-dasharray: 290;
	stroke-dashoffset: 290;
}
#catch svg .t04 {
	stroke-dasharray: 305;
	stroke-dashoffset: 305;
}
#catch svg .t05 {
	stroke-dasharray: 350;
	stroke-dashoffset: 350;
}
#catch svg .t06 {
	stroke-dasharray: 290;
	stroke-dashoffset: 290;
}
#catch svg .t07 {
	stroke-dasharray: 260;
	stroke-dashoffset: 260;
}
#catch svg .t08 {
	stroke-dasharray: 330;
	stroke-dashoffset: 330;
}
#catch svg .t09 {
	stroke-dasharray: 285;
	stroke-dashoffset: 285;
}
#catch svg .t10 {
	stroke-dasharray: 260;
	stroke-dashoffset: 260;
}
#catch svg .t11 {
	stroke-dasharray: 380;
	stroke-dashoffset: 380;
}
#catch svg .t12 {
	stroke-dasharray: 330;
	stroke-dashoffset: 330;
}
#catch svg .t13 {
	stroke-dasharray: 360;
	stroke-dashoffset: 360;
}
#catch svg .t14 {
	stroke-dasharray: 590;
	stroke-dashoffset: 590;
}
#catch svg .t15 {
	stroke-dasharray: 190;
	stroke-dashoffset: 190;
}
#catch svg .t16 {
	stroke-dasharray: 250;
	stroke-dashoffset: 250;
}
#catch svg .t17 {
	stroke-dasharray: 350;
	stroke-dashoffset: 350;
}
#catch.vt01 svg .t01, #catch.vt02 svg .t02, #catch.vt03 svg .t03, #catch.vt04 svg .t04, #catch.vt05 svg .t05, #catch.vt06 svg .t06, #catch.vt07 svg .t07, #catch.vt08 svg .t08, #catch.vt09 svg .t09, #catch.vt10 svg .t10, #catch.vt11 svg .t11, #catch.vt12 svg .t12, #catch.vt13 svg .t13, #catch.vt14 svg .t14, #catch.vt15 svg .t15, #catch.vt16 svg .t16, #catch.vt17 svg .t17 {
	fill: #fff;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1500ms, fill 700ms 1300ms;
}
#catch.vt01 svg .t01 _:-ms-fullscreen, :root #catch.vt01 svg .t01, #catch.vt02 svg .t02 _:-ms-fullscreen, :root #catch.vt02 svg .t02, #catch.vt03 svg .t03 _:-ms-fullscreen, :root #catch.vt03 svg .t03, #catch.vt04 svg .t04 _:-ms-fullscreen, :root #catch.vt04 svg .t04, #catch.vt05 svg .t05 _:-ms-fullscreen, :root #catch.vt05 svg .t05, #catch.vt06 svg .t06 _:-ms-fullscreen, :root #catch.vt06 svg .t06, #catch.vt07 svg .t07 _:-ms-fullscreen, :root #catch.vt07 svg .t07, #catch.vt08 svg .t08 _:-ms-fullscreen, :root #catch.vt08 svg .t08, #catch.vt09 svg .t09 _:-ms-fullscreen, :root #catch.vt09 svg .t09, #catch.vt10 svg .t10 _:-ms-fullscreen, :root #catch.vt10 svg .t10, #catch.vt11 svg .t11 _:-ms-fullscreen, :root #catch.vt11 svg .t11, #catch.vt12 svg .t12 _:-ms-fullscreen, :root #catch.vt12 svg .t12, #catch.vt13 svg .t13 _:-ms-fullscreen, :root #catch.vt13 svg .t13, #catch.vt14 svg .t14 _:-ms-fullscreen, :root #catch.vt14 svg .t14, #catch.vt15 svg .t15 _:-ms-fullscreen, :root #catch.vt15 svg .t15, #catch.vt16 svg .t16 _:-ms-fullscreen, :root #catch.vt16 svg .t16, #catch.vt17 svg .t17 _:-ms-fullscreen, :root #catch.vt17 svg .t17 {
	opacity: 1;
	transition: 1000ms 700ms;
}
#catch .lead {
	position: absolute;
	top: 50%;
	left: 20px;
	min-width: 500px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.sp #catch .lead {
	display: none;
	top: calc(((100% - 65px) / 2) + 65px);
	min-width: 0;
}
#catch .lead p {
	font-size: 60px;
	font-size: 3.33333rem;
	line-height: 72px;
	line-height: 4rem;
	color: #fff;
}
.sp #catch .lead p {
	display: none;
}
.jp #catch .lead p {
	font-weight: 700;
}
#catch .alert {
	width: 100%;
	background-color: rgba(255, 0, 0, 0.5);
	position: absolute;
	top: 120px;
}
.sp #catch .alert {
	position: static;
	margin-top: 20px;
	background-color: rgba(255, 0, 0, 0.7);
}
#catch .alert > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 20px 20px 20px;
	position: relative;
}
.sp #catch .alert > div {
	padding: 10px 10px 10px;
}
#catch .alert > div::before {
	content: "";
	position: absolute;
	width: 34px;
	height: 30px;
	background: url(/common/images/ico_alert.svg) no-repeat;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
}
.sp #catch .alert > div::before {
	left: 10px;
}
#catch .alert > div p {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 22.4px;
	line-height: 1.24444rem;
	color: #fff;
	padding-left: 60px;
}
.sp #catch .alert > div p {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 19.6px;
	line-height: 1.08889rem;
	padding-left: 50px;
}
#catch .alert > div a {
	color: #fff;
	text-decoration: underline;
}
#catch .alert > div a:hover {
	text-decoration: none;
}
#catch .image {
	position: relative;
}
.jp.sp #catch .image {
	margin-top: 65px;
}
.sp #catch .image .lead {
	display: block;
}
#catch #searchcol {
	position: absolute;
	width: 100%;
	bottom: 20px;
	z-index: 15;
}
.sp #catch #searchcol {
	position: relative;
	bottom: auto;
	margin: 20px;
	width: auto;
	box-shadow: 0px 0px 5px 2px #ccc;
	border-radius: 5px;
}
#catch #searchcol > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
	max-width: 580px;
}
.sp #catch #searchcol > div {
	padding: 0px 10px 0px;
}
#catch #searchcol > div:after {
	content: "";
	display: block;
	clear: both;
}
.jp #catch #searchcol > div {
	margin-left: 0;
	width: 580px;
	max-width: 70%;
}
.jp.sp #catch #searchcol > div {
	width: 100%;
}
.sp #catch #searchcol > div {
	padding: 0;
	max-width: none;
}
#catch #searchcol > div > div {
	position: relative;
}
.sp #catch #searchcol > div > div {
	width: 100%;
	float: none;
}
#catch #searchcol > div > div + div {
	margin-left: 2%;
}
.sp #catch #searchcol > div > div + div {
	margin-left: 0;
	border-top: 1px solid #ccc;
}
#catch #searchcol > div > div > div {
	background: #fff;
	border-radius: 8px;
}
.sp #catch #searchcol > div > div > div {
	height: auto;
}
#catch #searchcol > div > div > div.jp_link {
	position: absolute;
	display: flex;
	align-items: center;
	background: none;
	left: 0;
	top: -60px;
	color: #fff;
}
.sp #catch #searchcol > div > div > div.jp_link {
	position: static;
	display: block;
	color: #000;
	padding: 10px 0;
}
#catch #searchcol > div > div > div.jp_link p {
	text-align: center;
	text-shadow: 1px 1px 3px #777, -1px -1px 3px #777;
	order: 2;
}
.jp.sp #catch #searchcol > div > div > div.jp_link p {
	text-shadow: none;
}
#catch #searchcol > div > div > div.jp_link .button {
	margin: 0 20px 0 0;
	order: 1;
}
.sp #catch #searchcol > div > div > div.jp_link .button {
	margin: 20px 0 0 0;
}
#catch #searchcol > div > div > div.jp_link .button a {
	white-space: nowrap;
}
#catch #searchcol > div > div > div .column > div {
	height: 100px;
	margin-bottom: 0;
}
#catch #searchcol > div > div > div .column > div.map {
	background: url(/images/searchcol_map.png) no-repeat center right;
	background-size: contain;
}
#catch #searchcol > div > div > div h2 {
	padding-top: 30px;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 31.2px;
	line-height: 1.73333rem;
	font-weight: 300;
}
#catch #searchcol > div > div > div div.input {
	position: relative;
	width: 80%;
	margin: 30px auto 0;
}
#catch #searchcol > div > div > div div.input input {
	display: block;
	width: 100%;
	padding-left: 10px;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
}
#catch #searchcol > div > div > div div.input button {
	display: block;
	position: absolute;
	width: 24px;
	height: 24px;
	right: 12px;
	top: 8px;
	background: url(/common/images/ico_search.svg) no-repeat;
	background-size: 24px 24px;
	border: none;
	cursor: pointer;
}
#catch #searchcol > div > div > div div.radio {
	position: relative;
	width: 80%;
	margin: 20px auto 0;
}
#catch #searchcol > div > div > div div.radio input {
	vertical-align: middle;
	margin: 0 5px 0 0;
}
#catch #searchcol > div > div > div div.radio > label + label {
	margin-left: 20px;
}
#catch #searchcol > div > div > div .link {
	width: 80%;
	margin: 20px auto 0;
	text-align: center;
	margin-top: 20px;
	border-top: 1px dotted #ccc;
	padding-top: 15px;
}
#catch #searchcol > div > div > div .link a {
	position: relative;
	color: #888;
	text-decoration: underline;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#catch #searchcol > div > div > div .link a:hover {
	opacity: 0.7;
}
#catch #searchcol > div > div > div .link a::after {
	content: "";
	position: absolute;
	width: 12px;
	height: 8px;
	background: url(/common/images/ico_arrow01.svg) no-repeat;
	background-size: 12px 8px;
	right: -18px;
	top: 8px;
}
#catch #searchcol > div > div div.select {
	position: relative;
	width: 90%;
	margin: 30px auto 0;
}
#catch #searchcol > div > div div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
#catch #searchcol > div > div div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 13px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
#catch #searchcol > div > div div.select select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #888;
	background: #fff;
}
#catch #searchcol > div > div ul.office {
	margin-top: 30px;
	text-align: center;
}
#catch #searchcol > div > div ul.office li {
	display: inline-block;
}
#catch #searchcol > div > div ul.office li + li {
	margin-left: 20px;
}
.sp #catch #searchcol > div > div ul.office li + li {
	margin-left: 10px;
}
#catch #searchcol > div > div ul.office li a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#catch #searchcol > div > div ul.office li a:hover {
	opacity: 0.7;
}
#catch #searchcol2 {
	position: absolute;
	width: 100%;
	bottom: 20px;
	z-index: 15;
	padding: 0 80px;
}
.bp2 #catch #searchcol2 {
	padding: 0 40px;
}
.sp #catch #searchcol2 {
	position: relative;
	bottom: auto;
	padding: 0;
}
#catch #searchcol2 > div {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.pc #catch #searchcol2 > div {
	display: block;
	max-width: 540px;
	margin: 0 auto;
}
#catch #searchcol2 > div .search {
	width: calc((100% - 60px) / 3);
	max-width: 540px;
	padding: 0 20px;
	background: #fff;
	border-radius: 8px;
}
.pc #catch #searchcol2 > div .search {
	width: auto;
}
.sp #catch #searchcol2 > div .search {
	margin: 20px;
	padding: 0 10px;
	width: auto;
	box-shadow: 0px 0px 5px 2px #ccc;
	border-radius: 5px;
}
#catch #searchcol2 > div .search .column > div {
	height: 100px;
	margin-bottom: 0;
}
#catch #searchcol2 > div .search .column > div.map {
	background: url(/images/searchcol_map.png) no-repeat center right;
	background-size: contain;
}
#catch #searchcol2 > div .search h2 {
	padding-top: 36px;
	font-size: 30px;
	font-weight: 300;
}
.sp #catch #searchcol2 > div .search h2 {
	font-size: 18px;
}
#catch #searchcol2 > div .search div.select {
	position: relative;
	width: 90%;
	margin: 30px auto 0;
}
#catch #searchcol2 > div .search div.select::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 6px;
	top: 6px;
	z-index: 1;
	pointer-events: none;
}
#catch #searchcol2 > div .search div.select::after {
	content: "";
	position: absolute;
	border-top: 8px solid #fff;
	border-right: 5px solid transparent;
	border-bottom: 8px solid transparent;
	border-left: 5px solid transparent;
	right: 13px;
	top: 16px;
	z-index: 2;
	pointer-events: none;
}
#catch #searchcol2 > div .search div.select select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 38px;
	border-radius: 18px;
	line-height: 38px;
	border: 1px solid #ccc;
	padding-left: 10px;
	color: #888;
	background: #fff;
}
#catch #searchcol2 > div .link {
	width: calc((100% - 60px) / 3);
	max-width: 540px;
	background: #fff;
	margin-left: 30px;
	border-radius: 8px;
}
.pc #catch #searchcol2 > div .link {
	width: auto;
	margin-left: 0;
	margin-top: 20px;
}
.sp #catch #searchcol2 > div .link {
	padding: 0 20px;
}
#catch #searchcol2 > div .link.career > a {
	background: url(/images/searchcol_link02.png) no-repeat center center;
	background-size: cover;
}
#catch #searchcol2 > div .link > a {
	display: block;
	position: relative;
	width: 100%;
	height: 100px;
	text-align: center;
	background: url(/images/searchcol_link.png) no-repeat center center;
	background-size: cover;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #fff;
	border: 1px solid #A5ABCE;
	border-radius: 8px;
	overflow: hidden;
	z-index: 2;
}
#catch #searchcol2 > div .link > a:hover {
	opacity: 0.7;
}
#catch #searchcol2 > div .link > a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
.sp #catch #searchcol2 > div .link > a {
	font-size: 18px;
	border-radius: 5px;
}
#catch #searchcol2 > div .link > a > span {
	position: relative;
	display: block;
	padding: 0 50px;
	width: 100%;
	height: 100%;
	font-size: 30px;
	line-height: 75px;
	font-weight: 300;
	z-index: 5;
}
.sp #catch #searchcol2 > div .link > a > span {
	font-size: 22px;
	line-height: 78px;
}
.xsp #catch #searchcol2 > div .link > a > span {
	padding: 0 40px;
}
#catch #searchcol2 > div .link > a > span::after {
	content: "";
	position: absolute;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 8px solid #fff;
	right: 27px;
	top: 50%;
	z-index: 5;
	transform: translateY(-50%);
}
.xsp #catch #searchcol2 > div .link > a > span::after {
	right: 17px;
}
#catch #searchcol2 > div .link > a > span::before {
	content: "";
	position: absolute;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #646464;
	right: 20px;
	top: 50%;
	z-index: 3;
	transform: translateY(-50%);
}
.xsp #catch #searchcol2 > div .link > a > span::before {
	right: 10px;
}
#catch #searchcol2 > div .link > a > span > span {
	display: block;
	margin-top: -15px;
	font-size: 16px;
	line-height: 1.2rem;
	font-weight: 400;
}
.sp #catch #searchcol2 > div .link > a > span > span {
	margin-height: -22px;
	font-size: 14px;
}

.blue_effect:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	background: #004098;
	z-index: 5;
	-webkit-transition: transform 0.3s;
	transition: transform 0.3s;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0% 0%;
	transform-origin: 0% 0%;
	transition-timing-function: cubic-bezier(0.9, 0.1, 0.9, 1);
}
.blue_effect.start:before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
.blue_effect.end:before {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform: 100% 0%;
	transform-origin: 100% 0%;
	transition-timing-function: cubic-bezier(0.1, 0.1, 0.1, 1);
}
.blue_effect > * {
	opacity: 0;
}
.blue_effect.end > * {
	opacity: 1;
}
.blue_effect:after {
	opacity: 0;
}
.blue_effect.end:after {
	opacity: 1;
}

h2 {
	position: relative;
	margin: 0px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 28.8px;
	line-height: 1.6rem;
	font-weight: 300;
	text-align: center;
	padding-bottom: 15px;
}
.jp h2 {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 36px;
	line-height: 2rem;
	font-weight: 500;
}
h2 span {
	display: block;
	margin-bottom: 10px;
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 26.4px;
	line-height: 1.46667rem;
	letter-spacing: 10px;
	font-weight: 400;
}

#block01 {
	position: relative;
	background: #fff;
	z-index: 20;
	padding-bottom: 50px;
}
.sp #block01 {
	padding-bottom: 0;
}
#block01 > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 0px;
}
.sp #block01 > div {
	padding: 25px 10px 0px;
}
#block01 > div .updates {
	position: relative;
	max-width: none;
	padding: 0;
	margin-top: 80px;
}
.sp #block01 > div .updates {
	margin-top: 40px;
}
#block01 > div .updates .column {
	margin-top: 30px;
}
#block01 > div .updates .column > * {
	width: 32%;
	margin-top: 0;
	margin-left: 0;
}
.sp #block01 > div .updates .column > * {
	margin: 0 auto;
}
#block01 > div .updates .column > * + * {
	margin-left: 2%;
}
.sp #block01 > div .updates .column > * + * {
	margin: 20px auto 0;
}
#block01 .menu {
	margin: 30px -5px 0px -20px;
	overflow: hidden;
}
#block01 .menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp #block01 .menu {
	margin: 30px 0 0 0;
	padding-bottom: 20px;
}
#block01 .menu a {
	position: relative;
	float: left;
	display: block;
	width: 32%;
	color: #333;
}
.sp #block01 .menu a {
	display: flex;
	flex-flow: row wrap;
	width: 100%;
	float: none;
	padding-bottom: 20px;
	border-bottom: 1px solid #ccc;
	letter-spacing: -1rem;
}
#block01 .menu a + a {
	margin-left: 2%;
}
.sp #block01 .menu a + a {
	margin-left: 0;
	margin-top: 20px;
}
#block01 .menu a:hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
#block01 .menu a:hover .info {
	top: -15px;
}
.sp #block01 .menu a:hover .info {
	top: 0px;
}
#block01 .menu a .image {
	position: relative;
	display: block;
	padding-top: 60.5%;
	overflow: hidden;
}
.sp #block01 .menu a .image {
	width: 30%;
	padding-top: 20%;
	vertical-align: top;
	letter-spacing: normal;
}
#block01 .menu a .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
#block01 .menu a .info {
	display: block;
	margin-top: 20px;
}
.sp #block01 .menu a .info {
	width: 70%;
	margin-top: 0;
	padding-left: 10px;
	vertical-align: top;
	letter-spacing: normal;
}
#block01 .menu a .info .title {
	display: block;
	color: #004098;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
}
#block01 .menu a .info .text {
	display: block;
	margin-top: 15px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 21px;
	line-height: 1.16667rem;
}

#hr01 {
	position: relative;
	height: 80px;
	background-color: rgba(34, 49, 133, 0.7);
	z-index: 10;
}
.sp #hr01 {
	display: none;
}

#block02 {
	padding: 50px 0;
	position: relative;
	background: #fff;
	z-index: 20;
}
.sp #block02 {
	padding: 20px 0;
}
#block02 h2 {
	margin-bottom: 30px;
}
#block02 .lead {
	text-align: center;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
}
.sp #block02 .lead {
	display: none;
}
#block02 .service_menu {
	margin-top: 50px;
	overflow: hidden;
}
#block02 .service_menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp #block02 .service_menu {
	margin-top: 0;
}
#block02 .service_menu + .service_menu {
	margin-top: 0;
}
#block02 .service_menu > a {
	position: relative;
	float: left;
	display: block;
	width: 33.33%;
	color: #fff;
}
.sp #block02 .service_menu > a {
	width: 100%;
}
#block02 .service_menu > a.half {
	width: 25%;
}
.sp #block02 .service_menu > a.half {
	width: 50%;
}
#block02 .service_menu > a.half .image {
	padding-top: 62.4%;
}
#block02 .service_menu > a:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(34, 49, 133, 0.4);
	z-index: 1;
}
#block02 .service_menu > a:hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
#block02 .service_menu > a:hover .info {
	top: -15px;
}
.sp #block02 .service_menu > a:hover .info {
	top: 0px;
}
#block02 .service_menu > a .image {
	position: relative;
	display: block;
	padding-top: 46.8%;
	overflow: hidden;
}
#block02 .service_menu > a .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
#block02 .service_menu > a .title {
	position: absolute;
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 39px;
	line-height: 2.16667rem;
	padding-bottom: 15px;
	font-weight: 400;
	top: 42%;
	left: 50%;
	transform: translateY(-50%);
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 5;
}
#block02 .service_menu > a .title:after {
	content: "";
	position: absolute;
	width: 80px;
	height: 4px;
	background: url(/common/images/h2_bar.png) no-repeat;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}
#block02 .service_menu > a .more {
	position: absolute;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	padding-bottom: 15px;
	font-weight: bold;
	top: 80%;
	left: 50%;
	width: 1rem;
	height: 1rem;
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transform: translateY(-50%);
	transform: translateX(-50%);
	z-index: 5;
	opacity: 0;
	-webkit-transition: 400ms;
	transition: 400ms;
}
#block02 .service_menu > a:hover .more {
	opacity: 1;
}
#block02 .service_menu.col2 a {
	width: 50%;
}
.sp #block02 .service_menu.col2 a {
	width: 100%;
}
#block02 .service_menu.col2 a .image {
	padding-top: 31.2%;
}
.sp #block02 .service_menu.col2 a .image {
	padding-top: 46.8%;
}

#block03 {
	position: relative;
	z-index: 10;
	background: url(/upload/images/industries_bg02.jpg) no-repeat center center;
	background-size: cover;
}
.sp #block03 {
	background: url(/upload/images/industries_bg02.jpg) no-repeat center center !important;
	background-size: cover !important;
}
#block03:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 15;
}
.sp #block03 > .bg {
	display: none;
}
#block03 > .bg > div {
	display: none;
	position: absolute;
	width: 100%;
	height: 100%;
	background: no-repeat center center;
	background-size: cover;
	z-index: 12;
}
#block03 > .bg > div.industries01 {
	background-image: url(/images/industries01.jpg);
}
#block03 > .bg > div.industries02 {
	background-image: url(/images/industries02.jpg);
}
#block03 > .bg > div.industries03 {
	background-image: url(/images/industries03.jpg);
}
#block03 > .bg > div.industries04 {
	background-image: url(/images/industries04.jpg);
}
#block03 > .bg > div.industries05 {
	background-image: url(/images/industries05.jpg);
}
#block03 > .bg > div.industries06 {
	background-image: url(/images/industries06.jpg);
}
#block03 > .bg > div.industries07 {
	background-image: url(/images/industries07.jpg);
}
#block03 > .bg > div.industries08 {
	background-image: url(/images/industries08.jpg);
}
#block03 > .bg > div.industries09 {
	background-image: url(/images/industries09.jpg);
}
#block03 > div.inner {
	width: 80%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 50px 0;
	position: relative;
	z-index: 20;
}
.sp #block03 > div.inner {
	width: 100%;
	padding: 20px 10px 20px 10px;
}
#block03 > div.inner.wide {
	width: 100%;
	max-width: 1180px;
	padding: 50px 10px;
}
.sp #block03 > div.inner.wide {
	padding: 20px 10px 20px 10px;
}
#block03 > div.inner h2 {
	color: #fff;
	margin-bottom: 30px;
}
#block03 > div.inner .lead {
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
}
.jp #block03 > div.inner .lead {
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
#block03 > div.inner .industry_menu {
	position: relative;
	margin-top: 30px;
}
#block03 > div.inner .industry_menu ul:after {
	content: "";
	display: block;
	clear: both;
}
#block03 > div.inner .industry_menu li {
	float: left;
	width: 48%;
	position: relative;
}
.sp #block03 > div.inner .industry_menu li {
	float: none;
	width: 100%;
}
.sp #block03 > div.inner .industry_menu li:last-child a {
	margin-bottom: 0;
}
#block03 > div.inner .industry_menu li:nth-of-type(2n) {
	margin-left: 4%;
}
.sp #block03 > div.inner .industry_menu li:nth-of-type(2n) {
	margin-left: 0;
}
#block03 > div.inner .industry_menu li:nth-of-type(2n+1) {
	clear: both;
}
#block03 > div.inner .industry_menu li > a, #block03 > div.inner .industry_menu li > span {
	display: block;
	position: relative;
	border-bottom: 1px solid #fff;
	color: #fff;
	font-weight: bold;
	padding-top: 10px;
	padding-bottom: 5px;
	margin-bottom: 20px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
	-webkit-transition: 500ms;
	transition: 500ms;
	opacity: 0;
	left: -50px;
}
#block03 > div.inner .industry_menu li > a.show, #block03 > div.inner .industry_menu li > span.show {
	opacity: 1;
	left: 0;
}
#block03 > div.inner .industry_menu li > a:after, #block03 > div.inner .industry_menu li > span:after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	width: 1.5rem;
	height: 1rem;
	top: 10px;
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transition: all .3s;
	opacity: 0;
}
#block03 > div.inner .industry_menu li > a span, #block03 > div.inner .industry_menu li > span span {
	display: block;
}
#block03 > div.inner .industry_menu li > a:hover:after, #block03 > div.inner .industry_menu li > span:hover:after {
	right: 0;
	opacity: 1;
}
#block03 > div.inner .industry_menu li > span:hover:after {
	display: none;
}
#block03 > div.inner .sustainability_menu {
	position: relative;
	margin-top: 30px;
	display: flex;
	gap: 30px;
}
.sp #block03 > div.inner .sustainability_menu {
	display: block;
}
#block03 > div.inner .sustainability_menu ul {
	position: relative;
	width: calc((100% - 90px) / 4);
	transition: 500ms;
	opacity: 0;
	bottom: -50px;
}
.sp #block03 > div.inner .sustainability_menu ul {
	width: auto;
}
#block03 > div.inner .sustainability_menu ul.show {
	opacity: 1;
	bottom: 0px;
}
.sp #block03 > div.inner .sustainability_menu ul + ul {
	margin-top: 40px;
}
#block03 > div.inner .sustainability_menu li {
	position: relative;
}
#block03 > div.inner .sustainability_menu li.title {
	font-size: 24px;
	font-size: 1.33333rem;
	line-height: 26.4px;
	line-height: 1.46667rem;
	font-weight: bold;
	margin-bottom: 10px;
	color: #fff;
}
.sp #block03 > div.inner .sustainability_menu li.title {
	font-size: 28px;
	font-size: 1.55556rem;
	line-height: 30.8px;
	line-height: 1.71111rem;
}
#block03 > div.inner .sustainability_menu li > a, #block03 > div.inner .sustainability_menu li > span {
	display: block;
	position: relative;
	border-bottom: 1px solid #fff;
	color: #fff;
	font-weight: bold;
	padding-top: 10px;
	padding-bottom: 5px;
	margin-bottom: 20px;
	padding-right: 1.2em;
	font-size: 18px;
	font-size: 1rem;
	line-height: 19.8px;
	line-height: 1.1rem;
}
#block03 > div.inner .sustainability_menu li > a:after, #block03 > div.inner .sustainability_menu li > span:after {
	content: "";
	display: block;
	position: absolute;
	right: 20px;
	width: 1.5rem;
	height: 1rem;
	bottom: 7px;
	background: url(/common/images/arrow_text_w.svg) no-repeat center center;
	transition: all .3s;
	opacity: 0;
}
#block03 > div.inner .sustainability_menu li > a span, #block03 > div.inner .sustainability_menu li > span span {
	display: block;
}
#block03 > div.inner .sustainability_menu li > a:hover:after, #block03 > div.inner .sustainability_menu li > span:hover:after {
	right: 0;
	opacity: 1;
}
#block03 > div.inner .sustainability_menu li > span:hover:after {
	display: none;
}

main .contents > div #block03 {
	margin-top: 30px;
}

#block04 {
	position: relative;
	background: #fff;
	z-index: 20;
	padding-bottom: 50px;
}
#block04 > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 0px;
}
.sp #block04 > div {
	padding: 25px 10px 0px;
}
.sp #block04 > div {
	padding-top: 40px;
}
#block04 h2 {
	margin-bottom: 30px;
}
#block04 .lead {
	text-align: center;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
}
.sp #block04 .lead {
	display: none;
}
#block04 .menu {
	overflow: hidden;
	margin-top: 30px;
}
#block04 .menu:after {
	content: "";
	display: block;
	clear: both;
}
#block04 .menu a {
	position: relative;
	float: left;
	display: block;
	color: #333;
}
.sp #block04 .menu a {
	width: 100%;
	padding: 20px 10px;
	background: #CDD6DD;
	margin: 0;
}
#block04 .menu a + a {
	margin-left: 20px;
}
#block04 .menu a + a:after {
	content: "";
	position: absolute;
	display: block;
	width: 2px;
	height: 100%;
	left: -11px;
	top: 0;
	background: #CDD6DD;
}
.sp #block04 .menu a + a:after {
	display: none;
}
.sp #block04 .menu a + a {
	margin: 1px 0 0 0;
}
#block04 .menu a:hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
#block04 .menu a:hover .info {
	top: -15px;
}
.sp #block04 .menu a:hover .info {
	top: 0px;
}
#block04 .menu a .image {
	position: relative;
	display: block;
	padding-top: 54%;
	overflow: hidden;
}
.sp #block04 .menu a .image {
	display: none;
}
#block04 .menu a .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.8s;
	transition: transform 0.8s;
	backface-visibility: hidden;
}
#block04 .menu a .title {
	display: block;
	position: relative;
	text-align: center;
	margin-top: 10px;
	text-align: left;
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 22px;
	line-height: 1.22222rem;
}
.jp #block04 .menu a .title {
	font-size: 20px;
	font-size: 1.11111rem;
	line-height: 22px;
	line-height: 1.22222rem;
}
#block04 .menu a .title:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: url(/common/images/arrow_text.svg) no-repeat right 20px center;
	opacity: 0;
	transition: all .3s;
}
#block04 .menu a:hover .title:after {
	background: url(/common/images/arrow_text.svg) no-repeat right 0 center;
	opacity: 1;
}
#block04 .image img {
	max-width: 100%;
}

#block05 {
	position: relative;
	background: #ffffff;
	z-index: 20;
}
#block05 h2 {
	text-align: left;
}
.sp #block05 h2 {
	text-align: center;
}
#block05 h2:after {
	bottom: 0;
	left: 0%;
	transform: translateX(0);
}
.sp #block05 h2:after {
	left: 50%;
	transform: translateX(-50%);
}
#block05 > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 50px 20px 50px;
}
.sp #block05 > div {
	padding: 25px 10px 25px;
}
#block05 > div:after {
	content: "";
	display: block;
	clear: both;
}
#block05 > div > .left {
	float: left;
	width: 250px;
}
.sp #block05 > div > .left {
	float: none;
	width: 100%;
	text-align: center;
}
.sp #block05 > div > .left > div > div {
	margin-top: 20px;
	padding: 20px;
	background: #F0F3F5;
}
.sp #block05 > div > .left > div > div p {
	margin-top: 10px;
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 13.2px;
	line-height: 0.73333rem;
}
#block05 > div > .right {
	float: left;
	width: calc(100% - 250px);
}
.sp #block05 > div > .right {
	float: none;
	width: 100%;
}
#block05 .text {
	margin-top: 20px;
}
#block05 .text p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
#block05 .text p.center {
	text-align: center;
}
#block05 .text p a {
	color: #646464;
}
#block05 #news {
	position: relative;
	z-index: 20;
	overflow: hidden;
}
#block05 #news > div:nth-child(1) {
	padding: 0px;
}
#block05 #news > div:nth-child(1) h3 + ul {
	margin-top: 30px !important;
}
.sp #block05 #news > div:nth-child(1) h3 + ul {
	margin-top: 30px !important;
}
#block05 #news > div:nth-child(1) ul {
	font-size: 0px;
	margin-right: -5px;
	position: relative;
}
#block05 #news > div:nth-child(1) ul:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 8px;
	left: 0px;
	bottom: 0;
	background: #c8c8c8;
}
.sp #block05 #news > div:nth-child(1) ul {
	display: none;
}
#block05 #news > div:nth-child(1) ul li {
	position: relative;
	display: inline-block;
	width: calc((100% - 60px) / 5);
	vertical-align: top;
}
.sp #block05 #news > div:nth-child(1) ul li {
	width: calc((100% - 20px) / 5);
}
#block05 #news > div:nth-child(1) ul li:before {
	content: "";
	display: block;
	position: absolute;
	bottom: -85px;
	left: 0px;
	border: 25px solid transparent;
	border-bottom: 30px solid #ffffff;
	border-top: 0px;
	-webkit-transition: 400ms 200ms;
	transition: 400ms 200ms;
}
.sp #block05 #news > div:nth-child(1) ul li:before {
	bottom: -60px;
}
#block05 #news > div:nth-child(1) ul li.current:before {
	bottom: -60px;
}
.sp #block05 #news > div:nth-child(1) ul li.current:before {
	bottom: -40px;
}
#block05 #news > div:nth-child(1) ul li.left a:after {
	left: 0px;
	right: auto;
}
.sp #block05 #news > div:nth-child(1) ul li + li {
	margin-left: 10px;
}
#block05 #news > div:nth-child(1) a {
	position: relative;
	display: block;
	padding-bottom: 35px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	font-weight: bold;
	color: #646d75;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-transition: opacity 200ms, color 600ms;
	transition: opacity 200ms, color 600ms;
}
#block05 #news > div:nth-child(1) a:hover {
	opacity: 0.7;
}
.sp #block05 #news > div:nth-child(1) a {
	padding-top: 16px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
}
#block05 #news > div:nth-child(1) a:before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 8px;
	left: 0px;
	bottom: 0;
	background: #c8c8c8;
}
#block05 #news > div:nth-child(1) a:after {
	content: "";
	display: block;
	position: absolute;
	width: 0%;
	height: 8px;
	right: 0px;
	bottom: 0;
	background: #00B2EB;
	-webkit-transition: 600ms;
	transition: 600ms;
}
#block05 #news > div:nth-child(1) .current a {
	color: #333333;
}
#block05 #news > div:nth-child(1) .current a:after {
	width: 100%;
}
#block05 #news > div:nth-child(1) select {
	width: 100%;
	height: 60px;
	padding-left: 20px;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	text-align: center;
	background: #ffffff;
	border: 0px;
}
#block05 #news > div:nth-child(2) {
	position: relative;
	background: #ffffff;
	margin-top: 20px;
}
#block05 #news > div:nth-child(2) .slide {
	position: relative;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}
#block05 #news > div:nth-child(2) .slide > div {
	position: absolute;
	left: 50%;
	top: 0px;
	width: 100%;
	opacity: 0;
	display: none;
	-webkit-transform: translateX(-160%);
	transform: translateX(-160%);
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms 600ms;
	transition: transform 1200ms, opacity 600ms 600ms;
	pointer-events: none;
}
#block05 #news > div:nth-child(2) .slide > div.left {
	-webkit-transform: translateX(60%);
	transform: translateX(60%);
}
#block05 #news > div:nth-child(2) .slide > div.show {
	-webkit-transform: translateX(-50%) !important;
	transform: translateX(-50%) !important;
	opacity: 1;
	display: block;
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms;
	transition: transform 1200ms, opacity 600ms;
	pointer-events: auto;
}
#block05 #news > div:nth-child(2) .slide > div .list li {
	padding: 20px 0;
	border-bottom: 1px dotted #707070;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a:hover {
	opacity: 0.7;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a, #block05 #news > div:nth-child(2) .slide > div .list li > span {
	display: block;
	color: #000000;
	letter-spacing: -1rem;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a > *, #block05 #news > div:nth-child(2) .slide > div .list li > span > * {
	display: inline-block;
	letter-spacing: normal;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a .date, #block05 #news > div:nth-child(2) .slide > div .list li > span .date {
	width: 120px;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a .cat, #block05 #news > div:nth-child(2) .slide > div .list li > span .cat {
	width: 140px;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a .cat span, #block05 #news > div:nth-child(2) .slide > div .list li > span .cat span {
	display: inline-block;
	min-width: 120px;
	text-align: center;
	background: #707070;
	color: #fff;
	padding: 3px 0;
}
.jp #block05 #news > div:nth-child(2) .slide > div .list li > a .cat span, .jp #block05 #news > div:nth-child(2) .slide > div .list li > span .cat span {
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 15.4px;
	line-height: 0.85556rem;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a .title, #block05 #news > div:nth-child(2) .slide > div .list li > span .title {
	line-height: 1.5;
	width: calc(100% - 320px);
	vertical-align: top;
	padding-left: 20px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span .title {
	width: 100%;
	margin-top: 10px;
}
.jp #block05 #news > div:nth-child(2) .slide > div .list li > a .title, .jp #block05 #news > div:nth-child(2) .slide > div .list li > span .title {
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.link, #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf, #block05 #news > div:nth-child(2) .slide > div .list li > a.blank, #block05 #news > div:nth-child(2) .slide > div .list li > span.link, #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf, #block05 #news > div:nth-child(2) .slide > div .list li > span.blank {
	position: relative;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.link .title, #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf .title, #block05 #news > div:nth-child(2) .slide > div .list li > a.blank .title, #block05 #news > div:nth-child(2) .slide > div .list li > span.link .title, #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf .title, #block05 #news > div:nth-child(2) .slide > div .list li > span.blank .title {
	width: calc(100% - 320px);
	border-right: 1px solid #646464;
	padding-right: 20px;
	padding-left: 20px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.link .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.blank .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.link .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf .title, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.blank .title {
	position: relative;
	width: 100%;
	margin-top: 10px;
	border-right: none;
	padding-right: 0px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.link .title:after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf .title:after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.blank .title:after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.link .title:after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf .title:after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.blank .title:after {
	content: "";
	position: absolute;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.link::before, #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf::before, #block05 #news > div:nth-child(2) .slide > div .list li > a.blank::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.link::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.blank::before {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.link::before, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf::before, .sp #block05 #news > div:nth-child(2) .slide > div .list li > a.blank::before, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.link::before, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf::before, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.blank::before {
	display: none;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.link::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.link::before {
	width: 15px;
	height: 13px;
	background: url(/common/images/newsico_link.svg) no-repeat;
	background-size: 15px 13px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.link .title::after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.link .title::after {
	width: 20px;
	height: 18px;
	background: url(/common/images/newsico_link.svg) right bottom no-repeat;
	background-size: 15px 13px;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.pdf::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf::before {
	width: 15px;
	height: 17px;
	background: url(/common/images/newsico_pdf.svg) no-repeat;
	background-size: 15px 17px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.pdf .title::after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.pdf .title::after {
	width: 20px;
	height: 20px;
	background: url(/common/images/newsico_pdf.svg) right bottom no-repeat;
	background-size: 15px 17px;
}
#block05 #news > div:nth-child(2) .slide > div .list li > a.blank::before, #block05 #news > div:nth-child(2) .slide > div .list li > span.blank::before {
	width: 15px;
	height: 15px;
	background: url(/common/images/newsico_blank.svg) no-repeat;
	background-size: 15px 15px;
}
.sp #block05 #news > div:nth-child(2) .slide > div .list li > a.blank .title::after, .sp #block05 #news > div:nth-child(2) .slide > div .list li > span.blank .title::after {
	width: 20px;
	height: 20px;
	background: url(/common/images/newsico_blank.svg) right bottom no-repeat;
	background-size: 15px 17px;
}
#block05 form {
	display: none;
}
.sp #block05 form {
	display: block;
}
.sp #block05 form select {
	width: 80%;
	padding: 10px;
	border: 1px solid #ccc;
	background: url(/common/images/select_bg.png) no-repeat right center #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 5px;
}

#back_to_top {
	background: #F0F3F5;
	position: relative;
	z-index: 30;
}
#back_to_top a {
	display: block;
	padding: 20px 10px 10px 10px;
	color: #707070;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	font-family: 'Montserrat', sans-serif;
	font-weight: normal;
	font-size: 12px;
	text-align: center;
	background: #F0F3F5;
}
#back_to_top a:hover {
	opacity: 0.7;
}
#back_to_top a:before, #back_to_top a:after {
	content: "";
	position: absolute;
	top: 12px;
	width: 12px;
	height: 1px;
	background-color: #707070;
}
#back_to_top a:before {
	-moz-transform: rotateZ(-30deg);
	-webkit-transform: rotateZ(-30deg);
	transform: rotateZ(-30deg);
	left: calc(50% - 10px);
}
#back_to_top a:after {
	-moz-transform: rotateZ(30deg);
	-webkit-transform: rotateZ(30deg);
	transform: rotateZ(30deg);
	left: calc(50%);
}

footer.top {
	position: relative;
	z-index: 10;
	background-color: #fff;
}
.sp footer.top {
	height: auto;
	padding: 0 10px 100px 10px;
}
.jp footer.top p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 30.6px;
	line-height: 1.7rem;
}
footer.top .f01 {
	position: absolute;
	width: 100%;
	top: -10%;
	left: 0px;
	-webkit-transform: translate(-10%, -30%);
	transform: translate(-10%, -30%);
	opacity: 0;
	-webkit-transition: 1000ms 600ms;
	transition: 1000ms 600ms;
}
.sp footer.top .f01 {
	position: static;
}
footer.top .f01 img {
	width: 30.72916666666667%;
	max-width: 588px;
	height: auto;
	margin-left: 0px;
}
footer.top .f02 {
	position: absolute;
	bottom: -10%;
	left: 20px;
	opacity: 0;
	-webkit-transition: 1000ms 500ms;
	transition: 1000ms 500ms;
}
.sp footer.top .f02 {
	display: none;
}
footer.top .f03 {
	width: 100%;
	padding: 0 60px 50px 60px;
	opacity: 0;
	-webkit-transition: 1000ms 1300ms;
	transition: 1000ms 1300ms;
}
.sp footer.top .f03 {
	position: static;
	padding: 0 0 25px 0;
}
footer.top .f03 .logo {
	margin-bottom: 30px;
}
.sp footer.top .f03 .logo {
	margin: 20px 0 0 0;
}
footer.top .f03 .logo a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 .logo a:hover {
	opacity: 0.7;
}
footer.top .f03 .logo img {
	max-width: 100%;
}
footer.top .f03 .footer_lead {
	margin-bottom: 70px;
}
.sp footer.top .f03 .footer_lead {
	margin-bottom: 30px;
	margin-top: 30px;
}
footer.top .f03 .footer_lead p {
	font-size: 30px;
	font-size: 1.66667rem;
	line-height: 43.5px;
	line-height: 2.41667rem;
	font-weight: bold;
}
.sp footer.top .f03 .footer_lead p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
}
.sp footer.top .f03 .txlink {
	display: none;
}
footer.top .f03 .txlink li {
	display: inline-block;
}
footer.top .f03 .txlink li + li {
	margin-left: 30px;
}
footer.top .f03 .txlink li a {
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 17.6px;
	line-height: 0.97778rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 .txlink li a:hover {
	opacity: 0.7;
}
footer.top .f03 .icolink {
	margin-top: 30px;
	margin-bottom: 50px;
	letter-spacing: -1rem;
}
.sp footer.top .f03 .icolink {
	margin-bottom: 10px;
}
footer.top .f03 .icolink li {
	display: inline-block;
	vertical-align: top;
	text-align: center;
	letter-spacing: normal;
}
.sp footer.top .f03 .icolink li {
	width: calc((99.99% - 40px) / 3);
	margin-bottom: 40px;
}
.sp footer.top .f03 .icolink li:nth-of-type(3n + 1) {
	margin-left: 0 !important;
}
footer.top .f03 .icolink li + li {
	margin-left: 80px;
}
.sp footer.top .f03 .icolink li + li {
	margin-left: 20px;
}
footer.top .f03 .icolink li a {
	display: block;
	color: #fff;
	font-weight: bold;
	font-size: 16px;
	font-size: 0.88889rem;
	line-height: 24px;
	line-height: 1.33333rem;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 .icolink li a:hover {
	opacity: 0.7;
}
.sp footer.top .f03 .icolink li a {
	color: #000;
}
footer.top .f03 .icolink li a img {
	margin-bottom: 10px;
}
.sp footer.top .f03 p {
	color: #000;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 21px;
	line-height: 1.16667rem;
}
.sp footer.top .f03 p.copy {
	font-size: 10px;
	font-size: 0.55556rem;
	line-height: 15px;
	line-height: 0.83333rem;
}
footer.top .f03 p + p {
	margin-top: 20px;
}
footer.top .f03 p a {
	margin-right: 20px;
	color: #000;
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 p a:hover {
	opacity: 0.7;
}
.sp footer.top .f03 p a {
	display: block;
	color: #000;
}
.sp footer.top .f03 p a.arrow_w:after {
	background: url(/common/images/arrow_text.svg) no-repeat center center;
}
.sp footer.top .f03 p a + a {
	margin-top: 10px;
}
footer.top .f03 .image img {
	max-width: 100%;
}
footer.top .f03 .social_block {
	margin-bottom: 50px;
	padding: 30px 0;
	border-bottom: 1px solid #646464;
}
footer.top .f03 .social_block p {
	font-size: 18px;
	font-size: 1rem;
	line-height: 27px;
	line-height: 1.5rem;
	font-weight: bold;
}
.sp footer.top .f03 .social_block p {
	text-align: center;
}
footer.top .f03 .social_block ul {
	margin-top: 20px;
	letter-spacing: -1rem;
}
.sp footer.top .f03 .social_block ul {
	text-align: center;
}
footer.top .f03 .social_block ul li {
	display: inline-block;
	margin-right: 20px;
	letter-spacing: normal;
	width: 44px;
}
.sp footer.top .f03 .social_block ul li {
	max-width: 60px;
	width: calc((100% - 60px) / 4);
}
footer.top .f03 .social_block ul li:last-child {
	margin-right: 0;
}
footer.top .f03 .social_block ul li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 .social_block ul li a:hover {
	opacity: 0.7;
}
footer.top .f03 .social_block ul li a img {
	width: 100%;
}
footer.top .f03 .banner {
	padding-bottom: 30px;
	margin-bottom: 45px;
	border-bottom: 1px solid #646464;
	text-align: right;
}
footer.top .f03 .banner a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer.top .f03 .banner a:hover {
	opacity: 0.7;
}
.sp footer.top .f03 .banner img {
	width: 75px;
}
footer.top .image.view_sp.block + p {
	margin-top: 40px;
}
footer.top.view .f01 {
	top: 0px;
	opacity: 1;
}
footer.top.view .f02 {
	bottom: 20px;
	opacity: 1;
}
footer.top.view .f03 {
	bottom: 30px;
	opacity: 1;
}
.sp footer.top #back_to_top {
	margin: 0 -20px;
}
.sp footer.top #back_to_top + .image {
	margin: 0 -20px;
}

#sp {
	display: none;
	margin-top: 65px;
}
.sp #sp {
	position: relative;
	display: block;
	background: #ffffff;
	z-index: 40;
}
.sp #sp img {
	width: 100%;
	height: auto;
}

main .contents .formcol2 {
	display: table;
	width: 100%;
}
main .contents .formcol2 > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp main .contents .formcol2 {
	display: block;
}
.sp main .contents .formcol2 > div {
	display: block;
}
main .contents .formcol2 > div .right {
	ta: r;
}
main .contents .form {
	margin-top: 32px !important;
  /*
  		label {
  			position: relative;
  			display: block;
  			padding: $margin_base 0px $margin_base 25px;
  			@include fontsize(16, $lineheight_heading);
  			cursor: pointer;
  
  			.sp & {
  				@include fontsize(12, $lineheight_heading);
  			}
  
  		}
  */
}
main .contents .form h3 {
	margin-bottom: 20px;
}
main .contents .form form {
	margin: 0px;
	padding: 0px;
}
main .contents .form table {
	table-layout: fixed;
	width: 100%;
	margin-bottom: -40px;
}
main .contents .form table th:nth-of-type(2), main .contents .form .format table td:nth-of-type(2), main .contents .format .form table td:nth-of-type(2) {
	width: 10rem;
}
main .contents .form table td {
	padding-right: 0;
}
main .contents .form textarea {
	width: 100%;
	height: 160px;
	padding: 8px 16px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
	border: 1px solid #707070;
	outline: none;
}
main .contents .form input[type="text"], main .contents .form input[type="email"], main .contents .form input[type="tel"], main .contents .form input[type="url"] {
	width: 100%;
	height: 46px;
	padding: 0px 16px;
	font-size: 18px;
	font-size: 1rem;
	line-height: 32px;
	border: 1px solid #707070;
	outline: none;
}
main .contents .form input[type="text"].withlabel, main .contents .form input[type="email"].withlabel, main .contents .form input[type="tel"].withlabel, main .contents .form input[type="url"].withlabel {
	padding-left: 2rem;
}
main .contents .form br + input[type="text"], main .contents .form br + input[type="email"], main .contents .form br + input[type="tel"], main .contents .form br + input[type="url"] {
	margin-top: 20px;
}
main .contents .form select {
	width: 100%;
	padding: 5px 16px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 18.2px;
	line-height: 1.01111rem;
	border: 1px solid #707070;
}
main .contents .form input[required], main .contents .form textarea[required], main .contents .form select[required] {
	border: 1px solid rgba(251, 59, 59, 0.7);
}
main .contents .form input.focus, main .contents .form textarea.focus, main .contents .form select.focus {
	background-color: #fff3b8;
}
main .contents .form input.inputed, main .contents .form textarea.inputed, main .contents .form select.inputed {
	border: 1px solid #707070;
	background-color: #d7e7ff;
}
main .contents .form input.w_fix, main .contents .form textarea.w_fix, main .contents .form select.w_fix {
	width: 200px;
}
main .contents .form input[data-input="zenkaku"], main .contents .form textarea[data-input="zenkaku"], main .contents .form select[data-input="zenkaku"] {
	ime-mode: active;
}
main .contents .form input[data-input="hankaku"], main .contents .form textarea[data-input="hankaku"], main .contents .form select[data-input="hankaku"] {
	ime-mode: disabled;
}
main .contents .form .side {
	margin: 15px -5px -10px -25px;
}
main .contents .form .side.center {
	text-align: center;
}
main .contents .form .side li {
	display: inline-block;
	margin-left: 25px;
	margin-bottom: 10px;
}
main .contents .form .side + p {
	margin-top: 20px;
}
main .contents .form .note {
	margin-top: 8px;
	font-size: 12px;
	font-size: 0.66667rem;
	line-height: 15.6px;
	line-height: 0.86667rem;
}
main .contents .form .alert {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.77778rem;
	line-height: 21px;
	line-height: 1.16667rem;
	color: #fb3b3b;
}

.g-recaptcha {
	text-align: center;
	margin-top: 30px;
}
.g-recaptcha > div {
	margin: 0 auto;
}
