@charset "UTF-8";


html * {
    margin:0;
    box-sizing:border-box;
}
body{
    /*font-family :YuMincho,'Yu Mincho',"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN";*/
    font-family :"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","Osaka","Meiryo","メイリオ",YuMincho,'Yu Mincho',"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN";
}
a{
    text-decoration: none;
    color:#000;
    transition:color 0.3s;
}
li{
    list-style: none;
}
.center{
    text-align: center!important;
}
.left{
    text-align: left!important;
}
a:hover {
    color:#0085D0;
    transition:color 0.3s;
}
p{
    line-height:1.9em;
}
#wrapper{
    width:100%;
}
/* 新しいheader */
header {
    display: flex;
    justify-content: space-between;
    -webkit-display: flex;
    -webkit-justify-content: space-between;
    height:70px;
    width:100%;
    margin:0 auto;
    position: relative;
    z-index:100;
    border-bottom:1px solid #f0f0f0;
    background: #FFF;
}
header .inner{
    display: flex;
    justify-content: space-between;
    -webkit-display: flex;
    -webkit-justify-content: space-between;
    width:100%;
    height:70px;
    padding:0;
}
#logo{
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items:center;
    -webkit-display:flex;
    -webkit-justify-content: center;
    -webkit-align-items:center;
}
header h1{
    width:20%;
    height:inherit;
    
}
#logo img{
    margin-top:-5px;
    vertical-align:top;
    height:50px;
}
header > .pcHeader > ul{
    padding:0;
    width:80%;
    display:flex;
    justify-content:space-around;
    -webkit-display:flex;
    -webkit-justify-content:space-around;
}
header ul li{
    width:25%;
    display: flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    list-style: none;
    border-right:1px solid #f0f0f0;
    position: relative;
}
header ul li:first-of-type{
    border-left:1px solid #f0f0f0;
}
header ul li a{
    color:#0c0c0c;
    text-decoration: none;
    font-size:16px;
    display:flex;
    justify-content: center;
    align-items: center;
    -webkit-display:flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    width:100%;
    height:100%;
    //padding:0 5px;
    padding-bottom:10px;
    transition: .3s;
    text-align: center;
}
header ul li a:hover{
    color:#0085D0;
    transition: .3s;
    
}
.coming{
    margin-bottom:100px;
}
.toggle{
    display:block;
    width:100%;
    position:absolute;
    top:100%;
    padding:0;
    display: none;
    left:0;
}
.toggle a{
    padding:0;
}
.toggle li{
    display:block;
    width:100%;
    height:50px;
    background:#fff;
    border-left:1px solid #f0f0f0;
    border-bottom:1px solid #f0f0f0;
}

.small{
    display: block;
    font-size:10px;
}
.inner{
    position: relative;
    width:80%;
    margin:0 auto;
    padding:30px 10px;
}
main{
    width:100%;
    position:relative;
}

.section-top-mainvisual .top-slider-sp {
    display: none;
}

@media screen and (max-width:1080px) {
    .section-top-mainvisual .top-slider-pc {
        display: none;
    }
 
    .section-top-mainvisual .top-slider-sp {
        display: block;
    }
}

