@charset "utf-8";

/* company css */

.bg_imgbox {
background: url("../img/company/title_bg.jpg") ;
background-size: cover;
}

.intro_title {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.3em;
display: block;
margin-bottom: 35px;
text-align: center;
}
.page_dis_txt {
font-size: 1.4rem;
line-height: 220%;
display: block;
text-align: center;
margin-bottom: 50px;
}

@media all and (max-width : 768px ){
.page_dis_txt {
font-size: 1.3rem;
line-height: 200%;
margin-bottom: 40px;
}
}


/*-------------------------------------------------
アンカーボタン
-------------------------------------------------*/

.anchor_btn_wrap {
max-width: 1050px;
width: 100%;
margin: 0 auto;
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
margin-bottom: 100px;
}
.anchor_btn_wrap .anchor_btn {
width: calc(33.33333% - 60px / 3);
margin-right: 30px;
}
.anchor_btn_wrap .anchor_btn:nth-child(3) {
margin-right: 0px;
}

@media all and (max-width : 768px ){

.anchor_btn_wrap .anchor_btn {
width: calc(33.33333% - 40px / 3);
margin-right: 20px;
}
}

.anchor_btn_wrap .anchor_btn a {
width: 100%;
position: relative;
display: block;
border: 1px solid #ccc;
text-align: center;
padding: 1rem 0 2rem 0;
transition: all 0.4s;
}
.anchor_btn_wrap .anchor_btn a:hover {
background: linear-gradient(60deg, rgba(10,126,190,1.00) 0%, rgba(26,43,119,1.00) 100%);
color: #fff;
border:transparent ;
transition: all 0.3s;
}
.anchor_btn_wrap .anchor_btn a .anchor_txt {
display: block;
font-size: 1.4rem;
font-weight: 600;
}
.anchor_btn_wrap .anchor_btn a:after {
content: '›';
position: absolute;
bottom: 4px;
left: 50%;
color: #000;
font-family: Georgia, "Times New Roman", Times, "serif";
font-weight: 400;
font-style: normal;
font-size: 2.2rem;
line-height: 0.6;
transform: translate(-50%, 0) rotate(90deg);
}
.anchor_btn_wrap .anchor_btn a:hover::after {
color: #fff;
}

/*-------------------------------------------------
sec_title
-------------------------------------------------*/

.sec_en_title {
font-family: "rajdhani", sans-serif;
font-weight: 600;
font-size: 1.6rem;
letter-spacing: 0.05em;
padding-left: 15px;
line-height: 100%;
color: #003C76;
position: relative;
margin-bottom: 20px;
}
.sec_en_title::before {
content: "";
display: inline-block;
background-color: #003C76;
width: 10px;
height: 2px;
position: absolute;
left: 0;
top: 5px;
}
.sec_jp_title {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-left: 10px;
}
.wht {
color: #fff;
}
.wht::before {
background-color: #fff;
}

/* sec_philosophy
-------------------------------------------------- */

.philosophy_sec {
margin-bottom: 100px;
}
.philosophy_box {
padding: 45px 0 45px 20px;
border-bottom: solid 1px #E8E4E4;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: center;
}
.philosophy_box:nth-child(1) {
padding-top: 0;
}
.philosophy_box dt {
font-family: "rajdhani", sans-serif;
font-weight: 700;
font-size: 2.4rem;
letter-spacing: 0;
line-height: 100%;
color: #003C76;
width: 20%;
}
.philosophy_box dd {
font-size: 1.5rem;
font-weight: 700;
letter-spacing: 0.2em;
}

@media all and (max-width : 980px ){

.philosophy_box {
padding: 35px 0 35px 20px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
align-items: flex-start;
flex-direction: column;
}
.philosophy_box dt {
margin-bottom: 15px;
}
.philosophy_box dd {
letter-spacing: 0.1em;
}
}

