.desktop{
	display: none;
}
.openbtn1{
	background:var(--blue-color);
	cursor: pointer;
    width: 50px;
    height:50px;
    position: absolute;
    top:0;
    bottom:0;
    margin:auto;
    right:10px;
    transform: scale(0.88) !important;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
	background: #fff;
  	width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
	top:15px;	
}

.openbtn1 span:nth-of-type(2) {
	top:23px;
}

.openbtn1 span:nth-of-type(3) {
	top:31px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
div#headerWrapper {
	width:100%;
	background:var(--blue-color);
	height: 80px;
	min-width: 100%;
	overflow: hidden;
	border-bottom:2px solid #fff;
	position: fixed;
	top:0;
	right:0;
	z-index: 100;
}
div#header{
	width:100%;
	height: 80px;
	margin:auto;
}
div#header h1{
	background:url("../images/top_img.png") no-repeat;
	background-size:160px;
	width:160px;
	height: 49px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	margin:15px 0 15px 15px;
}
div#header h1 a{
	display: block;
	width:100%;
	height: 100%;
}
nav{
	position: fixed;
	width:100%;
	top:80px;
	right:0;
	background:var(--menu-color);
	z-index: 10;
	display: none;
}
ul#nav{
	width:100%;
	margin:auto;
	background:#000;
}
ul#nav li{
	width:100%;
	height: 45px;
	line-height: 45px;
	text-indent: 15px;
	font-size:16px;
	font-weight: bold;
	background:var(--menu-color);
	border-bottom: 2px solid #000;
	position: relative;
}
ul#nav li a{
	color:#fafafa;
	display: block;
	width:100%;
	height: 100%;
}
ul#nav li span{
	position: absolute;
	display: block;
	font-size:12px;
	color:#74767e;
	top:0;
	right:10px;
	bottom:0;
	margin:auto;
}
div.contents {
	margin:10px;
}
div.contents.privacy {
    background:url("../images/privacy_bg.png") center bottom no-repeat;
    background-size:cover;
}
div.contents.flex {
}
div.contents div.left{
	background-image:url("../images/footer_logo02.png");
	background-repeat: no-repeat;
	background-position: right top;
}
div.contents div.right{
	text-align: center;
}
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{
	margin:10px;
}
p.ceo{
	text-align: right;
	margin:10px;
	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:100%;
	background:#575757;
	margin:80px auto 30px;
	overflow: hidden;
}
div.top{
	width:100%;
	overflow: hidden;
	margin:auto;
	position: relative;
}
div.top > img{
	width:100%;
}
div.slidesWrapper{
	width:100%;
	box-sizing: border-box;
	border:10px solid #575757;
}
div.slides{
	width:100%;
	box-sizing: border-box;
	overflow: hidden;
	position: relative;
}
div.slides img{
	height: 100%;
	width:auto;
}
button.slick-prev {
	background: url("../images/arrow_prev.svg") no-repeat;
	background-size: 30px;
	left: 5px;
}
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: 5px;
}
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;
	bottom: calc(50% - 30px);
	z-index: 1;
	border: none;
	cursor: pointer;
}
ul.slick-dots {
	width: 100%;
	height: 20px;
	text-align: center;
	overflow: hidden;
	position: absolute;
	bottom: 1px;
}







div#footerWrapper{
	width:100%;
	background:#444;
}
div#footer div.footerLinkWrapper{
	width:100%;
}
div#footer a.footerLogo{
	display: block;
	margin:10px auto;
	
	display: none;
}
div#footer a.footerLogo img{
	object-position: center center;
}
div.footerInfo{
	color:#fff;
	margin-left:20px;
}
div.footerInfo p.small{
	font-size:14px;
	line-height: 1em;
	
	display: none;
}
div.footerInfo p.companyName{
	font-size:20px;
	margin-bottom: 1em;
	
	display: none;
}
div.footerInfo p.footerAddress{
	margin-bottom: 1em;
	
	display: none;
}
div#footer{
	margin:10px;
	overflow: hidden;
	background:url("../images/footer_logo02.png") right top 10px no-repeat;
}
div#footer p.copy{
	font-size:12px;
	color:#fff;
	margin:10px;
}
div#footer div.footerLink{
	width:100%;
	height: 35px;
	margin:10px auto;
	display: flex;
	justify-content: space-around;
	align-items: center;
}
div.footerLink a{
	display: block;
	font-size:14px;
	width:160px;
	height: 35px;
	text-align: center;
	background:#939393;
	line-height: 35px;
	color:#fff;
}
div.footerLink a:hover{
	background:#333;
	color:#fff;
}
ul.news {
	margin:15px;
}
ul.news li{
	border-bottom: 1px solid #ccc;
	padding-bottom:10px;
	margin-bottom:10px;
	position: relative;
}
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);
}
ul.news li a{
	color:#333;
	margin-left:20px;
}
div.h2Wrapper {
	width:100%;
	height: 70px;
	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:2px solid #fff;
	margin-top:80px;
}
div.h2Wrapper::after{
	content: "";
	width:100%;
	height: 3px;
	background:#4b4b4b;
	min-width: 100%;
	position: absolute;
	bottom:-5px;
}
div.h2Wrapper h2{
	width:100%;
	margin:auto;
	line-height: 70px;
	color:#fff;
	font-size:22px;
	text-indent: 20px;
	font-weight: bold;
	text-shadow: 3px 3px 9px rgba(0,0,0,0.35);
}
div.businessWrapper {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	margin:20px auto;
}
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 top no-repeat;
    background-size:cover;
  }
