/* common */
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,700');
/*@font-face {
	font-family: "Montserrat";
	src: url(Montserrat.woff) format("woff");
}*/
body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	position: relative;
	-webkit-text-size-adjust: 100%;
}
/*　パンクズ　*/
.pankuzu {
	font-size: 12px;
	height: 50px;
	line-height: 50px;
	width: 96%;
	margin: 0 auto;
}
.pankuzu a {
	color: #0060af;
	font-family: Montserrat, "sans-serif";
	padding-right: 10px;
}
.pankuzu span {
	padding: 0 10px;
}
.pankuzu span a {
	color: #000000;
	padding-right: 0;
}
.pankuzu span a:hover {
	color: #0060af;
}
.wrapper {
	width: 100%;
	overflow: hidden;
}
.container {
	position: relative;
	padding-bottom: 150px;
}
.fade-up {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1000ms;
}
.fade-up.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}
/* ヘッダーカレント */
#company .company:before, #business .business:before, #personal .personal:before, #news .news:before {
	width: 100%;
}
/* btn */
.a-btn {
	display: inline-block;
	position: relative;
	padding-top: 0.25em;
	padding-right: 24px;
	padding-bottom: 0.25em;
	padding-left: 24px;
	font-weight: 200;
	border: 1px solid #ebeced;
	font-size: 15px;
	text-align: center;
	vertical-align: top;
	-webkit-transition: all .3s;
	transition: all .3s;
	box-sizing: border-box;
	overflow: hidden;
}
.a-btn:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.1);
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.a-btn:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
.a-btn span::before, .a-btn span::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.a-btn span::before {
	width: 11px;
	height: 11px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
.a-btn span::after {
	right: 12px;
	box-sizing: border-box;
	width: 4px;
	height: 5px;
	border: 2px solid transparent;
	border-left: 3px solid #0d68b3;
}
.a-btn>span {
	letter-spacing: 0.07em;
	display: block;
	padding: 8px 0;
	position: relative;
	z-index: 1;
}
/* container */
.a-container {
	max-width: 1900px;
	position: relative;
	margin-left: auto;
	margin-right: auto;
}
.a-container__inner {
	position: relative
}
.a-container--full-h {
	height: 100%
}
.a-container--full-h .a-container__inner {
	height: 100%
}
/* heade_menu */
.header_menu {
	height: 105px;
}
.a-btn--more {
	display: block;
	padding: 0;
	width: 80%;
	margin: 0 auto;
	color: #ffffff;
}
/* hover border */
.is-border-hover {
	display: inline-block;
	position: relative;
	vertical-align: top;
}
.is-border-hover>span {
	color: #000000;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.7;
}
.is-border-hover[target="_blank"] >span:after {
	position: absolute;
	top: 20%;
	right: -15px;
	content: "";
	background: url(/common/img/blank_icon02.png) no-repeat;
	background-size: contain;
	width: 9px;
	height: 9px;
}
.m-gnav__item:before {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: "width";
	transition-property: "width";
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	display: block;
	width: 0%;
	height: 0;
	position: absolute;
	bottom: -4px;
	left: 0;
	border-top: 4px solid #0060af;
	content: ' ';
}
.m-gnav__item:hover:before {
	width: 73%;
}
.is-border-hover>span>span {
	display: block;
	font-family: Montserrat, "sans-serif";
	color: #0060af;
	font-size: 10px;
	font-weight: bold;
}
.a-photo {
	display: block;
}
.a-photo--img img {
	width: 100%;
	height: auto;
	vertical-align: top
}
.a-photo--img-mw100 img {
	max-width: 100%;
	height: auto;
	vertical-align: top
}
.a-photo--bg {
	/* background-size: cover; */
	background-position: center center;
	background-repeat: no-repeat;
}
.m-card:hover .a-photo--bg img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.a-photo--bg img {
	/* display: none */
	width: 100%;
	-webkit-transition: all .6s;
	transition: all .6s;
}
.a-photo--rect-large {
	padding-top: 43.1309904153%
}
.a-photo--rect-medium {
	padding-top: 80.2675585284%
}
.a-photo--banner {
	padding-top: 49.0196078431%
}
.a-photo--product {
	padding-top: 73.5294117647%
}
.a-photo--slide-thumb {
	padding-top: 60%
}
.a-photo--square {
	padding-top: 100%
}
.a-photo--has-sc-animate {
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	-webkit-transition-duration: 1s;
	transition-duration: 1s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1)
}
.a-photo--has-op-animate {
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 0.65s;
	transition-duration: 0.65s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
p.m-card__caption {
	position: relative;
	padding-left: 25px;
	font-size: 15px;
	font-weight: 600;
	line-height: 36px;
}
p.m-card__caption::before, p.m-card__caption::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
p.m-card__caption::before {
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
p.m-card__caption::after {
	left: 5px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 5px solid #0d68b3;
}
p.m-card__caption span {
	width: 9px;
	height: 9px;
	display: inline-flex;
	margin-left: 7px;
}
p.m-card__caption span img {
	width: 100%;
	height: auto;
}
.m-card {
	display: block
}
.m-card__fig {
	position: relative;
	overflow: hidden
}
.m-card__fig.is-has-border {
	border: 1px solid #ececec
}
.m-card__caption {
	margin-top: 15px
}
.m-card__caption--v-xlarge {
	margin-top: 25px
}
.m-card__caption--v-large {
	margin-top: 20px
}
.m-card__caption--v-small {
	margin-top: 10px
}
.m-card__caption--v-xsmall {
	margin-top: 5px
}
.m-card__caption .a-lead {
	font-weight: 400
}
.m-card__caption .a-lead--light {
	font-weight: 200
}
.m-card__btn {
	margin-top: 14px;
	text-align: center
}
.m-card.is-blank--large .m-card__fig:after {
	font-size: 18px
}
.m-card.is-blank--gray .m-card__fig:after {
	color: #666666
}
.m-card.is-blank--bg-grey .m-card__fig:after {
	padding: 10px;
	background: rgba(0,0,0,0.5)
}
.m-gnav {
	height: 100%;
}
.m-gnav__contents {
	display: table;
	height: 100%;
	float: right;
}
.m-gnav__item {
	display: table-cell;
	padding-right: 34px;
	vertical-align: middle;
	position: relative;
	cursor: pointer;
}
.m-gnav__item--search {
	font-size: 25px;
	padding-right: 0
}
.contact {
	background: #005faf;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
.contact a {
	padding: 15px 12px;
	display: block;
	z-index: 2;
	position: relative;
}
.contact:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.1);
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
.contact:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
.contact a span {
	color: #ffffff !important;
	display: block;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.7;
}
.contact a>span>span {
	display: block;
	font-family: Montserrat, "sans-serif";
	color: #0060af;
	font-size: 10px;
	font-weight: bold;
}
.contact a img {
	display: block;
	margin: 0 auto 10px;
}
.m-gsub-btns__item+.m-gsub-btns__item {
	margin-top: 20px
}
.m-gsub-btn {
	width: 23.232%;
	max-width: 220px;
	float: left;
}
.m-gsub-btn+.m-gsub-btn {
	margin-left: 2.3%;/* margin-left: 20px; */
}
.m-gsub-btn--2col {
	width: 46.8292682927%
}
.m-gsub-btn--2col .a-photo {
	padding-top: 27.0833333333%
}
.m-gsub-btn--2col+.m-gsub-btn {
	margin-left: 6.3414634146%
}
.m-gsub-btn--know .a-photo {
	padding-top: 39.755351682%
}
header .logo {
	position: absolute;
	top: 34px;
	left: 25px;
	z-index: 2;
}
header .logo img {
	width: 250px;
	height: auto;
}
.main-wrapper {
	width: 855px;
	float: right;
}
.gnav-wrapper {
	position: relative;
}
.gnav {
	display: flex;
	justify-content: space-between;
}
.gnav li {
	display: block;
}
.gnav li .border {
	position: relative;
	cursor: pointer;
}
.gnav li .border:before {
	-webkit-transform-style: preserve-3d;
	transform-style: preserve-3d;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: "width";
	transition-property: "width";
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	display: block;
	width: 0%;
	height: 0;
	position: absolute;
	bottom: -4px;
	left: 0;
	border-top: 4px solid #0060af;
	content: ' ';
}
.gnav li .border:hover:before {
	width: 100%;
}
.gnav li:hover {
	cursor: pointer;
}
.is-border-hover {
	padding: 27px 0;
}
.is-border-hover[target="_blank"] >span:after {
	top: 35px;
}
.megamenu .nav_head {
	display: table-cell;
	vertical-align: middle;
	color: #ffffff;
	width: 180px;
	text-align: center;
}
.megamenu .nav_head h2 {
	font-size: 24px;
	line-height: 36px;
	font-weight: 600;
	margin-bottom: 30px;
}
.megamenu {
	display: none;
	z-index: 9999;
	position: absolute;
	top: 100px;
	left: 0;
	width: 100%;
	background: #0d68b3;
	padding: 40px 0 20px;
}
.megamenu.active {
	display: block;
}
.megemenu-block {
	display: table;
	width: 63%;
	width: 1200px;
	margin: 0 auto;
}
.megamenu-inner {
	/* display: flex; */
			 /* float: right; */
			/* display: table-cell;*/
	padding-left: 6%;
}
.megamenu-inner li {
	width: 23.232%;
	max-width: 220px;
	float: left;
	padding: 0;
}
.megamenu-inner li:hover {
	border-bottom: none;
}
.megamenu-inner li+li {
	margin-left: 2.3%;
}
.megamenu-inner a {
	display: block;
	z-index: 2;
}
.megamenu-inner-img {
	position: relative;
	overflow: hidden;
}
.megamenu-inner-img p {
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 0.65s;
	transition-duration: 0.65s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	background-position: center center;
	background-repeat: no-repeat;
}
.megamenu-inner-img p img {
	/* display: none; */
	width: 100%;
	-webkit-transition: all .6s;
	transition: all .6s;
}
.megamenu-inner li a:hover .megamenu-inner-img p img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.ios .megamenu-inner li a:hover .megamenu-inner-img p img {
	-webkit-transform: none;
	transform: none;
}
.megamenu-inner-text {
	position: relative;
	padding-left: 25px;
	font-size: 15px;
	font-weight: 600;
	line-height: 36px;
	color: #ffffff;
}
.megamenu-inner-text::before, .megamenu-inner-text::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.megamenu-inner-text::before {
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
.megamenu-inner-text::after {
	left: 5px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 5px solid #0d68b3;
}
.megamenu-inner-text span {
	width: 9px;
	height: 9px;
	display: inline-flex;
	margin-left: 7px;
}
.megamenu-inner-text span img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
.gnav-wrapper {
	display: none;
}
.header_top {
	height: 55px !important;
	min-width: 100%;
	position: relative;
}
header .logo {
	top: 14px !important;
	left: 0;
	position: absolute;
	top: 34px;
	left: 25px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: top;
	transition-property: top;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	z-index: 2;
}
header .logo img {
	width: 160px;
	height: auto;
}

}
.o-gheader {
	position: fixed;
	width: 100%;
	height: 100px;
	z-index: 1000;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: height, background-color, color;
	transition-property: height, background-color, color;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	background: #ffffff;
	border-top: 4px solid #0060af;
	outline: 5px solid #f1f2f3;
	box-sizing: border-box;
	/* width: 1200px; */
	min-width: 1200px;
}
.o-gheader::before {
	content: "";
	display: block;
	position: absolute;
	width: calc(100% + 2px);
	min-height: 100%;
	border-bottom: 1px solid #dddddd;
}
.o-gheader__gnav {
	height: 100%;
	position: relative;
}
.o-gheader__gsub-navs {
	position: relative;
}
.o-gheader__gsub-nav {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999;
}
.o-gheader__search {
	width: 100%;
	position: absolute;
	top: 0;
	left: 0
}
.o-gheader__logo {
	position: absolute;
	top: 34px;
	left: 25px;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transition-property: top;
	transition-property: top;
	-webkit-transition-duration: .4s;
	transition-duration: .4s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	z-index: 2;
}
.o-gheader__logo a {
	display: block;
	cursor: pointer;
}
.o-gheader__logo img {
	width: 250px;
	height: auto;
}
.o-gheader.is-divider {
	border-bottom: 1px solid #f3f3f3
}
.o-gheader.is-inverted {
	color: #000;
	background-color: rgba(255,255,255,0.9)
}
.o-gheader.is-inverted .o-gheader__logo svg path {
	fill: #000
}
.o-gheader.is-inverted .o-gheader__opener svg path {
	fill: #000
}
.o-gheader.is-bg-dark {
	color: #fff;
	background-color: rgba(0,0,0,0.5)
}
.o-gheader.is-bg-dark .o-gheader__logo svg path {
	fill: #fff
}
.o-gheader.is-bg-dark .o-gheader__opener svg path {
	fill: #fff
}
.o-gheader.is-bg-white {
	color: #000;
	background-color: #ffffff
}
.o-gheader.is-bg-white .o-gheader__logo svg path {
	fill: #000
}
.o-gheader.is-bg-white .o-gheader__opener svg path {
	fill: #000
}
.o-gsub-nav {
	/* height:0; */
	overflow: hidden;
	-webkit-transition-property: height;
	transition-property: height;
	-webkit-transition-duration: 0.08s;
	transition-duration: 0.08s;
	-webkit-transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
	transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}
.o-gsub-nav__contents {
	padding: 40px 0 20px;
	padding-bottom: 20px;
	background-color: #0d68b3;
	color: #ffffff;
	margin-top: 5px;
}
.o-gsub-nav__main {
	display: table;
	width: 63%;
	width: 1200px;
	margin: 0 auto;
}
.o-gsub-nav__main>* {
	display: table-cell;
	vertical-align: top
}
.o-gsub-nav__header {
	width: 14.625%;
	width: 180px;
	text-align: center;
	vertical-align: middle;
}
.m-subnav-header__h {
	font-size: 24px;
	line-height: 36px;
	font-weight: 600;
	margin-bottom: 30px;
}
.o-gsub-nav__body {
	padding-left: 8.515625%;
}
.o-gsub-nav.is-show {
	-webkit-transition-duration: 0.45s;
	transition-duration: 0.45s
}
#main {
	width: 930px;
	float: left;
	padding: 60px 60px 95px 0;
	background-color: #fff;
	border-right: 1px solid #dddddd;
	box-sizing: border-box;
}
.sidemenu {
	width: 270px;
	float: right;
	position: relative;
	top: -60px;
	margin-bottom: -60px;
}
#sidebar p.ttl {
	cursor: pointer;
	position: relative;
	overflow: hidden;
	background: #0060af;
}
#sidebar p.ttl:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.1);
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
#sidebar p.ttl:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
#sidebar p.ttl a {
	/* background: #0060af; */
	color: #ffffff;
	font-size: 20px;
	font-weight: 600;
	padding: 50px 10px 50px 20px;
	position: relative;
	display: block;
	cursor: pointer;
	z-index: 2;
}
#sidebar p a::before, #sidebar p a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#sidebar p a::before {
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
#sidebar p a::after {
	right: 12px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 5px solid #0d68b3;
}
#sidenavi {
/* padding-bottom: 170px; */
	/* border-left: 1px solid #dddddd; */
}
#sidenavi li.current-cat p {
	background: #68a3d2;
}
#sidenavi .accordion_icon {
	display: none;
}
#sidenavi li p {
	padding: 20px;
	font-size: 16px;
	font-weight: 300;
	color: #fff;
	position: relative;
	background: #00437a;
}
#sidenavi li.link p {
	padding: 0;
}
#sidenavi li.link {
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
#sidenavi li.link:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #68a3d2;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
#sidenavi li.link:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
#sidenavi li.link p a {
	padding: 20px;
	display: block;
	position: relative;
	z-index: 2;
}
#sidenavi li ul li {
	border-top: 1px dotted #dddddd;
}
#sidenavi li ul li a {
	display: block;
	padding: 20px 20px 20px 50px;
	font-size: 13px;
	position: relative;
	z-index: 2;
}
#sidenavi li ul li {
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
#sidenavi li ul li.current-cat:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
#sidenavi li ul li:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #f1f2f3;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
#sidenavi li ul li:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
#sidenavi li ul li a::before, #sidenavi li ul li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 25px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#sidenavi li ul li a::before {
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #0d68b3;
}
#sidenavi li ul li a::after {
	left: 30px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 5px solid #ffffff;
}
.o-gnav-sp {
	display: none;
}
 @-moz-document url-prefix() {
 .o-gheader {
 outline: none;
 border-bottom: solid #f1f2f3 4px;
 box-sizing: content-box;
}
 .contact {
 height: 100px;
}
 .o-gsub-nav {
 background: #0060af;
 margin-top: 4px;
}
}

