.mobile{
	display: none;
}
div#headerWrapper {
	width:100%;
	background:var(--blue-color);
	height: var(--header-height);
	min-width: var(--min-width);
	overflow: hidden;
	border-bottom:2px solid #fff;
}
div#header{
	width:var(--min-width);
	height: 120px;
	margin:auto;
}
div#header h1{
	background:url("../images/top_img.png") no-repeat;
	width:241px;
	height: 73px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin:23px 0;
}
div#header h1 a{
	display: block;
	width:100%;
	height: 100%;
}
nav{
	width:100%;
	height: 60px;
	min-width: var(--min-width);
	background:var(--menu-color);
}
ul#nav{
	width:var(--min-width);
	display: flex;
	justify-content: space-around;
	margin:auto;
	background:#000;
}
ul#nav li{
	width:138px;
	height: 60px;
	text-align: center;
	font-size:16px;
	font-weight: bold;
	box-sizing: border-box;
	padding-top:8px;
	background:var(--menu-color);
}
ul#nav li a{
	color:#fafafa;
	display: block;
	width:100%;
	height: 100%;
}
ul#nav li span{
	display: block;
	font-size:12px;
	color:#74767e;
	line-height: 16px;
}
ul#nav li:hover span,
ul#nav li.active span{
	background:#0c42dd;
}

div.contents {
	width:var(--min-width);
	margin:auto;
	margin-bottom:30px;
}
div.contents.privacy {
    background:url("../images/privacy_bg.png") center bottom no-repeat;
    background-size:cover;
}
div.contents.flex {
	display: flex;
	justify-content: space-between;
}
div.contents div.left{
	width:650px;
	background-image:url("../images/footer_logo02.png");
	background-repeat: no-repeat;
	background-position: center top;
}
div.contents div.right{
	width:300px;
}
div.contents div.right img{
	width:300px;
	height: auto;
}
div.contents div.right img:hover{
	opacity: 0.75;
}
div.contents div.right a{
	display: block;
	margin-bottom:10px;
}
p.greeting{
	width:840px;
	line-height: 2em;
	margin:20px auto;
}
p.ceo{
	width:840px;
	text-align: right;
	margin:auto;
	font-family: serif;
	font-weight: bold;
}
div.contents h3{
	background:var(--skyblue-color);
	width:100%;
	height: 40px;
	line-height: 40px;
	color:#fff;
	text-indent: 20px;
	font-size:18px;
}
div.topWrapper {
	width:100%;
	min-width:var(--min-width);
	background:#000;
	margin:auto auto 30px;
	overflow: hidden;
}
div.top{
	width:var(--min-width);
	height: 356px;
	overflow: hidden;
	margin:10px auto;
	position: relative;
}
div.top > img{
	width:650px;
	float: left;
}
div.slidesWrapper{
	width:330px;
	height: 356px;
	box-sizing: border-box;
	border:15px solid #575757;
	float: right;
	position: absolute;
	right:0;
	top:0;
	z-index: 1;
}
div.slides{
	width:300px;
	box-sizing: border-box;
	height: 326px;
	position: absolute;
	z-index: 0;
	overflow: hidden;
}
div.slides img{
	width:100%;
	height: 100%;
	object-fit: cover;
    padding:0 !important;
    margin:0 !important;
}

button.slick-prev {
	background: url("../images/arrow_prev.svg") no-repeat;
	background-size: 30px;
	left: 10px;
}
button.slick-prev:hover {
	background-image: url(../images/arrow_prev_on.svg) !important;
}
button.slick-next {
	background: url("../images/arrow_next.svg") no-repeat;
	background-size: 30px;
	right: 10px;
}
button.slick-next:hover {
	background-image: url(../images/arrow_next_on.svg) !important;
}
button.slick-arrow {
	text-indent: -9999px;
	position: absolute;
	width: 30px;
	height: 50px;
	top: 150px;
	z-index: 1;
	border: none;
	cursor: pointer;
}
ul.slick-dots {
	width: 100%;
	height: 20px;
	text-align: center;
	overflow: hidden;
	position: absolute;
	bottom: 1px;
}
div.presenWrapper ul.slick-dots{
    bottom:-20px;
}
ul.slick-dots li {
	text-indent: -9999px;
	display: inline-block;
	width: 10px;
	height: 10px;
	background-color: var(--skyblue-color);
	border-radius: 10px;
	margin: 5px;
}
li.slick-active {
	background-color: var(--blue-color) !important;
}



