@charset "utf-8";
@import url("cmn_pc.css");

@media print {
body {
	-webkit-print-color-adjust: exact !important;
}
}
/* ///////////////////////////////////////////////////////////////////

init

/////////////////////////////////////////////////////////////////// */
body {
	color: #666;
	background-size: cover;
	font-size: 14px;
	line-height: 1.8;
	font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	letter-spacing: 0.05em;
}
a:link,
a:visited {
	color: #666;
	text-decoration: none;
}
#container {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding: 57px 0 0 0;
}
/* ///////////////////////////////////////////////////////////////////

page animation

/////////////////////////////////////////////////////////////////// */
body {
	position: relative;
}
/* slideup
body::before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: #fff;
	transition: height 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
	z-index: 10000;
}
body.loading::before {
	height: 100%;
}
*/
/* fadein */
#container {
	transition: opacity 0.8s ease;
	opacity: 1;
}
.loading #container {
	opacity: 0;
}
/* =========================================================
pagetop
========================================================= */
.pagetop {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 9001;
}
.pagetop a {
	display: block;
	width: 46px;
	height: 46px;
	text-indent: -200%;
	overflow: hidden;
	background: #003783;
}
.pagetop a::before {
	display: block;
	clear: both;
	position: absolute;
	top: 17px;
	left: 15px;
	width: 13px;
	height: 13px;
	content: "";
	border-top: 5px solid #fff;
	border-right: 5px solid #fff;
	transform: rotate(-45deg);
}
.pagetop a img {
}
/* =========================================================
hd
========================================================= */
#hd {
	background: #fff;
	width: 100%;
	height: 58px;
	z-index: 9002;
}
#hd .hd-inner {
	width: 100%;
}
#hd.sticky {
	height: 70px;
	border-bottom: 1px solid #eee;
}
#hd.sticky .hd-inner {
	padding: 0;
}
#hd .hd-inner:after {
	content: "";
	display: block;
	clear: both;
}
#hd .logo {
	float: left;
	position: relative;
	z-index: 1;
}
#hd .logo a {
	display: block;
	padding: 16px 20px;
}
#hd .logo a img {
	height: 22px;
}
#hd #gnav {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: #fff;
}
#hd #gnav .inner {
	width: 100%;
	margin-top: 58px;
	background: #fff;
}
#hd #gnav .inner ul a {
	color: #083585;
}
#hd #gnav .inner > ul > li {
	border-top: 1px solid rgba(8,53,133,0.1);
}
#hd #gnav .inner > ul > li > a {
	display: block;
	font-size: 140%;
	padding: 0.7em 0;
	font-family: 'Nunito Sans', sans-serif;
}
#hd #gnav .inner > ul > li .ttl {
	display: none;
}
#hd #gnav .inner > ul > li .mega {
}
#hd #gnav .inner > ul > li ul {
	background: rgba(8,53,133,0.1);
}
#hd #gnav .inner > ul > li ul li {
	border-top: 1px dotted #fff;
}
#hd #gnav .inner > ul > li ul li > a {
	display: block;
	padding: 0.5em;
}
#hd #gnav .inner > ul > li ul li > a .eng {
	display: none;
}
#hd #gnav .inner .nav-close {
	background: #083585;
	display: block;
	color: #fff;
	padding: 1.4em 0;
	font-size: 100%;
	font-family: 'Nunito Sans', sans-serif;
}
#hd #gnav .menu-btn {
	position: absolute;
	top: 0;
	right: 0;
	padding: 19px 18px 12px 18px;
}
#hd #gnav .menu-btn .menu-trigger,
#hd #gnav .menu-btn .menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
#hd #gnav .menu-btn .menu-trigger {
	position: relative;
	width: 28px;
	height: 22px;
}
#hd #gnav .menu-btn .menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #083585;
}
#hd #gnav .menu-btn .menu-trigger span:nth-of-type(1) {
	top: 0;
}
#hd #gnav .menu-btn .menu-trigger span:nth-of-type(2) {
	top: 10px;
}
#hd #gnav .menu-btn .menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
#hd #gnav.open .menu-btn .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
#hd #gnav.open .menu-btn .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}
#hd #gnav.open .menu-btn .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}
#hd #gnav:after {
	content: "";
	display: block;
	clear: both;
}
#hd #gnav .main {
	border-bottom: 1px solid #eee;
}
#hd #gnav .main li {
	border-top: 1px solid #eee;
}
#hd #gnav .main li a {
	display: block;
	padding: 2em 0;
}
#hd #gnav .main li:last-child a {
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 0.2;
}
#hd #gnav .main li a img {
	height: 18px;
}
#hd #gnav .sns {
	width: 19%;
}
#hd #gnav .sns:after {
	content: "";
	display: block;
	clear: both;
}
#hd #gnav .sns li {
	float: left;
}
#hd #gnav .sns li a {
	display: block;
	padding: 28px 20px;
}
#hd #gnav .sns li a img {
	height: 30px;
}
.bd-value #hd #gnav .inner > ul > li.value > a,
.bd-about #hd #gnav .inner > ul > li.about > a,
.bd-approach #hd #gnav .inner > ul > li.approach > a,
.bd-recruit #hd #gnav .inner > ul > li.recruit > a,
.bd-topics #hd #gnav .inner > ul > li.topics > a {
	color: #00acb5;
}
.bd-contact #hd #gnav .inner > ul > li.contact > a {
	background: #00acb5;
}
/* =========================================================
ft
========================================================= */

