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

   #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.5%; }
#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 15px; font-size: 30px; font-family: 'Droid Serif', 'Shippori Mincho B1', serif; font-weight: 500; text-indent: 0.5em; letter-spacing: 0.075em; line-height: 1.8; 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;}

/* .txtArea */
#company_philosophy .philosophyArea .txtArea { margin-top: 25px; text-align: center;}
#company_philosophy .philosophyArea .txtArea .inner { display: inline-block; text-align: left;}
#company_philosophy .philosophyArea .txtArea p {margin-top: 1.5em; 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 .txtArea { margin-top: 20px; }
#company_philosophy .philosophyArea .txtArea h3 {width: 420px;font-size: 25px;}
#company_philosophy .philosophyArea .txtArea p { line-height: 2;}
}
@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 { padding: 0 10px; font-size: 24px; }
#company_philosophy .philosophyArea .catchArea h3:before { left: 0; width: 10px; height: 10px; }
#company_philosophy .philosophyArea .catchArea h3:after { right: 0; width: 10px; height: 10px;}
#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.9;}
#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 h3 { padding: 0 0.15em 0 0.75em;font-size: 18px; font-size: 4.5vw; line-height: 1.7; letter-spacing: 0.035em; text-indent: 0;  }
#company_philosophy .philosophyArea .catchArea h3:before { left: 0; width: 7px; height: 10px; }
#company_philosophy .philosophyArea .catchArea h3:after { right: 0; width: 7px; height: 10px;}
#company_philosophy .philosophyArea .txtArea p { line-height: 1.85;}
}


/*
#company_philosophy .philosophyArea .essay_area {margin: 50px 0 10px; }
#company_philosophy .philosophyArea .essay_area a { display: block; margin: 0 auto; padding: 10px; max-width: 550px; font-size: 0; border: #111 1px solid;text-align: left; overflow: hidden; position: relative; z-index: 0;}


#company_philosophy .philosophyArea .essay_area .thumb {float: left; width: 20%;}
#company_philosophy .philosophyArea .essay_area .txt_area { position: absolute; top: 50%; right: 5%; width: 68.5%;-webkit-transform: translate(0,-50%); transform: translate(0,-50%); z-index: 0;}

#company_philosophy .philosophyArea .essay_area .t_ttl_essay { margin: 0; padding: 0; display: inline-block;font-size: 15px; font-family: 'Libre Baskerville', serif; font-weight: 700; letter-spacing:.035em; line-height:1; vertical-align: middle;}
#company_philosophy .philosophyArea .essay_area .t_ttl_name { margin: 0 0 0 .5em; padding: 0; display: inline-block; font-size: 15px; font-family: 'Libre Baskerville', serif; font-weight: 400; letter-spacing:.02em; line-height:1;vertical-align: middle;}

#company_philosophy .philosophyArea .essay_area .t_detail { margin: 0; font-size: 13px; line-height: 1.6; letter-spacing: .05em;}*/







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

   #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:14px;letter-spacing:0.05em;line-height:1.85; 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;}
}
