@charset "UTF-8";

/* FirstView
----------------------------------------- */
#FirstView {
width: 100%;
position: relative;
overflow: hidden;
transition: all .3s;
}
#FirstView .contents {
position: relative;
}
#FirstView figure {
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
#FirstView figure img {
width: 100%;
height: 100%;
object-fit: cover;
}
#FirstView video {
margin: auto;
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 0;
}



/* section
----------------------------------------- */
section {
width: 100%;
height:100%;
display: inline-block;
}
section:last-child {
margin-bottom: 0;
}
section .wrap {
margin: 0 auto;
}

/* Overview
----------------------------------------- */
#Overview .textBlk {
color: #525252;
}
#Overview .contentsWrap {
display: flex;
flex-wrap: wrap;
}
#Overview figure {
box-shadow: -37px 37px 0 #e7edf0;
}


/* Service
----------------------------------------- */
#Service {
color: #ffffff;
position: relative;
z-index: 0;
}
#Service .contentsWrap {
position: inherit;
z-index: 1;
}


#Service h1,
#Service .textBlk {
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Service .moreBtn {
margin-bottom: 30px;
}
#Service .moreBtn a {
border-color: #ffffff;
}
#Service .moreBtn a:hover {
border-color: #0e1c22;
}

#Service .bgImg  {
display: block;
width: 100%;
height: 100%;
background-image: url("images/bk_service.jpg"),url("images/bk_top_service01.jpg"),url("images/bk_top_service02.jpg"),url("images/bk_top_service03.jpg"),url("images/bk_top_service04.jpg"),url("images/bk_top_service05.jpg");
background-repeat: no-repeat;
background-position: center;
background-size: cover, 0 0, 0 0, 0 0;
position: absolute;
top: 0;
bottom: 0;
left: 0;
z-index: -1;
transition: all 0.3s;
}
#Service .moreBtn.web:hover ~ .bgImg  {
background-image: url("images/bk_top_service01.jpg");
background-size: cover;
}
#Service .moreBtn.mass:hover ~ .bgImg {
background-image: url("images/bk_top_service02.jpg");
background-size: cover;
}
#Service .moreBtn.sign:hover ~ .bgImg {
background-image: url("images/bk_top_service03.jpg");
background-size: cover;
}
#Service .moreBtn.traffic:hover ~ .bgImg {
background-image: url("images/bk_top_service04.jpg");
background-size: cover;
}
#Service .moreBtn.event:hover ~ .bgImg {
background-image: url("images/bk_top_service05.jpg");
background-size: cover;
}



/* Works
----------------------------------------- */
#Works h1 {
text-align: center;
}

/* News
----------------------------------------- */
#News h1 {
text-align: center;
}
#News .moreBtn {
margin-right: auto;
margin-left: auto;
}

/* Recruit
----------------------------------------- */
#Recruit .contents {
background-image: url("images/bk_recruit.png");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
#Recruit figure {
box-shadow: 37px 37px 0 #0e1c22;
}



/* KYOUTSU END // PC BASE ==================== */
@media only screen and (min-width: 1080px){	

/* FirstView
============================================== */
#FirstView {
height: auto;
max-height: 590px;
min-height: 588px;
}


#FirstView figure {
width: 100%;
height: 100%;
}
#FirstView figure img {
height: 100%;
}

#FirstView::before {
content: '';
margin: auto;
width: 110%;
height: 110%;
display: block;
background-image: url("/theme/tmr_simple/img/main_img_pc.png");
background-repeat: no-repeat;
background-position: center;
background-size: cover;
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
}
#FirstView::after {
content: '';
margin: auto;
width: 100%;
height: 100%;
display: block;
background-image: url("/theme/tmr_simple/img/main_img_pc_txt.png");
background-repeat: no-repeat;
background-position: center;
background-size: contain;
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
}

#FirstView video {
width: 100%;
}


/* Section
============================================== */
section .contentsWrap {
margin-right: auto;
margin-left: auto;
width: 1080px;
}
section h1 {
margin-bottom: 30px;
font-size: min(6vw,40px);
}
section h1 small {
display: block;
font-size: min(6vw,34px);
}
section .textBlk {
margin-bottom: 30px;
}

/* Overview
============================================== */
#Overview {
margin-top: 120px;
margin-bottom: 150px;
}
#Overview .contentsWrap {
justify-content: space-between;
}
#Overview figure {
max-width: 503px;
}

/* Service
============================================== */
#Service .contentsWrap {
margin-top: 100px;
margin-bottom: 100px;
}
/* Works
============================================== */
#Works {
margin-top: 150px;
margin-bottom: 200px;
}
#Works h1 {
margin-bottom: 50px;
}