.topic{
    width:100%;
    margin:0;
}
.keyVisual{
    width:100%;
    position:relative;
    height:100%;
}
.keyVisual img{
    width:100%;
    height: calc(100vh - 70px - 40px);
    object-fit: cover;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    -ms-object-fit: cover;
     -o-object-fit: cover;
    object-position: center;
    font-family: 'object-fit: cover;object-position: center;';
    vertical-align: top;
}
.message .keyVisual img{
    object-position:center top;
}
#message .text section:not(:first-of-type):not(:last-of-type):not(.center){
    //padding-left: 60px;
}
#message section {
    margin:0 auto;
    margin-bottom: 20px;
    width:850px;
    padding:0;
    padding-left:80px;
    border:none;
}
#message p{
    text-align: left;
    margin-bottom:40px;
}
#message ul{
    width:80%;
    margin-top:-30px;
    margin-bottom:40px;
    background:rgba(240,240,240,0.6);
    padding:5px;
    padding-left:25px;
}
#message ul li{
    margin:10px;
    font-size:15px;
}
#idea{
    position:absolute;
    top:45%;
    right:5%;
    font-size:36px;
    font-weight:bold;
    color:#000;
    text-shadow:2px 2px 5px #fff,-2px -2px 5px #fff;
    text-align: right;
    letter-spacing: 3px;
}
.ideaSmall{
    font-size:26px;
}
.outline{
    text-shadow:-1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF;
    text-shadow:-1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF, -1px -1px 3px #FFF, 1px -1px 3px #FFF, -1px 1px 3px #FFF, 1px 1px 3px #FFF;
}
.outline2{
    text-shadow:-1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF;
    text-shadow:-1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF, -1px -1px 2px #FFF, 1px -1px 2px #FFF, -1px 1px 2px #FFF, 1px 1px 2px #FFF;
}
.outline3{
    text-shadow:-1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF;
    text-shadow:-1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px 1px 1px #FFF;
}
 .schematic{
    width:800px;
    margin:10px auto;
    display:flex;
    flex-flow:row wrap;
    justify-content: center!important;
}
 .schematics{
    width:230px;
    margin:10px auto;
    height:230px;
    border-radius:230px;
    background:#f0f0f0;
}
 .schematics p{
    text-align: center!important;
}
 .schematics h4{
    font-size:20px;
    text-align: center;
     border:none!important;
}
 .schematics .texts{
    margin-top: 60px;
}
 .schematics:first-of-type{
    background:#d9fbff;
}
 .schematics:nth-of-type(2){
    background:#e0f7bd;
}
 .schematics:last-of-type{
    background:#f7e2b9;
}
#business h3{
    margin:5px 0 30px 0;
}
#business .products{
    margin-top:60px;
}
#topMessage{
    margin-top:-7px;
    background:url(img/topJunichiOkamoto.png) no-repeat ;
    background-position: 80% bottom;
    background-size: 370px;
}
h2{
    font-size:36px;
    text-align:center;
    padding:20px 0;
}
.inner p{
    margin:10px 0;
    text-align: center;
}
footer{
    width:100%;
    border-top:1px solid #f0f0f0;
    background:#003a91;
    color:#fff;
    
}

    
.foot_in{
    width: 100%;
    display: flex;
    justify-content: space-between;
    padding:20px;
}
footer p{
    text-align: left;
    margin:0;
    font-size: 10px;
    padding-left:15px;
}
.foot_main{
    width:350px;
    height:15px;
     display:flex;
    justify-content: center;
}
.foot_main li{
    border-right:solid 1px #fff;
    text-align: center;
    width:100%;
    height:100%;
    list-style:none;
    display: flex;
    justify-content: center;
    align-items:center;
    
}
.foot_main li:first-of-type{
    border-left:solid 1px #fff;
}
.foot_main li a{
    font-size: 10px;
    color:#fff;
    vertical-align: middle;
}
.foot_main div:not(:last-of-type){
    width:20%;
    border-right:1px solid #f0f0f0;
    margin-right:20px;
}
.foot_main div:last-of-type h3{
   margin-bottom:5px;
}
.foot_main div:last-of-type h3:last-of-type{
   margin-top:15px;
}
footer h3{
    font-size:1em;
    margin-bottom:25px;
}
footer ul{
    padding:0;
    padding-left:15px;
}
footer ul li a:hover{
   text-decoration: underline;
}
#logo_foot{
    margin:5px 0;
    width:100%;
    border:none;
    text-align: center;
}
#logo_foot img{
    height:80px;   
}
#logo_foot p{
   margin:0 auto;
    width:350px;
    text-align: left;
}
#copyright{
    width:30%;
    font-size: 14px;
    text-align:center;
    
}
#copyright p{
    text-align: right;
    margin-right:10px;
}
.button{
    background:#0085D0;//rgba(30,30,30,0.8);
    width:150px;
    margin:30px auto!important;

}
.button:hover{
    background: rgba(30,30,30,0.8);
}
.button a{
    font-weight: bold;
    display: block;
    width: 100%;
    height: 100%;
    padding:5px;
    font-size:14px;
    color:#fff;
    transition:color 0.4s!important;
    text-decoration: none;
}
.button a:hover{
    color:#fff;
    transition:color 0.4s!important;
}
.trans1{
    transition: 0.6s;
}
.trans2{
    transition: 1.2s;
}
.trans3{
    transition: 2s;
}
.trans4{
    transition: 3s;
}
.trans5{
    transition: 4s;
}
.ruby{
    display: block;
    color:#999;
    font-size:12px;
    margin-top:-5px;
}
.headRuby{
    width: 100%;
    height:100%;
    /*display: flex;
    justify-content: center;
    align-items: center;*/
    position: absolute;
    color:#999;
    top:40px;
    font-size:10px;
    z-index:-1;
    left:0;
    text-align:center;
    
}
.fadeInViewOff {
    opacity:0;
}
.fadeInViewOn{
    opacity:1.0;
}
.transViewOff{
    opacity:0;
    transform: translate(0,20px); 
	-webkit-transform: translate(0,20px); 
}
.transViewOn{
    opacity:1.0;
    transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

.products,.members{
    display:flex;
    justify-content: space-around;
    flex-flow: row wrap;
    -webkit-display:flex;
    -webkit-justify-content: space-around;
    -webkit-flex-flow: row wrap;
    margin:40px 0;
}

.products {
    width: 800px;
    margin-right: auto;
    margin-left: auto;
    justify-content: space-between;
    padding-left: 0;
}


.product{
    position: relative;
    width:48%;
    margin-bottom: 40px;
    background-color: #fff;
    border-radius: 30px;
    overflow: hidden;
    padding-bottom: 10px;
}
#topBusiness h3{
    text-align: center;
    margin-bottom:10px;
}