/* pc */
@media screen and (min-width: 1024px) {
.pc {
	display: block;
}
.sp {
	display: none;
}
body {
	min-width: 1200px;
	position: relative;
	overflow-x: hidden;
}
.o-gnav-sp {
	display: none;
}
.m-card:hover .a-btn--more:before {
	width: 100%
}
a.m-card:hover .is-angle-hover>span>span:after {
	-webkit-transform: translateX(5px);
	transform: translateX(5px)
}
a.m-card:hover .a-photo--has-sc-animate {
	-webkit-transform: scale(1.05);
	transform: scale(1.05)
}
.o-gheader {
	min-width: 1200px;
}
.a-container {
/* min-width: 1200px; */
}
}
 @supports (-ms-ime-align:auto) {
}

@media screen and (max-width: 1024px) {
.pc {
	display: block;
}
.sp {
	display: none;
}
}

@media screen and (max-width: 1024px) {
.m-gnav__item {
/* padding-right: 10px; */
}
.fade-up {
	opacity: 1;
}
.m-gnav__contents .company a,  .m-gnav__contents .business a,  .m-gnav__contents .personal a {
/*pointer-events: none;*/
}
.a-photo--has-op-animate {
	-webkit-transition-property: inherit;
	transition-property: inherit;
	-webkit-transition-duration: inherit;
	transition-duration: inherit;
	-webkit-transition-timing-function: inherit;
	transition-timing-function: inherit;
}
.a-photo--bg img {
	-webkit-transition: inherit;
	transition: inherit;
}
.m-card:hover .a-photo--bg img {
	-webkit-transform: inherit;
	transform: inherit;
}
}
/* sp menu*/
.o-gheader__opener {
	display: none;
	position: absolute;
	right: 10px;
	top: 19%;
	margin-top: -15px;
	background: #0060af;
	width: 53px;
	height: 53px;
}
.a-opener {
	display: block;
	cursor: pointer
}
.a-opener, .a-opener span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.a-opener {
	position: relative;
	top: 35%;
	width: 22px;
	height: 16px;
	margin: 0 auto;
	display: block;
}
.a-opener span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #fff;
}
.a-opener span:nth-of-type(1) {
	top: 0;
}
.a-opener span:nth-of-type(2) {
	top: 7px;
}
.a-opener span:nth-of-type(3) {
	bottom: 0;
}
.a-opener.is-open span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-45deg);
	transform: translateY(6px) rotate(-45deg);
}
.a-opener.is-open span:nth-of-type(2) {
	opacity: 0;
}
.a-opener.is-open span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}
.a-opener__closer {
	display: none
}
.a-opener.is-open .a-opener__closer {
	display: inline
}
.a-opener.is-open .a-opener__opener {
	display: none
}

