@charset "utf-8";
/* company css */

.bg_imgbox {
background-image: url("../img/company/title_bg.jpg");
background-size: cover;
}
.page_navi {
display: flex;
justify-content: center;
align-content: center;
padding: 20px 0;
margin-bottom: 90px;
border-top: solid 1px #DEDEDE;
border-bottom: solid 1px #DEDEDE;
}

@media all and (max-width : 820px ){
.page_navi {
margin-bottom: 50px;
}
}

.page_navi li {
padding: 0 70px;
font-size: 1.4rem;
border-right: solid 1px #DEDEDE;
}

@media screen and (max-width:980px) {

.page_navi li {
padding: 0 30px;
font-size: 1.3rem;
}
}

.page_navi li:last-of-type {
border-right: none;
}
.page_navi li a {
color: #000;
transition: all 0.3s	
}
.page_navi li a:hover {
color: #479C29;
transition: all 0.3s
}
.u_line_gold {
position: relative;
z-index: 1;
}
.u_line_gold:after {
content: '';
position: absolute;
left: 0;
bottom: -8px;
width: 0%;
height: 1px;
background: #479C29;
z-index: -1;
transition: all 0.3s;
}
.line_effect:hover .u_line_gold:after {
width: 100%;
}

/* セクションタイトル
-------------------------------------------------- */

.sec_en_title {
font-family: "futura-pt", sans-serif;
font-weight: 600;
font-style: italic;
font-size: 1.4rem;
letter-spacing: 0.05em;
line-height: 100%;
padding-left: 45px;
background-image: url("../img/common/sub_bullet.svg");
background-repeat: no-repeat;
background-position: left center;
margin-bottom: 10px;
}
.sec_jp_title {
font-family: "dnp-shuei-mgothic-std", sans-serif;
font-weight: 600;
font-size: 2.4rem;
line-height: 100%;
letter-spacing: 0.2em;
margin-left: 45px;
}
.sec_title_wrap {
margin-bottom: 30px;
}

/* Messageブロック
-------------------------------------------------- */

.message_sec {
position: relative;
padding: 80px 0 100px;
margin-bottom: 120px;
}
.message_sec::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 0; 
height: 100%;
background: #EEE4DD;
z-index: -1;
display: block;
}
.message_sec.background::before {
width: 75.52%;
opacity: 1;
}
.message_sec .box_m {
z-index: 105;
}
.message_copy {
font-family: "dnp-shuei-mgothic-std", sans-serif;
font-weight: 600;
font-size: 2.0rem;
letter-spacing: 0.2em;
color: #333;
margin-bottom: 20px;
}
.message_txt {
font-size: 1.5rem;
line-height: 220%;
margin-bottom: 40px;
}
.ceo_sign {
max-width: 267px;
height: auto;
margin: 0 0 0 auto;
}
.message_box_left {
width: 42%;

}
.message_imgbox {
width: 50%
}
.message_imgbox img {
width: 100%;
}
.message_box_wrap {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
}

@media all and (max-width : 820px ){

.message_sec.background::before {
width: 100%;
}
.message_box_left {
width: 90%;
padding-left: 0px;
margin: 0 auto;
}
.message_imgbox {
width: 90%;
margin-bottom: 20px;
}
.message_box_wrap {
flex-direction: column-reverse;
}

}

/* 会社概要
-------------------------------------------------- */

.section_inner {
max-width: 1260px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-content: flex-start;
}
.section_box_right {
width: 64.8%;
margin-top: 15px;
}
.profile_sec {
width: 100%;
margin-bottom: 100px;
}
.profile_box {
display: flex;
align-items: center;
padding: 50px 50px 50px 30px;
border-bottom: solid 1px #ddd;
}
.profile_box:first-of-type {
border-top: solid 1px #ddd;
}
.profile_box dt {
width: 27.5%;
font-size: 1.5rem;
font-weight: 700;
}
.profile_box dd {
font-size: 1.5rem;
font-weight: 400;
}
.profile_box dd a {
text-decoration: underline;
color: #479C29;
}
.profile_box dd a:hover {
text-decoration: none;
}
.profile_list li {
padding-left: 12px;
background-image: url("../img/common/nakaguro.svg");
background-repeat: no-repeat;
background-position: left center;
margin-bottom: 8px;
}
.zip_txt {
letter-spacing: 0.15em;
line-height: 200%;
}


