@charset "UTF-8";
/* base */
html {
  margin: 0;
  padding: 0;
  font-size: 15px;
}

body {
  margin: 0;
  padding: 0;
  line-height: 1;
/*	font-family: "Roboto Condensed", sans-serif;
*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #323232;
}

h1, h2, h3, h4, p, ul, ol, dl, li, small, th, input, textarea {
  margin: 0;
  padding: 0;
  font-weight: normal;
  list-style: none;
  font-size: 100%;
}

th, td {
  text-align: left;
  vertical-align: top;
}

address {
  font-style: normal;
}

img {
  border: none;
  vertical-align: top;
}

a {
  color: inherit;
  text-decoration: none;
}
a:hover {
	text-decoration:none;
	transition: 0.6s ;
	opacity: 0.5 ;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}
p {
	line-height:2em;
}



/* header */
header {
	margin:0px auto;
}
header h1 {
	background-color:#ededed;
	color:#848484;
	padding:5px 20px;
	text-align:center;
	border-bottom:#ccc solid 1px;
	font-size:75%;
	line-height:2em;
}
header .logo {
	text-align:center;
	padding:50px; 0px;
}
header .keyvisual img {
	width:100%;
/*
	opacity: 0.7;
	background-color:#006;
*/
}
/*
header .logo-nav {
	padding:40px 20px;
	display: flex;
	justify-content:space-between;
}
header nav {
	display: flex;
	align-items: center;
}
header nav ul {
	display: flex;
	justify-content:flex-end;
}
header nav ul li {
	margin-left:20px;
	color:#6c6c6c;
}
*/

.wrap {
	width:1060px;
	margin:100px auto;
	padding:0px 20px;
}
@media (max-width: 1059px) {
	.wrap {
		width:100%;
	}
}

h2 {
	font-size: 220%;
	letter-spacing:3px;
	color: #1d2d66;
	padding-bottom:50px;
	text-align:center;
}
h2 span {
	font-size:45%;
	font-weight:normal;
	color:#1d2d66;
}


/*=========================*/
.text-center {
	text-align:center;
}
.mb30 {
	margin-bottom:30px;
}
.bgc-ed {
	background-color:#ededed;
}



/*=========================*/
.msg {
	display: flex;
	justify-content:space-between;
	align-items:center;
}
.msg .text {
	margin-right:40px;
}
.msg .text span {
	font-weight:bold;
	color:#1d2d66;
	font-size:150%;
	line-height:2em;
}

.msg .osawa {
	text-align:center;
	line-height:1em;
}
.msg .osawa img {
	display:block;
	border:1px solid #CCC;
}
@media (max-width: 750px) {
	.msg {
		flex-direction:column-reverse;
	}
	.msg .text {
		margin-right:0px;
		margin-top:30px;
	}

}

.bsns {
	display: flex;
	justify-content:space-between;
	align-items:center;
	margin-bottom:50px;
	border:solid 1px #ccc;
	padding:40px;
}
.bsns .item {
	width:58%;
	display: flex;
	flex-direction:column;
}
.bsns .item .icon {
	color:#49b7ca;
	text-align:center;
}
.bsns .item h3 {
	text-align:center;
	font-size:120%;
	font-weight:bold;
	margin:30px 0px 25px 0px;
}
.bsns .item-right {
	width:38%;
}
.bsns .item-right p {
	text-align:center;
}
.bsns .item-right img {
	border:solid 1px #ccc;
}
@media (max-width: 900px) {
	.bsns {
		display: flex;
		flex-direction:column;
	}
	.bsns .item {
		width:100%;
	}
	.bsns .sp {
		margin-bottom:30px;
	}
	.bsns .item-right {
		width:100%;
	}

}

.cmpy-row {
	display: flex;
	align-items: center;
	padding:20px;
	border-bottom:1px solid #ccc;
}
.cmpy-row h3 {
	width:200px;
	font-weight:bold;
	color:#1d2d66;
}
.cmpy-row p {
	line-height:1.5em;
}
.cmpy-row ul li {
	margin-bottom:10px;
}
@media (max-width: 650px) {
	.cmpy-row h3 {
		width:100px;
	}
}

.gmap {
	height:500px;
}
@media (max-width: 1070px) {
	.gmap {
		width:100%;
	}
}
@media (max-width: 600px) {
	.gmap {
		height:350px;
	}
}

.careers {
}
.careers .wrap {
	width:1060px;
	margin:0px auto;
}
.careers .wrap .inner {
	background-color:#FFF;
}
.careers .wrap .inner .item {
	display: flex;
	border-bottom:1px solid #999;
}
.careers .wrap .inner .item h3 {
	width:20%;
	background-color:#1d2d66;
	color:#FFF;
	text-align:center;
	font-weight:bold;
	line-height:2.0em;
	padding:25px;
}
.careers .wrap .inner .item p {
	background-color:#fafafa;
	width:80%;
	padding:25px;
}
@media (max-width: 1059px) {
	.careers .wrap {
		width:100%;
	}
	.careers .wrap .inner {
		border-left:1px solid #1d2d66;
		border-right:1px solid #1d2d66;
	}
	.careers .wrap .inner .item {
		display: flex;
		flex-direction:column;
	}
	.careers .wrap .inner .item h3 {
		width:100%;
	}
	.careers .wrap .inner .item p {
		width:100%;
	}
	.careers .wrap .inner .item p.sp-center {
		text-align:center;
	}
}

.stuff {
	width:100%;
	margin-bottom:30px;
	display: flex;
	justify-content:space-between;
}
.stuff .item {
	width:20%;
	display: flex;
	flex-direction:column;
	justify-content:center;
}
.stuff .item .icon {
	color:#49b7ca;
	text-align:center;
}
.stuff .item h3 {
	text-align:center;
	font-weight:bold;
	margin-top:20px;
	line-height:140%;
}
.stuff p {
	margin-left:30px;
}
.balloon1-left {
  position: relative;
  display: inline-block;
  margin: 0 0 0 30px;
  padding: 20px 30px;
  min-width: 120px;
  max-width: 80%;
  color: #555;
  font-size: 16px;
  background: #F5F5F5;
	border-radius: 10px;
}

.balloon1-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #F5F5F5;
}