#topBusiness .product{
    border:none;
}
#topBusiness .product h3{
    width:100%;
    border-bottom:none;
}
#topBusiness{
    margin-top: -7px;
}
.director{
    position: relative;
    width:28%;
    margin-bottom: 100px;
}
.member{
    position: relative;
    width:21%;
    margin-bottom: 40px;
}
.product img,.member img,.director img{
    width:100%;
}
.member img,.director img{
    border-radius: 50%;
}
.product h3,.member h3,.director h3{
    text-align:center;
    font-size:21px;
    padding:5px 0;
}
.member h3,.director h3{
    margin-top:10px;
    border-bottom:none;
}
.member h3{
    font-size:20px;
}
.product p{
    text-align: left;
}
.product p,.member p,director p {
    padding:10px;
}
.product a,.member a,.director a{
    position: absolute;
    top:0;
    display: block;
    width: 100%;
    height:100%;
    transition: background 0.3s;
}
.product a:hover,.member a:hover,.director a:hover{
    background: rgba(255,255,255,0.35);
    transition: background 0.3s;
}
.company{
    margin-bottom:60px;
}
.company dl{
    width:95%;
    margin:20px auto;
    text-align: center;
}
.company dt{
    width:50%;
    margin:5px auto;
    font-size:22px;
    font-weight: bold;
    border-bottom:1px solid #f0f0f0;
}
.company dd{
    font-size:16px;
    margin-top:5px;
    margin-bottom:25px;
}
.company table{
    max-width:1000px;
    margin:30px auto;
    text-align: left;
    border-spacing:0 30px; 
}
.company table th,.company table td{
    padding-left:10px;
}
.company table th{
    margin:0;
    font-size:24px;
    font-weight: bold;
    border-bottom:1px solid #f0f0f0;
    width:30%;
}
.company table td{
    margin:0;
    font-size:18px;
    width:70%;
    border-bottom:1px solid #f0f0f0;
    padding-left:100px;
}
.contact{
    margin-bottom:40px;
}
.contact table{
    max-width:1000px;
    width:700px;
    margin:20px auto;
    margin-top:40px;
    margin-bottom: 0;
    //border:3px solid #dcdcdc;
    border-spacing:0 20px;
    padding:20px;
    padding-bottom:0px;
    
}
.contact table th,.contact table td{
    padding-top:5px;
    border-bottom:1px solid #dcdcdc;
}
.contact table th{
    width:200px;
    font-size:18px;
    text-align: left;
    vertical-align:middle;
    padding-left:10px;
}
.contact table input,textarea{
     border: 2px solid #dcdcdc;
}
.contact table input{
    margin-bottom: -2px;
    height:36px;
    font-size:16px;
    width:100%;
    padding-left:5px;
    margin-right:0;
}

/* 600px以下(スマホ用) */
@media screen and (max-width:600px) {
    .contact table, .contact table tr, .contact table th, .contact table td
     {
        display: block;
        max-width: 100%;
    }
    .contact table th{
        border: 0;
    }
    .contact table td{
        margin-bottom: 10px;
    }
}

.contact table input[name='age']{
    width:60px;
}
.contact table [type="radio"]{
    display: inline-block;
    width:15px;
    vertical-align:middle;
    margin-right:4px;
    margin-left:20px;
    
} 
textarea{
    width:100%;
    font-size:16px;
    padding:10px;
    margin-bottom: -8px;
}
.agree{
    font-size: 17px;
    width:80%;
    margin:10px auto!important;
    text-align:center!important;
    //border-bottom: 1px solid #f0f0f0;
}
.agree a{
    color:#5484c8;
    text-decoration: underline;
}
.agree a:hover{
    color:#C03;
    transition:.3s;
}
.agree input[type="checkbox"]{
    width:15px;
    height:15px;
    vertical-align:middle;
}
.submitButton{
    display: block!important;
    width:350px;
    height:70px;
    margin:30px auto;
    font-size:20px;
    color:#fff;
    font-weight: bold;
    background:#0085D0;
    cursor: pointer;
}

.submitButton_saiyo{
    display: block!important;
    width:350px;
    height:70px;
    margin:30px auto;
    font-size:20px;
    color:#fff;
    font-weight: bold;
    background:#FF6347;
    cursor: pointer;
}

/* 600px以下(スマホ用) */
@media screen and (max-width:600px) {
    .submitButton{
        width:100%;
    }
	.submitButton_saiyo{
        width:100%;
    }
}

