@charset "UTF-8";
* {
	-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;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 100;
}
@font-face {
	font-family: "Helvetica Neue";
	src: local("Helvetica Neue Regular");
	font-weight: 200;
}
html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

body, th, main .contents .format table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}

body {
	margin: 0px auto;
	background: #ffffff;
}

img {
	border: 0px;
}

a {
	color: #008de2;
	text-decoration: none;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
a:hover {
	opacity: 0.7;
}

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;
}

header > div {
	position: fixed;
	width: 100%;
	top: 0px;
	left: 0px;
	background: #ffffff;
	z-index: 100;
}

#logo {
	position: absolute;
	width: 22.8571%;
	left: 20px;
	top: 0px;
	background: #ffffff;
}
#logo h1 {
	margin: 0px;
	padding: 0px;
}
#logo img {
	position: absolute;
	width: 100%;
	height: auto;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.sp #logo img {
	width: auto;
	height: 40px;
	left: 0px;
	-webkit-transform: translate(0px, -50%);
	transform: translate(0px, -50%);
}

#header {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 0px 20px;
	height: 5rem;
	max-width: 1240px;
	z-index: 50;
}
.sp #header {
	padding: 0px 20px;
}
.sp #header {
	height: 50px;
}
#header ul {
	position: absolute;
	right: 20px;
	bottom: 50%;
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	backface-visibility: hidden;
}
#header ul li {
	display: inline-block;
}
#header ul li + li {
	margin-left: 30px;
}
#header ul a {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	font-weight: bold;
	color: #000000;
}
#header ul .access a:before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 18px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/access.gif);
}
#header ul .contact a:before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 16px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/contact.gif);
}
#header ul .language a:before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/language.gif);
}
#header ul .search a {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	text-indent: -10000px;
	text-align: left;
	vertical-align: middle;
	background: #008de2;
	overflow: hidden;
}
#header ul .search a:before {
	content: "";
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	left: 4px;
	top: 4px;
	border: 1px solid #ffffff;
	border-radius: 50%;
}
#header ul .search a:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 1px;
	right: 4px;
	bottom: 3px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}
.sp #header ul {
	display: none;
}
#header #spmenuswitch {
	display: none;
}
.sp #header #spmenuswitch {
	display: block;
}
#header #spmenuswitch a {
	position: absolute;
	display: block;
	width: 50px;
	height: 50px;
	top: 0px;
	right: 0px;
	text-align: left;
	text-indent: -10000px;
}
#header #spmenuswitch a > span {
	position: absolute;
	display: block;
	top: 22.5px;
	left: 14px;
	width: 22px;
	height: 5px;
	background: #000000;
	-webkit-transition: 0.3s 0.3s;
	transition: 0.3s 0.3s;
}
#header #spmenuswitch a > span:before {
	content: "";
	position: absolute;
	display: block;
	top: -9px;
	left: 0px;
	width: 22px;
	height: 5px;
	background: #000000;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
#header #spmenuswitch a > span:after {
	content: "";
	position: absolute;
	display: block;
	top: 9px;
	left: 0px;
	width: 22px;
	height: 5px;
	background: #000000;
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
#header #spmenuswitch a:before {
	content: "";
	position: absolute;
	display: block;
	top: 23px;
	left: 14px;
	width: 22px;
	height: 5px;
	background: #000000;
	-webkit-transform: rotate(45deg) scale(0);
	transform: rotate(45deg) scale(0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
#header #spmenuswitch a:after {
	content: "";
	position: absolute;
	display: block;
	top: 23px;
	left: 14px;
	width: 22px;
	height: 5px;
	background: #000000;
	-webkit-transform: rotate(135deg) scale(0);
	transform: rotate(135deg) scale(0);
	-webkit-transition: 0.4s;
	transition: 0.4s;
}
#header #spmenuswitch a.open > span {
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}
#header #spmenuswitch a.open > span:before {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	opacity: 0;
}
#header #spmenuswitch a.open > span:after {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	opacity: 0;
}
#header #spmenuswitch a.open:before {
	transform: rotate(45deg) scale(1);
	-webkit-transition: 0.4s 0.3s;
	transition: 0.4s 0.3s;
}
#header #spmenuswitch a.open:after {
	transform: rotate(135deg) scale(1);
	-webkit-transition: 0.4s 0.3s;
	transition: 0.4s 0.3s;
}

#globalnavi > div {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 0px 20px;
	max-width: 1240px;
}
.sp #globalnavi > div {
	padding: 0px 20px;
}
#globalnavi ul.navi {
	float: right;
	display: table;
	width: 100%;
	width: auto;
	height: 3.75rem;
	margin-left: 35%;
	border: 1px solid #cccccc;
	border-left: 0px;
}
#globalnavi ul.navi > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
#globalnavi ul.navi ul {
	position: absolute;
	display: block;
	left: 10px;
	width: 235px;
	padding: 36px;
	background: #e5e5e5;
	box-shadow: 2px 2px 16px -3px transparent;
	opacity: 0;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 0.3s, -webkit-transform 0s 0.3s;
	transition: 0.3s, transform 0s 0.3s;
}
.sp #globalnavi ul.navi ul {
	display: none;
}
#globalnavi ul.navi ul:before {
	content: "";
	display: block;
	position: absolute;
	top: -8px;
	left: 36px;
	border: 10px solid transparent;
	border-top: 0px solid transparent;
	border-bottom: 8px solid #e5e5e5;
}
#globalnavi ul.navi ul li {
	display: block;
	text-align: left;
}
#globalnavi ul.navi ul li a {
	color: #000000;
	position: relative;
	display: inline-block;
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	font-weight: bold;
}
#globalnavi ul.navi ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 1px;
	margin-bottom: -0.15em;
	background: #008de2;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#globalnavi ul.navi ul li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#globalnavi ul.navi ul li + li {
	margin-top: 30px;
}
#globalnavi ul.navi > li {
	position: relative;
	width: 190px;
	border-left: 1px solid #cccccc;
}
#globalnavi ul.navi > li > a {
	position: relative;
	display: table;
	width: 100%;
	height: 100%;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	font-weight: bold;
}
#globalnavi ul.navi > li > a > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
#globalnavi ul.navi > li > a:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #008de2;
	z-index: -1;
	opacity: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
}
#globalnavi ul.navi > li:hover > a, #globalnavi ul.navi > li.current > a {
	color: #ffffff;
	opacity: 1;
}
#globalnavi ul.navi > li:hover > a:after, #globalnavi ul.navi > li.current > a:after {
	opacity: 1;
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
#globalnavi ul.navi > li:hover ul {
	left: 0px;
	opacity: 1;
	box-shadow: 2px 2px 16px -3px rgba(0, 0, 0, 0.5);
	-webkit-transform: scale(1);
	transform: scale(1);
	-webkit-transition: 0.3s, -webkit-transform 0s 1ms;
	transition: 0.3s, transform 0s 1ms;
}
.sp #globalnavi {
	display: none;
	position: absolute;
	padding: 0px;
	background: #ffffff;
	z-index: -1;
}
.sp #globalnavi > div {
	padding: 0px;
}
.sp #globalnavi ul.navi {
	float: none;
	width: 100%;
	height: 40px;
	margin-left: 0px;
	table-layout: fixed;
}
.sp #globalnavi ul.navi > li {
	width: auto;
}
.sp #globalnavi ul.navi > li > a {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
.sp #globalnavi > div.view_sp {
	padding: 5px;
}
.sp #globalnavi > div.view_sp ul {
	font-size: 0px;
	line-height: 0px;
	text-align: center;
}
.sp #globalnavi > div.view_sp ul li {
	display: inline-block;
	margin: 5px 8px;
}
.sp #globalnavi > div.view_sp ul a {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 13.2px;
	line-height: 0.825rem;
	font-weight: bold;
	color: #000000;
}
.sp #globalnavi > div.view_sp ul .access a:before {
	content: "";
	display: inline-block;
	width: 12px;
	height: 18px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/access.gif);
}
.sp #globalnavi > div.view_sp ul .contact a:before {
	content: "";
	display: inline-block;
	width: 23px;
	height: 16px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/contact.gif);
}
.sp #globalnavi > div.view_sp ul .language a:before {
	content: "";
	display: inline-block;
	width: 17px;
	height: 17px;
	margin-right: 8px;
	vertical-align: middle;
	background: url(../images/language.gif);
}
.sp #globalnavi > div.view_sp ul .search a {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	text-indent: -10000px;
	text-align: left;
	vertical-align: middle;
	background: #008de2;
	overflow: hidden;
}
.sp #globalnavi > div.view_sp ul .search a:before {
	content: "";
	position: absolute;
	display: block;
	width: 12px;
	height: 12px;
	left: 4px;
	top: 4px;
	border: 1px solid #ffffff;
	border-radius: 50%;
}
.sp #globalnavi > div.view_sp ul .search a:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 1px;
	right: 4px;
	bottom: 3px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}
.sp .sp #globalnavi > div.view_sp ul {
	display: none;
}

#breadcrumbs {
	border-top: 1px solid #c1c1c1;
	border-bottom: 1px solid #c1c1c1;
}

#breadcrumbs > ul {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 12px 20px;
	max-width: 1240px;
	font-size: 0px;
	line-height: 0px;
}
.sp #breadcrumbs > ul {
	padding: 6px 20px;
}
#breadcrumbs > ul:after {
	content: "";
	display: block;
	clear: both;
}
#breadcrumbs > ul > li {
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #8e8e8e;
}
#breadcrumbs > ul > li + li:before {
	content: "";
	position: relative;
	display: inline-block;
	width: 0.4rem;
	height: 0.4rem;
	top: -0.1125rem;
	margin: 0px 12px;
	border-top: 1px solid #8e8e8e;
	border-right: 1px solid #8e8e8e;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#breadcrumbs > ul a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 1px;
	margin-bottom: -0.15em;
	background: #008de2;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#breadcrumbs > ul a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

