#top_img { width: 100%; height: 600px; }

/* --------------------------------- table_ver2 --------------------------------------- */
.normal, .cross { border-collapse: collapse; font-size: 13px; margin: 16px 0 24px 0; width: 100%; }
.normal.less, .cross.less { width: auto; }
.normal th, .normal td, .cross th, .cross td { border: 0.5px #ccc solid; padding: 10px; line-height: 1.3 }
.normal.num td, .cross.num td { text-align:right; }
.normal th, .cross th { font-weight: 700; background-color: #e0e0e0; }
.normal thead th, .cross thead th { text-align: center; }
.normal.th20 th, .cross.th20 th { width: 20%; } .normal.th35 th, .cross.th35 th { width: 35%; } .normal.th50 th, .cross.th50 th { width: 50%; } .normal.th70 th, .cross.th70 th { width: 70%; }
.normal caption { font-weight: 700; }
.normal td ul, .cross td ul { line-height: 1.5; margin: 5px 0 5px 20px; }
.normal td ul li, .cross td ul li { margin-bottom: 4px; }
.normal caption, .cross caption { font-weight: 700; font-size: 16px; padding-bottom: 10px; text-align: left; }
.normal tfoot th, .cross tfoot th { font-weight: 700; background-color: #eee; } 
.normal tfoot td, .cross tfoot td { font-weight: 700; background-color: #f7f7f7; }
.w15_a { width: 15%; } .w20_a { width: 20%; } .w25_a { width: 25%; } .w30_a { width: 30%; } .w40_a { width: 40%; } .w50_a { width: 50%; }
@media screen and (max-width: 768px) {
	.normal th, .normal td { display: block; }
	.normal th, .normal.th20 th, .normal.th35 th, .normal.th50 th, .normal.th70 th { width: 100%; border-bottom: 0; border-top: 0; }
	.normal tr:first-child th { border-top:0.5px #ccc solid;}
	.w15_a, .w20_a, .w25_a, .w30_a, .w40_a, .w50_a { width: auto; }
}
@media screen and (max-width: 1200px) {
	.tbl_scroll { overflow-x: scroll; margin-bottom: 24px; }
	.tbl_scroll table { overflow-x: scroll; min-width: 900px; margin-top: 0; }
}
.uline_tbl { border-collapse: collapse; font-size: 15px; margin: 16px 0 24px 0; width: 100%; border-top: 1px #ccc solid; }
.uline_tbl th, .uline_tbl td { border-bottom: 0.5px #ccc solid; padding: 20px; line-height: 1.5 }
.uline_tbl th { font-size: 18px; font-weight: 700; }
@media screen and (max-width: 768px) {
	.uline_tbl td { display: block; padding: 10px 15px 15px 15px; }
	.uline_tbl th { display: block; border-bottom: 0; padding: 15px 15px 0 15px }
}
/* ----------------------module additionals--------------------------------- */

#overview h2 {
    font-size: 1.125rem;
    margin-top: 5px;
}
section dl { margin-bottom: 0.5rem; }
section dd { display: inline-block;  }
section dt { display: inline-block; margin-right: 1rem; width: 100px; flex-shrink: 0; }
section dd.label { font-size: 10px; line-height: 16px; padding: 0 10px; color: #fff; margin: 8px 20px 0 0; width: 65px; text-align: center;}
.icon-info { background-color: #999; }
.icon-company { background-color: #f9452d; flex-shrink: 0; }
.ir-list dl dd:last-child { font-size: 12px; color: #999; }
.ir-list dl:last-child { margin-bottom: 0; }
#topnews h2 {display: block;  font-size: 1.125rem; padding: 10px 0 10px 30px; border-bottom: 2px #f9452d solid; }
section#topnews dl { padding: 15px; margin-bottom: 0; border-bottom: 1px #ccc dotted; display: flex; align-items: flex-start; justify-content: space-between; }
section#topnews dl .txt { flex-grow: 1; }
#other h2 {display: block;  font-size: 1.125rem; padding: 10px 0 10px 30px; border-bottom: 2px #f9452d solid; }
#other ul { list-style: none; margin-left: 0; margin-bottom: 0; } 
#other ul li { list-style: none; padding: 15px 0 15px 35px; border-bottom: 1px #ccc dotted; margin-bottom:0; } 
#other ul li:hover { background-color: #fcfcfc; }
@media screen and (max-width: 768px) {
	section#topnews dl { display: block; line-height: 1.5; }
}


/*----------------------company_unique-----------------------------*/
.office_title { display: inline-block; width: 380px; } @media screen and (max-width: 768px) { .office_title { width: 200px; }}
.wago { font-weight: 400; font-size: 14px; } @media screen and (max-width: 768px) { .wago { padding-left: 10px; }}

#value { margin: 0 auto; width: 940px; height: 850px; position: relative; background: url(../images/value_circle04.png) center 50% no-repeat; }
#value .element { position: absolute; z-index: 5; overflow: hidden; width: 25.5%; height: 28.2%; -moz-border-radius: 120px; -webkit-border-radius: 120px; border-radius: 120px; }
#value .element.knowhow { top: 14.5%; left: 18.4%; transition: all .2s ease-in-out; }
#value .element.people { top: 14.5%; left: 56%; transition: all .2s ease-in-out; }
#value .element.infra { top: 56.1%; left: 18.4%; transition: all .2s ease-in-out; }
#value .element.innovate { top: 56.1%; left: 56%; transition: all .2s ease-in-out; }

#value .element.knowhow:hover,
#value .element.people:hover,
#value .element.infra:hover,
#value .element.innovate:hover { margin-top: -10.6%; margin-left: -9.6%; width: 44.7%; height: 49.4%; z-index: 5; }

#value .element img.circle { position: absolute; z-index: 2; width: 100%; height: 100%; top: 0px; left: 0px; margin-top: 0!important; }
#value .element .title { position: relative; z-index: 5; padding-top: 105px; font-size: 24px; font-weight: bold; text-align: center; line-height: 30px; transition: all .2s ease; }
#value .element.infra .title { padding-top: 37.5%; }
#value .element:hover .title { padding-top: 16.7%; font-size: 32px; line-height: 1.3; }
#value .element .under_tab { opacity: 0; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); z-index: 6; }
#value .element:hover .under_tab { opacity: 1; transition: all .2s ease-in-out; }
#value .element.dna a { display: block; width: 100%; height: 100%; background: url(../images/value_circle03.png) center / cover no-repeat; text-align: center; line-height: 164px; font-size: 24px; font-weight: bold; }
#value .element.dna a:hover { opacity: 0.6; transition: all .2s ease; }
#value .element.dna { z-index: 4; left: 41.3%; top: 39.8%; width: 17.4%!important; height: 19.3%!important; }

#value .element a { display: block; z-index: 3; overflow: hidden; position: absolute; color: #000; font-size: 14px; font-weight: bold; transition: none; -moz-transition: none; -webkit-transition: none; padding: 0; }
#value .element a > .circle-inner { opacity: 0; width: 100%; height: 100%; transition: all .1s; }
.s01 { top: 31%; left: 5.95%; width: 33.3%; height: 33.3%; }
.s02 { top: 31%; left: 60.7%; width: 33.3%; height: 33.3%; }
.s03 { top: 54.8%; left: 33.3%; width: 33.3%; height: 33.3%; }
.s04 { top: 38.1%; left: 7.1%; width: 39.5%; height: 39.5%; }
.s05 { top: 38.1%; left: 52.4%; width: 39.5%; height: 39.5%; }

#value .element:hover a > .circle-inner { opacity: 1; transition: all .2s .2s ease; }
#value .element a > .circle-inner:hover { opacity: 0.5; }
#value .element a .text { position: relative; width: 100%; height: 100%; z-index: 5; display: flex; justify-content: center; align-items: center; font-size: 16px; font-weight: 700; line-height: 1.3; letter-spacing: 0; }

#asset .box3 p { height: 260px; }
#dna { width: 100%; height: 700px; background: url(../images/dna2.jpg) center top / cover no-repeat; padding: 70px 4vw 0 4vw; margin-bottom: 60px; }
.dns_tx h4, .dns_tx p { text-shadow: 1px 1px 4px #fff; }

@media screen and (max-width: 768px) {
	#value { width: 100vw; height: 90vw; background: url(../images/value_circle04.png) center / 50vw no-repeat; }
	#value .element .title { font-size: 9px; padding-top: 41.7%; line-height: 14px; }
	#value .element:hover .title { padding-top:  16.7%; font-size: 15px; line-height: 1.3; }
	#value .element a .text { font-size: 10px; transform: scale(0.7); }
	#value .element:hover .under_tab { width: 42%; }
	#value .element.dna a { line-height: 1; font-size: 14.6%; font-weight: bold; display: flex; justify-content: center; align-items: center; }
	#asset .box3 p { height: auto; }
}

/* ------------------- group_map ------------------- */
.map_box { margin-left: auto; margin-right: auto; padding-left: 10px; padding-right: 10px; width: 940px; overflow: hidden; *zoom: 1; overflow: visible; }
#map_japanoffice .japanoffice__link_wrap ul li { line-height: 18px; list-style: none; }
#map_japanoffice .headoffice_link .text { line-height: 18px; }
#map_japanoffice .japanoffice__link_wrap { text-align: left; }
.gmap-wrapper { width: 450px; }
.gmap { margin-bottom: 10px; min-height: 300px; width: 100%; }
#map_japanoffice { padding: 50px 0; border-top: 1px solid #ddd!important; border-bottom: 1px solid #ddd; margin-bottom: 80px; }
.base_inner { border-bottom: 1px #ddd solid; margin-bottom: 30px; }
.base_inner dl { padding: 15px 0 15px 30px; border-bottom: 0; }
.base_inner dl dt { float: left; width: 220px; font-weight: 600; }
.base_inner dl dd { padding-bottom: 15px; display: table-cell; }
.company-base-access { line-height: 1.3; }

.arrow { padding-left: 30px; position: relative; }
.arrow:hover { opacity: 0.8; cursor: pointer; }
.arrow:before { content: ""; position: absolute; top: 7px; left: 0; width: 18px; height: 18px; background: url(../images/arw_access.png) center / contain no-repeat; transition: 0.2s; }
.arrow.accordion-open:before { transform: rotate(90deg); transition: 0.2s; }

section.g3 ul.branch { padding: 0; margin: 0; }
section.g3 ul.branch li { list-style: none; }
.ovs_logo { max-width: 250px; max-height: 100px; margin: 30px 0; }

@media screen and (max-width: 768px) {
	.base_inner dl dt { float: none; }
	.base_inner dl { padding: 0; }
}

/* ------------------- group_map ------------------- */
#videoFrame{width:100%;height:100%;}
.modal{display:none;position:fixed;z-index:19;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgba(203,192,255,0.8);}
.modal-content{width:90%;height:calc(90vw/16*9);position:absolute;top:53%;left:50%;	transform:translate(-50%,-50%);max-width:1400px;max-height:787.5px;background-color:transparent;overflow:hidden;}
.close{position:absolute;color:#fff;top:10px;right:10px;font-size:28px;font-weight:bold;}
.close:hover,.close:focus{color:#666;text-decoration:none;cursor:pointer;}
#overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;z-index:2;}
.more_link{font-size:14px!important;font-weight:400!important;padding-left:54px;color:#369;float:right;padding-top:9px;}
