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

   #company_philosophy

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

#company_philosophy {padding: 90px 5% 0;position: relative; z-index: 1;}

@media only screen and (max-width: 960px) {
#company_philosophy {padding: 80px 5% 0; }
}
@media only screen and (max-width: 738px) {
#company_philosophy {padding: 70px 5% 0; }
}

/* .historyArea */
#company_philosophy .philosophyArea { position: relative; padding: 90px 5%; z-index: 1; text-align: center;}
#company_philosophy .philosophyArea:before { position: absolute; top: 7px; right: 7px; bottom: 7px; left: 7px; content: ""; border: #111 1px solid; z-index: -1;}
#company_philosophy .philosophyArea:after { position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ""; border: #111 3px solid; z-index: -1;}
/* .deco */
#company_philosophy .philosophyArea .deco_t_l { position: absolute; top: -4px; left: -4px; height: 80px; width: 150px; background: url(../images/company/deco_t_l.png) top left no-repeat; background-size: contain; z-index: 2;}
#company_philosophy .philosophyArea .deco_t_r { position: absolute; top: -4px; right: -4px; height: 80px; width: 150px; background: url(../images/company/deco_t_r.png) top right no-repeat; background-size: contain; z-index: 2;}
#company_philosophy .philosophyArea .deco_b_l { position: absolute; bottom: -4px; left: -4px; height: 80px; width: 150px; background: url(../images/company/deco_b_l.png) bottom left no-repeat; background-size: contain; z-index: 2;}
#company_philosophy .philosophyArea .deco_b_r { position: absolute; bottom: -4px; right: -4px; height: 80px; width: 150px; background: url(../images/company/deco_b_r.png) bottom right no-repeat; background-size: contain; z-index: 2;}

#company_philosophy .philosophyArea .deco_t_c {width: 150px; height: 23px; background: url(../images/company/deco_t_c.png) top center no-repeat;  background-size: contain; display: inline-block; position: absolute; top: -9px; left: 50%; -webkit-transform: translate(-50%, 0);transform: translate(-50%, 0); z-index:2; text-align:center; z-index: 2;}
#company_philosophy .philosophyArea .deco_b_c {width: 150px; height: 23px; background: url(../images/company/deco_b_c.png) top center no-repeat;  background-size: contain; display: inline-block; position: absolute; bottom: -9px; left: 50%; -webkit-transform: translate(-50%, 0);transform: translate(-50%, 0); z-index:2; text-align:center; z-index: 2;}

@media only screen and (max-width: 960px) {
#company_philosophy .philosophyArea { padding: 80px 5%;}
}

@media only screen and (max-width: 738px) {
#company_philosophy .philosophyArea { padding: 70px 8%; }
#company_philosophy .philosophyArea:before { top: 5px; right: 5px; bottom: 5px; left: 5px; }
#company_philosophy .philosophyArea:after { border: #111 2px solid;}

/* .deco */
#company_philosophy .philosophyArea .deco_t_l { top: -3px; left: -3px; height: 50px; width: 94px; }
#company_philosophy .philosophyArea .deco_t_r { top: -3px; right: -3px; height: 50px; width: 94px;}
#company_philosophy .philosophyArea .deco_b_l { bottom: -3px; left: -3px; height: 50px; width: 94px; }
#company_philosophy .philosophyArea .deco_b_r { bottom: -3px; right: -3px; height: 50px; width: 94px; }
#company_philosophy .philosophyArea .deco_t_c {width: 120px; height: 18px; top: -6px;}
#company_philosophy .philosophyArea .deco_b_c {width: 120px; height: 18px; bottom: -6px;}
}

/* .logoArea */
#company_philosophy .philosophyArea .logoArea { text-align: center; max-width: 600px; margin: 0 auto; font-size: 0;}

/* .catchArea */
#company_philosophy .philosophyArea .catchArea {margin-top: 45px;}
#company_philosophy .philosophyArea .catchArea h3 { position: relative; display: inline-block; margin: 0 auto; padding: 0; font-size:clamp(30px, 4vw, 55px);font-family: 'Libre Baskerville', serif;  letter-spacing: 0.015em; line-height: 1.4; z-index: 1;}
/*#company_philosophy .philosophyArea .catchArea h3:before { position: absolute; top: 0; left: 0; width: 15px; height: 15px; content: ""; border-top: #111 1px solid; border-left: #111 1px solid; z-index: -1;}
#company_philosophy .philosophyArea .catchArea h3:after { position: absolute; bottom: 0; right: 0; width: 15px; height: 15px; content: ""; border-bottom: #111 1px solid; border-right: #111 1px solid; z-index: -1;}*/
/*#company_philosophy .philosophyArea .catchArea h3 br {display: none;}*/

/* .txtArea */
#company_philosophy .philosophyArea .txtArea { margin-top: 25px; text-align: center;}
#company_philosophy .philosophyArea .txtArea .inner { display: inline-block; text-align: left;max-width: 700px; }
#company_philosophy .philosophyArea .txtArea p {margin-top: 1.5em;line-height: 2.1; /*line-height: 2.4;*/}
#company_philosophy .philosophyArea .txtArea p span { font-size: 0.85em;}
#company_philosophy .philosophyArea .txtArea .signArea { display: block; margin-top: 40px;}
#company_philosophy .philosophyArea .txtArea .signArea h4.name { float: right; margin-right: 7.5%; width: 200px;}

