@charset "UTF-8";
/* CSS Document */

/*-------------------下層ページ共通部分------------------*/

/*-----------------------------代表挨拶-----------------------------*/
.message #kv {
	background: url(../img/sub/message_kv_pc.jpg) no-repeat;
	background-position: top;
}
.company #kv {
	background: url(../img/sub/company_kv.jpg) no-repeat;
	height: 310px;
	background-position: bottom;
	background-size: cover;
}
.contact #kv {
	background: url(../img/sub/contact_kv.jpg) no-repeat;
	height: 310px;
	background-position: bottom;
	background-size: cover;
}
.error #kv {
	background: url(../img/sub/404_kv.jpg) no-repeat;
	height: 310px;
	background-position: bottom;
	background-size: cover;
}
.sub #kv {
	height: 310px;
	background-size: cover;
}
.sub #kv h2 {
	text-decoration: none;
	color: #000000;
	font-weight: bold;
	text-align: center;
	font-size: 40px;
	line-height: 28px;
	width: 280px;
	position: absolute;
	top: 120px;
	right: 0;
	left: 0;
	margin: auto;
	z-index: 101;
}
.sub #kv h2 .sub_inner {
	display: inline-block;
	font-size: 18px;
	font-weight: normal;
}
#kv .type1::before {
	border-top-color: #091488;
	border-left-color: #091488;
}
#kv .type1::after {
	border-bottom-color: #091488;
	border-right-color: #091488;
}
#kv .button {
	padding: 0.5em 0.8em;
	margin: 0;
	cursor: auto;
}
.ceo_top {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 1000px;
	margin: 90px auto 55px;
	position: relative;
}
.ceo_top li:first-child {
	width: 50%;
}
.ceo_top li:last-child {
	font-size: 24px;
	text-align: center;
	padding: 55px 6%;
	background-color: #091488;
	color: #fff;
	font-weight: bold;
	position: relative;
	right: 40px;
	line-height: 1.7em;
}
.center {
	margin: 0 auto;
	text-align: center;
	display: block;
	width: 90%;
	max-width: 1000px;
}
.top_message p {
    margin: 0 auto 40px;
    text-indent: 1em;
    text-align: left;
    line-height: 1.8em;
    display: inline-block;
}
.name {
	text-align: right;
	width: 90%;
	max-width: 720px;
	margin: 0 auto 170px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.name img {
	width: 135px;
}
.name span {
	margin-right: 20px;
}

@media screen and (max-width:900px) {
.ceo_top li:last-child {
	font-size: 20px;
	padding: 55px 3%;
	right: 0;
}
}

@media screen and (max-width:768px) {
.message #kv h2 {
	font-size: 30px;
	width: 230px;
	top: 39%;
}
.sub #kv h2 {
	top: 35%;
	font-size: 30px;
	width: 230px;
}
.sub #kv h2 .sub_inner {
	font-size: 16px;
}
.ceo_top {
	display: block;
	margin: 0 auto;
}
.ceo_top li:first-child {
	width: 100%;
}
.ceo_top li:first-child img {
	width: 100%;
}
.ceo_top li:last-child {
	position: inherit;
	padding: 55px 0;
	width: 90%;
	margin: 0 auto;
	display: block;
	right: 0;
	top: -80px;
}
.top_message {
	width: 100%;
	margin: 0 auto;
}
.center p:last-child {
	margin-right: 0;
}
}

