@charset "UTF-8";
/* CSS Document */
/*PC*/
@media print, screen and (min-width: 768px) {


#company {
position:relative;
margin: 0 auto 150px
}


#company .section_wrap{
width: 90%;
margin: 0 auto;
}


#company .slider{
width: 90%;
position: relative;
margin:80px auto;
}

#company .slider .slick-slide{
margin:0 3px;
}


/*index
--------------------------------------------*/
#company .index_list{
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#company .index_list li{
width: 48%;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding:35px 0;
position: relative;
box-sizing: border-box;
transition: .5s;
}

#company .index_list li::before {
position: absolute;
top: 0;
right: 0;
height: 0;
left: 0;
content: "";
border-top: #cecac5 1px solid;
z-index: -1;
}

#company .index_list li a{
display: block;
position: relative;
color: #000;
}

#company .index_list li:hover{
background: rgba(0,0,0,.025);
transition: .5s;
}

#company .index_list li a .inner{
position: relative;
}

#company .index_list li a .inner::after{
content: "";
display: block;
overflow: hidden;
}

#company .index_list li a .inner .t_no {
position: absolute;
top: 0;
left: 0;
width: 25px;
height: 25px;
border: #443E6E 1px solid;
color: #443E6E;
font-size: 13px;
font-weight: 300;
line-height: 1;
text-align: center;
letter-spacing: 0;
z-index: 0;
border-radius: 100%;
-webkit-border-radius: 100%;
padding-top: 5px;
box-sizing: border-box;
}

#company .index_list li a .inner .img_area {
float: left;
width: 33.5%;
margin: 0 0 0 55px;
position: relative;
z-index: 0;
overflow: hidden;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}

#company .index_list li a .inner .txt_area {
position: absolute;
top: 47.5%;
right: 0;
width: 52.5%;
-webkit-transform: translate(0, -50%);
transform: translate(0, -50%);
}

#company .index_list li a .inner .txt_area .t_ttl_en {
font-size: .9rem;
font-weight: 600;
line-height: 0.925;
letter-spacing: 0;
color: #443E6E;
}


#company .index_list li a .inner .txt_area .t_ttl_jp {
margin: 20px 0 0 0;
font-size: 2rem;
font-weight: 500;
line-height: 1;
letter-spacing:.1rem;
}



/*message
--------------------------------------------*/
#company .message_img{
width:100%;
margin: 0 auto 60px;
}

#company .message_img:last-child{
margin-bottom: 0;
}

#company .message_wrap{
width: 88%;
margin: 0 auto 160px;
}

#company .message_wrap .red_txt{
width:100%;
margin: 0 auto 100px;
}

#company .message_wrap .name{
text-align: right;
font-size: 1.1rem;
margin: 0 0 40px
}

#company .message_wrap .name span{
font-size: 1.4em;
margin-left: 20px;
}


#company .philosophy_wrap{
width: 90%;
margin: 0 auto 0;
}

#company .philosophy_wrap .philosophy_list{
width: 80%;
margin: 0 auto;
}

#company .philosophy_wrap .philosophy_list li{
font-size: 1.6rem;
font-weight: 700;
line-height: 1;
margin: 0 0 40px;
}

#company .philosophy_wrap .philosophy_list li:last-child{
margin-bottom: 0;
}

#company .philosophy_wrap .philosophy_list li span{
color: #443E6E;
text-decoration: underline;
}

#company .common_btn_box{
margin: 80px 0 0;
text-align: center;
}



/*overview
--------------------------------------------*/
#company .overview_wrap{
width: 88%;
margin: 0 auto 160px;
}

#company .overview_wrap h3{
font-size: 1.6rem;
font-weight: 800;
margin: 0 0 30px;
}

#company .overview_wrap h3 span{
font-size: .9rem;
display: block;
color: #443E6E;
}

#company .overview_wrap h4{
font-size: 1.2rem;
font-weight: 800;
margin: 0 0 20px;
}


#company .overview_wrap .co_table{
width: 100%;
margin: 0 auto 120px;
}