main {
	display: block;
	margin-top: 20px;
}
main:after {
	content: "";
	display: block;
	clear: both;
}

#news {
	background: #e5e5e5;
	border-top: 4px solid #b3b3b3;
}
.sp #news {
	border: 0px;
}
#news > div {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 4px 20px;
	height: 166px;
	overflow: hidden;
}
.sp #news > div {
	padding: 2px 20px;
}
.sp #news > div {
	padding: 0px;
	height: auto;
}
#news ul.news {
	display: none;
}
#news .title {
	position: absolute;
	top: 0px;
	left: 20px;
	width: 25%;
	height: 100%;
	padding: 20px 25px;
	color: #ffffff;
	background: #999999;
	z-index: 10;
}
.sp #news .title {
	display: none;
}
#news .title h2 {
	margin: 0px 0px 25px;
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
}
#news .title h2 span {
	display: inline-block;
}
#news .title a {
	position: relative;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	color: #ffffff;
}
#news .title a:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	right: -35px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#news .title a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#news .newsline {
	position: absolute;
	display: table;
	width: calc(100% - 40px);
	table-layout: fixed;
	height: 158px;
	padding-left: 25%;
	overflow: hidden;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
#news .newsline > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp #news .newsline {
	display: none;
}
#news .newsline > div {
	position: relative;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
#news .newsline > div:after {
	content: "";
	position: absolute;
	display: block;
	height: 90%;
	top: 5%;
	right: 0px;
	border-right: 2px dotted #ffffff;
}
#news .newsline a {
	display: block;
	padding: 15px;
	height: 158px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
	color: #000000;
	font-weight: bold;
}
#news .newsline a span {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #008de2;
}
#news .newsline a span:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 8px;
	margin-left: 12px;
	vertical-align: middle;
	background: url(../images/linkicon_b.png);
	background-size: 6px 8px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#news .newsline a[href$=".pdf"]:after {
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 17px;
	height: 17px;
	padding-top: 2px;
	margin-left: 7px;
	background: url(../images/icon_pdf.png) no-repeat;
}
#news .newsline a:hover span:after {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
#news .newsline.start {
	-webkit-transition: 0s;
	transition: 0s;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}
#news .newsline.start > div {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}
#news .newsline.start > div:nth-child(1) {
	-webkit-transition: 0.3s 0ms;
	transition: 0.3s 0ms;
}
#news .newsline.start > div:nth-child(2) {
	-webkit-transition: 0.3s 60ms;
	transition: 0.3s 60ms;
}
#news .newsline.start > div:nth-child(3) {
	-webkit-transition: 0.3s 120ms;
	transition: 0.3s 120ms;
}
#news .newsline.start > div:nth-child(4) {
	-webkit-transition: 0.3s 180ms;
	transition: 0.3s 180ms;
}
#news .newsline.end {
	-webkit-transition: 0.4s;
	transition: 0.4s;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
#news .sptitle {
	display: none;
}
.sp #news .sptitle {
	display: block;
	background: #999999;
}
.sp #news .sptitle a {
	position: relative;
	display: block;
	padding: 12px 20px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	color: #ffffff;
	font-weight: bold;
	text-align: center;
}
.sp #news .sptitle a span {
	position: relative;
	display: inline-block;
	padding-right: 35px;
}
.sp #news .sptitle a span:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	right: 0px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.sp #news .sptitle a span:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#news .spnews {
	display: none;
}
.sp #news .spnews {
	position: relative;
	display: block;
	width: 100%;
	height: 185px;
	padding: 20px 40px;
}
.sp #news .spnews li {
	position: absolute;
	width: calc(100% - 80px);
	opacity: 0;
	-webkit-transform: translateX(500%);
	transform: translateX(500%);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.sp #news .spnews li a {
	display: block;
	height: 8.75rem;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	color: #000000;
	font-weight: bold;
}
.sp #news .spnews li a span {
	display: block;
	margin-bottom: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #008de2;
}
.sp #news .spnews li a span:after {
	content: "";
	display: inline-block;
	width: 6px;
	height: 8px;
	margin-left: 12px;
	vertical-align: middle;
	background: url(../images/linkicon_b.png);
	background-size: 6px 8px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.sp #news .spnews li a:hover span:after {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
}
.sp #news .spnews li.view {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;
}
.sp #news .spnews li.left {
	-webkit-transform: translateX(50%);
	transform: translateX(50%);
	opacity: 0;
}
.sp #news .spnews li.right {
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	opacity: 0;
}
.sp #news .spnews .prev {
	position: absolute;
	display: block;
	width: 40px;
	height: 100%;
	left: 0px;
	top: 0px;
	background: url(../../images/prev.png) no-repeat center center;
	z-index: 50;
}
.sp #news .spnews .next {
	position: absolute;
	display: block;
	width: 40px;
	height: 100%;
	right: 0px;
	top: 0px;
	background: url(../../images/next.png) no-repeat center center;
	z-index: 50;
}

#business {
	position: relative;
	overflow: hidden;
}
#business .bg {
	position: absolute;
	width: 100%;
	min-width: 1920px;
	height: 200%;
	left: 50%;
	background: url(../../images/businessbg.jpg) center center;
	background-size: cover;
	z-index: -1;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#business > div:not(.bg) {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 80px 20px 45px;
}
.sp #business > div:not(.bg) {
	padding: 40px 20px 22.5px;
}
.sp #business > div:not(.bg) {
	padding-top: 20px;
	padding-bottom: 20px;
}
#business h2 {
	margin: 0px 0px 105px;
	padding: 0px;
	font-size: 42px;
	font-size: 2.625rem;
	line-height: 54.6px;
	line-height: 3.4125rem;
	letter-spacing: 10pt;
	text-align: center;
	font-weight: bold;
	color: #ffffff;
}
.sp #business h2 {
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
	letter-spacing: 10pt;
	margin-bottom: 50px;
}
#business h2 a {
	position: relative;
	color: #ffffff;
}
#business h2 a:before {
	content: "";
	display: block;
	position: absolute;
	width: 110px;
	height: 10px;
	bottom: -20px;
	left: 50%;
	margin-left: -55px;
	background: #ffffff;
}
#business h2 a:after {
	content: "";
	display: block;
	position: absolute;
	width: 19px;
	height: 25px;
	top: 50%;
	right: -35px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#business h2 a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#business ul {
	max-width: 790px;
	margin: 0px auto -20px;
}
.sp #business ul {
	margin-left: -20px;
	margin-right: -20px;
}
#business ul:after {
	content: "";
	clear: both;
	display: block;
}
#business ul li {
	float: left;
	display: table;
	width: 100%;
	width: calc((100% - 60px) / 2);
	height: 120px;
	margin-left: 20px;
	margin-bottom: 20px;
	-webkit-transform: translateY(20%);
	transform: translateY(20%);
	opacity: 0;
}
#business ul li > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.sp #business ul li {
	height: 105px;
}
#business ul li.col2 {
	width: calc((100% - 40px) / 1);
}
#business ul li:nth-child(1) {
	-webkit-transition: 0s, -webkit-transform 0.8s 0ms, opacity 0.8s 0ms;
	transition: 0s, transform 0.8s 0ms, opacity 0.8s 0ms;
}
#business ul li:nth-child(2) {
	-webkit-transition: 0s, -webkit-transform 0.8s 200ms, opacity 0.8s 200ms;
	transition: 0s, transform 0.8s 200ms, opacity 0.8s 200ms;
}
#business ul li:nth-child(3) {
	-webkit-transition: 0s, -webkit-transform 0.8s 400ms, opacity 0.8s 400ms;
	transition: 0s, transform 0.8s 400ms, opacity 0.8s 400ms;
}
#business ul a {
	position: relative;
	padding: 5px 10px 35px;
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 27.3px;
	line-height: 1.70625rem;
	color: #ffffff;
	font-weight: bold;
	background: rgba(22, 16, 117, 0.5);
	border: 1px solid #ffffff;
}
.sp #business ul a {
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 15.21px;
	line-height: 0.95063rem;
}
#business ul a:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	bottom: 25px;
	left: 50%;
	margin-left: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.sp #business ul a:after {
	bottom: 15px;
}
#business ul a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#business ul.view li {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	opacity: 1;
}

#performance {
	overflow: hidden;
}
#performance > div {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 80px 20px 0px;
}
.sp #performance > div {
	padding: 40px 20px 0px;
}
.sp #performance > div {
	padding-top: 20px;
}
#performance h2 {
	margin: 0px 0px 70px;
	padding: 0px;
	font-size: 42px;
	font-size: 2.625rem;
	line-height: 54.6px;
	line-height: 3.4125rem;
	letter-spacing: 10pt;
	text-align: center;
	font-weight: bold;
	color: #000000;
}
.sp #performance h2 {
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
	letter-spacing: 10pt;
	margin-bottom: 50px;
}
#performance h2 a {
	position: relative;
	color: #000000;
}
#performance h2 a:before {
	content: "";
	display: block;
	position: absolute;
	width: 110px;
	height: 10px;
	bottom: -20px;
	left: 50%;
	margin-left: -55px;
	background: #008de2;
}
#performance h2 a:after {
	content: "";
	display: block;
	position: absolute;
	width: 19px;
	height: 25px;
	top: 50%;
	right: -35px;
	margin-top: -12.5px;
	background: url(../images/linkicon_b.png);
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#performance h2 a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#performance .main {
	position: relative;
	display: table;
	width: 100%;
	table-layout: fixed;
	-webkit-transition: 0.8s;
	transition: 0.8s;
	-webkit-transform: translateX(-5%);
	transform: translateX(-5%);
}
#performance .main > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp #performance .main {
	display: block;
	-webkit-transition: 0s;
	transition: 0s;
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}
#performance .main > div {
	width: 100%;
	padding: 45px 20px 60px;
	border-top: 6px solid #e6e6e6;
	border-bottom: 6px solid #e6e6e6;
}
.sp #performance .main > div {
	display: block;
	padding: 0px 0px 20px;
	border: 0px;
}
.sp #performance .main > div:last-child {
	padding-bottom: 40px;
}
#performance .main .cover {
	position: absolute;
	display: block;
	width: 140vw;
	height: 100%;
	top: 0px;
	left: 50%;
	margin-left: -70vw;
	background: #ffffff;
	background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 10%, white 100%);
	background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, white 10%, white 100%);
	background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, white 10%, white 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=1 );
	border: 0px;
	z-index: 10;
	-webkit-transition: 0.8s;
	transition: 0.8s;
}
.sp #performance .main .cover {
	display: none;
}
#performance .main h3 {
	margin: 0px 0px 25px;
	font-size: 34px;
	font-size: 2.125rem;
	line-height: 44.2px;
	line-height: 2.7625rem;
}
.sp #performance .main h3 {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
#performance .main h4 {
	margin: 0px 0px 15px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