.balloon1-left p {
  margin: 0;
  padding: 0;
}

@media (max-width: 600px) {
	.stuff {
		display: flex;
		flex-direction:column
	}
	.stuff .item {
		width:100%;
		display: flex;
		flex-direction: row;
		justify-content:center;
		align-items: center;
	}
	.stuff .item h3 {
		margin-top:0px;
		width:30%;
	}
	.stuff .item .icon {
		width:30%;
	}
	.stuff p {
		width:100%;
		margin:20px 0px 0px 0px;
	}
	.balloon1-left {
	  position: relative;
	  display: inline-block;
	  margin: 2.5em 0 0.5em 0;
	  padding: 20px 30px;
	  min-width: 120px;
	  max-width: 100%;
	  color: #555;
	  font-size: 16px;
	  background: #F5F5F5;
	}
	.balloon1-left:before {
	  content: "";
	  position: absolute;
	  top: -15px;
	  left: 50%;
	  margin-left: -15px;
	  border: 15px solid transparent;
	  border-bottom: 15px solid #F5F5F5;
	}
	.balloon1-left p {
	  margin: 0;
	  padding: 0;
	}
}


.telmail {
	display: flex;
	justify-content:space-around;
	border:none;
	background-color:#f2f2f2;
	margin-bottom:50px;
}
.telmail p {
	width:30%;
	text-align:center;
	padding:30px 0px 30px 0px;
	color: #1d2d66;
	font-weight:bold;
	font-size:140%;
}
.telmail p.tel {
	padding:0px;
}
.telmail p.tel a {
	display:block;
	padding:30px 0px 30px 0px;
}
.telmail p.mail {
	border-left:#fff solid 10px;
	border-right:#fff solid 10px;
	width:40%;
}

.v-align-m {
	vertical-align: middle;
}

@media (max-width: 950px) {
	.telmail {
		display: flex;
		flex-direction:column;
	}
	.telmail p {
		width:100%;
	}
	.telmail p.tel {
		border-bottom:#fff solid 10px;
	}
	.telmail p.mail {
		border-left:none;
		border-right:none;
		border-bottom:#fff solid 10px;
		width:100%;
	}
}

.cform table {
	border-collapse: collapse;
	width: 100%;
}
.cform table th {
	width: 200px;
	border: 1px solid #ccc;
	padding: 20px 20px 20px 20px;
	background: #1d2d66;
	text-align:center;
	line-height:2.1;
color:#fff;
}
.cform table th span {
	color: #AD0000;
color:#F00;
	font-weight: normal;
}
.cform table td {
	border: 1px solid #ccc;
	background: #fff;
	padding: 20px;
}
.cform table td .type {
	display: flex;
	padding: 5px;
}
.cform table td .type label {
	margin-right:30px;
	padding-top:5px;
}
.cform .input {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 5px;
  width: 100%;
  border: 1px solid #ccc;
}
.cform .textarea {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	border: 1px solid #ccc;
	padding: 5px;
	line-height: 150%;
}
.cform table td p {
	margin-top: 10px;
}
.cform .button {
	display: table;
	margin: 50px auto 0;
	padding: 20px 100px;
	background:#1d2d66;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	cursor: pointer;
}
.cform p.thanks {
	text-align:center;
	line-height:2;
	font-size:100%;
}
.errorText {
	color:#F00;
}
.errorMessage {
	color:#F00;
	margin-top:10px;
}
@media (max-width: 759px) {
	.cform table tr {
		display:flex;
		flex-direction:column;
	}
	.cform table th {
		width: 100%;
		text-align:left;
	}
	.cform table td {
		border-top:none;
		border-bottom: 1px solid #ccc;
	}
}

footer {
	text-align:center;
	padding-bottom:50px;
border-top:#999 1px solid;
padding-top:50px;
background-color:#F5F5F5;
}
footer p {
	margin-bottom:20px;
}
footer small {
	font-size:80%;
}

/*
footer {
	color:#FFF;
	background-image: -moz-linear-gradient(-90deg, #1b4384 0%, #10346f 48%, #052559 100%);
	background-image: -webkit-linear-gradient(-90deg, #1b4384 0%, #10346f 48%, #052559 100%);
	background-image: -ms-linear-gradient(-90deg, #1b4384 0%, #10346f 48%, #052559 100%);
	border-top: 2px solid rgba(200, 200, 200, 0.1);
}
footer address {
	width:1024px;
	margin:0px auto;
	padding:50px 0px;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
footer address .left {
	text-align:center;
	margin:0px auto;
}
footer address .left p {
	margin-bottom:20px;
	background-color:#FFF;
	border-radius:5px;
	color:#052559;
	padding:10px;
	font-weight:bold;
}
footer address .left p img {
	vertical-align:middle;
	margin-right:5px;
}
footer address .right {
	width:40%;
}
footer address .right ul li {
	margin-bottom:3px;
	line-height:1.2;
}
*/