.entryButton{
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-display: flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
	width: 180px;
    height:55px;
    margin:30px auto;
    font-size:20px;
    color:#fff;
    font-weight: bold;
    background:#0085D0;
    cursor: pointer;
}
.entryButton a{
    display:block;
    width: 100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
    -webkit-display:flex;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    color:#fff;
}
.apply_box {
	display:flex;
	justify-content: space-around;
}

#contact .entryButton{
    top:40px;
	right:0;
	position:absolute;
}
.required{
    display: inline-block;
    padding:2px 5px;
    background:#ffefef;
    color:#e85656;
    font-weight: bold;
    margin-left:5px;
    vertical-align:text-top;
    font-size:10px;
}
.any{
    display: inline-block;
    padding:2px 5px;
    background:#e6e6e6;
    font-weight: bold;
    margin-left:5px;
    vertical-align:text-top;
    font-size:10px;
}
.ceo{
    font-size:30px;
}
.bold{
    font-weight: bold;
}
.f30{
    font-size:30px;
}
#directorList{
    width:100%;
    display:flex;
    justify-content: center;
    -webkit-display:flex;
    -webkit-justify-content: center;
    padding:0;
}
#directorList li{
    width:20%;
    text-align: center;
    font-size:20px;
}
#directorList li a{
    display: block;
    width:100%;
    height:100%;
    transition: background 0.3s,color 0.3s;
}
#directorList li a:hover{
    background:rgba(0,133,208,0.2);
    transition: background 0.3s,color 0.3s;
}
#directorList li:nth-of-type(2){
    border-left:1px solid #f0f0f0;
    border-right:1px solid #f0f0f0;
}
#recruit .keyVisual #idea{
    top:0;
    left:0;
    width:100%;
    height:100%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    -webkit-display: flex;
    -webkit-justify-content: flex-end;
    -webkit-align-items: center;
}
#recruit p,#interview p{
    margin:10px 0;
    text-align: left;
    padding:10px;
}
#interview p{
    padding:5px;
}
#recruit section h3,#interview section h3{
    font-size:26px;
    padding-left: 10px;
    border-left:6px solid #0085D0;
    margin-bottom: 30px;
    margin-top:50px;
}
#interview section h3{
    font-size:20px;
}
#recruit section h4,#recruit section h5,#interview section h4{
    margin:0 auto;
	padding:10px;
    font-size:18px;
    border-bottom:1px solid #0085D0;
}
#recruit section ul:not(first-of-type),#mission section ul{
    margin-top:20px;
}
#recruit section li:before,#mission section li:before,#message ul li:before,#business ul li:before,#sitemap ul li:before,.not_found .sitemap ul li:before{
    content: '';
	width: 4px;
	height: 4px;
	display: inline-block;
	border-radius: 100%;
	background: #0085D0;
	position: relative;
	left: -6px;
	top: -3px;
}
#recruit section li,#mission section li{
    margin:10px 0;
}
.applies {
		text-align:center;
}
.clue{
    width:100%;
    margin:0 auto;
    font-size:26px;
    background:url(img/underline.png) no-repeat center;
    background-size: contain;
}
.requirementsType{
    font-size:24px!important;
    border-bottom:none!important;
    border-left:4px solid #0085D0;
	border-bottom:4px solid #0085D0!important;
	/*
    margin-left:20px!important;
    margin-top:70px!important;
	*/
}
.del-b-top {
	border-top:none!important;	
}

.del-b-bottom {
	border-bottom:none!important;		
}

.requirements table{
    width:100%;
   /* margin:20px; */
    text-align:left;
}
.requirements table th,.requirements table td{
    border-top:1px solid #0085D0;
    margin:0;
    padding:15px;
}
.requirements table th {
    border-right:1px solid #0085D0;
    width:150px;
}
.requirements table tr:first-of-type td{
    font-weight: bold;
}
.requirements table tr:last-of-type th,.requirements table tr:last-of-type td{
    border-bottom:1px solid #0085D0;
}
.requirements table td p{
    margin:0!important;
    padding:0!important;
}
.requirements table td dl{
    margin:10px 0;
}
.requirements table td dd{
    padding-left:20px;
}
.requirements_box {
	width: 700px;	
	margin: 0 auto;
	margin-bottom: 70px;
	border:1px solid #0085D0;
}
.contact h3{
    border-left:none!important;
    text-align: center;
}
.directorDetail{
    width:45%;
    max-height:70%;
    position:absolute;
    top:20%;
    right:5%;
    background:rgba(255,255,255,0.7);
    padding:40px;
    overflow-y:scroll;
}
#maruyama .directorDetail,
#okamoto .directorDetail{
    left:5%;
}
.directorDetail h3{
    font-size:30px;
    text-align:center;
    margin:0 0 30px 0;
}
.directorDetail h4{
    text-align: center;
    font-size:24px;
    margin-top:20px;
}
.directorDetail table{
    margin:0 auto;
    width:70%;
}
.directorDetail table th{
    width:50%;
}
 .directorDetail::-webkit-scrollbar {
    width: 12px;
}
 