@media screen and (max-width:420px) {
.error #kv {
	background: url(../img/sub/404_kv.jpg) no-repeat;
	background-position: 10% 10%;
}
.message #kv {
	background: url(../img/sub/message_kv_sp.jpg) no-repeat;
	background-position: 55%;
	background-size: cover;
}
.contact #kv {
	background: url(../img/sub/contact_kv_sp.jpg) no-repeat;
	height: 310px;
	background-position: bottom;
	background-size: cover;
}
.company #kv {
	background: url(../img/sub/company_kv_sp.jpg) no-repeat;
	height: 310px;
	background-position: bottom;
	background-size: cover;
}
.ceo_top li:last-child {
	top: -40px;
	font-size: 20px;
}
.name {
	margin: 0 auto 80px;
}
}
#wrapper #under_KV {
	display: table;
	width: 100%;
	height: 300px;
	background-size: cover;
	margin-bottom: 70px;
}
#wrapper #under_KV .under_titlearea {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}
#wrapper #under_KV .under_titlearea h2 {
	color: #081488;
	font-size: 30px;
	padding-top: 40px;
	background: url(../img/common/under_title_logo.png) no-repeat top center;
}
#wrapper #under_KV .under_titlearea h2 .title_en {
	font-family: 'Open Sans Condensed', sans-serif;
	letter-spacing: 3px;
}
#wrapper #under_KV .under_titlearea h2 span.title_ja {
	font-size: 70%;
	font-weight: 400;
	display: block;
}
#wrapper article {
	padding-bottom: 60px;
	border-bottom: 1px #5c83c1 solid;
}
#wrapper h3 {
	font-size: 24px;
	color: #081488;
	text-align: center;
	position: relative;
	margin-bottom: 60px;
}
#wrapper h3 span {
	position: relative;
	display: inline-block;
}
#wrapper h3 span:after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px;
	display: inline-block;
	width: 100%;
	height: 2px;
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #081488;
}
#wrapper article.inner {
	width: 90%;
}
#wrapper article div.text_date {
	text-align: right;
	margin-top: 40px;
	width: 95%;
}
#wrapper article div.text_date span {
	display: inline-block;
	text-align: left;
}
#wrapper article div.text_date a {
	text-decoration: none;
	color: #081488;
	cursor: default;
	margin-right: 10px;
}

/*SP*/
@media all and (max-width:820px) {
.pc_br {
	display: none;
}
}
/*-----------------------------会社概要ページ----------------------------*/

#about {
	margin: 90px auto 55px;
	max-width: 850px;
}
.list_about {
	width: 100%;
	margin: 0 auto;
	display: table;
	table-layout: fixed;
}
.company .list_about li {
	display: table-cell;
}
.company .list_about li:first-of-type {
	width: 23%;
	border-top: solid 2px #091488;
	font-size: 18px;
	font-weight: 500;
	text-align: center;
	vertical-align: middle;
}
.company .list_about li:last-of-type {
	width: 63%;
	padding: 25px 7%;
	border-top: solid 2px #edf2f4;
	line-height: 1.8em;
}
.company .list_about:last-of-type li:first-of-type {
	border-bottom: solid 2px #091488;
}
.page_company .list_about:last-of-type li:last-of-type {
	border-bottom: solid 2px #edf2f4;
}
.last_group li:last-child {
	border-bottom: solid 2px #edf2f4;
}
.company .list_about li .tit_s {
	margin-top: 25px;
	font-weight: 500;
}
.company .list_about li .tit_s:first-of-type, .company .list_about li .sys_txt:first-of-type {
	margin-top: 0;
}
.company .list_about li .sys_txt {
	margin-top: 30px;
}
.position_01 {
	display: inline-block;
	margin-right: 1.85em;
	word-break: keep-all;
}
.position_02 {
	display: inline-block;
	margin-right: 4em;
	word-break: keep-all;
}
.position_03 {
	display: inline-block;
	margin-right: 5.1em;
	word-break: keep-all;
}
.text {
	margin: 20px auto;
	display: inline-block;
	text-align: left;
	width: 100%;
	line-height: 1.8em;
}
.text_title {
	font-weight: bold;
	color: #081488;
	font-size: 18px;
	margin-bottom: 10px;
}
.center_txt {
	margin: 50px auto;
	text-align: center;
	width: 100%;
	max-width: 370px;
}

#about iframe {
	width: 100%;
	border: none;
}

@media all and (max-width:980px) {
.list_about {
	width: 80%;
}
}

@media all and (max-width:768px) {
.list_about {
	width: 85%;
}
}

