@charset "utf-8";

body{
	width:210mm;
    height:297mm;
    max-width:210mm;
    max-height:297mm;
    font-size:105%;
    font-family:"arial";
}
/*---------------共通header---------------*/
#header{
	width:100%;
	height:150px;/*変更したところ:80px*/
	background-color:#ffffff;
	display:flex;
	justify-content:space-between;
	align-items:center;
	z-index:75;
}
.left-header{
	width:auto;
	height:100%;
    margin-left:15px;
	display:flex;
	justify-content:center;
	align-items:center;
}
.left-header img{
    width:80%;
    height:auto;
    max-width:286px;
    min-width:214px;
    max-height:52px;
    min-height:39px;
}
.rigth-header{
	width:690px;
	height:100%;
	display:flex;
    flex-wrap:wrap;
	align-items:center;
	justify-content:flex-end;/*変更したところ:center*/
}
.pc-header-menu{
    width:84px;
    display:flex;
    justify-content:center;
}
.mobile-menu-none{
	display:flex;
    margin-right:15px;
}
.main-menu{
	padding:6px 10px;
    margin:0px 2px;
}
.recruit-hp-banner{
    width:465px;
    height:45px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.recruit-hp-banner a{
    width:225px;
    height:100%;
    margin-right:15px;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:5px;
    border:4px double;
}
.rhb-inline{}
.recruit-hp-banner a:hover{
    background-color:#f0ffff;
}
.recruit-hp-banner a img{
    height:100%;
}
.menu-border{
    border-left:2px solid rgba(0,0,0,0.2);
}
.mobile-menu-none img{
    width:75%;
    height:auto;
}
.pc-menu-none{
    display:none;
}

/*---------共通mobile用ハンバーガーメニュー---------*/
.hamburger-menu-btn {
    position: fixed;
    top:15px;
    right:15px;
    display:flex;
    height:50px;
    width:50px;
    justify-content:center;
    align-items:center;
    z-index:100;
    background-color:#004F7D;
}
.hamburger-menu-btn span,
.hamburger-menu-btn span:before,
.hamburger-menu-btn span:after{
    content:'';
    display:block;
    height:3px;
    width:25px;
    border-radius:3px;
    background-color:#ffffff;
    position:absolute;
    transition:all 0.5s;
}
.hamburger-menu-btn span:before{
    bottom:8px;
}
.hamburger-menu-btn span:after{
    top:8px;
}
#check-btn:checked ~ .hamburger-menu-btn span{
    background-color:rgba(255, 255, 255, 0);
}
#check-btn:checked ~ .hamburger-menu-btn span::before{
    bottom:0;
    transform:rotate(45deg);
    background-color:red;
}
#check-btn:checked ~ .hamburger-menu-btn span::after{
    top:0;
    transform:rotate(-45deg);
    background-color:red;
}
#check-btn{
    display:none;
}
.menu-contents{
    width:65%;
    height:100%;
    position:fixed;
    top:0;
    left:100%;
    z-index:90;
    background-color:#004F7D;
    transition:all 0.7s;
    overflow:scroll;
    -ms-overflow-style:none;
    scrollbar-width:none;
}
.menu-contents::-webkit-scrollbar{
	display:none;
}
.menu-contents ul{
    padding:70px 10px 0;
}
.menu-contents ul li{
    border-bottom:solid 1px #ffffff;
    list-style:none;
}
.menu-contents ul li a{
    display:block;
    width:100%;
    font-size:15px;
    box-sizing:border-box;
    color:#ffffff;
    text-decoration:none;
    padding:10px 15px 10px 15px;
    position:relative;
}
.menu-contents ul li a::before {
    content:"";
    width:7px;
    height:7px;
    border-top:solid 2px #ffffff;
    border-right:solid 2px #ffffff;
    transform:rotate(45deg);
    position:absolute;
    right:11px;
    top:16px;
}
.block-wall{
	width:50%;
	height:100%;
	position:fixed;
	top:0;
	left:100%;
	background-color:#000000;
	opacity:0.3;
	z-index:80;
	transition:all 0.7s;
}
#check-btn:checked ~ .menu-contents{
    left:35%;
}
#check-btn:checked ~ .block-wall{
    left:0%;
}
@media(min-width:601px) and (max-width:1150px){
    .menu-contents{
        width:50%;
    }
    #check-btn:checked ~ .menu-contents{
        left:50%;
    }
}
@media(max-width:1150px){
    #header{
        height:80px;
    }
    .pc-menu-none{
        display:inline;
    }
    .mobile-menu-none,.recruit-hp-banner{
        display:none;
    }
    .left-header{
        width:100%;
        margin-left:0px;
    }
    .rigth-header{
        width:0%;
        margin-right:0px;
    }
    .recruit-hp-banner{
        display:none;
    }
    .main-visual-photo{
        top:80px;
    }
}