#performance .main h4 a {
	color: #000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#performance .main h4 a:hover {
	opacity: 0.7;
}
#performance .main h4 a:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 16px;
	margin-bottom: 0.2em;
	margin-left: 10px;
	background: url(../images/linkicon_b.png) no-repeat center center;
	background-size: 12px 16px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#performance .main h4 a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#performance .main h5 {
	margin: 0px 0px 15px;
	padding-bottom: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border-bottom: 1px dashed #b8b8b8;
}
#performance .main p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	font-weight: bold;
}
#performance .main .imagebox {
	display: table;
	width: 100%;
}
#performance .main .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp #performance .main .imagebox {
	display: block;
}
.sp #performance .main .imagebox > div {
	display: block;
}
#performance .main .imagebox > * + * {
	padding-left: 20px;
}
.sp #performance .main .imagebox > * + * {
	padding-left: 0px;
	padding-top: 20px;
}
#performance .main .imagebox > .image {
	width: 40.625%;
}
.sp #performance .main .imagebox > .image {
	width: 100%;
}
#performance .main .imagebox > .image img {
	display: block;
	width: 100%;
	height: auto;
}
.sp #performance .main .imagebox > .image img {
	width: auto;
	max-width: 100%;
	margin: auto;
}
#performance .main .data_img {
	padding-top: 28px;
}
.sp #performance .main .data_img {
	padding-top: 10px;
}
#performance .main .data_img img {
	width: 100%;
	height: auto;
	margin-left: -5px;
}
#performance .main .button {
	margin-top: 35px;
	margin-right: -5px;
	margin-left: -6%;
	overflow: hidden;
}
.sp #performance .main .button {
	margin: 0px;
}
#performance .main .button > li {
	float: left;
	width: calc((100% - 12% - 5px) / 2);
	margin-left: 6%;
	margin-bottom: 1.5625rem;
}
.sp #performance .main .button > li {
	width: 100%;
	margin: 0px;
}
#performance .main .button a {
	position: relative;
	display: table;
	width: 100%;
	height: 60px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	color: #ffffff;
	font-weight: bold;
	background: #161075;
	border-bottom: 2px solid #999999;
	border-right: 2px solid #999999;
}
#performance .main .button a > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
#performance .main .button a:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	right: 20px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#performance .main .button a span {
	padding: 5px 55px 5px 20px;
}
#performance .main .button a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#performance .main .search {
	margin-top: 15px;
	background: #adbcc4;
	overflow: hidden;
}
#performance .main .search > div {
	float: left;
	width: calc((100% - 60px) / 2);
	margin: 15px 0px 20px 20px;
}
#performance .main .search strong {
	display: block;
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #ffffff;
}
#performance .main .search form {
	position: relative;
	display: block;
}
#performance .main .search select {
	width: calc(100% - 50px);
	padding: 5px 10px;
	height: 50px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	border: 0px;
}
#performance .main .search input {
	width: calc(100% - 50px);
	height: 50px;
	padding: 5px 15px;
	background: transparent;
	border: 0px;
	background: #ffffff;
}
#performance .main .search button {
	position: absolute;
	display: inline-block;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0;
	text-indent: -10000px;
	text-align: left;
	vertical-align: middle;
	background: transparent;
	border: 0px;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#performance .main .search button:hover {
	opacity: 0.7;
}
#performance .main .search button span {
	position: absolute;
	display: block;
	width: 26px;
	height: 26px;
	top: 12px;
	left: 12px;
	background: #008de2;
	border-radius: 50%;
	z-index: 5;
}
#performance .main .search button:before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	left: 18px;
	top: 18px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	z-index: 10;
}
#performance .main .search button:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 3px;
	right: 20px;
	bottom: 17px;
	margin: 0px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	z-index: 10;
}
#performance .main .search button.searchicon:before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	left: 18px;
	top: 18px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	z-index: 10;
}
#performance .main .search button.searchicon:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 3px;
	right: 20px;
	bottom: 17px;
	margin: 0px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}
#performance .main:before {
	content: "";
	position: absolute;
	display: block;
	top: 0px;
	right: 100%;
	height: calc(100% - 12px);
	width: 100vw;
	background: url(../../images/performance_left.png) no-repeat right top #e6e6e6;
	background-size: auto 100%;
	border-top: 6px solid #e6e6e6;
	border-bottom: 6px solid #e6e6e6;
}
.sp #performance .main:before {
	display: none;
}
#performance .main:after {
	content: "";
	position: absolute;
	display: block;
	top: 0px;
	left: 100%;
	height: calc(100% - 12px);
	width: 100vw;
	background: url(../../images/performance_right.png) no-repeat left top #008de2;
	background-size: auto 100%;
	border-top: 6px solid #e6e6e6;
	border-bottom: 6px solid #e6e6e6;
}
.sp #performance .main:after {
	display: none;
}
#performance .main.view {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
}
#performance .main.view .cover {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}

#other {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 70px 20px;
}
.sp #other {
	padding: 35px 20px;
}
.sp #other {
	margin-top: 25px;
	border-top: 4px solid #dbdbdb;
	border-bottom: 4px solid #dbdbdb;
	overflow: hidden;
}
#other ul {
	text-align: center;
}
#other ul li {
	display: inline-block;
	padding: 0px 60px;
	max-width: calc((100% - 40px) / 2);
}
.sp #other ul li {
	float: left;
	max-width: none;
	width: calc((100%) / 2);
	padding: 0px;
}
#other a {
	display: block;
	min-width: 130px;
	padding-top: 90px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	color: #000000;
	font-weight: bold;
	text-align: center;
	background: none no-repeat center top;
}
.sp #other a {
	padding-top: 105px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	background-size: auto 86px;
}
#other a span {
	position: relative;
}
#other a span:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
	right: -25px;
	width: 12px;
	height: 16px;
	margin-top: -8px;
	background: url(../images/linkicon_b.png) no-repeat center center;
	background-size: 12px 16px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#other a:hover span:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
#other .contact a {
	background-image: url(../images/contacticon.gif);
	background-size: 90px 73px;
}
#other .access a {
	background-image: url(../images/accessicon.gif);
	background-size: 90px 73px;
}

#footersitemap {
	background: #e5e5e5;
}
.sp #footersitemap {
	display: none;
}
#footersitemap > div {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 40px 20px;
	max-width: 1240px;
}
.sp #footersitemap > div {
	padding: 20px 20px;
}
#footersitemap > div > div {
	display: table;
	width: 100%;
	table-layout: fixed;
}
#footersitemap > div > div > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
#footersitemap > div > div + div {
	margin-top: 20px;
}
#footersitemap dt {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
}
#footersitemap dt a {
	position: relative;
	display: inline-block;
}
#footersitemap dt a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 1px;
	margin-bottom: -0.15em;
	background: #008de2;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#footersitemap dt a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#footersitemap dd {
	margin: 10px 0px 0px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	font-weight: bold;
}
#footersitemap dd li + li {
	margin-top: 8px;
}
#footersitemap dd a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#footersitemap dd a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 1px;
	margin-bottom: -0.15em;
	background: #008de2;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#footersitemap dd a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

footer {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 20px 20px;
	max-width: 1240px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	overflow: hidden;
}
.sp footer {
	padding: 10px 20px;
}
.sp footer {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 16.8px;
	line-height: 1.05rem;
}
footer ul {
	float: left;
}
.sp footer ul {
	float: none;
	display: block;
	margin-bottom: 10px;
	overflow: hidden;
}
footer ul li {
	position: relative;
	float: left;
	padding: 0px 20px;
}
footer ul li:before {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 100%;
	right: 0px;
	background: #000000;
}
footer ul li:first-child:after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #000000;
}
footer ul a {
	color: #000000;
	position: relative;
	display: inline-block;
}
footer ul a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 1px;
	margin-bottom: -0.15em;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
footer ul a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
footer p {
	float: right;
}

#sidecolumn {
	max-width: 1400px;
	max-width: 1240px;
	margin: 0px auto 40px;
	padding: 0px 20px;
	overflow: hidden;
}
#sidecolumn:after {
	content: "";
	display: block;
	clear: both;
}
.tablet #sidecolumn {
	position: relative;
}
#sidecolumn #body {
	float: left;
	width: 76.4705%;
	width: 73.33333%;
}
.tablet #sidecolumn #body {
	float: none;
	width: 100%;
}
#sidecolumn #body .contents > div {
	padding-left: 0px;
	padding-right: 0px;
}
#sidecolumn #side {
	position: relative;
	float: right;
	width: 22.0588%;
	width: 25%;
	background: #ffffff;
	-webkit-transition: top 1.0s 0.2s;
	transition: top 1.0s 0.2s;
}
.tablet #sidecolumn #side {
	position: absolute;
	width: 310px;
	max-width: calc(100% - 90px);
	right: 0px;
	padding-right: 10px;
	-webkit-transition: 0s, -webkit-transform 0.3s;
	transition: 0s, transform 0.3s;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