div#footerWrapper{
	width:100%;
	min-width:var(--min-width);
	background:#444;
}
div#footer{
	width:var(--min-width);
	display: flex;
	justify-content: space-between;
	margin:auto;
	align-items: center;
	padding:50px 0;
	background:url("../images/footer_logo02.png") right top 10px no-repeat;
}
div#footer div.footerLinkWrapper{
	width:450px;
	margin-top:100px
}
div#footer div.footerLink{
	display: flex;
	justify-content:flex-start;;
}
div.footerLink a{
	display: block;
	font-size:14px;
	width:180px;
	height: 35px;
	text-align: center;
	background:#939393;
	line-height: 35px;
	color:#fff;
	margin-right: 30px;
}
div.footerLink a:hover{
	background:#333;
	color:#fff;
}
div#footer p.copy{
	font-size:12px;
	color:#fff;
	margin-top:1em;
}
div.footerInfo{
	color:#fff;
	width:300px;
}
div.footerInfo p.small{
	font-size:14px;
	line-height: 1em;
}
div.footerInfo p.companyName{
	font-size:20px;
	margin-bottom: 1em;
}
div.footerInfo p.footerAddress{
	margin-bottom: 1em;
}
ul.news {
	margin:15px;
}
ul.news li{
	border-bottom: 1px solid #ccc;
	padding-bottom:10px;
	margin-bottom:10px;
	position: relative;
	display: flex;
	justify-content: flex-start;
}
ul.news li::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 15px;
	border-color: transparent transparent transparent #007bff;
	position: absolute;
	top:6px;
	left:0;
}
ul.news li span{
	display: block;
	padding-left:20px;
	margin-right: 15px;
	color:var(--blue-color);
}

div.h2Wrapper {
	width:100%;
	min-width: var(--min-width);
	height: 120px;
	background: rgb(194,211,243);
	background: linear-gradient(180deg, rgba(194,211,243,1) 0%, rgba(94,140,230,0.9688024868150386) 47%, rgba(125,166,245,1) 100%);
	position: relative;
	border-bottom:4px solid #fff;
}
div.h2Wrapper::after{
	content: "";
	width:100%;
	height: 6px;
	background:#4b4b4b;
	min-width: var(--min-width);
	position: absolute;
	bottom:-10px;
}
div.h2Wrapper h2{
	width:var(--min-width);
	margin:auto;
	line-height: 120px;
	color:#fff;
	font-size:36px;
	font-weight: bold;
	text-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}

div.businessWrapper {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top:50px;
}
div.business{
	width:320px;
	height: 320px;
	position: relative;
	background:#24317d;
	margin-bottom: 10px;
}
div.business img{
	position: absolute;
	top:0;
	left:0;
}
div.business div{
	margin-top:200px;
	overflow: hidden;
}
div.business div h3{
	background:none;
	margin-top:10px;
	font-weight: bold;
}
div.business div p{
	margin:10px 15px 0;
	color:#fff;
}
div.companyWrapper{
      background:url("../images/info_bg.png") center center no-repeat;
    background-size:cover;
  }
