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

.bg_imgbox {
background: url("../img/company/title_bg.jpg") ;
background-size: cover;
}

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

.intro_title {
font-size: 2.2rem;
font-weight: 700;
letter-spacing: 0.2em;
margin-bottom: 20px;
}
.intro_txt {
font-size: 1.5rem;
margin-bottom: 40px;
line-height: 180%;
}
.theme_box_wrap {
display: flex;
flex-wrap: wrap;
margin-bottom: 50px;
}
.theme_box {
width: calc(50% - 30px / 2);
margin-right: 30px;
}
.theme_box:nth-child(2n) {
margin-right: 0px;
}
.theme_imgbox {
position: relative;
margin-bottom: 20px;
}
.theme_imgbox a::before {
content: "";
display: block;
position: absolute;
width: 100%;
height: 100%;
left: 0px;
top: 0px;
opacity: 0.35;
z-index: 5;
background: #000;
transition: opacity 0.3s ease 0s;
}
.theme_img {
position: relative;
background: #000;
overflow: hidden;
}
.theme_img img {
width: 100%;
transition-duration: 0.7s;
}
.theme_imgbox a:hover .theme_img img {
transform: scale(1.05);
transition-duration: 0.7s;
}
.theme_title_box_wrap {
display: flex;
align-items: center;
position: absolute;
left: 35px;
top: 50%;
transform: translateY(-50%);
z-index: 5;
}
.theme_number {
position: relative;
font-family: "Rajdhani", sans-serif;
font-weight: 600;
font-size: 1.1em;
line-height: 100%;
margin-bottom: 10px;
padding-left: 36px;
color: #fff;
}
.theme_number::before {
content: "";
display: inline-block;
position: absolute;
left: 0px;
top: 7px;
background-color: #fff;
width: 26px;
height: 1px;
}
.theme_jp_title {
font-weight: 700;
font-size: 2.4rem;
color: #fff;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 15px;
}
.theme_en_title {
font-family: "Rajdhani", sans-serif;
font-weight: 600;
font-size: 1.3rem;
color: #fff;
letter-spacing: 0.1em;
line-height: 100%;
}

@media all and (max-width : 820px ){
.theme_jp_title {
font-size: 1.5rem;
letter-spacing: 0.2em;
}
.theme_en_title {
font-size: 1.2rem;
}
}

.theme_link_btn {
z-index: 3;
display: block;
width: 40px;
height: 40px;
margin-left: 15px;
position: relative;
border-width: 1px;
border-style: solid;
border-color: rgba(255, 255, 255, 0.3);
border-image: initial;
border-radius: 50%;
transition: all 0.5s ease 0s;
}
.theme_link_btn::before {
position: absolute;
z-index: 2;
display: block;
content: "";
top: 0px;
left: 15px;
bottom: 0px;
width: 6.5px;
height: 6.5px;
transform: rotate(45deg);
margin: auto;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
transition: all 0.12s ease-in 0s;
}
.theme_imgbox a:hover .theme_link_btn {
opacity: 1;
background-color: #003791;
border: solid 1px #003791;
transition: all 0.5s ease 0s;
}
.cap_txt {
font-size: 1.5rem;
}


/* スマートフォン
-------------------------------------------------- */

@media all and (max-width : 767px ){
.sec_title {
margin-bottom: 30px;
}
.intro_title {
font-size: 1.6rem;
letter-spacing: 0.15em;
margin-bottom: 15px;
}
.intro_txt {
font-size: 1.3rem;
margin-bottom: 30px;
margin-top: 10px;
}
.theme_box_wrap {
display: flex;
flex-wrap: wrap;
flex-direction: column;
margin-bottom: 0;
}
.theme_box {
width: 100%;
margin-right: 0px;
margin-bottom: 20px;
}
.theme_imgbox {
margin-bottom: 10px;
}
.theme_title_box_wrap {
position: absolute;
left: 15px;
}
.theme_number {
font-size: 1.0em;
padding-left: 20px;
}
.theme_number::before {
left: 0px;
top: 7px;
width: 16px;
height: 1px;
}
.theme_jp_title {
font-weight: 700;
font-size: 1.6rem;
letter-spacing: 0.15em;
margin-bottom: 10px;
}
.theme_en_title {
font-size: 1.0rem;
}
.cap_txt {
font-size: 1.3rem;
}
}