#sidecolumn #side dt a {
	display: block;
	padding: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #ffffff;
	font-weight: bold;
	background: #161075;
}
#sidecolumn #side dd {
	margin: 0px;
	padding: 10px 0px 0px;
}
#sidecolumn #side dd > ul > li {
	position: relative;
}
#sidecolumn #side dd > ul > li > a {
	display: block;
	padding: 15px 35px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #000000;
	font-weight: bold;
	border-bottom: 1px solid #fff;
	background: #eee;
}
#sidecolumn #side dd > ul > li > a.current {
	background: #008de2;
	color: #fff;
}
#sidecolumn #side dd > ul > li ul {
	display: none;
	border-bottom: 1px solid #e5e5e5;
}
#sidecolumn #side dd > ul > li li a {
	display: block;
	padding: 10px 18px 10px 53px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #000000;
	font-weight: bold;
	background: #e7e7e7;
}
#sidecolumn #side dd > ul > li li a.current {
	background: #008de2;
	color: #fff;
}
#sidecolumn #side dd > ul > li li + li {
	border-top: 1px solid #ffffff;
}
#sidecolumn #side dd > ul > li .sw {
	position: absolute;
	right: 0px;
	top: 0px;
}
#sidecolumn #side dd > ul > li .sw a {
	position: relative;
	display: block;
	width: 35px;
	height: calc(1.1375rem + 30px);
}
#sidecolumn #side dd > ul > li .sw a:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px;
	height: 11px;
	margin-top: -6px;
	background: #000000;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#sidecolumn #side dd > ul > li .sw a:after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 11px;
	height: 1px;
	margin-top: -1px;
	margin-left: -5px;
	background: #000000;
}
#sidecolumn #side dd > ul > li .sw a.open:before {
	-webkit-transform: translateY(50%);
	transform: translateY(50%);
	opacity: 0;
}
#sidecolumn #side * + dl {
	margin-top: 24px;
}
#sidecolumn #side .alt dt > * {
	background: #70ab9b;
}
#sidecolumn #side .alt dd > ul > li > a,
#sidecolumn #side .alt dd > ul > li > span {
	background: #70ab9b;
}
#sidecolumn #side > .ssw {
	display: none;
	position: absolute;
	top: 0px;
	left: -70px;
}
.tablet #sidecolumn #side > .ssw {
	display: block;
}
#sidecolumn #side > .ssw a {
	position: relative;
	display: block;
	width: 50px;
	height: 60px;
	background: #161075;
}
.sp #sidecolumn #side > .ssw a {
	opacity: 1;
}
#sidecolumn #side > .ssw a:before {
	position: absolute;
	content: "";
	display: block;
	width: 22px;
	height: 19px;
	top: 50%;
	left: 50%;
	margin-left: -11px;
	margin-top: -9px;
	background: url(../images/sidesw.png);
	-webkit-transform: rotateY(180deg);
	transform: rotateY(180deg);
	-webkit-transition: 0.3s 0.2s;
	transition: 0.3s 0.2s;
}
.tablet #sidecolumn #side.open {
	transform: translateX(0%);
}
#sidecolumn #side.open > .ssw a:before {
	-webkit-transform: rotateY(0deg);
	transform: rotateY(0deg);
}

.news_box {
	border-top: 1px solid #c1c1c1;
	padding: 20px 0;
}
.news_box .date {
	line-height: 1.9;
}
.news_box .date span {
	display: inline-block;
	margin-left: 15px;
	color: #fff;
	min-width: 150px;
	text-align: center;
}
.news_box .date span.release {
	background: #074098;
}
.news_box .date span.finance {
	background: #ff3150;
}
.news_box .date span.others {
	background: #008de2;
}
.news_box .link {
	margin-top: 15px;
	font-size: 110%;
	line-height: 1.6;
}
.news_box .link a {
	color: #000;
}
.news_box .link a:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 16px;
	margin-bottom: 0.2em;
	margin-left: 10px;
	background: url(../images/linkicon_b.png) no-repeat center center;
	background-size: 12px 16px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.news_box .link a:hover {
	opacity: 1;
	box-shadow: none;
}
.news_box .link a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}

dl.qa {
	line-height: 1.8;
}
dl.qa dt {
	display: table;
	width: 100%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	width: 100%;
	margin: 0;
	cursor: pointer;
}
dl.qa dt > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
dl.qa dt:hover {
	opacity: 0.7;
}
dl.qa dt .title {
	position: relative;
	padding: 10px 10px 10px 60px;
	background: #e7e7e7;
}
dl.qa dt .title:before {
	position: absolute;
	left: 20px;
	content: "Q";
	color: #161075;
	font-weight: bold;
	margin-right: 20px;
}
dl.qa dt .btn {
	width: 40px;
	text-align: center;
	background: #808080;
}
dl.qa dt .btn:after {
	font-size: 20px;
	content: "＋";
	color: #fff;
}
dl.qa dt.open .btn:after {
	content: "－";
}
dl.qa dd {
	display: none;
	position: relative;
	width: 100%;
	padding: 10px 10px 10px 60px;
	margin: 0;
	background: #808080;
	color: #fff;
}
dl.qa dd:before {
	position: absolute;
	left: 20px;
	content: "A";
	color: #fff;
	font-weight: bold;
	margin-right: 20px;
}
dl.qa dd a {
	color: #fff;
	text-decoration: underline;
}
dl.qa dd + dt {
	margin-top: 15px;
}

dl.datelist dt {
	clear: left;
	float: left;
	width: 7em;
	line-height: 1.5em;
	margin-bottom: 10px;
}
.sp dl.datelist dt {
	float: none;
	width: auto;
	margin-bottom: 5px;
}
dl.datelist dd {
	margin-left: 7em;
	line-height: 1.5em;
	margin-bottom: 10px;
}
.sp dl.datelist dd {
	margin-left: 0px;
	line-height: 1.5em;
	margin-bottom: 10px;
}

.company_title {
	display: table;
	width: 100%;
	padding-top: 32px;
}
.company_title > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp .company_title {
	display: block;
}
.sp .company_title > * {
	display: block;
}
.company_title .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: bold;
}
.company_title .logo {
	text-align: right;
	padding-left: 20px;
}
.company_title .logo img {
	max-width: 300px;
	max-height: 120px;
	height: auto;
}
.sp .company_title .logo {
	margin-top: 10px;
	text-align: left;
}

#table_performance {
	margin-top: 30px;
}
#table_performance table {
	width: 100%;
	border-collapse: collapse;
}
#table_performance table tr[data-sub="1"], #table_performance table tr[data-sub="2"] {
	display: none;
}
#table_performance table th, #table_performance main .contents .format table td, main .contents .format #table_performance table td {
	width: 25%;
	position: relative;
	background: #161075;
	color: #fff;
	text-align: left;
	padding-right: 30px;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#table_performance table th:hover, #table_performance main .contents .format table td:hover, main .contents .format #table_performance table td:hover {
	opacity: 0.7;
}
#table_performance table th span, #table_performance main .contents .format table td span, main .contents .format #table_performance table td span {
	display: block;
	padding: 1em 0.8em;
}
#table_performance table th:not(:first-child):before, #table_performance main .contents .format table td:not(:first-child):before, main .contents .format #table_performance table td:not(:first-child):before {
	content: "";
	position: absolute;
	height: 100%;
	width: 3px;
	background: #fff;
}
#table_performance table th:after, #table_performance main .contents .format table td:after, main .contents .format #table_performance table td:after {
	content: "";
	position: absolute;
	width: 25px;
	height: 25px;
	background: url(../images/ico_row.png) no-repeat;
	right: 8px;
	top: 1.2rem;
}
#table_performance table td {
	width: 25%;
	padding: 1em 0.8em;
}
#table_performance table tr.even {
	background: #eee;
}

#search_performance {
	width: 100%;
	background: #adbcc4;
	margin-top: 30px;
}
#search_performance:after {
	content: "";
	display: block;
	clear: both;
}
#search_performance .cell {
	float: left;
	width: 33.3%;
	padding: 15px 0 15px 15px;
}
.sp #search_performance .cell {
	float: none;
	width: 100%;
	padding: 15px 0 5px 15px;
}
#search_performance .cell:not(:first-child) {
	border-left: 1px solid #fff;
}
#search_performance .cell p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
	margin-bottom: 10px;
	color: #fff;
}
#search_performance .cell .form {
	position: relative;
	margin-top: 0;
}
#search_performance .cell select {
	width: calc(100% - 50px);
	padding: 5px 10px;
	height: 50px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	border: 0px;
}
#search_performance .cell button {
	position: absolute;
	display: inline-block;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0;
	text-indent: -10000px;
	text-align: left;
	vertical-align: middle;
	background: transparent;
	border: 0px;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#search_performance .cell button:hover {
	opacity: 0.7;
}
#search_performance .cell button span {
	position: absolute;
	display: block;
	width: 26px;
	height: 26px;
	top: 12px;
	left: 12px;
	background: #008de2;
	border-radius: 50%;
	z-index: 5;
}
#search_performance .cell button:before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	left: 18px;
	top: 18px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	z-index: 10;
}
#search_performance .cell button:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 3px;
	right: 20px;
	bottom: 17px;
	margin: 0px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	z-index: 10;
}
#search_performance .wide {
	clear: both;
	width: 100%;
	border-top: 1px solid #fff;
	text-align: center;
	padding: 15px 0;
}
.sp #search_performance .wide {
	text-align: left;
	margin-top: 10px;
}
#search_performance .wide .form {
	width: 50%;
	position: relative;
	margin: 0 auto;
	padding-left: 15px;
}
.sp #search_performance .wide .form {
	width: 100%;
}
#search_performance .wide input {
	width: calc(100% - 100px);
	height: 50px;
	padding: 5px 15px;
	background: #fff;
	border: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
