@charset "utf-8";
/* CSS Document */
.mainMenu {
    z-index: 10000;
}

/*PC*/
@media print, screen and (min-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: 32%; 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: 18px; font-weight: bold; position: relative; margin-bottom: 15px;  }
.company_list_tit::before { content: "●" ; display: block; position: absolute; top: 5px; left: -20px; color: #1a6bb5; 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: 250px;
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; box-shadow: 0px 0px 36px rgba(131,161,181,.3);}
.greeting_img img { width: 100%; height: auto; }
.greeting_namebox { width: 580px; position: relative; }
.greeting_namebox::before { position: absolute; background: #FFF; top: 0; left: -350px; width: 100%; height: 300px; display: block; content: ""; width: 1000px; top: -70px; z-index: -1; }
.greeting_tit { font-size: 30px; font-weight: bold; line-height: 2em; margin-bottom: 30px; }
.greeting_name { font-size: 16px; 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 #1a6bb5; padding: 2.4%; }
.profile_tit { font-size: 16px; font-weight: bold; color: #1a6bb5; margin-bottom: 30px; }
.profile_txt { line-height: 2em; }

.g_img_r{
width: 46%;
float: right;
margin: 0 0 4% 4%;
}

/*----------企業理念------------*/

.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: 16px; margin-bottom: 30px; }

.idea_list { width: 80%; 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: 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 { 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%; margin-right: 4%; }
.access_map { flex-basis: 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%; margin-right: 4%; }
.access_txtbox00 p { line-height: 2em; }
.access_imgbox00 { flex-basis: 48%; }
.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;box-shadow: 16px 16px 36px rgba(131,161,181,.1); }
.overview_table tr { border-bottom: 1px solid #dcdfe7; }
.overview_table tr:last-child { border-bottom: none; }
.overview_table th { position: relative; text-align: left; width: 30%; background:#1a6bb5; 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 #1a6bb5; 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: #FFF; }


/*-----------沿革-----------*/

.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:  #1a6bb5;
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; }



.com_btn_wrap {
	width:50%;
	display:flex;
	flex-wrap:wrap;
	margin:60px auto 0;
}

.com_btn_wrap01 {
	width:50%;
}

/*--------------------------------*/
.com_btn_company { width: 600px; display: flex; justify-content: space-between; margin: 60px auto 0;}
.com_btn_company li:nth-of-type(1) { width: 48%; display: flex; justify-content: center;}
.com_btn_company li:nth-of-type(2) { width: 48%; display: flex; justify-content: center;}
.com_btn_company li a { width: 240px; height: 44px; display: block; display: flex; justify-content: center; align-items: center; position: relative; border: solid 1px #666; font-family: 'Viga', sans-serif; font-weight: 700;}
.com_btn_company li:nth-of-type(1) a::before { content: "\f053"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; left: 20px;}
.com_btn_company li:nth-of-type(2) a::before { content: "\f054"; font-family: "Font Awesome 5 Free"; font-weight: 900; position: absolute; right: 20px;}
.com_btn_company li:nth-of-type(1) a:hover::before { left: 10px;}
.com_btn_company li:nth-of-type(2) a:hover::before { right: 10px;}
.com_btn_company li a::before,
.com_btn_company li a:hover::before {
-webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}



}




/*----------------------------------------------------*/




/*sp*/
@media only screen and (max-width: 767px) {

.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: #1a6bb5; 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; box-shadow:0px 0px 36px rgba(131,161,181,.3);}
.greeting_img { width: 100%; margin: 0 auto; }
.greeting_img img { width: 100%; height: auto; }
.greeting_namebox { width: 100%; position: relative; background: #FFF; 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 #1a6bb5; padding: 2.5%; box-sizing: border-box; }
.profile_tit { font-size: 16px; font-weight: bold; color: #1a6bb5; margin-bottom: 15px; }
.profile_txt { line-height: 2em; }

.g_img_r{
width:70%;
margin: 0 auto 4%;
}


/*----------企業理念-----------*/

.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;box-shadow: 16px 16px 36px rgba(131,161,181,.1); }
.overview_table tr { border-bottom: 1px solid #dcdfe7; }
.overview_table tr:last-child { border-bottom: none; }
.overview_table th { position: relative; text-align: left; width: 100%; background:#1a6bb5; 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 #1a6bb5; 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: #FFF; 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: #1a6bb5;
position: absolute;
left: -7px;
top: 5px;
border-radius: 100%;
}


.com_btn_wrap {
	width:220px;
	margin:40px auto 0;
}

.com_btn_wrap01 {
	width:100%;
}



}
