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

body#page_meiji {
counter-reset:number;
}
#page_meiji .page_titlebox::before {
content: "CIVIL WORKS";
}
body#page_meiji::before {
content: "";
background-image: url("../img/meiji/body_bg.jpg");
opacity: .4;
}
.content {
padding: 0;
}

/*-------------------------------------------------
コンセプトエリア
-------------------------------------------------*/

.txt_box_inner {
font-family: "Noto Serif JP", serif;
width: 100%;
color: #fff;
display: flex;
flex-direction: row-reverse;
justify-content: center;
margin: auto;
box-sizing: border-box;
}

@media all and (max-width : 767px ){
.txt_box_inner {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
margin: auto;
}
}

.concept_copy {
writing-mode: vertical-rl;
font-size: 2.8rem;
letter-spacing: 0.5em;
font-weight: 400;
line-height: 200%;
}
.concept_txt {
writing-mode: vertical-rl;
font-size: 1.8rem;
font-weight: 400;
line-height: 240%;
letter-spacing: 0.2em;
margin-right: 7%;
text-shadow: 1px 2px 1px rgba(0,0,0,0.4);
}

@media all and (max-width : 1260px ){
.concept_intro {
font-size: 1.3rem;
}
.concept_copy {
font-size: 2.6rem;
letter-spacing: 0.4em;
padding-left: 0px;
}
}

@media all and (max-width : 1024px ){
.concept_copy {
font-size: 2.2rem;
}
.concept_txt {
font-size: 1.5rem;
line-height: 200%;
margin-right: 5%;
}
}

@media all and (max-width : 820px ){
.concept_copy {
font-size: 2.0rem;
}
.concept_txt {
font-size: 1.4rem;
padding-top: 20px;
}
}

@media all and (max-width : 768px ){
.concept_txt {
margin-right: 4%;
}
}

@media all and (max-width : 767px ){
.concept_copy_wrap {
display: flex;
flex-direction: column;
}
.concept_copy {
writing-mode: horizontal-tb;
font-size: 1.8rem;
letter-spacing: 0.3em;
text-align: center;
margin-bottom: 20px;
text-shadow: 3px 3px 2px rgba(0, 0, 0, 0.6);
}
.concept_txt {
writing-mode: horizontal-tb;
font-size: 1.4rem;
font-weight: 400;
height: auto;
line-height: 180%;
letter-spacing: 0.05em;
padding-top: 0px;
margin-right: 0;
text-shadow: 3px 3px 2px rgba(0, 0, 0, 0.6);
}
}


/*-------------------------------------------------
page navi
-------------------------------------------------*/
.sec_page_navi {
background: linear-gradient(0deg, rgba(0, 0, 0, 0.90), rgba(0, 0, 0, 1.0), transparent);
position: relative;
padding: 180px 0 40px;
}
.page_navi {
font-family: "Noto Serif JP", serif;
display: flex;
justify-content: center;
align-content: center;
padding: 20px 0;
margin-bottom: 90px;
border-top: solid 1px #85723D;
border-bottom: solid 1px #85723D;
}
.page_navi li {
padding: 0 70px;
font-size: 1.5rem;
border-right: solid 1px #85723D;
}

@media all and (max-width : 1260px ){
.page_navi li {
padding: 0 50px;
}
}

@media all and (max-width : 1100px ){
.page_navi li {
font-size: 1.4rem;
}
}

@media all and (max-width : 767px ){
.sec_page_navi {
padding: 80px 0 20px;
}
}

.page_navi li:last-of-type {
border-right: none;
}
.page_navi li a {
color: #BCA461;
transition: all 0.3s	
}
.page_navi li a:hover {
color: #8E7742;
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: #8E7742;
z-index: -1;
transition: all 0.3s;
}
.line_effect:hover .u_line_gold:after {
width: 100%;
}