.sp #search_performance .wide input {
	width: calc(100% - 50px);
}
#search_performance .wide button {
	position: absolute;
	display: inline-block;
	width: 50px;
	height: 50px;
	right: 0px;
	top: 0;
	text-indent: -10000px;
	text-align: left;
	vertical-align: middle;
	background: transparent;
	border: 0px;
	overflow: hidden;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#search_performance .wide button:hover {
	opacity: 0.7;
}
#search_performance .wide button span {
	position: absolute;
	display: block;
	width: 26px;
	height: 26px;
	top: 12px;
	left: 12px;
	background: #008de2;
	border-radius: 50%;
	z-index: 5;
}
#search_performance .wide button.searchicon:before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	left: 18px;
	top: 18px;
	border: 2px solid #ffffff;
	border-radius: 50%;
	z-index: 10;
}
#search_performance .wide button.searchicon:after {
	content: "";
	position: absolute;
	display: block;
	width: 6px;
	height: 3px;
	right: 20px;
	bottom: 17px;
	margin: 0px;
	background: #ffffff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	z-index: 10;
}

main .contents * + .lead, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .button, main .contents * + .table, main .contents * + .layouttable, main .contents * + .format, main .contents * + .googlemap, main .contents * + .form, main .contents .form * + textarea, main .contents .form * + input[type="submit"], main .contents .form * + input[type="reset"], main .contents * + .s_goal01, main .contents * + .s_goal03, main .contents * + .s_goal04, main .contents * + .s_goal05 {
	margin-top: 32px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .button, main .contents .sp * + .button, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .layouttable, main .contents .sp * + .layouttable, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .form, main .contents .sp * + .form, .sp main .contents .form * + textarea, main .contents .form .sp * + textarea, .sp main .contents .form * + input[type="submit"], main .contents .form .sp * + input[type="submit"], .sp main .contents .form * + input[type="reset"], main .contents .form .sp * + input[type="reset"], .sp main .contents * + .s_goal01, main .contents .sp * + .s_goal01, .sp main .contents * + .s_goal03, main .contents .sp * + .s_goal03, .sp main .contents * + .s_goal04, main .contents .sp * + .s_goal04, .sp main .contents * + .s_goal05, main .contents .sp * + .s_goal05 {
	margin-top: 24px;
}

main * + .contents, main .contents * + .column, main .contents * + .layout, main .contents * + .menu, main .contents * + .box, main .contents * + .contactbox {
	margin-top: 48px;
}

main .contents .lead * + p, main .contents .text * + p, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .image * + .name, main .contents * + .num_list {
	margin-top: 16px;
}

main .contents {
	position: relative;
	padding: 0px;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 0px 20px;
}
.sp main .contents > div:not(.background) {
	padding: 0px 20px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents a[href$=".pdf"]:after {
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 17px;
	height: 17px;
	padding-top: 2px;
	margin-left: 7px;
	background: url(../images/icon_pdf.png) no-repeat;
}
main .contents a[href$=".xls"]:after {
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 16px;
	height: 16px;
	padding-top: 2px;
	margin-left: 7px;
	background: url(../images/icon_xls.png) no-repeat;
}
main .contents a[href$=".doc"]:after {
	content: "";
	display: inline-block;
	vertical-align: text-bottom;
	width: 16px;
	height: 16px;
	padding-top: 2px;
	margin-left: 7px;
	background: url(../images/icon_doc.png) no-repeat;
}
main .contents a.ex {
	padding-right: 25px;
	background: url(../images/icon_ex.png) no-repeat right;
	background-size: 17px 17px;
}
main .contents .categorytitle {
	position: relative;
}
main .contents .categorytitle > div {
	position: absolute;
	width: 26%;
	min-width: 250px;
	height: 100%;
	top: 0px;
	background: rgba(22, 16, 117, 0.95);
}
.sp main .contents .categorytitle > div {
	position: static;
	width: 100%;
	min-width: 0px;
	padding: 10px;
}
main .contents .categorytitle > div h1 {
	position: absolute;
	width: 100%;
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	letter-spacing: 0.8rem;
	color: #ffffff;
	font-weight: bold;
	top: 50%;
	left: 50%;
	text-align: center;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.sp main .contents .categorytitle > div h1 {
	position: static;
	margin: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	letter-spacing: 0.4rem;
	-webkit-transform: none;
	transform: none;
}
main .contents .categorytitle img {
	display: block;
	width: 100%;
	height: auto;
}
main .contents .categorytitle.full {
	padding-top: 25.576923%;
	background: #161075;
}
.sp main .contents .categorytitle.full {
	padding: 0px;
}
main .contents .categorytitle.full > div {
	width: 100%;
	height: auto;
	top: 50%;
	padding: 20px 40px;
	background: transparent;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.sp main .contents .categorytitle.full > div {
	padding: 10px;
	-webkit-transform: none;
	transform: none;
}
main .contents .categorytitle.full > div h1 {
	position: static;
	margin: 0px;
	padding: 0px;
	text-align: left;
	-webkit-transform: none;
	transform: none;
}
main .contents .categorytitle.full > div p {
	margin-top: 20px !important;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	color: #ffffff;
	font-weight: bold;
}
.sp main .contents .categorytitle.full > div p {
	margin-top: 10px !important;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .pagetitle {
	position: relative;
	padding-top: 5.78846%;
	border-bottom: 1px solid #c1c1c1;
}
.sp main .contents .pagetitle {
	padding: 0px;
}
main .contents .pagetitle > div {
	position: absolute;
	width: 100%;
	top: 50%;
	padding: 20px 0px 20px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.sp main .contents .pagetitle > div {
	position: static;
	padding: 10px 0;
	-webkit-transform: none;
	transform: none;
}
main .contents .pagetitle > div h1 {
	margin: 0px;
	padding: 0px;
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	letter-spacing: 0pt;
	color: #000000;
	font-weight: bold;
}
.sp main .contents .pagetitle > div h1 {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	letter-spacing: 0pt;
}
main .contents .pagetitle > div * + h1 {
	margin-top: 5px;
}
main .contents .pagetitle > div strong {
	display: block;
	margin-top: 10px !important;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	font-weight: bold;
}
main .contents .pagetitle + p {
	margin-top: 15px;
}
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 32px;
	padding: 0px;
	font-size: 36px;
	font-size: 2.25rem;
	line-height: 46.8px;
	line-height: 2.925rem;
	letter-spacing: 0.4rem;
	font-weight: bold;
}
.sp main .contents h1 {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	letter-spacing: 0.2rem;
}
main .contents * + h1 {
	margin-top: 96px;
}
main .contents h2 {
	clear: both;
	display: block;
	margin: 0px 0px 16px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: bold;
}
main .contents h2.center {
	text-align: center;
}
main .contents * + h2 {
	margin-top: 72px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 16px;
	padding: 0px 0px 12px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	border-bottom: 3px solid #d9d9d9;
}
main .contents h3:after {
	content: "";
	position: absolute;
	display: block;
	left: 0px;
	bottom: -3px;
	width: 50px;
	height: 3px;
	background: #161075;
}
main .contents h3.mt {
	margin-top: 48px;
}
main .contents * + h3 {
	margin-top: 48px;
}
main .contents h4 {
	clear: both;
	display: block;
	margin: 0px 0px 16px;
	padding: 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents * + h4 {
	margin-top: 32px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	font-weight: bold;
}
.sp main .contents .lead p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .text:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text p .required {
	color: #fb3b3b;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p.error_mes {
	color: #fb3b3b;
}
main .contents .text p a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text p a:hover {
	opacity: 0.7;
}
main .contents .text p.center {
	text-align: center;
}
main .contents .text p.right {
	text-align: right;
}
main .contents .text p.date {
	font-weight: bold;
}
main .contents .text p.date + h2 {
	margin-top: 32px;
}
main .contents .text p.blue_dot {
	padding-left: 18px;
	position: relative;
}
main .contents .text p.blue_dot:before {
	content: "";
	position: absolute;
	width: 12px;
	height: 12px;
	background: #008de2;
	left: 0;
	top: 0.5rem;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}
main .contents .text p.blue_dot + .blue_dot {
	margin-top: 0;
}
main .contents .text p.sublead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 28.8px;
	line-height: 1.8rem;
	font-weight: bold;
}
main .contents .text ul {
	clear: both;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .text ul > li {
	margin-left: 14px;
	text-indent: -14px;
}
main .contents .text ul > li:before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 4px;
	background: #008de2;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	padding-left: 20px;
	counter-reset: number;
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .text ol > li a:hover {
	opacity: 0.7;
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatright {
	margin-left: 16px;
	margin-bottom: 8px;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 32px;
	margin-bottom: 16px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 16px;
	margin-bottom: 8px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .text.image_padding {
	padding: 16px 0;
}
main .contents .image img {
	display: block;
	margin: auto;
	width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .image .name {
	margin-bottom: 25px;
	font-size: 21px;
	font-size: 1.3125rem;
	line-height: 23.1px;
	line-height: 1.44375rem;
}
main .contents .image .name span {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
.sp main .contents .image .name {
	margin-left: auto;
	margin-right: auto;
}
main .contents .imagebox {
	display: table;
	width: 100%;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 32px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 32px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 32px;
}
main .contents .imagebox > .image img {
	width: 100% !important;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .column {
	margin-bottom: -48px;
	margin-left: -48px;
	margin-right: -4px;
}
.sp main .contents .column {
	margin-left: -24px;
	margin-bottom: -24px;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .column > * {
	float: left;
	margin-bottom: 48px;
	margin-left: 48px;
}
.sp main .contents .column > * {
	margin-left: 24px;
	margin-bottom: 24px;
}
main .contents .column.col1 > * {
	width: calc((100% - 48px * 1 - 4px) / 1);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 24px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 48px * 2 - 4px) / 2);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 24px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 48px * 3 - 4px) / 3);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 24px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 48px * 4 - 4px) / 4);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 24px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 48px * 5 - 4px) / 5);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 24px * 5 - 4px) / 5) !important;
}
main .contents .column.report > * {
	margin-bottom: 86.4px;
}
.sp main .contents .column.report > * {
	margin-bottom: 48px;
}
main .contents .column.report > * h2 {
	margin: 0px 0px 16px;
}
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;
}
main .contents .layout.fixed {
	table-layout: fixed;
}
main .contents .layout.fixed > * {
	width: 100%;
}
.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: -24px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 24px;
	padding: 0px;
	width: auto !important;
}
.sp main .contents .button {
	text-align: center;
}
main .contents .button > div {
	display: inline-block;
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #008de2;
}
main .contents .button > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #009dfc;
	opacity: 1;
}
main .contents .button > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #006daf;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
.sp main .contents .button > div {
	display: block;
}
main .contents .button > div + div {
	margin-left: 20px;
}
.sp main .contents .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
main .contents .button a {
	position: relative;
	display: inline-block;
	min-width: 190px;
	padding: 12px 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #ffffff;
	text-align: left;
	font-weight: bold;
	border: 0px;
	cursor: pointer;
}
main .contents .button a:before {
	content: "";
	position: absolute;
	display: block;
	right: 5px;
	bottom: 5px;
	border: 5px solid transparent;
	border-right-color: #ffffff;
	border-bottom-color: #ffffff;
}
main .contents .button a.center {
	text-align: center;
}
.sp main .contents .button a {
	width: 100%;
}
main .contents .button.nega > div {
	-webkit-perspective: 100px;
	perspective: 100px;
}
main .contents .button.nega > div > * {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	background-color: #ffffff;
}
main .contents .button.nega > div > *:hover {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: white;
	opacity: 1;
}
main .contents .button.nega > div > *.press {
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background-color: #e6e6e6;
	-webkit-transform: translateZ(-5px);
	transform: translateZ(-5px);
}
main .contents .button.nega a {
	color: #008de2;
	border: 1px solid #008de2;
}
main .contents .button.nega a:before {
	border-right-color: #008de2;
	border-bottom-color: #008de2;
}
main .contents .button.center {
	text-align: center;
}
main .contents .button.right {
	text-align: right;
}
.sp main .contents .button.right {
	text-align: center;
}
main .contents .table {
	overflow-x: auto;
}
main .contents .table table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .table table tbody {
	border-top: 1px solid #adbcc4;
	border-bottom: 1px solid #adbcc4;
}
main .contents .table table thead + tbody {
	border-top: 0;
}
main .contents .table table th, main .contents .table .format table td, main .contents .format .table table td {
	padding: 20px 12px;
	vertical-align: middle;
	text-align: center;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #ffffff;
	background: #adbcc4;
}
.sp main .contents .table table th, .sp main .contents .table .format table td, .sp main .contents .format .table table td {
	white-space: nowrap;
}
.sp main .contents .table table th span, .sp main .contents .table .format table td span, .sp main .contents .format .table table td span {
	display: block;
}
.sp main .contents .table table th * + span, .sp main .contents .table .format table td * + span, .sp main .contents .format .table table td * + span {
	margin-top: 4px;
}
main .contents .table table thead th:first-child, main .contents .table .format table thead td:first-child, main .contents .format .table table thead td:first-child {
	background: #95a1a8;
}
main .contents .table table thead th + th, main .contents .table .format table thead td + th, main .contents .format .table table thead td + th, main .contents .table .format table thead th + td, main .contents .format .table table thead th + td, main .contents .table .format table thead td + td, main .contents .format .table table thead td + td {
	border-left: 1px solid #ffffff;
}
main .contents .table table thead th:first-child + th, main .contents .table .format table thead td:first-child + th, main .contents .format .table table thead td:first-child + th, main .contents .table .format table thead th:first-child + td, main .contents .format .table table thead th:first-child + td, main .contents .table .format table thead td:first-child + td, main .contents .format .table table thead td:first-child + td {
	border-left: 0px;
}
main .contents .table table tbody th, main .contents .table .format table tbody td, main .contents .format .table table tbody td {
	vertical-align: top;
	text-align: left;
	color: #ffffff;
	background: #adbcc4;
}
main .contents .table table td {
	padding: 20px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #000000;
	background: #ffffff;
}
main .contents .table table td + td {
	border-left: 1px solid #adbcc4;
}
main .contents .table table tbody tr:nth-child(even) th, main .contents .table .format table tbody tr:nth-child(even) td, main .contents .format .table table tbody tr:nth-child(even) td {
	background: #95a1a8;
}
main .contents .table table tbody tr:nth-child(even) td {
	background: #dbdbdb;
}
main .contents .table table .left {
	text-align: left;
}
main .contents .table table .right {
	text-align: right;
}
main .contents .table table .center {
	text-align: center;
}
main .contents .table table .top {
	vertical-align: top;
}
main .contents .table table .bottom {
	vertical-align: bottom;
}
main .contents .table table .middle {
	vertical-align: middle;
}
main .contents .table > p {
	margin-top: 8px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
main .contents .table.p2 table thead th:first-child, main .contents .table.p2 .format table thead td:first-child, main .contents .format .table.p2 table thead td:first-child {
	background: transparent;
}
main .contents .table.p2 table tbody tr:nth-child(even) th, main .contents .table.p2 .format table tbody tr:nth-child(even) td, main .contents .format .table.p2 table tbody tr:nth-child(even) td {
	background: #adbcc4;
}
main .contents .table.p2 table tbody tr + tr th, main .contents .table.p2 .format table tbody tr + tr td, main .contents .format .table.p2 table tbody tr + tr td {
	border-top: 1px solid #ffffff;
}
main .contents .table.p2 table tbody tr + tr td {
	border-top: 1px solid #adbcc4;
}
main .contents .table.p2 table td + td {
	border-left: 0px;
}
main .contents .table.p2 table tbody tr:nth-child(even) td {
	background: #ffffff;
}
main .contents .table.p2 table tbody td:nth-child(even) {
	background: #dbdbdb !important;
}
main .contents .layouttable {
	overflow-x: auto;
}
main .contents .layouttable table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
.sp main .contents .layouttable table {
	min-width: 600px;
}
main .contents .layouttable table th, main .contents .layouttable .format table td, main .contents .format .layouttable table td {
	padding: 0px 10px 10px 0px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #000000;
	white-space: nowrap;
}
main .contents .layouttable table td {
	padding: 0px 0px 10px 0px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: normal;
	color: #000000;
}
main .contents .layouttable table .left {
	text-align: left;
}
main .contents .layouttable table .right {
	text-align: right;
}
main .contents .layouttable table .center {
	text-align: center;
}
main .contents .layouttable table .top {
	vertical-align: top;
}
main .contents .layouttable table .bottom {
	vertical-align: bottom;
}
main .contents .layouttable table .middle {
	vertical-align: middle;
}
main .contents .layouttable + .layouttable {
	margin-top: 10px;
}
main .contents .num_list {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .num_list ul li:not(:first-child) {
	margin-top: 10px;
}
main .contents .num_list ul ul {
	margin-top: 10px;
	padding-left: 15px;
}
main .contents .num_list a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .num_list a:hover {
	opacity: 0.7;
}
main .contents .format table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
	border-bottom: 1px solid #b3b3b3;
}
main .contents .format table th, main .contents .format table td {
	padding: 16px 8px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
	color: #000000;
	border-top: 1px solid #b3b3b3;
}
main .contents .format table td {
	font-weight: normal;
}
.sp main .contents .format table {
	display: block;
}
.sp main .contents .format table tbody {
	display: block;
}
.sp main .contents .format table tr {
	display: block;
}
.sp main .contents .format table th, .sp main .contents .format table td {
	display: block;
}
.sp main .contents .format table td {
	display: block;
	padding-top: 0px;
	border-top: 0px;
}
main .contents .menu {
	margin-bottom: -20px;
	margin-left: -20px;
	margin-right: -4px;
}
main .contents .menu:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .menu {
	margin-bottom: -10px;
	margin-left: -10px;
}
main .contents .menu > * {
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .menu > * {
	margin-left: 10px;
	margin-bottom: 10px;
}
main .contents .menu.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
.sp main .contents .menu.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .menu.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .menu.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
.sp main .contents .menu.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .menu.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .menu.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
.sp main .contents .menu.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .menu.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .menu.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
.sp main .contents .menu.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .menu.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .menu.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
.sp main .contents .menu.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .menu.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .menu > a {
	position: relative;
	display: block;
	-webkit-transition: box-shadow 0.4s, opacity 0.4s;
	transition: box-shadow 0.4s, opacity 0.4s;
}
main .contents .menu > a:hover {
	opacity: 0.8;
	box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
main .contents .menu > a img {
	display: block;
	width: 100%;
	height: auto;
}
main .contents .menu > a strong {
	display: block;
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 24.7px;
	line-height: 1.54375rem;
}
main .contents .menu > a strong span {
	display: inline-block;
}
main .contents .menu > a > span {
	display: block;
	width: 100%;
	padding: 16px;
	color: #000000;
	background: #ffffff;
}
main .contents .menu > a > span > strong {
	display: inline;
	width: auto;
}
main .contents .menu > a > span > strong:after {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 12px;
	height: 16px;
	margin-bottom: 0.2em;
	margin-left: 10px;
	background: url(../images/linkicon_b.png) no-repeat center center;
	background-size: 12px 16px;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
main .contents .menu > a:hover strong:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
main .contents .menu.simple > a {
	display: table;
	padding-right: 50px;
	border: 2px solid #80c6f1;
}
main .contents .menu.simple > a:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	right: 20px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
main .contents .menu.simple > a.blank:after {
	background-image: url(../images/blankicon.png);
	background-size: 11px 11px;
}
main .contents .menu.simple > a:hover {
	opacity: 1;
	box-shadow: none;
}
main .contents .menu.simple > a:hover:after {
	-webkit-transform: translateX(25%);
	transform: translateX(25%);
}
main .contents .menu.simple > a > span {
	display: table-cell;
	padding-top: 25px;
	padding-bottom: 25px;
	vertical-align: middle;
}
main .contents .menu.simple > a > span strong:after {
	display: none;
}
main .contents .box {
	padding: 32px;
	border: 1px solid #161075;
}
.sp main .contents .box {
	padding: 16px;
}
main .contents .contactbox {
	max-width: 70%;
	margin-left: auto;
	margin-right: auto;
	padding: 32px;
	border: 1px solid #161075;
}
.sp main .contents .contactbox {
	max-width: 100%;
	padding: 16px;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube {
	max-width: 640px;
	margin: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}
main .contents .form form {
	margin: 0px;
	padding: 0px;
}
main .contents .form .required {
	color: #fb3b3b;
	margin-left: 4px;
}
main .contents .form small {
	font-size: 60%;
}
main .contents .form table {
	border-collapse: collapse;
	width: 100%;
}
.sp main .contents .form table {
	display: block;
}
main .contents .form table th, main .contents .form .format table td, main .contents .format .form table td {
	width: 30%;
	padding: 24px 20px 25px 0px;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
.sp main .contents .form table th, .sp main .contents .form .format table td, .sp main .contents .format .form table td {
	display: block;
	width: auto;
	padding-bottom: 10px;
}
main .contents .form table td {
	padding-top: 20px;
	padding-bottom: 25px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	word-break: break-all;
}
.sp main .contents .form table td {
	display: block;
	padding-top: 0;
	padding-bottom: 15px;
}
main .contents .form table td .item + .item {
	margin-top: 10px;
}
main .contents .form table td .item .title {
	margin-bottom: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form table td .kome {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form table td .text {
	border: 1px solid #ccc;
	padding: 15px;
}
main .contents .form table td * + p {
	margin-top: 10px;
}
main .contents .form table tr:last-child > * {
	padding-bottom: 0px;
}
main .contents .form textarea {
	width: 100%;
	height: 160px;
	padding: 8px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #000000;
}
main .contents .form textarea[required] {
	background: rgba(251, 59, 59, 0.15);
}
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%;
	padding: 8px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	border: 1px solid #000000;
}
main .contents .form input[type="text"][required], main .contents .form input[type="email"][required], main .contents .form input[type="tel"][required], main .contents .form input[type="url"][required] {
	background: rgba(251, 59, 59, 0.15);
}
main .contents .form input[type="text"] + span, main .contents .form input[type="email"] + span, main .contents .form input[type="tel"] + span, main .contents .form input[type="url"] + span {
	display: block;
	margin-top: 4px;
}
main .contents .form select {
	width: 100%;
	padding: 0px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #000000;
}
main .contents .form .birthday td {
	font-size: 0px;
	line-height: 0px;
}
main .contents .form .birthday select {
	width: calc((100% - 9.3rem) / 3);
}
.sp main .contents .form .birthday select {
	width: calc(100% - 3.5rem);
}
.sp main .contents .form .birthday * + select {
	margin-top: 10px;
}
main .contents .form .birthday span {
	margin: 0px 0.75rem;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents .form label {
	position: relative;
	display: inline-block;
	padding: 4px 0px 4px 30px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	cursor: pointer;
}
main .contents .form label input[type="radio"], main .contents .form label input[type="checkbox"] {
	position: absolute;
	top: 9px;
	left: 0px;
}
main .contents .form input[type="submit"] {
	display: inline-block;
	padding: 8px 48px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #ffffff;
	background: #161075;
	border: 0px;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .form input[type="submit"]:hover {
	opacity: 0.7;
}
main .contents .form input[type="reset"] {
	display: inline-block;
	padding: 8px 48px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #074098;
	background: #ffffff;
	border: 0px;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .form input[type="reset"]:hover {
	opacity: 0.7;
}
main .contents .form .buttons td {
	padding: 16px !important;
	text-align: center;
	background: #e0e0e0;
}
main .contents .form .buttons td input {
	margin: 0px 10px;
}
main .contents .error_mes {
	color: #fb3b3b;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
	padding-top: 30px;
}
main .contents .s_goal01 {
	display: table;
	width: 100%;
	table-layout: fixed;
}
.sp main .contents .s_goal01 {
	display: block;
}
main .contents .s_goal01 > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .s_goal01 > * {
	display: block;
}
main .contents .s_goal01 > div {
	padding: 65px 20px 30px;
	background: none no-repeat center center;
	background-size: cover;
}
.sp main .contents .s_goal01 > div {
	padding: 30px 20px;
}
main .contents .s_goal01 .bg01 {
	background-image: url(../../business/goal/images/s_goal0101.jpg);
}
main .contents .s_goal01 .bg02 {
	background-image: url(../../business/goal/images/s_goal0102.jpg);
}
main .contents .s_goal01 .bg03 {
	background-image: url(../../business/goal/images/s_goal0103.jpg);
}
main .contents .s_goal01 h5 {
	margin: 0px 0px 75px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	text-align: center;
  /*
  			&.short {
  				letter-spacing: 1rem;
  				padding-left: 1rem;
  			}
  */
}
main .contents .s_goal01 h5.mb_adjust {
	margin-bottom: 15px;
}
.sp main .contents .s_goal01 h5 {
	margin-bottom: 20px;
}
main .contents .s_goal01 li {
	margin-left: 20px;
	text-indent: -20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
}
main .contents .s_goal01 li:before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 5px;
	vertical-align: middle;
	background: #161075;
	border-radius: 50%;
}
main .contents .s_goal01 li + li {
	margin-top: 25px;
}
main .contents .s_goal03 {
	padding: 40px 70px 65px;
	background: url(../../business/goal/images/s_goal03.jpg) no-repeat center center;
	background-size: cover;
}
.sp main .contents .s_goal03 {
	padding: 20px 0px 0px;
	background-image: none;
}
main .contents .s_goal03 h5 {
	margin: 0px 0px 25px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	color: #161075;
	text-align: center;
}
main .contents .s_goal03 ul {
	margin-right: -4px;
}
main .contents .s_goal03 ul.col3 {
	margin-bottom: -1px;
	margin-left: -1px;
}
main .contents .s_goal03 ul.col3 > * {
	width: calc((100% - 1px * 3 - 4px) / 3);
	margin-bottom: 1px;
	margin-left: 1px;
}
.sp main .contents .s_goal03 ul.col3 > * {
	width: calc((100% - 1px * 2 - 4px) / 2) !important;
	margin-bottom: 1px;
	margin-left: 1px;
}
main .contents .s_goal03 li {
	padding: 12px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #ffffff;
	text-align: center;
	font-weight: bold;
	background: #161075;
}
.sp main .contents .s_goal03 li {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .s_goal04 {
	padding: 30px 2px;
	background: url(../../business/goal/images/s_goal04.gif);
	overflow: hidden;
}
.sp main .contents .s_goal04 {
	padding: 20px;
}
main .contents .s_goal04 ul {
	display: table;
	width: 100%;
	table-layout: fixed;
	border-collapse: separate;
	border-spacing: 28px 0px;
	height: 140px;
}
.sp main .contents .s_goal04 ul {
	display: block;
}
main .contents .s_goal04 ul > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
.sp main .contents .s_goal04 ul > * {
	display: block;
}
.sp main .contents .s_goal04 ul {
	height: auto;
}
main .contents .s_goal04 li {
	position: relative;
	padding: 6px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	color: #161075;
	font-weight: bold;
	background: #ffffff;
	border: 2px solid #008de2;
}
main .contents .s_goal04 li:before {
	content: "";
	position: absolute;
	display: block;
	width: calc(100% + 4px);
	height: 50px;
	bottom: -52px;
	left: -2px;
	background: rgba(32, 139, 221, 0.4);
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: skewX(45deg);
	transform: skewX(45deg);
}
main .contents .s_goal04 li:after {
	content: "";
	position: absolute;
	display: block;
	width: 200px;
	height: 144px;
	top: -2px;
	right: -202px;
	background: rgba(64, 170, 232, 0.4);
	-webkit-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: skewY(45deg);
	transform: skewY(45deg);
}
.sp main .contents .s_goal04 li + li {
	margin-top: 20px;
}
main .contents .s_goal05 {
	background: url(../../business/goal/images/s_goal05.jpg) no-repeat center center;
	background-size: cover;
}
.sp main .contents .s_goal05 {
	background-image: none;
}
main .contents .s_goal05 .s_goal0501 {
	display: inline-block;
	text-align: left;
}
.sp main .contents .s_goal05 .s_goal0501 {
	display: block;
}
main .contents .s_goal05 .s_goal0502 {
	padding-top: 50px;
	padding-right: 60px;
}
.sp main .contents .s_goal05 .s_goal0502 {
	padding: 25px 30px;
	background: url(../../business/goal/images/s_goal05.jpg) no-repeat center center;
	background-size: cover;
}
main .contents .s_goal05 li {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
	font-weight: bold;
}
main .contents .s_goal05 li ul {
	margin-top: 15px;
}
main .contents .s_goal05 li + li {
	margin-top: 25px;
}
main .contents .s_goal05 li li {
	margin-left: 12px;
	text-indent: -12px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .s_goal05 li li + li {
	margin-top: 5px;
}
main .contents .s_goal05 li li:before {
	content: "";
	display: inline-block;
	width: 3px;
	height: 3px;
	margin-left: 3px;
	margin-right: 6px;
	vertical-align: middle;
	background: #000000;
	border-radius: 50%;
}
main .contents .sublead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 28.8px;
	line-height: 1.8rem;
	font-weight: bold;
}
main .contents .performance_column {
	display: table;
	width: 100%;
}
main .contents .performance_column > div {
	display: table-cell;
	width: 50%;
}
main .contents .performance_column > div h2 {
	letter-spacing: -0.3px;
}
main .contents .performance_column .image img {
	width: auto;
}
.sp main .contents .performance_column {
	display: block;
}
.sp main .contents .performance_column > div {
	display: block;
	width: 100%;
}
.sp main .contents .performance_column > div + div {
	margin-top: 24px;
}
.sp main .contents .performance_column .image {
	width: 100%;
	margin-top: 20px;
}
.sp main .contents .performance_column .image img {
	width: 100%;
}
main .contents .image + .performance_column {
	margin-top: 72px;
}

#visual {
	position: relative;
	width: 100%;
	margin: 0px auto -20px;
	overflow: hidden;
}
#visual .stage {
	position: relative;
	width: 100%;
	max-width: 1920px;
	margin: auto;
	overflow: hidden;
	z-index: 5;
}
#visual .stage .wrap {
	width: 100%;
	padding-top: 41.5625%;
	perspective: 800px;
}
#visual .panel {
	position: absolute;
	width: 100%;
	height: auto;
	transition-timing-function: cubic-bezier(0.155, 1, 0.19, 1) !important;
}
#visual .panel img {
	display: block;
	width: 100%;
	height: auto;
}
#visual #panel01 {
	bottom: 0px;
	left: 0px;
	width: 20%;
	z-index: 6;
	transition: 1.0s 2.0s;
}
#visual #panel02 {
	top: 0px;
	right: 20%;
	width: 20%;
	z-index: 5;
	transition: 1.0s 2.2s;
}
#visual #panel03 {
	top: 0px;
	left: 0px;
	width: 40%;
	z-index: 4;
	transition: 1.3s 2.4s;
}
#visual #panel04 {
	bottom: 0px;
	right: 0px;
	width: 40%;
	z-index: 3;
	transition: 1.3s 2.6s;
}
#visual #panel05 {
	top: 0px;
	right: 0px;
	width: 100%;
	height: 33.33333%;
	background: #161075;
	z-index: 2;
	transition: 1.5s;
}
#visual #panel06 {
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 33.33333%;
	background: #008de2;
	z-index: 2;
	transition: 1.5s;
}
#visual #paneltext {
	top: 33.333333%;
	left: 20%;
	width: 40%;
	height: 33.333333%;
	background: #ffffff;
	z-index: 7;
	opacity: 1;
	transition: 1.2s 0.6s;
}
#visual #paneltext img {
	position: absolute;
	width: 73.177083333333333333333333333333%;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: 0.5s 2.0s;
}
#visual #paneltext2 {
	top: 33.333333%;
	left: 20%;
	width: 40%;
	height: 33.333333%;
	background: #ffffff;
	z-index: 7;
	transform: rotate3d(1, 0, 0, 90deg);
	opacity: 0;
}
#visual #paneltext2 img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 73.177083333333333333333333333333%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	transition: 0.5s 2.0s;
}