.directorDetail::-webkit-scrollbar-track {
    //-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
    border-radius: 10px;
}
 
.directorDetail::-webkit-scrollbar-thumb {
    border-radius: 10px;
    -webkit-box-shadow: inset 0 0 6px rgba(200,200,200,0.5);
}
.career{
    //text-align: center;
    line-height: 2.5em;
}
.position{
    padding-bottom:10px;
    font-size:22px;
}
section{
    position: relative;
    padding-bottom:50px;
    border-bottom:2px solid #f0f0f0;
}
#directors section{
    padding:0;
    margin-bottom:-8px;
    border-bottom:none;
}
#directors h2{
    margin-top: 20px;
}
#directors section:first-of-type{
    margin-top:20px;
}
#directors section:last-of-type{
    //margin-bottom:50px;
}
#mission section:first-of-type{
    //padding-top:45px;
    border-top:2px solid #f0f0f0;
}

section:last-of-type{
    border-bottom: none;
}
.privacy h3{
    border-bottom:1px solid #f0f0f0;
    margin-top:50px;
}
.privacy p{
    margin-bottom:25px;
    text-align: left;
}
.privacy ol li{
    list-style: decimal;
}
#mission h2{
    margin-bottom: 20px;
}
#mission h3{
    text-align: center;
    font-size: 24px;
    margin-top:30px;
}
input::-webkit-input-placeholder,textarea::-webkit-input-placeholder {
    //color: #ccc;
    font-weight: normal;
}
input:-ms-input-placeholder,textarea::-webkit-input-placeholder {
    color: #ccc;
    font-weight: normal;
}
input::-moz-placeholder,textarea::-moz-placeholder {
    color: #ccc;
    font-weight: normal;
}