#company .overview_wrap .co_table tr{
border-bottom: 1px solid rgba(0,0,0,.2);
}

#company .overview_wrap .co_table th{
width: 20%;
text-align: left;
padding: 10px;
box-sizing: border-box;
}

#company .overview_wrap .co_table td{
padding: 10px;
box-sizing: border-box;
}

#company .overview_wrap .co_table td dl{
}


#company .overview_wrap .co_table td dl dt{
background: #f1f0f8;
padding: 5px;
box-sizing: border-box;
}


#company .overview_wrap .co_table td dl dd{
margin-bottom: 20px;
}

/*history
--------------------------------------------*/

#company .history_wrap .flex_wrap {
display: flex;
justify-content: space-between;
}
#company .history_wrap .flex_wrap:first-child h2::before {
height: 35px;
}

#company .history_wrap .flex_wrap:first-child h2::before,
#company .history_wrap .flex_wrap:last-child h2::before {
content: "";
display: block;
width: 5px;
position: absolute;
right: 0;
}

#company .history_wrap {
width: 88%;
margin:0 auto 160px;
}

#company .history_wrap .no{
width: 260px;
font-size: 1.6rem;
font-weight: 700;
line-height: 1;
white-space: nowrap;
position: relative;
height: 100%;
}

#company .history_wrap .no span{
font-size: 1.2rem;
}

#company .history_wrap table {
width: calc(100% - 200px);
position: relative;
}

#company .history_wrap table::before {
content: "";
position: absolute;
top: 0;
left: -39px;
width: 2px;
height: 100%;
background: #443E6E;
}

#company .history_wrap th {
color: #FFF;
text-align: center;
width: 80px;
font-weight: 500;
position: relative;
z-index: 1;
vertical-align:top;
padding: 0;
border: none;
line-height: 1;
padding:5px 0;
}

#company .history_wrap th::after {
content: "";
background-color: #443E6E;
display: block;
width: 11px;
height: 11px;
border-radius: 6px;
position: absolute;
top: 9px;
}
#company .history_wrap th::before {
content: "";
background-color: #443E6E;
display: block;
width: 100%;
height:27px;
border-radius: 50rem;
position: absolute;
top: 1px;
z-index: -1;
}
#company .history_wrap th::after {
left: -44px;
}

#company .history_wrap td {
padding: 0 0 40px 20px;
}

#company .history_wrap td figure {
font-size: 1rem;
margin-top: 20px;
}
#company .history_wrap td figure img {
width: 500px;
}
#company .history_wrap td figcaption {
margin-top: 10px;
font-size: .9rem;
}


/*trends
--------------------------------------------*/
#company .trends_wrap{
width: 70%;
margin: auto;
min-width: 1200px;
}

#company .trends_wrap .graf_img {
width: 90%;
margin: 0 auto 50px;
}

#company .trends_wrap table{
width: 100%;
border-top:1px solid #121212;
border-left: 1px solid #121212;
}

#company .trends_wrap table tr:nth-child(even){
background: rgba(0,0,0,.025);
}

#company .trends_wrap table th{
border-bottom:1px solid #121212;
border-right: 1px solid #121212;
padding: 10px;
box-sizing: border-box;
background: #F0F0F0;
}

#company .trends_wrap table td{
width: 33%;
border-bottom:1px solid #121212;
border-right: 1px solid #121212;
padding: 10px;
box-sizing: border-box;
}



/*csr
--------------------------------------------*/
#company .csr_wrap{
width: 88%;
margin: auto;
}

#company .csr_wrap .csr_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#company .csr_wrap .csr_list li{
width:32.22%;
margin-bottom:1%;
padding:5px;
box-sizing: border-box;
border: 1px solid #443E6E;
}

#company .csr_wrap .csr_list li:nth-child(3n){
margin-right: 0;
}

#company .csr_wrap .csr_list li h3{
background: #443E6E;
padding: 10px;
box-sizing: border-box;
color: #FFF;
font-size: 1.2rem;
line-height: 1;
}