body.visual #visual div {
	-webkit-transition: 0s !important;
	transition: 0s !important;
}
body.visual #visual #panel01 {
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
body.visual #visual #panel02 {
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
body.visual #visual #panel03 {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}
body.visual #visual #panel04 {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
body.visual #visual #panel05 {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}
body.visual #visual #panel06 {
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
}
body.visual #visual #paneltext {
	transform: translateX(10%);
	opacity: 0;
}

body.visualtext #visual #paneltext {
	transform: rotate3d(1, 0, 0, -90deg);
	transition: 0.5s, 0s opacity 0.5s;
	transition-timing-function: ease-in !important;
	opacity: 0;
}
.sp body.visualtext #visual #paneltext {
	transform: none;
	transition: 1ms;
	opacity: 1;
}
body.visualtext #visual #paneltext2 {
	transform: none;
	transition: 0.7s 0.5s, 0s opacity 0.5s;
	transition-timing-function: cubic-bezier(0.045, 0.78, 0.5, 1) !important;
	opacity: 1;
}
.sp body.visualtext #visual #paneltext2 {
	transform: rotate3d(1, 0, 0, 90deg);
	transition: 1ms;
	opacity: 0;
}
body.visualtext #visual #panel05,
body.visualtext #visual #panel06 {
	-webkit-transition: 0s !important;
	transition: 0s !important;
}
.search_order_header {
     color: #FFF;
}