dl.company:first-child{
    margin-top:50px;
}
dl.company{
    width:var(--min-width);
    margin:auto;
    display: flex;
    border-bottom:2px solid #fff;
}
dl.company > dt,
dl.company > dd{
    padding:20px 20px;
    box-sizing: border-box;
}
dl.company > dt{
    width:200px;
    float: left;
    clear: both;
    background:#24317D;
    color:#fff;
}
dl.company > dd{
    width:calc(var(--min-width) - 200px);
    float: right;
}
dl.history{
    overflow: hidden;
}
dl.history dt{
    width:20%;
    float: left;
    clear: both;
}
dl.history dd{
    width:80%;
    float: right;
}
dl.company > dd h3{
    font-weight: bold;
    background:none;
    color:#333;
    font-size:16px;
    text-indent: 0;
    line-height: 1.5em;
    padding:0;
    height: auto;
}
a.access{
    display: block;
    width:150px;
    height: 2em;
    line-height: 2em;
    text-align: center;
    background:#24317D;
    border-radius: 4px;
    color:#fff;
    position: relative;
    margin-bottom:25px;
}
a.access:hover{
    background:var(--blue-color);
}
a.access::before{
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 15px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	top:0;
	left:10px;
    bottom:0;
    margin:auto;
}
div.privacyWrapper{
    margin-top:50px;
    padding-bottom:50px;
}
div.privacyWrapper p{
    margin:10px 25px;
}
div.privacyWrapper ul{
    margin:10px 25px;
}
div.privacyWrapper li{
    margin-left:15px;
    list-style: disc;
}
h3.privacy{
    background:none !important;
    color:#24317D !important;
    border-bottom:1px solid #24317D;
    margin-top:15px;
    font-weight: bold;
}
div.accessWrapper {
    margin-top:50px;
}
div.access{
    width:100%;
    box-sizing: border-box;
    padding:30px;
    padding-bottom: 50px;
    border:1px solid #333;
    overflow: hidden;
    margin:10px auto;
}
div.access div.photo{
    width:calc(50% - 10px);
    height: 300px;
    float: left;
}
div.access div.photo img{
    margin-bottom: 10px;
}
div.access div.map{
    width:50%;
    float: right;
    height: 300px;
}
div.contact {
    margin-top:50px;
}
div.contact p {
    text-align: center;
	margin-top:30px;
}
dl.inquiry {
	margin:0 100px;
	display: flex;
	justify-content: space-between;
	border-bottom: 1px solid #a0a0a0;
	border-right: 1px solid #a0a0a0;
}
dl.inquiry:first-child{
	margin-top:50px;
	border-top:1px solid #a0a0a0;
}
dl.inquiry dt{
	width:35%;
	position: relative;
	box-sizing: border-box;
	border-left:10px solid #24317D;
	background:#eee;
	padding: 10px;
	font-weight: bold;
	align-items: center;
}
dl.inquiry dd{
	width:65%;
	display: flex;
	/*align-items: center;*/
	padding: 10px;
}
dl.inquiry dt.must::after{
	content: "必須";
	font-size: 12px;
	padding:1px 10px 0px;
	color:#fff;
	background:darkred;
	margin-bottom: 5px;
	display: inline-block;
	margin-left:20px;
	border-radius: 4px;
	position: absolute;
	right:10px;
}
div.submit {
	width: 100%;
	display: flex;
	justify-content: space-around;
	margin:25px auto;
}
input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
input[type="password"]{
    border:1px solid #ccc;
    width:calc(100% - 30px);
    margin-left:30px;
    line-height: 2em;
    border-radius: 4px;
    box-sizing: border-box;
    padding:5px 10px;
    margin-bottom:20px;
}
input[type="submit"],
input[type="button"]{
    width:300px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    margin:25px auto;
    border-radius: 4px;
    cursor: pointer;
    color:#fff;
}
input[type="submit"]{
    background:var(--blue-color);
}
input[type="submit"]:hover{
	background:var(--skyblue-color);
}
input[type="button"]{
    background:#333;
}
input[type="button"]:hover{
	background:var(--skyblue-color);
}
.req {
	color:red;
}

input[type=checkbox]{
	width:16px;
	height: 16px;
	border:2px solid #333;
	cursor: pointer;
    margin-right:20px;
}
input[type=checkbox]:checked{
	background:#333;
}
div.privacyBox {
	text-align: center;
	margin-top:25px;
}

p.tel {
	background:url("../images/mail_img01.png") no-repeat;
	background-size:var(--min-width);
	text-align: left !important;
	box-sizing: border-box;
	padding:30px;
}
p.tel strong{
	font-weight: bold;
	color:#24317D;
}