/* tb */
@media screen and (max-width: 980px) {
html, body {
	min-width: 1200px;
}
.o-gheader__opener {
/* display: block; */
		/* margin-top: 0; */
}
.o-gnav-sp {
	left: 0;
	display: none;
}
.a-container {
}
}

@media screen and (max-width: 767px) {
html, body {
	min-width: 100%;
}
.pankuzu {
	display: none;
}
.pc {
	display: none;
}
.sp {
	display: block;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
}
.o-gheader__gnav {
	display: none;
}
.o-gnav-sp {
	background: #0060af;
	display: block;
}
.o-gnav-sp {
	z-index: 999;
	position: fixed;
	top: -500px;
	right: 0;
	width: 100%;
	padding: 0;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	height: 0;
}
.o-gnav-sp__content {
	width: 100%;
	height: 100%;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
.o-gnav-sp__ctas {
	display: table;
	width: 100%;
	height: 50px;
	table-layout: fixed
}
.o-gnav-sp__ctas>* {
	display: table-cell
}
.o-gnav-sp__ctas__item {
	background-color: #efefef;
	font-size: 14px;
	font-weight: 400;
	text-align: center;
	vertical-align: middle
}
.o-gnav-sp__ctas__item+.o-gnav-sp__ctas__item {
	border-left: 1px solid #ffffff
}
.o-gnav-sp__btns {
	background-color: #0060af;
}
.o-gnav-sp__btn {
	position: relative;
	height: 60px;
	font-size: 14px;
	border-bottom: 1px solid #4d90c7;
	box-sizing: border-box;
}
.contact_sp {
	width: 84%;
	margin: 10% auto 30%;
	background: #ffffff;
}
.contact_sp a {
	padding: 5% 0;
}
.contact_sp a span {
	color: #000000;
	display: block;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1.7;
	padding: 0;
}
.contact_sp a>span>span {
	display: block;
	font-family: Montserrat, "sans-serif";
	color: #0060af;
	font-size: 12px;
	font-weight: bold;
}
.contact_sp a img {
	display: block;
	margin: 0 auto 2%;
	width: 6.5%;
}
.o-gnav-sp__btn__main {
	/* border-bottom: 1px solid #dedede; */
	position: relative;
}
.o-gnav-sp__btn__main.is-current {
	color: #0073c5;
	border-bottom-color: #0073c5
}
.o-gnav-sp__btn__parent {
	/* display: inline-block; */
	display: block;
	position: relative;
	line-height: 58px;
	font-weight: 400;
	color: #ffffff;
}
.o-gnav-sp__btn__parent[target="_blank"] {
	/* color: #1E88E5; */
	text-decoration: none;
}
.o-gnav-sp__btn__parent[target="_blank"]::after {
	position: absolute;
	top: 20px;
	right: 2px;
	content: "";
	background: url(/common/img/blank_icon_sp.png) no-repeat;
	background-size: 50% auto;
	/* display: inline-block; */
	width: 22px;
	height: 22px;
}
.o-gnav-sp__btn__parent span {
	padding-left: 10px;
	font-size: 16px;
	font-weight: 600;
}
.o-gnav-sp__btn__parent span>span {
	font-family: Montserrat, "sans-serif";
	color: #68a3d2;
	font-size: 12px;
	font-weight: bold;
}
.accordion_icon, .accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordion_icon {
	position: absolute !important;
	top: 20px;
	right: 5px;
	width: 25px;
	height: 25px;
	float: right;
	z-index: 2;
}
.accordion_icon span {
	position: absolute;
	left: 6px;
	width: 50%;
	height: 2px;
	background-color: #ffffff;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
	top: 10px;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
	top: 10px;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
}
.is-current .accordion_icon span:nth-of-type(1) {
	display: none;
}
.is-current .accordion_icon span:nth-of-type(2) {
	top: 10px;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}
.o-gnav-sp__children {
	background-color: #00437a;
}
.o-gnav-sp__children__main {
	max-height: 0;
	overflow-y: hidden;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
}
.o-gnav-sp__children.is-show {
	background: #00437a;
}
.o-gnav-sp__children.is-show .a-container {
	padding: 0;
}
.o-gnav-sp__children.is-show .o-gnav-sp__children__main {
	max-height: 400px;
}
.o-gnav-sp__child {
	display: table;
	width: 100%;
	height: 50px;
	border-bottom: 1px solid #4d7ca2;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	color: #ffffff;
	text-align: center;
	padding: 3% 0;
}
.o-gnav-sp__child span img {
	display: block;
	width: 23.4%;
	margin: 0 auto 7%;
}
.o-gnav-sp__child span::before, .o-gnav-sp__child span::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.o-gnav-sp__child span::before {
	width: 13px;
	height: 13px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
.o-gnav-sp__child span::after {
	right: 11px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 4px solid #0d68b3;
}
.o-gnav-sp__child[target="_blank"]::after {
	position: absolute;
	top: 35%;
	right: 10px;
	content: "";
	background: url(/common/img/blank_icon04.png) no-repeat;
	background-size: 100% auto;
	width: 13px;
	height: 13px;
}
.o-gnav-sp__child[target="_blank"] span::after, .o-gnav-sp__child[target="_blank"] span::before {
	display: none;
}
.o-gnav-sp__child>* {
	display: table-cell;
	position: relative;
	vertical-align: middle
}
.o-gnav-sp__child small {
	font-size: 80%
}
.o-gnav-sp__child--light {
	font-weight: 200
}
.o-gnav-sp__child--2col {
	width: 49.8%;
	float: left;
	position: relative;
}
.o-gnav-sp__child--2col + .o-gnav-sp__child--2col {
	border-left: 1px solid #4d7ca2;
}
.o-gnav-sp__child--2col+.o-gnav-sp__child--2col {
	float: right;
	position: relative;
}
.o-gnav-sp__footer {
	padding-top: 25px;
	padding-bottom: 25px;
	background-color: #ffffff
}
.o-gnav-sp__search {
	position: relative
}
.o-gnav-sp__search input {
	display: block;
	width: 100%;
	height: 45px;
	padding: 0 1em;
	border: 1px solid #efefef;
	border-radius: 0;
	outline: 0;
	line-height: 45px;
	-webkit-box-shadow: none;
	box-shadow: none;
	-webkit-appearance: none;
	font-size: 16px
}
.o-gnav-sp__search__btn {
	display: block;
	width: 45px;
	height: 45px;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 20px;
	text-align: center;
	line-height: 45px;
	cursor: pointer
}
.o-gnav-sp__langs {
	margin-top: 18px
}
.o-gnav-sp.is-show {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-top: 60px;
}
.o-gnav-sp.is-show .o-gnav-sp__content {
}
body {
	font-size: 12px;
	position: relative;
}
.container {
	padding-bottom: 30%;/* margin-top: 50px; */
}
#main {
	width: 100%;
	float: none;
	margin-top: 10%;
	padding: 0 0 95px 0;
	background-color: #fff;
	border-right: none;
}
.sidemenu.open {
	background: #ffffff;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
	margin-top: 60px;
	z-index: 998;
}
.sidemenu.open #sidebar {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
}
.sidemenu.open #sidenavi {
	padding-bottom: 65%;
}
.fixed {
	position: fixed;
	overflow: hidden;
	height: 120%;
}
.sidemenu {
	position: absolute;
	top: 60px;
	left: 0;
	width: 100%;
	z-index: 2;/* background: #ffffff; */
}
#sp_menu_btn {
	color: #444444;
	font-size: 14px;
	font-weight: 300;
	padding: 3% 5%;
	cursor: pointer;
}
#sp_menu_btn p {
	width: 15px;
	height: 11px;
	display: inline-block;
	position: relative;
	margin-right: 2%;
}
#sp_menu_btn span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #0060af;
	transition: all .4s;
}
#sp_menu_btn span:nth-of-type(1) {
	top: 0;
}
#sp_menu_btn span:nth-of-type(2) {
	top: 5px;
}
#sp_menu_btn span:nth-of-type(3) {
	bottom: 0;
}
#sp_menu_btn.active span:nth-of-type(1) {
	-webkit-transform: translateY(5px) rotate(-45deg);
	transform: translateY(5px) rotate(-45deg);
}
#sp_menu_btn.active span:nth-of-type(2) {
	opacity: 0;
}
#sp_menu_btn.active span:nth-of-type(3) {
	-webkit-transform: translateY(-5px) rotate(45deg);
	transform: translateY(-5px) rotate(45deg);
}
#sidebar {
	width: 100%;
	height: 100%;
	float: none;
	/* position: inherit; */
	top: 0;
	margin-bottom: 0;
	display: none;
}
#sidebar p.ttl a {
	font-size: 16px;
	padding: 3% 4%;
}
#sidebar p.ttl a span {
	display: inline-block;
}
#sidebar p a::before, #sidebar p a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 12px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#sidebar p a::before {
	width: 11px;
	height: 11px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #ffffff;
}
#sidebar p a::after {
	right: 14px;
	box-sizing: border-box;
	width: 4px;
	height: 5px;
	border: 2px solid transparent;
	border-left: 3px solid #0d68b3;
}
#sidenavi {
	padding-bottom: 0;
	cursor: pointer;
	border-left: none;
}
#sidenavi li {
	position: relative;
	border-bottom: 1px solid #ffffff;
}
#sidenavi li .accordion_icon {
	top: 8px;
	display: block;
	padding: 0;
}
#sidenavi li .active .accordion_icon span:nth-of-type(1) {
	display: none;
}
#sidenavi li .active .accordion_icon span:nth-of-type(2) {
	top: 10px;
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}
#sidenavi li.current-cat p {
}
#sidenavi li p {
	padding: 2% 4%;
}
#sidenavi li.link p {
	padding: 0;
}
#sidenavi li.link p a {
	padding: 2% 4%;
}
#sidenavi li ul li {
	border-top: 1px dotted #dddddd;
}
#sidenavi li ul li a {
	display: block;
	padding: 3% 10%;
	font-size: 14px;
	position: relative;
	z-index: 2;
}
#sidenavi li ul {
	display: none;
}
#sidenavi li ul li {
	cursor: pointer;
	position: relative;
	overflow: hidden;
}
#sidenavi li ul li.current-cat:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: visible;
}
#sidenavi li ul li:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #f1f2f3;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
	visibility: hidden;
	-webkit-transition: all .4s;
	transition: all .4s;
}
#sidenavi li ul li:hover:after {
	-webkit-transform: translateY(0);
	transform: translateY(0);
	visibility: hidden;
}
#sidenavi li ul li a::before, #sidenavi li ul li a::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 12px;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#sidenavi li ul li a::before {
	width: 11px;
	height: 11px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #0d68b3;
}
#sidenavi li ul li a::after {
	left: 16px;
	box-sizing: border-box;
	width: 4px;
	height: 5px;
	border: 2px solid transparent;
	border-left: 3px solid #ffffff;
}
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* z-index: 99999; */
	background-color: #fff;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;/* opacity: 0.7; */
}
.a-btn {
	padding-top: 0.3em;
	padding-bottom: 0.3em;
	font-size: 13px;
	font-weight: 400
}
.a-container {
	padding-right: 0;
	padding-left: 10px;
	min-width: 100%;
}
.header_menu {
	height: 55px;
}
.m-card__caption--v-small {
	margin-top: 5px
}
.m-card--sp-2col {
	width: 48.5915492958%
}
.m-card--sp-2col+.m-card {
	margin-left: 0
}
.m-card--sp-2col:nth-child(odd) {
	clear: both
}
.m-card--sp-2col:nth-child(even) {
	margin-left: 2.8169014085%
}
.m-card--sp-2col:nth-child(n+3) {
	margin-top: 2.8169014085%
}
.o-gheader {
	height: 55px !important;
	min-width: 100%;
}
.o-gheader__logo {
	top: 14px !important;
	left: 0;
}
.o-gheader__logo img {
	width: 160px;
	height: auto;
}
.o-gheader__opener {
	margin-top: -12px;
	display: block;
	right: 0;
}
.o-gnav-sp {
/* padding-top: 60px !important; */
}
}
/* footer */