#company .csr_wrap .table{
width: 100%;
border-top: solid 1px #cccccc;
border-left: solid 1px #cccccc;
margin: 30px auto 0;
}

#company .csr_wrap .table tr:nth-child(even){
background: rgba(0,0,0,.02);
}

#company .csr_wrap .table th{
border-bottom: solid 1px #cccccc;
border-right: solid 1px #cccccc;
padding: 5px;
box-sizing: border-box;
background: #F1F1F1;
}

#company .csr_wrap .table td{
border-bottom: solid 1px #cccccc;
border-right: solid 1px #cccccc;
padding:5px;
box-sizing: border-box;
text-align: center;
}

/*access
--------------------------------------------*/
#company .access_wrap{
width: 80%;
margin: auto;
min-width: 1200px;
}

#company .access_wrap .block{
position: relative;
margin: 0 0 100px;
padding-bottom:100px;
box-sizing: border-box;
border-bottom: 1px solid #121212;
}

#company .access_wrap .block:last-child{
margin-bottom: 0;
}

#company .access_wrap .block .ttl2{
font-size: 1.6rem;
font-weight: 500;
margin: 0 0 40px;
padding:0 0 10px;
position: relative;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
border-image: linear-gradient(to right, #443E6E 0%, #443E6E 5rem, rgba(0,72,138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 100%;
border-image-slice: 1;
}

#company .access_wrap .block .map{
border: 1px solid #ccc;
padding: 20px;
box-sizing: border-box;
margin: 0 0 40px;
}

#company .access_wrap .block .ttl3{
font-size: 1.6rem;
font-weight: 500;
line-height: 1;
margin: 0 0 15px;
position: relative;
}

#company .access_wrap .block .table2{
width:100%;
margin: auto;
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
font-size: 1rem;
}

#company .access_wrap .block .table2 th{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
padding: 10px;
box-sizing: border-box;
text-align: left;
background: rgba(0,0,0,.025);
width: 25%;
}

#company .access_wrap .block .table2 td{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
padding: 10px;
box-sizing: border-box;
}

}




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

#company {
position:relative;
margin: 0 auto 80px
}

#company .section_wrap{
width: 90%;
margin: 0 auto;
}

#works .slider{
width: 90%;
position: relative;
margin:30px auto;
}

#works .slider .slick-slide{
margin:0 5px;
}

#works .slider .slick-slide img{
width: 100%;
height: auto;
}


/*index
--------------------------------------------*/
#company .index_list{
margin: 0;
padding: 0;
}

#company .index_list li{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
padding: 30px 0;
position: relative;
box-sizing: border-box;
}

#company .index_list li::before {
position: absolute;
top: 0;
right: 0;
height: 0;
left: 0;
content: "";
border-top: #cecac5 1px solid;
z-index: -1;
}

#company .index_list li a{
display: block;
position: relative;
color: #000;
}

#company .index_list li a .inner{
position: relative;
}

#company .index_list li a .inner::after{
content: "";
display: block;
overflow: hidden;
}

#company .index_list li a .inner .t_no {
position: absolute;
top: 0;
left: 0;
width: 20px;
height: 20px;
border: #443E6E 1px solid;
color: #443E6E;
font-size: 10px;

font-weight: 300;
line-height: 1;
text-align: center;
letter-spacing: 0;
z-index: 0;
border-radius: 100%;
-webkit-border-radius: 100%;
padding-top: 5px;
box-sizing: border-box;
}


#company .index_list li a .inner .img_area {
width: 100%;
margin: 30px 0 20px;
position: relative;
z-index: 0;
overflow: hidden;
-webkit-transition: all 0.3s ease;
transition: all 0.3s ease;
}

#company .index_list li a .inner .txt_area {
position: relative;
top: 0;
left: 0;
width: 100%;
}

#company .index_list li a .inner .txt_area .t_ttl_en {
font-size: .7rem;