div.recruitWrapper {
	width:100%;
	min-width: var(--min-width);
	height: 119px;
	background:#bbd3fb;
	margin-top:6px;
	padding:10px 0;
	margin-bottom: 50px;
}
div.recruitTitle{
	width: var(--min-width);
	padding:0 129px;
	height: 119px;
	box-sizing: border-box;
	margin:auto;
	background-color:var(--navy-color);
	background-image:
		url("../images/recruit_title1.jpg"),
		url("../images/recruit_title2.jpg");
	background-position:
		left center,
		right center;
	background-repeat:no-repeat;
	position: relative;
}
div.recruitTitle p{
	position: absolute;
	color:#fff;
}
div.recruitTitle p.title1{
	font-size:32px;
	font-weight: bold;
	top:20px;
	left:149px;
	text-shadow: 3px 3px 0 #000;
}
div.recruitTitle p.title2{
	text-align: right;
	top:20px;
	right:139px;
}
div.recruitTitle p.title3{
	text-align: right;
	bottom:15px;
	left:149px;
	font-weight: bold;
	font-size: 18px;
}
h3.recruit{
	background-color:var(--navy-color) !important;
	margin:30px 0 20px;
	text-indent: 60px !important;
	position: relative;
}
h3.recruit::before{
	content: "";
	width:20px;
	height: 20px;
	border-radius: 20px;
	background:#fff;
	position: absolute;
	margin:auto;
	top:0;
	bottom:0;
	left:20px;
}
p.recruit,
p.strong{
	margin-left:50px;
}
p.strong{
	font-weight: bold;
}
h4.recruit{
	margin-left:50px;
	margin-top:10px;
	font-weight: bold;
	position: relative;
	text-indent: 25px;
}
h4.recruit::before{
	content:"";
	width:15px;
	height: 15px;
	background:#333;
	position: absolute;
	top:3px;
	left:0;
}
ul.recruit{
	margin-left:80px;
}
ul.recruit li{
	list-style: disc;
}
ul.recruit2{
	margin-left:55px;
	margin-bottom: 10px;
}
ul.recruit2 li{
	text-indent:25px;
	position: relative;
}
ul.recruit2 li::before{
	content:"";
	width:15px;
	height: 15px;
	background:#333;
	position: absolute;
	top:3px;
	left:0;
}
ul.recruit3{
	margin-left:55px;
	margin-bottom: 10px;
	margin-top:10px;
}
ul.recruit3 li{
	padding-left:25px;
	position: relative;
}
ul.recruit3 li::before{
	content:"";
	width:15px;
	height: 15px;
	box-sizing: border-box;
	border:2px solid #333;
	position: absolute;
	top:3px;
	left:0;
}
div.newsWrapper {
	margin-top:50px;
	overflow: hidden;
}
div.newsWrapper div.main{
	width:640px;
	float: right;
}
div.newsWrapper div.side{
	width:300px;
	float: left;
}
div.newsWrapper div.side ul{
	margin:10px 10px 30px;
}
div.newsWrapper div.side ul li{
	list-style: disc;
	margin-left:20px;
	margin-bottom: 5px;
}
div.newsWrapper p.date{
	margin-top:1em;
	text-align: right;
	margin-bottom: 1em;
}
div.entryBody{
    margin:10px;
}
div.entryBody h1,
div.entryBody h2,
div.entryBody h3,
div.entryBody h4,
div.entryBody h5,
div.entryBody h6{
    font-weight: bold;
    margin-bottom:1em;
}
div.entryBody h1{
    font-size:30px;
}
div.entryBody h2{
    font-size:28px;
}
div.entryBody h3{
    font-size:26px;
	color:#000 !important;
	background:none !important;
	text-indent:0 !important;
}
div.entryBody h4{
    font-size:24px;
}
div.entryBody h5{
    font-size:22px;
}
div.entryBody h6{
    font-size:20px;
}

div.entryBody p{
    margin-bottom:10px;
}
div.entryBody p strong{
    font-weight: bold;
}
div.entryBody ol,
div.entryBody ul{
    margin:10px 0 10px 30px;
}
div.entryBody ul li{
    list-style: disc;
}
div.entryBody blockquote{
    margin:20px;
    padding:15px;
    background:#efefef;
    border-radius: 4px;
}
div.entryBody img{
    max-width: 100%;
    height: auto;
}

div.worksWrapper {
	margin-top:50px;
	display: flex;
	justify-content:space-between;
}
div.worksWrapper table.main{
	width:730px;
	box-sizing: border-box;
	padding:25px;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
	border-bottom:1px solid #ccc;
	background:url("../images/works_bg.png") center bottom no-repeat;
	background-size:cover;
}
div.worksWrapper table.main td,
div.worksWrapper table.main th{
	padding:10px;
	border-right:1px solid #ccc;
}
div.worksWrapper table.main th{
	text-align: center;
	background:var(--navy-color);
	color:#fff;
}
div.worksWrapper div.side{
	width:230px;
	box-sizing: border-box;
	padding:15px;
	background:var(--navy-color);
}
div.worksWrapper div.side li{
	margin-bottom: 5px;
	position: relative;
	padding-left:20px;
}
div.worksWrapper div.side li::before{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3px 0 3px 10px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	left:0;
	top:0.3em
}
div.worksWrapper div.side a{
	color:#fff;
}
ul.sitemap {
	margin:50px auto;
	width:640px;
}
ul.sitemap li{
	line-height: 50px;
	background:var(--blue-color);
	border-radius: 50px;
	margin-bottom:10px;
	position: relative;
	text-indent: 50px;
	font-size:18px;
}
ul.sitemap li:hover{
	background:var(--navy-color);
}
ul.sitemap li::after{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right:15px;
	bottom:0;
	top:0;
	margin:auto;
}
ul.sitemap a{
	color:#fff;
	display: block;
	width:100%;
	height: 100%;
}
ul.sitemap span{
	position: absolute;
	text-align: right;
	display: block;
	top:0;
	bottom:0;
	right:50px;
	font-size:14px;
	color:#ccc;
}
p#totop{
	width:50px;
	height: 50px;
	background:url("../images/totop.svg") no-repeat center top;
	background-size:50px;
	position: fixed;
	bottom:50px;
	right: 50px;
	display: none;
	text-indent:100%;
	white-space: nowrap;
	overflow: hidden;
    z-index: 100;
}
p#totop a{
	display: block;
	width:100%;
	height: 100%;
}
p#totop:hover{
	background:url("../images/totop.svg") no-repeat center bottom;
	background-size:50px;

}