#ft {
	border-top: 1px #9d9b9a solid;
	z-index: 9001;
}
#ft .contact {
	background: #083585;
	color: #fff;
	padding: 0.5em 0 0;
}
#ft .contact h2 {
	font-size: 160%;
	padding: 1em 0;
	font-weight: normal;
	font-family: 'Nunito Sans', sans-serif;
}
#ft .contact h2 span {
	font-size: 100%;
	font-weight: lighter;
}
#ft .contact .lead {
	font-size: 80%;
	padding: 0 0 2em;
}
#ft .contact .tel-form {
	border-bottom: 1px dotted rgba(255,255,255,0.5);
}
#ft .contact .tel-form p {
	border-top: 1px dotted rgba(255,255,255,0.5);
}
#ft .contact .tel-form p a {
	display: block;
	padding: 0;
	width: 100%;
	height: 60px;
	line-height: 60px;
	color: #fff;
	background-repeat: no-repeat;
}
#ft .contact .tel-form p a b {
	font-family: 'Nunito Sans', sans-serif;
	font-size: 120%;
	font-weight: lighter;
}
#ft .contact .tel-form p a span {
	font-size: 80%;
}
#ft .contact p.tel a {
	background-image: url(/common/img/contact-tel.svg);
	background-size: auto 54%;
	background-position: left 16px top 41%;
	background-size: 18px auto;
	background-position: left 6.5em center;
	font-weight: bold;
	text-indent: 2em;
}
#ft .contact p.form a {
	background-image: url(/common/img/contact-form.svg);
	background-size: auto 36%;
	background-size: 20px auto;
	background-position: left 6.5em center;
	font-weight: lighter;
	text-indent: 1em;
}
#ft .fnav {
}
#ft .fnav h2 {
	font-size: 160%;
	padding: 1em 0;
	font-weight: normal;
	font-family: 'Nunito Sans', sans-serif;
	color: #083585;
}
#ft .fnav section {
	text-align: justify;
	position: relative;
	margin-top: -1px;
	border-top: 1px solid rgba(8,53,133,0.1);
}
#ft .fnav section a {
	color: #083585;
	display: block;
	padding: 0.5em 0;
}
#ft .fnav section > a {
	background: #fff;
	padding: 1em 15px;
	font-weight: normal;
	font-family: 'Nunito Sans', sans-serif;
}
#ft .fnav section > a:before {
	position: absolute;
	top: 1.2em;
	right: 1em;
	width: 6px;
	height: 6px;
	content: "";
	display: none;
	border-top: 1px solid #083585;
	border-right: 1px solid #083585;
}
#ft .fnav section ul {
	background: rgba(8,53,133,0.1);
}
#ft .fnav section ul:after {
	content: "";
	display: block;
	clear: both;
}
#ft .fnav section ul li {
	border-bottom: 1px solid #fff;
}
#ft .fnav section ul li a {
	padding: 0.5em 25px;
	display: block;
	width: 100%;
	height: 100%;
	font-size: 80%;
}
#ft .fnav section ul li a.external {
	background-repeat: no-repeat;
	background-position: left 7em center;
	background-size: 11px auto;
	background-image: url(/common/img/arw-external-blue.svg);
}
#ft .fnav section.open > a:before {
	display: block;
	transform: rotate(-45deg);
}
#ft .fnav section.close > a:before {
	display: block;
	transform: rotate(135deg);
}
#ft .cr {
	padding: 2.4em 0;
	background: #083585;
	color: #fff;
	font-size: 80%;
	font-family: 'Nunito Sans', sans-serif;
}
#ft .cr img {
	height: 12px;
}

/* =========================================================


share style


========================================================= */