#pageTop {
    position: fixed;
    bottom: 43px;
    right: 20px;
    font-size: 77%;
}
#pageTop a {
    //background:rgba(30,30,30,0.5);
    text-decoration: none;
    color: #fff;
    width: 100px;
    padding:0;
    text-align: center;
    display: block;
    border-radius: 5px;
    transition:.2s;
    opacity:0.6;
    transition:.3s;
}
#pageTop a:hover {
    opacity: 1;
    text-decoration: none;
    //background:rgba(30,30,30,0.8);
}
.interviewer{
    width:40%!important;
    margin:0 auto!important;
    text-align: center;
}
.interviewerProfile{
    display:inline-block;
    width:100%;
    margin: 0 auto;
    margin-top: 10px;
    padding-left: 50px;
}
.interviewerProfile dt{
    border-bottom:1px solid #0085D0;
    display:inline-block;
    width:20%;
    
    margin: 0 auto;
}
.interviewerProfile dd{
    display:inline-block;
    margin-bottom:10px;
    width:80%;
    text-align: left;
    padding-left: 20px;
}
.interviewer img{
    width:70%;
}
#interview {
    margin-bottom:30px;
}
#interview .entryButton{
    display: block;
    font-size:24px;
    width:50%;
    height:70px;
    position: relative!important;
    margin:20px auto;
}
.type{
    text-align: center;
    font-size: 30px;
    width:90%;
    margin:0 auto;
    margin-top:30px;
    border-bottom:1px solid #0085D0;
}
.subh2{
    font-size:0.8em!important;
}
#mission section{
    margin-top:30px;
}
#mission section h3{
    margin-bottom:30px;
}
#mission section h4{
    margin:30px 0;
    font-size:20px;
    text-align: center;
}
#mission section h5{
    font-size:16px;
    margin-top:20px;
}
#mission section p{
    text-align: left;
}
#mission section img{
    display: block;
    margin: 40px auto;
}
rt{
    font-size:18px;
}
.gallery{
    margin:30px auto;
    margin-top:0;
    margin-bottom:70px;
    width:800px;
    overflow:hidden;
}
.gallery h2{
    margin:10px 0;
}
.gallery h3{
    text-align: center;
    margin:30px auto;
    font-size:30px;
}
.gallery .thumb-item li{
    width: 100%;
    
}
.gallery .thumb-item img{
    width:100%;
}
.gallery .thumb-item-nav{
    cursor: pointer;
}
.galleryText{
    position:absolute;
    bottom:20px;
    left:20px;
    z-index:1000!important;
    background:rgba(255,255,255,0.5);
    padding:10px;
    font-size:19px;
    font-weight:bold;
}
/*左右の矢印の色を変える*/
.slick-slider{
    padding:0;
}
/*左右の矢印の位置を変える*/
.slick-next {
    height:133px;
    width:30px;
    right: 0px;
    z-index: 99;
    background: rgba(0,0,0,0.3)!important;
    transition:background .3s;
}
.slick-next:hover{
    background: rgba(0,0,0,0.5)!important;
}
.slick-prev {
    height:133px;
    width:30px;
     left: 0px;
    z-index: 100;
    background: rgba(0,0,0,0.3)!important;
    transition:background .3s;
}
.slick-prev:hover{
    background: rgba(0,0,0,0.5)!important;
}
/*スライド数のドットの色を変える*/
.slick-dots li.slick-active button:before,
.slick-dots li button:before {
    color: #fff;
}
/*スライド画像の横幅可変*/
img {
    max-width: 100%;
     height: auto;
}
#topBusiness{
    //background:rgba(0,133,208,0.1);
}
#topBusiness .product_desc h3{
    font-size:20px!important;
}
#topMessage{
}
#topMessage .inner{
    
}
#topGreetings{
    background:rgba(0,133,208,0.1);
    margin-bottom: 2rem;
}
#topGreetings .catch{
    font-size: 1.17em;
    text-align: center;
    margin: 0;
}
#topGreetings .catch a{
    border-bottom: 1px solid #333;
    padding-bottom: 0.2rem;
}
#topMission{
    background:rgba(0,133,208,0.1);
}
.topMenu div:not(:first-of-type) p{
    font-size:18px;
    line-height: 2em;
}
.drawer{
    display:none;
}
#spLogo{
    display: none;
     width:auto;
     height:100%;
}
#spLogo a{
     display: block;
     width: 100%;
     height:100%;
    margin-top:7px;
    margin-left: 5px;
}
#spLogo img{
    height:65%;
}
.requirementsSp{
    display:none;
}
.SpForm{
    display:none;
}
.Sp{
    display:none;
}
#thanks h2{
    margin:100px;
}
.merit{
    background:rgba(240,240,240,0.6);
    font-size:14px;
    padding:15px;
    margin-left:10px;
}
.merit dt{
    padding-left:5px;
    font-size:15px;
}
.merit dd{
    margin-bottom:15px;
    padding-left:13px;
}
.place{
    padding:10px;
}
.place dt{
    font-weight:bold;
}
.place dd{
    padding-left:15px;
   margin:0;
    
}
.place dd:first-of-type{
    margin-bottom:20px;
}
.sitemap{
    width:600px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    margin:20px auto;
}
.sitemap h3{
    width:200px;
    font-size:24px;
    border-bottom:1px solid #0085D0;
    margin:5px;
    margin-top:20px;
}
.sitemap_box{
    width:40%;
}
.sitemap_box ul{
    margin-top:5px;
}
.sitemap_box li{
    margin:10px;
}
#sitemap_foot{
   margin-top:10px;
}
.crumb{
    width:100%;
	height:40px;
    font-size:11px;
    background:rgba(200,200,200,0.3);
    padding-left:10px;
    padding-left:4%;
	white-space:nowrap;
	overflow-x:auto;
	display:flex;
	align-items:center;
}
.crumb a{
    color:#0085D0;
	margin-right: 0.5em;
}
.not_found{
    text-align:center;
    margin:20px auto;
}
.not_found p{
    margin:15px auto;
}
.not_found .sitemap{
    width:600px;
    margin:30px auto;
    text-align: left;
}
/*********** PCウィンドウ狭め & タブレット *************/
@media only screen and (max-width: 1080px) and (min-width: 768px){
    header ul li a{
        font-size:15px;
    }
    .headRuby{
        font-size:8px;
    }
    #logo img{
        height:38px;
    }
	#recruit .keyVisual img {
		object-position:20% center;
	}
    #idea{
        font-size:32px;
    }
    #business{
        font-size:1em!important;
    }
    .foot_main a,.foot_main p{
        font-size:14px;
    }
    .foot_main div:not(:last-of-type){
        margin-right:10px;
    }
    footer ul{
        padding-left:5px;
    }
    #pageTop a{
        width:80px;
    }
    .gallery{
        width:600px;
    }
    .galleryText{
    font-size:16px;
    }
    /*左右の矢印の色を変える*/
    .slick-slider{
        padding:0;
    }
    /*左右の矢印の位置を変える*/
    .slick-next {
        height:103px;
    }
    .slick-prev {
        height:103px;
    }
    #business .schematics{
    width:190px;
    margin:10px auto;
    height:190px;
    border-radius:190px;
    
    }
    #business .schematics h4{
        font-size:18px;
        text-align: center;
    }
    #business .schematics p{
        font-size:15px;
        text-align: center;
    }
    #business .schematics .texts{
        margin-top: 45px;
    }
    .directorDetail{
    top:10%;
    right:5%;
    background:rgba(255,255,255,0.7);
    padding:20px;
    overflow-y:scroll;
    }
    .directorDetail h3{
        font-size:26px;
        text-align:center;
        margin:0 0 15px 0;
    }
    .directorDetail p{
        font-size:14px;
        line-height: 1.9em;
    }
    .crumb{
        padding-left:15px;
    }

    .products {
        width: 100%;
    }
}





