@charset "utf-8";
/* CSS Document */
.mainMenu {
    z-index: 10000;
}

/*PC*/
@media print, screen and (min-width: 769px) {

.logo_Hed_index { display: none; }

/*--------hed_img------------*/

.company_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.company_list li { width: 23%; margin-right: 2%; }
/*.company_list li:nth-child(3n+3) { margin-right: 0px; }
.company_list li:nth-child(n+4) { margin-top: 50px; }*/
.company_list_txtbox { padding: 30px; }
.company_list_tit { font-size: 20px; font-weight: bold; position: relative; margin-bottom: 15px;  }
.company_list_tit::before { content: "●"; display: block; position: absolute; top: 5px; left: -20px; color: #e60012; font-weight: bold; font-size: 12px; }
.company_list_txt { line-height: 1.8em; }


.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 180px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.company_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.company_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}


.com_btn { margin: auto 0 auto auto!important; text-align: right; margin-top: 50px!important; margin-right: 20px; }

/*----------greeting------------*/

.greeting_mainimg { width: 100%; margin: 0 auto; position: relative; margin-bottom: 200px; margin-top: 150px;  }
.greeting_img { width: 50%; position: absolute; top: 50%; left: 50%; overflow: hidden; margin-top: -255px; }
.greeting_img img { width: 100%; height: auto; }
.greeting_namebox { width: 580px; position: relative; padding: 50px 0px}
.greeting_namebox::before { position: absolute; background: rgba(230,0,18,0.08); top: 0; left: -350px; width: 100%; height: 100%; display: block; content: ""; width: 1000px; top: 0; z-index: -1; }
.greeting_tit { font-size: 30px; font-weight: bold; line-height: 2em; margin-bottom: 30px; }
.greeting_name { font-size: 18px; font-weight: bold;  }

.profile_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.profile_img { flex-basis: 40%; margin-right: 5%; }
.profile_img img { width: 100%; height: auto; }
.profile_txtbox { flex-basis: 50%; border: 1px double #e60012; padding: 2.4%; }
.profile_tit { font-size: 18px; font-weight: bold; color: #e60012; margin-bottom: 30px; }
.profile_txt { line-height: 2em; }

/*----------企業理念------------*/

.idea_box { padding: 50px; border: 1px solid #dddddd; margin-bottom: 50px; }
.idea_tit { font-size: 25px; text-align: center; margin-bottom: 30px; font-weight: bold; }
.idea_txt { text-align: center; line-height: 1.8em; font-size: 18px; margin-bottom: 30px; }

.idea_list { width: 80%; margin: 0 auto;  display: flex; flex-wrap: wrap; }
.idea_list li { flex-basis: 33.33333%; max-width: 33.33333%;  }
.idea_list_img { width: 100%; margin: 0 auto 30px; }
.idea_list_img img { width: 100%; height: auto; }
.idea_list_txt { padding: 0 10px; padding-bottom: 3px; padding-left: 50px; font-weight: bold; }
.green_txt span { border-bottom: 1px solid #04933a; }
.blue_txt span { border-bottom: 1px solid #1e68b6; }
.orange_txt span { border-bottom: 1px solid #e6591c; }

.idea_txtxtx { text-align: left; }

/*-----------アクセス-----------*/

.access_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.access_list li { flex-basis: 48%; max-width: 48%; margin-right: 4%; }
.access_list li:nth-child(n+3) { margin-top: 50px; }
.access_list li:nth-child(2n+2) { margin-right: 0px; }

.access_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.access_txtbox { flex-basis: 48%; max-width: 48%;  margin-right: 4%; }
.access_map { flex-basis: 48%; max-width: 48%;  }

.access_txtbox .sub_tit { margin-bottom: 15px; }
.access_txtbox p { line-height: 1.8em; }


.access_box00 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 100px; }
.access_txtbox00 { flex-basis: 48%; max-width: 48%;  margin-right: 4%; }
.access_txtbox00 p { line-height: 2em; }
.access_imgbox00 { flex-basis: 48%; max-width: 48%; }
.access_img { width: 100%; margin: 0 auto; }
.access_img img { width: 100%; height: auto; }

.access_box00 .access_map { margin-top: 30px; width: 100%; display: block; flex-basis: 100%; max-width: 100%; }
.access_map iframe { width: 100%; margin: 0 auto; }
/*--------概要-------*/

.overview_table { width: 100%; border-collapse: collapse; }
.overview_table tr { border-bottom: 2px solid #fff; }
.overview_table tr:last-child { border-bottom: none; }
.overview_table th { position: relative; text-align: left; width: 30%; background:#dd0012; color: #fff;  text-align: center; padding: 15px 0px; }
.overview_table th::after { display: block; content: ""; width: 0px; height: 0px; position: absolute; top:calc(50% - 10px); right: -10px; border-left: 10px solid #dd0012; border-top: 10px solid transparent; border-bottom: 10px solid transparent; }
table.yakuin tr { border-bottom: 0px; }
table.yakuin th { background: none!important; padding: 0px!important; color: #000!important; text-align: left; }
table.yakuin th::after { display: none; }
.overview_table td { padding: 15px; padding-left: 25px; background: #f9f8f8; }


/*-----------沿革-----------*/

.timeline {
margin: 0 auto 50px;
}

.timeline > li {
overflow: hidden;
margin: 0;
position: relative;
}


.timeline-date {
width: 150px;
float: left;
}
.timeline-content {
width: 75%;
float: left;
border-left: 3px #e5e5d1 solid;
padding-left: 30px;
padding-bottom: 30px;
}    


.timeline-content:before {
content: '';
width: 12px;
height: 12px;
background:  #dd0012;
position: absolute;
left: 145px;
top: 5px;
border-radius: 100%;
}

.pdf { width: 200px; margin-top: 15px; padding: 15px; border: 1px solid #ccc; }
.pdf img { width: 100%; height: auto; }






}




/*----------------------------------------------------*/




/*sp*/
@media only screen and (max-width: 768px) {

.logo_Hed_index { display: none; }
/*--------hed_img------------*/
.company_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.company_list li { width: 100%; }
.company_list li:nth-child(n+2) { margin-top: 50px; }
.company_list_txtbox { padding: 30px; }
.company_list_tit { font-size: 16px; font-weight: bold; position: relative; margin-bottom: 15px;  }
.company_list_tit::before { content: "●" ; display: block; position: absolute; top: 5px; left: -20px; color: #e60012; font-weight: bold; font-size: 12px; }
.company_list_txt { line-height: 1.8em; }


.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 40vw;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.company_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.company_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.com_btn { text-align: right; margin-top: 50px!important; margin-right: 50px; }

/*----------greeting------------*/

.greeting_mainimg { width: 100%; margin: 0 auto; position: relative; margin-bottom: 50px; }
.greeting_img { width: 100%; margin: 0 auto; }
.greeting_img img { width: 100%; height: auto; }
.greeting_namebox { width: 100%; position: relative; background: rgba(230,0,18,0.08); padding: 50px; box-sizing: border-box; }
.greeting_tit { font-size: 20px; font-weight: bold; line-height: 2em; margin-bottom: 30px; }
.greeting_name { font-size: 14px; font-weight: bold;  }

.profile_box { width: 100%; margin: 0 auto; margin-top: 50px; }
.profile_img { width: 100%; margin-bottom: 30px; }
.profile_img img { width: 100%; height: auto; }
.profile_txtbox { width: 100%; border: 1px double #e60012; padding: 2.5%; box-sizing: border-box; }
.profile_tit { font-size: 16px; font-weight: bold; color: #e60012; margin-bottom: 15px; }
.profile_txt { line-height: 2em; }

/*----------企業理念-----------*/

.idea_box { padding: 15px; border: 1px solid #dddddd; margin-bottom: 30px; }
.idea_tit { font-size: 20px; text-align: center; margin-bottom: 30px; font-weight: bold; }
.idea_txt { text-align: center; line-height: 1.8em; font-size: 14px; margin-bottom: 30px; }

.idea_list { width: 100%; margin: 0 auto;  display: flex; flex-wrap: wrap; }
.idea_list li { width: 33.33333%; }
.idea_list_img { width: 100%; margin: 0 auto 30px; }
.idea_list_img img { width: 100%; height: auto; }
.idea_list_txt { padding: 0 10px; padding-bottom: 3px; padding-left: 30px; font-weight: bold; }
.green_txt span { border-bottom: 1px solid #04933a; }
.blue_txt span { border-bottom: 1px solid #1e68b6; }
.orange_txt span { border-bottom: 1px solid #e6591c; }


/*-----------アクセス-----------*/

.access_list { width: 100%; margin: 0 auto;  }
.access_list li { width: 100%; margin: 0 auto; }
.access_list li:nth-child(n+2) { margin-top: 50px; }

.access_box { width: 100%; margin: 0 auto;  }
.access_txtbox { width: 100%; margin: 0 auto 15px; }
.access_map { width: 100%;  }

.access_txtbox .sub_tit { margin-bottom: 15px; }
.access_txtbox p { line-height: 1.8em; }



.access_box00 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 50px; }
.access_txtbox00 { width: 100%; margin-bottom: 30px; }
.access_txtbox00 p { line-height: 2em; }
.access_imgbox00 { width: 100%; }
.access_img { width: 100%; margin: 0 auto; }
.access_img img { width: 100%; height: auto; }

.access_box00 .access_map { margin-top: 30px; }


/*--------概要-------*/

.overview_table { width: 100%; border-collapse: collapse; }
.overview_table tr { border-bottom: 2px solid #fff; }
.overview_table tr:last-child { border-bottom: none; }
.overview_table th { position: relative; text-align: left; width: 100%; background:#dd0012; color: #fff;  text-align: center; padding: 15px 0px; display: block; }
.overview_table th::after { display: block; content: ""; width: 0px; height: 0px; position: absolute; bottom: -10px; bottom: -10px; border-top: 10px solid #dd0012; border-left: 10px solid transparent; border-right:  10px solid transparent; left: 0; right: 0; margin: auto; }
table.yakuin tr { border-bottom: 0px; }
table.yakuin th { background: none!important; padding: 0px!important; color: #000!important; text-align: left; }
table.yakuin th::after { display: none; }
.overview_table td { padding: 15px; padding-top: 25px; background: #f9f8f8; display: block; }



/*-----沿革----------*/        


.timeline {
margin: 0 auto 50px;
}

.timeline {
list-style: none;
}
.timeline > li {
}       

.timeline li {
border-left: 3px solid #e5e5d1;
padding-left: 20px;
padding-bottom: 20px;
}
.timeline li {
position: relative;
}

.timeline-date::before {
content: '';
width: 12px;
height: 12px;
background: #dd0012;
position: absolute;
left: -7px;
top: 5px;
border-radius: 100%;
}





}