font-weight: 700;
line-height: 0.925;
font-feature-settings: "palt" 1;
letter-spacing: -0.025em;
color: #443E6E;
}


#company .index_list li a .inner .txt_area .t_ttl_jp {
margin: 10px 0 0 0;
font-size: 1rem;
font-weight: 800;
line-height: 1;
letter-spacing: 0.075em;
}



/*message
--------------------------------------------*/
#company .message_img{
width:100%;
margin: 0 auto 30px;
}

#company .message_img:last-child{
margin-bottom: 0;
}

#company .message_wrap{
width: 100%;
margin: 0 auto 40px;
}

#company .message_wrap .red_txt{
margin: 0 auto 30px;
font-size: .8rem;
}

#company .message_wrap .name{
font-size: .7rem;
margin: 0 0 40px;
line-height: 1;
}

#company .message_wrap .name span{
font-size: 1rem;
display: block;
margin-top: 10px;
}


#company .philosophy_wrap{
width: 90%;
margin: 0 auto 0;
}

#company .philosophy_wrap .philosophy_list{
width: 100%;
margin: 0 auto;
}

#company .philosophy_wrap .philosophy_list li{
font-size: .8rem;
font-weight: 700;
line-height: 1.6;
margin: 0 0 20px;
}

#company .philosophy_wrap .philosophy_list li:last-child{
margin-bottom: 0;
}

#company .philosophy_wrap .philosophy_list li span{
color: #443E6E;
text-decoration: underline;
}

#company .common_btn_box{
margin: 60px 0 0;
text-align: center;
}




/*overview
--------------------------------------------*/
#company .overview_wrap{
margin: 0 auto 80px;
}

#company .overview_wrap h3{
font-size: 1.2rem;
font-weight: 800;
margin: 0 0 30px;
}

#company .overview_wrap h3 span{
font-size: .5rem;
display: block;
color: #443E6E;
}

#company .overview_wrap h4{
font-size: 1rem;
font-weight: 800;
margin: 0 0 20px;
}


#company .overview_wrap .co_table{
width: 100%;
margin: 0 auto 60px;
font-size: .7rem;
}

#company .overview_wrap .co_table tr{
border-bottom: 1px solid rgba(0,0,0,.2);
}

#company .overview_wrap .co_table th{
text-align: left;
padding: 5px;
box-sizing: border-box;
display: block;
}

#company .overview_wrap .co_table td{
padding: 5px;
box-sizing: border-box;
display: block;
}


/*history
--------------------------------------------*/

#company .history_wrap .flex_wrap {
}

#company .history_wrap {
margin:0 auto 60px;
}

#company .history_wrap .no{
width: 100%;
font-size: 1.2em;
font-weight: 700;
line-height: 1;
white-space: nowrap;
position: relative;
margin-bottom: 5px;
}

#company .history_wrap .no span{
font-size: 1rem;
}


#company .history_wrap table {
width: 100%;
position: relative;
}

#company .history_wrap table::before {
content: "";
position: absolute;
top: 0;
left: -39px;
width: 2px;
height: 100%;
background: #443E6E;
}

#company .history_wrap th {
color: #FFF;
text-align: center;
width: 60px;
position: relative;
z-index: 1;
vertical-align: top;
padding: 0;
border: none;
font-size: .8rem;
line-height: 1.2;
padding:3px 0;
}

#company .history_wrap th::after {
content: "";
background-color: #443E6E;
display: block;
width: 11px;
height: 11px;
border-radius: 6px;
position: absolute;
top: 9px;
}
#company .history_wrap th::before {
content: "";
background-color: #443E6E;
display: block;
width: 100%;
height:18px;
border-radius: 50rem;
position: absolute;
top: 1px;
z-index: -1;
}
#company .history_wrap th::after {
left: -44px;
}

#company .history_wrap td {
padding: 0 0 20px 10px;
font-size: .8rem;
}
#company .history_wrap td figure {
font-size: 1rem;
margin-top: 20px;
}
#company .history_wrap td figure img {
width: 500px;
}
#company .history_wrap td figcaption {
margin-top: 10px;
font-size: .9rem;
}