/* 会社沿革
-------------------------------------------------- */

.history_sec {
width: 100%;
padding: 100px 0;
background-color: #F8F8F8;
margin-bottom: 100px;
}
.flex_box_pc {
display: flex;
flex-wrap: wrap;
}
.history_dl {
margin: auto;
position: relative;
width: 100%;
padding: 5rem 0 0;
align-items: flex-start;
}
.history_dl::before {
height: 100%;
left: 25%;
content: "";
display: block;
width: 1px;
background-color: #1a1a1a;
position: absolute;
top: 0;
z-index: 0;
}
.history_dl dt .year {
font-family: "montserrat", sans-serif;
font-weight: 500;
color: #333;
letter-spacing: 0.03em;
line-height: 100%;
padding-top: 10px;
}
.history_dl dt .wareki {
font-size: 1.2rem;
font-weight: 400;
color: #333;
letter-spacing: 0.1em;
line-height: 100%;
padding-top: 7px;
padding-left: 5px;
}
.history_dl dd .history_txt {
font-size: 1.5rem;
margin-top: -3px;
}
.history_dl .inlist li {
text-indent: -1.25em;
padding-left: 1.25em;
}
.history_dl .inlist li::before {
content: "・ ";
}

@media print, screen and (min-width: 768px) {

.history_dl dt {
width: 24.75%;
font-size: 3.4rem;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
}
.history_dl dd {
width: 75.25%;
padding-left: 10.5%;
position: relative;
}
.history_dl dd:not(:last-child) {
margin-bottom: 8.75rem;
}
.history_dl dd::after, 
.history_dl dd::before {
content: "";
display: block;
}
.history_dl dd::before {
width: 10.0221483942%;
height: 1px;
background: #1a1a1a;
position: absolute;
left: 0;
top: 6px;
}
.history_dl dd::after {
border-radius: 50%;
width:14px;
height: 14px;
background: #E5677F;
position: absolute;
left: 0;
top: 0;
-webkit-transform: translate(-50%, 0);
-ms-transform: translate(-50%, 0);
transform: translate(-50%, 0);
}
.history_dl .inlist {
line-height: 2;
margin-top: calc(1.875rem - (((1em*2) - 1em)/2));
margin-bottom: calc(0px - (((1em*2) - 1em)/2));
}
}



/* アクセス
-------------------------------------------------- */

.access_sec {
padding-bottom: 0px;
}
.gmap {
height: 0;
overflow: hidden;
padding-bottom: 41.43%;
position: relative;
}
.gmap iframe {
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 100%;
}
.gmap_wrap {
padding: 2px;
border: solid 1px #ddd;
margin-bottom: 25px;
}
.access_method_title {
font-family: "dnp-shuei-mgothic-std", sans-serif;
font-weight: 600;
font-size: 1.5rem;
line-height: 100%;
margin-bottom: 10px;
display: block;
}
.access_method_title.access {
font-family: YakuHanJP,'source-han-sans-japanese', sans-serif;
font-weight: 700;
font-size: 1.4rem;
line-height: 100%;
margin: 0 0 10px 5px;
display: block;
}
.address_txt {
font-size: 1.4rem;
font-weight: 400;
margin-bottom: 15px;
}
.access_method_txt {
font-size: 1.4rem;
line-height: 200%;
margin-left: 10px;
display: block;
}
.access_method_txt span {
font-weight: 700;
margin-right: 5px;
}





/*スマートフォン*/