/* News
============================================== */
#News {
margin-bottom: 150px;
}
#News h1 {
margin-bottom: 20px;
}
#News .entryList {
margin-bottom: 70px;
}


/* Recruit
============================================== */
#Recruit .contents {
padding-bottom: 120px;
}
#Recruit .contentsWrap {
margin-top: 65px;
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#Recruit .colBlk:first-of-type {
margin-top: 140px;
display: flex;
flex-wrap: wrap;
}
#Recruit h1 {
margin-right: 26px;
width: 1em;
color: #ffffff;
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Recruit .textBlk strong {
line-height: 1;
color: #ffffff;
font-family: 'Zen Kaku Gothic New', sans-serif;
font-size: min(6vw, 103px);
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Recruit .textBlk p {
color: #ffffff;
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Recruit .moreBtn {
margin-top: 50px;
}
#Recruit .colBlk:nth-child(2) {
margin-top: -65px;
}
#Recruit figure {
max-width: 448px;
}


}/* PC END // SP BASE |||||||||||||||||||||||||||||| */
@media only screen and (max-width: 1079px){


/* FirstView
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#FirstView .contents {
/* height: 90vh; */
}
#FirstView::before {
content: '';
margin: auto;
width: 110%;
height: 110%;
display: block;
/* background-image: url("/theme/tmr_simple/img/main_img_sp.png"); */
background-repeat: no-repeat;
background-position: center;
background-size: cover;
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
}
#FirstView::after {
content: '';
margin: auto;
width: 100%;
height: 100%;
display: block;
/* background-image: url("/theme/tmr_simple/img/main_img_sp_txt.png"); */
background-repeat: no-repeat;
background-position: center;
background-size: contain;
position: absolute;
top: 0;
right: 0;
left: 0;
z-index: 1;
}
#FirstView .contents img {
width: 100%;
height: 90vh;
object-fit: cover;
}
#FirstView video {
width: 100%;
/* height: 90vh; */
object-fit: contain;
position: relative;
}
#FirstView figure {
width: 100%;
}


/* Overview
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#Overview {
margin-top: 60px;
margin-bottom: 80px;
}
#Overview h1 {
margin-bottom: 25px;
font-size: min(20vw, 30px);
}
#Overview small {
    font-size: min(20vw, 30px);
display: block;
}
#Overview .textBlk {
margin-bottom: 50px;
font-size: min(20vw, 18px);
line-height: 1.8;
}
#Overview figure {
margin-right: 10px;
margin-bottom: min(10vw,126px);
margin-left: auto;
width: 85%;
}



/* Service
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#Service .contentsWrap {
margin-top: 80px;
margin-bottom: 85px;
}
#Service h1 {
margin-bottom: 30px;
font-size: min(20vw, 30px);
}
#Service small {
display: block;
}
#Service .textBlk {
font-size: min(20vw, 18px);
line-height: 1.8;
}

/* Works
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#Works {
margin-top: 60px;
margin-bottom: 20px;
}
#Works h1 {
margin-bottom: 40px;
}


/* News
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#News {
margin-bottom: 80px;
}
.contentsWrap {
margin-right: auto;
margin-left: auto;
width: 90%;
}
#News h1 {
margin-bottom: 20px;
}
#News .entryList .postList {
margin-bottom: 60px;
padding-bottom: 20px;
padding-top: 0;
}
#News .entryList .postList .date {
margin-bottom: 0;
width: 100%;
}

/* Recruit
|||||||||||||||||||||||||||||||||||||||||||||||||||| */
#Recruit .contentsWrap {
padding-top: 60px;
padding-bottom: 75px;
}
#Recruit .colBlk {
margin-right: auto;
margin-left: auto;
width: 90%;
display: flex;
}
#Recruit .colBlk:nth-child(2) {
display: none;
}
#Recruit h1 {
margin-right: 26px;
width: 1em;
line-height: 1.6;
color: #ffffff;
font-size: min(20vw, 40px);
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Recruit .textBlk strong {
margin-bottom: 50px;
line-height: 1;
display: block;
color: #ffffff;
font-family: 'Zen Kaku Gothic New', sans-serif;
font-size: min(20vw, 104px);
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}
#Recruit .textBlk p {
max-width: 15em;
color: #ffffff;
font-size: min(20vw, 22px);
text-shadow: 0 0 3px rgba(14,28,34,0.4);
}






}/* SP END |||||||||||||||||||||||||||||||||||||||| */