/*trends
--------------------------------------------*/
#company .trends_wrap{
width: 100%;
margin: auto;
}

#company .trends_wrap .graf_img{
width: 100%;
overflow-x: scroll;
margin-bottom: 20px;
}

#company .trends_wrap .graf_img img{
width: 600px;
}

#company .trends_wrap table{
width: 100%;
border-top:1px solid #121212;
border-left: 1px solid #121212;
font-size:.8rem;
}

#company .trends_wrap table tr:nth-child(even){
background: rgba(0,0,0,.025);
}

#company .trends_wrap table th{
border-bottom:1px solid #121212;
border-right: 1px solid #121212;
padding: 5px;
box-sizing: border-box;
background: #F0F0F0;
}

#company .trends_wrap table td{
width: 33%;
border-bottom:1px solid #121212;
border-right: 1px solid #121212;
padding: 10px;
box-sizing: border-box;
}

/*csr
--------------------------------------------*/
#company .csr_wrap{
width: 100%;
margin: auto;
}

#company .csr_wrap .csr_list{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#company .csr_wrap .csr_list li{
width:49%;
margin-bottom:2%;
padding:5px;
box-sizing: border-box;
border: 1px solid #443E6E;
}

#company .csr_wrap .csr_list li:nth-child(3n){
margin-right: 0;
}

#company .csr_wrap .csr_list li h3{
background: #443E6E;
padding: 10px;
box-sizing: border-box;
color: #FFF;
font-size: .9rem;
line-height: 1.2;
}

#company .csr_wrap .table{
width: 100%;
border-top: solid 1px #cccccc;
border-left: solid 1px #cccccc;
margin: 30px auto 0;
font-size: .8rem;
}

#company .csr_wrap .table tr:nth-child(even){
background: rgba(0,0,0,.02);
}

#company .csr_wrap .table th{
border-bottom: solid 1px #cccccc;
border-right: solid 1px #cccccc;
padding: 5px;
box-sizing: border-box;
background: #F1F1F1;
}

#company .csr_wrap .table td{
border-bottom: solid 1px #cccccc;
border-right: solid 1px #cccccc;
padding:5px;
box-sizing: border-box;
text-align: center;
}


/*access
--------------------------------------------*/
#company .access_wrap{
width: 100%;
margin: auto;
}

#company .access_wrap .block{
position: relative;
margin: 0 0 30px;
padding-bottom:30px;
box-sizing: border-box;
border-bottom: 1px solid #121212;
}

#company .access_wrap .block:last-child{
margin-bottom: 0;
}

#company .access_wrap .block .ttl2{
font-size: 1rem;
font-weight: 500;
line-height: 1.4;
margin: 0 0 20px;
padding:0 0 10px;
position: relative;
border-bottom: 1px solid rgba(138, 138, 138, 0.14902);
border-image: linear-gradient(to right, #443E6E 0%, #443E6E 5rem, rgba(0,72,138, 0.14902) 5rem, rgba(138, 138, 138, 0.14902) 100%);
border-image-slice: 100%;
border-image-slice: 1;
}

#company .access_wrap .block .map{
border: 1px solid #ccc;
padding: 5px;
box-sizing: border-box;
margin: 0 0 40px;
}

#company .access_wrap .block .ttl3{
font-size: 1.2rem;
font-weight: 500;
line-height: 1;
margin: 0 0 15px;
position: relative;
}

#company .access_wrap .block .table2{
width:100%;
margin: auto;
border-top: 1px solid #ccc;
border-right: 1px solid #ccc;
font-size:.9rem;
}

#company .access_wrap .block .table2 th{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
padding: 5px;
box-sizing: border-box;
text-align: left;
background: rgba(0,0,0,.025);
width: 100%;
display: block;
}

#company .access_wrap .block .table2 td{
border-bottom: 1px solid #ccc;
border-left: 1px solid #ccc;
padding:5px;
box-sizing: border-box;
display: block;
}

}