dl.company:first-child{
    margin-top:20px;
}
dl.company{
    margin:auto;
    border-bottom:2px solid #24317D;
}
dl.company > dt,
dl.company > dd{
    padding:10px;
    box-sizing: border-box;
}
dl.company > dt{
    font-weight: bold;
    
}
dl.company > dd{
    margin-left:20px;
    padding-bottom:20px
}
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:20px;
    padding-bottom:20px;
}
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:10px;
}
div.access{
    width:100%;
    box-sizing: border-box;
    padding:10px;
    border:1px solid #333;
    margin:10px auto;
}
div.access div.photo{
    width:calc(100% - 10px);
    height: 300px;
    text-align: center;
}
div.access div.photo img{
    width:100%;
    height: auto;
    display: block;
    margin: auto auto 10px;
}
div.access div.map{
    width:100%;
    height: 300px;
    margin-top:10px;
}
div.contact {
    margin-top:20px;
}
div.contact p {
	margin-top:10px;
}
dl.inquiry {
	border-bottom: 1px solid #a0a0a0;
}
dl.inquiry:first-child{
	margin-top:50px;
	border-top:1px solid #a0a0a0;
}
dl.inquiry dt{
	position: relative;
	box-sizing: border-box;
	padding: 10px;
	font-weight: bold;
	align-items: center;
}
dl.inquiry dd{
	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 {
	text-align: left !important;
	box-sizing: border-box;
	padding:10px;
	border:1px solid #333;
	border-radius: 4px;
}
p.tel strong{
	font-weight: bold;
	color:#24317D;
}
div.recruitWrapper {
	width:100%;
	background:#bbd3fb;
	margin-top:3px;
}
div.recruitTitle{
	width: 100%;
	padding:20px 20px 92%;
	height: 119px;
	box-sizing: border-box;
	margin:auto;
	background-color:#00479d;
	background-image:
		url("../images/recruit_title1.jpg"),
		url("../images/recruit_title2.jpg");
	background-position:
		left bottom,
		right bottom;
	background-repeat:no-repeat;
	background-size:50%;
	position: relative;
}
div.recruitTitle p{
	color:#fff;
}
div.recruitTitle p.title1{
	font-size:26px;
	font-weight: bold;
	text-shadow: 3px 3px 0 #000;
	text-align: center;
	margin-bottom:10px;
}
div.recruitTitle p.title2{
	text-align: center;
}
div.recruitTitle p.title3{
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	margin-top:10px;
}
h3.recruit{
	background-color:#00479d !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:30px;
}
p.strong{
	font-weight: bold;
}
h4.recruit{
	margin-left:30px;
	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:35px;
	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:35px;
	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 div.side{
	margin:10px;
}
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:24px;
}
div.entryBody h2{
    font-size:22px;
}
div.entryBody h3{
    font-size:21px;
	color:#000 !important;
	background:none !important;
	text-indent:0 !important;
}
div.entryBody h4{
    font-size:20px;
}
div.entryBody h5{
    font-size:19px;
}
div.entryBody h6{
    font-size:18px;
}

div.entryBody p{
    margin-bottom:10px;
}
div.entryBody p strong{
    font-weight: bold;
}
div.entryBody ol,
div.entryBody ul{
    margin:10px 0 10px 20px;
}
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:20px;
}
div.worksWrapper table.main{
	width:100%;
	box-sizing: border-box;
	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;
	margin-top:10px;
}
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:100%;
	box-sizing: border-box;
}
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;
}
div.worksWrapper select{
	width:100%;
	height: 45px;
	line-height: 45px;
	border:1px solid #333;
	text-indent: 10px;
	margin-bottom:10px;
	position: relative;
	border-radius: 4px;
	background:url("../images/arrow_down.svg") right 20px center no-repeat;
	background-size:15px;
}
div.worksWrapper select::before{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 20px 20px 0 20px;
	border-color: transparent transparent transparent var(--navy-color);
	position: absolute;
	top:10px;
	right:20px;
}
ul.sitemap {
	margin:50px 10px;
}
ul.sitemap li{
	line-height: 50px;
	background:var(--blue-color);
	border-radius: 50px;
	margin-bottom:10px;
	position: relative;
	text-indent: 20px;
	font-size:16px;
}
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: 10px;
	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;

}