/*---------------共通header---------------*/


/*---------------共通body----------------*/
#body{
    max-width:100%;
    overflow-x:hidden;
}
.start-block{
    max-width:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.start-block-center{
    width:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0px 50px 50px 50px;
}
.page-title-photo{
    width:200mm;
    height:auto;
    margin-bottom:0px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    position:relative;
}
.page-title-photo img{
    width:100%;
}
.page-title-mask01{
    position:absolute;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:100%;
    height:100%;
    font-size:clamp(25px,3vw,38px);/*clampは、(最小、基本数値、最大)*/
    color:white;
    background-color:rgba(0,0,0,0.4);
}
/*------------↓↓↓damのみ↓↓↓------------*/
.page-title-mask01 p{
    font-size:clamp(20px,3vw,25px);
    padding-left:10px;
    letter-spacing:10px;
    margin-bottom:30px;
}
/*----------------↑↑↑↑↑↑-------------*/
.page-title-mask01 span{
    padding-left:40px;
    letter-spacing:40px;
    margin-bottom:30px;
}
.page-title-mask01 div{
    padding-left:5px;
    letter-spacing:5px;
}
#loading{
  width:100vw;
  height:100vh;
  transition:all 1s;
  background-color:#004F7D;
  position:fixed;
  top:0;
  left:0;
  z-index:9999;
}
.spinner{
  width:100px;
  height:100px;
  margin:200px auto;
  background-color:#fff;
  border-radius:100%;
  animation:sk-scaleout 1.0s infinite ease-in-out;
}
/* ローディングアニメーション */
@keyframes sk-scaleout {
  0%{
    transform:scale(0);
  } 100% {
    transform:scale(1.0);
    opacity:0;
  }
}
.loaded{
    opacity:0;
    visibility:hidden;
}

/*----------------index---------------*/
.index-flex{
    display:flex;
    flex-direction:column;
    align-items:center;
}
.main-visual{
    width:90%;
    height:45vw;
    margin-bottom:0px;
}
.name-origin{
    width:90%;
    height:100%;
    position:relative;
    display:flex;
    justify-content:center;
    align-content:center;
}
.name-origin-box,.name-origin-initials-box{
    display:flex;
    z-index:70;
}
.name-origin-box{
    position:absolute;
    bottom:0;
    right:0;
}
.name-origin-initials-box{
    position:absolute;
    top:30px;
    left:30px;
}
.name-origin-photo{
    max-width:90%;
}

/*--------イニシャルアニメーション--------*/
.initials{
    width:70px;
    display:flex;
    justify-content:center;
    font-size:max(6vw,45px);
    margin-right:60px;
    font-weight:650;
    color:#ffffff;
    animation:origin-initials 15s ease infinite;
}