@media only screen and (max-width: 960px) {
#company_philosophy .philosophyArea .logoArea { max-width: 500px;}
#company_philosophy .philosophyArea .catchArea h3 {;font-size: clamp(30px, 5.85vw, 45px);}
#company_philosophy .philosophyArea .txtArea { margin-top: 20px; }
#company_philosophy .philosophyArea .txtArea p { line-height: 1.9;}
}
@media only screen and (max-width: 738px) {
#company_philosophy .philosophyArea .logoArea { max-width:90%;}
#company_philosophy .philosophyArea .catchArea {margin-top: 35px;}
#company_philosophy .philosophyArea .catchArea h3 {;font-size: clamp(30px, 5.85vw, 40px);}
#company_philosophy .philosophyArea .txtArea { text-align: center;}
#company_philosophy .philosophyArea .txtArea .inner {display: block; text-align: left}
#company_philosophy .philosophyArea .txtArea p {margin-top: 1.5em; line-height: 1.85;}
#company_philosophy .philosophyArea .txtArea p br { display: none;}
#company_philosophy .philosophyArea .txtArea p span { font-size: 0.85em; vertical-align: 0;}
#company_philosophy .philosophyArea .txtArea .signArea h4.name { margin-right: 0; width: 160px;}
}
@media only screen and (max-width: 640px) {
#company_philosophy .philosophyArea .catchArea {margin-top: 30px;}
#company_philosophy .philosophyArea .catchArea h3 {;font-size: clamp(20px, 5.95vw, 27px);}
#company_philosophy .philosophyArea .txtArea p { line-height: 1.8;}
}




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

   #company_history

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

#company_history {padding: 90px 5%;position: relative; z-index: 1;}

@media only screen and (max-width: 960px) {
#company_history {padding: 80px 5%; }
}
@media only screen and (max-width: 738px) {
#company_history {padding: 70px 5%; }
}

/* .historyArea */
#company_history .historyArea { margin-top: 70px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items:flex-start;}

/* .imgArea */
#company_history .imgArea { width: 42.5%; position: relative; z-index: 1; }

/* .txtArea */
#company_history .txtArea {width: 48.5%; padding: 0 2.5% 0 0; position: relative; z-index: 1; }
#company_history .txtArea p { margin-top: 1.5em;}
#company_history .txtArea p:first-child { margin-top: 0;}

@media only screen and (max-width: 960px) {	
#company_history .historyArea {margin-top: 50px;}
#company_history .imgArea { width: 100%; text-align: center;}
#company_history .imgArea img {max-width: 500px;}
#company_history .txtArea { float: none; width: 100%; margin-top: 60px; padding: 0 5%; }
#company_history .txtArea p { margin-top: 1.5em;}
}
@media only screen and (max-width:738px) {	
#company_history .historyArea {margin-top: 0px;}
#company_history .txtArea { margin-top: 40px; padding: 0; }
#company_history .txtArea p { margin-top: 1.5em;}
}






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

   #company_info

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

#company_info { padding: 90px 5%;position: relative; z-index: 1;}
#company_info:after { position: absolute; top: 0; left: 5%; right: 5%; bottom: 0; content: ""; border-top: #111 1px solid;z-index: -1;}

@media only screen and (max-width: 960px) {
#company_info { padding: 80px 5%; }
}
@media only screen and (max-width: 738px) {
#company_info { padding: 70px 5%; }
}

/* .storyArea */
#company_info .storyArea { border: #111 1px solid; display: flex; flex-wrap: wrap; justify-content: space-between;}

/* .mapArea */
#company_info .mapArea { width: 57.5%; position: relative; z-index: 1;}
#map_canvas { position: absolute; top: 0; left: 0; bottom: 0; right: 0; z-index: 2;}

/* .txtArea */
#company_info .txtArea {width: 42.5%; position: relative; z-index: 0; padding: 50px 5% 50px 6%;}

/* table.company */
table.company {border-collapse: collapse;text-align: left;font-size:15px;letter-spacing:0.025em;line-height:1.65; width:100%;}
table.company tr {}
table.company th {display: block; margin: 15px 0 0; font-weight: 600;}
table.company tr:first-child th { margin: 0;}
table.company th a { padding: 0 16px 0 0; border-bottom: #111 1px dotted; position: relative; z-index: 0; }
table.company th a:after { position: absolute; top:-1px; right:0; font-size: 0.75em; font-family:'themify';content:"\e62f"; font-weight: normal;z-index:0;}
table.company td {display: block;margin: 2px 0 0;}
table.company tr:last-child td { margin: 5px 0 0;}

@media (min-width: 961px) and (hover: hover) {
table.company th a:hover { color: #fefefe; background:#111; border-bottom: #111 1px solid;}
}
@media only screen and (max-width: 960px) {
#company_info .mapArea {width: 50%; }
#company_info .txtArea { width: 50%; padding: 45px 5%;}
}
@media only screen and (max-width: 738px) {
#company_info .mapArea {width: 100%; height: 50vw; }
#company_info .txtArea {width: 100%; padding: 35px 6.5%; text-align: center;}
table.company { display: inline-block;text-align: left;width:auto; font-size: 15px;}
}
@media only screen and (max-width: 640px) {
#company_info .mapArea { height: 65vw; }
#company_info .txtArea { padding: 35px 6.5%; text-align: left;}
}