.box_right {
width: 70%
}
.box_wrap {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.sec_philosophy {
margin-bottom: 80px;
}


@media all and (max-width : 1260px ){
.box_wrap {
padding: 0 20px;
}
}

.right_box {
max-width: 900px;
width: 100%;
margin-top: 40px;
}

@media all and (max-width : 1024px ){
.philosophy_box {
flex-direction: column;
}
.right_box {
max-width: 100%;
margin-top: 40px;
margin-left: 0px;
}
.box_wrap {
display: flex;
justify-content: flex-start;
flex-direction: column;
}
}



/*会社概要
-------------------------------------------------- */

.profile_sec {
width: 100%;
background-color: #EFF1F3;
padding: 100px 0 80px;
}
.profile_box {
width: 100%;
padding: 30px 10px 30px 25px;
border-bottom: solid 1px #ddd;
display: flex;
justify-content: flex-start;
align-items: center;
}
.profile_box:nth-child(1) {
border-top: solid 1px #ddd;
}
.profile_box:last-of-type {
margin-bottom: 50px;
}
.profile_main_title {
width: 25%;
font-weight: 700;
letter-spacing: 0.2em;
display: block;
}
.profile_box .profile_txt {
width: 75%;
line-height: 160%;
}
.works_list li {
padding-left: 20px;
background-image: url("../img/common/icon_nakaguro.svg");
background-repeat: no-repeat;
background-position: left 1px;
margin-bottom: 10px;
display: block;
letter-spacing: 0.05em;
}
.profile_box .suppliers_txt {
width: 75%;
line-height: 160%;
word-break: break-all;
}
.page_company .link_btn_box {
margin-top: 50px;
}
.page_company .link_btn_box .link_btn {
font-family: 'Noto Sans JP', sans-serif;
letter-spacing: 0.15em;
}



/*アクセス
-------------------------------------------------- */

.access_sec {
background-color: #233538;
width: 100%;
padding: 80px 0 100px;
color: #fff;
}
.access_en_title {
font-family: 'Barlow', sans-serif;
font-size: 3.0rem;
letter-spacing: 0.2em;
font-weight: 700;
line-height: 100%;
}
.access_jp_title {
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.3em;
line-height: 100%;
margin-left: 20px;
}
.access_title_wrap {
display: flex;
align-items: flex-end;
flex-wrap: wrap;
margin-bottom: 55px;
}
.location_title {
width: 26.6%;
font-size: 1.4rem;
font-weight: 700;
line-height: 100%;
letter-spacing: 0.2em
}
.location_txt {
font-size: 1.5rem;
font-weight: 400;
color: #DDDDDD;
line-height: 160%;
}
.location_box .map {
width: 52px;
height: 100%;
position: absolute;
top: 0;
right:0;
background-color: #15171b;
display: flex;
align-items: center;
justify-content: center;
transition: all 0.7s ease;
}
.location_box .map:hover {
background: #4A585B;
transition: all 0.7s ease;
}
.address_wrap {
width: 73.4%;
display: flex;
align-items: center;
justify-content: space-between;
}
.location_box {
position:relative; 
width: 100%;
display: flex;
align-items: center;
flex-wrap: wrap;
padding: 20px 0 20px 20px;
border-bottom: solid 1px #4A585B;
}
.location_box:nth-child(2) {
border-top: solid 1px #4A585B;
}
.content {
padding: 100px 0 0;
}


/* スマートフォン
-------------------------------------------------- */

@media all and (max-width : 767px ){

.bg_imgbox {
background: url("../img/company/title_bg_sp.png") ;
background-size: cover;
}
.content {
padding: 50px 0 0;
}
.intro_title {
font-size: 1.4rem;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.page_dis_txt {
font-size: 1.2rem;
line-height: 180%;
margin-bottom: 30px;
}


/*-------------------------------------------------
アンカーボタン
-------------------------------------------------*/

.anchor_btn_wrap .anchor_btn a {
padding: 0.5rem 0 1rem 0;
}
.anchor_btn_wrap .anchor_btn a .anchor_txt {
font-size: 1.1rem;
}
.anchor_btn_wrap .anchor_btn a:after {
bottom: 3px;
font-size: 1.4rem;
}
.anchor_btn_wrap {
margin-bottom: 40px;
}
.anchor_btn_wrap .anchor_btn {
width: calc(33.33333% - 20px / 3);
margin-right: 10px;
}


/*-------------------------------------------------
sec_title
-------------------------------------------------*/

.sec_en_title {
font-size: 1.0rem;
padding-left: 10px;
margin-bottom: 10px;
}
.sec_en_title::before {
width: 8px;
height: 1px;
left: 0;
top: 5px;
}
.sec_jp_title {
font-size: 1.5rem;
letter-spacing: 0.2em;
margin-left: 10px;
}


/*-------------------------------------------------
企業理念
-------------------------------------------------*/

.philosophy_sec {
margin-bottom: 20px;
}
.philosophy_box {
padding: 20px 0 20px 10px;
}
.box_wrap {
flex-direction: column;
padding: 0px;
}
.right_box {
max-width: 900px;
width: 100%;
margin-top: 10px;
margin-left: 0px;
margin-bottom: 30px;
}
.left_box {
margin-bottom: 15px;
}
.philosophy_box dt {
font-size: 1.6rem;
}
.philosophy_box dd {
font-size: 1.2rem;
letter-spacing: 0.1em;
}


/*会社概要
-------------------------------------------------- */

.profile_sec {
padding: 30px 0 20px;
margin-bottom: 0px;
}
.profile_box {
padding: 20px 10px 20px 15px;
flex-direction: column;
font-size: 1.2rem;
align-items: flex-start;
}
.profile_main_title {
width: 100%;
margin-bottom: 10px;
}
.works_list li {
margin-bottom: 6px;
}
.profile_box .suppliers_txt {
width: 100%;
}
.page_company .link_btn_box {
margin-top: 30px;
}



/*-------------------------------------------------
アクセス
-------------------------------------------------*/

.access_sec {
padding: 30px 0 30px;
}
.access_en_title {
font-size: 1.8rem;
}
.access_jp_title {
font-size: 1.1rem;
letter-spacing: 0.1em;
margin-left: 20px;
}
.access_title_wrap {
margin-bottom: 40px;
}
.location_title {
width: 100%;
font-size: 1.2rem;
margin-bottom: 10px;
}
.location_txt {
font-size: 1.2rem;
padding-right: 50px;
}
.location_box .map {
width: 32px;
}
.address_wrap {
width: 100%;
}
.location_box {
padding: 20px 0 20px 10px;
flex-direction: column;
}
}