/* =========================================================
contents
========================================================= */
#contents {
	padding: 0 0 80px;
}
#contents article {
	padding: 0;
}
/* =========================================================
article
========================================================= */
#contents article h2.line {
	border-bottom: 2px solid #083585;
	width: 90%;
	text-align: left;
	font-size: 120%;
	padding: 2em 0 0;
	color: #083585;
}
#contents article .ttl {
	padding: 3rem 0;
	line-height: 1.2;
	color: #666;
	font-size: 250%;
	font-family: 'Nunito Sans', sans-serif;
	font-weight: lighter;
}
#contents article .ttl strong {
	color: #0b3585;
	font-weight: bold;
}
#contents article .ttl .jpn {
	font-size: 42%;
	display: block;
	font-family: 'Nunito Sans', sans-serif;
}
#contents article .copy {
	margin-bottom: 8em;
}
#contents article .copy {
	position: relative;
	line-height: 1.8;
}
#contents article .copy::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -0.3em;
	left: 50%;
	height: 2px;
	background: #0b3585;
	width: 100px;
	margin-left: -50px;
}
#contents article .copy .main {
	font-size: 170%;
}
#contents article .copy .sub {
	font-size: 110%;
}
#contents article .list {
	width: 90%;
	text-align: left;
	padding: 3em 0 0;
}
#contents article .list dl {
	border-top: 1px solid #ddd;
	padding: 1em 0;
}
#contents article .list dl dt {
	font-weight: bold;
	color: #222;
	padding: 0 0 0.5em;
}
#contents article .list dl dd {
}
#contents article .list dl dd address {
	font-style: normal;
}
#contents article .more {
	padding: 0.5em 0;
}
#contents article .more a {
	padding: 0.7em 0;
	display: block;
	width: 320px;
	font-size: 120%;
	font-family: 'Nunito Sans', sans-serif;
	font-weight: bold;
	background: #fff;
	color: #0b3585;
	border: 1px solid #0b3585;
}
#contents article a.link {
	text-decoration: underline;
	font-weight: bold;
	color: #083585;
}
#contents article a.link:hover {
	opacity:1;
	color: #00acb5;
}
/* =========================================================
article.sub
========================================================= */
#contents article.sub {
	padding-bottom: 4rem;
}
#contents article.sub h2.line {
}
#contents article.sub .ttl {
}
#contents article.sub .ttl strong {
}
#contents article.sub .ttl .jpn {
}
#contents article.sub .copy {
}
#contents article.sub .copy {
}
#contents article.sub .copy::after {
}
#contents article.sub .copy .main {
}
#contents article.sub .copy .sub {
}
#contents article.sub .list {
}
#contents article.sub .list dl {
}
#contents article.sub .list dl dt {
}
#contents article.sub .list dl dd {
}
#contents article.sub .list dl dd address {
}
#contents article.sub .more {
}
#contents article.sub .more a {
}
/* =========================================================
mv
========================================================= */
#contents #mv {
}
#contents #mv .arw {
	position: absolute;
	bottom: 0;
	left: 50%;
	z-index: 10;
	margin-left: -30px;
}
#contents #mv .arw a {
	display: block;
	width: 60px;
	height: 60px;
	text-indent: -200%;
	overflow: hidden;
}
#contents #mv .arw a::before {
	display: block;
	clear: both;
	position: absolute;
	top: 0.5em;
	left: 1.2em;
	width: 20px;
	height: 20px;
	content: "";
	border-top: 6px solid #fff;
	border-right: 6px solid #fff;
	transform: rotate(135deg);
}
/* =========================================================
mv.sub
========================================================= */
#contents #mv.sub {
	background: url(/common/img/mv-bg.jpg) no-repeat top 20% center /cover;
	color: #fff;
	padding: 3em 5% 2em;
	text-align: justify;
	font-family: 'Nunito Sans', sans-serif;
}
#contents #mv.sub .ttl {
	font-size: 220%;
	font-weight: lighter;
	line-height: 1em;
}
#contents #mv.sub .ttl strong {
	font-weight: bold;
}
#contents #mv.sub .ttl .jpn {
	display: block;
	font-size: 45%;
}
/* =========================================================
value
========================================================= */
#contents #value {
	width: 94%;
}
#contents #value h2 {
}
#contents #value ul {
	padding: 0 0 2em;
}
#contents #value ul:after {
	content: "";
	display: block;
	clear: both;
}
#contents #value ul li {
}
#contents #value ul li a {
	position: relative;
	display: block;
}
#contents #value ul li a .eng {
	width: 100%;
	padding: 120px 0 20px;
	font-size: 130%;
	font-weight: bold;
	background-repeat: no-repeat;
	background-position: center 26%;
	background-size: 74px auto;
}
#contents #value ul li a img {
}
#contents #value ul li a div {
}
#contents #value ul li a .more {
}
#contents #value ul li:nth-child(1) a {
	border: 1px solid #7d3caf;
}
#contents #value ul li:nth-child(2) a {
	border: 1px solid #f14b94;
}
#contents #value ul li:nth-child(3) a {
	border: 1px solid #f46d06;
}
#contents #value ul li:nth-child(4) a {
	border: 1px solid #8cc63f;
}
#contents #value ul li:nth-child(5) a {
	border: 1px solid #36a0da;
}
#contents #value ul li:nth-child(6) a {
	border: 1px solid #0855a8;
}
#contents #value ul li:nth-child(1) a .eng {
	color: #7d3caf;
	background-image: url(/common/img/value1.svg);
}
#contents #value ul li:nth-child(2) a .eng {
	color: #f14b94;
	background-image: url(/common/img/value2.svg);
}
#contents #value ul li:nth-child(3) a .eng {
	color: #f46d06;
	background-image: url(/common/img/value3.svg);
}
#contents #value ul li:nth-child(4) a .eng {
	color: #8cc63f;
	background-image: url(/common/img/value4.svg);
}
#contents #value ul li:nth-child(5) a .eng {
	color: #36a0da;
	background-image: url(/common/img/value5.svg);
}
#contents #value ul li:nth-child(6) a .eng {
	color: #0855a8;
	background-image: url(/common/img/value6.svg);
}