@media all and (max-width:680px) {
#about {
	margin: 60px auto 55px;
	max-width: 850px;
}
.company .list_about li {
	display: block;
}
.company .list_about li:first-of-type, .company .list_about li:last-of-type, .company .list_history {
	font-size: 16px;
}
.company .list_about li:first-of-type, .company .list_about li:last-of-type {
	width: 90%;
}
.company .list_about li:first-of-type {
	padding: 15px 5% 10px;
	font-weight: 500;
	text-align: left;
}
.company .list_about li:last-of-type {
	padding: 20px 5% 30px;
}
.company .list_about:last-of-type li:first-of-type {
	border-bottom: none;
}
.company .list_about li .sys_txt {
	margin-top: 20px;
}
.company .list_history .yyyy {
	width: 18%;
}
.company .list_history .mm {
	width: 16%;
}
.company .list_access h4, .company .list_access li.txt {
	font-size: 14px;
}
}

@media all and (max-width:580px) {
.list_about {
	width: 90%;
}
.center_txt {
	width: 95%;
}
}
.form {
	max-width: 900px;
	margin: 90px auto 120px;
}
.list_contact {
	width: 100%;
	display: table;
	table-layout: fixed;
}
.list_contact {
	border-top: solid 1px #c6d8da;
}
.list_contact dt, .list_contact dd {
	padding: 30px 0;
	display: table-cell;
	position: relative;
}
.list_contact dt {
	width: 42%;
	padding-left: 3%;
	line-height: 1.8em;
	position: relative;
	vertical-align: middle;
}
.list_contact span {
	padding: 0 25px;
	background: #091488;
	color: #fff;
	font-size: 12px;
	display: inline-block;
	position: absolute;
	right: 14%;
}
.confirmation span {
	margin-top: 14px;
}
.error_blank {
	margin-top: 3px !important;
}
.list_contact dd input[type="text"], .list_contact dd input[type="tel"], .list_contact dd textarea, .list_contact dd input[type="email"] {
	width: 90%;
	padding: 15px 3%;
	background: #fff;
	border: solid 1px #8d8fa2;
	border-radius: 0;
	box-shadow: none;
	font-size: 15px;
	-webkit-appearance: none;
	font-family: 'Noto Sans JP', sans-serif;
}
.contact_btn {
	text-align: center;
	margin-top: 30px;
}
.contact .form .contact_btn input {
	width: 250px;
	padding: 20px 0;
	border: 2px #081488 solid;
	font-size: 16px;
	color: #081488;
	background-color: #fff;
	-webkit-transition: 0.2s;
	-moz-transition: 0.2s;
	-o-transition: 0.2s;
	-ms-transition: 0.2s;
	transition: 0.2s;
}
.contact_btn input:hover {
	background-color: #081488 !important;
	color: #fff !important;
}
.optional {
	display: none !important;
}
.error_blank {
	display: block !important;
	background: none !important;
	color: #d73333 !important;
	right: 0 !important;
}
.thanks {
	margin: 90px auto 120px;
	max-width: 850px;
}
.thanks p, .thanks ul li, .thanks a {
	line-height: 1.8em;
}
.contact_top {
	text-decoration: none;
	color: #091488;
}
.contact_top:hover {
	opacity: 0.7;
}

@media all and (max-width:980px) {
.list_contact dt {
	width: 41%;
}
.list_contact span {
	padding: 0 15px;
	right: 5%;
}
}

@media all and (max-width:768px) {
.page_contact .list_contact dt {
	width: 36%;
}
.page_contact .list_contact dt {
	width: 36%;
}
.thanks {
	width: 95%;
	margin: 60px auto 55px;
}
.form {
	width: 95%;
	margin: 60px auto 55px;
}
}

@media all and (max-width:580px) {
.list_contact, .list_contact dt, .list_contact dd {
	width: 99%;
	display: block;
}
.list_contact dd {
	padding-top: 0;
}
.list_contact dt {
	padding-bottom: 20px;
}
}