@media all and (max-width : 767px ){
.page_navi {
padding: 15px 0 0px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.page_navi li {
padding: 0 15px;
margin-bottom: 15px;
font-size: 1.2rem;
white-space: nowrap;
}
}

/*-------------------------------------------------
content_inner
-------------------------------------------------*/

.content_inner {
background: rgba(0,0,0,0.90);
}

@media all and (max-width : 767px ){
.content_inner {
padding-bottom: 20px;
}
}

/* work_title
-------------------------------------------------- */

.work_title_wrap {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 70px;
}
.work_title::before {
counter-increment: number 1;
content: counter(number, decimal-leading-zero);
position: absolute;
right: calc(100% + 0.5rem);
bottom: 100%;
font-family: "EB Garamond", serif;
color: #fff;
white-space: nowrap;
letter-spacing: 0;
font-weight: 300;
}
.work_title::after {
content: "";
position: absolute;
right: calc(100% - 0.5rem);
bottom: calc(100% + .5rem);
width: 1.75rem;
height: 0.0625rem;
background-color: #9c9992;
rotate: -45deg;
}
.work_title {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.work_title dt {
font-family: "Noto Serif JP", serif;
font-weight: 400;
font-size: 2.4rem;
letter-spacing: 0.2em;
line-height: 100%;
margin-bottom: 10px;
}
.work_title dd {
font-family: "EB Garamond", serif;
font-weight: 400;
font-size: 1.4rem;
}

@media all and (max-width : 767px ){
.work_title_wrap {
margin-bottom: 30px;
}
.work_title dt {
font-size: 1.8rem;
margin-bottom: 8px;
}
.work_title dd {
font-size: 1.1rem;
}
}

.intro_imgbox {
position: relative;
margin-bottom: 40px;
}
.intro_img {
position: relative;
width: 100%;
height: auto;
z-index: 3;
}
.intro_img::after {
content: "";
display: block;
background: #000;
opacity: 0.3;
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.intro_img img {
width: 100%;
}
.about_tiltle {
font-family: "EB Garamond", serif;
font-weight: 400;
font-size: 5.0rem;
letter-spacing: 0.05em;
line-height: 100%;
color: #fff;
writing-mode: vertical-rl;
position: absolute;
top: -45px;
right: 20px;
z-index: 4;
}

@media all and (max-width : 767px ){
.intro_imgbox {
position: relative;
margin-bottom: 20px;
}
.intro_img {
width: 100%;
}
.intro_img img {
width: 100%;
height: 150px;
object-fit: cover;
}
.about_tiltle {
font-size: 2.5rem;
position: absolute;
top: -45px;
right: 20px;
z-index: 4;
}
}

.provide_txt {
font-size: 1.0rem;
color: #fff;
letter-spacing: 0.2em;
position: absolute;
right: 10px;
bottom: 6px;
z-index: 4;
}
.inner_box {
padding-left: 30px;
padding-bottom: 50px;
}

@media all and (max-width : 820px ){
.provide_txt {
position: absolute;
left: 10px;
bottom: 6px;
}
.inner_box {
padding-bottom: 30px;
}
}

.inner_copy {
font-family: "Noto Serif JP", serif;
font-size: 2.8rem;
font-weight: 500;
letter-spacing: 0.3em;
margin-bottom: 40px;
color: #fff;
}
.inner_copy span {
font-size: 4.0rem;
color: #B29458;
}

@media all and (max-width : 1024px ){
.inner_copy {
font-size: 2.4rem;
margin-bottom: 30px;
}
.inner_copy span {
font-size: 3.6rem;
}
}

.history_txt {
line-height: 200%;
margin-bottom: 40px;
}

@media all and (max-width : 767px ){
.inner_box {
padding-left: 10px;
padding-bottom: 0px;
}
.inner_copy {
font-size: 1.8rem;
margin-bottom: 15px;
letter-spacing: 0.15em;
}
.inner_copy span {
font-size: 3.0rem;
}
.history_txt {
font-size: 1.3rem;
line-height: 180%;
margin-bottom: 30px;
}
}

.work_box_wrap {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 80px;
}
.work_box_left {
width: 37.73%;
margin-right: 30px;
}
.place_imgbox {
width: 57.54%;
position: relative;
overflow: hidden;
}

@media all and (max-width : 820px ){
.work_box_wrap {
display: flex;
flex-direction: column-reverse;
margin-bottom: 50px;
}
.work_box_left {
width: 100%;
margin-right: 0px;
padding: 0 0 0 10px;
}
.place_imgbox {
width: 100%;
margin-bottom: 20px;
}
}

.place_img {
position: relative;
z-index: 3;
}
.place_img img {
width: 100%;
}
.place_title {
font-family: "Noto Serif JP", serif;
font-weight: 500;
font-size: 2.4rem;
letter-spacing: 0.2em;
color: #B29458;
margin-bottom: 25px;
}
.place_info {
margin-bottom: 30px;
color: #fff;
}
.place_info dt {
font-family: "Noto Serif JP", serif;
font-weight: 500;
font-size: 2.0rem;
letter-spacing: 0.2em;
margin-bottom: 30px;
}
.place_info dd {
line-height: 200%;
}
.place_imgbox_wrap {
position: relative;
width: 57.54%;
}
.place_imgbox_wrap .place_imgbox {
width: 100%;
margin-bottom: 15px;
}
.place_imgbox_wrap .caption {
font-family: "Noto Serif JP", serif;
font-size: 1.6rem;
font-weight: 500;
letter-spacing: 0.2em;
text-align: center;
}

@media all and (max-width : 820px ){
.place_imgbox_wrap {
width: 90%;
margin-bottom: 20px;
}
}

@media all and (max-width : 767px ){
.place_title {
font-size: 1.8rem;
letter-spacing: 0.15em;
margin-bottom: 10px;
}
.place_info {
margin-bottom: 20px;
}
.place_info dt {
font-size: 1.6rem;
letter-spacing: 0.15em;
margin-bottom: 15px;
}
.place_info dd {
font-size: 1.3rem;
line-height: 180%;
}
.place_imgbox_wrap .caption {
font-size: 1.4rem;
}
}


/* arrow btn
-------------------------------------------------- */

.arrow_btn a {
font-family: "Noto Serif JP", serif;
font-weight: 500;
font-size: 1.4rem;
display:inline-block;
cursor:pointer;
position: relative;
text-decoration: none;
line-height: 100%;
transition: .5s;
}
.arrow_btn a::after {
content: "";
display: block;
position: absolute;
top: 20%;
left: 110%;
width: 50px;
height: 6px;
border: none;
border-right: 1px solid #fff;
border-bottom: 1px solid #fff;
transform: skew(45deg);
transition: .4s;
}
.arrow_btn a:hover::after {
position: absolute;
left: 110%;
width: 70px;
border-right: 1px solid #B29458;
border-bottom: 1px solid #B29458;
transition: .5s;
}
.arrow_btn a:hover {
color: #B29458;
transition: .5s;
}


@media all and (max-width : 767px ){
.arrow_btn a {
font-size: 1.2rem;
}
.arrow_btn a::after {
top: 14%;
}
}