@media all and (max-width : 767px ){
.bg_imgbox {
background: url("../img/company/title_bg_sp.png") ;
}

/* ページナビ
-------------------------------------------------- */
.page_navi {
padding: 20px 0 5px;
margin-bottom: 40px;
flex-wrap: wrap;
}
.page_navi li {
padding: 0 15px;
margin-bottom: 15px;
font-size: 1.15rem;
white-space: nowrap;
}
.nav-list {
margin-bottom: 40px;
}

/* セクションタイトル
-------------------------------------------------- */

.sec_en_title {
font-size: 1.2rem;
margin-bottom: 10px;
}
.sec_jp_title {
font-size: 1.8rem;
margin-left: 45px;
}
.sec_title_wrap {
margin-bottom: 20px;
}


/* Messageブロック
-------------------------------------------------- */

.message_sec {
padding: 40px 0 50px;
margin-bottom: 0px;
}
.message_sec.background::before {
width: 100%;
}
.message_copy {
font-size: 1.4rem;
letter-spacing: 0.1em;
margin-bottom: 15px;
}
.message_txt {
font-size: 1.2rem;
line-height: 180%;
margin-bottom: 20px;
}
.ceo_sign {
max-width: 180px;
}
.message_box_left {
width: 100%;
padding-left: 0px;
margin: 0 auto;
}
.message_imgbox {
width: 100%
}
.message_box_wrap {
flex-direction: column-reverse;
}

/* 会社概要
-------------------------------------------------- */
.section_inner {
flex-direction: column;
}
.section_box_right {
width: 100%;
margin-top: 15px;
}
.profile_sec {
padding: 50px 0;
margin-bottom: 0px;
}
.profile_box {
display: flex;
align-items: flex-start;
flex-direction: column;

padding: 20px 10px 20px 15px;
border-bottom: solid 1px #ddd;
}
.profile_box:first-of-type {
border-top: solid 1px #ddd;
}
.profile_box dt {
width: 100%;
font-size: 1.3rem;
margin-bottom: 8px;
}
.profile_box dd {
font-size: 1.2rem;
}
.profile_list li {
padding-left: 10px;
margin-bottom: 5px;
}

/* 会社沿革
-------------------------------------------------- */

.history_sec {
padding: 50px 0 30px;
margin-bottom: 50px;
}
.flex_box_pc {
display: flex;
flex-wrap: wrap;
flex-direction: column;
}
.history_dl {
width: 100%;
padding: 0 0 20px 0;
}
.history_dl::before {
height: 100%;
left: 0;
}
.history_dl dt {
padding-left: 35px;
font-size: 2.6rem;
position: relative;
}
.history_dl dt .year {
font-size: 2.0rem;
padding-top: 20px;
}
.history_dl dd .history_txt {
font-size: 1.2rem;
margin-top: 0px;
}
.history_dl dt:not(:last-child) {
margin-bottom: 20px;
}
.history_dl dt::after, 
.history_dl dt::before {
content: "";
display: block;
}
.history_dl dt::before {
width: 25px;
height: 1px;
background: #1a1a1a;
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
}
.history_dl dt::after {
border-radius: 50%;
width: 2.3468057366vw;
height: 2.3468057366vw;
background: #E5677F;
position: absolute;
left: 0;
top: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
.history_dl dd {
padding-left: 35px;
}
.history_dl dd:not(:last-child) {
margin-bottom: 25px;
}
.history_dl .inlist {
line-height: 2;
margin-top: calc(3.259452412vw - (((1em*2) - 1em)/2));
margin-bottom: calc(0px - (((1em*2) - 1em)/2));
}
.history_dl .inlist li {
font-size: 1.2rem;
}

/* アクセス
-------------------------------------------------- */

.access_sec {
padding-bottom: 35px;
}
.gmap_wrap {
margin-bottom: 20px;
}
.access_method_title {
font-size: 1.3rem;
margin-bottom: 10px;
}
.address_txt {
font-size: 1.2rem;
margin-bottom: 20px;
}
.access_method_title.access {
font-size: 1.2rem;
margin: 0 0 10px 5px;
}
.access_method_txt {
font-size: 1.2rem;
margin-bottom: 10px;
letter-spacing: 0.1em;
}
.mb-70 {
margin-bottom: 35px !important;
}
}