footer {
	background: #f1f2f3;
	border-top: 1px solid #dddddd;
	min-width: 1200px;
}
.footer_inner {
	margin: 0 auto;
	/* padding: 45px 0; */
	border-top: 1px solid #ffffff;
}
.access {
	width: 285px;
	float: left;
	padding: 45px 0 45px 25px;
}
.access .logo img {
	width: 250px;
	height: auto;
	margin-bottom: 40px;
}
.access p {
	font-family: Montserrat, "sans-serif";
	font-size: 13px;
	color: #888888;
	font-weight: lighter;
	line-height: 2.1;
	margin-bottom: 30px;
}
.access p span.co_name {
	font-size: 14px;
	color: #000000;
	font-weight: 600;
	display: block;
}
.access p span {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 300;
}
.access .sns li {
	display: inline-block;
}
.access .sns li:hover {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
.access .sns li+li {
	padding-left: 5px;
}
.access .sns li img {
	display: block;
	width: 40px;
	height: auto;
}
.linkBlock {
	width: 840px;
	float: right;
	padding: 45px 0 45px 49px;
	border-left: 1px solid #dddddd;
}
.linkBlock a:hover {
	opacity: .7;
}
.linkBlock ul li {
	position: relative;
	padding-right: 15px;
}
.linkBlock ul li a[target="_blank"] {
	text-decoration: none;
}
.linkBlock ul li a[target="_blank"]::after {
	position: absolute;
	top: 35%;
	right: 2px;
	content: "";
	background: url(/common/img/blank_icon02.png) no-repeat;
	background-size: contain;
	width: 9px;
	height: 9px;
}
.linkBlock .fnav {
	border-bottom: 1px solid #dddddd;
	padding-bottom: 40px
}
.linkBlock .fnav2 {
	padding-top: 40px
}
.linkBlock ul+ul {
	padding-top: 20px;
}
.linkBlock .fnav li, .linkBlock .fnav2 li {
	display: inline-block;
}
.linkBlock .fnav li.arrow_icon {
	position: relative;
	font-size: 15px;
	font-weight: 600;
	color: #333333;
	border: none;
	padding-left: 25px;
}
.linkBlock .fnav ul:last-child li.arrow_icon {
	margin-right: 30px;
}
.linkBlock .fnav ul li.arrow_icon {
	margin-right: 0;
}
.linkBlock .fnav li.arrow_icon::before, .linkBlock .fnav li.arrow_icon::after {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.linkBlock .fnav li.arrow_icon::before {
	width: 15px;
	height: 15px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #0d68b3;
}
.linkBlock .fnav li.arrow_icon::after {
	left: 5px;
	box-sizing: border-box;
	width: 5px;
	height: 7px;
	border: 3px solid transparent;
	border-left: 5px solid #ffffff;
}
.linkBlock .fnav ul:first-child li ul li:first-child {
	padding-left: 0;
}
.linkBlock .fnav ul li ul li a[target="_blank"] {
	text-decoration: none;
	display: block;
	padding-right: 15px;
}
.linkBlock .fnav ul li ul li a[target="_blank"]::after {
	position: absolute;
	right: 17px;
	background: url(/common/img/blank_icon03.png) no-repeat;
	background-size: contain;
	width: 7px;
	height: 7px;
}
.linkBlock .fnav li {
	font-size: 13px;
	font-weight: 300;
	color: #888888;
}
.linkBlock .fnav li {
	border-right: 1px solid #888888;
	padding: 0 14px;
}
.linkBlock .fnav li:last-child {
	border: none;
}
.linkBlock .fnav ul li ul {
	float: right;
	margin-left: 30px;
}
.linkBlock .fnav2 li {
	font-size: 14px;
	font-weight: 300;
	color: #333333
}
.linkBlock .fnav2 li+li {
	padding: 0 15px;
}
.copyright {
	background: #0060af;
	font-family: Montserrat, "sans-serif";
	font-size: 13px;
	text-align: center;
	color: #bbbbbb;
	font-weight: lighter;
	height: 70px;
	line-height: 70px;
	min-width: 1200px;
}

@media screen and (min-width: 1024px) {
.footer_inner {
	width: 1200px;
}
}

@media screen and (max-width: 767px) {
footer {
	min-width: 100%;
}
.footer_inner {
	width: 100%;
}
.access, .linkBlock {
	width: 100%;
	float: none;
}
.access {
	text-align: center;
	border-bottom: 1px solid #dddddd;
	padding: 10% 0;
}
.access .logo img {
	width: 50%;
	margin: 0 auto 5%;
}
.linkBlock {
	border: none;
	padding: 0;
}
.linkBlock .fnav {
	display: none;
}
.linkBlock ul {
	font-size: 0;
}
.linkBlock ul+ul {
	padding: 0;
}
.linkBlock .fnav2 {
	padding: 0;
}
.linkBlock .fnav2 li {
	width: 49.8%;
	padding: 0;
	border-bottom: 1px solid #dddddd;
	border-right: 1px solid #dddddd;
	font-size: 12px;
}
.linkBlock .fnav2 li:nth-child(even) {
	border-right: none;
}
.linkBlock .fnav2 li+li {
	padding: 0;
}
.linkBlock .fnav2 li a {
	display: block;
	padding: 8% 5% 08%;
}
.linkBlock ul li a[target="_blank"]::after {
	position: absolute;
	top: 40%;
	right: 2px;
	content: "";
	background: url(/common/img/blank_icon02.png) no-repeat;
	background-size: 50% auto;
	width: 14px;
	height: 14px;
}
.copyright {
	min-width: 100%;
}
}

@media screen and (max-width: 767px) {
.access .logo img {
	width: 50%;
}
}

@media screen and (max-width: 320px) {
.linkBlock .fnav2 li {
	letter-spacing: -0.1em;
}
.o-gnav-sp__child {
	font-size: 14px;
}
}
/*トップへ戻るボタン*/
.topBtn {
	position: absolute;
	bottom: 20px;
	right: 20px;
}
.topBtn img {
	width: 79px;
	height: 97px;
}
.topBtn:hover {
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
.topBtn {
	width: 50px;
	height: auto;
}
.topBtn img {
	width: 100%;
	height: auto;
}
}