/*skr add 201712*/
/* for modern brouser */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
/* IE7,MacIE5 */
.clearfix {
  display: inline-block;
}
/* WinIE6 below, Exclude MacIE5 \*/
* html .clearfix {
  height: 1%;
}
.clearfix {
  display: block;
}
/**/
.datehead {
margin-top: 15px;
}
.datehead .sublead{
float:left;
}
.datehead .date{
float:right;
}

/*20180208 pagenate style*/
.pagenate{
	margin: 10px;
	text-align:center;
}
.pagenate li{
	display:inline-block;
	width:24px;
	height:24px;
	line-height:24px;
	margin: 0 2px;
}
.pagenate li span{
	display:block;
	line-height:24px;
	background-color:#008de2;
	border:1px solid #008de2;
	color:#FFF;
}
.pagenate li a{
	display:block;
	line-height:24px;
	background-color:#FFF;
	color:#000;
	text-decoration:none;
	border:1px solid #008de2;
}
.pagenate li a.link_next,
.pagenate li a.link_before{
	background-color:transparent;
	border:none;
}

/* 20190313 newsroom event */
.news_box.thumb_box {
	display: -webkit-flex;
	display: flex;
}
.news_box.thumb_box .thumb_box_img {
	width: 233px;
	height: 154px;
	overflow: hidden;
	text-align: center;
}
.news_box.thumb_box .thumb_box_img img {
	display: block;
	width: 100%;
	height: auto;
}
.news_box.thumb_box .thumb_box_text {
	width: calc(100% - 233px - 15px);
	margin-left: 15px;
}