/*********** スマートフォン *************/
@media only screen and (max-width: 767px) {
    .inner{
        width:95%!important;
    }
    .drawer{
        display: block;
    }
    h2{
        font-size: 30px;
    }
    header{
        width:100%;
        height:50px;
        position: fixed;
        top:0;
    }
    main{
        margin-top:50px;
    }
    .pcHeader{
        display: none!important;
    }
    #spLogo{
        display: block;
    }
	.keyVisual img {
		height:calc(100vh - 50px - 40px)
	}
	
	#recruit .keyVisual img {
		object-position:30% center;
	}
	
    #idea{
        font-size:20px;
        letter-spacing: 0;
    }
    .ideaSmall{
        font-size:14px;
    }
    #pageTop a{
        width:50px;
    }

    .products {
        width: 100%;
        padding: 0;
    }

    .product{
        width:100%;
        margin:0px;
        border:none;
        margin-bottom: 2rem;
    }
    .product p{
        padding:5px!important;
    }
    .company table th,.company table td{
        font-size:13px;
    }
    .company table th{
        padding-left:40px;
    }
    .company table td{
        padding-left:50px;
    }
    .gallery{
        width:100%;
    }
    .galleryText{
        font-size:12px;
    }
    /*左右の矢印の色を変える*/
    .slick-slider{
        padding:0;
    }
    /*左右の矢印の位置を変える*/
    .slick-next {
        height:30px;
    }
    .slick-prev {
        height:30px;
    }
    #topMessage{
        margin-top:-7px;
        background:url(img/sp/topJunichiOkamoto.png) no-repeat bottom;
        background-position: 30px top; 
        background-size:700px;
    }
    .directorDetail{
    font-size:0.6em;
        padding:20px;
    }
    .directorDetail h3{
        font-size:20px;
        margin-bottom:15px;
    }
    .position{
        font-size:15px;
    }
    .ruby{
       font-size:9px; 
    }
    rt{
        font-size:13px;
    }
    