@keyframes origin-initials{
    2%{color:#1e90ff;}
    18%{color:#1e90ff;}
    20%{color:#ffffff;}
}
.io01{animation-delay:0s;}
.io02{animation-delay:3s;}
.io03{animation-delay:6s;}
.io04{animation-delay:9s;}
.io05{animation-delay:12s;}

/*--------由来アニメーション--------*/
.origin{
    font-size:max(5vw,30px);
    font-weight:600;
    opacity:0;
    animation:name-origin 15s ease infinite;
    letter-spacing:5px;
    position:absolute;
    bottom:30px;
    right:50px;
}
@keyframes name-origin{
    2%{opacity:1; color:#1e90ff;}
    18%{opacity:1;}
    20%{opacity:0;}
}
.no01{animation-delay:0s;}
.no02{animation-delay:3s;}
.no03{animation-delay:6s;}
.no04{animation-delay:9s;}
.no05{animation-delay:12s;}

/*---------画像アニメーション---------*/
.main-visual-photo{
    width:100%;
    position:absolute;
    top:150px;/*変更したところ:80px*/
    left:0px;
    opacity:0;
    animation:name-origin-photo 15s ease infinite;
}
@keyframes name-origin-photo{
    3%{opacity:1;}
    18%{opacity:1;}
    20%{opacity:0;}
}
.nop01{animation-delay:0s;}
.nop02{animation-delay:3s;}
.nop03{animation-delay:6s;}
.nop04{animation-delay:9s;}
.nop05{animation-delay:12s;}
/*-------------------------------------------------*/
.news-block{
    width:100%;
    max-width:1400px;
    height:250px;
    margin-bottom:0px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.news-left-box{
    width:50%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.news-title{
    width:95%;
    font-size:35px;
    letter-spacing:15px;
    padding:15px 0px;
    display:flex;
    justify-content:center;
    align-items:center;
    border-top:2px solid;
    border-bottom:2px solid;
}
.scroll{
    width:95%;
    max-height:120px;
    display:flex;
    justify-content:flex-start;
    flex-direction:column;
    scroll-snap-type:y mandatory;
    overflow:auto;
    overflow-x:hidden;
    -ms-overflow-style:none;
    scrollbar-width:none;
    border-bottom:2px solid;
}
.article{
    width:95%;
    margin:15px 0px 0px 0px;
    display:flex;
}
.article a{
    transition:all 0.3s ease;
}
.article a:hover{
    color:#004F7D;
    font-weight:600;
}
.date{
    margin-right:15px;
}
.news-contents a{
    color:#004F7D;
}
.news-contents br{
    display:none;
}
.old-news{
    margin-bottom:15px;
}
.topics-link{
    width:95%;
    height:30px;
    border-bottom:2px solid;
    font-size:95%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
}

/*---------------------------------*/
.news-right-box{
    width:50%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.content-details-box{
    background-image:url("../img/mitac_info01.png");
    background-size:cover;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid;
}
.information-btn-title{
    width:auto;
    color:#fff;
    line-height:20px;
    margin:25px 15px;
}
.information-btn-title span{
    font-size:110%;
}
.content-details-img{
    margin:25px 15px;
}
.content-details-img img{
    width:100px;
    height:100px;
}
.news-right-box a{
    transition:all 0.3s ease;
    box-shadow:0 5px 1px 0 rgba(0,0,0,0.25);
}
/*--------------------------------*/
.img-menu-block{
    width:100%;
    margin-bottom:0px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.img-menu{
    width:100%;
    display:flex;
    justify-content:space-around;
}
.img-menu-btn{
    width:calc(25% - 25px);
    position:relative;
}
.img-menu-btn img{
    width:100%;
}
.mask{
    font-size:100%;
    color:#ffffff;
    width:100%;
    padding:10px 0px;
    display:flex;
    justify-content:center;
    position:absolute;
    bottom:15%;
    left:0px;
    letter-spacing:3px;
    border-top:2px solid rgba(0,117,194,0.8);
    border-bottom:2px solid rgba(0,117,194,0.8);
    background:rgba(0,117,194,0.5);
}
.img-menu-btn img{
    border:1px solid rgba(0,0,0,0.2);
    transition:all 0.3s ease;
    box-shadow:0 5px 1px 0 rgba(0,0,0,0.25);
}
/*---------------------------------------------*/

.recruit-menu{
    width:100%;
    display:flex;
    flex-direction:initial;
    justify-content:center;
    align-items:center;
    margin-bottom:0px;
}
.recruit-menu-btn{
    width:49%;
}
.recruit-menu-btn a{
    width:100%;
}
.recruit-menu-btn img{
    width:100%;
}

@media(min-width:851px) and (max-width:1240px){
    .news-left-box{
        width:60%;
    }
    .news-right-box{
        width:40%;
    }
    .mask{
        font-size:80%;
    }
}
@media(max-width:1150px){
    .main-visual-photo{
        top:80px;
    }
}
@media(max-width:850px){
    .initials{
        font-size:max(5vw,35px);
        margin-right:0px;
    }
    .scroll{
        width:95%;
        display:block;
    }
    .article{
        display:block;
        margin:10px 0px 0px 0px;
    }
    .news-contents a{
        color:#004F7D !important;
    }
    .date{
        margin-bottom:5px;
    }
    .img-menu-block{
        margin-bottom:30px;
        display:block;
    }
    .img-menu{
        width:100%;
        height:auto;
        justify-content:center;
        align-items:center;
    }
    .img-menu-btn{
        width:calc(25% - 30px);
        max-width:none;
        height:auto;
        margin:0px 10px 5px 10px;
        display:flex;
        justify-content:space-around;
        align-items:center;
    }
    .img-menu-btn a{
        position:relative;
    }
    .img-menu-btn img{
        max-width:350px;
    }
    .mask{
        max-width:350px;
        bottom:30px;
        left:0px;
    }
}
@media(max-width:600px){
    .initials{
        font-size:25px;
    }
    .name-origin-initials-box{
        top:10px;
        left:10px;
    }
    .news-contents{
        line-height:25px;
    }
    .origin{
        font-size:25px;
        right:10px;
        bottom:10px;
    }
    .news-title{
        font-size:25px;
    }
    .news-contents br{
        display:inline;
    }
    .td-h{
        font-size:18px;
    }
    .td-d{
        font-size:85%;
    }
}
@media(max-width:440px){
    .mask{
        font-size:80%;
    }
}
/*----------------topics---------------*/
.topics-block{
    width:100%;
    max-width:1300px;
    margin-top:100px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.topics-title{
    font-size:125%;
    color:#ffffff;
    padding-left:60px;
    width:75%;
    height:60px;
    border-radius:25px 25px;
    background-color:#004F7D;
    display:flex;
    align-items:center;
}
.topics-title br{
    display:none;
}
.update{
    width:75%;
    margin-top:15px;
    display:flex;
    justify-content:flex-end;
}
.topics-article{
    font-size:110%;
    width:70%;
    margin:30px 0px;
    line-height:35px;
}
.topics-article-photo{
    width:70%;
    display:flex;
    justify-content:center;
    align-items:center;
}
.topics-article-photo div{
    width:calc(50% - 10px);
    margin:5px;
}
.topics-article-photo div img{
    width:100%;
}
@media(max-width:850px){
    .topics-title{
        font-size:clamp(18px,3vw,25px);
        padding:5px 15px;  
        justify-content:center;
    }
    .topics-title br{
        display:inline;
    }
    .topics-article-photo{
        flex-wrap:wrap;
    }
    .topics-article-photo div{
    width:85%;
    }
    .topics-article,.update{
        font-size:95%;
    }
}


/*------------------overview------------------*/
.overview-pc-none{
    display:none;
}
.common-table{
    width:70%;
    max-width:1000px;
    line-height:45px;
    margin-bottom:5px;
    border-bottom:1px solid rgba(210,210,210,0.8);
}
.common-table th{
    width:140px;
    padding:0px 15px;
    background-color:rgba(210,210,210,0.5);
}
.title-radius{
    border-top-left-radius:15px 15px;
}
.common-table td{
    padding-left:15px;
}
.get-adobe-reader-block{
    width:100%;
    max-width:1300px;
    display:flex;
    justify-content:flex-end;
    margin-top:20px;
}
.get-adobe-reader{
    width:32%;
}
.gar-comment{
    width:45%;
    font-size:10px;
}
@media(max-width:850px){
    .overview-mobile-none{
        display:none;
    }
    .overview-pc-none{
        display:inline;
    }
    .overview-content-block{
        width:100%;
        margin:25px 5px;
    }
    .overview-headcontent{
        width:calc(100% - 20px);
        padding:10px 0px 10px 10px;
        background-color:#004F7D;
        color:#fff;
    }
    .overview-contents{
        width:calc(100% - 32px);
        margin-top:15px;
        padding-left:20px;
        line-height:25px;
    }
    .overview-contents ul li{
        list-style-type:disc;
        margin:0px 5px 5px 15px;
    }
    .mobile-company-history{
        margin:0px 0px 15px 0px;
    }
    .mch-contents{
        padding-left:15px;
    }
    .mobile-balancesheet{
        margin-bottom:15px;
    }
    .mobile-balancesheet-pdf a{
        display:flex;
        align-items:center;
    }
}

/*--------crane/earth/mainte/oversea--------*/
.mc{        /*------JS適用クラス-------*/
    opacity:0;
    transition:all 0.5s ease;
}
.mc.show{       /*------JS適用クラス-------*/
    opacity:1;
    transform:none;
}
.sub-title-block{
    width:100%;
    height:auto;
    font-size:150%;
    font-weight:600;
    line-height:35px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:145px 0px;
}
.mobile-inline{
    display:none;
}
.content-head-block{
    width:100%;
    max-width:1300px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0px 15px 100px 15px;
}
.photo-right-block{     /*------JS適用ブロック-------*/
    width:100%;
    max-width:1300px;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin-bottom:100px;
    transform:translate(-700px, 0);
}
.photo-left-block{      /*------JS適用ブロック-------*/
    width:100%;
    max-width:1300px;
    display:flex;
    flex-direction:row-reverse;
    justify-content:space-around;
    align-items:center;
    margin-bottom:100px;
    transform:translate(700px, 0);
}
.prb-content,.plb-content{
    width:calc(40% - 20px);
    font-size:120%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    margin:0px 15px;
    line-height:40px;
}
.owned-machine-title{
    font-size:115%;
    margin-top:25px;
}
.owned-machine{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0px 15px;
    line-height:35px;
}
.owned-machine-left{
    width:70%;
    border-top:1px solid;
    border-left:1px solid;
    border-bottom:1px solid;
}
.owned-machine-left div{
    width:100%;
}
.owned-machine-margin-left{
    margin-left:20px;
}
.owned-machine-right{
    width:30%;
    text-align:right;
    border-top:1px solid;
    border-right:1px solid;
    border-bottom:1px solid;
}
.owned-machine-margin-right{
    margin-right:20px;
}
.owned-machine-border{
    width:100%;
    border-bottom:1px solid;
}
.prb-photo,.plb-photo{
    width:calc(40% - 20px);
    display:flex;
    justify-content:center;
    align-items:center;
    margin:0px 15px;
}
.prb-photo img,.plb-photo img{
    width:100%;
    max-width:500px;
    height:auto;
}
.work-title{
    width:100%;
    display:flex;
    justify-content:center;
    font-size:140%;
    font-weight:600;
    margin-bottom:30px;
}
.work-content{
    width:100%;
}
.photo-only{        /*------JS適用ブロック-------*/
    width:100%;
    max-width:1300px;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin-bottom:100px;
    transform:translate(0, 150px);
}
.photo-only img{
    width:calc(40% - 20px);
    max-width:500px;
    height:auto;
}
.ceb{
    border:4px double #004F7D;
    border-radius:15px 15px;
    transition:all 0.8s ease;
}
.ceb a{
    color:#004F7D;
    display:flex;
    justify-content:center;
    align-items:center;
}
.ceb:hover{
    background:#f0ffff;
}
@media(max-width:850px){
    .sub-title-block{
        font-size:130%;
        margin:45px;
    }
    .pc-inline{
        display:none;
    }
    .mobile-inline{
        display:inline;
    }
    .page-title-mask01 p{
        padding-left:0px;
        letter-spacing:0px;
        margin-bottom:10px;
    }
    .page-title-mask01 span{
        padding-left:0px;
        letter-spacing:15px;
        margin-bottom:10px;
    }
    .page-title-mask01 div{
        padding-left:0px;
        letter-spacing:0px;
    }
    .photo-right-block,.photo-left-block{
        width:100%;
        margin-bottom:60px;
        font-size:105%;
        flex-direction:column;
    }
    .work-title{
        font-size:120%;
    }
    .prb-content,.plb-content{
        width:90%;
        font-size:95%;
        margin-bottom:20px;
        line-height:25px;
    }
    .owned-machine{
        width:80%;
    }
    .owned-machine-left{
        font-size:85%;
    }
    .owned-machine-right{
        font-size:85%;
    }
   .prb-photo,.plb-photo{
        width:100%;
        margin:0px;
    }
    .photo-only{        /*------JS適用ブロック-------*/
        flex-direction:column-reverse;
        justify-content:center;
    }
    .photo-only img{
        width:100%;
    }
    .ceb{
        margin:15px 0px 20px 0px;
    }
    .ceb:hover{
        background:#ffffff;
    }
}

/*-------------information---------------*/
.content-head-title{
    width:100%;
    height:auto;
    margin:145px 0px;
    font-size:150%;
    font-weight:600;
    display:flex;
    justify-content:center;
    align-items:center;
}
.content-head-content{
    width:80%;
    min-width:600px;
    line-height:45px;
    margin:0px 15px 50px 15px;
}
.chc01{
    width:75%;
    min-width:600px;
    margin:30px 15px 20px 0px;
}
.chc02{width:75%;
    min-width:600px;
    margin:0px 15px 0px 0px;
}
.content-head-photo{
    width:100%;
    display:flex;
    justify-content:center;
    align-items:center;
}
.content-head-photo img{
    width:100%;
    max-width:800px;
}
@media(max-width:850px){
    .content-head-content{
        width:90%;
        min-width:0px;
        line-height:25px;
    }
    .content-head-title{
        width:90%;
        font-size:125%;
        margin:70px 0px;
    }
    .chc01{
        width:100%;
        min-width:0px;
        line-height:25px;
    }
    .chc02{
        width:100%;
        min-width:0px;
        line-height:25px;
    }
}

/*------------------buisness-list----------------------*/
.business-list-img-menu-block{
    width:100%;
    max-width:1300px;
    margin-bottom:80px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.business-list-img-menu{
    width:80%;
    display:flex;
    flex-wrap:wrap;
}
.business-list-img-menu-btn{
    width:calc(50% - 60px);
    margin:30px;
    max-width:400px;
    position:relative;
}
.business-list-img-menu-btn img{
    width:100%;
}
.business-list-mask{
    font-size:135%;
    color:#ffffff;
    width:100%;
    height:100%;
    padding:auto;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    position:absolute;
    bottom:0px;
    left:0px;
    letter-spacing:10px;
    background:rgba(0,0,0,0.4);
}
@media(min-width:851px) and (max-width:1100px){
    .business-list-mask{
        font-size:110%;
    }
}
@media(min-width:600px) and (max-width:850px){
    .business-list-img-menu{
        width:100%;
    }
    .business-list-img-menu-btn{
        width:calc(50% - 30px);
        margin:15px;
        max-width:1000px;
        position:relative;
    }
    .business-list-mask{
        font-size:100%;
        letter-spacing:5px;
    }
}
@media(max-width:599px){
    .business-list-img-menu{
        width:100%;
    }
    .business-list-img-menu-btn{
        width:calc(50% - 10px);
        margin:5px;
    }
    .business-list-mask{
        font-size:90%;
        letter-spacing:5px;
    }
}

/*-------------president--------------*/
.president-margin{
    margin-top:20px;
}
.comment-photo-block{
    width:100%;
    display:flex;
    justify-content:space-around;
    align-items:center;
    margin-bottom:20px;
}
.president-comment-left{
    width:65%;
    line-height:20px;
    margin-right:20px;
}
.president-photo-right{
    width:35%;
    box-shadow:5px 8px 10px rgba(0,0,0,0.4);
}
.president-photo-right img{
    width:100%;
}
.comment-title{
    width:90%;
    margin-bottom:15px;
    font-size:100%;
}
.president-comment{
    width:90%;
    margin-bottom:25px;
    line-height:20px;
}
.president-name-block{
    width:90%;
    display:flex;
    justify-content:flex-end;
    align-items:center;
}
.president-name{
    text-align:right;
    line-height:25px;
}
.company-name{
    font-size:125%;
}
.name{
    font-size:95%;
}

/*--------construction_example--------*/
.construction-example-block{
    width:100%;
    max-width:1300px;
    height:auto;
}
.ce-left-content{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    align-items:center;
    margin-bottom:50px;
}
.ce-menu{
    width:calc(100% / 6);
    background-color:#d9d9d9;
    min-width:150px;
    height:50px;
    border-bottom:4px solid #004F7D;
    transition:all 0.4s ease;
}
.ce-menu:hover{
    opacity:0.7;
}
.ce-menu a{
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}
.looking-now{
    color:#ffffff !important;
    background-color:#004F7D;
}
.pickup{
    width:100%;
    font-size:35px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:35px;
}
.ce-right-content{
    width:100%;
    height:auto;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-around;
}
.modal-link-layout{
    width:calc(100% / 3 - 20px);
    height:auto;
    max-height:300px;
    margin:0px 10px 20px 10px;
}
.modal-link-layout a{
    width:100%;
    height:250px;
}
.modal-link-content{
    width:100%;
    height:100%;
    border:1px solid;
    overflow:hidden;
}
.modal-link-content img{
    height:85%;
}
.construction-name{
    height:15%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:80%;
}
.construction-example-table{
    width:100%;
    height:100%;
    line-height:45px;
    border:none;
}
.construction-example-table tr{
    border-bottom:5px solid rgba(255,255,255,1);
}
.construction-example-table th{
    width:140px;
    padding:0px 15px;
    background-color:#004F7D;
    color:#fff;
}
.construction-example-table td{
    padding-left:15px;
    color:#000;
    background-color:rgba(210,210,210,0.8);
}
.radius-end{
    border-bottom-left-radius:15px 15px;
}
/*---------↓モーダルウィンドウ↓-----------*/
.modal-wrapper{
  z-index:999;
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  left:0;
  padding:40px 10px;
  text-align:center;
}
.modal-wrapper:not(:target){
  opacity:0;
  visibility:hidden;
  transition:opacity 0.3s, visibility 0.3s;
}
.modal-wrapper:target{
  opacity: 1;
  visibility:visible;
  transition:opacity 0.4s, visibility 0.4s;
}
.modal-wrapper::after{
  display:inline-block;
  height:100%;
  margin-left:-0.05em;
  vertical-align:middle;
  content:"";
}
.modal-wrapper .modal-window{
  box-sizing:border-box;
  display:inline-block;
  z-index:20;
  position:relative;
  width:100%;
  max-width:800px;
  height:630px;
  padding:30px 30px 15px;
  border-radius:2px;
  background:#fff;
  box-shadow:0 0 30px rgba(0,0,0,0.6);
  vertical-align:middle;
}
.modal-wrapper .modal-window .modal-content{
  max-height:80vh;
  overflow-y:auto;
  text-align:left;
}
.modal-content img{
    width:100%;
    height:auto;
}
.modal-overlay{
  z-index:10;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  background:rgba(0,0,0,0.8)
}
.modal-wrapper .modal-close{
  z-index:20;
  position:absolute;
  top:0;
  right:0;
  width:35px;
  color:#95979c !important;
  font-size:20px;
  font-weight:700;
  line-height:35px;
  text-align:center;
  text-decoration:none;
  text-indent:0;
}
.modal-wrapper .modal-close:hover{
  color:#2b2e38 !important;
}
/*---------↑モーダルウィンドウ↑-----------*/
@media(min-width:601px) and (max-width:850px){
    .modal-link-layout{
        width:calc(100% / 2 - 20px);
        height:auto;
        max-height:1000px;
        margin:0px 10px 20px 10px;
    }
    .modal-link-content img{
        width:100%;
        height:auto;
    }
    .construction-name{
        height:50px;
    }
    .construction-example-table{
        font-size:90%;
    }
    .construction-example-table th{
        width:30%;
    }
    .modal-wrapper .modal-window{
        height:auto;
    }
}
@media(min-width:401px) and (max-width:600px){
    .modal-link-layout{
        width:95%;
        height:auto;
        max-height:1000px;
        margin:0px 10px 20px 10px;
    }
    .modal-link-content img{
        width:100%;
        height:auto;
    }
    .construction-name{
        height:40px;
    }
    .construction-example-table{
        font-size:90%;
    }
    .construction-example-table th{
        width:30%;
    }
    .modal-wrapper .modal-window{
        height:auto;
    }
}
@media(max-width:400px){
    .modal-link-layout{
        width:calc(100% - 20px);
        height:auto;
        margin:0px 10px 20px 10px;
    }
    .modal-link-content img{
        width:100%;
        height:auto;
    }
    .construction-name{
        height:40px;
    }
    .construction-example-table{
        font-size:90%;
    }
    .construction-example-table th{
        width:30%;
    }
    .modal-wrapper .modal-window{
        height:auto;
    }
}

/*---------------office---------------*/
.organization-block{
    width:100%;
    max-width:1000px;
    margin-top:80px;
    margin-bottom:100px;
}
.office-content-title{
    font-size:135%;
    font-weight:600;
    letter-spacing:5px;
    margin:0px 15px 25px 15px;
    padding:10px 0px 10px 15px;
    border-left:8px solid;
}
.organization-img{
    width:100%;
    margin:0px 25px;
    display:flex;
    justify-content:center;
    align-items:center;
}
.organization-pc{
    width:100%;
}
.organization-mobile{
    display:none;
}
.office-block{
    width:100%;
    max-width:1000px;
    display:flex;
    justify-content:center;
    flex-direction:column;
}
.office-address,.office-name-lineheight{
    line-height:40px;
}
.office-jp{
    width:100%;
    display:flex;
    justify-content:center;
    flex-direction:column;
    margin-bottom:100px;
}
.office-name{
    margin:0px 25px;
}
.office-name span{
    font-size:25px;
    font-weight:600;
    letter-spacing:5px;
}
.office-address{
    margin:0px 25px 20px 25px;
}
iframe{
    width:calc(100% - 50px);
    height:400px;
    margin:0px 25px;
}
.address-pc-none{
    display:none;
}
@media(max-width:850px){
    .organization-title{
        margin-left:10px;
    }
    .organization-img{
        margin:0px;
    }
    .organization-pc{
        display:none;
    }
    .organization-mobile{
        display:inline;
        width:80%;
        max-width:600px;
        height:auto;
    }
    .office-block{
        width:100%;
    }
    .office-name span{
        font-size:125%;
        letter-spacing:3px;
        margin:0px 0px;
    }
    .office-content-title{
        font-size:130%;
        font-weight:600;
        letter-spacing:5px;
        margin:0px 0px 25px 10px;
        padding:10px 0px 10px 10px;
    }
    .address-mobile-none{
        display:none;
    }
    .address-pc-none{
        display:inline;
    }
}

/*------------------recruit--------------------*/
.recruit-margin{
    margin-top:100px;
}
.tabs {
  margin-top:50px;
  padding-bottom:40px;
  background-color:#fff;
  box-shadow:0 0 10px rgba(0, 0, 0, 0.2);
  width:clamp(600px, 80%, 1200px);
  margin:0 auto;
}
.tab-item {
  width:calc(100%/4);
  height:70px;
  border-bottom:3px solid #004F7D;
  background-color:#d9d9d9;
  line-height:25px;
  font-size:16px;
  color:#565656;
  display:flex;
  justify-content:center;
  align-items:center;
  float:left;
  text-align:center;
  font-weight:bold;
  transition:all 0.2s ease;
}
.tab-item:hover {
  opacity:0.75;
}
input[name="tab-item"] {
  display:none;
}
.tab-content{
  display:none;
  padding:40px 40px 0;
  clear:both;
  overflow:hidden;
}
.new-graduate-margin-top{
    margin-top:100px;
}
#heavy-machine-01:checked ~ #hm01-content,
#heavy-machine-02:checked ~ #hm02-content,
#construction:checked ~ #construction-content,
#new-graduate:checked ~ #new-graduate-content {
  display:block;
}
.tabs input:checked + .tab-item {
  background-color:#004F7D;
  color:#ffffff;
}
.tab-content-description{
    display:flex;
    flex-direction:column;
}
.tab-content-description table{
    width:100%;
    height:auto;
}
.tab-content-description img{
    margin-bottom:30px;
}
.tab-content-description br{
    display:none;
}
.recruit-pc-none{
    display:none;
}

.recruit-btn{
    height:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
}
.recruit-btn div{
    line-height:25px;
    margin-bottom:50px;
}
.mailto{
    color:#004D7F;
}
.recruit-btn a{
    width:80%;
    max-width:340px;
    height:80%;
    max-height:77px;
    margin-bottom:100px;
}
.recruit-btn img{
    width:100%;
    max-width:340px;
    border:1px solid rgba(0,0,0,0.2);
    transition:all 0.3s ease;
    box-shadow:0 5px 1px 0 rgba(0,0,0,0.25);
}
.recruit-btn img:hover{
    box-shadow:0 0 0 0 rgba(0,0,0,0.8);
    transform:translateY(5px);
}
.tel-margin{
    letter-spacing:2px;
}

@media(max-width:850px){
    .recruit-pc-none{
        display:inline;
    }
    .recruit-mobile-none{
        display:none;
    }
    .tabs{
        width:100%;
    }
    .tab-item {
        width:calc(100%/2);
        font-size:13px;
        transition:none;
    }
    .tab-content{
        width:98%;
        padding:20px 0px 0px 0px;
        overflow:visible;
        font-size:95%;
    }
    .recruit-content-block{
        width:100%;
        margin:25px 5px;
    }
    .recruit-headcontent{
        width:calc(100% - 20px);
        padding:10px 0px 10px 10px;
        background-color:#004F7D;
        color:#fff;
    }
    .recruit-contents{
        width:calc(100% - 32px);
        flex-direction:column;
        margin-top:15px;
        padding-left:20px;
        line-height:25px;
    }
    .recruit-contents div{
        margin-bottom:5px;
    }
    .recruit-contents-flow div{
        margin-left:25px;
    }
    .recruit-btn{
        font-size:93%;
        margin:0px;
    }
    .recruit-btn a{
        margin-bottom:60px;
    }
    .recruit-btn img:hover{
        box-shadow:0 5px 1px 0 rgba(0,0,0,0.25);
        transform:translateY(0px);
    }
    .tel-margin{
        letter-spacing:3px;
    }
}

/*--------------inpuiry---------------*/
/*------------recruitの回し-------------*/
.inquiry-tabs {
  margin-top:50px;
  padding-bottom:40px;
  background-color:#fff;
  box-shadow:0 0 10px rgba(0, 0, 0, 0.2);
  width:clamp(500px, 80%, 800px);
  margin:0 auto;
}
.inquiry-tab-item {
  width:100%;
  height:70px;
  border-bottom:3px solid #004F7D;
  background-color:#d9d9d9;
  line-height:25px;
  font-size:16px;
  color:#565656;
  display:flex;
  justify-content:center;
  align-items:center;
  float:left;
  text-align:center;
  font-weight:bold;
  transition:all 0.2s ease;
}
.inquiry-tab-item:hover {
  opacity:0.75;
}
#inquiry-jp:checked ~ #inquiry-jp-content{
  display:block;
}
.inquiry-tabs input:checked + .inquiry-tab-item {
  background-color:#004F7D;
  color:#ffffff;
}
.inquiry-tab-item:hover {
  opacity:0.75;
}
input[name="inquiry-tab-item"] {
  display:none;
}
.inquiry-content{
    line-height:25px;
}
.inquiry-name{
    font-size:125%;
    margin-bottom:40px;
    font-weight:600;
    letter-spacing:8px;
}
.contact-box{
    margin-left:30px;
}
.contact-sub-name{
    font-size:110%;
    font-weight:600;
}
.sub-name-margin{
    margin-top:25px;
}
.flex-contact-content{
    font-size:110%;
    margin-left:30px;
    display:flex;
    flex-direction:column;
}
.contact-type br{
    display:none;
}
.fcc-left{
    margin-bottom:10px;
    width:100%;
}
.fcc-right{
    margin-left:47px;
    margin-bottom:10px;
}
@media(max-width:850px){
    .inquiry-tabs{
          width:95%;
    }
    .inquiry-content{
        line-height:20px;
    }
    .contact-box{
        margin-left:0px;
    }
    .contact-sub-name{
        margin-bottom:15px;
    }
    .flex-contact-content{
        margin-left:15px;
        margin-bottom:15px;
    }
    .fcc-right{
        margin-left:43px;
    }
    .contact-type br{
        display:inline;
    }
    .fcc-left{
        width:auto;
        margin-bottom:15px;
    }
    .fcc-right{
        width:100%;
        margin-bottom:15px;
    }
    .contact-mail{
        font-size:95%;
    }
    .inquiry-tab-item:hover{
        opacity:1;
    }
}

/*-------------共通footer-------------*/
#footer{
	width:100%;
	height:45px;
	background-color:#000000;
}
.copyright{
	height:45px;
	color:white;
	display:flex;
	justify-content:center;
	align-items:center;
}

.back-btn{
    display:none;
}
.recruit-btn-fixed{
    display:none;
}
/*--------共通footer--------*/