.sp .news_box.thumb_box {
	display: block;
}
.sp .news_box.thumb_box .thumb_box_img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.sp .news_box.thumb_box .thumb_box_text {
	width: calc(100%);
	margin-left: 0px;
}

/* 20190313 top */
#news_top {
	/*background: #e5e5e5;*/
	background: #fff;
	border-top: 4px solid #b3b3b3;
}
#news_top > div {
	width: 100%;
	max-width: 1400px;
	margin: auto;
	padding: 20px 40px;
}
#news_top h2 {
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 34px;
	font-size: 2.125rem;
	line-height: 44.2px;
	line-height: 2.7625rem;
}
#news_top .news_top_title {
	margin: 40px 0px 10px 0px;
	padding: 10px 0px 10px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-box-align: end;
	-ms-flex-align: end;
	-webkit-align-items: flex-end;
	align-items: flex-end;
	min-height: 30px;
	border-bottom: 2px solid #008de2;
}
#news_top div.news_top_title:first-child {
	margin: 0px 0px 20px 0px;
}
#news_top .news_top_title h3 {
	margin: 0px;
	padding: 0px;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
	font-weight: bold;
}
#news_top .news_top_title p {
	margin: auto 0px;
	padding-right: 40px;
}
#news_top .news_top_title p a {
	/*display: -moz-inline-box;
	display: inline-block;
	padding-left: 24px;
	position: relative;
	color: #003399;*/
	position: relative;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: normal;
	color: #000000;
}
#news_top .news_top_title p a:after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 50%;
	right: -35px;
	margin-top: -12.5px;
	background: url(../images/linkicon.png) no-repeat center center #008de2;
	background-size: 6.3px 8.3px;
	border-radius: 50%;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
}
#news_top .news_top_list {
	margin-bottom: 20px;
}
#news_top .news_top_list .news_box {
	border-top: none;
	border-bottom: 1px solid #c1c1c1;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: flex-start;
	-ms-flex-align: flex-start;
	-webkit-align-items: flex-start;
	align-items: flex-start;
}
#news_top .news_top_list .news_box .date {
	width: 278px;
}
#news_top .news_top_list.none_label .news_box .date {
	width: 123px;
}
#news_top .news_top_list .news_box .link {
	margin-top: 0px;
	/*padding-left: 20px;*/
	width: calc(100% - 278px);
}

#news_top .news_top_list.news_top_thumb {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	margin: 20px 0px 20px 0px;
}
#news_top .news_top_list.news_top_thumb .news_box.thumb_box {
	border: none;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-box-align: normal;
	-ms-flex-align: normal;
	-webkit-align-items: normal;
	align-items: normal;
	width: calc(100% - 20px);
	/*border: 1px solid #ccc;*/
	padding: 20px;
	background: #ccc;
}
#news_top .news_top_list.news_top_thumb .news_box.thumb_box + .news_box.thumb_box {
	margin-left: 20px;
}
#news_top .news_top_list.news_top_thumb .news_box.thumb_box .date {
	width: auto;
}
#news_top .news_top_list.news_top_thumb .news_box.thumb_box .link {
	width: auto;
}

.sp #news {
	background: #fff;
}
.sp #news h2 {
	font-size: 32px;
	font-size: 2rem;
	line-height: 41.6px;
	line-height: 2.6rem;
	text-align: center;
	padding-top: 20px;
}
.sp #news .news_panel_none .spnews {
	position: static;
	height: auto;
}
.sp #news .news_panel_none .spnews li {
	position: static;
	width: 100%;
}
.sp #news .news_panel_none .spnews li img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}
.sp #news .news_panel_none .spnews li a {
	height: auto;
}
	