.interviewer{
    width:70%!important;
    margin:0 auto!important;
    text-align: center!important;
    }
    .interviewerProfile{
        padding-left:0;
        margin-left:-20px;
        width:350px;
    }

    .interviewer img{
        display: block;
        margin: 0 auto;
        width:60%;
        
    }
	
	.merit {
		margin-left: 0;
		margin-top:5px;
		
	}
	
	.requirements_box ul {
		padding: 0;
	}
    
    .entryButton{
        height:45px;
		width: 150px;
        margin:30px auto;
        font-size:14px;
        color:#fff;
        font-weight: bold;
        background:#0085D0;
        cursor: pointer;
    }
    #contact .entryButton{
        font-size:13px;
        width:85px;
        top:75px;
        height:40px;
    }
    .requirementsType{
       /* margin-left:5px!important;
        margin-top:30px!important; */
    }
    .requirements table{
        display:none;
    }
    .requirementsSp{
        display:block;
    }
    .requirementsSp dt{
        margin-top:30px;
        font-weight: bold;
        border-bottom:1px solid #0085D0;
        margin-left:8px;
        padding-left:2px;
    }
    .requirementsSp dd{
        margin-top:5px;
        padding-left:10px;
    }
	.apply_box {
		margin-top: 30px;	
	}
    #topBusiness .product{
        margin:10px;
    }
    #topBusiness .product_desc h3{
        font-size:16px!important;
    }
    #topMission p{
        //background:rgba(0,133,208,0.1);
    }
    #business ul{
    width:auto;
    margin:0 auto;
    }
    .drawer-menu{
        width:100%;
    }
    .drawer-menu li{
        display: block;
        width:100%;
        height:50px;
        border-left:none!important;
    }
    .border{
        border-bottom:1px solid #d7e9f7;
    }
    .border2{
        border-bottom:1px solid #d7e9f7;
    }
    .drawer-menu .category{
        background:#003a91;   
    }
    .drawer-menu li:not(.category){
        background:#476d9f;
    }
    .drawer-menu li a{
        padding:0;
        margin:0;
        color:#fff;
        justify-content: flex-start;
        padding-left:15px;
    }
    .drawer-menu li a:hover{
        color:#fff;
        text-shadow:2px 2px 2px #fff;
    }
    .drawer-menu li:not(.category) a{
        padding-left:30px;
    }
    .directorDetail{
        width:50%;
        top:10%;
        right:5%;
        background:rgba(255,255,255,0.7);
        padding:10px;
        overflow-y:scroll;
    }
    .directorDetail h3{
        font-size:23px;
        text-align:center;
        margin:0 0 10px 0;
    }
    .directorDetail p{
        font-size:13px;
        line-height: 1.8em;
    }
    .position{
        font-size: 16px;
    }
    
    .SpForm{
        display: block;
    }
    .PcForm{
        display:none;
    }
    
    #message section {
        margin:0 auto;
        margin-bottom: 20px;
        width:100%;
        padding:0;
        border:none;
    }
    #message p{
        text-align: left;
        margin-bottom:40px;
    }
    #message ul{
        width:80%;
        margin:0 auto;
        margin-top:-30px;
        margin-bottom:40px;
        background:rgba(240,240,240,0.6);
        padding:5px;
        padding-left:25px;
    }
    #message ul li{
        margin:10px;
        font-size:15px;
    }
    
    .contactSp dt{
        width:95%;
        margin:0 auto;
        border-bottom:1px solid #f0f0f0;
        margin-top:30px;
        padding-bottom:5px;
    }
    .contactSp dd{
        width:95%;
        margin:0 auto;
        margin-top:5px;
    }
    .contactSp dd input[type='text'],.contactSp dd input[type='email'],.contactSp dd input[type='number']{
        width:100%;
        height:44px;
    }
    .contactSp dd input,.contactSp textarea{
        font-size:17px;
    }
    .contactSp dd input[name='age']{
        width:80px;
    }
    .contactSp label {
        display: inline-block;
        width:100%;
        text-align: center;
    }
    .contactSp label input[type='radio']{
        width:22px;
        height:22px;
        vertical-align: middle;
        margin-right:5px;
    }
    form .agree:first-of-type{
        font-size:10px!important;
    }
    #recruit h2{
        font-size:28px;
    }
    #recruit h3{
        font-size:22px!important;
    }
    #recruit h4{
       /* font-size:18px!important;*/
    }
    .clue{
        font-size:20px!important;
        width: 100%;
    }
    #recruit p,#interview p{
        margin:10px 0;
        text-align: left;
        padding:10px 0;
    }
	
	.requirements_box {
		width: 100%;
	}
	
	.requirements_box h4{
    	font-size:16px!important;
	}
	
    .schematic{
    width:100%;
    }
    .schematics{
        width:192px;
        margin:10px auto;
        height:192px;
        border-radius:192px;
        background:#f0f0f0;
    }
     .schematics p{
        font-size:16px;
    }
     .schematics h4{
        font-size:18px;
        text-align: center;
         border:none!important;
    }
     .schematics .texts{
        margin-top: 30px;
    }
     .schematics:first-of-type{
        background:#d9fbff;
    }
     .schematics:nth-of-type(2){
        background:#e0f7bd;
    }
     .schematics:last-of-type{
        background:#f7e2b9;
    }
    
    #business .schematics{
        width:150px;
        margin:10px auto;
        height:150px;
        border-radius:150px;
    }
    #business .schematics h4{
        font-size:17px;
        text-align: center;
    }
    #business .schematics p{
        font-size:12px;
        text-align: center;
    }
    #business .schematics .texts{
        margin-top: 35px;
    }
    #business .product h3{
        font-size:16px;
    }
    #business .product p{
        font-size:14px;
        padding:0;
    }
    #mission h2{
        font-size:28px;
    }
    #mission h3{
        font-size:18px;
        margin:10px 0;
    }

    #mission p,#mission li{
        font-size:14px;
    }
    #recruit section ul:not(first-of-type),#mission section ul{
        padding-left:10px;
    }
    .topMenu div:not(:first-of-type) p{
    font-size:15px;
    line-height: 2em;
    }
    .Sp{
    display:block;
    }
    .Pc{
        display:none;
    }
    footer{
        padding-top:15px;
    }
    #logo_foot img{
        height:60px;
    }
    .tel{
        text-decoration: underline;
    }
    .foot_sp{
        
    }
    .foot_in{
        display:block;
        padding:5px;
    }
    .foot_main{
        padding:0;
        width:100%;
    }
    #copyright{
        margin-top:10px;
        width:100%; 
    }
    #copyright p{
        text-align: center;
    }
    .foot_main li a{
        font-size:12px;
    }
    .sitemap{
        width:100%;
        flex-flow: row wrap;
        justify-content: space-between;
        
    }
    .sitemap h3{
        width:200px;
        font-size:24px;
        border-bottom:1px solid #0085D0;
        margin:5px auto;
        margin-top:25px;
        text-align: center;
    }
    .sitemap_box{
        width:100%;
    }
    .sitemap_box ul{
        margin-top:5px;
        width:50%;
        margin: 0 auto;
    }
    .sitemap_box li{
        margin:10px;
    }
    .crumb{
        padding-left:10px;
    }
    #pageTop{
        bottom:55px;
    }
    #interview .entryButton{
        width:280px;
    }
    .type{
        font-size:22px;
    }
    #interview section h3{
        font-size:18px;
    }
    .not_found{
        margin-top:40px;
    }
    .not_found .sitemap{
        width:100%;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        margin:20px 0;
    }

}